• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

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

  • Автор темы anna
  • Дата начала
A

anna

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

alexas1

Green Team
10.04.2014
1 202
225
BIT
34
пишут про интеграцию через xml, но что-то я не понимаю
выгрузка из 1С подготовленного отчёта в XML и засасывание его в нотус с генерацией доков на его основании (тут вариантов море).
Как видно из техники, это полуавтомат. И не реалтайм.
отдает неполные данные (вместо 4 символов - три)
Эт ХЗ. Я строил свои (не одинэсные) таблички в MSSQL для обмена данными с нотусом реалтайм, проблем не наблюдалось (тоже одбц)
 

savl

Lotus Team
28.10.2011
2 597
310
BIT
159
пишут про интеграцию через xml, но что-то я не понимаю, о чем это?
В 1С делается скрипт для выгрузки данных в файл xml, куда-то.
Лотус читает этот файл и записывает данные в базу.

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

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

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

garrick

Lotus Team
26.10.2009
1 349
151
BIT
164
На сколько я помню, 1С не имеет определённой структуры данных. Таблицы и имена полей генерятся автоматически и могут отличатся на разных установках даже при одинаковой конфигурации 1С. Поэтому прямой доступ к БД 1С крайне нежелателен. Правильно говорят - надо через XML, причём в обе стороны, т.к. 1С тоже можно научить загружать XML, созданные в Lotus Notes.

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

alexas1

Green Team
10.04.2014
1 202
225
BIT
34
На сколько я помню, 1С не имеет определённой структуры данных.
1 Есть файл метаданных базы 1с. На его основе можно лепить вьюшки в сиквел автоматом (после каждого обновления) и получать через них реалтайм связку с нотусом.
2 Если винда - OLE и COM в помощь. Тоже реалтайм без всякого гемора.
XML, канеш, универсально но как-то не кошерно (хотя, смотря какая интеграция нужна). Имхо
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 933
609
BIT
177
 
A

anna

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

savl

Lotus Team
28.10.2011
2 597
310
BIT
159
@garrick, а нам не дали webService :(
делаем файликами xml , но в одну сторону.
Предусматривали sql шину для обмена, на mysql, но отдельный продукт не захотели брать.
 

alexas1

Green Team
10.04.2014
1 202
225
BIT
34
да и не допроситься мне будет вебсервисов.
а нам не дали webService
??? достаточно опубликовать базу на любом веб сервере. И вуаля - можно её открыть в бровзере. 5 минут работы в конфигураторе (если веб сервер уже стоит)
 

savl

Lotus Team
28.10.2011
2 597
310
BIT
159
@alexas1, не так понял, внешняя контора не стала писать WS для обмена.
 

alexas1

Green Team
10.04.2014
1 202
225
BIT
34
Да лехко. Из 1С в домино, и через OLE и, хоть, через веб. Я говорю, что инициатор подключения - 1С. К тому же трудно предположить, что ибм похерит виндовый клиент, а с него, как с посредника, всегда оле-коннект можно слабать, если говорить о инициаторе - нотус.
Но лучше добавить в базу 1с документ для обмена с нотусом, опубликовать её в веб, получить к этому доку хттп доступ из домино, так ващще работа макс. на день. Такшта, я за веб доступ к 1с из домино.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!