|
1C 8.3 УФ ПолучитьЦветИзХранилищаЗначений | ☑ | ||
---|---|---|---|---|
0
Darhon
22.01.16
✎
11:26
|
Доброе утро! Есть вопрос, помогите решить непонятное...Вот код:
Если ЗначениеЗаполнено(Выборка.Статус) Тогда Цвет = Выборка.Статус.Цвет; //здесь в отладчике ТИП ХранилищеЗн Если НЕ Цвет = Неопределено Тогда ЦветФона=Цвет.Получить(); //А здесь уже неопределено НовыйЭлемент.ЦветФона = ЦветФона; //Здесь падает с ошибкой несоответствия типов КонецЕсли; КонецЕсли; Статус - это справочник с реквизитом цвет типа ХранЗначений, при записи элемента в ХЗ сохраняется цвет из диалого. А В коде приведенном выше он вытаскивается запросом. Вопрос в следующем, как получить цвет из хранилища из внешней обработки? Заранее спасибо |
|||
1
Lexey_
22.01.16
✎
11:55
|
(0) ЦветФона=Цвет.Получить();//А здесь уже неопределено
значит, хранилище пусто |
|||
2
Darhon
22.01.16
✎
11:56
|
(0) Причем при открытии самого элемента справочника видно, что значение цвета сохраняется в хранилище.
|
|||
3
Darhon
22.01.16
✎
11:56
|
(1) В коде справочника
&НаСервере Процедура ПриЧтенииНаСервере(ТекущийОбъект) Цвет = ТекущийОбъект.Цвет.Получить(); КонецПроцедуры Все нормально. |
|||
4
Fragster
гуру
22.01.16
✎
11:57
|
храни в строке через СериализаторXDTO.XMLСтрока() и СериализаторXDTO.XMLЗначение(). тогда сразу будет понятно, где цвета нет. да и в УФ с клиент-сервером проще, так как хранилища на клиенте нет в принципе
|
|||
5
Darhon
22.01.16
✎
11:58
|
(4) Не работал с сериализатором Как это можно примерно реализовать?
|
|||
6
Darhon
22.01.16
✎
12:02
|
XMLСтрока(<Значение>)
Параметры: <Значение> (обязательный) Тип: Неопределено; Null; Булево; Число; Строка; Дата; УникальныйИдентификатор; ДвоичныеДанные; ХранилищеЗначения; значения перечислений, значения системных перечислений (ВидСчета; ВидДвиженияБухгалтерии; ВидДвиженияНакопления; ДопустимыйЗнак; ДопустимаяДлина; ЧастиДаты) или все ссылки на объекты базы данных. С цветом не работает :( |
|||
7
Fragster
гуру
22.01.16
✎
12:02
|
Строка = СериализатоXDTO.XMLСтрока(Цвет);
Цвет = СериализатоXDTO.XMLЗначение(Тип("Цвет"), Строка); Ну, или что-то типа того. В СП лень смотреть |
|||
8
Fragster
гуру
22.01.16
✎
12:02
|
(6) сериализаторррррр
|
|||
9
FIXXXL
22.01.16
✎
16:07
|
или подшамань код
Если ЗначениеЗаполнено(Выборка.Статус) Тогда Цвет = Выборка.Статус.Цвет;//здесь в отладчике ТИП ХранилищеЗн ЦветФона=Цвет.Получить();//А здесь уже неопределено Если НЕ ЦветФона= Неопределено Тогда НовыйЭлемент.ЦветФона = ЦветФона;//Здесь падает с ошибкой несоответствия типов КонецЕсли; КонецЕсли; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |