|   |   | 
| 
 | 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). Оно может и дольше бы работало, но и сама "Оля" не особо быстрая.     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |