как установить отбор скд при открытие

1. Raideres 8 13.04.21 13:25 Сейчас в теме
Пытаюсь добавить свой отбор при открытие отчета по кнопке

&НаКлиенте
Процедура ОтчетПоЧекамТерминал(Команда)
	
    
    ПользовательскиеНастройки = ПолучитьПараметрыОткрытияОтчета();
       

	ПараметрыОтчета = Новый Структура; 
	ПараметрыОтчета.Вставить("ИмяОтчета"               , "ОтчетПоЧекам");
	ПараметрыОтчета.Вставить("СформироватьПриОткрытии" , Истина);
	ПараметрыОтчета.Вставить("КлючВарианта", "ОтчетПоЧекам");
	ПараметрыОтчета.Вставить("КлючПользовательскихНастроек", Неопределено);
    ПараметрыОтчета.Вставить("ПользовательскиеНастройки", ПользовательскиеНастройки);

	ОткрытьФорму("Отчет.ОтчетПоЧекам.Форма",ПараметрыОтчета);	

КонецПроцедуры





&НаСервереБезКонтекста
Процедура УстановитьЭлементПользовательскогоОтбораСКД(КомпоновщикНастроек, ВидСравнения, ИмяПоля, Значение)
	
	ПользовательскийОтбор = КомпоновщикНастроек.ПользовательскиеНастройки.Элементы.Найти(
		КомпоновщикНастроек.Настройки.Отбор.ИдентификаторПользовательскойНастройки);
	
	ЭлементОтбораПользовательский =  ПользовательскийОтбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
	
	ЭлементОтбораПользовательский.ИдентификаторПользовательскойНастройки = Новый УникальныйИдентификатор();
	ЭлементОтбораПользовательский.ВидСравнения = ВидСравнения;
	ЭлементОтбораПользовательский.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(ИмяПоля);
	ЭлементОтбораПользовательский.ПравоеЗначение = Значение;
	ЭлементОтбораПользовательский.Использование = Истина;

КонецПроцедуры


&НаСервереБезКонтекста
Функция ПолучитьПараметрыОткрытияОтчета()
	
	ОтчетОбъект = Отчеты["ОтчетПоЧекам"].Создать();
	
	КомпоновщикНастроек = ОтчетОбъект.КомпоновщикНастроек;
	
	УстановитьЭлементПользовательскогоОтбораСКД(КомпоновщикНастроек, ВидСравненияКомпоновкиДанных.Равно, 
		"Чек.Оплата.Вид оплаты", Справочники.ВидыОплатЧекаККМ.НайтиПоНаименованию("Наличные"));
						
	Возврат КомпоновщикНастроек.ПользовательскиеНастройки;

КонецФункции
Показать
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Nubsdale 13.04.21 13:46 Сейчас в теме
А можно скрин результата
3. Raideres 8 13.04.21 13:53 Сейчас в теме
(2)Нашел ошибку что то сразу и не заметил
ЧекККМ.Оплата.ВидОплаты

УстановитьЭлементПользовательскогоОтбораСКД(КомпоновщикНастроек, ВидСравненияКомпоновкиДанных.Равно,
"Чек.Оплата.Вид оплаты", Справочники.ВидыОплатЧекаККМ.НайтиПоНаименованию("Наличные"));
4. Nubsdale 13.04.21 13:55 Сейчас в теме
5. Raideres 8 13.04.21 13:56 Сейчас в теме
6. Raideres 8 13.04.21 14:15 Сейчас в теме
(4)единственное а как то можно поменять группировки в отчете скд при открытии?
7. Nubsdale 13.04.21 14:17 Сейчас в теме
(6) я обычно конструктором пользуюсь. но надо быть аккуратным - потому что старые настройки меняются
8. Raideres 8 13.04.21 14:19 Сейчас в теме
(7)что за конструктор ????
9. SlavaKron 13.04.21 14:23 Сейчас в теме
(6) Если программно, то добавлять/удалять/изменять элементы в Настройки.Структура.
10. Raideres 8 13.04.21 14:30 Сейчас в теме
(9)подскажите как предать данные??
11. SlavaKron 13.04.21 14:32 Сейчас в теме
(10) Можно так же как отбор - в пользовательских настройках.
12. Raideres 8 13.04.21 14:43 Сейчас в теме
(11)извините но не получается как с отбором обратится по
ПользовательскиеНастройки = КомпоновщикНастроек.ПользовательскиеНастройки.Элементы.Найти(
КомпоновщикНастроек.Настройки.ИдентификаторПользовательскойНастройки);


первый раз меняю группировку помогите пожалуйста
13. Raideres 8 13.04.21 15:37 Сейчас в теме
(12)нашел откуда ноги идут
ПараметрыОтчета.Вставить("Вариант", настройки);
14. starik-2005 3039 13.04.21 17:24 Сейчас в теме
ПараметрыОтчета.Вставить("Отбор" , Новый Структура("ПолеОтбора", ЗначениеОтбора));
Для простых вариантов должно работать, для сложных ("не", "не в списке", ...) так просто не сделать, ибо настройки даже если и передаются, то не открываются...
15. Raideres 8 13.04.21 20:07 Сейчас в теме
(14)такой вариант сразу отбросил т.к. скрывает быстрые настройки от пользователя
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот