Имя: Пароль:
1C
1С v8
Компоновщик настроек компоновки данных в упр формах
,
0 Конфигуратор1с
 
23.08.13
11:28
В общем есть обработка. В ней нужно заполнить таблицу значений с помощью разного рода отборов. Разместил на форму компоношик настроек отбор, в обработку добавил Схему компоновки данных.
прописал в форме


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

в общем гляжу в отладчике настройки видно. достпуные полдя отбора видно. Но в таблицу на форме добавить отбор пытаюсь поля выбора пустые. смотрю в отладчике на клиенте - настроек нет. Правильно ли я понимаю. что настройки "остаются" на сервере и на клиент не передаются? и как тогда быть?
1 Конфигуратор1с
 
23.08.13
11:39
никто не пробовал такое?
2 RomaH
 
naïve
23.08.13
12:00
пробовал - вспомнить бы где и когда - поищи в моих темах
вроде был затык именно в использовании СКД/Компоновщика в обработке - типа в отчете можно, а в обработке нет
но точно уже не помню
3 banco
 
23.08.13
12:06
(0) так попробуй
СхемаКомпоновкиДанных = РеквизитФормыВЗначение("Объект").ПолучитьМакет("СхемаКомпоновкиДанных");
URLСхемы = ПоместитьВоВременноеХранилище(СхемаКомпоновкиДанных, Новый УникальныйИдентификатор());
ИсточникНастроек = Новый ИсточникДоступныхНастроекКомпоновкиДанных(URLСхемы);
КомпоновщикНастроек.Инициализировать(ИсточникНастроек);
КомпоновщикНастроек.ЗагрузитьНастройки(СхемаКомпоновкиДанных.НастройкиПоУмолчанию);
4 Конфигуратор1с
 
23.08.13
12:09
(3) спасибо. щас попробую
5 Конфигуратор1с
 
23.08.13
12:21
(3) спасибо огромное! Получилось!!
6 Bober
 
23.08.13
12:23
(3) можно без ПоместитьВоВременноеХранилище


CхемаКомпоновкиДанных = РеквизитФормыВЗначение("Объект").ПолучитьМакет("СхемаКомпоновкиДанных");
ИсточникНастроек = Новый ИсточникДоступныхНастроекКомпоновкиДанных(CхемаКомпоновкиДанных);
КомпоновщикНастроек.Инициализировать(ИсточникНастроек);
КомпоновщикНастроек.ЗагрузитьНастройки(СхемаКомпоновкиДанных.НастройкиПоУмолчанию);
7 banco
 
23.08.13
12:26
(6) если обычная форма, то можно, но у (0) УФ
8 Bober
 
23.08.13
12:43
(7) в УФ все тоже самое, это же все на сервере идет
9 Конфигуратор1с
 
23.08.13
15:31
(8) читай " Разместил на форму компоновшик настроек отбор, в обработку добавил Схему компоновки данных. " - то есть компоновщик на форме на клиенте, заполняю на сервере, а на клиенте данных нет(. так что тут только на основании урл но если делать на стороне сервера то подходит
10 Bober
 
23.08.13
15:35
(9) и что.
читай код в (3)
СхемаКомпоновкиДанных = РеквизитФормыВЗначение("Объект").ПолучитьМакет("СхемаКомпоновкиДанных");
Это значит что находимся уже на сервере в форме, далее
URLСхемы = ПоместитьВоВременноеХранилище(СхемаКомпоновкиДанных, Новый УникальныйИдентификатор());

говорит, о том, что СКД кладем во времянку, а зачем ее туда, если все равно на сервере.
11 Конфигуратор1с
 
23.08.13
15:42
(10) правильно, но компоновщик на клиенте не видит без хранилища полей выбора
12 Bober
 
23.08.13
15:46
(11) все происходит уже на сервере
13 Конфигуратор1с
 
23.08.13
15:52
(12) еще раз. я создаю обработку. добавляю реквизит - компоновщик настроек компоновки данных. вытягиваю на форму компоновщик.настройки.отбор. Прописываю код на сервере. на сервере все ок. выбранные поля отборы он видит. когда пытаюсь добавить в предприятии интерактивно элемент отбора он в выбранных полях показывает пусто, а выбранные в конфигураторе поля отбора пишет не обнаружено поле
14 Bober
 
23.08.13
16:01
(13) интересно
15 Конфигуратор1с
 
23.08.13
16:06
(14) вот вот. поэтому помогло только через урл