Імпорт первинних документів

olga_p
Повідомлень: 170
З нами з: 18 жовтня 2011, 17:03

Re: Імпорт первинних документів

Повідомлення olga_p » 25 червня 2019, 10:10

hatmaster писав:
25 червня 2019, 10:04
доброго дня.

клієнтка звернулась із проблемою. При імпорті ПН в форматі XML (яка була вивантажена з 1С) при завантаженні ПН в Медку зразу стає в статус "Затверджена", в протоколі написано, що отримано від контрагента.
Відповідно, відправити на реєстрацію неможливо.

ПН з умовним ІПН покупця, тобто реєструвати її має продавець.

Куди копати?
Ранее импорт таким же способом проходил нормально? Какой код ЕГРПОУ фигурирует в названии файла и в шапке кода XML?
Востаннє редагувалось 25 червня 2019, 14:33 користувачем olga_p, всього редагувалось 1 раз.
:!: Если Вам помог или не помог какой-то совет на Форуме, напишите об этом, чтобы остальные тоже знали.
:!: Дублируйте текстом ошибки или квитанции со скриншотов, чтобы они отображались при поиске.
:arrow: Остальные пользователи Вам будут благодарны! ;)

Medoc Man
Повідомлень: 864
З нами з: 07 червня 2018, 14:28
Звідки: Kiev

Re: Імпорт первинних документів

Повідомлення Medoc Man » 25 червня 2019, 10:14

hatmaster писав:
25 червня 2019, 10:04
доброго дня.

клієнтка звернулась із проблемою. При імпорті ПН в форматі XML (яка була вивантажена з 1С) при завантаженні ПН в Медку зразу стає в статус "Затверджена", в протоколі написано, що отримано від контрагента.
Відповідно, відправити на реєстрацію неможливо.

ПН з умовним ІПН покупця, тобто реєструвати її має продавець.

Куди копати?
Проверить базу данных на наличие ошибок и показать пример .XML.
Человек-волшебник
Людина-чарівник
Wizard man

pai
Повідомлень: 32
З нами з: 26 січня 2012, 15:27

Re: Імпорт первинних документів

Повідомлення pai » 14 грудня 2019, 13:48

В примера импорта в Медок xml файла
ну например, https://www.medoc.ua/pdf/act_to_pcmedoc.pdf
в Медке нет такого шаблона и созданный по такому шаблону файл в Медок не импортируется.
Где можно найти реальный пример xml файла для импорта в Медок,
и реальное описание структуры xml для файла импорта, по действующим в Медке шаблонам.

Белокопытов Геннадий
Универсал (склонность - системные вопросы)
Повідомлень: 10116
З нами з: 13 січня 2012, 11:21

Re: Імпорт первинних документів

Повідомлення Белокопытов Геннадий » 14 грудня 2019, 18:34

pai
В наведенных примерах описана структура содержания xml для импорта в программу. Из каких тегов должен состоять xml файл для импорта и назначение этих тегов.
Если вам необходим пример конкретного документа, вы можете создать его в реестре первичных документов по выбранному, доступному из перечня, шаблону, сохранить и экспортировать в xml (файл - експорт - для обміну звітністю). Сохраненный xml файл откройте с помощью блокнота для просмотра структуры.

pai
Повідомлень: 32
З нами з: 26 січня 2012, 15:27

Re: Імпорт первинних документів

Повідомлення pai » 14 грудня 2019, 21:03

Я не могу экспортировать так как у меня демо-версия
Довольно странно читать Ваш ответ, зачем выкладывать описание неработающего примера и несуществующего шаблона?
Или Медок специально пудрит мозги разработчикам с других систем?

Medoc Man
Повідомлень: 864
З нами з: 07 червня 2018, 14:28
Звідки: Kiev

Re: Імпорт первинних документів

Повідомлення Medoc Man » 14 грудня 2019, 23:38

pai писав:
14 грудня 2019, 21:03
Я не могу экспортировать так как у меня демо-версия
Довольно странно читать Ваш ответ, зачем выкладывать описание неработающего примера и несуществующего шаблона?
Или Медок специально пудрит мозги разработчикам с других систем?
Это просто пример, описывающий общую структуру импортируемого документа.
Конкретные поля конкретного шаблона, если Вы не можете его выгрузить, можно посмотреть, создав и заполнив нужный документ, затем нажав в открытом виде F11.
Человек-волшебник
Людина-чарівник
Wizard man

pai
Повідомлень: 32
З нами з: 26 січня 2012, 15:27

Re: Імпорт первинних документів

Повідомлення pai » 15 грудня 2019, 12:30

Medoc Man писав:
14 грудня 2019, 23:38
pai писав:
14 грудня 2019, 21:03
Я не могу экспортировать так как у меня демо-версия
Довольно странно читать Ваш ответ, зачем выкладывать описание неработающего примера и несуществующего шаблона?
Или Медок специально пудрит мозги разработчикам с других систем?
Это просто пример, описывающий общую структуру импортируемого документа.
Конкретные поля конкретного шаблона, если Вы не можете его выгрузить, можно посмотреть, создав и заполнив нужный документ, затем нажав в открытом виде F11.
Хорошо, вот создал по Вашей структуре файл на основе шаблона 1С82АВР0, файл импортируется.
В файле имеется реквизит <DOCID>4A2DE7FD-8263-495B-A9B7-A6D8E988D142</DOCID>, из Вашего примера,
как я понимаю это уникальный идентификатор документа и , по идеи он не должен позволять импортировать этот документ повторно,
или сообщать пользователю что такой документ уже существует, и предлагать действия (ну там перезаписать, отменить импорт и т.п.)
но Медок тупо его затягивает как другой документ с такими же данными.
Разъясните пожалуйста как правильно использовать данный реквизит при импорте?
Вкладення
Акт1С82АВР0.xml
(709 байт) Завантажено 5 разів

Medoc Man
Повідомлень: 864
З нами з: 07 червня 2018, 14:28
Звідки: Kiev

Re: Імпорт первинних документів

Повідомлення Medoc Man » 15 грудня 2019, 17:07

pai писав:
15 грудня 2019, 12:30
Разъясните пожалуйста как правильно использовать данный реквизит при импорте?
<DOCID></DOCID>
или
<DOCID />
Человек-волшебник
Людина-чарівник
Wizard man

pai
Повідомлень: 32
З нами з: 26 січня 2012, 15:27

Re: Імпорт первинних документів

Повідомлення pai » 16 грудня 2019, 11:05

Medoc Man писав:
15 грудня 2019, 17:07
pai писав:
15 грудня 2019, 12:30
Разъясните пожалуйста как правильно использовать данный реквизит при импорте?
<DOCID></DOCID>
или
<DOCID />
Ну так и использую, вопрос в том что при импорте данный реквизит не учитывается Медком
и вместо того чтобы сообщить что такой документ уже существует добавляет его по новому,
в чем тогда смысл данного реквизита?

Белокопытов Геннадий
Универсал (склонность - системные вопросы)
Повідомлень: 10116
З нами з: 13 січня 2012, 11:21

Re: Імпорт первинних документів

Повідомлення Белокопытов Геннадий » 16 грудня 2019, 11:26

pai
<DOCID> - это идентификатор документа в системе. Используется программой для внутренней идентификации документа.
Если при импорте документа тег <DOCID> не будет заполнен, он автоматически будет сгенерирован системой в момент импорта или создания.

На момент импорта наличие дубликатов первичных документов не выполняется, по необходимости пользователь может загрузить нужное ему количество одинаковых документов, например были внесены изменения в заполнение данных после выполнения импорта, а нумерация документов не изменилась или другие причины.
Для документов которые не используются в реестре первичных документов предусмотрена корзина.

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

Re: Імпорт первинних документів

Повідомлення priup » 16 грудня 2019, 11:50

pai писав:
14 грудня 2019, 21:03
Я не могу экспортировать так как у меня демо-версия
Довольно странно читать Ваш ответ, зачем выкладывать описание неработающего примера и несуществующего шаблона?
Или Медок специально пудрит мозги разработчикам с других систем?
Так кто кому Рабинович?????
https://www.youtube.com/watch?v=IMHPU6_GwnA

Medoc Man
Повідомлень: 864
З нами з: 07 червня 2018, 14:28
Звідки: Kiev

Re: Імпорт первинних документів

Повідомлення Medoc Man » 16 грудня 2019, 11:52

priup писав:
16 грудня 2019, 11:50
pai писав:
14 грудня 2019, 21:03
Я не могу экспортировать так как у меня демо-версия
Довольно странно читать Ваш ответ, зачем выкладывать описание неработающего примера и несуществующего шаблона?
Или Медок специально пудрит мозги разработчикам с других систем?
Так кто кому Рабинович?????
https://www.youtube.com/watch?v=IMHPU6_GwnA
Запахло демо-режимом - и Вы уже тут как тут.
Счет расчехляете? :roll:
Человек-волшебник
Людина-чарівник
Wizard man

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

Re: Імпорт первинних документів

Повідомлення priup » 16 грудня 2019, 11:53

