Завантаження ТТН в Медок з файлу xml

Відповісти
Levis
Повідомлень: 115
З нами з: 05 жовтня 2016, 17:34
Звідки: Україна

Завантаження ТТН в Медок з файлу xml

Повідомлення Levis » 21 грудня 2021, 17:59

Є документ в 1с ТТН (окремо дописсаний), реалізована вигрузка в xml, але завантажити в Медок не можливо, видає таку помилку
При імпорті файла '2021-12-16-04-35-52_77777777.XML' виникла помилка.
An item with the same key has already been added.
Чи можливо щось зробити, оскільки база поки тестова і порожня, без документів, тому помилки що вказує на існування об’єкта з таким самим ключем уже додано - не повинно бути шаблон цей <CHARCODE>TTN_UPOS</CHARCODE>
Важливий кінцевий результат - а як його досягти справа кожного!

priup
Повідомлень: 7713
З нами з: 22 червня 2011, 12:23

Re: Завантаження ТТН в Медок з файлу xml

Повідомлення priup » 21 грудня 2021, 19:00

Какая 1С-ка??
И сам файл :
'2021-12-16-04-35-52_77777777.XML'
в студию ................

Inkognito
Повідомлень: 1067
З нами з: 14 січня 2012, 14:26

Re: Завантаження ТТН в Медок з файлу xml

Повідомлення Inkognito » 21 грудня 2021, 22:27

Levis
Перевірте ХМЛ. Скоріше за все, Ви двічі додали програмно деякий тег. Якщо клієнт має можливість обміну через технологію СОМ, краще реалізуйте саме цією технологією.

Marat Melnyk
Повідомлень: 612
З нами з: 02 липня 2021, 09:20

Re: Завантаження ТТН в Медок з файлу xml

Повідомлення Marat Melnyk » 22 грудня 2021, 10:44

Levis писав:
21 грудня 2021, 17:59
Є документ в 1с ТТН (окремо дописсаний), реалізована вигрузка в xml, але завантажити в Медок не можливо, видає таку помилку
При імпорті файла '2021-12-16-04-35-52_77777777.XML' виникла помилка.
An item with the same key has already been added.
Чи можливо щось зробити, оскільки база поки тестова і порожня, без документів, тому помилки що вказує на існування об’єкта з таким самим ключем уже додано - не повинно бути шаблон цей <CHARCODE>TTN_UPOS</CHARCODE>
Прошу надати приклад імпортованого документу для аналізу в особисті повідомлення.

Levis
Повідомлень: 115
З нами з: 05 жовтня 2016, 17:34
Звідки: Україна

Re: Завантаження ТТН в Медок з файлу xml

Повідомлення Levis » 22 грудня 2021, 17:45

Всім дякую за допомогу, питання вирішене, проблема була у цьому <PARTCODE>7</PARTCODE>, зберігалось пустим, тому не завантажувалось в програму
Важливий кінцевий результат - а як його досягти справа кожного!

AFranko
Повідомлень: 20
З нами з: 23 квітня 2018, 12:13

Re: Завантаження ТТН в Медок з файлу xml

Повідомлення AFranko » 13 вересня 2023, 23:49

При імпорті з xml виникає помилка.
| Показать
При імпорті файла '13050038451567J1201015100000001110820231305.XML' виникла помилка.
If Asc(mid(rsTab1.FldVal("TAB1_A13"),i,1)) < 32 then
Недопустимый вызов или арг

Line: 1339 Pos: 9
Error: 0x80020101
Script sub: IMPORT

'VERSION=1;STYLE=NEW;
SUB AFTER_SPR()'Программа обработки после выбора из справочника
With rsMain
.Edit
If DocEditedFieldName = "N3" Or DocEditedFieldName = "N4" or DocEditedFieldName = "EDR_POK" Or DocEditedFieldName = "DEPT_POK" Then
.FldVal("N3") = currSprDS.FldVal("Name")
.FldVal("N4") = currSprDS.FldVal("IndTaxNum")
' .FldVal("N5") = currSprDS.FldVal("Adr")
' .FldVal("N7") = currSprDS.FldVal("CodeNDS")
' If currSprDS.FldVal("CityCode")<> "" Then
' .FldVal("N6") = currSprDS.FldVal("CityCode")+ currSprDS.FldVal("TelNum")
' Else
' .FldVal("N6") = currSprDS.FldVal("TelNum")
' End if
.FldVal("EDR_POK") = currSprDS.FldVal("Num")
If Not IsEmpty (CurrSprDS.Fields.Item("DEPT")) Then
.FldVal("DEPT_POK") = currSprDS.FldVal("DEPT")
Else
.FldVal("DEPT_POK") = ""
End if
If currSprDS.FldVal("KB") <> 0 Then
.FldVal("KB") = currSprDS.FldVal("KB")
Else
.FldVal("KB") = Null
End If
.FldVal("N8") = currSprDS.FldVal("DOGNAME")
.FldVal("N82") = currSprDS.FldVal("DOGDATE")
.FldVal("N81") = currSprDS.FldVal("DOGNUM")
End If
If DocEditedFieldName = "PZOB" Then
.FldVal("PZOB") = currSprDS.FldVal("Num")
End If
If DocEditedFieldName = "PKRED" Then
.FldVal("PKRED") = currSprDS.FldVal("Num")
End If
If DocEditedFieldName = "N14" Then
.FldVal("N14") = currSprDS.FldVal("Num")
End If
If DocEditedFieldName = "N10" or DocEditedFieldName = "INN" Then
If currSprDS.FldVal("FIRSTNAME")<> "" Then .FldVal("N10") = Trim(currSprDS.FldVal("FIRSTNAME") + " " + currSprDS.FldVal("LASTNAME"))
' If currSprDS.FldVal("FIRSTNAME")<> "" and currSprDS.FldVal("MIDDLENAME")<> "" Then .FldVal("N10") = Left(currSprDS.FldVal("FIRSTNAME"),1) + "." + Left(currSprDS.FldVal("MIDDLENAME"),1) + ". " + currSprDS.FldVal("LASTNAME")
.FldVal("INN") = currSprDS.FldVal("Num")
End If

Set rsTab1 = Doc.DataSets("TAB1")
If DocEditedFieldName = "TAB1_A14" or DocEditedFieldName = "TAB1_A141" Then
rsTab1.Edit
rsTab1.FldVal("TAB1_A14") = CurrSprDS.FldVal("CharCode")
rsTab1.FldVal("TAB1_A141") = CurrSprDS.FldVal("Num")
rsTab1.Post
End If
If DocEditedFieldName = "TAB1_A13" Or DocEditedFieldName = "TAB1_A16" Then
rsTab1.Edit
rsTab1.FldVal("TAB1_A13") = CurrSprDS.FldVal("Name")
If CurrSprDS.FldVal("GOODSTYPE") = 1 or CurrSprDS.FldVal("GOODSTYPE") = 2 Then
rsTab1.FldVal("TAB1_A131") = ""
rsTab1.FldVal("TAB1_A133") = CurrSprDS.FldVal("CHARCODE")
Else
rsTab1.FldVal("TAB1_A131") = CurrSprDS.FldVal("CHARCODE")
rsTab1.FldVal("TAB1_A133") = ""
End If
If CurrSprDS.FldVal("ISIMP")=1 Then rsTab1.FldVal("TAB1_A132") = 1 Else rsTab1.FldVal("TAB1_A132") = Null
If CurrSprDS.FldVal("Price")<>0 Then
rsTab1.FldOrigVal("TAB1_A16") = CurrSprDS.FldOrigVal("Price")

If rsMain.FldVal("N2_12") <> 5 Then

If Not((rsMain.FldVal("N14")="04" or rsMain.FldVal("N14")="08" or rsMain.FldVal("N14")="09" or rsMain.FldVal("N14")="10" or rsMain.FldVal("N14")="13") and _
rsMain.FldVal("N4")="600000000000") Then

If Not IsNull(rsTab1.FldOrigVal("TAB1_A16")) Then rsTab1.FldVal("TAB1_A10") = rsTab1.FldVal("TAB1_A15")*rsTab1.FldVal("TAB1_A16") Else rsTab1.FldVal("TAB1_A10") = Null
If Not IsNull(rsTab1.FldOrigVal("TAB1_A10")) and (rsTab1.FldVal("TAB1_A8")=20 or rsTab1.FldVal("TAB1_A8")=7 or rsTab1.FldVal("TAB1_A8")=14) Then rsTab1.FldVal("TAB1_A20") = rsTab1.FldVal("TAB1_A10")*rsTab1.FldVal("TAB1_A8")/100 Else rsTab1.FldVal("TAB1_A20") = Null

End If ' If Not((.FldVal("N14")="04" or .FldVal("N14")="08" or .FldVal("N14")="09" or .FldVal("N14")="13") and _
End If ' If .FldVal("N2_12") <> 5 Then

Else
rsTab1.FldVal("TAB1_A16") = Null
End if
'----- одиниці виміру тільки для 9
If Not isempty (CurrSprDS.Fields.Item("NUMHBUMEASURE")) Then
Spr = App.GetSprValue("HBUMEASURE2", "NUM", Cstr(currSprDS.FldVal("NUMHBUMEASURE")), "CHARCODE")
If Trim(Spr) <> "" Then


End With
rsMain.Post
END SUB

Marat Melnyk
Повідомлень: 612
З нами з: 02 липня 2021, 09:20

Re: Завантаження ТТН в Медок з файлу xml

Повідомлення Marat Melnyk » 14 вересня 2023, 09:08

AFranko писав:
13 вересня 2023, 23:49
При імпорті з xml виникає помилка.
| Показать
При імпорті файла '13050038451567J1201015100000001110820231305.XML' виникла помилка.
If Asc(mid(rsTab1.FldVal("TAB1_A13"),i,1)) < 32 then
Недопустимый вызов или арг

Line: 1339 Pos: 9
Error: 0x80020101
Script sub: IMPORT

'VERSION=1;STYLE=NEW;
SUB AFTER_SPR()'Программа обработки после выбора из справочника
With rsMain
.Edit
If DocEditedFieldName = "N3" Or DocEditedFieldName = "N4" or DocEditedFieldName = "EDR_POK" Or DocEditedFieldName = "DEPT_POK" Then
.FldVal("N3") = currSprDS.FldVal("Name")
.FldVal("N4") = currSprDS.FldVal("IndTaxNum")
' .FldVal("N5") = currSprDS.FldVal("Adr")
' .FldVal("N7") = currSprDS.FldVal("CodeNDS")
' If currSprDS.FldVal("CityCode")<> "" Then
' .FldVal("N6") = currSprDS.FldVal("CityCode")+ currSprDS.FldVal("TelNum")
' Else
' .FldVal("N6") = currSprDS.FldVal("TelNum")
' End if
.FldVal("EDR_POK") = currSprDS.FldVal("Num")
If Not IsEmpty (CurrSprDS.Fields.Item("DEPT")) Then
.FldVal("DEPT_POK") = currSprDS.FldVal("DEPT")
Else
.FldVal("DEPT_POK") = ""
End if
If currSprDS.FldVal("KB") <> 0 Then
.FldVal("KB") = currSprDS.FldVal("KB")
Else
.FldVal("KB") = Null
End If
.FldVal("N8") = currSprDS.FldVal("DOGNAME")
.FldVal("N82") = currSprDS.FldVal("DOGDATE")
.FldVal("N81") = currSprDS.FldVal("DOGNUM")
End If
If DocEditedFieldName = "PZOB" Then
.FldVal("PZOB") = currSprDS.FldVal("Num")
End If
If DocEditedFieldName = "PKRED" Then
.FldVal("PKRED") = currSprDS.FldVal("Num")
End If
If DocEditedFieldName = "N14" Then
.FldVal("N14") = currSprDS.FldVal("Num")
End If
If DocEditedFieldName = "N10" or DocEditedFieldName = "INN" Then
If currSprDS.FldVal("FIRSTNAME")<> "" Then .FldVal("N10") = Trim(currSprDS.FldVal("FIRSTNAME") + " " + currSprDS.FldVal("LASTNAME"))
' If currSprDS.FldVal("FIRSTNAME")<> "" and currSprDS.FldVal("MIDDLENAME")<> "" Then .FldVal("N10") = Left(currSprDS.FldVal("FIRSTNAME"),1) + "." + Left(currSprDS.FldVal("MIDDLENAME"),1) + ". " + currSprDS.FldVal("LASTNAME")
.FldVal("INN") = currSprDS.FldVal("Num")
End If

Set rsTab1 = Doc.DataSets("TAB1")
If DocEditedFieldName = "TAB1_A14" or DocEditedFieldName = "TAB1_A141" Then
rsTab1.Edit
rsTab1.FldVal("TAB1_A14") = CurrSprDS.FldVal("CharCode")
rsTab1.FldVal("TAB1_A141") = CurrSprDS.FldVal("Num")
rsTab1.Post
End If
If DocEditedFieldName = "TAB1_A13" Or DocEditedFieldName = "TAB1_A16" Then
rsTab1.Edit
rsTab1.FldVal("TAB1_A13") = CurrSprDS.FldVal("Name")
If CurrSprDS.FldVal("GOODSTYPE") = 1 or CurrSprDS.FldVal("GOODSTYPE") = 2 Then
rsTab1.FldVal("TAB1_A131") = ""
rsTab1.FldVal("TAB1_A133") = CurrSprDS.FldVal("CHARCODE")
Else
rsTab1.FldVal("TAB1_A131") = CurrSprDS.FldVal("CHARCODE")
rsTab1.FldVal("TAB1_A133") = ""
End If
If CurrSprDS.FldVal("ISIMP")=1 Then rsTab1.FldVal("TAB1_A132") = 1 Else rsTab1.FldVal("TAB1_A132") = Null
If CurrSprDS.FldVal("Price")<>0 Then
rsTab1.FldOrigVal("TAB1_A16") = CurrSprDS.FldOrigVal("Price")

If rsMain.FldVal("N2_12") <> 5 Then

If Not((rsMain.FldVal("N14")="04" or rsMain.FldVal("N14")="08" or rsMain.FldVal("N14")="09" or rsMain.FldVal("N14")="10" or rsMain.FldVal("N14")="13") and _
rsMain.FldVal("N4")="600000000000") Then

If Not IsNull(rsTab1.FldOrigVal("TAB1_A16")) Then rsTab1.FldVal("TAB1_A10") = rsTab1.FldVal("TAB1_A15")*rsTab1.FldVal("TAB1_A16") Else rsTab1.FldVal("TAB1_A10") = Null
If Not IsNull(rsTab1.FldOrigVal("TAB1_A10")) and (rsTab1.FldVal("TAB1_A8")=20 or rsTab1.FldVal("TAB1_A8")=7 or rsTab1.FldVal("TAB1_A8")=14) Then rsTab1.FldVal("TAB1_A20") = rsTab1.FldVal("TAB1_A10")*rsTab1.FldVal("TAB1_A8")/100 Else rsTab1.FldVal("TAB1_A20") = Null

End If ' If Not((.FldVal("N14")="04" or .FldVal("N14")="08" or .FldVal("N14")="09" or .FldVal("N14")="13") and _
End If ' If .FldVal("N2_12") <> 5 Then

Else
rsTab1.FldVal("TAB1_A16") = Null
End if
'----- одиниці виміру тільки для 9
If Not isempty (CurrSprDS.Fields.Item("NUMHBUMEASURE")) Then
Spr = App.GetSprValue("HBUMEASURE2", "NUM", Cstr(currSprDS.FldVal("NUMHBUMEASURE")), "CHARCODE")
If Trim(Spr) <> "" Then


End With
rsMain.Post
END SUB
Добрий день!
Необхідно встановити коректні регіональні налаштування - Україна, копіювати їх на екран привітань, перезавантажити ПК.
Якщо після виконання рекомендацій ситуація буде повторена, прошу надати приклад документу в особисті повідомлення.

AFranko
Повідомлень: 20
З нами з: 23 квітня 2018, 12:13

Re: Завантаження ТТН в Медок з файлу xml

Повідомлення AFranko » 18 січня 2024, 12:46

Добрий день. Знов повернусь до проблеми, яка виникла знов.

medoc локальний - версія 130. OS Windows 11, при "ручному" імпорті через Файл - Імпорт видає ту ж саму помилку. OS дійсно була встановлена, як для United Kingdom, але де можливо було регіональні налаштування були змінені на Україна, мовні параметри інтерфейсу також, вікно привітань також українські. Де ще подивитись? Дякую

Marat Melnyk
Повідомлень: 612
З нами з: 02 липня 2021, 09:20

Re: Завантаження ТТН в Медок з файлу xml

Повідомлення Marat Melnyk » 18 січня 2024, 13:05

AFranko писав:
18 січня 2024, 12:46
Добрий день. Знов повернусь до проблеми, яка виникла знов.

medoc локальний - версія 130. OS Windows 11, при "ручному" імпорті через Файл - Імпорт видає ту ж саму помилку. OS дійсно була встановлена, як для United Kingdom, але де можливо було регіональні налаштування були змінені на Україна, мовні параметри інтерфейсу також, вікно привітань також українські. Де ще подивитись? Дякую
Добрий день!
Надайте, будь ласка, скріншоти регіональних налаштувань та файл, що імпортується, в особисті повідомлення для аналізу.

Відповісти

Повернутись до “Электронний документообіг”