у меня древняя УТ 10.3 и при каждом обновлении платформы слетает COM-connector.
мне это надоело и для своих внутренних обменов решил сделать через http-запрос.
тем более, что для платформы 8.3.25.1286 коннектор не хочет ставиться ни в какую от слова совсем
в обработчике http-сервиса делаю простой запрос к регистру накопления ТоварыНаСкладах
и каждый раз возвращает ошибку.
почитал много про разделение данных, создавал общий реквизит. ничего не помогает.
(3) Под каким пользователем http-сервис вызываете?
Может прав нет? Попробуйте в самом начале функции установить привилегированный режим, чтобы понять в правах дело или нет. И да, в полном тексте ошибки видно должно быть в чем причина.
(2){ОбщийМодуль.httpСервисПодключениеСервер.Модуль(9)}: Ошибка при вызове метода контекста (Выполнить)
на общем модуле стоит галка "Сервер" и "клиент обычное приложение"
где посмотреть про разделение в конфигурации?
функция получитьТаблицуОстатков(некаяДата) экспорт
мОстатков = новый массив;
запрос = Новый запрос;
запрос.текст = ПолучитьТекстЗапросаУПР();
запрос.УстановитьПараметр("ГруппаПиво","ПИВО");
запрос.УстановитьПараметр("ДатаАктуальности",конецДня(некаяДата));
результат = запрос.Выполнить();
выборка = результат.Выбрать();
пока выборка.Следующий() цикл
струк = новый Структура("СкладНаименование,НоменклатураКод,НоменклатураНаименование,КоличествоОстаток",выборка.СкладНаименование,выборка.НоменклатураКод,выборка.НоменклатураНаименование,выборка.КоличествоОстаток);
мОстатков.Добавить(струк);
конецЦикла;
возврат мОстатков;
конецФункции
Функция ПолучитьТекстЗапросаУПР()
ТекстЗапроса = "ВЫБРАТЬ
| ТоварыНаСкладахОстатки.СерияНоменклатуры.Владелец КАК Номенклатура,
| ТоварыНаСкладахОстатки.СерияНоменклатуры КАК СерияНоменклатуры,
| ТоварыНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстаток,
| ТоварыНаСкладахОстатки.Склад КАК Склад,
| ТоварыНаСкладахОстатки.СерияНоменклатуры.Владелец.Наименование КАК Наименование,
| ТоварыНаСкладахОстатки.СерияНоменклатуры.Владелец.Код КАК Код,
| ТоварыНаСкладахОстатки.Склад.Наименование КАК СкладНаименование
|ПОМЕСТИТЬ товарыСерии
|ИЗ
| РегистрНакопления.ТоварыНаСкладах.Остатки(&ДатаАктуальности, ) КАК ТоварыНаСкладахОстатки
|ГДЕ
| И ТоварыНаСкладахОстатки.Номенклатура.ЭтоГруппа = ЛОЖЬ
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| товарыСерии.СкладНаименование КАК СкладНаименование,
| товарыСерии.Код КАК НоменклатураКод,
| товарыСерии.Наименование КАК НоменклатураНаименование,
| СУММА(товарыСерии.КоличествоОстаток) КАК КоличествоОстаток
|ИЗ
| товарыСерии КАК товарыСерии
|
|СГРУППИРОВАТЬ ПО
| товарыСерии.Код,
| товарыСерии.Наименование,
| товарыСерии.СкладНаименование
|
|УПОРЯДОЧИТЬ ПО
| СкладНаименование,
| товарыСерии.Наименование";
возврат ТекстЗапроса;
КонецФункции
(3) Безотносительно разделения:
1. Отборы перенести в виртуальную таблицу, отбор по группе убрать.
2. Номенклатуру получать напрямик из измерения РС, а не делать скрытое левое соединение через СерияНоменклатуры.Владелец.
3. Зачем использовать временную таблицу? Группировку можно сделать сразу.
(3) Под каким пользователем http-сервис вызываете?
Может прав нет? Попробуйте в самом начале функции установить привилегированный режим, чтобы понять в правах дело или нет. И да, в полном тексте ошибки видно должно быть в чем причина.
(7) заработало с полными правами.
спасибо за наводку.
самые тупые ошибки ищутся дольше всего.
среди ролей пользователя не было прав на чтение регистра товары на складах и справочников номенклатура и склады