powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Обмен данными с 1С
23 сообщений из 23, страница 1 из 1
Обмен данными с 1С
    #32924933
Louder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дано: Складская программа для предприятий питания (MS SQL 2000 + PB8)

Задача:
В скором будущем встанет задача обмена данными с 1С.
Не знаю с какой стороны подступиться. Что именно будет передаваться пока не определились, но предположительно Контрагенты, Номенклатура, Единицы измерения, Проводки.

Варианты решения: По-моему наиболее симпатичный вариант - OLE. Но билдер может некорректно работать, например, с типами данных 1С.

Сталкивался ли кто-нибудь с аналогичной задачей?
Подскажите где копать по этому поводу?
...
Рейтинг: 0 / 0
Обмен данными с 1С
    #32924952
Napalm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
конкретно с передачей в РВ не сталкивался, но делаю переодический обмен между 1С БД, также между 1С софтиной на дельфях (БД на MSSQL), и между 1С и Аксаптой. Во всех случаях делал 3 мя способами:
1. Через Exel;
2. через dbf;
3. через OLE.

Тебя что именно интересует?
...
Рейтинг: 0 / 0
Обмен данными с 1С
    #32925013
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LouderСталкивался ли кто-нибудь с аналогичной задачей?Сталкивался. Все достаточно просто, берешь, соединяешься, выполняешь 1С-ные команды, отсоединяешься. Особых подводных камней не обнаруживалось. За исключением того, что нормально к 1С подключиться можно начиная с PB7. Ну и внутренние глюки 1С - сталкивался с такой ситуацтей, когда 1С упорно
пыталась для документа, содержащего 10 строк в подвальной части вернуть 11-ю строку и падала...
LouderПодскажите где копать по этому поводу?
Почтиать руководство по языку 1С (это ещё то творение :) )
Если база 1С тоже на MS SQL, то можно по триггерам передавать, но здесь есть некоторые особенности.
Вот, могу привести пример. Здесь идет чтение справочника контрагентов. Если я ничего не напутал, то, в принципе, должно работать.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
OLEObject obj1C,spr
long ll_status
boolean lb
string s,s1,s2,ls_1CPath

obj1C = CREATE OLEObject
ll_status = obj1C.ConnectToNewObject("V77.Application")
if ll_status <>  0  then
  MessageBox(String(ll_status), 'Ошибка подключения к 1С')
  return
else
  //Путь до конфигурации 1С
  ls_1CPath = "C:\1C\CONFIG"
  //Здесь можно передавать имя пользователя и пароль и указать,
  // чтобы splash screen не выскакивал 
  lb =  obj1C.Initialize(obj1C.RMTrade, "/D ~"" + ls_1CPath, "~"") 
  if not lb then
    MessageBox('', 'Ошибка подключения к 1С')
    return
  end if
end if
s = "Справочник.Контрагенты" 
spr = obj1C.EvalExpr('СоздатьОбъект("' + s + '")')
spr.ВыбратьЭлементы( 0 );
do while spr.ПолучитьЭлемент( 1 ) =  1 
  if spr.ПометкаУдаления() =  1  then continue
  s1 = spr.Код
  s2 = spr.Наименование
loop
spr.DisconnectObject()
obj1C.DisconnectObject()

DESTROY spr
DESTROY obj1C
...
Рейтинг: 0 / 0
Обмен данными с 1С
    #32925019
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Napalm1. Через Exel;
Что из себя представляет схема обмена данными в этом случае?
LouderВарианты решения: По-моему наиболее симпатичный вариант - OLE. Но билдер может некорректно работать, например, с типами данных 1С.
Варианты зависят от требований, которые предъявляются к схеме обмена данными.
...
Рейтинг: 0 / 0
Обмен данными с 1С
    #32925098
Louder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Napalmконкретно с передачей в РВ не сталкивался, но делаю переодический обмен между 1С БД, также между 1С софтиной на дельфях (БД на MSSQL), и между 1С и Аксаптой. Во всех случаях делал 3 мя способами:
1. Через Exel;
2. через dbf;
3. через OLE.

Тебя что именно интересует?
С Аксаптой тоже можно через OLE работать?

Хотелось бы использовать OLE, но не все бух. системы это поддерживают. Это значит, что всё равно придется писать модуль обмена данными через dbf или текст. Мне вот говорят ещё в Галактику как-то выгрузить надо будет.

Скорее всего нужно реализовать такой модуль обмена данными, который потом можно было-бы адаптировать к другим бух. системам.
...
Рейтинг: 0 / 0
Обмен данными с 1С
    #32925099
Louder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Локшин МаркНу и внутренние глюки 1С - сталкивался с такой ситуацтей, когда 1С упорно
пыталась для документа, содержащего 10 строк в подвальной части вернуть 11-ю строку и падала...
Это в какой версии?
Локшин Марк
Вот, могу привести пример. Здесь идет чтение справочника контрагентов. Если я ничего не напутал, то, в принципе, должно работать.

Спасибо за пример. Схему работы понял. Буду копаться в руководствах 1С.
...
Рейтинг: 0 / 0
Обмен данными с 1С
    #32925100
Louder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Локшин МаркВарианты зависят от требований, которые предъявляются к схеме обмена данными.
Схема будет обсуждаться на следующей недели. Пока просто хочу быть в курсе возможных вариантов, чтобы на совещании можно было что-то предложить.
...
Рейтинг: 0 / 0
Обмен данными с 1С
    #32925130
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LouderЭто в какой версии?
1C версии 7.7, PB 9
...
Рейтинг: 0 / 0
Обмен данными с 1С
    #32925258
Фотография Deosfen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня 1С 7.7 и SQL Server 2000, не использовал OLE, все решено на самой БД,
запускается Job по расписанию.
...
Рейтинг: 0 / 0
Обмен данными с 1С
    #32925610
Louder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как в бух. системах насчет обмена через XML?
Вроде-бы 1С совместно с Microsoft это активно продвигают.
Кто-нибудь пробовал реализовать обмен данных через XML?
Насколько это трудоемкая работа?
...
Рейтинг: 0 / 0
Обмен данными с 1С
    #32927198
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LouderА как в бух. системах насчет обмена через XML?
Что XML, что dbf - разница не большая. Все равно этим вы полной унификации не достигните. Просто будете пользоваться раскрученным и переангажированным стандартом :)
...
Рейтинг: 0 / 0
Обмен данными с 1С
    #32930005
alexis glinski
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
думаю 1C-никам будет интересна ссылка
...
Рейтинг: 0 / 0
Обмен данными с 1С
    #32930024
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Локшин МаркЧто XML, что dbf - разница не большая. Все равно этим вы полной унификации не достигните. Просто будете пользоваться раскрученным и переангажированным стандартом :)
Ну я бы не сказал что там разница не большая.... разница там очень даже большая :)
У XML есть пара несомненных плюсов - никогда не забудешь какие данные в какую колонку должны идти. И любая "строка" может иметь собственный набор полей.
В минусах - далеко не все системы понимают XML как родного. Может потребоваться делать собственный конвертор XML->CSV или XML->DBF прежде чем отдать данные в базу получатель.
Но как транзитный формат XML просто замечателен. А если база (как ASA9 например) умеет работать с XML напрямую такие вкусные штуки можно делать! Уууу!
...
Рейтинг: 0 / 0
Обмен данными с 1С
    #32930479
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlУ XML есть пара несомненных плюсов - никогда не забудешь какие данные в какую колонку должны идти. И любая "строка" может иметь собственный набор полей.
И что с того? Это же надо еще как-то обрабатывать. Ведь структуры то 1 в 1 не совпадают, даже между различными конфигурациями 1С плавают, не говоря уже про различные программы. И преобразования могут быть весьма не тривиальными. Чем это принципиально отличается от набора dbf файлов? Никакой универсальности достичь не удастся.
...
Рейтинг: 0 / 0
Обмен данными с 1С
    #32930557
Andrew Nagorny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Билдером с ОЛЕ лучше не работать плотно.
наилучшый вариант это писать например на ДЕЛФИ ДЛЛ. и Билдером пользоваться ею.
...
Рейтинг: 0 / 0
Обмен данными с 1С
    #32931779
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Локшин МаркИ что с того? Это же надо еще как-то обрабатывать. Ведь структуры то 1 в 1 не совпадают, даже между различными конфигурациями 1С плавают, не говоря уже про различные программы.
Так я ж это сразу и сказал, что в минусах не очень простой перевод данных обратно из XML в базу.
XML прекрасно подходит как транспортный протокол для передачи данных между базами с разной структурой. Он позволяет представлять логический блок данных в виде одной записи не взирая на сложность представления самих данных. И этим он очень выгодно отличается от чисто табличных форматов.
Но процедура преобразования из XML обратно в табличный вид действительно далеко не всегда тривиальна.
...
Рейтинг: 0 / 0
Обмен данными с 1С
    #32932675
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlОн позволяет представлять логический блок данных в виде одной записи не взирая на сложность представления самих данных. И этим он очень выгодно отличается от чисто табличных форматов.
Но процедура преобразования из XML обратно в табличный вид действительно далеко не всегда тривиальна.
Короче говоря, мое мнение таково, что в этом случае игра не стоит свеч.
Andrew NagornyБилдером с ОЛЕ лучше не работать плотно.
наилучшый вариант это писать например на ДЕЛФИ ДЛЛ. и Билдером пользоваться ею.
А какие-либо конкретные проблемы есть (типа утечек памяти и т.д.)? Т.е. если уже все работает, может я чего не замечаю? :)
...
Рейтинг: 0 / 0
Обмен данными с 1С
    #32932761
Andrew Nagorny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
>А какие-либо конкретные проблемы есть (типа утечек памяти и т.д.)? Т.е. >если уже все работает, может я чего не замечаю? :)

Не совсем понял вопрос,но попробую ответить. Билдер не удобен в качестве средства работающего с СОМ. Нет импорта интерфейсов, нормально не отработана обработка ошибок, может еще что можно по мелочи накопать. Для разового действия он еще подойдет. А там где требуется постоянное взаимодействие систем лучше использовать средства более подходящие для этого.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Обмен данными с 1С
    #36842384
посмотри вот этот обмен: http://www.intelav.ru/owned/change1c может тебе подойдет. Мне помог, там по расписанию все можно настраивать. Хотя немного платная, но окупится должна быстро из за большого функционала
...
Рейтинг: 0 / 0
Обмен данными с 1С
    #36847819
Есть такое
Было сделано на уровне БД со стороны моего приложения PB & ASA
и на уровне "обработок" 1С- никами

В базе ASA были заведены таблы для обмена данными

Мои процедуры выкладывали и забирали данные по запросу из клиентской части или по event в базе

Никакого оле и никакого существенного изменения клиентской части это вообще не потребовало

А вообще сращивание разнородных систем это задница и лучше таким в принципе не заниматься
...
Рейтинг: 0 / 0
Обмен данными с 1С
    #36847823
Те данные в двух разных системах никогда не будут совпадать и вы устанете все это выверять и объяснять пользователям
...
Рейтинг: 0 / 0
Обмен данными с 1С
    #36847831
И зачем я это пишу - тема 2005г...

Модератор - почему нельзя убить или отредактировать ненужное сообщение???
...
Рейтинг: 0 / 0
Обмен данными с 1С
    #36847957
Фотография Ikar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гриценко А.В....
Модератор - почему нельзя убить или отредактировать ненужное сообщение???
Если Вы про свое собщение - то это не к модераторам, а к разработчику форума Алексу Сиблеву.

Если Вы про то, что модератор не убил сообщение Артура Вагапова , который "поднял из мертвых" тему 205 года, то на это нет основания, т.к. его пост осмыслен и отвечает на заданный впорос, хоть и с пятилетним опозданием... Как знать, возможно кто-то столкнется с такой же проблемой в ближайшем времени и будет очень раз этому собщению... Союственно, из этих же соображений тему закрывать никто не собирается...
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Обмен данными с 1С
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]