Имя: Пароль:
1C
1С v8
вопрос по построителю отчета(параметры построителя отчета)
0 serg-lom89
 
22.01.18
09:34
добрый день


есть процедура инициализации построителя отчета

    Текст =
    
    
    "ВЫБРАТЬ
    |    Контрагенты.Ссылка КАК Контрагент
    |ПОМЕСТИТЬ Котрагенты
    |{ВЫБРАТЬ
    |    Контрагент.*}
    |ИЗ
    |    Справочник.Контрагенты КАК Контрагенты
    |ГДЕ
    |    НЕ Контрагенты.ЭтоГруппа
    |    И НЕ Контрагенты.ПометкаУдаления
    |    И Контрагенты.ОсновнойВидДеятельности.Код = 4
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    ДоговорыКонтрагентов.Владелец КАК Контрагент_ИмеетТипВыб
    |ПОМЕСТИТЬ Договоры
    |ИЗ
    |    Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
    |ГДЕ
    |    ДоговорыКонтрагентов.ВидУчетаДоговора = ЗНАЧЕНИЕ(Перечисление.ВидыУчетаДоговоров.Розничный)
    |    И ДоговорыКонтрагентов.ПометкаУдаления = ЛОЖЬ
    |    И ДоговорыКонтрагентов.Организация = &Организация
    |    И ДоговорыКонтрагентов.Актуальный = ИСТИНА
    |    И ДоговорыКонтрагентов.ОтражатьВБухгалтерскомУчете = ИСТИНА
    |    И ДоговорыКонтрагентов.ТипЦен = &ТипЦен
    |
    |СГРУППИРОВАТЬ ПО
    |    ДоговорыКонтрагентов.Владелец
    |
    |ИНДЕКСИРОВАТЬ ПО
    |    Контрагент_ИмеетТипВыб
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    Котрагенты.Контрагент КАК Контрагент
    |ИЗ
    |    Котрагенты КАК Котрагенты
    |        ЛЕВОЕ СОЕДИНЕНИЕ Договоры КАК Договоры
    |        ПО Котрагенты.Контрагент = Договоры.Контрагент_ИмеетТипВыб
    |ГДЕ
    |    Договоры.Контрагент_ИмеетТипВыб ЕСТЬ NULL
    |{ГДЕ
    |    Котрагенты.Контрагент.*}";
    
    Построитель.Текст = текст;
    
    Для Каждого Поле Из Построитель.ДоступныеПоля Цикл
        
          Представление = Неопределено;
        мСтруктураПредставлений.Свойство(Поле.Имя, Представление);
        Если Представление <> Неопределено Тогда
            Поле.Представление = Представление;
        КонецЕсли;    
    КонецЦикла;
    
    Построитель.Параметры.Вставить("Организация",         );
    Построитель.Параметры.Вставить("ТипЦен",         );
    
    
    Для Каждого Поле Из Построитель.ДоступныеПоля Цикл
        
        Если Поле.Отбор Тогда
            Построитель.Отбор.Добавить(Поле.Имя, Поле.Имя, Поле.Представление);
        КонецЕсли;
    КонецЦикла;


далее при выполнении построителя,точнее перед процедурой выполнения построителя,я подставляю параметры ,точнее из значения.

    Построитель.Параметры.Вставить("Организация",         типЦен.Организация);
    Построитель.Параметры.Вставить("ТипЦен",         типЦен);

и получается что при выполнении построителя появляется запись по моему отбору,а при выполнении текста построителя в консоли запросов это записи нету,что правильно.
Подсткажите что не так?не могу ни как разобраться.
1 serg-lom89
 
22.01.18
09:55
апну тему!)
2 FIXXXL
 
22.01.18
10:02
(1) в чем вопрос то? консоль не работает с {...}
3 Гипервизор
 
22.01.18
10:10
Не читал, но осуждаю.
И вообще зачем при инициализации нужны пустые параметры?
Достаточно указать текст и настройки:
ПостроительОтчета.Текст = "Тут пошел мега-запрос";
ПостроительОтчета.ЗаполнитьНастройки();
А уже при выполнении заполняйте параметры.
4 serg-lom89
 
22.01.18
10:17
(3) спасибо все получилось!)))
5 serg-lom89
 
22.01.18
10:18
тему можно закрывать!)
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс