Есть 1С Управление Торговлей 11.4, есть сайт на платформе Битрикс. Установлен модуль Битрикс.
1. Из 1С из реализаций товаров на сайт передаются коды маркировки товаров. 2. На сайте в отгрузке по заказу коды попадают в поле "Штрихкод", как положено. 3. Далее из отгрузки печатается чек через облачную кассу Атол. Чек печатается с признаком [М-]. Т.е. маркировка не прошла проверку.
Писали в ТП Атол и другие места. В ответ прислали кучу документации по ФФД1.2, сказали что маркировка у нас неправильная, а нужна правильная. Посоветовали кодировать код в base64 и другие непонятные вещи.
В статье Битрикс по маркировке указан пример такого кода маркировки: 010290000042703721lmLGsXQsTZps91802992sOAoOnzm8RoAfWTzzLcyU9P4JXMhwjwGg9Ctqw30TXjBFit8s5GGgH1VK/sSaLcvC+c961T5kkbHPbANCO0ssQ==
Модуль Битрикс 1С на сайт передает, например, такой код маркировки: (01)04660138204792(21)5YTYg:LfPp7V<
Пробовал вручную в отгрузку вставлять этот же код маркировки без скобок. Тоже печатает чек с [М-]: 0104660138204792215YTYg:LfPp7V<
Долго бьюсь сам над подобной задачей. Валидация чека из Атола на стороне Честного знака не проходила. Как оказалось. ЧЗ нужен полный код маркировки со всеми хвостами и разделителями.
У нас маркировка приходит не с 1С, а с сервиса Tradex, там свои нюансы.
Маркировку дают в xml, но из-за наличия всяких недопустимых символов, были проблемы с разбором файла (в моем случае средствами simpleXml). Приходилось пересохранять файл с заменой на валидные символы (в частности по CS разделителю крипто части), при добавлении в отгрузку делать обратную замену и дополнительно контролировать <> & и т.д. через htmlspecialchars с флагом double_encode = false.
Как мне видится. самый простой вариант, если из сервиса на сайт маркировка будет приходить в base64, а перед добавлением в отгрузку достаточно его декодировать. В этом случае ничего потеряться не должно.
В Атол, если посмотреть обработчик кассы v5, будет передаваться маркировка именно таким способом.
Лично для меня нерешенным остался вопрос, когда в заказе выкупается меньшее число позиций, чем было в корзине изначально. В этом случае проблема возникает с удалением лишних позиций из заказа "Штрих-кодов больше чем количества товара". И варианта кроме как удалить товар из заказа и добавить его заново и в ручную проставить нужную маркировку на нашел