|   |   | 
| 
 | СКД: Не устанавливается отбор в ПередЗагрузкойВариантаНаСервере | ☑ | ||
|---|---|---|---|---|
| 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) Спасибо огромное. Очень помогли
 Если кратенько то нужно непосредственно заряжать отбор параметра процедуры НовыеНастройкиКД И никаких прочих хитростей нет.... Для Каждого Отбор Из НовыеНастройкиКД.Отбор.Элементы Цикл Если Отбор.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Контрагент") Тогда Отбор.ПравоеЗначение = СпКонтрагентов; Отбор.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.БыстрыйДоступ; Отбор.Использование = ЛОЖЬ; //значения отбора предустановлены, но см отбор выключен ИначеЕсли Отбор.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ВидОперации") Тогда Отбор.ПравоеЗначение = СпВидовОпераций; Отбор.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.БыстрыйДоступ; КонецЕсли; Если Пользователи.ЭтоПолноправныйПользователь() Тогда Отбор.ИдентификаторПользовательскойНастройки = Новый УникальныйИдентификатор; КонецЕсли; КонецЦикла; 
 | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |