Имя: Пароль:
1C
 
Вставление "вручную" параметра запроса в построитель
, ,
0 Перелетный косяк
 
26.03.14
09:10
Туплю…
Есть простенький отчет в построителе, работающий с документами «СчетНаОплатуПокупателю».
Хочу вставить условие -  отбор по списку документов.
Сделать нормальный отбор в самом запросе условиями не представляется возможным по некоторым причинам (сложная комбинация условий), посему отсекаю ненужные документы через условие в запросе построителя:
И СчетНаОплатуПокупателюТовары.Ссылка В(&СписокДокументовСчетов)

В модуле добавляю параметр
Процедура ВыработкаМенеджеровВывести()

    ЭлементыФормы.ПолеТабличногоДокумента.Очистить();
    ПостроительОтчетаВыработкаМенеджеров.Параметры.Вставить("СписокДокументовСчетов", ПолучитьСписокПолностьюОплаченныхСчетов(ДатаНачала,ДатаОкончания));
    ПостроительОтчетаВыработкаМенеджеров.Параметры.Вставить("ДатаНачала", ДатаНачала);
    ПостроительОтчетаВыработкаМенеджеров.Параметры.Вставить("ДатаОкончания", ДатаОкончания);

    ПостроительОтчетаВыработкаМенеджеров.Выполнить();
    ПостроительОтчетаВыработкаМенеджеров.РазмещениеИзмеренийВСтроках = ТипРазмещенияИзмерений.Вместе;
    ПостроительОтчетаВыработкаМенеджеров.РазмещениеРеквизитовИзмеренийВСтроках = ТипРазмещенияРеквизитовИзмерений.Отдельно;
    ПостроительОтчетаВыработкаМенеджеров.РазмещениеРеквизитовИзмеренийВКолонках = ТипРазмещенияРеквизитовИзмерений.Отдельно;
    ПостроительОтчетаВыработкаМенеджеров.МакетОформления = ПолучитьМакетОформления(СтандартноеОформление.Песок);
    ПостроительОтчетаВыработкаМенеджеров.Вывести(ЭлементыФормы.ПолеТабличногоДокумента);

    //}}КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ_ПОСТРОИТЕЛЬОТЧЕТА_ВЫПОЛНИТЬ
КонецПроцедуры

///**************************************************
Сам запрос

ПостроительОтчетаВыработкаМенеджеров.Выполнить();

Построитель выполняет нормально, но При выполнении

ПостроительОтчетаВыработкаМенеджеров.Вывести (ЭлементыФормы.ПолеТабличногоДокумента);

{(10, 40)}: Неверные параметры
И СчетНаОплатуПокупателюТовары.Ссылка <<?>>В(&СписокДокументовСчетов)

ЧЯДНТ? Кроме того, что вся конструкция корявая и конечно лучше отбираться документами в самом запросе..
1 Defender aka LINN
 
26.03.14
09:17
(0) Перейти на СКД
2 butterbean
 
26.03.14
09:18
что там в &СписокДокументовСчетов ??
3 Перелетный косяк
 
26.03.14
09:21
(2) пробовал и Массив, и СписокЗначений

причем запрос-то выполняется, и в консоле запросов попробовал - работает

проблема именно во вставление "чужеродного" параметра в список параметров построителя
4 Ненавижу 1С
 
гуру
26.03.14
09:26
(3) уверен, что там массив или список значений?
5 Перелетный косяк
 
26.03.14
09:29
(4) да, уверен

пробовал даже проще -
И СчетНаОплатуПокупателюТовары.Ссылка = &(ДокументСчет),
и &(ДокументСчет) просто кидаю на форму
6 Перелетный косяк
 
26.03.14
09:29
(5)+ результат такой же
7 ptiz
 
26.03.14
09:37
Всё должно работать.
8 m-serg74
 
26.03.14
09:40
(5) [&(ДокументСчет)]

может и в тексте запроса пишешь:
В&(СписокДокуументов)

?
9 Перелетный косяк
 
26.03.14
09:44
(8) нет, пишу в (&СписокДОкументов)
10 Перелетный косяк
 
26.03.14
09:47
Еще раз что делаю по шагам
1. Конструктором выходной формы с нуля запрос, в запросе условие
СчетНаОплатуПокупателюТовары.Ссылка В(&СписокДокументовСчетов)

2. Экспортная функция в модуле обработки, которая возвращает Массив документов (проверял отладчиком - возвращает)

3. Параметр построителю
    ПостроительОтчетаВыработкаМенеджеров.Параметры.Вставить("СписокДокументовСчетов", ПолучитьСписокПолностьюОплаченныхСчетов(ДатаНачала,ДатаОкончания));
Еще раз - отладчиком на этой строке показывает реально что массив документов - есть.
11 Перелетный косяк
 
26.03.14
09:49
А как можно вызвать  ПолучитьСписокПолностьюОплаченныхСчетов(ДатаНачала,ДатаОкончания) как параметр в СКД?
12 m-serg74
 
26.03.14
10:01
(11) всё работает...

http://savepic.su/4213075.jpg
13 m-serg74
 
26.03.14
10:03
+ (12) значит тебе конструктор выходной формы что то добавил не то что тебе надобно
14 Defender aka LINN
 
26.03.14
10:23
(11) В СКД можно отборы делать несколько более сложные, чем в Построителе
Основная теорема систематики: Новые системы плодят новые проблемы.