Клиенты «Клеверенса» часто обращаются в техническую поддержку с вопросами:
- можно ли отобразить дополнительную информацию о товаре на мобильном устройстве и как это сделать?
- как изменить определенный параметр сразу в нескольких местах?
Наш ответ — можно, и в этой статье мы подробно расскажем, как.
- Как отобразить дополнительную информацию о товаре на ТСД?
- Как изменить определенный параметр сразу в нескольких местах?
Как отобразить дополнительную информацию о товаре на ТСД?
Проблема. Как показать и заполнить произвольное поле в структуру номенклатуры?
Краткий ответ. Для решения данной проблемы можно использовать различные варианты: например, добавить дополнительное поле номенклатуры товара в справочнике номенклатуры Mobile SMARTS.
Для выгрузки номенклатуры в Mobile SMARTS чаще всего используется учетная система «1С: Предприятие», в которой уже есть встроенные метаданные для большинства справочников и регистров продукта на платформе Mobile SMARTS (например, «Склад 15»). Поэтому для включения новых метаданных нужно только внести изменения в СКД (система компоновки данных).
Это делается один раз и для онлайн, и для оффлайн сценариев интеграции Mobile SMARTS и 1С (т.е. в любом варианте работы используются одни и те же СКД).
Изменения вносятся в файл интеграционной обработки, который по умолчанию расположен в папке базы продукта «\Обработки 1С\Интеграционные обработки».
Развернутое решение проблемы
Рассмотрим подробнее, как добавить новый реквизит в справочник номенклатуры и выгрузить его на ТСД.
Цель: выгрузить реквизит номенклатуры «ГоденДо» в поле «СрокГодности» и отобразить его на ТСД.
Исходные данные:
-
в конфигурацию 1С добавлен реквизит номенклатуры «ГоденДо» (данные взяты в качестве примера, т.к. на практике срок годности может храниться, например, в регистре);
-
в конфигурацию Mobile SMARTS добавлено дополнительное поле «СрокГодности» в структуре номенклатуры.
Далее необходимо открыть основную обработку обмена КлеверенсТСД в «1С Предприятие». Если при первом развертывании продукта Mobile SMARTS все настройки базы были распакованы правильно, то к основной обработке подцепится интеграционная соответствующей версии и конфигурации.
Если интеграционная обработка не подключена, не имеет поддержки текущей конфигурации или не поддерживает конкретную версию конфигурации, то потребуется подключить её самостоятельно.
Алгоритм решения проблемы
Действия в панели управления Mobile SMARTS
-
Запустите менеджер базы данных и откройте панель управления Mobile SMARTS («Открыть» --> «Править конфигурацию»), которая позволяет редактировать конфигурацию (продукта Mobile SMARTS).
-
В левой части окна конфигурации разверните узел «Структура номенклатуры» --> «Дополнительные поля» --> правым щелчком мыши вызовите выпадающие меню --> «Добавить поле» --> введите наименование поля и его тип.
Имя поля должно в точности совпадать с именем, которое указано в шаблоне номенклатуры, включая регистр символов.
-
Сохраните изменения в конфигурации.
Как вывести дополнительное поле в списке номенклатуры и выгрузить, например с помощью утилиты Excel/CSV описано в статье «Добавление дополнительного поля номенклатуры Excel/CSV».
-
В конфигураторе отладки разверните узел «Данные» --> «Номенклатура» и запустите обновление измененных данных в номенклатуре. На экране появится выгруженная номенклатура, среди которой найдите нужный товар с добавленным полем и проверьте во вкладке «Поля» корректность его отображения.
-
Запустите обмен с сервером на терминале сбора данных, откройте клиент для ПК в менеджере баз и проверьте точность отладки.
Отладка кода — это этап разработки, на котором обнаруживают, локализуют и устраняют ошибки. Для оперативного проведения отладки в Mobile SMARTS применяется встроенный отладчик.
-
Далее можно проверить, как добавленное поле («СрокГодности») отображается на ТСД (например, в верхней части документа). Для этого, не закрывая выгруженную номенклатуру, запустите режим отладки в панели управления (пункт «Клиент для ПК» или кнопка F5).
-
После запуска отладчика на экране ПК появится окно эмулятора ТСД с надписью в заголовке окна «В отладке». Рекомендуется использовать конфигурацию из панели управления, либо перед подключением отладчика нажать кнопку «Обмен с сервером» в клиенте Mobile SMARTS для ПК.
Во время выполнения операций на клиенте для ПК отладчик останавливается на действиях, требующих ввода данных. В панель управления подсвечивается красным тип документа, в котором ведётся работа, а жёлтым — действие, которое в данный момент выполняется в клиенте Mobile SMARTS для ПК.
-
Выберите элемент, который нужно изменить (в данном примере — это поле ввода количества) и внесите изменения в алгоритм конфигурации, чтобы в верхней части выводилось новое поле «СрокГодности» («ГоденДо»).
-
Во вкладке «Свойства» найдите пункт «Текст в верхней части окна», откройте его, нажав на кнопку с двумя точками, и задайте новое действие в алгоритме конфигурации.
-
Введите в поле редактирования следующую строку {SelectedProduct.Packing.СрокГодности} (для удобства ввода можно развернуть панель переменных внизу окна «Редактор строк»).
-
Нажмите «ОК», если все выполнено правильно — в верхней части окна отобразится новое значение («СрокГодности» --> «ГоденДо»). Далее потребуется изменить СКД в конфигураторе 1С.
Действия в конфигураторе «1С: Предприятия»
-
Откройте интеграционную обработку в конфигураторе 1С и найдите макет, который используется для выгрузки номенклатуры.
-
Чтобы определить, какой макет используется для выгрузки номенклатуры, откройте окно «Обмен справочников и печати» на главной форме основной обработки и найдите имя макета в соответствующей строке.
Этот способ не является универсальным, т.к. в некоторых случаях имя макета может программно подменяться в методе ПолучитьМакетСКД модуля интеграционной обработки. В данной статье по умолчанию считаем, что имя не подменено.
-
Откройте макет, который используется для выгрузки номенклатуры, и добавьте в текст запроса новое поле для выгрузки в Mobile SMARTS.
Итоговое имя поля для таблицы номенклатуры должно иметь следующий вид: <Префикс>_<ИмяПоляMobileSMARTS>, где <Префикс> — это Product или Packing, в зависимости от того, будет относиться новое поле к позиции номенклатуры в целом или к ее отдельным упаковкам.
Объектом, представляющим товар в Mobile SMARTS является Product (Товар), каждый товар содержит коллекцию упаковок Packing (Упаковка).
-
Добавьте новое поле в состав выбранных полей схемы компоновки данных на вкладке «Настройки».
-
Сохраните интеграционную обработку и перевыберите ее в основной обработке.
Если используется обработка из файла на диске, то перевыберите файл как показано на скриншоте ниже. Если используется обработка из справочника дополнительных отчетов и обработок, воспользуйтесь одним из способов, описанных в инструкции.
-
Если вы работаете в режиме оффлайн, выгрузите справочник номенклатуры на устройство заново.
Операция вывода номенклатуры товара в справочнике номенклатуры Mobile SMARTS прошла успешно!
Как изменить определенный параметр сразу в нескольких местах?
Проблема. У каждого типа данных в Mobile SMARTS есть собственный набор полей, но что если нужно изменить определенный параметр сразу в нескольких местах номенклатуры?
Решение проблемы
Не нужно заходить в каждый параметр и править его отдельно, т.к. в Mobile SMARTS есть возможность добавить/исправить общее вычисляемое поле сразу для всех типов данных.
В данном примере, чтобы изменения отображались в вычисляемых шаблонах в верхнем поле или других строках ТСД, нужно добавить новое значение в общем вычисляемом поле {SelectedProduct.стрВШапакахОкон}.
Общие вычисляемые поля представляют собой дополнительные поля, которые появляются сразу у всех объектов (типов данных), и значения которых задаются шаблонами. |
-
Для этого в конфигураторе отладки разверните узел «Общие вычисляемые поля» --> «Верстка» --> «стрВШапакахОконНоменклатура».
-
Далее в окне «Свойства» выберите пункт «Шаблон значения» как показано ниже:
-
Добавьте в редакторе строк новое значение {Item.Packing.СрокГодности}.
-
Сохраните отладку и заново запустите эмулятор ТСД.
По данному алгоритму в дальнейшем можно менять конфигурации вывода полей в разных частях окон на ТСД.