Внутрь запроса есть возможность внести изменения в определенных местах кода по определенному условию
Пример:
...
ТекстЗапроса =
"ВЫБРАТЬ
...
| РегистрНакопления.ТоварыКОтгрузке.Остатки(
| &ДатаОтгрузки,
| Склад = &Склад
|%ОтборОстатков%
| ) КАК РаспоряженияКОтгрузке
|
|ИНДЕКСИРОВАТЬ ПО
| ДокументОтгрузки
|;
...
|ПО
| Помещение";
Запрос = Новый Запрос;
Запрос.Текст = ТекстЗапроса;
// Заполним шаблоны в тексте запроса
Если СкладыСервер.НачинатьОтгрузкуПослеФормированияЗаданияНаПеревозку(Склад) Тогда
Запрос.Текст = СтрЗаменить(Запрос.Текст,
"%ОтборОстатков%",
" И ((НЕ ДокументОтгрузки ССЫЛКА Документ.РеализацияТоваровУслуг
| И НЕ ДокументОтгрузки ССЫЛКА Документ.ПеремещениеТоваров
| )
| ИЛИ
...
| ГДЕ
| ЗаданияНаПеревозку.СкладСовпадает))");
Иначе
Запрос.Текст = СтрЗаменить(Запрос.Текст,
"%ОтборОстатков%",
"");
КонецЕсли;
Пример:
...
ТекстЗапроса =
"ВЫБРАТЬ
...
| РегистрНакопления.ТоварыКОтгрузке.Остатки(
| &ДатаОтгрузки,
| Склад = &Склад
|%ОтборОстатков%
| ) КАК РаспоряженияКОтгрузке
|
|ИНДЕКСИРОВАТЬ ПО
| ДокументОтгрузки
|;
...
|ПО
| Помещение";
Запрос = Новый Запрос;
Запрос.Текст = ТекстЗапроса;
// Заполним шаблоны в тексте запроса
Если СкладыСервер.НачинатьОтгрузкуПослеФормированияЗаданияНаПеревозку(Склад) Тогда
Запрос.Текст = СтрЗаменить(Запрос.Текст,
"%ОтборОстатков%",
" И ((НЕ ДокументОтгрузки ССЫЛКА Документ.РеализацияТоваровУслуг
| И НЕ ДокументОтгрузки ССЫЛКА Документ.ПеремещениеТоваров
| )
| ИЛИ
...
| ГДЕ
| ЗаданияНаПеревозку.СкладСовпадает))");
Иначе
Запрос.Текст = СтрЗаменить(Запрос.Текст,
"%ОтборОстатков%",
"");
КонецЕсли;