Если есть потребность в том, чтобы кассир при наборе товара в своем РМК мог видеть остатки на оптовых складах, и при этом используется связка с УТ11, то эта разработка может подойти. Как известно, при организации обмена Розница+УТ11, нет смысла включать в обмен операции по оптовым складам, что влечет за собой отсутствие актуальных остатков товаров на этих складах. Данная разработка получает данные из УТ11 для Розницы "на лету".
Разработка состоит из двух расширений.
Расширение для Розницы.
Перехватывает получение остатков в РМК. Далее для оптовых складов делает запрос к http-сервису в УТ11, получает остатки, и подставляет их в таблицу с остатками при наборе товара.
Расширение для УТ11.
Содержит http-сервис "API" с функцией ответа на запрос остатков номенклатуры по переданным складам. Это POST-запрос с URL "goodsInStores", который на входе получает JSON со списками "storesIds" (список складов) и "goodsIds" (список номенклатуры).
Как внедрять.
Внедрение рекомендуется проводить техническим специалистом, так как потребуются знания по публикации базы на веб-сервере и небольшой вставки в код конфигурации.
1. Подключить соответствующие расширения в базы Розницы и УТ11.
2. В УТ11 добавить пользователя (например, hs) со сложным паролем. Назначить этому пользователю роль "дс_ДоступAPI" (назначать следует из режима Предприятие, стандартно через механизм прав доступа БСП).
3. В УТ11 выполнить публикацию на веб-сервере (IIS, Apache). В рамках данной статьи не будем на этом заостряться. Уточним лишь, что при публикации обязательно установить флаг "Публиковать HTTP-сервисы расширений по умолчанию". Это необходимо для того, чтобы сервис из расширения был доступен в публикации.
4. В Рознице в расширении в общем модуле "дс_ИнтеграцияУТ11" и в функциях "СоединениеУТ()" и "ИмяОпубликованнойБазыУТ11()" выставить правильные параметры: логин/пароль, адрес сервера (если базы находятся на разных серверах, на скрине - прописать вместо "localhost"), а также имя опубликованной базы УТ11
5. В Рознице под оптовыми складами понимаются все Магазины, у которых "Тип объекта" = "Склад управляющей системы".
6. Экспресс-проверка. Внести в адресную строку браузера "http://{тут_адрес_вашего_сервера_с_УТ11_или_localhost}/{тут_имя_опубликованной_базы_УТ11}/hs/api/get_test". При запросе браузера указать логан/пароль. В ответ на странице должна появиться информация в виде JSON с текстом внутри "hello world":
7. Проверка в Рознице. В Рознице через "Все функции" вызвать обработку "Проверить остатки опт в УТ11 (DS)", в интерфейсе которой выбрать номенклатуру и нажать кнопку. В таблице ниже под кнопкой будут отображены остатки, полученные из УТ11 по http-сервису.
Послесловие.
При небольшой доработке применимо к любым конфигурациям. Сервис в расширении для УТ11 может использоваться в каких угодно сценариях из каких угодно систем, его удобно дополнять и дописывать.
Поддерживаемые версии.
Протестировано на платформе 1С:Предприятие 8.3.13.1809, Розница 2.2.11.29, Управление Торговлей 11.4.6.230.
На других релизах, скорее всего, тоже будет работать с минимальными изменениями (кроме версий платформы, которые не поддерживают расширения или http-сервисы, но это уже большая редкость).