Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

OLE соединение Delphi 6 и 1C [Delphi]


Zhenya ©   (2006-01-23 14:02:00) 

Помогите пожалуйста не могу определить тип значения! Функция ТипЗначения() работать не хочет. Почему не знаю=(((


Zhenya   (2006-01-23 14:37:00) [1]

Ошибка такая: Method 'ТипЗначения' not supported by automation object=(


Zhenya   (2006-01-23 14:35:00) [2]

1. Сорри Delphi 7
2. Исходник:
OlePayments := Unassigned;
 OleGroup    := Unassigned;
 OleType     := Unassigned;
 Result := TDBPaymentList.Create;
 Result.OwnsObjects := false;
 Result.Count := 0;

 try
 if not VarIsEmpty(Ole1C) then
   begin
    OlePayments :=  Ole1C.CreateObject('Документ.Выписка');
    OleGroup    :=  Ole1C.CreateObject('Справочник.Контрагенты');
    OleGroup.НайтиПоКоду('00000118');

    if (not VarIsEmpty(OlePayments))  then
    begin
         if OlePayments.ВыбратьДокументы(DateToStr(DDateFrom),DateToStr(DDateTo)) > 0 then
         while OlePayments.ПолучитьДокумент > 0 do
          begin
           OlePayments.ВыбратьСтроки;

           while OlePayments.ПолучитьСтроку = 1 do
               if Ole1C.ПустоеЗначение(OlePayments.ПолучитьАтрибут('Субконто1')) = 0 then      // аналогичная в плане обращения функция работает
                   if Ole1C.ТипЗначения(OlePayments.ПолучитьАтрибут('Субконто1')) = 11 then    // не работает
                    if OlePayments.ПолучитьАтрибут('Субконто1').Родитель.Наименование = OleGroup.Наименование then
                       begin
                         DBPayment := TDBPayment.Create;

                         TDBPayment(DBPayment).IMPORT := true;
                         TDBPayment(DBPayment).ID := OlePayments.ПолучитьАтрибут('НомерДокВходящий');;
                         TDBPayment(DBPayment).FACT_DATE := OlePayments.ПолучитьАтрибут('ДатаДокВходящий');;
                         TDBPayment(DBPayment).AMOUNT := OlePayments.ПолучитьАтрибут('Приход');
                         TDBPayment(DBPayment).CUSTOMER := OlePayments.ПолучитьАтрибут('Субконто1').Наименование;
                         TDBPayment(DBPayment).CUSTOMER_ID := OlePayments.ПолучитьАтрибут('Субконто1').Код;
                         //TDBPayment(DBPayment).DESCRIPTION := OlePayments.ПолучитьАтрибут('Комментарий');

                         Result.Add(DBPayment);
                       end;
           end;
    end;
 end;
 finally
 end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо