Модераторы: stron
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Доступ через v81.Application 
:(
    Опции темы
TongerenS
Дата 13.10.2009, 09:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 13.11.2008
Где: REDLINE

Репутация: нет
Всего: нет



Добрый день!

Хотелось бы спросить у знающих такой вопрос. 

Пишу в Builder C++,  подключение к 1С 8.1. 

Есть такой код:

Variant Ole1C=CreateOleObject("v81.Application"); //Подключение к версии 8.1
AnsiString ConnectLine="File=D:\\1CM; Usr="+Form1->Edit1->Text+"; Pwd="+Form1->Edit2->Text+"";
Ole1C.OleProcedure("Connect", ConnectLine.c_str());

Variant unDoc = Ole1C.OlePropertyGet("Документы").OlePropertyGet("Товар").OleFunction("НайтиПоРеквизиту", "Организация", NameOrg);




Отобранный по реквизиту документ Товар содержит в себе табличную часть "ТаблицаМатериалов".

Как перебрать данные этой таблицы из С++?

Если можно подскажите пожалуйста, что-то не выходит у меня.
PM MAIL   Вверх
Itsys
Дата 13.10.2009, 11:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1338
Регистрация: 21.1.2008
Где: г. Москва

Репутация: 7
Всего: 34



На C++ не писал никогда, но к табличной части можно обратиться через точку.
так
Код

Variant tblDoc = unDoc.ТаблицаМатериалов

или так:
Код

Variant tblDoc = unDoc.OlePropertyGet("ТаблицаМатериалов");


PM MAIL WWW Skype   Вверх
TongerenS
Дата 13.10.2009, 11:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 13.11.2008
Где: REDLINE

Репутация: нет
Всего: нет



Через точку не выйдет в С++

Variant Ole1C=CreateOleObject("v81.Application"); //Подключение к версии 8.1

AnsiString ConnectLine="File=D:\\1CM; Usr="+Form1->Edit1->Text+"; Pwd="+Form1->Edit2->Text+"";

Ole1C.OleProcedure("Connect", ConnectLine.c_str());

Variant unDoc = Ole1C.OlePropertyGet("Документы").OlePropertyGet("Товар").OleFunction("НайтиПоРеквизиту", "Организация", NameOrg);

Variant ooo = unDoc.OleFunction("ПолучитьОбъект");
Variant kolvo = ooo.OlePropertyGet("ТаблицаТоваров").OleFunction("Количество");


int i;
for (i = 1; i < kolvo; i++)
    {
  
// Как в этом месте отображать например на экране значение колонки таблицы Наименование?
// Должно быть по аналогии С 1С-овским  диалектом т.е. Сообщить (ооо.ТаблицаТоваров[м].Наименование);
// только через OlePropertyGet в подключении OLE
// 


   }



Это сообщение отредактировал(а) TongerenS - 13.10.2009, 11:26
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "1C: Предприятие, SAP, ERP и учётные системы"
stron

Запрещается!

1. Обсуждение крэков, кейгенов и других подобных программ

Пробуйте искать сами или обращайтесь в приват к участникам форума.

Темы с подобными вещами будут немедленно удаляться, а нарушители - получать предупреждения.

Также запрещается обсуждение проблем работы этих программ (что куда вписать, куда что скопировать и т.п...)

2. Давать ссылки на взломанные продукты

  • Пожалуйста, пользуйтесь поиском перед тем, как задать вопрос - возможно ответ уже есть на форуме.
  • Название темы должно отражать её суть
  • Действия модераторов можно обсудить здесь

С уважением, stron, Pegas.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | 1C: Предприятие, SAP, ERP и учётные системы | Следующая тема »


 




[ Время генерации скрипта: 0.0384 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.