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

09.12.24

Учетные задачи - Логистика, склад и ТМЦ

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

Пользователи «Склада 15» часто обращаются в техническую поддержку с вопросами:

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

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

 

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

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

Краткий ответ. Для решения данной проблемы можно использовать различные варианты: например, добавить дополнительное поле номенклатуры товара в справочнике номенклатуры 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. Сохраните изменения в конфигурации.


     

  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. Сохраните отладку и заново запустите эмулятор ТСД.

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

Вступайте в нашу телеграмм-группу Инфостарт