В начало

Программное изменение текста запроса

 

            Далее приведен листинг с примером программного изменения текста запроса.

 

Листинг. Пример

Функция ДокументыФизЛиц(Знач ФизЛицоСсылка, Знач НаименованиеДокумента)

            Запрос = Новый Запрос;

            Запрос.Текст =

                        "ВЫБРАТЬ

                        |          ДокументыФизическихЛиц.Физлицо КАК Физлицо,

                        |          ДокументыФизическихЛиц.ВидДокумента КАК ВидДокумента,

                        |          ДокументыФизическихЛиц.ВидДокумента.Наименование КАК НаименованиеДокумента,

                        |          ДокументыФизическихЛиц.Серия КАК Серия,

                        |          ДокументыФизическихЛиц.Номер КАК Номер,

                        |          ДокументыФизическихЛиц.ДатаВыдачи КАК ДатаВыдачи,

                        |          ДокументыФизическихЛиц.КемВыдан КАК КемВыдан,

                        |          ДокументыФизическихЛиц.КодПодразделения КАК КодПодразделения

                        |ИЗ

                        |          РегистрСведений.ДокументыФизическихЛиц КАК ДокументыФизическихЛиц

                        |ГДЕ

                        |          ДокументыФизическихЛиц.Физлицо = &Физлицо

                        |          И 1 = 1";

           

            Запрос.УстановитьПараметр("Физлицо", ФизЛицоСсылка);                   

            Если ЗначениеЗаполнено(НаименованиеДокумента) Тогда 

                        Запрос.Текст = СтрЗаменить(Запрос.Текст, "1 = 1", "ДокументыФизическихЛиц.ВидДокумента.Наименование = &НаименованиеДокумента");

                        Запрос.УстановитьПараметр("НаименованиеДокумента", НаименованиеДокумента);

            КонецЕсли;

           

            Результат = Запрос.Выполнить();

            Выборка = Результат.Выбрать();

           

            Пока Выборка.Следующий() Цикл

                        Если СтрНайти(Выборка.НаименованиеДокумента, НаименованиеДокумента) > 0 Тогда

                                   Возврат Результат.Выгрузить();

                        КонецЕсли;    

            КонецЦикла;

КонецФункции//ДокументыФизЛиц