Решение проблемы с незакрытыми кавычками при выгрузке описания номенклатуры на весы с печатью этикеток ШТРИХ-ПРИНТ из 1С: Розница ред. 2 (2.2.11.24) без изменения конфигурации
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
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).
Вступайте в нашу телеграмм-группу Инфостарт