![]() |
![]() |
![]() |
|
Выгрузка описания структуры конфигурации 2.1.4 и БП 2.0.18.2 (8.1) | ☑ | ||
---|---|---|---|---|
0
Kasper076
04.01.11
✎
22:03
|
Платформа 8.1.15
Не удается выгрузить структуру конфигурации БП 2.0.18.2 при помощи обработки "Выгрузка описания структуры конфигурации 2.1.4" (MD81Exp.epf) из последней КД из-за ошибки. Кто-то еще сталкивался с этой проблемой? Это не единственный косяк КД 2.1.4 |
|||
1
Kasper076
04.01.11
✎
22:06
|
+(0) Описание ошибки:
{ВнешняяОбработка.ВыгрузкаМетаданных(1309)}: Ошибка при вызове метода контекста (Содержит): Несоответствие типов (параметр номер '1') Если Метаданные.Константы.Содержит(Объект) Тогда по причине: Несоответствие типов (параметр номер '1') |
|||
2
Mitriy
04.01.11
✎
22:07
|
прикольно... сейчас попробую...
|
|||
3
Kasper076
04.01.11
✎
22:08
|
+(0) Еще один косяк КД 2.1.4:
v8: КД 2.1.4.1 Правила регистрации объектов |
|||
4
Kasper076
05.01.11
✎
08:47
|
К (0).
Отладчик показал, что в плане обмена (ПО) "Полный" конфигурации БП 2.0.18.2 (платформа 8.1) содержит пустой элемент состава. В конфигураторе естественно этого косяка не видно, а в выборке элементов состава ПО "Полный" он присутствует. Соответственно конструкция: Метаданные.Константы.Содержит(Объект), где Объект - пустой элемент состава ПО, вызывает ошибку. ТИИ не исправило ситуацию. |
|||
5
Kasper076
05.01.11
✎
09:13
|
Цитата из файла "Конвертация данных. Версия 2.1.4. Изменения в версии.mxl": "Описание метаданных конфигурации дополнено информацией о составе плана обмена."
Ошибка вызвана именно этим новым функционалом, но проявляется только на двух ПО "Полный" и "ПоОрганизации". Структура всех остальных ПО выгружается нормально. |
|||
6
Живой Ископаемый
05.01.11
✎
09:15
|
Можно вставить заглушку тпа Если Объект=Неопрелено Тогда возврат; КонецЕсли; ?
|
|||
7
Kasper076
05.01.11
✎
09:28
|
(6) Так и сделал. Но хочется понять что это за объект такой и почему его не видно в составе ПО в режиме Конфигуратора??
|
|||
8
Kasper076
05.01.11
✎
09:36
|
Я не совсем верно выразился, сказав что элемент состава ПО является пустым. Он не пустой. А вот его свойство Метаданные пустое. Т.е. ПО содержит элемент не соответствующий ни одному объекту конфигурации.
На БП 1.6.28.1 данная ошибка не воспроизводится. |
|||
9
Генератор
05.01.11
✎
09:40
|
вчера столкнулся, сделал один в один с (6), вроде норм стало
|
|||
10
aljas2006
08.01.11
✎
18:31
|
Спасибо ОГРОМНОЕ Живой Ископаемый !!!!!!!!!!
Правда,не будучи программистом, не сразу сообразила-куда вставить Если Объект=Неопрелено Тогда возврат; КонецЕсли; Вернее -ни куда вставить, а каким образом (т.е.надо было вместо Если Метаданные.Константы.Содержит(Объект) Тогда, а не после этой фразы) и что КонецЕсли там уже есть.Сначала вставила всю фразу.Получилось удвоение КонецЕсли Но методом проб и ошибок все получилось!И работает!!!! Спасибо, а то мучалась полдня. |
|||
11
Aleksey
08.01.11
✎
18:42
|
Эта ошибка со времен БП 2.0. По крайне мере последний релизов 10 точно присутствует. Из за нее нельзя посмотреть зарегистрированные объекты, приходиться заглушку вставлять.
Хотя в последней в БП 2.0.18.1 (для 8.2) вроде бы все ОК, по крайне мере ошибку не выдает при попытки просмотра зарегистрированных |
|||
12
aljas2006
08.01.11
✎
19:05
|
Нет, Aleksey!
Я всю конвертацию и, в.т. числе базу_источник и базу_приемник, и саму Конвертацию обновила до сегодняшнего дня.И БП стоит 2.0.18.1(для 8.2) В том- то и проблема! Я сильно удивилась,когда с ходу не получилось с БП,т.к. перед этим спокойно сделал перенос данных в БП 1.6.(тоже последней модели) |
|||
13
aljas2006
08.01.11
✎
19:07
|
т.е. на БП 1.6.28.1 (для 8.2)
|
|||
14
Aleksey
08.01.11
✎
19:20
|
Ничего не понял. Просто была такая ошибка
Операции - План обмена - (Выбор плана обмена) - в меню жмем картинку "Монитора" и ... вываливается ошибка {Обработка.РегистрацияИзмененийДляОбмена.Форма.Форма(30)}: Ошибка при вызове метода контекста (Индекс): Несоответствие типов (параметр номер '1') Если СтрокаСоответствия.Метаданные.Индекс(МетаданныеОбъекта) > -1 Тогда по причине: Несоответствие типов (параметр номер '1') Причем на 1.6 все ок, а в 2.0 она воспроизводилась и в демки и в рабочей, и приходилось вставлять проверку в обработку РегистрацииИзмененийДляОбмена //Функция возвращает элемент соответсвия массива по метаданным Функция ПолучитьЭлементСоответствияПоМетаданным(СоответствиеСтрокДереваИМетаданных, МетаданныеОбъекта) //Моя вставка Если МетаданныеОбъекта = неопределено тогда Возврат Неопределено; КонецЕсли; //конец вставки |
|||
15
Aleksey
08.01.11
✎
19:25
|
Нов последней версии 2.0.18.1 (под 8.2) Данная ошибка не воспроизводиться (по крайне мере у меня)
И кстати только что выгрузил описание. Выгрузилось без проблем |
|||
16
aljas2006
08.01.11
✎
19:39
|
Извините, что непонятно обяъяснение
1С:БП_2.0.18.1 – в режиме Предприятие-файл-открыть- (из 1С-Конвертация данных-2.1.4.1-окно выгрузки описания структуры метаданных-выгрузить-Выгрузка объектов»План обмена» доходило до 33% и выдавало ошибку: {ВнешняяОбработка.ВыгрузкаМетаданных.МодульОбъекта(1309)}: Ошибка при вызове метода контекста (Содержит) Если Метаданные.Константы.Содержит(Объект) Тогда по причине: Несоответствие типов (параметр номер '1') Справилась с этой ошибкой с помощью «Живой Ископаемый», (за что ему спасибо) Но не сразу сориентировалась как применить совет( ну не программист я, просто продвинутый главбух) И В КОНФИГУРАТОРЕ вместо Процедура ВыгрузитьЭлементСоставаПланаОбмена(ЭлементСостава, Родитель) Объект = ЭлементСостава.Метаданные; Если Метаданные.Константы.Содержит(Объект) Тогда Возврат; КонецЕсли; СДЕЛАЛА Процедура ВыгрузитьЭлементСоставаПланаОбмена(ЭлементСостава, Родитель) Объект = ЭлементСостава.Метаданные; Если Объект=Неопрелено Тогда возврат; КонецЕсли; И все сработало! |
|||
17
Aleksey
08.01.11
✎
19:43
|
Ну аналогично делал, только
БП 2.0.18.1 под 8.2, а в сабже про 8.1 Но не суть. Проверял именно нп 2.0.18.1 - платформа 8.2 |
|||
18
aljas2006
08.01.11
✎
19:43
|
Извините-не вставилось MD82exp.epf
Повторю 1С:БП_2.0.18.1 (для 8.2)– в режиме Предприятие-файл-открыть-MD82exp.epf (из 1С-Конвертация данных-2.1.4.1-окно выгрузки описания структуры метаданных-выгрузить-Выгрузка объектов»План обмена» доходило до 33% и выдавало ошибку: {ВнешняяОбработка.ВыгрузкаМетаданных.МодульОбъекта(1309)}: Ошибка при вызове метода контекста (Содержит) Если Метаданные.Константы.Содержит(Объект) Тогда по причине: Несоответствие типов (параметр номер '1') Справилась с этой ошибкой с помощью «Живой Ископаемый», (за что ему спасибо) Но не сразу сориентировалась как применить совет( ну не программист я, просто продвинутый главбух) И В КОНФИГУРАТОРЕ вместо Процедура ВыгрузитьЭлементСоставаПланаОбмена(ЭлементСостава, Родитель) Объект = ЭлементСостава.Метаданные; Если Метаданные.Константы.Содержит(Объект) Тогда Возврат; КонецЕсли; СДЕЛАЛА Процедура ВыгрузитьЭлементСоставаПланаОбмена(ЭлементСостава, Родитель) Объект = ЭлементСостава.Метаданные; Если Объект=Неопрелено Тогда возврат; КонецЕсли; И все сработало! |
|||
19
aljas2006
08.01.11
✎
19:44
|
Чудес не бывает.
Что-то у нас с Вами разное. |
|||
20
aljas2006
08.01.11
✎
19:45
|
Главное получилось!УРА!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |