|
v7: Перенос справочника Контрагенты по OLE | ☑ | ||
---|---|---|---|---|
0
ion
06.02.13
✎
11:01
|
Во время переноса воосоздаю архитектуру справочника, для этого мне после прохождения первого уровня справочника нужно элементу присвоить Родителя. Нахожу по коду в новом справочнике родителя, все отлично.
Но когда пытась присвоить объекту все виснет. Как можно в реквизит OLE-объекта записать другой OLE-объект? СпрОле = V7.CreateObject("Справочник.Контрагенты"); Спр = СоздатьОбъект("Справочник.Контрагенты"); ТекОле = V7.CreateObject("Справочник.Контрагенты"); - для поиска по коду, если нужен родитель элементу Если ПустоеЗначение(Спр.Родитель)=0 Тогда Если ТекОле.НайтиПоКоду(Спр.Родитель.Код)=1 Тогда СпрОле.Родитель=ТекОле.ТекущийЭлемент(); - вот тут система виснет КонецЕсли; КонецЕсли; |
|||
1
akaBrr
06.02.13
✎
11:03
|
(0) а где создается элемент справочника СпрОле?
|
|||
2
Wobland
06.02.13
✎
11:04
|
после
Спр = СоздатьОбъект("Справочник.Контрагенты"); Спр.Родитель всегда пустой, не? |
|||
3
Dolly_EV
06.02.13
✎
11:04
|
СпрОле.Новый(); Где?
|
|||
4
1Сергей
06.02.13
✎
11:05
|
попробуй указать второй параметр у ТекОле.НайтиПоКоду(Спр.Родитель.Код)
|
|||
5
Ёпрст
06.02.13
✎
11:05
|
(0) нет проверки на то, что найденный элемент - группа.
+ присваивать родителя явно - моветон, можно нарваться на неуникальность кода. |
|||
6
Ёпрст
06.02.13
✎
11:06
|
+ нет проверки, что элемент ужо есть,+ нет в коде Новый() или
|
|||
7
ion
06.02.13
✎
11:08
|
подключение из текущей базы к пустой
Для i=1 по 3 Цикл Спр.ВыбратьЭлементы(); Пока Спр.ПолучитьЭлемент() = 1 Цикл Если Спр.Уровень()=i тогда Если СпрОле.НайтиПоКоду(Спр.Код)=0 Тогда Если Спр.ЭтоГруппа() = 0 Тогда СпрОле.Новый(); СпрОле.Код=Спр.Код; СпрОле.Наименование=Спр.Наименование; Если ПустоеЗначение(Спр.Родитель)=0 Тогда Если ТекОле.НайтиПоКоду(Спр.Родитель.Код)=1 Тогда СпрОле.Родитель=ТекОле.ТекущийЭлемент(); КонецЕсли; КонецЕсли; ... |
|||
8
пипец
06.02.13
✎
11:09
|
universam.ert
если конфигурации идентичны |
|||
9
ion
06.02.13
✎
11:09
|
в справочнике контроль уникальности стоит
|
|||
10
ion
06.02.13
✎
11:10
|
конфигурации идентичны, но мне нужно именно код написать по заданию))
|
|||
11
пипец
06.02.13
✎
11:12
|
(10) запросом в ТЗ - потом по ТЗ по иерархии бегишь
В ТЗ структура - Элемент / родитель / уровень(полный код например) |
|||
12
1Сергей
06.02.13
✎
11:12
|
(10) ты проверь, ТекОле точно Группа?
|
|||
13
Lionee
06.02.13
✎
11:13
|
изобретают опять лисапед,в (8) уже изобрели,ездит
|
|||
14
ion
06.02.13
✎
11:14
|
о, проверка не делалась, но в отладчике все ок показывает, до присвоения
|
|||
15
пипец
06.02.13
✎
11:23
|
самый универсальный вариант - грузишь всех в корень потом назначаешь родителей
ЗЫ по скорости точ в точь чем перебирать и сравнивать |
|||
16
ion
06.02.13
✎
11:24
|
спасибо, попробую так
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |