Отбор СКД

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 101 22.07.21 08:58 Сейчас в теме
(1)отборы делаются на странице "Настройки", во вкладке "Отборы", добавьте отбор какой нужно, затем дмякните на него ПКМ(правой кнопкой мышки), и поставьте галку выводить в пользовательские настройки.
3. aritochka777 22.07.21 09:14 Сейчас в теме
(2)Мне не нужно в пользовательские настройки.
Мне их надо сразу в скд сделать, чтобы отчет формировался сразу понимая эти отборы
4. M_A_D 101 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С
Казань
зарплата от 100 000 руб.
Полный день

Архитектор 1С
Пермь
зарплата до 200 000 руб.
Полный день

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

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

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