Решено Lotus, mssql и 1с - что-то вроде интеграции

Тема в разделе "Lotus - Программирование", создана пользователем anna, 29 май 2015.

  1. anna

    anna Lotus team
    Lotus team

    Регистрация:
    3 июн 2014
    Сообщения:
    304
    Симпатии:
    8
    Снова пофлеймить, товарищи. Вот здесь http://codeby.net/forum/threads/5834/page-3 пишут про интеграцию через xml, но что-то я не понимаю, о чем это?
    А пока - нужно работать с одной табличкой в mssql. Пользуемся odbc. Все бы ничего, но почему-то из некоторых полей GetValue отдает неполные данные (вместо 4 символов - три). Это что такое приключилось?
     
  2. alexas1

    alexas1 Lotus team
    Lotus team

    Регистрация:
    10 апр 2014
    Сообщения:
    562
    Симпатии:
    214
    выгрузка из 1С подготовленного отчёта в XML и засасывание его в нотус с генерацией доков на его основании (тут вариантов море).
    Как видно из техники, это полуавтомат. И не реалтайм.
    Эт ХЗ. Я строил свои (не одинэсные) таблички в MSSQL для обмена данными с нотусом реалтайм, проблем не наблюдалось (тоже одбц)
     
  3. savl

    savl Lotus team
    Lotus team

    Регистрация:
    28 окт 2011
    Сообщения:
    2.051
    Симпатии:
    146
    В 1С делается скрипт для выгрузки данных в файл xml, куда-то.
    Лотус читает этот файл и записывает данные в базу.

    Возможно идет обрезка из-за пробела или другого символа, который воспринимается как ненужный.

    Если есть возможность, то посмотрите LEI
    еще вариант:
    Lotus->SQL ->1с
    Lotus<SQL <-1с
    Если 1С уже sql, то можно дергать на прямую.

    У меня для Excel стоит надстройка, открывать dbf как xls, так что можно попробовать через офис дергать прямо из базы.
    Но на свой страх и рсик.
     
  4. garrick

    garrick Lotus team
    Lotus team

    Регистрация:
    26 окт 2009
    Сообщения:
    770
    Симпатии:
    50
    На сколько я помню, 1С не имеет определённой структуры данных. Таблицы и имена полей генерятся автоматически и могут отличатся на разных установках даже при одинаковой конфигурации 1С. Поэтому прямой доступ к БД 1С крайне нежелателен. Правильно говорят - надо через XML, причём в обе стороны, т.к. 1С тоже можно научить загружать XML, созданные в Lotus Notes.

    По поводу трёх символов вместо четырёх тоже придерживаюсь мнения что там что-то лишнее после третьего символа, его не видно, но оно там есть и ODBC воспринимает это как конец строки.
     
  5. alexas1

    alexas1 Lotus team
    Lotus team

    Регистрация:
    10 апр 2014
    Сообщения:
    562
    Симпатии:
    214
    1 Есть файл метаданных базы 1с. На его основе можно лепить вьюшки в сиквел автоматом (после каждого обновления) и получать через них реалтайм связку с нотусом.
    2 Если винда - OLE и COM в помощь. Тоже реалтайм без всякого гемора.
    XML, канеш, универсально но как-то не кошерно (хотя, смотря какая интеграция нужна). Имхо
     
  6. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.073
    Симпатии:
    299
  7. garrick

    garrick Lotus team
    Lotus team

    Регистрация:
    26 окт 2009
    Сообщения:
    770
    Симпатии:
    50
    А если завтра Lotus передет на ОС, отличную от Windows, то вся интеграция накроется медным тазом?
     
  8. alexas1

    alexas1 Lotus team
    Lotus team

    Регистрация:
    10 апр 2014
    Сообщения:
    562
    Симпатии:
    214
    Это да. Щща эт оч хороший вариант (я занимался интеграцией ещё на семёрке, тогда этой конфетки не было)
     
  9. garrick

    garrick Lotus team
    Lotus team

    Регистрация:
    26 окт 2009
    Сообщения:
    770
    Симпатии:
    50
  10. alexas1

    alexas1 Lotus team
    Lotus team

    Регистрация:
    10 апр 2014
    Сообщения:
    562
    Симпатии:
    214
    В COM,OLE - две стороны. Из 1с объекты нотус вполне доступны.
     
  11. anna

    anna Lotus team
    Lotus team

    Регистрация:
    3 июн 2014
    Сообщения:
    304
    Симпатии:
    8
    Оказывается, обрезается, потому что там тупо данные хранятся в nvarchar недостаточной длины - nvarchar(4) (а надо хранить 4 цифры :)), мсдн говорит, что нужно либо правильный тип данных ставить, либо добавлять 2 байта на специнформацию. %-)
    Зато они там номер месяца торжественно хранят в поле nvarchar длиной 20 байт! Эх, молодцы!
    Поскольку нам нужно только читать одну табличку.... да и не допроситься мне будет вебсервисов.
     
  12. savl

    savl Lotus team
    Lotus team

    Регистрация:
    28 окт 2011
    Сообщения:
    2.051
    Симпатии:
    146
    @garrick, а нам не дали webService :(
    делаем файликами xml , но в одну сторону.
    Предусматривали sql шину для обмена, на mysql, но отдельный продукт не захотели брать.
     
  13. alexas1

    alexas1 Lotus team
    Lotus team

    Регистрация:
    10 апр 2014
    Сообщения:
    562
    Симпатии:
    214
    ??? достаточно опубликовать базу на любом веб сервере. И вуаля - можно её открыть в бровзере. 5 минут работы в конфигураторе (если веб сервер уже стоит)
     
  14. garrick

    garrick Lotus team
    Lotus team

    Регистрация:
    26 окт 2009
    Сообщения:
    770
    Симпатии:
    50
    Только если вы используете виндусового лотус клиента. Попробуйте с линуксового домино сервера достучатся куда-нибудь через OLE или к нему.
     
  15. savl

    savl Lotus team
    Lotus team

    Регистрация:
    28 окт 2011
    Сообщения:
    2.051
    Симпатии:
    146
    @alexas1, не так понял, внешняя контора не стала писать WS для обмена.
     
  16. alexas1

    alexas1 Lotus team
    Lotus team

    Регистрация:
    10 апр 2014
    Сообщения:
    562
    Симпатии:
    214
    Да лехко. Из 1С в домино, и через OLE и, хоть, через веб. Я говорю, что инициатор подключения - 1С. К тому же трудно предположить, что ибм похерит виндовый клиент, а с него, как с посредника, всегда оле-коннект можно слабать, если говорить о инициаторе - нотус.
    Но лучше добавить в базу 1с документ для обмена с нотусом, опубликовать её в веб, получить к этому доку хттп доступ из домино, так ващще работа макс. на день. Такшта, я за веб доступ к 1с из домино.
     
Загрузка...

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