ТоварыНеНайдены

Последние изменение: 25.08.2017

Обработчик события вызывается при запросе с терминала группы товаров с конкретными упаковками.

Аргументы:


Имя параметра

Тип данных

Описание

ИдТоваров

Массив строк (COMSafeArray)

Массив идентификаторов запрошенных товаров.

ИдУпаковок

Массив строк (COMSafeArray)

Массив идентификаторов упаковок.

ИдПользователя

Строка

Идентификатор пользователя Mobile SMARTS, при работе которого на ТСД, произошел вызов обработчика.

XmlСессии

Строка

Xml представление объекта Cleverence.Warehouse.ServerSession (см. справочник) или Null (если в настройках событий сервера в конфигурации Mobile SMARTS отключено добавление сессии в обработчики событий). Объект может быть загружен с помощью функции FromXml объекта Cleverence.Warehouse.StorageConnector.



Массивы ИдТоваров и ИдУпаковок имеют одинаковую длину и содержат пары ИдТовара-ИдУпаковки данного товара.

Событие аналогично событию ТоварНеНайден в режиме 2 (поиск по коду товара с заданной упаковкой). Отличие в том, что ТоварНеНайден принимает одну пару ИдТовара-ИдУпаковки, а ТоварыНеНайден набор таких пар.

В панеле управления:

    

<id коннектора>:<имя функции-обработчика>


Результат, возвращаемый функцией, должен быть в виде Xml-представления объекта Cleverence.Warehouse.ProductCollection (коллекция товаров, см. справочник). Xml-представление объектов Mobile SMARTS следует получать с помощью функции ToXml компоненты StorageConnector.

В случае 1С функция может возвращать таблицу значений, которая на сервере Mobile SMARTS преобразуется в объект коллекции. Наименования колонок таблицы значений должны начинаться на “Product_”, если поле относится к товару и на “Packing_”, если это поле упаковки. Например, “Product_Id”, “Packing_Barcode”, “Packing_Характеристика”.

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

Пример:

Функция ПолучитьТовары(ИдТоваров, ИдУпаковок, UserId, mXmlDoc=Неопределено) Экспорт
ЗапросНоменклатуры = Новый Запрос;
...
СписокНоменклатуры = Новый СписокЗначений;
Для Каждого Ид из ИдТоваров Цикл
СписокНоменклатуры.Добавить(ПолучитьСсылку("Номенклатура", Ид));
КонецЦикла;
ЗапросНоменклатуры.УстановитьПараметр("П", СписокНоменклатуры);
ТаблицаТоваров = ЗапросНоменклатуры.Выполнить().Выгрузить();
Результат = Новый ТаблицаЗначений;
Результат.Колонки.Добавить("Product_Id");
Результат.Колонки.Добавить("Product_Marking" );
Результат.Колонки.Добавить("Product_Barcode" ); Результат.Колонки.Добавить("Product_Name" );
Результат.Колонки.Добавить("Product_BasePackingId" );
...
Результат.Колонки.Добавить("Packing_Id" );
Результат.Колонки.Добавить("Packing_Name" );
Результат.Колонки.Добавить("Packing_Marking" );
Результат.Колонки.Добавить("Packing_Barcode" );

Для Каждого СтрокаТовара Из ТаблицаТоваров Цикл
СтрокаРезультата = Результат.Добавить();
  СтрокаРезультата["Product_Id"] = СтрокаТовара["ИдНоменклатуры"];
...
КонецЦикла;
Возврат Результат;
КонецФункции