Новый функционал дает возможность запрашивать произвольные наборы данных в онлайн-режиме без внесения изменений в основную обработку.
Реализован он за счет добавления общей функции ВызовПроизвольнойФункции в основную обработку, которая является проксирующей и вызывает написанную функцию из интеграционной обработки.
Благодаря этому не нужно изучать, как работает основная обработка и искать, где выполняются функции, в которые нужно вставить свой код. Теперь можно ограничится внесением изменений только в интеграционную обработку.
Данный функционал будет полезен партнерам «Клеверенса», внедренцам, делающим доработки, а также программистам, которые хотят добавить функционал, использующий онлайн-вызовы к 1С.
Предварительная подготовка
-
Включить работу в режиме онлайн через web-сервисы или COM-соединение.
-
Через конфигуратор 1С открыть интеграционную обработку и добавить в её модуль свою функцию с необходимыми входящими параметрами и возвращаемым результатом. Обязательно сделать её экспортной.
-
Добавить вызов метода внешней системы «ВызовПроизвольнойФункции» в конфигурацию Mobile SMARTS там, где необходимо обратиться за данными в 1С, указав в параметрах имя своей добавленной функции и тип возвращаемых данных.
Настройка
-
Для работы внешних вызовов обязательно должен быть включен онлайн-обмен с 1С.
-
Для добавления функции, вызываемой с мобильного устройства, в интеграционную обработку, откройте конфигуратор «1С: Предприятия».
-
Откройте интеграционную обработку из папки с базой Mobile SMARTS.
-
Откройте общий модуль объекта интеграционной обработки и добавьте свою функцию, которая обязательно должна быть экспортной.
-
Сохраните изменения и обновите в справочнике «Дополнительные отчеты и обработки» интеграционную обработку. Для чего это делается, читайте в статье.
-
Запустите панель управления Mobile SMARTS.
-
Добавьте в нужное место конфигурации вызов внешнего метода. Настройте его, указывая имя функции, тип значения и передаваемые параметры (до 10 параметров).
Параметры функции «ВызовПроизвольнойФункции»
- ИмяФункции (cтрока) — наименование функции в интеграционной обработке.
- ТипВозвращаемогоЗначения (строка) — тип объекта Mobile SMARTS.
- Параметр1.Параметр10 (произвольный) — параметры, передаваемые из Mobile SMARTS в 1С.
Рассмотрим использование данной функции на примере конфигурации 1С «Управление торговлей 11.4» и программного продукта «Склад 15». Будем считать, что подключение к «1С: Предприятию» уже выполнено и настроен онлайн-режим через web-сервисы.
Пример 1
Задача: получить описание номенклатуры из 1С по артикулу на ТСД.
Решение: создаем в интеграционной обработке экспортную функцию ПолучитьОписаниеНоменклатурыПоАртикулу, которая по входящему параметру АртикулСтрокой будет возвращать нам наименование и описание найденного товара. В случае если товар не найден, будет возвращаться строка «Товар не найден».
В панели управления Mobile SMARTS добавим поле для ввода артикула в переменную АртикулДляПоиска. Полученный результат должен выводиться через переменную ОписаниеТовара.
После ввода артикула добавим вызов метода внешней системы «ВызовПроизвольнойФункции» со следующими параметрами:
- ПолучитьОписаниеНоменклатурыПоАртикулу — наименование нашей функции из интеграционной обработки.
- Пустая строка, т.к. нам не нужно преобразование в объект Mobile SMARTS, ожидаемый результат — строковое значение.
- {АртикулДляПоиска} — введенный артикул.
Перейдем к выполнению:
-
В «1С: Предприятии» заведена номенклатура с артикулом 50976201.
-
Вводим этот артикул в строку поиска на ТСД, после чего на экране отображается информация о товаре по данному артикулу.
Пример 2
Задача: найти товар по артикулу и отобразить на ТСД 10 последних приходных документов с этим товаром. Необходимо вывести дату, номер, контрагента и количество этого товара из документов.
Решение: создаем в интеграционной обработке экспортную функцию ПолучитьПоследниеПоступленияПоТовару, которая по входящему параметру «Артикул» будет формировать таблицу значений с колонками «Дата», «Номер», «Контрагент», «Количество».
На форме из примера 1 добавим отображение списка из коллекции «СписокДокументов».
Добавим вызов метода внешней системы «ВызовПроизвольнойФункции» со следующими параметрами:
- ПолучитьПоследниеПоступленияПоТовару — наименование нашей функции из интеграционной обработки.
- Cleverence.Warehouse.RowCollection, Cleverence.MobileSMARTS — т.к. нам в результате нужен объект RowCollection.
- {АртикулДляПоиска} — введенный артикул.
Теперь при запросе артикула на ТСД будет отображаться не только описание товара, но и список последних документов прихода, в котором есть данный товар.