Показать сообщение отдельно
Старый 21.01.2010, 00:08   #32
ViPeS
Модератор
 
Регистрация: 15.12.2009
Сообщений: 1,275
Сказал(а) спасибо: 339
Поблагодарили 1,778 раз(а) в 625 сообщениях
Вес репутации: 718
ViPeS репутация неоспоримаViPeS репутация неоспоримаViPeS репутация неоспоримаViPeS репутация неоспоримаViPeS репутация неоспоримаViPeS репутация неоспоримаViPeS репутация неоспоримаViPeS репутация неоспоримаViPeS репутация неоспоримаViPeS репутация неоспоримаViPeS репутация неоспорима
По умолчанию

Ладно, начнем ликбез.
Yura_Bogoduhov, если Вам все-таки не трудно, поменяйте шапку темы, как я предлагал — это мой перевод цитаты из английского документа по KitchenDraw SDK кроме двух последних предложений. И советую всем ее внимательно прочитать!
И удалите, пожалуйста, этот пост:
Цитата:
Сообщение от Yura_Bogoduhov Посмотреть сообщение
Описание скрипта связи KDVB1C и 1С Предприятие 7.7:
так как он ничего общего с нашей темой не имеет. Это попытка связать KD и 1C:"... для передачи данных использован язык скриптов VBScript, входящий в комплект Windows" — как написал сам разработчик этой программы, без использования KitchenDraw SDK.

Цитата:
Сообщение от Yura_Bogoduhov Посмотреть сообщение
Разработкой SDK люди вроде бы занимаются на этом сайте(естественно за оплату)
http://e-st.ru/
Эти люди, которых здесь представляет KD_RUS, не занимаются разработкой SDK. Они используют SDK в своих разработках и зарабатывают деньги, как и мы зарабатываем деньги, используя KD.
KitchenDraw SDK разработан создателями самой KD — PRAGMA Informatique, и поставляется вместе с ней — это библиотека Kdsdk.dll.

А теперь я хочу прокомментировать сообщение:
Цитата:
Сообщение от KD_RUS Посмотреть сообщение
Нет. Речь идёт о полноценном скрипте.
Пример: Из артикула с Лв(Пр) формирует Лв и Пр соответственно.

Set Articles = Tables(CATTABLE_ARTICLES)
For i = Articles.RowCount To 1 Step -1
If InStr(Articles.Cells(i, 1), "Лв(Пр)") Then
ThisCluster = SDK.Catalog.TableGetClusterRankFromLineRank(SessionId, CATTABLE_ARTICLES, i)
ClusterLineRank = i - SDK.Catalog.TableGetFirstLineRankFromClusterRank(SessionId, CATTABLE_ARTICLES, ThisCluster) + 1
Articles.Cells(i,1) = Replace(Articles.Cells(i,1), "Лв(Пр)", "Пр")
Articles.Cells(i,2) = "R"
SDK.Catalog.TableInsertLines SessionId, CATTABLE_ARTICLES, ThisCluster, ClusterLineRank, 1 'кстати, здесь пропущены (), в которые заключают аргументы функций
Articles.Cells(i,1) = Replace(Articles.Cells(i+1,1), "Пр", "Лв")
Articles.Cells(i,2) = "L"
Articles.Cells(i,3) = Articles.Cells(i+1,3)
Articles.Cells(i,4) = Articles.Cells(i+1,4)
Articles.Cells(i,5) = Articles.Cells(i+1,5)
Articles.Cells(i,6) = Articles.Cells(i+1,6)
End If
Next

Set Articles = Nothing
Я еще раз повторюсь, но считаю некорректным использование в приведенной цитате слова "скрипт", потому что понятие скрипта в KD и приведенное выше — совершенно разные вещи, и вводят в заблуждение пользователей KD. Я предлагаю использовать понятие "модуль" или "программа".
В приведенной части программы, написанной на языке Visual Basic, мной красным цветом выделен вызов функций KitchenDraw SDK (синим цветом указана ошибка, допущенная при написании программы).
В результате выполнения программы, по нажатию одной кнопки, во всем каталоге предметы без направления превращаются в предметы с двумя направлениями (см. миниатюры). Какая экономия времени!
Миниатюры
P1.jpg   P2.jpg  
ViPeS вне форума   Ответить с цитированием Вверх