|
Редактирование макетов с двоичными данными
| ☑ |
0
Leksandr
11.06.14
✎
13:38
|
Есть общий макет. Он хранит в себе дерево метаданных по ряду справочников. Данные представлены в двоичном виде:
<?xml version="1.0" encoding="UTF-8"?>
<d1p1:ValueStorage xmlns:d1p1="....
Хотелось бы узнать как создаются и редактируются такие макеты (т.к. есть необходимость добавить данные ещё по одному справочнику). Как раскодировать двоичные данные, отредактировать и загрузить обратно?
|
|
1
Индиго
11.06.14
✎
13:39
|
тебе программно или руками?
|
|
2
Leksandr
11.06.14
✎
13:40
|
(1) любыми средствами. т.к. редактировать нужно только 1 раз, тогда можно и руками
|
|
3
nufnufcheg
11.06.14
✎
13:41
|
1. записать в файл, посмотреть что получилось
2. засунуть в хранилище, посмотреть что получилось
3. посмотреть поиском по конфигурации, где используется этот макет и посмотреть КАК используется
|
|
4
Индиго
11.06.14
✎
13:42
|
При добавлении макета выбираешь "Двоичные данные", показываешь из какого файла и все
|
|
5
Индиго
11.06.14
✎
13:42
|
при редактировании сохраняешь в файл, редактируешь - загружаешь обратно
|
|
6
Leksandr
11.06.14
✎
13:51
|
Макет имеет тип Текстовый документ, поэтому просто выгрузкой и редактированием не катит.
(3) Этот текстовый документ хранит дерево реквизитов справочников, где и как используется знаю. Т.е. при чтении этого макета через хранилище получаем деревья справочников и делаем с ними всё что хотим...
Вот часть кода:
ЧтениеXML = Новый ЧтениеXML();
Макет = ПолучитьОбщийМакет("CRM_НастройкиПолейОтображенияСодержания");
ЧтениеXML.УстановитьСтроку(Макет.ПолучитьТекст());
Хранилище = ПрочитатьXML(ЧтениеXML);
ЧтениеXML.Закрыть();
Если ТипЗнч(Хранилище) <> Тип("ХранилищеЗначения") Тогда
ВызватьИсключение "";
КонецЕсли;
ТаблицаНастройки = Хранилище.Получить();
Если ТипЗнч(ТаблицаНастройки) <> Тип("ТаблицаЗначений") Тогда
ВызватьИсключение "";
КонецЕсли;
|
|
7
Leksandr
11.06.14
✎
13:58
|
Как в принципе формируются такие макеты (xml)? Берётся дерево метаданных в виде двоичного кода, а потом прибавляются теги xml и сохраняется как макет с типом Табличный документ?
|
|