Имя: Пароль:
1C
1С v8
ХранилищеЗначений на форме
0 1CVERYGOOD
 
25.09.15
12:04
УФ. В справочнике есть табличная часть. Один из ее реквизитов имеет тип ХранилищеЗначекний. На форме его устанавливать нельзя. Делаю так
ЭлементОбъектСправочник = РеквизитФормыВЗначение("Объект");
НомерСтроки = Элементы.Принадлежность.ТекущаяСтрока;
ЭлементОбъектСправочник.Принадлежность[НомерСтроки].Настройки = ...// тут хранилище значений

Данные записываются, но не сохраняются и не отображаются на форме. Видимо подход должен быть как то другой. Вопрос - какой ?
1 vhl
 
25.09.15
12:12
Элементы.Принадлежность.ТекущиеДанные.Настройки  = ...
2 1CVERYGOOD
 
25.09.15
12:20
(1) такого объекта не существует
3 Timon1405
 
25.09.15
12:24
стестяюсь спросить, обратно то значениевреквизитформы уходит? по коду не видно
4 vhl
 
25.09.15
12:37
(2) Какого именно?
5 aleks_default
 
25.09.15
12:45
Дальше код покажи. Как записываешь, как отображаешь...
6 Fragster
 
гуру
25.09.15
12:47
ХранилищеЗначения (ValueStorage)
Получить (Get)
......
Доступность:

Сервер, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер).
7 Fragster
 
гуру
25.09.15
12:48
В тонком клиенте возвращает неопределено. В 8.3.7 вызывается исключение.
8 aleks_default
 
25.09.15
12:49
(7)Ну так присваивает он на сервере, так что пока нормально. А вот дальше что происходит?
9 Mort
 
25.09.15
12:52
В таблицу формы добавляешь строковую колонку где хранишь адрес на временные хранилища. При чтении помещаешь туда данные из объекта и прописываешь эти адреса.

Огромный простор для оптимизации. Например, читать только то что нужно и когда нужно.
10 aleks_default
 
25.09.15
12:59
ЭлементОбъектСправочник.Принадлежность[НомерСтроки].Настройки = Новый Хранилище(Настройки)
Так записываешь?
11 1CVERYGOOD
 
28.09.15
12:52
В общем пришел в вот такому коду. Не знаю на сколько вообще правильно так делать.

&НаСервере
    НомерСтроки = Элементы.Принадлежность.ТекущаяСтрока;
    ЭлементОбъектСправочник = РеквизитФормыВЗначение("Объект");
    ЭлементОбъектСправочник.Принадлежность[НомерСтроки].НастройкиПостроителяДляОтбора = Аргументы.НастройкиПостроителяДляОтбора;
    ЭлементОбъектСправочник.Принадлежность[НомерСтроки].ПредставлениеОтбораПостроителя = Аргументы.ПредставлениеОтбораПостроителя;
    ЗначениеВРеквизитФормы(ЭлементОбъектСправочник.Принадлежность,"Объект.Принадлежность");
    ЭлементОбъектСправочник.Записать();
    ЭтаФорма.Прочитать();
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший