Имя: Пароль:
1C
1С v8
Обмен со сторонней программой
0 kolts23381
 
12.08.15
01:32
Делаю небольшую программу на с++. Нужно производить обмен с 1с. С выгрузкой из 1с определился. А вот с загрузкой есть два варианта формировать в программе xml файлы обмена и на стороне 1с читать их. Или в 1с прописать функцию которая будет обращаться напрямую к субд и оттуда читать. Тогда придется программно создавать документы справочники и т.д. Какой способ выбрать или может есть еще какие то. И какой из предложенных мной быстрей в работе
1 H A D G E H O G s
 
12.08.15
01:51
Пойдем нестандартно. Дерзко, стильно, молодежно.
Ввнесим блок обмена данных в отдельную dll, будем ее подгружать в c++. А также прикрутим к dll ее idispatch интерфейс и будем вызывать его через com обьект в 1С.

Чебынет?
2 H A D G E H O G s
 
12.08.15
01:53
Только в c++ это вылется в литры крови, пота и прочих жидкостей, поэтому забиваем на c++ и берем Delphi.
3 Gray776
 
12.08.15
01:54
(0) xml это же как раз для обмена между приложениями формат... Типа универсальный... но думаю через него медленне получится зато типа стандарт обмена хоть 1С хоть какая 2С )))
4 kolts23381
 
12.08.15
01:57
Я решаю проблему не организации интерфейса обмена а организацию самого обмена. С интерфейсом я определился обращение к субд через odbc драйвер. Вот что забирать - либо сформированные xml в формате понятном для 1с, либо читать таблицы базы данных и уже в 1с программно создавать объекты. Я думал может механизм обмена как то быстрее, работает без всяких проверок
5 Gray776
 
12.08.15
02:01
(4) Слушай а выгружаешь как из 1с также и загружай блин чего огород городить? выгружаю так загружаю эдак... или оба варианта сделай с возможностью выбора
6 Gray776
 
12.08.15
02:05
(5) Но ИМХО хмл более универсален малоли чего 1С "изобретет" с структурой базы, в очередном каком нибудь суперском обновлении. а xml все равно будет работать...
7 kolts23381
 
12.08.15
02:08
Загрузка в базу данных  - напрямую пишу в соответствующие таблицы. Таким образом в программе по загрузке нет ни строки кода. А вот по выгрузке в 1с увидел, что можно заморочиться со штатным обменом. Можно конечно сделал xml в обе стороны и даже потом делать обмен с любой базой создав предварительно правила обмена но мне это пока не нужно - слишком много дополнительных попочасов.