|
СКД: Не устанавливается отбор в ПередЗагрузкойВариантаНаСервере | ☑ | ||
---|---|---|---|---|
0
bvb
22.01.25
✎
12:00
|
Добрый день
Использую ФормуОтчета Нужно предустановить в СКД отбор (фича в том, что это список значений, и в макете я это сделать не могу). Ну и естественно отбор должен отображаться в настройках формы отчета Делаю это в ПередЗагрузкойВариантаНаСервере : &НаСервере Процедура ПередЗагрузкойВариантаНаСервере(Форма, НовыеНастройкиКД) Экспорт КомпоновщикНастроекФормы = Форма.Отчет.КомпоновщикНастроек; СпВидовОпераций = Новый СписокЗначений; СпВидовОпераций.Добавить(Перечисления.ВидыОперацийРасходнаяНакладная.ПродажаПокупателю); СпВидовОпераций.Добавить(Перечисления.ВидыОперацийРасходнаяНакладная.ПередачаНаКомиссию); УстановитьЗначениеОтбора(КомпоновщикНастроекФормы.Настройки, "ВидОперации", СпВидовОпераций, ВидСравненияКомпоновкиДанных.ВСписке, ИСТИНА); НовыеНастройкиКД = КомпоновщикНастроекФормы.Настройки; КонецПроцедуры Процедура УстановитьЗначениеОтбора(Настройки, НазваниеОтбора, ЗначениеОтбора, ВидСравнения, Использование = ИСТИНА) Экспорт Для Каждого Элемент ИЗ Настройки.Отбор.Элементы Цикл Если Строка(Элемент.ЛевоеЗначение) = НазваниеОтбора Тогда Элемент.ВидСравнения = ВидСравнения; Элемент.ПравоеЗначение = ЗначениеОтбора ; Элемент.Использование = Использование; КонецЕсли; КонецЦикла; КонецПроцедуры Вроде все по феншую : 1. Процедура вызывается 2. Отбор устанавливается в КомпоновщикНастроекФормы.Настройки но в настройках ФормыОтчета отбор не появляется и при построении отчета не срабатывает Помогите пожалуйста - оченнно нужно |
|||
1
toypaul
22.01.25
✎
12:59
|
"Ну и естественно отбор должен отображаться в настройках формы отчета" если ну естественно, то видимо это не настройки варианта, а настройки пользователя
|
|||
2
DiFas
22.01.25
✎
15:12
|
Вы пробовали использовать типовые процедуры типа "ОбщегоНазначенияКлиентСервер.УстановитьПараметрДинамическогоСписка"? Или я не правильно понял вопрос?
|
|||
3
bvb
22.01.25
✎
15:22
|
(1) Так в инетрнетах прописано
Есть форма- у нее компоновщик настроек И заряжать типа нужно его. Так в примерах И именно в ПередЗагрузкойВариантаНаСервере (2) УстановитьПараметрДинамическогоСписка т.е. мне зарядить его нужно ? А компоновщик настроек СКД про это как узнает ? К тому же там нельзя задать вид сравнения Я конечно могу использовать ПриКомпоновкеРезультата но тогда на форме этот не отобразится... |
|||
4
rozer76
22.01.25
✎
17:49
|
А если в ПриЗагрузкеПользовательскихНастроекНаСервере?
Оно позже выполняется https://infostart.ru/1c/articles/2112355 |
|||
5
bvb
22.01.25
✎
18:22
|
(4) Я читал эту статью
Пробовал ПриЗагрузкеПользовательскихНастроекНаСервере НЕ работает ни так : УстановитьЗначениеОтбора(КомпоновщикНастроек.Настройки, "ВидОперации", СпВидовОпераций, ВидСравненияКомпоновкиДанных.ВСписке, ИСТИНА); НовыеПользовательскиеНастройкиКД = КомпоновщикНастроек.Настройки; ни так : УстановитьЗначениеОтбора(Форма.Отчет.КомпоновщикНастроек.Настройки, "ВидОперации", СпВидовОпераций, ВидСравненияКомпоновкиДанных.ВСписке, ИСТИНА); НовыеПользовательскиеНастройкиКД = Форма.Отчет.КомпоновщикНастроек.Настройки; |
|||
6
bvb
28.01.25
✎
12:47
|
Может, кто-то знает пример отчетов в типовых, где используется форма отчета и предустанавливаются настройки в базовом варианте отчета?
|
|||
7
DiMel_77
28.01.25
✎
13:15
|
(6) Пожалуйста - ЗУП Отчет "Результаты проверки учета"
ПодробностиПроцедура ПередЗагрузкойВариантаНаСервере(Форма, НовыеНастройкиКД) Экспорт Для Каждого Отбор Из НовыеНастройкиКД.Отбор.Элементы Цикл Если Отбор.ЛевоеЗначение <> Новый ПолеКомпоновкиДанных("Ответственный") Тогда Продолжить; КонецЕсли; ПравоеЗначениеОтбора = Отбор.ПравоеЗначение;// СписокЗначений ПравоеЗначениеОтбора.Добавить(Пользователи.ТекущийПользователь()); ПравоеЗначениеОтбора.Добавить(Справочники.Пользователи.ПустаяСсылка(), НСтр("ru = 'Без ответственного'")); Отбор.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.БыстрыйДоступ; Если Пользователи.ЭтоПолноправныйПользователь() Тогда Отбор.ИдентификаторПользовательскойНастройки = Новый УникальныйИдентификатор; КонецЕсли; КонецЦикла; |
|||
8
bvb
30.01.25
✎
15:20
|
(7) Спасибо огромное. Очень помогли
Если кратенько то нужно непосредственно заряжать отбор параметра процедуры НовыеНастройкиКД И никаких прочих хитростей нет.... Для Каждого Отбор Из НовыеНастройкиКД.Отбор.Элементы Цикл Если Отбор.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Контрагент") Тогда Отбор.ПравоеЗначение = СпКонтрагентов; Отбор.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.БыстрыйДоступ; Отбор.Использование = ЛОЖЬ; //значения отбора предустановлены, но см отбор выключен ИначеЕсли Отбор.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ВидОперации") Тогда Отбор.ПравоеЗначение = СпВидовОпераций; Отбор.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.БыстрыйДоступ; КонецЕсли; Если Пользователи.ЭтоПолноправныйПользователь() Тогда Отбор.ИдентификаторПользовательскойНастройки = Новый УникальныйИдентификатор; КонецЕсли; КонецЦикла;
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |