Добрый день!
Есть 2 базы УНФ обмениваются остатками через Web-сервис. Одна делает запрос к другой и получает остатки двумя способами:
1) По кнопке на форме элемента номенклатуры (передает параметр с артикулом номенклатура)
2) Регламентным заданием (не передает никаких параметров, должно получать остатки по всей номенклатуре)
Первый способ работает отлично, а вот второй пишет ошибку "недостаточно фактических параметров". Галочку "возможен пустой параметр" у web-сервиса поставил, параметр передаю с типом Неопределено. В чем еще может быть проблема?
Есть 2 базы УНФ обмениваются остатками через Web-сервис. Одна делает запрос к другой и получает остатки двумя способами:
1) По кнопке на форме элемента номенклатуры (передает параметр с артикулом номенклатура)
2) Регламентным заданием (не передает никаких параметров, должно получать остатки по всей номенклатуре)
Первый способ работает отлично, а вот второй пишет ошибку "недостаточно фактических параметров". Галочку "возможен пустой параметр" у web-сервиса поставил, параметр передаю с типом Неопределено. В чем еще может быть проблема?
По теме из базы знаний
- Универсальный обмен данными XML через web-сервисы
- Передача большого количества объектов через Web-сервисы
- WS Black Hole by EvilGrym. Универсальный обмен через SOAP, вместо прямого соединения через COM, V83.Application и т.п.
- МС:Автообмен - автоматическая настройка и запуск обменов между базами 1С по расписанию
- Универсальный обмен данными (UDE Ver.3.x.x)
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2)
Вот функция на вебсервисе: Функция ПолучитьОстаткиНоменклатуры(Код=Неопределено)
Если Код = Неопределено Тогда
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЗапасыНаСкладахОстатки.Номенклатура.Код КАК НоменклатураКод,
| ЗапасыНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстаток
|ИЗ
| РегистрНакопления.ЗапасыНаСкладах.Остатки(&Дата, ) КАК ЗапасыНаСкладахОстатки";
Запрос.УстановитьПараметр("Дата", ТекущаяДата());
РезультатЗапроса = Запрос.Выполнить().Выгрузить();
Возврат Новый ХранилищеЗначения(РезультатЗапроса);
Иначе
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЗапасыНаСкладахОстатки.Номенклатура.Код КАК НоменклатураКод,
| ЗапасыНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстаток
|ИЗ
| РегистрНакопления.ЗапасыНаСкладах.Остатки(&Дата, Номенклатура.Код = &Код) КАК ЗапасыНаСкладахОстатки";
Запрос.УстановитьПараметр("Дата", ТекущаяДата());
Запрос.УстановитьПараметр("Код", Код);
РезультатЗапроса = Запрос.Выполнить().Выгрузить();
Возврат Новый ХранилищеЗначения(РезультатЗапроса);
КонецЕсли;
КонецФункции
Показать
(8)Еще вариант, при запросе всех значений, задайте служебное значения для параметра Код.
Например, "[ПО_ВСЕМ_КОДАМ]", и передавайте его из рег.задания, вместо Неопределено.
А на стороне второй базы проверяйте параметр код - что это обычное значение или служебное.
Например, "[ПО_ВСЕМ_КОДАМ]", и передавайте его из рег.задания, вместо Неопределено.
А на стороне второй базы проверяйте параметр код - что это обычное значение или служебное.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот