Имя: Пароль:
1C
1C 7.7
v7: Как обработать выборку в 1с 7.7 полученную по оле из 1с 8.3
0 РусскийВедун
 
29.02.24
09:42
сабж. вот код:
V8 = СоздатьОбъект("V83.Application");  
попытка
V8.connect("File=""D:/1c/base/erp"";Usr=""OLE"";pwd=""91717""");
Исключение
Сообщить("Не подключился!!!!");  
Сообщить(Описаниеошибки());
КонецПопытки;    
    Спр = V8.Справочники.Номенклатура;  
    Спр2 = V8.Справочники.Номенклатура;
    
    гр =спр2.найтипокоду("УП-00001943");
    
    Если сокрлп(гр.наименование) = "" Тогда
        сообщить("Не найден код группы в 1с 8! Код:УП-00001943");
    Иначе        
    сообщить("Найдена группа "+гр.наименование);
    конецесли;  
    Выборка =Спр.ВыбратьИерархически(гр);    
    сообщить(Выборка.Следующий());
    

все бы хорощо, но Выборка.Следующий()=-1 и обработать выборку не получается. не понимаю как ее получить в 1с 7.7.
1 Builder
 
29.02.24
09:45
Цель какая?
И запросы отменили уже?
Ну и самое важное - осваивайте web и http сервисы для таких связей, гораздо быстрее.
2 РусскийВедун
 
29.02.24
09:46
гр - группа находится по коду без проблем.
3 РусскийВедун
 
29.02.24
09:46
(1) в запросах тоже выборка с таким же ответом
4 РусскийВедун
 
29.02.24
09:47
(1) как ты из 1с 7.7 web и http запустишь?
5 Галахад
 
29.02.24
09:48
Выборка.Следующий();
Сообщить(Выборка.Наименование);
6 РусскийВедун
 
29.02.24
09:50
(5) спасибо получил ответ.

как тогда строить цикл
пока выборка.следующий()=-1 цикл

???
7 Галахад
 
29.02.24
09:51
Вместо "-1" "Истина"
8 Галахад
 
29.02.24
09:51
True
9 Irbis
 
29.02.24
09:53
Или через Выборка Колилчество(), внутри вызывая Выборка.Следующий(), если с Пока Выборка.Следующий не прокатит
10 Волшебник
 
29.02.24
09:55
(6) Будьте проще:
пока выборка.следующий() цикл
11 РусскийВедун
 
29.02.24
09:59
пока Выборка.Следующий()=-1 цикл  
    Сообщить(Выборка.Наименование);
    конеццикла;

так отработало. а с "Истина" и "True" цикла не было.

Спасибо.
12 Builder
 
29.02.24
10:00
(4) Как обычно, вот так например:
WinHttp = CreateObject("WinHttp.WinHttpRequest.5.1");
13 Злопчинский
 
29.02.24
11:27
(11) а откуда 77 знает внутри  77 - что такте Истина или True... нет в 77 таких. Истину/Тру в 77 можешьюзать только если вытянешь их через контекст ОЛЕ
14 Irbis
 
29.02.24
11:37
(11) Раз уж используешь "тётюОлю", случше везде , где возможно ориентироваться на простые типы — число, строка, дата. Со все остальным могут быть неожиданности
15 Волшебник
 
29.02.24
11:43
(14) даты в восьмёрке со временем, так что тоже могут быть неожиданности
16 Irbis
 
29.02.24
12:00
(15) Есть такое дело, но когда баловался по OLE проблем не возникало. Имхается, что "клюшки" просто отбрасывают время. Но даже ползуба на отсечение не дам.
17 РусскийВедун
 
29.02.24
12:05
(13) Получается, что Истина это -1, а Ложь 0. надо где-то записать.
18 Irbis
 
29.02.24
12:10
(17) Это "баян", известный старым "клюшечникам" из не особо документированных возможностей. Но по прошествии лет я не стал бы полагаться на такое. Организовал бы итерационный цикл как предлагал в (9). Оно может и дольше бы работало, но и сама "Оля" не особо быстрая.