Ситуация, когда в одной торговой сети на идентичном оборудовании весы ведут себя по-разному, — классическая проблема интеграции 1С и торгового оборудования. Рассмотрим сценарий: в обоих магазинах используется 1С:Управление торговлей 11.4 и весы АТОЛ (Aclas). В карточках товаров поле "Текстовое описание" заполнено, но в одном магазине состав печатается всегда, а в другом — лишь на некоторых этикетках. Разберем по шагам, где искать причину и как исправить эту техническую неполадку.
Прежде чем грешить на «железо», проанализируем, одинаковые ли данные уходят из базы. Даже если визуально карточки идентичны, внутри они могут иметь различия в реквизитах или табличных частях. Воспользуемся консолью запросов, чтобы сравнить два товара: тот, на который состав печатается, и тот, на который нет.
Выполним следующий запрос в консоли:
ВЫБРАТЬ
*
ИЗ
Справочник.Номенклатура КАК Карточка
ГДЕ
Карточка.Ссылка = &ХорошаяКарточка
ИЛИ
Карточка.Ссылка = &ПлохаяКарточка
Проанализируем результат. Нас интересуют не только основные поля, но и дополнительные реквизиты, а также настройки в правилах обмена. Если в «плохой» карточке есть скрытые символы форматирования или длина текста превышает установленные лимиты, драйвер может просто отсечь эту информацию при передаче в весы.
Одной из наиболее частых причин «выборочной» печати состава в весах Aclas является специфика распределения внутренней памяти. В этих весах память динамическая, но она сегментирована. Существует жесткое ограничение на общий объем текстовых данных (сообщений), выделяемых под состав товара.
Разберем ситуацию: если в магазине №2 загружено больше товаров или описания товаров в среднем длиннее, чем в магазине №1, память под сегмент «Сообщения» может переполниться. В этом случае весы ведут себя следующим образом:
В результате карточка товара создается, но поле состава остается пустым. Для решения необходимо выполнить полную очистку памяти весов и перераспределить лимиты через сервисную утилиту производителя.
Выясним причину возможного различия в макетах. В весах Aclas формат этикетки может быть задан как глобально (для всех товаров), так и индивидуально для каждого PLU. В структуре загрузки это поле часто называется Label Type или Format ID.
Рассмотрим ситуацию: при выгрузке из 1С для части товаров по какой-то причине (например, из-за настроек группы номенклатуры) передается номер формата, отличный от стандартного. Например, для «хорошего» товара передается 0 (стандартный макет с составом), а для «плохого» — 1 (макет без поля состава). Проверьте настройки «Правил обмена с подключаемым оборудованием» в 1С для магазина №2 — возможно, там установлен другой макет по умолчанию или настроено условие выбора формата.
Проанализируем содержимое поля «Текстовое описание». Весы крайне чувствительны к невидимым символам. Если данные копировались из интернета или Word, в тексте могут присутствовать:
LF/CR.« ») вместо стандартных машинных.Драйвер весов при встрече с таким символом может либо обрезать текст, либо полностью отказаться от записи сообщения. Попробуйте в «плохой» карточке переписать состав вручную простым текстом и выполнить повторную выгрузку.
Несмотря на то, что база данных одна, для каждого магазина создается отдельный элемент в справочнике «Правила обмена с подключаемым оборудованием». Проверим следующие параметры в правиле для магазина №2:
Сообщение или Аннотация. У этих полей могут быть разные ограничения по длине в драйвере.Если в магазине №2 часто практикуется частичная выгрузка изменений, база данных внутри весов может «фрагментироваться». В памяти остаются «хвосты» от старых описаний, которые блокируют запись новых длинных строк. Это объясняет, почему на одни товары состав печатается, а на новые или измененные — нет.
Рекомендуемый алгоритм действий:
PLU.Таким образом, проблема чаще всего кроется либо в переполнении сегмента текстовых сообщений в памяти весов, либо в некорректных символах внутри описания, которые блокируют работу драйвера. Тщательный анализ макетов и полная очистка памяти весов в большинстве случаев решают данную задачу.