Имя: Пароль:
1C
1С v8
не могу записать хранилище значения
0 alexshape
 
31.10.17
10:56
Привет Всем. Проблема такая. Почему то не записывается хранилище значения у справочника. Есть реквизиты справочника С типом "Хранилище значения". В процедуре "При записи на сервере" присваиваю этому реквизиту Значение. Но в  момент открытия этого элемента, в этом хранилище пусто

&НаСервере
Процедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
    
    ТекущийОбъект.Шрифт = Новый ХранилищеЗначения(Шрифт);
    ТекущийОбъект.ЦветФона = Новый ХранилищеЗначения(ЦветФона);
    ТекущийОбъект.ЦветТекста = Новый ХранилищеЗначения(ЦветТекста);
    
КонецПроцедуры
1 alkorolev
 
31.10.17
11:02
ПередЗаписьюНаСервере
при записи - слишком поздно модифицировать объект
2 alexshape
 
31.10.17
11:04
ПередЗаписьюНаСервере та же проблема.
3 Cyberhawk
 
31.10.17
11:05
Какая?
4 alexshape
 
31.10.17
11:07
(3) В момент открытия элемента справочника в реквизитах с типеом "Хранилище Значения" пусто, хотя я туда записывал значения
5 alkorolev
 
31.10.17
11:08
(2) быть такого не может

&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
    
    ТекущийОбъект.Шрифт = Новый ХранилищеЗначения(Шрифт);
    
КонецПроцедуры

&НаСервере
Процедура ПриЧтенииНаСервере(ТекущийОбъект)
    
    ХЗ = ТекущийОбъект.Шрифт;
    Шрифт = ХЗ.Получить();
    
КонецПроцедуры
6 alkorolev
 
31.10.17
11:10
>> момент открытия элемента справочника
как выглядит?
7 Cyberhawk
 
31.10.17
11:11
(4) "я туда записывал значения" // В отладчике покажи это значение
8 alexshape
 
31.10.17
11:14
(5) Может, сам в шоке.

(6) Использую ПриСозданииНаСервере(), Пробовал также ПриЧтенииНаСервере все равно такая же проблема

(7) Поверь, они там точно есть
9 alexshape
 
31.10.17
11:16
(6) Отдельно обращаюсь к этому элементу. проблема в момент записи справочника
10 Волшебник
 
модератор
31.10.17
11:19
"Шрифт" - это что?
Если типы не совпадают, то присваивания не произойдёт.
11 alexshape
 
31.10.17
11:27
(10) Шрифт - это Тип "Шрифт". А какая разница какого типа шрифт. Я же его в хранилище засовываю

ТекущийОбъект.Шрифт  - Это хранилище значения,
Шрифт - Это шрифт.

ТекущийОбъект.Шрифт = Новый ХранилищеЗначения(Шрифт);
12 alexshape
 
31.10.17
11:34
У этого справочника, даже обычные реквизиты не записываются. С чем может быть связанно?
13 Волшебник
 
модератор
31.10.17
11:36
(12) ошибка где-то в другом месте
14 alexshape
 
31.10.17
11:42
(13) Решил написать На "Индуском" и добавил к справочнику Новый Реквизиты Типа ШрифтЖирный ШрифтНаклонный и т.д. И прикиньте все заработало. Хрен пойми в чем проблема была
15 Волшебник
 
модератор
31.10.17
11:43
(14) Если выяснишь, допиши в этой ветке.
16 alexshape
 
31.10.17
11:46
(15) Так я у Вас хотел спросить, из за чего такой баг
17 vicof
 
31.10.17
13:14
(16) Кнопку сохранения нажимать чаще надо
Основная теорема систематики: Новые системы плодят новые проблемы.