Top.Mail.Ru
онлайн-митап
19 декабря в 17:00 МСК
Матрица компетенций: как инструмент для развития разработчика

Зачем нужно свойство РежимКомпоновкиДанных у объекта СхемаЗапроса на примере динамического списка

В последнее время при изменении динамического списка, я использую объект «СхемаЗапроса». Это работает это так:

СхемаЗапроса = Новый СхемаЗапроса;
СхемаЗапроса.УстановитьТекстЗапроса(Список.ТекстЗапроса);

ИндПоследнегоПакета = СхемаЗапроса.ПакетЗапросов.Количество() - 1;
ТекушийПакетЗапросов = СхемаЗапроса.ПакетЗапросов[ИндПоследнегоПакета];
...Тут работаем со схемой...
Список.ТекстЗапроса = СхемаЗапроса.ПолучитьТекстЗапроса();

Случилось так, что у меня пропал отбор по одному полю. При анализе обнаружил, что при выгрузке через СхемаЗапроса.ПолучитьТекстЗапроса() ломается кусок предназначенный для компоновки данных.
Вместо:

{ГДЕ
  (ИСТИНА В
      (ВЫБРАТЬ ПЕРВЫЕ 1
        ИСТИНА
      ИЗ
        РегистрСведений.СоставДокументовЗарплатаКадры КАК СоставДокументовЗарплатаКадры
      ГДЕ
        СоставДокументовЗарплатаКадры.ФизическоеЛицо = &ФизическоеЛицо
        И ЖурналДокументовПриемыПереводыУвольнения.Ссылка = СоставДокументовЗарплатаКадры.ДокументФизическогоЛица))}

Получается:

{ГДЕ
  (ИСТИНА В
      (ВЫБРАТЬ ПЕРВЫЕ 1
        ИСТИНА
      ИЗ
        РегистрСведений.СоставДокументовЗарплатаКадры КАК СоставДокументовЗарплатаКадры
      ГДЕ
        СоставДокументовЗарплатаКадры.ФизическоеЛицо = &ФизическоеЛицо
        И ЖурналДокументовПриемыПереводыУвольнения.Ссылка = СоставДокументовЗарплатаКадры.ДокументФизическогоЛица)) КАК Поле2}

И конечно же, пропадает отбор «ФизическоеЛицо». Свойство «РежимКомпоновкиДанных» необходимо, чтобы избежать это (устанавливать в «Истина»).

СхемаЗапроса = Новый СхемаЗапроса;
СхемаЗапроса.РежимКомпоновкиДанных = Истина;
СхемаЗапроса.УстановитьТекстЗапроса(Список.ТекстЗапроса);

Comments

So empty here ... leave a comment!

Добавить комментарий

Sidebar