Имя: Пароль:
1C
1С v8
Управляемые формы + Схема компоновки данных
0 guitar_player
 
27.01.12
06:19
Всем привет. Подскажите пожалуйста, как было бы удобней хранить схему компоновки данных в реквизите справочника и редактировать ее интерактивно? Есть варианты?
1 Wobland
 
27.01.12
06:23
хранить в макете, ведь это макет. а вот редактировать...
2 Wobland
 
27.01.12
06:24
ну или в XML хранить...
3 guitar_player
 
27.01.12
08:19
(1) Видел УТ11? там как то было реализовано для типов цен - в алгоритме подбора. Жаль, что при себе ее нет и достать посмотреть сейчас неоткуда. В принципе нужна такая же доработка...
4 guitar_player
 
27.01.12
08:19
(1) задача дать возможность в пользовательском режиме настравить схему компоновки данных для каждого элемента справочника отдельно
5 Wobland
 
27.01.12
08:24
справочник ВидыЦен, реквизит СхемаКомпоновкиДанных, тип ХЗ
6 Wobland
 
27.01.12
08:25
&НаКлиенте
Процедура КонструкторСхемыКомпоновкиДанных(Команда)
   
   #Если ВебКлиент ИЛИ ТонкийКлиент Тогда
       Предупреждение(НСтр("ru = 'Настройка схемы компоновки данных для расчета цен по данным информационной базы может быть осуществлена только в режиме толстого клиента.'"));
   #Иначе
       СКД = ?(ЗначениеЗаполнено(СхемаКомпоновкиДанных), СхемаКомпоновкиДанных.Получить(), Неопределено);
       Если СКД = Неопределено Тогда
           СКД = СформироватьНовуюСхемуКомпоновкиДанных();
       КонецЕсли;
       
       КСКД = Новый КонструкторСхемыКомпоновкиДанных(СКД);
       КСКД.Редактировать(ЭтаФорма);
   #КонецЕсли

КонецПроцедуры // КонструкторСхемыКомпоновкиДанных()
7 Wobland
 
27.01.12
08:25
&НаСервере
Функция СформироватьНовуюСхемуКомпоновкиДанных()
   
   СКД                         = Новый СхемаКомпоновкиДанных;
   Источник                    = СКД.ИсточникиДанных.Добавить();
   Источник.Имя                = "ИсточникДанныхЦеныНоменклатуры";
   Источник.ТипИсточникаДанных = "Local";
   НаборДанных                 = СКД.НаборыДанных.Добавить(Тип("НаборДанныхЗапросСхемыКомпоновкиДанных"));
   НаборДанных.Имя             = "ЦеныНоменклатуры";
   НаборДанных.Запрос          = "
       |ВЫБРАТЬ
.....
8 guitar_player
 
27.01.12
08:34
(6) вот оно! отлично, спасибо большое. не нашел в сп)