Имя: Пароль:
1C
1С v8
Подскажите с программным заполнением для настроек построителя отчета
,
0 location
 
naïve
30.06.17
10:32
Добрый день уважаемые форумчане. Подскажите пож-та вызываю одну функцию программно, там есть такая проверка. Я так понял, что ОтборПоДоговорам это НастройкиПостроителяОтчета, подскажите как программно заполнить этот отбор там должно быть одно поле Договор Равно Значение
        
Если СтруктураПараметровАвто.Свойство("ОтборПоДоговорам") Тогда
            ОбработкаОбъект.ПостроительОтбораДоговоров.УстановитьНастройки(СтруктураПараметровАвто.ОтборПоДоговорам, Истина, Ложь, Ложь, Ложь, Ложь)
        КонецЕсли;
1 h-sp
 
30.06.17
10:44
(0) так и ищите там Договор. Зачем вам ОтборПоДоговорам?
2 location
 
naïve
30.06.17
10:46
(1) это структура автозаполнения, отборподоговорам это настройкипостроителяотчета, в эти настройки и надо добавить договор.
3 Гипервизор
 
30.06.17
10:50
Так добавьте программно элемент отбора построителя
4 location
 
naïve
30.06.17
11:04
(3) не получается

    Построитель = Новый ПостроительОтчета;
    строкаОтбора  = Построитель.Отбор.Добавить("Договор");    
    СтрокаОтбора.ВидСравнения = ВидСравнения.Равно;
    СтрокаОтбора.Значение =  Договор;
    СтрокаОтбора.Использование = Истина;
Ошибка при вызове метода контекста (Добавить)
Недопустимое значение параметра (параметр номер '1')
5 Buster007
 
30.06.17
11:07
Отбор (Filter)
Добавить (Add)
Синтаксис:

Добавить(<Описание>, <Имя>, <Представление>)
Параметры:

<Описание> (обязательный)

Тип: Строка.
Описание элемента отбора в виде наименования доступного поля или в виде развернутого пути.
Например, "Контрагент.Код", где "Контрагент" - одно из полей доступных для отбора.
<Имя> (необязательный)

Тип: Строка.
Имя элемента отбора. Если не задано, то имя задается автоматически по переданному в качестве первого параметра описанию.
<Представление> (необязательный)

Тип: Строка.
Пользовательское представление добавляемого элемента отбора.
Возвращаемое значение:

Тип: ЭлементОтбора; Неопределено.
Если добавить элемент отбора не удалось, то возвращает значение Неопределено.
Описание:

Добавляет элемент отбора по переданному описанию поля отбора в виде "пути".
Например, если среди доступных полей есть поле "Контрагент", то возможно добавление элемента отбора "Контрагент", "Контрагент.ТипКонтрагента", "Контрагент.ТипКонтрагента.Наименование" и т.д.
Внимание! Метод не доступен для отбора динамических списков (свойство Отбор объектов СправочникСписок.<Имя справочника>, ДокументСписок.<Имя документа> и т.д.).
6 location
 
naïve
30.06.17
11:20
мне в эту штуку ОтборПоДоговорам надо впихнуть НастройкуПостроителяОтчета.

я передаю структуру

    СтруктураПараметров.Вставить("СтруктураПараметровАвто"        ,Новый Структура("УчитыватьФактическиеЗадолженности, УчитыватьОперативныеЗадолженности, ПодбиратьСумму, СпособЗаполнения, СуммаДляПодбора, ПоЗаявкам, ПодбиратьПланируемыеДвижения, НеПревышатьЗапланированныхЗначений, ВключенныеВПлатежныйКалендарь, ПодборПоСуммеПлатежа, ОтборПоДоговорам", Истина, Ложь, ИСТИНА, "ФИФО",ДокументОбъект.СуммаДокумента,Ложь, Ложь, Ложь, ЛОЖЬ, Истина, "НастройкаПостроителя"));
7 location
 
naïve
30.06.17
11:22
далее передаю это в общий модуль
где в общем модуле уже и идет проверка
Если СтруктураПараметровАвто.Свойство("ОтборПоДоговорам") Тогда
            ОбработкаОбъект.ПостроительОтбораДоговоров.УстановитьНастройки(СтруктураПараметровАвто.ОтборПоДоговорам, Истина, Ложь, Ложь, Ложь, Ложь)
        КонецЕсли;
8 location
 
naïve
30.06.17
11:23
Интерактивно из обработки, на вкладке отбор я руками его могу заполнить, но надо программно.
9 location
 
naïve
30.06.17
11:24
(8) и передать его по структуре, в общем модуле я же ничего менять не буду, нужно просто ему передать правильные значения
10 location
 
naïve
30.06.17
11:54
подскажите что можно придумать.
11 h-sp
 
30.06.17
11:55
(9) ну ОтборПоДоговорам - это булево, истина или ложь. вам надо его поставить в истина.
12 Гипервизор
 
30.06.17
12:07
Может для начала поля установить?

ДоступныеПоляОтбора = Отбор.ПолучитьДоступныеПоля();
Поле = ДоступныеПоляОтбора.Добавить("Договор", "Договор",
    Новый ОписаниеТипов("СправочникСсылка.ДоговорыКонтрагентов"));
Поле.Отбор = Истина;
Отбор.УстановитьДоступныеПоля(ДоступныеПоляОтбора);