Имя: Пароль:
1C
1C 7.7
v7: Загрузка данных из 7.7 в 8.2 - помогите с ошибкой
0 katerinaUniv
 
16.07.14
11:38
Пытаюсь выгрузить номенклатуру, вылезает такая ошибка:

Ном82.Родитель = спрНом82.НайтиПоНаименованию(Строка(спрНом.Родитель));
{C:\_РАБОЧАЯ ПАПКА\_2014 ИЮЛЬ\ПЛАМЕТ-ЭКСКЛЮЗИВ\ГРУЗИМ ИЗ 7.7\ГРУЗИМСЯ ИЗ 7.7.ERT(288)}: Метод не найден

вот код:
спрНом.ВыбратьЭлементы();    
    спрНом82 = v8.Справочники.Номенклатура;
    спрНом82_2 = v8.Справочники.Номенклатура;
    Пока спрНом.ПолучитьЭлемент() = 1 Цикл  
        сообщить("Поиск родителя для "+спрНом.Наименование);
    
        
        Если Строка(спрНом.Родитель) <> "" Тогда  
            Ном82 = спрНом82_2.НайтиПоНаименованию(Строка(спрНом.Наименование));
            Ном82.Родитель = спрНом82.НайтиПоНаименованию(Строка(спрНом.Родитель));
            Ном82.Записать();
        КонецЕсли;
    КонецЦикла;
1 katerinaUniv
 
16.07.14
11:39
точнее, пишу перенос из ПУБ в БП 3.0, через com соединение. Номенклатуру уже выгрузила, теперь надо все раскидать по родительским папкам
2 katerinaUniv
 
16.07.14
11:39
если делаю это сразу, то выходит ошибка о зацикливании иерархии
3 katerinaUniv
 
16.07.14
11:39
в первой строка НайтиПоНаименованию() срабатывает, во второй строке - нет
4 Bigbro
 
16.07.14
11:46
у спрном нет родителя - в корне элемент.
5 memogolik
 
16.07.14
11:56
(0) конвертацию данных не предлагать?;)
6 katerinaUniv
 
16.07.14
12:03
(4)как обойти? попытка-исключение? вышибает на том элементе, у которого родитель есть!
7 katerinaUniv
 
16.07.14
12:03
(5)ну не дружу я с ней пока что...
8 Kookish
 
16.07.14
12:07
В самом деле, проверь спрНом.Родитель. Это же из 7-ки, как я понимаю?
9 Kookish
 
16.07.14
12:10
(8)+ А, не. Тогда Ном82.Родитель после присваивания. Может там вообще "Неопределено"?
10 Kookish
 
16.07.14
12:10
(9)+ Ном82 = Неопределено
11 katerinaUniv
 
16.07.14
12:17
поняла, нужно было объект получать
12 katerinaUniv
 
16.07.14
12:17
а теперь ругается на зацикливание уровней - как этого избежать?
13 Chameleon1980
 
19.07.14
17:28
всю ветку не читал - успел только первые два поста
смущает:
цитата из второго поста "..точнее, пишу перенос из ПУБ в БП 3.0.." не вяжется с хвостиком из первого "...ERT"
переносим из ПУБ в БП средствами 7.7 ?
14 SleepyHead
 
гуру
19.07.14
20:05
(13) Скорее всего, по ком-соединению подключилась к базе 8. А может, наооборот, из 8.2 в 77. В любом случае, мадам знает толк в извращениях :)

Катя, изучайте КД, потратьте пару месяцев на изучение и сэкономьте себе несколько лет для жизни.
15 lavalit
 
23.07.14
19:22
Ном82.Родитель = спрНом82.НайтиПоНаименованию(Строка(спрНом.Родитель))
Давайте разберем эту строку:
Вы хотите присвоить переменной Ном82.Родитель Найденный по наименованию элемент из спрНом82. Отлично. НО тогда в качестве параметра поиска должно быть НАИМЕНОВАНИЕ а ВЫ передаете аж целый агрегат в Строковом выражении... зачем? логично было бы написать вот так
Ном82.Родитель = спрНом82.НайтиПоНаименованию(спрНом.Родитель.Наименование)
16 lavalit
 
23.07.14
19:25
Вдогонку, а если вдруг у спрНом82 нет родителя, топроверяйте на пустое значение например
Если ПустоеЗначение(спрНом82.Родитель)=0 Тогда
//тогда точняк естьродитель
Иначе
//Элемент находится в корне дерева и нет у него родителей)))
КонецЕсли