|
Получение данных 1С 7.7 из 1С 8.3 посредством OLE | ☑ | ||
|---|---|---|---|---|
|
0
bUbA
05.04.20
✎
16:51
|
Добрый день!
Возникла необходимость переноса некоторых данных по проводкам из 7 в 8 (8.3.15.1565), обе базы файловые. Выполняю подключение с и из клиентских процедур, и из серверных. Использую следующие объекты: V1CEnterprise.Application V77.Application V77L.Application Подключение проходит, COM объект получаю во всех случаях. Дальше выполняю запрос: ТекстЗапр = "//{{ЗАПРОС(Сформировать) |Период с '" + НачПериода + "' по '" + КонПериода + "'; |ОбрабатыватьОперации Все; |ДатаОперации = Операция.ДатаОперации; |СуммаОперации = Операция.СуммаОперации; |СчетД = Операция.Дебет.Счет; |СчетК = Операция.Кредит.Счет; |ТекущийДокумент = Операция.ТекущийДокумент; |Контрагенты = Операция.Дебет.Контрагенты, Операция.Кредит.Контрагенты; |Договоры = Операция.Дебет.Договоры, Операция.Кредит.Договоры; |Условие(СчетД=""""76.5""""); |//}}ЗАПРОС"; Таблица = Соединение.CreateObject("ТаблицаЗначений"); Запрос.Выполнить(ТекстЗапр); Запрос.Выгрузить(Таблица); Если Таблица <> 0 Тогда Таблица.ВыбратьСтроки(); Пока Таблица.ПолучитьСтроку() = 1 Цикл КонецЦикла; КонецЕсли; Но при попытке обратиться к полям таблицы (Таблица.СчетД, Таблица.СуммаОперации и т.д.) получаю ошибку "Поле объекта не обнаружено". Делаю по-другому: Операция = Соединение.CreateObject("Операция"); Операция.ВыбратьОперацииСПроводками(Объект.Период.ДатаНачала, Объект.Период.ДатаОкончания, "76.5"); Пока Операция.ПолучитьОперацию() = 1 Цикл Сообщить(Операция); Для Сч = 1 По Операция.КоличествоПроводок() Цикл Операция.ПолучитьПроводкуПоНомеру(Сч); Сообщить("СчетДт " + Операция.Дебет.Счет + " СчетКт " + Операция.Кредит.Счет); КонецЦикла; Прервать; КонецЦикла; И все, что я получаю в ответ - это значение COMОбъект, никаких чисел, строк, строковых идентификаторов на другие объекты, только COMОбъект и все. Кто-нибудь с таким сталкивался? Как получить данные? |
|||
|
1
skafandr
05.04.20
✎
18:03
|
В том фрагменте ответ получаете правильно. Операция,Операция.Дебет.Счет,Операция.Кредит.Счет - это все COMОбъект
Получайте именно элементарные данные - Операция.Содержание Операция.СуммаОперации |
|||
|
2
ДенисЧ
05.04.20
✎
18:17
|
ообщить("СчетДт " + Операция.Дебет.Счет.Код + " СчетКт " + Операция.Кредит.Счет.Код);
Что говорит? |
| Форум | Правила | Описание | Секции | Поиск |