|   |   | 
| 
 | Подключение по OLE | ☑ | ||
|---|---|---|---|---|
| 0
    
        merlin789 09.10.12✎ 18:07 | 
        Пытаюсь сделать загрузку документов между 2 базами 8-ки  через OLE. Справочники, реквизиты шапки документа читаются, но не удается прочитать данные табличной части. Пробовал 2-мя способами: в случае с циклом он даже внутрь не заходит (хотя в т.ч. записи есть), в случае с запросом не могу вывести данных в таблицу.
  На форуме искал, не помогло.. V8=Новый COMОбъект("V82.COMConnector"); СтрПодключения="File=""D:\Базы 1с\тест"";Usr=""Администратор"";Pwd="""""; Сообщить(СтрПодключения); Попытка База=V8.Connect(СтрПодключения); Исключение сообщить(ОписаниеОшибки()); Предупреждение("Ошибка при подключении!"); ЕстьПодключение = Ложь; КонецПопытки; //ТаблУслуги= Новый ТаблицаЗначений; ТаблДок=ЭлементыФормы.ДокиСписок.Значение; Для каждого док из ТаблДок цикл Документ=База.Документы.РеализацияТоваровУслуг.НайтиПоНомеру("00000000004");//Док.Номер); Для каждого товар из Документ.Товары цикл Сообщить(Товар.Номенклатура.Наименование); КонецЦикла; ТаблУслуги=Документ.Услуги.Выгрузить(); Для каждого Услуга из ТаблУслуги цикл Сообщить(Услуга.Номенклатура.Наименование); КонецЦикла; КонецЦикла; Запрос = База.NewObject("Запрос"); Запрос.Текст = " |ВЫБРАТЬ |Услуги |ИЗ |Документ.РеализацияТоваровУслуг |где |Номер=""00000000004"""; РезультатЗапроса = Запрос.Выполнить().Выгрузить(); ЭлементыФормы.ДокиСписок.Значение=РезультатЗапроса; ЭлементыФормы.ДокиСписок.СоздатьКолонки(); | |||
| 1
    
        Kashemir 09.10.12✎ 18:16 | 
        Должно работать. У тебя строки точно существуют в искомом документе ?     | |||
| 2
    
        Kashemir 09.10.12✎ 18:16 | 
        Документ.Товары.Количество() что говорит ?     | |||
| 3
    
        hhhh 09.10.12✎ 18:20 | 
        (0) это старые грабли, можно сказать детские. У НайтиПоНомеру два параметра: номер и дата     | |||
| 4
    
        hhhh 09.10.12✎ 18:21 | 
        (0) а запрос так
  Запрос.Текст = " |ВЫБРАТЬ |* |ИЗ |Документ.РеализацияТоваровУслуг.Услуги |где |Номер=""00000000004"""; | |||
| 5
    
        EvgeniuXP 09.10.12✎ 18:21 | 
        (0) Зачем OLE между двумя 8?     | |||
| 6
    
        hhhh 09.10.12✎ 18:22 | 
        (4)+ 
  |где |Ссылка.Номер=""00000000004"""; | |||
| 7
    
        EvgeniuXP 09.10.12✎ 18:22 | 
        (0) пишет OLE, сам использует COM.     | |||
| 8
    
        merlin789 09.10.12✎ 18:39 | 
        (1)Да, проверял
  (2)Говорит 0, хотя там не 0 (4)Запрос, отработал, но на выходе выдаетсяя COM-объект как его перевести в таблицу? (5),(7) Ошибочка вышла... А задача стоит через прямое подключение к базе некоторые документы из самописной конфы загружать Упростил код+ убрал блок подключения к базе Документ=База.Документы.РеализацияТоваровУслуг.НайтиПоНомеру("00000000004");//Док.Номер); //Для каждого товар из Документ.Товары цикл //Сообщить(Товар.Номенклатура.Наименование); //КонецЦикла; //ТаблУслуги=Документ.Услуги.Выгрузить(); Для каждого Услуга из Документ.Услуги цикл Сообщить(Услуга.Номенклатура.Наименование); КонецЦикла; | |||
| 9
    
        merlin789 09.10.12✎ 18:40 | 
        Заранее сорри, комменты не вырезал :[     | |||
| 10
    
        Kashemir 09.10.12✎ 18:44 | 
        (8) Говорит 0, хотя там не 0  - не поверишь, это значит там 0.     | |||
| 11
    
        Галахад гуру 09.10.12✎ 18:46 | 
        Йопта, тебе ж сказали: Дата.
  Документ=База.Документы.РеализацияТоваровУслуг.НайтиПоНомеру("00000000004", ТекущаяДата()) | |||
| 12
    
        merlin789 09.10.12✎ 18:46 | 
        (8) Я запросом в другой базе проверяю-там не ноль..     | |||
| 13
    
        merlin789 09.10.12✎ 18:51 | 
        (3),(11) its magic, but it's work!!
  Непонятно тогда почему реквизиты шапки он без даты тянет, а табличная часть только с датой? | |||
| 14
    
        Kashemir 09.10.12✎ 18:53 | 
        (13) Тебе действительно непонятно ?     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |