Хотелось бы узнать как создаются и редактируются такие макеты (т.к. есть необходимость добавить данные ещё по одному справочнику). Как раскодировать двоичные данные, отредактировать и загрузить обратно?
1. записать в файл, посмотреть что получилось
2. засунуть в хранилище, посмотреть что получилось
3. посмотреть поиском по конфигурации, где используется этот макет и посмотреть КАК используется
Макет имеет тип Текстовый документ, поэтому просто выгрузкой и редактированием не катит.
(3) Этот текстовый документ хранит дерево реквизитов справочников, где и как используется знаю. Т.е. при чтении этого макета через хранилище получаем деревья справочников и делаем с ними всё что хотим...
Вот часть кода:
ЧтениеXML = Новый ЧтениеXML();
Макет = ПолучитьОбщийМакет("CRM_НастройкиПолейОтображенияСодержания");
ЧтениеXML.УстановитьСтроку(Макет.ПолучитьТекст());
Хранилище = ПрочитатьXML(ЧтениеXML);
ЧтениеXML.Закрыть();
Если ТипЗнч(Хранилище) <> Тип("ХранилищеЗначения") Тогда
ВызватьИсключение "";
КонецЕсли;
ТаблицаНастройки = Хранилище.Получить();
Если ТипЗнч(ТаблицаНастройки) <> Тип("ТаблицаЗначений") Тогда
ВызватьИсключение "";
КонецЕсли;
Как в принципе формируются такие макеты (xml)? Берётся дерево метаданных в виде двоичного кода, а потом прибавляются теги xml и сохраняется как макет с типом Табличный документ?
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший