#std768¶
Программное переопределение текстов запросов динамических списков¶
1.¶
Если текст запроса динамического списка переопределяется в коде, рекомендуется придерживаться правил ниже. Это нужно, чтобы:
- разработчики могли однозначно понять, что запрос переопределяется в коде конфигурации;
- не снижать производительность при открытии формы, установке текста запроса, основной таблицы и признака динамического считывания данных.
1.1.¶
В редакторе запроса динамического списка устанавливайте полноценный, наиболее часто выполняемый текст запроса (по умолчанию). Тогда в большинстве случаев при открытии формы не потребуется программная установка текста, которая снижает производительность.
Исключение: когда текст запроса собирается программно.
Правильно
Полноценный запрос:
1.2.¶
Псевдонимы таблиц должны заканчиваться постфиксом Переопределяемый,
чтобы визуально было заметно,
что запрос может переопределяться в коде конфигурации.
Правильно
1.3.¶
Установку текста запроса и основной таблицы
при первичной инициализации динамического списка
(в ПриСозданииНаСервере)
выполняйте до любого обращения к настройкам списка
(в том числе к параметрам).
В остальных случаях, если нужно менять текст запроса и основную таблицу, между этими действиями не обращайтесь к настройкам (можно до них или после).
При наличии БСП используйте процедуру
ОбщегоНазначения.УстановитьСвойстваДинамическогоСписка().
Это нужно для повышения производительности
и возможности автоматического сбора
переопределяемых текстов запросов динамических списков.
Правильно
СвойстваСписка = ОбщегоНазначения.СтруктураСвойствДинамическогоСписка();
СвойстваСписка.ОсновнаяТаблица = "Справочник.Номенклатура";
СвойстваСписка.ДинамическоеСчитываниеДанных = Истина;
СвойстваСписка.ТекстЗапроса = ТекстЗапроса;
ОбщегоНазначения.УстановитьСвойстваДинамическогоСписка(Элементы.Список,
СвойстваСписка);
Список.Параметры.УстановитьЗначениеПараметра("Параметр1", 42);
Неправильно
В этом случае производительность снижается,
потому что при изменении текста запроса или основной таблицы
сбрасывается источник доступных настроек,
а при обращении к Список.Параметры
источник инициализируется заново.
2.¶
Переопределяемые тексты запросов динамического списка можно размещать в любых модулях конфигурации, но текст запроса в динамическом списке должен точно совпадать с переопределяемым текстом запроса по умолчанию (наиболее часто используемым).
Этого можно добиться, например, так:
- изменить текст запроса по умолчанию в коде конфигурации;
- после изменения скопировать текст запроса в динамический список;
- или наоборот: изменить в динамическом списке и скопировать в код конфигурации.