Возникла необходимость переноса некоторых данных по проводкам из 7 в 8 (8.3.15.1565), обе базы файловые.
Выполняю подключение с и из клиентских процедур, и из серверных. Использую следующие объекты:
V1CEnterprise.Application
V77.Application
V77L.Application
Подключение проходит, COM объект получаю во всех случаях. Дальше выполняю запрос:
Таблица = Соединение.CreateObject("ТаблицаЗначений");
Запрос.Выполнить(ТекстЗапр);
Запрос.Выгрузить(Таблица);
Если Таблица <> 0 Тогда
Таблица.ВыбратьСтроки();
Пока Таблица.ПолучитьСтроку() = 1 Цикл
КонецЦикла;
КонецЕсли;
Но при попытке обратиться к полям таблицы (Таблица.СчетД, Таблица.СуммаОперации и т.д.) получаю ошибку "Поле объекта не обнаружено".
Делаю по-другому:
Операция = Соединение.CreateObject("Операция");
Операция.ВыбратьОперацииСПроводками(Объект.Период.ДатаНачала, Объект.Период.ДатаОкончания, "76.5");
Пока Операция.ПолучитьОперацию() = 1 Цикл
Сообщить(Операция);
Для Сч = 1 По Операция.КоличествоПроводок() Цикл
Операция.ПолучитьПроводкуПоНомеру(Сч);
Сообщить("СчетДт " + Операция.Дебет.Счет + " СчетКт " + Операция.Кредит.Счет);
КонецЦикла;
Прервать;
КонецЦикла;
И все, что я получаю в ответ - это значение COMОбъект, никаких чисел, строк, строковых идентификаторов на другие объекты, только COMОбъект и все.
Кто-нибудь с таким сталкивался? Как получить данные?
В том фрагменте ответ получаете правильно. Операция,Операция.Дебет.Счет,Операция.Кредит.Счет - это все COMОбъект
Получайте именно элементарные данные - Операция.Содержание Операция.СуммаОперации
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший