|
Учусь делать частичную загрузку конфигурации из файлов | ☑ | ||
---|---|---|---|---|
0
TormozIT
гуру
08.07.17
✎
14:50
|
Задача - выгрузить один объект метаданных (обработку) конфигурации в файлы и загрузить его обратно на платформе 8.3.10.
Как пробовал (варианты) 1. Выгрузил конфигурацию в файлы с отбором по полному имен объекта метаданных. При загрузке, используя ключ listFile или Files и указанием единственного файла XML, получаю ошибку "Ошибка добавления объекта DataProcessor uuid="f92e2207-3be1-4bc8-ad45-59c16eba1c63" : нельзя добавлять объекты метаданных без загрузки родительского объекта." 2. Выгрузил конфигурацию в файлы с отбором по полному имен объекта метаданных и имени корня конфигурации. При загрузке, используя ключ listFile или Files и указание всех файлов xml в папке выгрузки, получаю ошибку "Файл - Configuration.xml: ошибка частичной загрузки - идентификатор ada14b12-452d-4f85-9d71-99554e8fc6c0 загружаемой конфигурации отличается от идентификатора 51b18189-52ce-47d5-aa86-44d00c7a17c8 сохраненной конфигурации" Вот код для обоих вариантов (отличие в закомментированной строке) ТекстовыйДокумент = Новый ТекстовыйДокумент; ТекстСпискаОбъектовКонфигурации = ""; //ТекстСпискаОбъектовКонфигурации = ТекстСпискаОбъектовКонфигурации + Метаданные.ПолноеИмя() + Символы.ПС; // Тут добавляется корень конфигурации ТекстСпискаОбъектовКонфигурации = ТекстСпискаОбъектовКонфигурации + Метаданные.Обработки.ирПлатформа.ПолноеИмя(); ИмяФайлаСпискаВыгрузки = ПолучитьИмяВременногоФайла("txt"); ТекстовыйДокумент.УстановитьТекст(ТекстСпискаОбъектовКонфигурации); ТекстовыйДокумент.Записать(ИмяФайлаСпискаВыгрузки); КаталогВыгрузкиКонфигурации = ПолучитьИмяВременногоФайла(); СоздатьКаталог(КаталогВыгрузкиКонфигурации); ТекстЛога = ""; Успех = ирОбщий.ВыполнитьКомандуКонфигуратораЛкс("/DumpConfigToFiles """ + КаталогВыгрузкиКонфигурации + """ -listFile """ + ИмяФайлаСпискаВыгрузки + """ -Format Plain", СтрокаСоединенияИнформационнойБазы(), ТекстЛога, , "Выгрузка конфигурации в файлы"); УдалитьФайлы(ИмяФайлаСпискаВыгрузки); Если Не Успех Тогда УдалитьФайлы(КаталогВыгрузкиКонфигурации); Сообщить(ТекстЛога); Перейти ~Конец; КонецЕсли; ФайлыДляЗагрузки = НайтиФайлы(КаталогВыгрузкиКонфигурации, "*.xml"); ИменаФайлов = Новый Массив; Для Каждого Файл Из ФайлыДляЗагрузки Цикл ИменаФайлов.Добавить(Файл.ПолноеИмя); КонецЦикла; СтрокаИменФайловЗагрузки = ирОбщий.ПолучитьСтрокуСРазделителемИзМассиваЛкс(ИменаФайлов, ","); Успех = ирОбщий.ВыполнитьКомандуКонфигуратораЛкс("/LoadConfigFromFiles """ + КаталогВыгрузкиКонфигурации + """ -Files """ + СтрокаИменФайловЗагрузки + """ -Format Plain", , ТекстЛога, , "Загрузка конфигурации из файлов"); УдалитьФайлы(КаталогВыгрузкиКонфигурации); Если Не Успех Тогда Сообщить(ТекстЛога); КонецЕсли; Как правильно использовать частичную загрузку конфигурации из файлов? |
|||
1
Cyberhawk
08.07.17
✎
15:33
|
Имя какого-нибудь объекта МД (в файле) может превышает 80 символов?
|
|||
2
TormozIT
гуру
08.07.17
✎
16:12
|
(1) Видимо речь про имя объект в имени файла. Полная загрузка проходит без проблем. Поэтому думаю проблема не в этом.
|
|||
3
Cyberhawk
08.07.17
✎
16:17
|
(2) Загружать пробовал и через указание строки (Files), и через файлик (listFile)?
В коде у тебя загрузка по первому варианту реализована, во второс варианте поведение такое же? |
|||
4
TormozIT
гуру
08.07.17
✎
16:20
|
(3) Да
|
|||
5
TormozIT
гуру
08.07.17
✎
16:25
|
От выбора объекта метаданных проблема не зависит. Пробовал на разных.
|
|||
6
TormozIT
гуру
08.07.17
✎
16:27
|
Правильным кажется только 2-й вариант, т.к. у первого варианта достаточно логичное сообщение об ошибке.
|
|||
7
TormozIT
гуру
08.07.17
✎
16:29
|
А вот сообщение об ошибке во втором варианте кажется очень странным и там каждый раз меняется второй GUID
Файл - Configuration.xml: ошибка частичной загрузки - идентификатор ada14b12-452d-4f85-9d71-99554e8fc6c0 загружаемой конфигурации отличается от идентификатора <Тут GUID каждый раз новый> сохраненной конфигурации |
|||
8
Cyberhawk
08.07.17
✎
16:30
|
Разные релизы платформы попробовал уже?
|
|||
9
TormozIT
гуру
08.07.17
✎
16:32
|
(8) Нет. Нужно чтобы работало на 8.3.10 =)
|
|||
10
TormozIT
гуру
08.07.17
✎
16:34
|
Пробовал на чистой конфигурации с одним минимальным объектом "Справочник.Справочник1"
|
|||
11
Cyberhawk
08.07.17
✎
16:36
|
(9) Я имел в виду на разных версиях 8.3.10 (ну там 2375, 2466 всякие)
|
|||
12
TormozIT
гуру
08.07.17
✎
16:41
|
(11) Смысла не вижу, т.к. знаю какие там (в 2466) ошибки исправлялись.
|
|||
13
Klesk666
08.07.17
✎
17:18
|
а ctrl+c ctrl+v не вставляет? )
|
|||
14
TormozIT
гуру
08.07.17
✎
17:35
|
Если объект метаданных без макетов, то загрузка выполняется без ошибок.
|
|||
15
TormozIT
гуру
08.07.17
✎
17:57
|
Причину проблемы нашел. Платформа логичную ошибку писала. У меня при не передаче строки соединения в функцию выполнения команды конфигуратора использовалась пустая динамическая база.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |