Lotus и 1С

Тема в разделе "Lotus - Программирование", создана пользователем -, 5 дек 2005.

Статус темы:
Закрыта.
  1. Гость

    Интеграция 1С и Лотуса, возможно ли такое? То есть средствами лотуса внести некое изменение в базу 1с. Или наоборот.
    начальство поставила такую задачу. суть состоит в том что при создании или при появлении определенного типа документа или по событию в базе лотуса он должен сообщить об этом 1с и передать какие нибудь параметры(или изменить некоторые записи в 1с). и после 1с на основе переданных или измененных данных выполнить некоторые действия.
     
  2. Гость

    А как можно открыть БД 1С в Лотусе, для перенесения данных в Лотус?
    Может у кого завалялся примерчик. Желательно с CreateObject. B)
     
  3. Гость

    <!--QuoteBegin-Юлия+16:12:2005, 12:46 -->
    <span class="vbquote">(Юлия @ 16:12:2005, 12:46 )</span><!--QuoteEBegin-->А как можно открыть БД 1С в Лотусе, для перенесения данных в Лотус?
    Может у кого завалялся примерчик. Желательно с CreateObject. :rolleyes:
    [snapback]28439" rel="nofollow" target="_blank[/snapback]​
    [/quote]

    класс ODBCConnection?
     
  4. DNT

    DNT Постоялец форума
    Lotus team

    Регистрация:
    12 окт 2005
    Сообщения:
    592
    Симпатии:
    7
    Стоит задача: формировать переодически в Lotus документы на основе данных из таблиц 1С.
    Кто то чем-то поможет? Или остановит может...
    Заранее спс.
     
  5. oshmianski

    oshmianski Гость

    а в чем, собственно, трудность то?
    LSX для ODBC или ADO, тогда можно и напрямую читать из таблиц.
     
  6. oshmianski

    oshmianski Гость

    см в help Uselsx "*LSXODBC"
     
  7. oshmianski

    oshmianski Гость

    упс, я тут побеседовал со знатоками 1С. и не все так просто оказывается. что за 1С? как данные хранятся? можно ли к бд 1С настроить ODBC источник? можно ли напрямую стучаться к бд 1С?

    зы: что касается ADO, то вот
     
  8. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Я сделал через COM. :blink:
    CreateObject("V8.COMConnector") и вперед.
     
  9. DNT

    DNT Постоялец форума
    Lotus team

    Регистрация:
    12 окт 2005
    Сообщения:
    592
    Симпатии:
    7
    Да, господа, информационный передоз мне сегодня гарантирован. :blink: Немного разгребусь с тем что вы посоветовали - появятся более конструктивные вопросы. Пока беру тайм-аут и ухожу с головой в маны, хелпы и т.д.
    Всем мани сенкс.
     
  10. rm2005

    rm2005 Гость

    Добрый день!
    У меня задача получить справочник (таблицу) из 1с. Подскажите каким методом (если можно пример) можно достучаться до данных в этом справочнике.
    Код (Text):
     
    Dim session As New NotesSession
    Dim OLE As Variant 
    Dim Sprav As Variant

    Set OLE = createObject("V77.Application")
    rez=OLE.Initialize(OLE.RMTrade,"/D"+"\\server\"+" /N"+"Админ"+" /P"+"12345","")
    Далее пытаюсь открыть справочник, но вылетает ошибка:
    Set Sprav=rez.CreateObject("Справочник.Сотрудники")
     
  11. root

    root Гость

    Для: rm2005
    в файле DD(1C) есть соответствие dbf.
    далее
    class ODBCConnection
    class ODBCQuery
    + DSN источник
     
  12. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Для: rm2005
    Если не ошибаюсь, то надо использовать метод OLE.Connect после Set OLE = createObject("V77.Application")
     
  13. root

    root Гость

    Как получить данные из 1С(dbf) Не устанавливая 1С.
    1 Скачиваем Microsoft OLE DB Provider for Visual FoxPro с сайта производителя
    2. В 1Сv7.DD ищим нужный нам DBF файл
    Код (Text):
    #==TABLE no 91   : Справочник Сотрудники
    # Name  |Descr                       |Type[A/S/U]|DBTableName|ReUsable
    T=[b]SC925[/b]  |Справочник Сотрудники       |A      |SC925  |1      
    #-----Fields-------
    # Name   |Descr           |Type|Length|Precision
    F=ID        |ID object        |C  |9     |0    
    F=PARENTID |ID parent obj     |C  |9     |0    
    F=CODE   |object code        |C  |8  |0    
    F=[b]DESCR   |object description [/b] |C  |40   |0     
    и т.д
    3. в LotusScript пишим
    Код (Text):
    Dim r_recordset As Variant
    Dim sPath_to_dir As String
    Dim sDbfForSql As String
    Set conn=CreateObject("ADODB.Connection")
    sPath_to_dir ="C:\1C" 'Каталог БД
    sDbfForSql="sc925" ' "это файл можно и с расширением. В моем случае справочник сотрудники взятый из 1Cv7.DD файла
    conn.Open |Provider=VFPOLEDB.1;Data Source=|+sPath_to_dir+|;Extended Properties=""|
    Set r_recordset=CreateObject("ADODB.recordset")
    sql="select * from "+ sDbfForSql
    r_recordset.Open  sql , conn    
    While Not( r_recordset.eof)
    Msgbox (r_recordset("DESCR").value)
    r_recordset.movenext
    Wend
    3. И усе.
    P.S Никакой головной боли с HASP защитой и Юстициями. Все легально.
     
  14. rm2005

    rm2005 Гость

    Для: root
    Спасибо за пример. Отлично работает, только одна неувязочка у меня 1С на SQL. :)
     
  15. root

    root Гость

    Для: rm2005
    Тогда еще легче
    Код (Text):
    Provider=SQLOLEDB.1;Password=12345;Persist Security Info=True;User ID=sa;Initial Catalog=LotusTest;Data Source=192.168.x.x
     
  16. Klido

    Klido Гость

    Уважаемые коллеги.
    Вроде простейшая задача, но у моих коллег что-то не получается.
    А именно, надо из 1С подключиться к Lotus Notes базе, взять там документ, а в нем взять содержимое поля (rtf) и дальше поработать с ним.
    Так вот всё коннектится, документы находятся, поля меняются напрямую .ReplaceItemValue, сохраняются...
    Но вот банально взять значение поля вроде
    Поле=документЛотус.GetFirstItem("ИмяПоля").Values(0) - ругается.
    По форумам вычитал, что Поле=документЛотус.GetFirstItem("ИмяПоля").Текст() значение текстового возвращает, но теперь траблы с именем вложения в rtf... Там ещё и как бы в цикле надо объекты вложенные выцеплять...
    Смотрел как они пробовали с 10-к вариантов -ошибки примерно похожие: то тип переменных не поддерживается (лотусина возвращает массивы), то синтаксис обращения к массиву не тот, то коллекция какая-то не поддерживается...
    Хотелось бы чего-то вроде
    name$ =notesdocument.GetFirstItem("Doc_Attach").EmbeddedObject(0).Name() но тожене желает нормально отработать...

    Может кто поделится простейшим примером кода, чтоб время не терять, в сети как-то скудно, есть http://www.kb.mista.ru/article.php?id=679 , но там касательно СОМа (у нас OLE) и пример не работает именно при обращении к значениям полей... На форумы !С-е отписал, но полдня никаких мнений...
     
  17. NickProstoNick

    NickProstoNick Статус как статус :)

    Регистрация:
    22 авг 2008
    Сообщения:
    1.766
    Симпатии:
    39
    Всем привет!
    Вот поступила задача организовать Import/Export из/в 1С.
    У кого-нить есть наработки? Есть ли у 1С какие-нить COM-объекты?
    Куда копать?

    Всем за ранее спасибо
     
  18. Klido

    Klido Гость

    в 1С - xml (даже особо ничего не меняя - выплюнуть, а на стороне 1С разобрать как надо)
    в Lotus - OLE, COM, xml
     
  19. nadezdaMP

    nadezdaMP Гость

    Klido
    а поподробнее? ссылки можете кинуть? тоже надвигается подобная задачка =)
     
  20. Klido

    Klido Гость

Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей