Имя: Пароль:
1C
1С v8
Поля отбора
0 Feunoir
 
26.02.14
15:52
Медитирую над кодом ERP 2.0, не могу понять смысл конструкции

ПоляОтбора = ПостроительЗапроса.Отбор.ПолучитьДоступныеПоля();
ПостроительЗапроса.Отбор.УстановитьДоступныеПоля(ПоляОтбора);

Находится в модуле менеджера справочника ДоговорыКредитовИДепозитов. Функция ОплатыЗаПериод.

Зачем устанавливать доступные поля отбора только что полученными доступными полями того же самого отбора.
1 vicof
 
26.02.14
15:53
(0) Прикольно
2 grigo
 
26.02.14
15:55
а потом скажут - стоит дорого, потому что кода много )))
3 Defender aka LINN
 
26.02.14
15:57
Как вариант - вычистить лишние
4 VikingKosmo
 
26.02.14
16:16
Еще вариант - убрать все поля отбора, добавленные пользователем.
5 HEKPOH
 
26.02.14
16:59
(4) не вариант. ПолучитьДоступныеПоля() получит и поля, добавленные пользователем
6 Naumov
 
26.02.14
17:12
Возможно так сбрасывают установленные ранее отборы
7 HEKPOH
 
26.02.14
17:29
(6) Из СП: "Устанавливает коллекцию полей, доступных для отбора", т.е. не отборы
8 Naumov
 
26.02.14
18:28
(7) Интуичу, что установленные значения отборов при этом таки сбросятся.
9 Feunoir
 
26.02.14
18:52
Ну так самое интересное, что построитель запроса свежесозданный. Вот весь текст функции до этого момента:


Функция ОплатыЗаПериод(ДатаНачала, ДатаОкончания, Договоры, Контрагенты)
    
    ТекстЗапроса = ТекстЗапросаПоОплатам();
    
    ПостроительЗапроса = Новый ПостроительЗапроса(ТекстЗапроса);
    ПостроительЗапроса.Параметры.Вставить("ДатаНачала", ДатаНачала);
    ПостроительЗапроса.Параметры.Вставить("ДатаОкончания", ДатаОкончания);
    ПостроительЗапроса.Параметры.Вставить("ВалютаРегл",Константы.ВалютаРегламентированногоУчета.Получить());
    ПоляОтбора = ПостроительЗапроса.Отбор.ПолучитьДоступныеПоля();
    ПостроительЗапроса.Отбор.УстановитьДоступныеПоля(ПоляОтбора);


Надо попробовать отладчиком пройтись. Может будет видно.
10 Feunoir
 
26.02.14
19:06
Не видно. И до установки, и после доступные поля и отбор выглядят совершенно одинаково. Видимо просто аномалия, или в 1С используют какую-нибудь систему автоматической генерации/модификации текста программы.