При работе с системой Mobile SMARTS: Склад 15 часто возникает необходимость кастомизации стандартных процессов. Одной из типичных задач является вывод на печатную форму этикетки дополнительных данных, которые не предусмотрены типовой конфигурацией «из коробки». Например, если в вашей базе 1С один и тот же товар от разных поставщиков заведен как разные номенклатурные позиции (или разделен по папкам-родителям), вам может потребоваться видеть имя поставщика прямо на ТСД и на распечатанной этикетке.
Рассмотрим подробно, как решить эту задачу, если стандартная техническая поддержка не дает прямого ответа, а данные нужно подтянуть из иерархии справочника или дополнительных реквизитов 1С.
Прежде всего, проанализируем, почему данные могут отображаться в одной операции (например, «Приемка») и отсутствовать в другой (например, «Сбор штрихкодов»). В системе «Клеверенс» существует два принципиально разных способа получения данных:
Следовательно, наша задача — принудительно добавить это поле в структуру выгрузки справочника номенклатуры.
Для начала нам необходимо изменить логику формирования данных в самой 1С. В современных версиях «Склада 15» обмен строится на базе интеграционной обработки, которая использует схемы компоновки данных (СКД) или программные запросы.
Выясним причину, по которой данные могут приходить в неверном формате. Часто разработчики пытаются передать объект Родитель напрямую. Однако в Mobile SMARTS это приведет к тому, что на экране ТСД вместо названия отобразится внутренний уникальный идентификатор (GUID) ссылки. Чтобы этого избежать, нам нужно обращаться к Наименованию объекта.
Рассмотрим пример кода, который необходимо прописать в тексте запроса или в обработчике формирования временной таблицы номенклатуры (ВТ_Номенклатура) в 1С:
// В тексте запроса интеграционной обработки добавляем выборку наименования родителя
ВТ_Номенклатура.Родитель.Наименование КАК Родитель,
ВТ_Номенклатура.Родитель КАК Product_Родитель,
Здесь Product_Родитель может использоваться для внутренних связей, а поле Родитель (в формате строки) будет служить нам для вывода текста на экран и печать.
Просто передать данные из 1С недостаточно — сервер Mobile SMARTS должен знать, куда их записывать. Проанализируем настройки сервера через «Панель управления Mobile SMARTS»:
Изделие (или Номенклатура).Supplier и типом данных Строка.Важный момент: если поле не заведено в конфигурации сервера, данные из 1С будут игнорироваться при загрузке справочника.
Теперь вернемся в 1С в настройки интеграционной обработки. Нам нужно связать наше новое поле из запроса 1С с полем Supplier, которое мы создали на сервере Mobile SMARTS.
Разберем, как это сделать:
Supplier.Источник.Родитель.Наименование).После того как данные успешно выгружаются на ТСД, их нужно вывести на печать. Для этого воспользуемся встроенным визуальным редактором этикеток Клеверенс.
Посмотрим на алгоритм действий в редакторе:
{SelectedProduct.Supplier}.Если вы делаете доработку в операции, где товар выбирается из списка текущих строк (например, при просмотре набранного документа), путь может быть иным: {CurrentItem.Product.Supplier}. Проанализируем контекст выполнения действия, чтобы выбрать правильный объект-источник.
Ошибка: Вместо имени поставщика печатаются цифры и буквы (GUID).
Это происходит, когда в Mobile SMARTS передается ссылка на объект 1С, а не его текстовое представление. Убедитесь, что в запросе 1С вы используете точку и реквизит Наименование: Номенклатура.Родитель.Наименование.
Ошибка: Поле пустое, хотя в 1С данные есть.
Проверьте, была ли выполнена полная выгрузка справочника номенклатуры после внесения изменений. Также убедитесь, что идентификатор поля в Панели управления Mobile SMARTS и в настройках сопоставления в 1С совпадает до символа (регистр имеет значение).
Мы рассмотрели процесс сквозной передачи данных от запроса в 1С до термоголовки принтера этикеток. Несмотря на то, что «Склад 15» позиционируется как готовое решение, гибкость его платформы позволяет реализовывать подобные задачи даже без глубоких знаний C#, используя лишь стандартные инструменты интеграции 1С и визуальные редакторы Mobile SMARTS.
Помните, что ключевой успех здесь заключается в правильной подготовке данных на стороне 1С: Mobile SMARTS — это «зеркало» вашей учетной системы, и если данные в 1С структурированы специфическим образом (как в примере с гайками от разных поставщиков), именно правильный запрос к базе обеспечит корректную работу складского персонала.