|
Интеграция 1С с iFOBS Document Integration Tool | ☑ | ||
---|---|---|---|---|
0
rene_den
27.09.16
✎
16:52
|
День добрый коллеги,
Столкнулся с проблемой. Нужно программно из 1С8 создать доки в клиентбанке. Есть DLL и описание к ней. С помощью нее через com соединение подключаемся и работаем с клиентбанком. Из того что получилось: ОбъектiFOBSDocIntegrator = Новый COMОбъект("iFOBSDocIntegrator.DocOperation"); Результат = ОбъектiFOBSDocIntegrator.Login("***","***","***","D:\***_key\***_Cert\"); А теперь нужно выполнить функцию InsertDocs function InsertDocs(const ADocList: WideString): WideString; safecall; Пример XML-строки, передаваемой в качестве параметра функции InsertDocs: <?xml version="1.0" encoding="windows-1251"?> <ROWDATA> <ROW ROWNUM="1" DOCUMENTDATE="20051101" DOCUMENTNO="58" AMOUNT="10025" OURBANKID="351715" ACCOUNTNO="2600201071" CORRBANKID="351715" CORRACCOUNTNO="10018010911001" CORRIDENTIFYCODE="14350784" CORRCOUNTRYID="804" CORRSNAME="Наименование корресп." DETAILSOFPAYMENT="Назн. плат. в т.ч. НДС" PRIORITY="50 CURRENCYID="980">sign</ROW> <ROW ROWNUM="2" DOCUMENTDATE="20051102" DOCUMENTNO="59" AMOUNT="157600" OURBANKID="351715" ACCOUNTNO="2600201071" CORRBANKID="320724" CORRACCOUNTNO="26000052" CORRIDENTIFYCODE="14350784" CORRCOUNTRYID="804" CORRSNAME="Наименование корресп.2" DETAILSOFPAYMENT="Назначение платежа" PRIORITY="50" SRVID="18111" USER1="BUH1" USER2="BUH2" CURRENCYID="980">insert</ROW> <ROW ROWNUM="3" DOCUMENTDATE="20051101" DOCUMENTNO="60" AMOUNT="12500" OURBANKID="351715" ACCOUNTNO="2600203071" CORRBANKID="320724" CORRACCOUNTNO="26000051" CORRIDENTIFYCODE="9999" CORRCOUNTRYID="804" CORRSNAME="Наименование корресп.3" DETAILSOFPAYMENT="Назначение платежа" PRIORITY="50" SRVID="18113" USER1="BUH1" USER2="BUH2 CURRENCYID="980">sign</ROW> </ROWDATA> Только никак не могу даже представить как это сделать из 1С8. |
|||
1
rene_den
27.09.16
✎
16:54
|
Функция InsertDocs, InsertFxDocs используется добавления новых документов. В качестве параметра в функцию передается список документов ADocList (в формате XML), которые необходимо добавить. Внутри тэга <ROW .../> каждого документа должен быть указан текст с требуемой операцией: «sign» — подписания первой и второй подписью документа, «sign1» — для подписания первой подписью документа, «sign2» — для подписания второй подписью документа или «insert» для вставки документа без подписания (см. пример формата XML ниже). В системе iFOBS осуществляется вставка документа осуществляется по уникальному идентификатору SRVID (значения остальных полей игнорируются). В качестве результата функции возвращается тот же список ADocList, с сообщениями о наложенных подписях или с текстом ошибки для каждого документа.
Список документов находится в корневом тэге XML <ROWDATA>. Внутри него заключены тэги <ROW .../> с документами. Каждому документу соответствует строго один тэг <ROW .../>. Информация о реквизитах документа задается атрибутами этого тэга. Каждый документ может быть уникально идентифицирован в рамках системы по значению атрибута SRVID. Соответствие атрибутов реквизитам документа задано в таблице:приведена таблица с перечнем реквизитов(номер дока, дата дока и т.п.) |
|||
2
Кирпич
27.09.16
✎
17:05
|
(0) ну так и пиши ОбъектiFOBSDocIntegrator.InsertDocs(ТекстДокументов)
|
|||
3
Кирпич
27.09.16
✎
17:06
|
аааа. подписывать надо...
|
|||
4
rene_den
27.09.16
✎
17:50
|
(3) ???
|
|||
5
HardBall
27.09.16
✎
18:08
|
(0) Чем тебе не нравится (2) .
Что конкретно не получается? |
|||
6
rene_den
27.09.16
✎
18:14
|
В качестве параметра в функцию передается список документов ADocList (в формате XML), которые необходимо добавить. Внутри тэга <ROW .../> каждого документа должен (из (1))
|
|||
7
rene_den
27.09.16
✎
18:17
|
(5) Или вы имеете в виду забить на (6) и просто тестом вот так и передавать: <ROWDATA>
<ROW ROWNUM="1" DOCUMENTDATE="20051101" DOCUMENTNO="58" AMOUNT="10025" OURBANKID="351715" ACCOUNTNO="2600201071" CORRBANKID="351715" CORRACCOUNTNO="10018010911001" CORRIDENTIFYCODE="14350784" CORRCOUNTRYID="804" CORRSNAME="Наименование корресп." DETAILSOFPAYMENT="Назн. плат. в т.ч. НДС" PRIORITY="50 CURRENCYID="980">sign</ROW> <ROW ROWNUM="2" DOCUMENTDATE="20051102" DOCUMENTNO="59" AMOUNT="157600" OURBANKID="351715" ACCOUNTNO="2600201071" CORRBANKID="320724" CORRACCOUNTNO="26000052" CORRIDENTIFYCODE="14350784" CORRCOUNTRYID="804" CORRSNAME="Наименование корресп.2" DETAILSOFPAYMENT="Назначение платежа" PRIORITY="50" SRVID="18111" USER1="BUH1" USER2="BUH2" CURRENCYID="980">insert</ROW> <ROW ROWNUM="3" DOCUMENTDATE="20051101" DOCUMENTNO="60" AMOUNT="12500" OURBANKID="351715" ACCOUNTNO="2600203071" CORRBANKID="320724" CORRACCOUNTNO="26000051" CORRIDENTIFYCODE="9999" CORRCOUNTRYID="804" CORRSNAME="Наименование корресп.3" DETAILSOFPAYMENT="Назначение платежа" PRIORITY="50" SRVID="18113" USER1="BUH1" USER2="BUH2 CURRENCYID="980">sign</ROW> </ROWDATA> |
|||
8
rene_den
28.09.16
✎
15:34
|
Попробовал так:
ВремТекст = "<?xml version=""1.0"" encoding=""windows-1251""?><ROWDATA><ROW ROWNUM=""1"" DOCUMENTDATE=""20051101"" DOCUMENTNO=""58"" AMOUNT=""10025"" OURBANKID=""351715"" ACCOUNTNO=""2600201071"" CORRBANKID=""351715"" CORRACCOUNTNO=""10018010911001"" CORRIDENTIFYCODE=""14350784"" CORRCOUNTRYID=""804"" CORRSNAME=""Наименование корресп."" DETAILSOFPAYMENT=""Назн. плат. в т.ч. НДС"" PRIORITY=""50 CURRENCYID=""980"">sign</ROW></ROWDATA>"; РезInsertDocs = ОбъектiFOBSDocIntegrator.InsertDocs(ВремТекст); Вообще 1С вылетает с ошибкой. |
|||
9
Кирпич
28.09.16
✎
16:16
|
PRIORITY=""50
PRIORITY=""50"" |
|||
10
rene_den
29.09.16
✎
17:07
|
(9) тот же результат (((
|
|||
11
rene_den
29.09.16
✎
17:09
|
Я думаю проблема тут :"в качестве параметра в функцию передается список документов ADocList (в формате XML), которые необходимо добавить."
вопрос как создать "список документов ADocList (в формате XML)" в 1С? |
|||
12
Кирпич
29.09.16
✎
17:20
|
где взять эту iFOBS Document Integration Tool?
|
|||
13
rene_den
29.09.16
✎
17:45
|
Могу кинуть на мыло. Но у тебя нет логина и пароля чтоб залогинится. Или ты ее раздебажить хочешь попробовать?
|
|||
14
Кирпич
29.09.16
✎
17:52
|
(13) "у тебя нет логина и пароля чтоб залогинится"
ну тогда не надо |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |