При работе со «Складом 15» от Cleverence часто возникает ситуация, когда стандартного функционала отображения данных недостаточно. Например, если на складе не внедрена полноценная система адресного хранения, но информация о расположении товара хранится в текстовом реквизите карточки номенклатуры 1С. По умолчанию терминал сбора данных (ТСД) эту информацию не показывает. Разберем по шагам, как вывести этот реквизит в интерфейс мобильного приложения.
Существует два основных способа решения этой задачи: упрощенный (через модификацию данных в 1С) и профессиональный (через изменение конфигурации Mobile SMARTS). Проанализируем каждый из них.
Это самый быстрый способ, который не требует изменения структуры таблиц на сервере Mobile SMARTS и редактирования экранных форм. Суть заключается в том, чтобы передать информацию о ячейке прямо в поле «Наименование».
Рассмотрим, как это реализовать:
Cleverence.Обработка.epf).Description (Наименование).Пример логики на языке 1С может выглядеть следующим образом:
РезультатНаименование = СтрокаНоменклатуры.Наименование;
Если ЗначениеЗаполнено(СтрокаНоменклатуры.ЯчейкаХранения) Тогда
РезультатНаименование = РезультатНаименование + " [Яч: " + СокрЛП(СтрокаНоменклатуры.ЯчейкаХранения) + "]";
КонецЕсли;
Преимущества этого метода: не нужно лезть в конфигуратор Mobile SMARTS, работает на любых лицензиях (включая «Базовую»), изменения видны сразу после синхронизации справочников. Недостаток: информация о ячейке «склеена» с названием, что не всегда удобно для визуального восприятия.
Если нам нужно, чтобы ячейка отображалась отдельной строкой в карточке товара, придется выполнить комплексную настройку на трех уровнях. Рассмотрим их последовательно.
Этап 1. Настройка на стороне 1С (Выгрузка)
Проанализируем систему компоновки данных (СКД), которую использует обработка обмена. Нам необходимо добавить новое поле в схему выгрузки:
Cell_Address.Номенклатура.ВашеПолеЯчейка.Этап 2. Расширение структуры данных на сервере
Теперь нужно подготовить «приемник» для этих данных в базе Mobile SMARTS. Для этого выполним следующие действия:
Inventory или Products).Cell_Address.Этап 3. Редактирование экранных форм (Интерфейс ТСД)
После того как данные начали поступать в базу сервера, их нужно вывести на экран ТСД. Выясним, как это сделать:
Browse_Products или действие внутри процесса сканирования.Text или StaticText.{CurrentItem.Cell_Address}.Пример выражения в редакторе:
"Ячейка: " + SelectedProduct.Cell_Address
Проанализируем ограничения, с которыми можно столкнуться при реализации второго способа:
Таким образом, мы выяснили, что даже при отсутствии стандартного поля в интерфейсе «Склада 15», у нас есть как минимум два пути решения задачи. Выбор зависит от ваших навыков разработки и уровня имеющейся лицензии ПО Клеверенс.