Отбор СКД

1. 22.07.21 08:54 Сейчас в теме
Проблема с отчетом.
Помогите, пжл.
Как настроить СКД, чтобы в отчете выводились строки по Контрагенту1, если значение ресурса1 не заполнено.
Если значение Ресурс1 заполнено, то строка Котрагент1 не выводится в отчет.
Если в окошке настроек эти отборы прописать, то все хорошо получается.
Но это желательно сделать в конфигураторе, чтобы пользователь не ковырял эти настройки с отборами, т.к. далее возможно пользователь будет накладывать свои доп отборы.

Где в СКД явно указать отбор по КОНТРАГЕНТ1?
Найденные решения
6. soft_wind 22.07.21 10:46 Сейчас в теме
попробуйте такой вариант
в запросе СКД добавьте явное услове

1.
...
Где
Реквизит1 = &Контрагент1
...

2.в параметрах, галочками добиться что бы параметр НЕОтображался в настройках отчета

3. в модуль отчета добавить процедуру
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
	
	НастройкиОтчета = КомпоновщикНастроек.ПолучитьНастройки();
	лкКонтрагент = Справочники.Контрагенты.ПолучитьСсылку(Новый УникальныйИдентификатор("СюдаВставитьСтрокуГУИД_нужногоКонтрагента"));
	НастройкиОтчета.ПараметрыДанных.УстановитьЗначениеПараметра("Контрагент1", лкКонтрагент);
	
	КомпоновщикНастроек.ЗагрузитьНастройки(НастройкиОтчета);
	
КонецПроцедуры
Показать



теперь у вас всегда при выполнении отчета будет подставляться указанный контрагент
Остальные ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. M_A_D 110 22.07.21 08:58 Сейчас в теме
(1)отборы делаются на странице "Настройки", во вкладке "Отборы", добавьте отбор какой нужно, затем дмякните на него ПКМ(правой кнопкой мышки), и поставьте галку выводить в пользовательские настройки.
3. aritochka777 22.07.21 09:14 Сейчас в теме
(2)Мне не нужно в пользовательские настройки.
Мне их надо сразу в скд сделать, чтобы отчет формировался сразу понимая эти отборы
4. M_A_D 110 22.07.21 09:21 Сейчас в теме
(3) ну в таком случае там же и настройте их, и не выводите на форму....
ОТвет не меняется, просто не ставьте галку о которой я написал
5. aritochka777 22.07.21 09:39 Сейчас в теме
(4)Это понятно, как в скд явно указать какой контрагент, ссылку на него?
Вот нигде не могу найти?
6. soft_wind 22.07.21 10:46 Сейчас в теме
попробуйте такой вариант
в запросе СКД добавьте явное услове

1.
...
Где
Реквизит1 = &Контрагент1
...

2.в параметрах, галочками добиться что бы параметр НЕОтображался в настройках отчета

3. в модуль отчета добавить процедуру
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
	
	НастройкиОтчета = КомпоновщикНастроек.ПолучитьНастройки();
	лкКонтрагент = Справочники.Контрагенты.ПолучитьСсылку(Новый УникальныйИдентификатор("СюдаВставитьСтрокуГУИД_нужногоКонтрагента"));
	НастройкиОтчета.ПараметрыДанных.УстановитьЗначениеПараметра("Контрагент1", лкКонтрагент);
	
	КомпоновщикНастроек.ЗагрузитьНастройки(НастройкиОтчета);
	
КонецПроцедуры
Показать



теперь у вас всегда при выполнении отчета будет подставляться указанный контрагент
7. aritochka777 22.07.21 10:58 Сейчас в теме
(6) Сейчас буду пробовать
Скажите, а эти программные настройки в целом для всего отчета или можно как-то только для одного из вариантов указать?
8. soft_wind 22.07.21 11:12 Сейчас в теме
конкретно этот пример для всех вариантов отчета,
но можно добавить проверки на текущее имя варианта
(вообще кучу проверок на все что надо)
Оставьте свое сообщение
Вопросы с вознаграждением
Вакансии
Программист 1С
Новосибирск
зарплата от 90 000 руб.
Полный день

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

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

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

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