C обновлением конфигурации 1С Розница до релиза 2.2.11.24 пришлось поменять драйвер в весах с печатью этикеток ШТРИХ-ПРИНТ на поставляемый в составе конфигурации DrvLP1C, так как использованный ранее драйвер DrvLP был снят с поддержки. После выгрузки товаров на весы, было замечено что в некоторых товарах с заполненным описанием (составом) в этикетке на весах не печатались строки с описанием товара. Сделав анализ описания выгружаемой номенклатуры в базе, было выяснено, что в случае наличия не закрытых кавычек (нечётное количество символов "), на весы не выгружается строка в которой присутствует "не закрытая кавычка" и последующие строки, при их наличии в этой позиции.
Для решения проблемы достаточно модифицировать одну строку кода общем модуле МенеджерОборудованияВызовСервера в функции СформироватьТаблицуТоваровВесыСПечатьюЭтикеток с:
ЗаписьXML.ЗаписатьАтрибут("Description" , XMLСтрока(Позиция[4].Значение));
на:
ЗаписьXML.ЗаписатьАтрибут("Description" , СтрЗаменить(XMLСтрока(Позиция[4].Значение),Символ(34),"")); // убираем все символы "
Таким способом мы убираем из описания все символы кавычек, если их важно оставить, можно заменить на любой другой символ.
Если не хотите вносить изменения в типовую конфигурацию, можно использовать решение реализованное расширением конфигурации. В него также добавлен код для обработки выгружаемого описания, для более оптимального использования места на этикетке, путём проставления разделителей в конце каждого сообщения (в нашем случае структура базы на весах 8 сообщений по 50 символов). Подключается расширение следующим образом: Администрирование - Печатные формы, отчеты и обработки - Расширения в открывшемся окне нужно нажать на кнопку "Добавить из файла" и выбрать файл с расширением, после того как расширение появится в списке, убрать галочку "Безопасный режим" и перезапустить программу. Тестировалось на платформе 1С:Предприятие 8.3 (8.3.13.1644) и конфигурации Розница, редакция 2.2 (2.2.11.24).