1. NatalkaBal 26 30.06.20 10:54 Сейчас в теме

Как программно перехватить запрос в СКД

Доброго времени суток. Возможно ли программно перехватить запрос СКД, для дальнейшего изменения его методом
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, " = &Организация", " в (&Организация)");
Найденные решения
5. MuxaH 30.06.20 11:09 Сейчас в теме
(3) Примерно так:
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
	СтандартнаяОбработка = Ложь;
СхемаКомпоновкиДанных.НаборыДанных.ОсновнойНабор.Запрос = "";//ТекстЗапроса, который надо модифицировать
	
	НастройкиОтч = КомпоновщикНастроек.ПолучитьНастройки();
	
	КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
	МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, НастройкиОтч, ДанныеРасшифровки);
	
	ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
	ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки, Истина);
	
	ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
	ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
	ПроцессорВывода.Вывести(ПроцессорКомпоновки, Истина);
	
КонецПроцедуры
Показать
NatalkaBal; +1 Ответить
11. toypaul 68 30.06.20 15:07 Сейчас в теме
Вот целую статью написал про это https://infostart.ru/public/1222743/
NatalkaBal; +1 Ответить
Остальные ответы
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
4. nomad_irk 47 30.06.20 11:06 Сейчас в теме
(1)Эта замена не имеет смысла, т.к. "в (&Организация)" будет работать в любом случае.
NatalkaBal; +1 Ответить
6. NatalkaBal 26 30.06.20 11:16 Сейчас в теме
(4)Тут планируется передавать список Организаций. Надо попробовать без изменения самого запроса в параметр вставить список
7. nomad_irk 47 30.06.20 11:25 Сейчас в теме
(6)Говорю ж, при "в (&Организация)" будет работать и в случае списка/массива и в случае единственной ссылки.
alex-l19041; +1 Ответить
8. NatalkaBal 26 30.06.20 12:19 Сейчас в теме
(7)ясно) но в запросе установлено = &Организация, а требуется в (&Организация). Меня чуток смутило
Эта замена не имеет смысла

СтрЗаменить(<Строка>, <ПодстрокаПоиска>, <ПодстрокаЗамены>)
9. nomad_irk 47 30.06.20 12:30 Сейчас в теме
(8)Исправьте текст запроса один раз или в чем сложность?
10. NatalkaBal 26 30.06.20 12:44 Сейчас в теме
(9)сложность в том чтобы не снимать конфигурацию с поддержки. Речь идет о статистической отчетности, которая постоянно меняется. И чтобы не менять постоянно запросы в СКД было решено попробовать перехватить запрос из изменить условия на список Организаций
2. MuxaH 30.06.20 10:56 Сейчас в теме
Возможно. В предопределенной процедуре модуля объекта отчета ПриКомпоновкеРезультата
3. NatalkaBal 26 30.06.20 11:03 Сейчас в теме
(2)Это я поняла что в этой процедуре надо. А вот как вопрос)
5. MuxaH 30.06.20 11:09 Сейчас в теме
(3) Примерно так:
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
	СтандартнаяОбработка = Ложь;
СхемаКомпоновкиДанных.НаборыДанных.ОсновнойНабор.Запрос = "";//ТекстЗапроса, который надо модифицировать
	
	НастройкиОтч = КомпоновщикНастроек.ПолучитьНастройки();
	
	КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
	МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, НастройкиОтч, ДанныеРасшифровки);
	
	ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
	ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки, Истина);
	
	ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
	ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
	ПроцессорВывода.Вывести(ПроцессорКомпоновки, Истина);
	
КонецПроцедуры
Показать
NatalkaBal; +1 Ответить
11. toypaul 68 30.06.20 15:07 Сейчас в теме
Вот целую статью написал про это https://infostart.ru/public/1222743/
NatalkaBal; +1 Ответить
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Автор новостных обзоров на тему 1С и бухучета
Санкт-Петербург
По совместительству

Программист 1С
Санкт-Петербург
зарплата до 150 000 руб.
Полный день

Программист 1С
Екатеринбург
зарплата от 80 000 руб. до 130 000 руб.
Полный день

Ведущий программист 1С
Москва
зарплата от 150 000 руб.
Полный день

Ведущий программист 1С (УТ 11)
Москва
зарплата до 200 000 руб.
Полный день