Нужно сделать выборку заказов поставщику с условием, что номенклатура услуги и при этом в качестве основы использовать другую выборку по заказу покупателя. последняя в запросе как ПроектОплаты[Номер] приходит.
Выборка дает всегда "Ошибка чтения значения". При этом в конструкторе отрабатывает на ура
Выборка дает всегда "Ошибка чтения значения". При этом в конструкторе отрабатывает на ура
Функция РасчетДопРасходов(ПроектОплаты)
//СуммаДопРасходов = Новый Массив(КоличествоОплат);
СуммаДопРасходов = Новый Массив(ПроектОплаты.Количество());
лТекст = "ВЫБРАТЬ
| ЗаказПоставщику.Ссылка КАК Ссылка,
| ЗаказПоставщику.СуммаДокумента КАК СуммаДокумента
|ИЗ
| Документ.ЗаказПоставщику КАК ЗаказПоставщику
|ГДЕ
| ЗаказПоставщику.Товары.Номенклатура.ВидНоменклатуры = &ВидНоменклатуры
| И ЗаказПоставщику.Проведен
| И ЗаказПоставщику.ДокументОснование = &ДокументОснование // вариант один
| И ЗаказПоставщику.ДокументОснование.Ссылка = &Ссылка"; // вариант два
лЗапрос = Новый Запрос(лТекст);
// Присвоение значений переменным параметров.
ВидНоменклатуры = Справочники.ВидыНоменклатуры.НайтиПоНаименованию("Услуги"); // Услуги ()
лЗапрос.УстановитьПараметр("ВидНоменклатуры", ВидНоменклатуры);
Проведен = Истина;
Для Номер = 0 По ПроектОплаты.Количество() - 1
Цикл
ДокументОснование = ПроектОплаты[Номер]; // передаем в параметр заказ клиента
// Установка параметров.
лЗапрос.УстановитьПараметр("ДокументОснование", ДокументОснование);
лВыборка = лЗапрос.Выполнить().Выбрать();
Пока лВыборка.Следующий() Цикл
СуммаДопРасходов[Номер] = лВыборка.СуммаДокумента;
КонецЦикла;
КонецЦикла;
Возврат СуммаДопРасходов;
КонецФункции
ПоказатьПо теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
очень странный код. вы засовываете в массив СуммаДопРасходов количество элементов коллекции ПроектОплаты. А вас всегда будет 1 элемент в массиве. А потом вы этот массив обходите. Зачем?
вы выполняете запрос в цикле, но параметры не меняете. тоже странно
я думаю даже если вы разберетесь с ошибкой, результата вы не получите
вы выполняете запрос в цикле, но параметры не меняете. тоже странно
я думаю даже если вы разберетесь с ошибкой, результата вы не получите
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот