Имя: Пароль:
1C
1С v8
Построитель и хранилище
0 Bibr
 
22.12.11
15:09
Хочу сделать реквизит справочника типа хранилище и сохранять в него построитель. Однако построитель не хочет сохраняться в Хранилище.
Сталкиваль? Можно как-то обойти?
1 Bibr
 
22.12.11
15:10
+(0) сталкивалИСь?
2 МихаилМ
 
22.12.11
15:12
массив тоже не сохраняется. вот беда.
3 Bibr
 
22.12.11
15:16
(2) а по делу?
4 Bibr
 
22.12.11
15:20
+(0)
В целом нужно сделать следующее. БП 8.2

У справочника есть реквизт типа Счет. Пользователь в форме справочника настраивает отборы по данному счету. Субконто, реквизиты субконто, доп св-ва.
Эти отборы необходимо сохранять для последующего использования в отборах отчета.

Вот и вопрос, как это хранить.
5 МихаилМ
 
22.12.11
15:29
(3)
по делу в 1с 8.2 есть несколько объектов(5), которые называются "построитель.."
формулируйте точнее.

по моему наблюдению, в ХранилищеЗначения (вы ведь его имели в виду)

можно сохранить объекты, которые можно сохранить
с помощью ЗначениеВСтрокуВнутр().
6 pumbaEO
 
22.12.11
15:30
когда то делал так.
ТЧ УсловияЗаполнения
Состав ТЧ
ИмяПоля - строка
ВидСравнения - строка
Значение - ссылки на возможные отборы.


Процедура ВосстановитьУсловияЗаполнения()
   
   СтрукураПолейНастройки = Новый Структура("Организация, Склад, Контрагент, СкладОтправитель, СкладПолучатель, Контрагент");
   Для каждого КлючЗначение Из СтрукураПолейНастройки Цикл

       ИмяПоля = КлючЗначение.Ключ;
       СтруктураПоиска = Новый Структура("ИмяПоля", ИмяПоля);
       
       СтрокиОтбора = УсловияЗаполнения.НайтиСтроки(СтруктураПоиска);
       Если СтрокиОтбора.Количество() > 0 Тогда
           ЭлементыФормы["ФлажокНастройки" + ИмяПоля].Значение = Истина;
           ЭлементыФормы["ПолеВидаСравнения" + ИмяПоля].Значение = ПолучитьВидОтбораПоСтроке(СтрокиОтбора[0].ВидСравнения);
           Если СтрокиОтбора.Количество() > 1 Тогда
               СписокЗначенийОтбора = Новый СписокЗначений;
               Для каждого СтрокаОтбора ИЗ СтрокиОтбора Цикл
                   СписокЗначенийОтбора.Добавить(СтрокаОтбора.Значение);
               КонецЦикла;
               ЭлементыФормы["ПолеНастройки" + ИмяПоля].Значение = СписокЗначенийОтбора;
           Иначе
               ЭлементыФормы["ПолеНастройки" + ИмяПоля].Значение = СтрокиОтбора[0].Значение;
           КонецЕсли;
       КонецЕсли;
   КонецЦикла;
   
КонецПроцедуры


как то так.
7 DmitrO
 
22.12.11
15:50
Построитель не сохраняется. Сохраняются НастройкиПостроителяОтчета.
8 Bibr
 
22.12.11
16:02
(6,7) спасибо
9 H A D G E H O G s
 
22.12.11
16:04
Не трогать Построитель, юзать сразу СКД, иначе последователи, монтирующее нетленку под Тонкого будут плакать кровавыми слезами.
10 Bibr
 
22.12.11
16:31
(9) блин, а как правильно это сделать?
Начало предполагаю такое:
СКД = новый СхемаКомпоновкиДанных;

как програмно добавить набор данных и запонить настройки чтоб пользователю в отборе на форме соответствующие субконто стали доступны?
11 Defender aka LINN
 
22.12.11
16:34
(10) Добавь к справочнику макет - схему компоновки. Там создай запрос и все, что тебе надо. А отбор будет в настройках КомпоновщикаНастроек, его в хранилище и клади.
12 H A D G E H O G s
 
22.12.11
17:36
Примерно так
http://zalil.ru/32346293
13 Axel2009
 
22.12.11
18:11
сохраняй настройки туда. а не построитель
14 Bibr
 
22.12.11
18:50
(12) Благодарю!!