|
Подключение по 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) Тебе действительно непонятно ?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |