Продублирую письмо сюда.
Компоненту получил, спасибо! Но не все так гладко :)
Возникли проблемы с взаимодействием компоненты и используемых
мною весов Digi sm 500. Практически уверен что проблема в
компоненте/сервере весов.
Прошу переслать письмо отделу разработки, а ниже подробно попытаюсь
изложить проблему.
Компоненту scale server v4 тестировал в 1c версий 7 и 8. В обоих
случаях одна и та же проблема - метод компоненты transmitt не
воспринимает РазделительСтрок как это написано в описании.
(Name — Текст, печатаемый на этикетке. Строки текста должны
следовать через “РазделительСтрок”. Размер строки и кол-во строк, печатаемые
на этикетке, зависит от типа подключенных весов.)
Приведу пример своего кода 1с8
Попытка
КомпонентаВесы = Новый COMОбъект("CCScl.LixScaleClient");
Исключение
Сообщить("Компонента ""Весы"" не установлена!", СтатусСообщения.Внимание);
Возврат;
КонецПопытки;
КомпонентаВесы.Config();
Результат=КомпонентаВесы.Connect();
ПромНаименованиеВесов = "58";
НомерПЛУ = "50514";
ПромШтрихКод = "2012345";
ЦенаТовара = "1234567";
СрокГодности = "10";
Текст = "СТРОКА ННН ННН 111 111 111"+Символы.ПС+"СТРОКА ННН ННН 222 222 222"+Символы.ПС+
"СТРОКА ННН ННН ННН 333 333 333"+Символы.ПС+"СТРОКА ННН ННН ННН 444 444 444"+
Символы.ПС+"СТРОКА 111 111 111 111 111 111"+Символы.ПС+"СТРОКА 222 222 222"+Символы.ПС+"СТРОКА 333 333 333"+
Символы.ПС+"СТРОКА 444 444 444 444 444 444"+Символы.ПС+"СТРОКА 555 555 555"+Символы.ПС+"СТРОКА 666 666 666"+
Символы.ПС+"СТРОКА 777 777 777 777 777 777"+Символы.ПС+"СТРОКА 888 888 888 888 888 888"+Символы.ПС+"СТРОКА 999 999 999 999 999 999"+
Символы.ПС+"СТРОКА 100 100 100 100 100 100 100 100 100"+Символы.ПС+"СТРОКА 121 121 121 121 121 121 121";
Результат=КомпонентаВесы.Transmitt(ПромНаименованиеВесов,НомерПЛУ,ПромШтрихКод,Текст,ЦенаТовара,СрокГодности,);
Предупреждение (Результат);
КомпонентаВесы.Disconnect();
В руководстве есть следующее
4.5.4. Особенности эксплуатации весов DIGI SM-80 SX
Когда драйвер получает из предприятия текстовое
наименование товара, он его разбивает опционально на
три части. Первые 4 (MAX) строки идут в наименование, затем, если задана печать
ингредиентов, 15 (MAX) строк идут в ингредиенты, далее, если задана печать
специального сообщения, 8 (MAX) строк идут в специальное сообщение.
В СервереВесов v4 добавлены весы с логическим именем 58 и настройками
- скрин прилагаю.
2 строки отвожу в наименование, 9 в ингредиенты, 4 в спецсообщения.
Загружается успешно но на этикетке проблемы видны уже в наименовании -
перенос осуществляется не по разделителю строк а подгоняясь
под размер отведенного ему поля.
Следующие строки по идее должны бы идти в ингредиенты но идут в
спецсообщения. И опять же проблема с переносом на другую строку по
разделителю строк (в 1с8 это Символы.ПС )
Скрин созданной этикетки для Digi в LabelMaster а также напечатанную
этикетку из весов Digi sm500 также прилагаю.
Тоесть я вижу как минимум две проблемы - строка не переносится по
разделителю строк и строки после наименования идут не в ингредиенты а
в спецсообщения.
Также аналогичным кодом грузил из 1с7 (Там вместо Символы.ПС
используется РазделительСтрок() эффект абсолютно такойже.)
Ради эксперимента этим же кодом выгрузил в весы используя старый
сервер весов версии 2,0,4,2 и ccscl.dll версии 2,0,0,1 шедший в комплекте
с тем сервером весов, в результате получил отличную этикетку!, ее скан
также приложил.
Но поскольку старый сервер весов с ключом защиты на другом обьекте да
и есть желание использовать более современное ПО (скорость обмена
с сервером весов стала намного выше!), прошу помощи как в
полной мере использовать драйвер для весов Digi 4 версии. Действительно ли это
баг Сервера Весов версии 4, либо неверная документация или мое
недопонимание.
Очень надеюсь на вашу помошь!