Статья успешно отправлена на почту

Как отобразить данные из «1С: Предприятия» на мобильном устройстве без исправления кода основной обработки «Клеверенса»

Применимо к продуктам: Mobile SMARTS платформа Магазин 15 Склад 15
Последние изменения: 2024-03-26

Клиенты «Клеверенса» часто обращаются в техническую поддержку с вопросами:

  • можно ли отобразить дополнительную информацию о товаре на мобильном устройстве и как это сделать?
  • как изменить определенный параметр сразу в нескольких местах?

Наш ответ — можно, и в этой статье мы подробно расскажем, как.

  1. Как отобразить дополнительную информацию о товаре на ТСД?
  2. Как изменить определенный параметр сразу в нескольких местах?

Как отобразить дополнительную информацию о товаре на ТСД?

Проблема. Как показать и заполнить произвольное поле в структуру номенклатуры?

Краткий ответ. Для решения данной проблемы можно использовать различные варианты: например, добавить дополнительное поле номенклатуры товара в справочнике номенклатуры Mobile SMARTS.

Для выгрузки номенклатуры в Mobile SMARTS чаще всего используется учетная система «1С: Предприятие», в которой уже есть встроенные метаданные для большинства справочников и регистров продукта на платформе Mobile SMARTS (например, «Склад 15»). Поэтому для включения новых метаданных нужно только внести изменения в СКД (система компоновки данных).

Это делается один раз и для онлайн, и для оффлайн сценариев интеграции Mobile SMARTS и 1С (т.е. в любом варианте работы используются одни и те же СКД).

Изменения вносятся в файл интеграционной обработки, который по умолчанию расположен в папке базы продукта «\Обработки 1С\Интеграционные обработки».

Развернутое решение проблемы

Рассмотрим подробнее, как добавить новый реквизит в справочник номенклатуры и выгрузить его на ТСД.

Цель: выгрузить реквизит номенклатуры «ГоденДо» в поле «СрокГодности» и отобразить его на ТСД.

Исходные данные:

  • в конфигурацию 1С добавлен реквизит номенклатуры «ГоденДо» (данные взяты в качестве примера, т.к. на практике срок годности может храниться, например, в регистре);

  • в конфигурацию Mobile SMARTS добавлено дополнительное поле «СрокГодности» в структуре номенклатуры.

Далее необходимо открыть основную обработку обмена КлеверенсТСД в «1С Предприятие». Если при первом развертывании продукта Mobile SMARTS все настройки базы были распакованы правильно, то к основной обработке подцепится интеграционная соответствующей версии и конфигурации.

Если интеграционная обработка не подключена, не имеет поддержки текущей конфигурации или не поддерживает конкретную версию конфигурации, то потребуется подключить её самостоятельно.

Алгоритм решения проблемы

Действия в панели управления Mobile SMARTS

  1. Запустите менеджер базы данных и откройте панель управления Mobile SMARTS («Открыть» --> «Править конфигурацию»), которая позволяет редактировать конфигурацию (продукта Mobile SMARTS).


  2. В левой части окна конфигурации разверните узел «Структура номенклатуры» --> «Дополнительные поля» --> правым щелчком мыши вызовите выпадающие меню --> «Добавить поле» --> введите наименование поля и его тип.


    Имя поля должно в точности совпадать с именем, которое указано в шаблоне номенклатуры, включая регистр символов.

  3. Сохраните изменения в конфигурации.


    Как вывести дополнительное поле в списке номенклатуры и выгрузить, например с помощью утилиты Excel/CSV описано в статье «Добавление дополнительного поля номенклатуры Excel/CSV».

  4. В конфигураторе отладки разверните узел «Данные» --> «Номенклатура» и запустите обновление измененных данных в номенклатуре. На экране появится выгруженная номенклатура, среди которой найдите нужный товар с добавленным полем и проверьте во вкладке «Поля» корректность его отображения.


  5. Запустите обмен с сервером на терминале сбора данных, откройте клиент для ПК в менеджере баз и проверьте точность отладки.

    Отладка кода — это этап разработки, на котором обнаруживают, локализуют и устраняют ошибки. Для оперативного проведения отладки в Mobile SMARTS применяется встроенный отладчик.

  6. Далее можно проверить, как добавленное поле («СрокГодности») отображается на ТСД (например, в верхней части документа). Для этого, не закрывая выгруженную номенклатуру, запустите режим отладки в панели управления (пункт «Клиент для ПК» или кнопка F5).


  7. После запуска отладчика на экране ПК появится окно эмулятора ТСД с надписью в заголовке окна «В отладке». Рекомендуется использовать конфигурацию из панели управления, либо перед подключением отладчика нажать кнопку «Обмен с сервером» в клиенте Mobile SMARTS для ПК.


    Во время выполнения операций на клиенте для ПК отладчик останавливается на действиях, требующих ввода данных. В панель управления подсвечивается красным тип документа, в котором ведётся работа, а жёлтым — действие, которое в данный момент выполняется в клиенте Mobile SMARTS для ПК.

  8. Выберите элемент, который нужно изменить (в данном примере — это поле ввода количества) и внесите изменения в алгоритм конфигурации, чтобы в верхней части выводилось новое поле «СрокГодности» («ГоденДо»).


  9. Во вкладке «Свойства» найдите пункт «Текст в верхней части окна», откройте его, нажав на кнопку с двумя точками, и задайте новое действие в алгоритме конфигурации.


  10. Введите в поле редактирования следующую строку {SelectedProduct.Packing.СрокГодности} (для удобства ввода можно развернуть панель переменных внизу окна «Редактор строк»).


  11. Нажмите «ОК», если все выполнено правильно — в верхней части окна отобразится новое значение («СрокГодности» --> «ГоденДо»). Далее потребуется изменить СКД в конфигураторе 1С.