Medoc Man писав:
16 грудня 2019, 11:52
priup писав:
16 грудня 2019, 11:50
pai писав:
14 грудня 2019, 21:03
Я не могу экспортировать так как у меня демо-версия
Довольно странно читать Ваш ответ, зачем выкладывать описание неработающего примера и несуществующего шаблона?
Или Медок специально пудрит мозги разработчикам с других систем?
Так кто кому Рабинович?????
https://www.youtube.com/watch?v=IMHPU6_GwnA
Запахло демо-режимом - и Вы уже тут как тут.
Счет расчехляете? :roll:
Кушать хочется, да и праздники на носу !!! :lol:

pai
Повідомлень: 32
З нами з: 26 січня 2012, 15:27

Re: Імпорт первинних документів

Повідомлення pai » 16 грудня 2019, 12:46

Белокопытов Геннадий писав:
16 грудня 2019, 11:26
pai
<DOCID> - это идентификатор документа в системе. Используется программой для внутренней идентификации документа.
Если при импорте документа тег <DOCID> не будет заполнен, он автоматически будет сгенерирован системой в момент импорта или создания.

На момент импорта наличие дубликатов первичных документов не выполняется, по необходимости пользователь может загрузить нужное ему количество одинаковых документов, например были внесены изменения в заполнение данных после выполнения импорта, а нумерация документов не изменилась или другие причины.
Для документов которые не используются в реестре первичных документов предусмотрена корзина.
Так заполнен <DOCID>, я файл прикладывал по Вашей структуре.

На момент импорта наличие дубликатов первичных документов не выполняется
Вам не кажется что это противоречит сказанному Вами выше
<DOCID> - это идентификатор документа в системе. Используется программой для внутренней идентификации документа.
Если при импорте документа тег <DOCID> не будет заполнен, он автоматически будет сгенерирован системой в момент импорта или создания.

Т.е. как я понимаю если реквизит ЗАПОЛНЕН то он должен использоваться системой при импорте, но он НЕ ИСПОЛЬЗУЕТСЯ вот в чем вопрос.

Medoc Man
Повідомлень: 864
З нами з: 07 червня 2018, 14:28
Звідки: Kiev

Re: Імпорт первинних документів

Повідомлення Medoc Man » 16 грудня 2019, 12:57

pai писав:
16 грудня 2019, 12:46
Так заполнен <DOCID>, я файл прикладывал по Вашей структуре.

На момент импорта наличие дубликатов первичных документов не выполняется
Вам не кажется что это противоречит сказанному Вами выше
<DOCID> - это идентификатор документа в системе. Используется программой для внутренней идентификации документа.
Если при импорте документа тег <DOCID> не будет заполнен, он автоматически будет сгенерирован системой в момент импорта или создания.

Т.е. как я понимаю если реквизит ЗАПОЛНЕН то он должен использоваться системой при импорте, но он НЕ ИСПОЛЬЗУЕТСЯ вот в чем вопрос.
Вас что интересует? Вы объясните желаемую цель, а то получается из пустого в порожнее.
Вам объяснили, что DOCID нужен для внутренней идентификации документа, т.е. он нужен самой программе, но не пользователю, не Продавцу и не Покупателю.
Но это не значит, что поэтому атрибуту формируется "признак уникальности" документа, который используется для недопущения дубликатов.

Если я правильно понимаю, Вас интересует (в конечном смысле) механизм определения дубликатов документов или же механизм предотвращения дублирования документов при импорте, который отсутствует согласно комментариям выше:
Белокопытов Геннадий писав:
16 грудня 2019, 11:26
На момент импорта наличие дубликатов первичных документов не выполняется, по необходимости пользователь может загрузить нужное ему количество одинаковых документов, например были внесены изменения в заполнение данных после выполнения импорта, а нумерация документов не изменилась или другие причины.
Причина, в целом, так же обоснована.

Если же я ошибся - поправьте меня или опишите более явно, что Вас интересует. Т.к. заполнение или незаполнение DOCID - дело абсолютно не имеющее значения.
Человек-волшебник
Людина-чарівник
Wizard man

pai
Повідомлень: 32
З нами з: 26 січня 2012, 15:27

Re: Імпорт первинних документів

Повідомлення pai » 16 грудня 2019, 13:33

Интересует чтобы при импорте документов в Медок при заполненном реквизите DOCID система идентифицировала созданный документ по указанному идентификатору, и при повторной загрузке этого документа сообщала пользователю о его существовании, и предлагала ему принять решение по данному документу, как то "перезаписать" и "не изменять".

Medoc Man
Повідомлень: 864
З нами з: 07 червня 2018, 14:28
Звідки: Kiev

Re: Імпорт первинних документів

Повідомлення Medoc Man » 16 грудня 2019, 13:40

pai писав:
16 грудня 2019, 13:33
Интересует чтобы при импорте документов в Медок при заполненном реквизите DOCID система идентифицировала созданный документ по указанному идентификатору, и при повторной загрузке этого документа сообщала пользователю о его существовании, и предлагала ему принять решение по данному документу, как то "перезаписать" и "не изменять".
Я при импорте его не заполняю, позволяя делать это самому M.E.Doc.
Получается, если сделать как Вы предлагаете, все мои документы (опираясь на пустой DOCID) будут дубликатами :?
А у меня их до 2000 в месяц.

Я бы на Вашем месте сделал контроль на стороне "откуда выгружаете" вместо "куда вгружаете".
"Не дать" выгрузить дубликат проще, чем "не дать загрузить", поэтому я лично у себя в УС (учётная система, если что) так и сделал.
Человек-волшебник
Людина-чарівник
Wizard man

pai
Повідомлень: 32
З нами з: 26 січня 2012, 15:27

Re: Імпорт первинних документів

Повідомлення pai » 16 грудня 2019, 14:02

Если DOCID не заполнен, то внутренний идентификатор присвоит Медок.
Как я понимаю при импорте через обработки обмена с Медком используется именно такой механизм, т.е. если указан
DOCID, то именно он становится внутренним идентификатором документа.

Во, например кусок кода из какой-то стыковочной обработки

pd = App.GetPrimaryDocs();
ИД = Строка(Объект.Документы[0].Документ.УникальныйИдентификатор());

Doc= pd.OpenOrCreateDocument(orgId, "1С82АВР", , , ИД, 1);
rsMain=Doc.DataSets();
Здесь видно, что при создание документа используется именно свой идентификатор, полученный из 1С.
При импорте этого нет, и вообще зачем тогда нужен реквизит DOCID, если он не используется?

Medoc Man
Повідомлень: 864
З нами з: 07 червня 2018, 14:28
Звідки: Kiev

Re: Імпорт первинних документів

Повідомлення Medoc Man » 16 грудня 2019, 14:57

pai писав:
16 грудня 2019, 14:02
Если DOCID не заполнен, то внутренний идентификатор присвоит Медок.
Как я понимаю при импорте через обработки обмена с Медком используется именно такой механизм, т.е. если указан
DOCID, то именно он становится внутренним идентификатором документа.

Во, например кусок кода из какой-то стыковочной обработки

pd = App.GetPrimaryDocs();
ИД = Строка(Объект.Документы[0].Документ.УникальныйИдентификатор());

Doc= pd.OpenOrCreateDocument(orgId, "1С82АВР", , , ИД, 1);
rsMain=Doc.DataSets();
Здесь видно, что при создание документа используется именно свой идентификатор, полученный из 1С.
Есть DOCID, а есть EXDOCID.
ExternalDocumentIdentifier (наиболее вероятная расшифровка аббревиатуры исходя из практики) - это идентификатор документа, присваемый другой (внешней, external (англ.) = внешний) программой.
В такого рода обработках, как стыковка, он используется как способ поиска документа, переданного из 1С.
В этом случае, ExDocID формирует 1С, и при передаче в M.E.Doc у документа этот ExDocID сохраняется, что в последствии позволяет по этому же ExDocID находить переданные документы, отслеживать их статус и т.п. (доступные возможности описаны в Инструкции по COM-методам M.E.Doc).
Из вышеописанного обрисовывается разница между DOCID и EXDOCID:
- DOCID - внутренний идентификатор документа, присваевамый M.E.Doc;
- EXDOCID - внешний идентификатор документа, присваевамый сторонней программой;
pai писав:
16 грудня 2019, 14:02
При импорте этого нет, и вообще зачем тогда нужен реквизит DOCID, если он не используется?
Возможно он нужен разработчику для каких-либо целей.
То, что он не важен для нас (как для сторонних разработчиков) и может быть НЕ использован нами, НЕ значит, как я писал ранее, что он не нужен в принципе.

P.S.: Вы так и не описали, чего, в конце концов, хотите.
Человек-волшебник
Людина-чарівник
Wizard man

pai
Повідомлень: 32
З нами з: 26 січня 2012, 15:27

Re: Імпорт первинних документів

Повідомлення pai » 16 грудня 2019, 15:09

В Вашем примере для импорта https://www.medoc.ua/pdf/act_to_pcmedoc.pdf приведен данный реквизит, и как я понимаю,
именно для того чтобы в система Медка присвоить этот уникальный идентификатор реквизиту в системе Медка (иначе зачем его указывать).

Я хочу, чтобы при импорте система Медка по этому УНИКАЛЬНОМУ ИДЕНТИФИКАТОРУ определила, нет ли такого документа уже в системе,
и если есть спросила у пользователя что делать(записать этот документ по новой, не трогать его, создать документ по новой), вот и все.

Как данный реквизит будет называться в системе, мне все равно, но в Вашем примере, выложенным на Вашем сайте, он определен именно
как DOCID.

Відповісти

Повернутись до “1C”