Представьте что у Вас несколько баз, и в каждой хранятся свои остатки и цены, которые необходимо анализировать в одном месте.
Параметры (для обращения к сервису):
- on_date = На дату, необязательный, по умолчанию = на Текущую дату.
- storage = UUID склада, необязательный, по умолчанию ответ Без остатков.
- price_name = UUID вида цен, необязательный, по умолчанию ответ Без цен.
- barcodes = список штрихкодов через запятую, необязательный, по умолчанию = все штрихкоды из базы.
- agreement = UUID соглашения, по которому рассчитывать цены, по умолчанию = не использовать соглашение.
Пример получения и использования:
Функция ПолучитьТаблицуОстатков()
Соединение = Новый HTTPСоединение("*.ru",,"Лог","пасс");
Запрос = Новый HTTPЗапрос("/trade/hs/GoodsAmount/?storage=GUID&price=GUID");
СжатыеДвоичныеДанные = Соединение.ВызватьHTTPМетод("GET", Запрос).ПолучитьТелоКакДвоичныеДанные();
СтрокаBase64 = Base64Строка(СжатыеДвоичныеДанные);
ХранилищеОстатков = СериализаторXDTO.XMLЗначение(Тип("ХранилищеЗначения"), СтрокаBase64);
СтрокаДляОтвета = ХранилищеОстатков.Получить();
ЧтениеJSON = Новый ЧтениеJSON;
ЧтениеJSON.УстановитьСтроку(СтрокаДляОтвета);
ТаблицаОстатки = ПрочитатьJSON(ЧтениеJSON);
ТаблицаОстаткиТЗ = Новый ТаблицаЗначений;
ТаблицаОстаткиТЗ.Колонки.Добавить("ВНаличии");
ТаблицаОстаткиТЗ.Колонки.Добавить("Доступно");
ТаблицаОстаткиТЗ.Колонки.Добавить("Цена");
ТаблицаОстаткиТЗ.Колонки.Добавить("Штрихкод");
ТаблицаОстаткиТЗ.Индексы.Добавить("Штрихкод");
Для Каждого ЭлементМассива Из ТаблицаОстатки Цикл
СтрокаТЗ = ТаблицаОстаткиТЗ.Добавить();
ЗаполнитьЗначенияСвойств(СтрокаТЗ, ЭлементМассива);
КонецЦикла;
Возврат ТаблицаОстаткиТЗ;
КонецФункции
В данный момент Совместимость на 8.3.14 установлена, но и начиная с 8.3.8 - работает (написано на УТ, проверено на УТ для Казахстана - версия совместимости ниже).
Можно использовать в Безопасном режиме.
Подходит для любых торговых решений: Розница, УТ, КА, ЕРП.
upd 23.03.2022: добавлен сервис для ветки 5 (УТ 11.5, КА 2.5, ЕРП 2.5)