|
v7: OLE ТиС .. перенос справочников | ☑ | ||
|---|---|---|---|---|
|
0
__Se24
08.02.12
✎
10:33
|
День добрый ! Господа Гуру , подскажите , из-за чего может не отрабатывать кусок кода ? Переношу справочники номенклатуры из ТиС в другую базу . Делаю срезы по уровню . Первый уровень переносится без проблем , а вот со вторым происходил ерунда ....
//************************************************************************************* Функция ПолучитьРодителя(СпрТиС) Если СпрТиС.Родитель.Выбран()=0 Тогда Возврат 0; КонецЕсли; СпрР=СоздатьОбъект("Справочник.Номенклатура"); КР=СпрТис.Родитель.Код; Если СпрР.НайтиПоКоду(КР,0)=1 Тогда СпрРод=СпрР.ТекущийЭлемент(); СпрР=0; Возврат СпрРод; Иначе Возврат 0; КонецЕсли; Возврат 0; КонецФункции //ПолучитьРодителя(СпрТиС) //************************************************************************************* Спр=СоздатьОбъект("Справочник.Номенклатура"); Спр.Новый(); Спр.Код=СпрТиС.Код; Спр.Родитель=ПолучитьРодителя(СпрТиС); Спр.Наименование=СпрТиС.Наименование; Спр.Записать(); Процедура "ПолучитьРодителя" отрабатывает, находит его , возвращает ссылку на элемент справочника , про при присвоении происходит вот это : Спр.Родитель=ПолучитьРодителя(СпрТиС); {D:\1CBASES\DEVELOP\UPR\EXTFORMS\SE\OBR_UPR\TIS\ПЕРЕГРУЗКАСПРАВОЧНИКОВ.ERT(84)}: Неверное значение! |
|||
|
1
Ёпрст
гуру
08.02.12
✎
10:35
|
(0) ибо находит элемент, а не группу
|
|||
|
2
Ёпрст
гуру
08.02.12
✎
10:35
|
а так, всё надо делать за 1 проход..тупо вызывая рекурсивную функцию.
|
|||
|
3
1Сергей
08.02.12
✎
10:36
|
Серии кодов (В пределах подчинения/во всём справочнике) одинаковые в обоих базах?
|
|||
|
4
__Se24
08.02.12
✎
10:47
|
Эм ...
Блин , Точно , группа веть по другому создается !!! (0) Спасиб огромный !!!! а-то еще бы часа 2 сидел ))) |
|||
|
5
__Se24
08.02.12
✎
10:50
|
Если СпрТиС.ЭтоГруппа()=0 Тогда
Спр.Новый(); Иначе Спр.НоваяГруппа(); КонецЕсли; Спр.Код=СпрТиС.Код; ........ Теперь все работает ))) |
| Форум | Правила | Описание | Секции | Поиск |