Текущее время: Пт, июл 18 2025, 23:54

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: Ahrefs [Bot]


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

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