Текущее время: Сб, июл 19 2025, 00:28

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 16 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: 1С и R/3. Подключение через OLE2
СообщениеДобавлено: Пт, май 06 2005, 09:39 
Гость
Подскажите, может кто сталкивался с такой проблемой, не могут подключится к 1С из r/3 через OLE2.
Вот текст, который, я думаю , должен работать:

REPORT Z1CSTART .

TYPE-POOLS OLE2.

data: v7 type ole2_object.
data: rmtrade type ole2_object.

DATA: result type i.
create object v7 'V77S.APPLICATION'.

call method of v7 'RMTRADE' = rmtrade.

call method of v7 'INITIALIZE' = result
EXPORTING
#1 = rmtrade.

free object v7.

Может нужно транзакцией SOLE что-то настроить?


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, май 06 2005, 09:43 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, май 04 2005, 16:29
Сообщения: 687
Откуда: Нижневартовск->Москва
Пол: Мужской
Явным образом прописать CLSID в SOLE для 'V77S.APPLICATION' не помешает..

Нуи на локальной машине он, разумеется, должен быть зарегистрирован.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, май 06 2005, 09:58 
Гость
Прописал я CLSID явно - и все равно никакой разницы


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, май 06 2005, 10:10 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, май 04 2005, 16:29
Сообщения: 687
Откуда: Нижневартовск->Москва
Пол: Мужской
1.Что возвращает create object? (sy-subrc)
2.Из VBA такой же код работает? Я имею ввиду, например, эксельным макросом создаётся объект, исполняются методы?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, май 06 2005, 10:19 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, май 04 2005, 16:29
Сообщения: 687
Откуда: Нижневартовск->Москва
Пол: Мужской
Возможна также ситуация, что всё работает, но.. незаметно :D

Code:
  type-pools ole2.

  data: application type ole2_object.

  CREATE OBJECT application 'Excel.ApplicatioN'.
  check sy-subrc = 0.

  SET PROPERTY OF application 'Visible' = 1.
  FREE OBJECT application.


Вот такой код, например, запустит эксель и тут же его закроет. Просто мелькнёт что-то. Причём если не сказать ему выйти в визибл, то вообще ничего не заметишь..


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, май 06 2005, 11:06 
Гость
При create object возвращается SY-SUBRC = 0.

Из VBA я не запускал еще 1С, зато запускал из другой 1С.
И параметра VISIBLE там вообще не нужно.


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, май 06 2005, 11:42 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, май 04 2005, 16:29
Сообщения: 687
Откуда: Нижневартовск->Москва
Пол: Мужской
То, что visible не нужно - это понятно. Я для примера excel это написал. Прикол-то главный в том, что по выходу из программы объекты созданные в программе закрываются. Сразу и быстро.

Могу сказать одно - раз объект создан (sy-subrc = 0), то методы тоже должны вызываться :)

Кстати, в V7 после создания должно появиться что-то типа 'OBJHOLE2####', и в rmtrade затем тоже.

PS Я вообще-то подхожу с абстрактных позиций. 1С у меня нету :wink:
Я к тому, что не знаю как выглядит объект. Может просто нужно как-то по-другому звать initialize. Например:
call method of RMTRADE 'INITIALIZE' = result.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, май 06 2005, 17:38 
Ассистент
Ассистент

Зарегистрирован:
Пт, май 06 2005, 17:32
Сообщения: 33
Откуда: Кишинёв
Господа,
если Вы знаете методы 1С, то метод 'Initialize' имеет 3 параметра.
В SOLE 1С регистрируется просто как V77S.APPLICATION ... или по-другому в зависимости от версии 1С (моно, сеть или SQL).
Если есть вопросы - обращайтесь, я такой интерфейс уже делал (в том числе работал и с метаданными)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, май 10 2005, 09:32 
Гость
Привет, Anatoly!
Я сам добился того, что 1С запускается из R/3.
И без регистрации в SOLE.
А если не жаль, то поделись куском рабочего кода ABAP-программы (примером) для обмена с 1С.


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения: Подключение к 1С из R/3
СообщениеДобавлено: Ср, май 11 2005, 11:53 
Гость
Привет!
Вот пример подключения к 1С

DATA: v7 TYPE OLE2_OBJECT,
RMTrade TYPE OLE2_OBJECT,
rez_connect TYPE OLE2_OBJECT.
data: p1(2) type c value '/D',
p2(3) type c value ' /N',
p3(3) type c value ' /p',
p4(16) type c value '"NO_SPLASH_SHOW"',
Path1C(30) type c value 'D:\1C\1S_All',
User1C(20) type c value 'Виктор',
FullPath1C(100) type c.
concatenate p1 Path1C p2 User1C p3 into FullPath1C.

* Подключение к 1С Предприятие
CREATE OBJECT v7 'v77.Application'.
call method of v7 'RMTrade' = RMTrade.
CALL METHOD of v7 'Initialize' = rez_connect EXPORTING #1 = RMTrade #2 =
FullPath1C #3 = p4.
IF rez_connect = 0.
WRITE: / 'Не удалось подключится к указанной базе!', SY-MSGLI.
else.
WRITE: / 'Есть соединение к указанной базе!', SY-MSGLI.
ENDIF.


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, май 11 2005, 12:10 
Гость
Спасибо, Vegus!
Я уже сам написал похожий текст,
подключение к базе 1С нормально срабатывает.


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, май 13 2005, 12:23 
Старший специалист
Старший специалист

Зарегистрирован:
Вт, апр 05 2005, 14:15
Сообщения: 284
Лучше из 1С к САПу обращаться :) предсказуемей и возможностей обработки-вывода данных больше/легче :))


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, май 13 2005, 13:36 
Младший специалист
Младший специалист

Зарегистрирован:
Пт, окт 15 2004, 11:19
Сообщения: 65
Manicomio написал(а):
Лучше из 1С к САПу обращаться :) предсказуемей и возможностей обработки-вывода данных больше/легче :))


Закинь примерчик небольшой подключения к R/3 и простой SELECT, если не сложно...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, дек 22 2005, 16:28 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Вт, дек 06 2005, 11:22
Сообщения: 72
Откуда: Krivoy Rog
Если не сложно, поясните каким образом далее, после успешного соединения с базой 1С выкачать что-то из 1С в R/3, заранее спасибо ??? (кусочек листинга АВАР)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, дек 23 2005, 10:36 
Гость
Вот пример:
Code:
REPORT Z1CDEMO LINE-SIZE 140.

TYPE-POOLS OLE2.

DATA: v7         type ole2_object.
DATA: rmtrade type ole2_object.
DATA: it           type ole2_object.
DATA: schet     type ole2_object.

DATA: kod(10).
DATA: name(30).
DATA: result type i.

DATA: sumasnd(8) type p DECIMALS 2.
DATA: sumasnk(8) type p DECIMALS 2.
DATA: sumado(8)  type p DECIMALS 2.
DATA: sumako(8)  type p DECIMALS 2.
DATA: sumaskd(8) type p DECIMALS 2.
DATA: sumaskk(8) type p DECIMALS 2.

DATA: par(250).

par = '/DC:\1C\DEMOBASE\ /NАдмин /P /m'.
create object v7 'V77S.APPLICATION'.
call method of v7 'RMTRADE' = rmtrade .
result = 0.
call method of v7 'INITIALIZE' = result
  EXPORTING
    #1 = rmtrade
    #2 = par
    #3 = 'NO_SPLASH_SHOW'.
IF result = 0.
  write: / 'Ошибка открытия 1С!'.
  EXIT.
ENDIF.

perform test_it.

*&---------------------------------------------------------------------*
*&      Form  test_it
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM test_it.
    call method of v7 'CreateObject' = it
      exporting
        #1 = 'БухгалтерскиеИтоги'.
    call method of it 'ВключатьСубсчета'
      exporting
        #1 = -1
        #2 = ' '.
    call method of v7 'СчетПоКоду' = schet
      exporting
        #1 = '20'
        #2 = ' '.
      get property of schet 'Код' = kod.
      get property of schet 'Наименование' = name.
      write: / 'ОСВ по счету', kod, name, 'по субсчетам:'.
      skip.
    result = 0.
    call method of it 'ВыполнитьЗапрос' = result
      exporting
        #1 = '01.01.2005'
        #2 = '31.12.2005'
        #3 = schet
        #4 = ''
        #5 = ''
        #6 = 1.
    IF result <> 1.
      write: / 'Не выполнен бух. запрос!'.
      EXIT.
    ENDIF.
    result = 0.
    call method of it 'ВыбратьСчета' = result
      exporting
        #1 = ' '
        #2 = ' '
        #3 = ' '
        #4 = ' '.
    IF result <> 1.
      write: / 'Не выбраны счета!'.
      EXIT.
    ENDIF.
    WHILE result = 1.
      result = 0.
      call method of it 'ПолучитьСчет' = result
        EXPORTING
          #1 = ' '
          #2 = ' '.
      check result = 1.
      call method of it 'Счет' = schet.
      get property of schet 'Код' = kod.
      call method of it 'СНД' = sumasnd
        exporting
          #1 = ' '.
      call method of it 'СНК' = sumasnk
        exporting
          #1 = ' '.
      call method of it 'ДО' = sumado
        exporting
          #1 = ' '.
      call method of it 'КО' = sumako
        exporting
          #1 = ' '.
      call method of it 'СКД' = sumaskd
        exporting
          #1 = ' '.
      call method of it 'СКК' = sumaskk
        exporting
          #1 = ' '.
      write: / kod, sumasnd, sumasnk, sumado, sumako, sumaskd, sumaskk.
    ENDWHILE.
ENDFORM.                    " test_it


Принять этот ответ
Вернуться к началу
  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 16 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB