Перейти к основному содержимому
Версия: v1.6

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

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

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

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

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

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

Краткий ответ. Для решения данной проблемы можно использовать различные варианты: например, добавить дополнительное поле номенклатуры товара в справочнике номенклатуры 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.СрокГодности} (для удобства ввода можно развернуть панель переменных внизу окна «Редактор строк»).

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

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