Перенос справочника подразделение из 7,7 в 8.3
столкнулся с такой проблемой при переносе справочник подразделения в 8.3 кидает ошибку
{Форма.Форма.Форма(239)}: Ошибка при вызове метода контекста (СоздатьГруппу)
НовыйЭлемент = Справочники.ПодразделенияОрганизаций.СоздатьГруппу();
по причине:
Данный справочник не может содержать группы!
подскажите как быть((
вот код
СпрПодр = v7.CreateObject("Справочник.Подразделения");
СпрПодр.ВыбратьЭлементы();
Пока СпрПодр.ПолучитьЭлемент()=1 Цикл
ОбработкаПрерыванияПользователя();
Если Справочники.ПодразделенияОрганизаций.НайтиПоКоду(СпрПодр.Код) = Справочники.ПодразделенияОрганизаций.ПустаяСсылка() Тогда
Если СпрПодр <> Справочники.ПодразделенияОрганизаций.ПустаяСсылка() Тогда
НовыйЭлемент = Справочники.ПодразделенияОрганизаций.СоздатьЭлемент();
НовыйЭлемент.Наименование = СпрПодр.Наименование;
НовыйЭлемент.Код = СОКРЛП(СпрПодр.Код);
Добавлена = ИСТИНА;
КонецЕсли;
НовыйЭлемент = Справочники.ПодразделенияОрганизаций.СоздатьГруппу();
НовыйЭлемент.Наименование = СпрПодр.Наименование;
НовыйЭлемент.Код = СОКРЛП(СпрПодр.Код);
Добавлена = ИСТИНА;
Иначе
НовыйЭлемент = Справочники.ПодразделенияОрганизаций.НайтиПоКоду(СОКРЛП(СпрПодр.Код)).ПолучитьОбъект();
Добавлена = ЛОЖЬ;
КонецЕсли;
НовыйЭлемент.Владелец = Организация;
Если СпрПодр.Родитель.Выбран() = 1 Тогда
Если СпрПодр.Родитель.Наименование = "Не используемые" Тогда
НовыйЭлемент.Актуальность = Ложь;
Иначе
НовыйЭлемент.Родитель = Справочники.ПодразделенияОрганизаций.НайтиПоНаименованию(СпрПодр.Родитель.Наименование).Ссылка;
КонецЕсли;
КонецЕсли;
НовыйЭлемент.КодПоОКАТО = СпрПодр.КодПоОКАТО.Код;
НовыйЭлемент.КПП = СпрПодр.КПП;
НовыйЭлемент.Записать();
Если Добавлена Тогда
Сообщить("Добавлено новое подразделение организации "+ СпрПодр.Наименование);
КонецЕсли;
КонецЦикла;
{Форма.Форма.Форма(239)}: Ошибка при вызове метода контекста (СоздатьГруппу)
НовыйЭлемент = Справочники.ПодразделенияОрганизаций.СоздатьГруппу();
по причине:
Данный справочник не может содержать группы!
подскажите как быть((
вот код
СпрПодр = v7.CreateObject("Справочник.Подразделения");
СпрПодр.ВыбратьЭлементы();
Пока СпрПодр.ПолучитьЭлемент()=1 Цикл
ОбработкаПрерыванияПользователя();
Если Справочники.ПодразделенияОрганизаций.НайтиПоКоду(СпрПодр.Код) = Справочники.ПодразделенияОрганизаций.ПустаяСсылка() Тогда
Если СпрПодр <> Справочники.ПодразделенияОрганизаций.ПустаяСсылка() Тогда
НовыйЭлемент = Справочники.ПодразделенияОрганизаций.СоздатьЭлемент();
НовыйЭлемент.Наименование = СпрПодр.Наименование;
НовыйЭлемент.Код = СОКРЛП(СпрПодр.Код);
Добавлена = ИСТИНА;
КонецЕсли;
НовыйЭлемент = Справочники.ПодразделенияОрганизаций.СоздатьГруппу();
НовыйЭлемент.Наименование = СпрПодр.Наименование;
НовыйЭлемент.Код = СОКРЛП(СпрПодр.Код);
Добавлена = ИСТИНА;
Иначе
НовыйЭлемент = Справочники.ПодразделенияОрганизаций.НайтиПоКоду(СОКРЛП(СпрПодр.Код)).ПолучитьОбъект();
Добавлена = ЛОЖЬ;
КонецЕсли;
НовыйЭлемент.Владелец = Организация;
Если СпрПодр.Родитель.Выбран() = 1 Тогда
Если СпрПодр.Родитель.Наименование = "Не используемые" Тогда
НовыйЭлемент.Актуальность = Ложь;
Иначе
НовыйЭлемент.Родитель = Справочники.ПодразделенияОрганизаций.НайтиПоНаименованию(СпрПодр.Родитель.Наименование).Ссылка;
КонецЕсли;
КонецЕсли;
НовыйЭлемент.КодПоОКАТО = СпрПодр.КодПоОКАТО.Код;
НовыйЭлемент.КПП = СпрПодр.КПП;
НовыйЭлемент.Записать();
Если Добавлена Тогда
Сообщить("Добавлено новое подразделение организации "+ СпрПодр.Наименование);
КонецЕсли;
КонецЦикла;
По теме из базы знаний
- Перенос справочников, документов и проводок БУ и НУ между двумя бухгалтерскими базами
- Перенос справочников ОС из Бух.8.2 в Бух.7.7
- Перенос справочников из 7.7 в V8 управляемое приложение
- Перенос документов из УТ 11 в Бухгалтерию 3.0
- Конвертация 2.0. Перенос элементов и групп справочника, имеющих различный вид иерархии (пример).
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
В 8-ке родителями могут быть не только группы но и элементы, в вашем случае скорее всего в конфигураторе на закладке "Иерархия" у справочника "ПодразделенияОрганизации" стоит "Иерархия элементов". Вам надо вместо группы при переносе создавать элемент и ему подчинять все входящие в него подразделения.
Зацикливание возникает из-за того, что родителем назначается либо сам себе элемент, либо подчиненный уже ему элемент. Поиск родителей у вас идет по наименованию, вполне возможно что некоторые подразделения имеют одинаковые названия и из-за этого родителем не тот элемент справочника берется.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот