Имя: Пароль:
1C
1С v8
Выполнение запроса
☑
0 Pusto32
 
05.11.26
✎
06:22
ДатаЗапроса = КонецДня(Объект.ДатаНач);
    Пока ДатаЗапроса < КонецДня(Объект.ДатаКон)+1 Цикл
        
        Сообщить("Формируем запрос ...");
        
        ТЗТабл = Новый ТаблицаЗначений;
        ТЗТабл.Очистить();
        
        Запрос = Новый Запрос;
        Запрос.Текст =
        
         "ВЫБРАТЬ
         |    ВзаиморасчетыСКонтрагентамиТорг.Период,
         |    ВзаиморасчетыСКонтрагентамиТорг.Регистратор КАК Док,
         |    ВзаиморасчетыСКонтрагентамиТорг.Организация КАК Филиал,
         |    ВзаиморасчетыСКонтрагентамиТорг.Контрагент,
         |    ВзаиморасчетыСКонтрагентамиТорг.ДоговорКонтрагента,
         |    ВзаиморасчетыСКонтрагентамиТорг.Поставщик КАК Бренд,
         |    ВзаиморасчетыСКонтрагентамиТорг.Сумма
         |ИЗ
         |    РегистрНакопления.ВзаиморасчетыСКонтрагентамиТорг КАК ВзаиморасчетыСКонтрагентамиТорг
         |ГДЕ
         |    ВзаиморасчетыСКонтрагентамиТорг.Организация В(&СписокКомпаний)
         |    И ВзаиморасчетыСКонтрагентамиТорг.Контрагент В(&СписокКлиентов)
         //|    И ВзаиморасчетыСКонтрагентамиТорг.Период = &ДатаЗапроса
         |
         |СГРУППИРОВАТЬ ПО
         |    ВзаиморасчетыСКонтрагентамиТорг.Регистратор,
         |    ВзаиморасчетыСКонтрагентамиТорг.ДоговорКонтрагента,
         |    ВзаиморасчетыСКонтрагентамиТорг.Контрагент,
         |    ВзаиморасчетыСКонтрагентамиТорг.Поставщик,
         |    ВзаиморасчетыСКонтрагентамиТорг.Организация,
         |    ВзаиморасчетыСКонтрагентамиТорг.Период,
         |    ВзаиморасчетыСКонтрагентамиТорг.Сумма";
        
        ТЗТабл = Запрос.Выполнить().Выгрузить();
        
        ДатаЗапроса = КонецДня(ДатаЗапроса+1);
    КонецЦикла;


Через отладчик выдает "{(1)}: Ошибка при вызове метода контекста (Выполнить)"

Причем на форме СписокКомпаний и СписокКлиентов заполнены.

Переде запуском Запроса проверяю.
    Сообщить("Начало ...");
    Сообщить("Список филиалов - " + СписокКомпаний.Количество());
    Сообщить("Список клиентов - " + СписокКлиентов.Количество());

Результат:

Список филиалов - 1
Список клиентов 1414.

В консоли запроса все работает. В параметрах задал Список филиалов и в список клиентов внес одного клиента из списка.

Почему в консоли работает а так нет?
1 Asmody
 
05.11.26
✎
07:05
(0) он тебе заранее намекает, что за запрос в цикле тебя уволят
2 Гипервизор
 
05.11.26
✎
07:11
(0) Потому что в консоли "в параметрах задал". А в коде установку параметров запроса не вижу.
3 Pusto32
 
05.11.26
✎
07:33
(2) Спасибо