Имя: Пароль:
1C
1С v8
СКД . Выбор значений параметров не из выпадающего списка, а по кнопке выбора.
0 Re_agent
 
31.08.18
13:02
Всем привет. Подскажите как можно "переопределить" способ выбора значений параметров в форме отчета на СКД, чтобы значения можно было бы выбирать стандартной кнопкой выбора?
1 Cyberhawk
 
31.08.18
13:03
Находишь нужный элемент управления...
2 Cyberhawk
 
31.08.18
13:04
(элемент формы, если в терминологии УФ)
3 Re_agent
 
31.08.18
13:12
(1) можно подробнее, я в УФ новичок. Добавляю форму отчета, в ней ПриСозданииНаСервере() ищу элемент управления? Попробовал, в коллекции Элементы не вижу моего поля отбора. (((
4 Cyberhawk
 
31.08.18
13:13
Можно и без добавления формы отчета - кошернее использовать общую форму отчета (что в корне конфигурации указана). Правда в этом случае для такой тесной интеграции придется попотеть.
5 Re_agent
 
31.08.18
13:26
а можно где-нибудь посмотреть пример кода по работе с элементами формы, связанными с элементами отбора компоновки данных?
6 Re_agent
 
08.09.18
13:13
(5) Форма отчета генерирует наименования полей выбора, связанных с полями компоновщика данных по следующему принципу:
- для полей значений параметров: "ЗначениеПараметраНастроек_Значение_" + Идентификатор пользовательской настройки из компоновщика настроек, без разделителей "-"

- для полей значений отборов:
"ЭлементОтбора_Значение_" + Идентификатор пользовательской настройки из компоновщика настроек, без разделителей "-".
Таким образом, если в УТ11.3, ERP 2.2 и "родственных" конфигурациях надо программно дополнить возможности полей выбора параметров или отборов в быстрых настройках СКД, копируешь общую форму ФормаОтчета в сам отчет (чтоб не нарушать кашрут ;)), и в процедуре БыстрыеНастройкиСоздатьЭлементыУправленияИЗагрузитьЗначения(ПараметрыЗаполнения, Информация) программно оформляешь поля на форме, как хочешь. Пример кода:
<pre>
    ИдПоляИзделия = Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("ИсходноеИзделие").ИдентификаторПользовательскойНастройки;
    ЭлементФормыИзделие = Элементы.Найти("ЗначениеПараметраНастроек_Значение_"+СтроковыеФункцииКлиентСервер.ЗаменитьОдниСимволыДругими("-",ИдПоляИзделия,""));
    Если НЕ ЭлементФормыИзделие = Неопределено Тогда
        ЭлементФормыИзделие.КнопкаОткрытия = Истина;
        ЭлементФормыИзделие.КнопкаВыбора = Истина;
    КонецЕсли;    
    
    ИдПоляПодразделение = Отчет.КомпоновщикНастроек.Настройки.Отбор.Элементы[0].ИдентификаторПользовательскойНастройки;
    ЭлементФормыПодразделение = Элементы.Найти("ЭлементОтбора_Значение_"+СтроковыеФункцииКлиентСервер.ЗаменитьОдниСимволыДругими("-",ИдПоляПодразделение,""));
    Если НЕ ЭлементФормыИзделие = Неопределено Тогда
        ЭлементФормыПодразделение.КнопкаОткрытия = Истина;
        ЭлементФормыПодразделение.КнопкаВыбора = Истина;
    КонецЕсли;

</pre>
7 Cyberhawk
 
12.09.18
17:31
"копируешь общую форму ФормаОтчета в сам отчет" // Эх ты, не осилил тесную интеграцию внешнего (подключаемого) отчета с формой отчета конфигурации...
AdBlock убивает бесплатный контент. 1Сергей