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