Имя: Пароль:
1C
1C 7.7
v7: Не идет выборка по владельцу у подчиненого справочника
,
0 vava22082009
 
20.11.15
06:47
В торговля 10.3 выгружаю из 1с 7.7
в 1с 7.7 создан справочник PLU, он подчинен Номенклатуре.
Через com-соединение делаю выгрузку из 1с 7.7 в 1с 8
справочник номенклатура переносится номрально. а вот выйти на Справочник PLU никак не получается
вот отрезок кода, гдэ ТЭ - это номенклатура

"СпрПЛУ77= V7.CreateObject("Справочник.PLU");"2
    "СпрПЛУ77.ИспользоватьВладельца(ТЭ.ТекущийЭлемент());"
            "СпрПЛУ77.ВыбратьЭлементы();"
            "Пока СпрПЛУ77.ПолучитьЭлемент()=1 Цикл"
            
                "ОбработкаПрерыванияПользователя();"
                "тс = СпрПЛУ77.ТекущийЭлемент();"
тс - это я хочу как раз получить подчиненный справочник, но он показывает что он пуст, ни кода ни наименования ни владельца нет((
где может быть ошибка?
1 cw014
 
20.11.15
07:43
Проверял, действительно ли у этой номенклатуры есть подчиненные ПЛУ?
2 vava22082009
 
20.11.15
07:50
(1) да действительно есть
3 vava22082009
 
20.11.15
07:50
(1) просто схема всегда работала((
4 cw014
 
20.11.15
07:52
А почему у тебя каждый оператор в кавычках отдельных?
5 vava22082009
 
20.11.15
07:56
а это так получилось вообще в коде он без кавычек)
6 Это_mike
 
20.11.15
07:57
что мешает прочитать СП?
7 vava22082009
 
20.11.15
08:00
(6) дело в том что этот механизм всегда отрабатывал если прям в базе 7-ки делал, а тут через com-соединение может где-то чего не догоняю.
Всё кстати сделано как по справке)
8 Андрей_Андреич
 
naïve
20.11.15
08:03
(7) А ты проверь СпрПЛУ77.Код, СпрПЛУ77.Наименование и т.д.
Ты же не в семерке
9 НЕА123
 
20.11.15
08:04
(0)
в цикл заходит?
10 НЕА123
 
20.11.15
08:04
(8)+1
11 Это_mike
 
20.11.15
08:05
(7) неправда. "по справке" опущено два параметра. стоит их указать,как все будет работать..
12 vava22082009
 
20.11.15
08:05
(8) пустые строчки он показывает((
потому и написал
13 vava22082009
 
20.11.15
08:07
(9) да заходит, то есть он находит по владельцу, причем у кого нет подчиненого справочника он не заходит в цикл
вывод - в цикл заходит верно
14 vava22082009
 
20.11.15
08:08
(11) .ИспользоватьВладельца
.ВыбратьЭлементы
.ПолучитьЭлемент
а в каком из них?
15 Андрей_Андреич
 
naïve
20.11.15
08:10
(12) Он показывает пустые ТС.Код или СпрПЛУ77.Код?
16 vava22082009
 
20.11.15
08:13
(15) у СпрПЛУ77.Код
ТС - он как оказалось даже подхватить не может
17 Андрей_Андреич
 
naïve
20.11.15
08:15
(16) Может длина кода 0? :)
18 vava22082009
 
20.11.15
08:18
(17) не 5 символов,
если делаю через ВыбратьЭлементы(0) поставить и перебором проверяю выборку - то там все параметры видно и владельца и код.
но перебор не вариант, там 47000 плукодов(
19 los_hooliganos
 
20.11.15
08:19
(0) Рекомендую разобраться с механизмом ОЛЕ. Сложные объекты через него не передаются. Поэтому работать надо несколько по иному.
20 vava22082009
 
20.11.15
08:20
ВремСпр=V7.CreateObject("Справочник.Номенклатура");
ВремСпр.НайтиЭлемент(ТЭ);
// вот эти две строчки добавил))))
всё заработало, мой косяк
        
СпрПЛУ77= V7.CreateObject("Справочник.PLU");
            СпрПЛУ77.ИспользоватьВладельца(ВремСпр.ТекущийЭлемент());
СпрПЛУ77.ВыбратьЭлементы(1);
Пока СпрПЛУ77.ПолучитьЭлемент() > 0 Цикл
                            ОбработкаПрерыванияПользователя();
тс = СпрПЛУ77.ТекущийЭлемент();
21 vava22082009
 
20.11.15
08:20
всем большое спасибо))))
22 vava22082009
 
20.11.15
08:20
(19) прорвемся)))
23 ДенисЧ
 
20.11.15
08:55
(22) Как говорят презервативы и канализационные трубы...

))
Независимо от того, куда вы едете — это в гору и против ветра!