Зачем нужно свойство РежимКомпоновкиДанных у объекта СхемаЗапроса на примере динамического списка
В последнее время при изменении динамического списка, я использую объект «СхемаЗапроса». Это работает это так:
СхемаЗапроса = Новый СхемаЗапроса;
СхемаЗапроса.УстановитьТекстЗапроса(Список.ТекстЗапроса);
ИндПоследнегоПакета = СхемаЗапроса.ПакетЗапросов.Количество() - 1;
ТекушийПакетЗапросов = СхемаЗапроса.ПакетЗапросов[ИндПоследнегоПакета];
...Тут работаем со схемой...
Список.ТекстЗапроса = СхемаЗапроса.ПолучитьТекстЗапроса();
Случилось так, что у меня пропал отбор по одному полю. При анализе обнаружил, что при выгрузке через СхемаЗапроса.ПолучитьТекстЗапроса() ломается кусок предназначенный для компоновки данных.
Вместо:
{ГДЕ
(ИСТИНА В
(ВЫБРАТЬ ПЕРВЫЕ 1
ИСТИНА
ИЗ
РегистрСведений.СоставДокументовЗарплатаКадры КАК СоставДокументовЗарплатаКадры
ГДЕ
СоставДокументовЗарплатаКадры.ФизическоеЛицо = &ФизическоеЛицо
И ЖурналДокументовПриемыПереводыУвольнения.Ссылка = СоставДокументовЗарплатаКадры.ДокументФизическогоЛица))}
Получается:
{ГДЕ
(ИСТИНА В
(ВЫБРАТЬ ПЕРВЫЕ 1
ИСТИНА
ИЗ
РегистрСведений.СоставДокументовЗарплатаКадры КАК СоставДокументовЗарплатаКадры
ГДЕ
СоставДокументовЗарплатаКадры.ФизическоеЛицо = &ФизическоеЛицо
И ЖурналДокументовПриемыПереводыУвольнения.Ссылка = СоставДокументовЗарплатаКадры.ДокументФизическогоЛица)) КАК Поле2}
И конечно же, пропадает отбор «ФизическоеЛицо». Свойство «РежимКомпоновкиДанных» необходимо, чтобы избежать это (устанавливать в «Истина»).
СхемаЗапроса = Новый СхемаЗапроса;
СхемаЗапроса.РежимКомпоновкиДанных = Истина;
СхемаЗапроса.УстановитьТекстЗапроса(Список.ТекстЗапроса);
Comments
So empty here ... leave a comment!