Действия в конфигураторе «1С: Предприятия»

  1. Откройте интеграционную обработку в конфигураторе 1С и найдите макет, который используется для выгрузки номенклатуры.

  2. Чтобы определить, какой макет используется для выгрузки номенклатуры, откройте окно «Обмен справочников и печати» на главной форме основной обработки и найдите имя макета в соответствующей строке.


    Этот способ не является универсальным, т.к. в некоторых случаях имя макета может программно подменяться в методе ПолучитьМакетСКД модуля интеграционной обработки. В данной статье по умолчанию считаем, что имя не подменено.

  3. Откройте макет, который используется для выгрузки номенклатуры, и добавьте в текст запроса новое поле для выгрузки в Mobile SMARTS.


    Итоговое имя поля для таблицы номенклатуры должно иметь следующий вид: <Префикс>_<ИмяПоляMobileSMARTS>, где <Префикс> — это Product или Packing, в зависимости от того, будет относиться новое поле к позиции номенклатуры в целом или к ее отдельным упаковкам.

    Объектом, представляющим товар в Mobile SMARTS является Product (Товар), каждый товар содержит коллекцию упаковок Packing (Упаковка).

  4. Добавьте новое поле в состав выбранных полей схемы компоновки данных на вкладке «Настройки».


  5. Сохраните интеграционную обработку и перевыберите ее в основной обработке.


    Если используется обработка из файла на диске, то перевыберите файл как показано на скриншоте ниже. Если используется обработка из справочника дополнительных отчетов и обработок, воспользуйтесь одним из способов, описанных в инструкции.


  6. Если вы работаете в режиме оффлайн, выгрузите справочник номенклатуры на устройство заново.

Операция вывода номенклатуры товара в справочнике номенклатуры Mobile SMARTS прошла успешно!

Как изменить определенный параметр сразу в нескольких местах?

Проблема. У каждого типа данных в Mobile SMARTS есть собственный набор полей, но что если нужно изменить определенный параметр сразу в нескольких местах номенклатуры?

Решение проблемы

Не нужно заходить в каждый параметр и править его отдельно, т.к. в Mobile SMARTS есть возможность добавить/исправить общее вычисляемое поле сразу для всех типов данных.

В данном примере, чтобы изменения отображались в вычисляемых шаблонах в верхнем поле или других строках ТСД, нужно добавить новое значение в общем вычисляемом поле {SelectedProduct.стрВШапакахОкон}.

Общие вычисляемые поля представляют собой дополнительные поля, которые появляются сразу у всех объектов (типов данных), и значения которых задаются шаблонами.

  1. Для этого в конфигураторе отладки разверните узел «Общие вычисляемые поля» --> «Верстка» --> «стрВШапакахОконНоменклатура».


  2. Далее в окне «Свойства» выберите пункт «Шаблон значения» как показано ниже:


  3. Добавьте в редакторе строк новое значение {Item.Packing.СрокГодности}.


  4. Сохраните отладку и заново запустите эмулятор ТСД.

По данному алгоритму в дальнейшем можно менять конфигурации вывода полей в разных частях окон на ТСД.


Была ли статья полезна?
Спасибо за ваш отзыв!
Отзыв
Заполните, пожалуйста, данную форму, что конкретно вы не нашли, оставьте свои комментарии о работе сайта / полезности / сложности с навигацией
0/500