close

Вход

Забыли?

вход по аккаунту

код для вставкиСкачать
Опис взаємозв’язку M.E.DOC IS та облікових систем через файли у
форматах DBF I XML
Взаємозв'язок M.E.Doc IS із обліковими системами розглядається зі сторони ВИХІДНОГО і
ВХІДНОГО документів.
Взаємозв'язок буде реалізований для Податкової накладної та Розрахунку коригувань.
Схема руху вихідного документа із облікової системи через M.E.Doc IS на реєстрацію в
ДПС (або контрагенту) зображена: «ВИХІДНИЙ_ДОКУМЕНТ.docx»
Схема руху вхідного документа у облікову систему через M.E.Doc IS зображена:
«ВХІДНИЙ_ДОКУМЕНТ.docx»
ІМПОРТ ТА ВІДПРАВКА ВИХІДНОГО ДОКУМЕНТА З ОБЛІКОВОЇ СИСТЕМИ
(НЕОБХІДНІ ДІЇ КОРИСТУВАЧА):
1) Облікова система експортує необхідні файли у визначений каталог (ВІДПОВІДНО ДО
ФОРМАТІВ, описаних нижче)
2) M.E.DOC IS імпортує DBF/XML файли із визначеного користувачем каталогу (каталог
буде налаштовувати користувач):
 в ручному режимі;

в автоматичному режимі;
 в автоматичному режимі через вказаний інтервал (що буде налаштовуватись
користувачем).
3) Після імпорту документ може бути відправлено користувачем на реєстрацію в ДПС (у
ручному або автоматичному режимі).
4) Після прийому квитанцій від ДПС користувач M.E.DOC IS зможе їх експортувати у
визначений попередньо каталог (у ручному або автоматичному режимі) у форматах
DBF/XML. Далі облікова система зможе імпортувати ці квитанції до відповідних документів.
5) Після імпорту документ може бути відправлено користувачем контрагенту (у ручному
або автоматичному режимі).
6) Після прийому квитанцій від контрагента користувач M.E.DOC IS зможе їх експортувати у
визначений попередньо каталог (у ручному або автоматичному режимі) у форматах
DBF/XML. Потім облікова система зможе імпортувати ці квитанції до відповідних
документів із каталогу.
ВХІДНИЙ ДОКУМЕНТ ТА ЕКСПОРТ В ОБЛІКОВУ СИСТЕМУ (НЕОБХІДНІ ДІЇ
КОРИСТУВАЧА):
1) Користувач M.E.DOC IS отримує вхідний документ від контрагента.
2) Користувач відразу може експортувати такий документ з квитанціями у визначений
каталог (у форматах DBF/XML).
3) Також користувач буде мати можливість виконати запит в ЄРПН про стан реєстрації в
ЄРПН такого вхідного документа (ПН-РК) в ручному або автоматичному режимі. Після
отримання витягу буде можливість експортувати його в облікову систему (відповідно в
ручному і автоматичному режимі) у форматах DBF/XML)
ПЕРЕВІРКА ПЛАТНИКІВ ПДВ
Користувач матиме можливість експортувати відповідь на запит "Перевірка платників
ПДВ". Даний запит може бути виконаний як для вихідних, так і для вхідних документів.
Відповідь на запит користувач зможе вигрузити в ручному або автоматичному режимі у
форматах DBF/XML із довідника «Контрагенти».
УВАГА!
БАЖАНО, щоб для УСІХ ДОКУМЕНТІВ, експортованих з облікової системи, був
встановлений спеціальний УНІКАЛЬНИЙ ідентифікатор документів DOC_ID.
Унікальний ідентифікатор буде використовуватись для зв’язку результатів обробки
документів з програми M.E.DOC IS та облікової системи.
За значенням Унікального ідентифікатора буде виконуватись прив’язка усіх необхідних
результатів обробки до відповідних документів, а саме:
•
Квитанцій про реєстрацію в ДПС;
•
Квитанцій від контрагентів;
•
Витягів із ЄРПН про стан реєстрації.
Лише за допомогою COM: за наявності ідентифікатора, буде відкрита можливість
оновлювати статуси документів в обліковій системі із M.E.DOC IS.
Якщо у обліковій системі не генерується унікальний ID, бажано створити штучний
ідентифікатор. Оскільки тип даних такого ідентифікатора текстовий, то можливо,
наприклад, такий ідентифікатор створити, об’єднавши поля: «Тип документа», «Номер
документа», «ЄДРПОУ» або інші (наприклад, «PN-555-23423423»)
DOC_ID присутній у кожному форматі документів для імпорту-експорту.
Для ІМПОРТУ документів в M.E.DOC IS обліковим системам НЕОБХІДНО експортувати
Податкові накладні, Розрахунки коригувань та квитанції від ДПС (за наявності) на ці
документи ЗГІДНО ФОРМАТІВ, описаних нижче. Кожен файл, експортований з облікової
системи ОБОВ'ЯЗКОВО повинен мати ім'я відповідно до заданого формату імені:
A_B_C_D.dbf
A – код ЄДРПОУ платника ( 8 знаків для юр.осіб, 10 знаків – для фіз.осіб, якщо
підприємство-філія, то через дефіс код від 1 до 4 знаків)
B – назва документа, що імпортується чи експортується
NN-MAIN - Податкова накладна (головна частина документа)
NN-TAB
- Податкова накладна (таблична частина документа)
RK-MAIN - Розрахунок коригувань (головна частина документа)
RK-TAB
- Розрахунок коригувань (таблична частина документа)
KVT-LIST - Квитанція на документ від ДПС
MAIN-ALONE-NNRESPONSE - Витяг з ЄРПН (головна частина)
TAB-ALONE-NNRESPONSE - Витяг з ЄРПН ( таблична частина)
SENTGETNDSPLTSTTREZ - відповідь на запит "Перевірка платників ПДВ"
C– унікальний номер групи документів, що експортується в один момент
D– дата експорту групи документів у форматі РРРР-ММ-ДД
Приклад підприємства головної установи: 13212311_NN-MAIN_123_2014-12-10.dbf
ЄДРПОУ - назва документа - номер пачки документів, що експортується - дата
Приклад філії підприємства: 13212311-4423_NN-MAIN_123_2014-12-10.dbf
ЄДРПОУ -філія - назва документа - номер пачки документів, що експортується - дата
Формат імені файлу містить обов’язкові параметри:
Код ЄДРПОУ платника.
Файли НЕ БУДУТЬ імпортовані у M.E.DOC IS, якщо ім’я файлу містить значення ЄДРПОУ,
відмінне від ЄДРПОУ поточної організації платника, або ж значення коду у імені файлу
відсутнє.
Назва документу в імені файлу.
Якщо в імені файлу не буде зазначено тип документу, то такий файл НЕ ІМПОРТУЄТЬСЯ.
Назва документу необхідна, щоб при імпорті точно визначати, який тип документу
завантажується у систему.
Унікальний номер групи документів.
Для зручності користувачів, завдяки номеру групи, імпорт документів виконується в тій
самій послідовності, в якій був виконаний експорт. Рекомендовано, щоб нумерація групи
документів для кожного дня починалась з 1 для порядку автоматичного імпорта.
Дата документа.
Дата документа в імені файлу необхідна для зручності пошуку документів у каталозі
імпорту/експорту та порядку автоматичного імпорта.
ФОРМАТИ ДОКУМЕНТІВ
Назва
документа
DBF файл
XML файл
Формат Податкової
13212311_NN-MAIN_123_2014-12-10.dbf
PN_i_KVT.xml
13212311_NN-TAB_123_2014-12-10.dbf
Коментар:
накладної
XML
файл
документ,
або
наявність
квитанції
може
документ
відповідає атрибут
у
з
містити
тільки
квитанцією.
такому
XML
За
файлі
CARDWITHKVT="1" у тегу
<CARD>, і відповідно сама квитанція у тегу
<DOCKVT>
Формат Розрахунку
коригувань
13212311_RK-MAIN_123_2014-12-10.dbf
13212311_RK-TAB_123_2014-12-10.dbf
RK_i_KVT.xml
Коментар: XML файл може містити тільки
документ, або документ з квитанцією. За
наявність квитанції у такому XML файлі
відповідає атрибут CARDWITHKVT="1" у тегу
<CARD>, і відповідно сама квитанція у тегу
<DOCKVT>
Формат квитанції
13212311_KVT-LIST_123_2014-12-10.dbf
KVT.xml
Коментар: формат квитанції від ДПС і
контрагента – однаковий. У квитанціях різні
значення поля STATUS, по якому визначається
тип
Формат Витягу з
13212311_MAIN-ALONE-
ЄРПН
NNRESPONCE_123_2014-12-10.dbf
ALONE_NNRESPONCE.xml
13212311_TAB-ALONENNRESPONCE_123_2014-12-10.dbf
Формат відповіді на
13212311_SENTGETNDSPLTSTTREZ_12
запит "Перевірка
3_2014-12-10.dbf
платників ПДВ"
Формат
Управляючого
файла-списка
13212311_LIST-DOC_123_2014-12-10.dbf
SENTGETNDSPLTSTTREZ.xml
СТРУКТУРА DBF ФАЙЛІВ ПРИ ЕКСПОРТІ та ІМПОРТІ
При експорті документів у файли форматів DBF/XML у каталозі буде створюватись
управляючий файл. Даний файл буде містити інформацію про групу документів, що
експортовані: у якому файлі знаходиться конкретний документ, чи експортована до нього
квитанція, період документу, що формуватиметься при експорті документів , щоб
ідентифікувати список документів (які будуть експортовані).
Примітка:
При експорті документів з квитанціями у формат DBF у каталозі експорту будуть
створюватись пов’язані файли з розширенням: DBT та FPT.
Дані файли не є самостійними і не можуть бути прочитані без відповідного їм DBF
файла. Вони є складовими експортованого файлу квитанцій до документа, оскільки
квитанція на документ міститься у блобі (BLOB – тип даних)
УПРАВЛЯЮЧИЙ ФАЙЛ_СПИСОК (необхідний при експорті файлів)
№
Ім'я поля
Тип
поля
Розмір
Точність
1
DOC_ID
2
C
45
0
Унікальний ідентифікатор
документа
REWRITE
N
2
0
Ознака перезапису документа (якщо
документ був раніше переданий)
3
CHARCODE
C
10
0
Чаркод документа
4
PERIODTYPE
N
2
0
Період
5
CRTDOCDATE
D
8
0
Дата створення документа
6
MAIN_FILE
C
100
0
Ім’я файлу із головною частиною
документа (MAIN)
7
TAB_FILE
C
100
0
Ім’я файлу із табличною частиною
документа (TAB)
8
KVT_FILE
C
100
0
Ім’я файлу квитанції до документа
9
EDRPOU
C
10
0
ЄДРПОУ
DEPT
C
4
0
ФІлія
10
Коментар до поля
ПОДАТКОВА НАКЛАДНА
MAIN
№
Ім'я поля
Тип
поля
Розмір
Точність
1
DOC_ID
2
Коментар до поля
C
45
0
Унікальний ідентифікатор
документа
FIRM_ADR
C
250
0
Адреса підприємства
3
FIRM_NAME
C
254
0
Найменування підприємства
4
N1
C
2
0
Оригінал документа
5
N2
C
2
0
Копія документи
6
N2_1
C
50
0
Порядковий номер ПН (системне поле)
7
N3
C
254
0
Найменування покупця
8
N4
C
20
0
ІПН покупця
9
N5
C
200
0
Місцезнаходження покупця
10
N6
C
15
0
Телефон покупця
11
N8
C
100
0
Вид цивільно-правового договору
12
N10
C
60
0
Прізвище особи, яка склала ПН
13
A3_11
C
1
0
Усього по розділу ІІ (Зворотна
(заставна) тара)
14
A5_7
C
1
0
Усього по розділу I (колонка 7 «20%»)
15
A5_8
C
1
0
Усього по розділу I (колонка 8 «0%
постачання на митній території
України»)
16
A5_9
C
1
0
Усього по розділу I (колонка 9 «0%
експорт»)
17
A5_10
C
1
0
Усього по розділу I (колонка 10
«Звільнення від ПДВ»)
18
A5_11
C
1
0
Усього по розділу I (колонка 11
«Загальна сума коштів, що підлягає
сплаті»)
19
A6_7
C
1
0
III ПДВ (колонка 7 «20%» )
20
A6_11
C
1
0
III ПДВ (колонка 11 «Загальна сума
коштів, що підлягає сплаті»)
21
A7_7
C
1
0
Загальна сума з ПДВ (20% відсотків)
22
A7_8
C
1
0
Загальна сума з ПДВ (0% відсотків)
23
A7_9
C
1
0
Загальна сума з ПДВ (0% відсотків
(експорт))
24
A7_10
C
1
0
Загальна сума звільнення від ПДВ
25
A7_11
C
1
0
Загальна сума коштів з ПДВ
26
N9
C
150
0
Форма проведення розрахунків
27
FIRM_INN
C
14
0
ІПН підприємства
28
N11
D
8
0
Дата виписки ПН
29
N2_11
C
1
0
Порядковий номер ПН
30
EDR_POK
C
20
0
ЄДРПОУ покупця
31
NAKL_TYPE
C
1
0
Напрямок документа :


0 - вхідний документ
1 - вихідний документ
34
EDRPOU
C
10
0
Код ЄДРПОУ підприємства
35
N81
C
100
0
Номер договору
36
N12
C
1
0
Включено до ЄРПН
37
N13
C
1
0
Залишається у продавця
38
N14
C
2
0
Тип причини
39
N82
D
8
0
Дата договору
40
N16
C
250
0
Відповідні пункти, яким передбачено
звільнення від оподаткування
41
N2_12
C
1
0
Код діяльності
42
N2_13
C
11
0
Числовий номер філії
43
ZT
C
20
0
завставна тара
44
PHON
C
20
0
Телефон підприємства
45
DEPT_POK
C
4
0
Код філії покупця
46
N2_11
C
7
0
Порядковий номер ПН
47
N19
C
1
0
Електронна
48
A5_71
C
1
0
Всього по розділу
49
A6_71
C
1
0
ПДВ (7%)
50
A7_71
C
1
0
Загальна сума ПДВ (7%)
51
N20
C
1
0
Складається оператором інвестору за
багатосторонньою угодою про розподіл
продукції
52
A6_10
C
1
0
ПДВ (звільнення від ПДВ)
№
Ім'я поля
Тип
поля
1
DOC_ID
2
TAB
Розмір
Точність
Коментар до поля
C
45
0
Унікальний ідентифікатор
документа
TAB1_A12
D
8
0
Дата виникнення податкового
зобов'язання
3
TAB1_A13
C
254
0
Номенклатура поставки товарі
4
TAB1_A14
C
20
0
Одиниця виміру товару – Умовне
позначення
5
TAB1_A141
C
20
0
Одиниця виміру товару - Код
6
TAB1_A15
C
1
0
Кількість
7
TAB1_A16
C
1
0
Ціна
8
TAB1_A17
C
1
0
Обсяг постачання без ПДВ (20%)
9
TAB1_A18
C
1
0
Обсяг постачання без ПДВ (0%)
10
TAB1_A19
C
1
0
Обсяг постачання без ПДВ (0%)
експорт
11
TAB1_A110
C
1
0
Обсяг постачання без ПДВ
12
TAB1_A1
C
2
0
Номер рядка
13
TAB1_A131
C
10
0
Код товару згідно з УКТ ЗЕД
14
TAB1_A171
C
1
0
Обсяг постачання без ПДВ (7%)
15
TAB1_RATE
C
25
0
Ставка ПДВ
РОЗРАХУНОК КОРИГУВАНЬ
MAIN
№
Ім’я поля
Тип
поля
Розмір
Точність
1
DOC_ID
2
Коментар до поля
C
45
0
Унікальний ідентифікатор
документа
FIRM_ADR
C
250
0
Адреса підприємства
3
FIRM_NAME
C
254
0
Найменування підприємства
4
N2
D
8
0
Дата виписки ПН
5
N2_1
C
50
0
Номер податкової накладної, що
корегується
6
N1
C
2
0
Номер розрахунку коригування (для
коректного відображення в Реєстрі
первинних документів)
7
N3
C
254
0
Найменування покупця
8
N4
C
15
0
ІПН покупця
9
N5
C
200
0
Місцезнаходження покупця
10
N6
C
15
0
Телефон покупця
11
N8
C
100
0
Вид цивільно-правового договору
12
N10
C
60
0
Прізвище особи, що склала розрахуноккоригування
13
FIRM_INN
C
14
0
ІПН підприємства
14
K1
C
2
0
Оригінал
15
K2
C
2
0
Копія
16
N2_2
D
8
0
Дата договора
17
N2_3
C
30
0
Номер договора
18
N12
D
8
0
Дата складання розрахунку
коригування
19
N13
D
8
0
Дата отримання розрахунку
коригування
20
N15
D
8
0
Дата розрахунку коригування
21
A1_9
C
1
0
Усього «Підлягають коригуванню
обсяги без урахування ПДВ» (колонка
10)
22
A1_10
C
1
0
Усього «Підлягають коригуванню
обсяги без урахування ПДВ» (колонка
11)
23
A1_11
C
1
0
Усього «Звільнені від ПДВ» (колонка
12)
24
N11
C
1
0
Дата оплати
25
NAKL_TYPE
C
1
0
Напрямок документа :


0 - вхідний документ
1 - вихідний документ
26
EDRPOU
C
10
0
Код ЄДРПОУ підприємства
27
N16
C
1
0
Включено до ЄРПН
28
N17
C
1
0
Залишається у продавця
29
N18
C
2
0
Залишається у продавця (тип причини)
30
N81
C
100
0
Номер договору
31
N82
D
8
0
Дата договору
32
A2_9
C
1
0
Сума коригування податкового
зобов’язання та податкового кредиту
(колонка 10)
33
N1_12
C
1
0
Код діяльності
34
N1_13
C
11
0
Числовий номер філії
35
N2_12
C
1
0
Номер податкової накладної, що
корегується (код виду діяльності)
36
N2_13
C
11
0
Номер податкової накладної, що
корегується (номер філії)
37
EDR_POK
C
20
0
ЄДРПОУ покупця
38
PHON
C
20
0
Телефон підприємства
39
DEPT_POK
C
4
0
Філія покупця
40
N1_11
C
7
0
Номер розрахунку коригування
41
N2_11
C
7
0
Номер податкової накладної, що
корегується
42
N14
C
1
0
Електронна форма 0-Паперова 1Електронна
43
A1_91
C
1
0
Усього «Підлягають коригуванню
обсяги без урахування ПДВ» (колонка
11, 7%)
44
A2_91
C
№
Ім’я поля
Тип
поля
1
DOC_ID
2
Сума коригування податкового
зобов’язання та податкового кредиту
(колонка 11)
1
0
Розмір
Точність
C
45
0
Унікальний ідентифікатор документа
TAB1_A1
D
8
0
Дата коригування
3
TAB1_A2
C
200
0
Причина коригування
4
TAB1_A3
C
254
0
Номенклатура товарів
5
TAB1_A4
C
20
0
Одиниця виміру – Умовне позначення
6
TAB1_A41
C
20
0
Одиниця виміру - Код
7
TAB1_A5
C
1
0
Коригування кількості (зміна кількості,
об’єму, обсягу)
8
TAB1_A6
C
1
0
Коригування кількості (ціна постачання
одиниці товару\послуги)
9
TAB1_A7
C
1
0
Коригування вартості (зміна ціни)
10
TAB1_A8
C
1
0
Коригування вартості (кількість
постачання товарів\послуг)
11
TAB1_A9
C
1
0
Підлягають кориг. обсяги постачання
без урахування ПДВ (за основною
ставкою)
12
TAB1_A10
C
1
0
Підлягають кориг. обсяги постачання
без урахування ПДВ (за нульовою
ставкою)
13
TAB1_A11
C
1
0
Підлягають кориг. обсяги постачання
без урахування ПДВ (звільненні від
ПДВ)
14
TAB1_A31
C
10
0
Код товару згідно з УКТ ЗЕД
15
TAB1_A91
C
1
0
Підлягають кориг. обсяги постачання
без урахування ПДВ (оподатковуються
за ставкою 7%)
16
TAB1_RATE
C
25
0
Ставка ПДВ
TAB
Коментар до поля
КВИТАНЦІЇ від ДПС та КОНТРАГЕНТІВ
№
Ім’я поля
Тип
поля
Розмір
Точність
1
DOC_ID
2
C
45
0
Унікальний ідентифікатор
документа
OPERDATE
D
8
0
Дата операції
3
OPERTYPE
N
10
0
Тип операції
4
KVT_TEXT
M
10
0
Текст квитанції (не підписаної)
5
KVT_SIGN
M
10
0
Текст квитанції з підписами
6
REGNUM
C
20
0
Реєстраційний номер
7
REASON
C
254
0
Причина відхилення
8
RECEPTDATE
C
20
0
Дата отримання документа
податковою
9
STATUS
N
2
0
Статус



Коментар до поля
0 -Прийнято
1- Не прийнято
2 -Прийнято із зауваженнями
3 – Затверджено контрагентом
4 – Відхилено контрагентом
5 – Автоматичне відхилення
документа по причині різних ІПН у
карточці підприємства і документі
10
FILE_NAME
C
100
11
RCV_TYPE
C
2
Ім'я файла
0
1 – ДПС
2 – контрагент
ВИТЯГ З ЄРПН
MAIN
№
Ім'я поля
Тип
поля
Розмір
Точність
1
DOC_ID
2
Коментар до поля
C
45
0
Унікальний ідентифікатор
документа
EDRPOU
C
10
0
ЄДРПОУ платника
3
FIRM_INN
C
12
0
Індивідуальний податковий номер
4
FIRM_DPACD
C
4
0
Код ДПА платника
5
FIRM_DPANM
C
200
0
Найменування ДПА платника
6
FIRM_NAME
C
254
0
Найменування організації
7
FIRM_EMAIL
C
100
0
E-Mail організації
8
REP_DATE
D
8
0
Дата звіту
9
N1
N
10
0
Витяг №
10
N2
N
10
0
Дата запиту
11
N3
C
10
0
Запит №
12
RES_BODY
M
10
0
Підписаний витяг
13
DEPT
C
4
0
Номер філії
TAB
№
Ім'я поля
Тип
поля
Розмір
Точність
1
DOC_ID
2
Коментар до поля
C
45
0
Унікальний ідентифікатор документа
TAB1_A1
N
10
0
№ п.п.
3
TAB1_A31
C
10
0
Номер документа
4
TAB1_A4
D
8
0
Дата виписки документа
5
TAB1_A5
C
4
0
Вид документа
6
TAB1_A32
N
10
0
Номер документа
7
TAB1_A33
C
4
0
Номер документа
8
TAB1_A2
D
8
0
Дата внесення відомостей продавцем до
Єдиного реєстру
9
TAB1_A6
C
12
0
Індивідуальний податковий номер
продавця
10
TAB1_A7
N
10
2
Сума ПДВ
11
TAB1_A8
C
100
0
ПІБ уповноваженої особи, що виписала
податкову накладну
ПЕРЕВІРКА ПЛАТНИКІВ ПДВ
№
Ім'я поля
Тип
поля
Розмір
Точність
1
EDRPOU
2
Коментар до поля
C
10
0
ЄДРПОУ
INN
C
12
0
Індивідуальний податковий номер
3
PERDATE
D
8
0
Дата,на яку потрібно перевірити стан
платника ПДВ
4
STATUS
N
10
0
Статус (Платник/Неплатник/Відправлено
запит)
Для імпорту квитанцій від ДПС та контрагента в форматі DBF/XML одним з полів є
OPERTYPE.
Нижче описаний довідник значень поля
квитанції або тип накладеного підпису)
OPERTYPE (поле OPERTYPE визначає тип
УВАГА!
При експорті документів з квитанціями у формат DBF/XML будуть вивантажуватись усі
квитанції, що сформовані M.E.DOC IS (квитанції про відправку, доставку, накладення
підписів на документ).
Для завантаження в облікову систему ДОСТАТНЬО фінальних квитанцій від ДПС
(Прийнято-НЕ прийнято) і від контрагента (Затверджено-Відхилено-Автоматично
відхилено).
Відповідно для імпорта у M.E.DOC IS документів із квитанціями від ДПС про реєстрацію
достатньо блоку квитанції із OPERTYPE=7
OPERTYPE
Тип квитанції або підпису
0
Готується
1
Підписано бухгалтером
2
Підписано керівником
3
Підписано ключем установи
4
Відправлено
6
Доставлено
7
Квитанція 1 (від ДПС)
11
Помилка відправки
15
Затверджено контрагентом
16
Відхилено контрагентом
17
Підписано співробітником
Взаємозв’язок облікових систем і M.E.DOC IS за допомогою методів COM
Основні вимоги:
1) Для взаємозв’язку облікових систем із M.E.DOC IS за допомогою COM методів обов’язковою вимогою є
активний сеанс програми M.E.DOC IS із входом в організацію, з якою буде відбуватись інтеграція.
2) Для передачі документів у M.E.DOC IS бажано,щоб кожен документ мав свій ідентифікатор ExDocID.
Оскільки такий ідентифікатор дозволить використовувати функції по імпорту документів у облікову систему із
прив’язаними до документа результатами обробки. Ідентифікатором може бути ідентифікатор документа в
обліковій системі або штучний ID (присвоєний документу і в обліковій системі і в M.E.DOC IS, приклад
нижче)
Будь-яка програма по замовчуванню в якості змінних отримує 3 основні об’єкти із
програми M.E.DOC IS:
Опис
Об’єкт
(скорочено)
App
Основний об’єкт, до якого потрібно звернутись
перед початком взаємозв’язку систем.
MEDOC.ZApplication
Doc
Поточний документ:
MEDOC.IZDocument
rsMain
Таблиця полів тіла документа
MEDOC.IZDataSets
Коментар
Обов’язково створюється першим. Рекомендовано
перевірити підключення. Без створення цього
об’єкту подальша робота буде Неможлива.
Об’єкт, який повертає програма M.E.DOC IS
Створюється документ пустий.
Використовується відразу після створення
документа DOC. Дозволяє заповнювати поля
даними.
rsMain=Doc.DataSets();
Таблиця основних COM методів
Необхідні дії
Методи COM, який необхідно
використати
Виклик методу та повернення об’єкту
Експорт ПН/РК із
IZDocument OpenOrCreateByExDocID
(string CharCode,
int PeriodType,
date CrtDocDate,
string ExDocID,
bool rewrite)
Необхідно викликати метод з параметрами:
Doc = App.CreateOrOpenByExDocID("FJ1201006", 12,
01.12.2014, 1410184549, 0);
облікової системи в
M.E.DOC IS
Метод створення або відкриття документа
Параметри:
CharCode = код бланка
PeriodType = тип періоду (перерахування
місяців)
CrtDocDate = PeriodDate (01 число місяця звіту)
ExDocID – зовнішній ідентифікатор облікової
системи
rewrite – ознака перезапису документа
( Так- 1 , Ні -0 )
Передані дані:
FJ1201006 – код бланка Податкової накладної
12 – місяць року (грудень)
01.12.2014 – (перше число)
1410184549 – зовнішній ідентифікатор документа в
обліковій системі
0 – ознака, що документ передається вперше.
Створюється новий пустий документ по параметрам.
Тобто повертається об’єкт MEDOC.IZDocument (Doc).
Після цього необхідно документ заповнити, використавши
об’єкт доступу до таблиць полів MEDOC.IZDataSets (rsMain)
rsMain=Doc.DataSets() ;
rsMain.Edit();
rsMain.Fields.Item("FIRM_NAME").Value = "Тест";
rsMain.Fields.Item("FIRM_EDRPOU").Value = "12345678";
…..
rsMain.Fields.Item("N11").Value = "17.12.2014";
Результат: створення, відкриття, заповнення і збереження
документа
Відправка ПН/РК на
реєстрацію в
ДПС/контрагенту
Sender GetDocSender()
Необхідно викликати об’єкт :
Методи:
Add(string ExDocID)
Send(bool toDPA) повертає кількість успішно
відправлених
toDPA приймає значення:
1 – відправка у контролюючий орган, 0 –
відправка контрагенту
Add( string ExDocID ) добавити документ у список для
відправки
Send( bool toGov ) відправити список документів
Sender = App.GetDocSender();
з методами
Наприклад,
Sender.Add(ID1);//ідентифікатор 1-го документа
Sender.Add(ID2);//ідентифікатор 2-го документа
...
Sender.Add(IDN);//ідентифікатор N-го документа
У відповідь повертається значення кількості успішно
відправлених документів.
count = Sender.Send(true)
Параметри: true – відправка у ДПС, false – відправка
контрагенту
Результат: відправка документа в ДПС / контрагенту,
повернення кількості успішно відправлених документів
Отримання
квитанцій про
реєстрацію в ДПС/від
контрагента
DataSet GetDocKVT(string ExDocID, long
Cardcode)
Метод, що повертає список даних по квитанціям.
Необхідно передати ID документа, або код
документа з Медка.
Необхідно викликати об’єкт
App = CreateObject("Medoc.ZApplication")
prim = App.GetPrimaryDocs()
KVT = prim.GetDocKVT(ExDocID);
Або KVT = prim.GetDocKVT(“”,Cardcode);
Параметри:
ExDocID – зовнішній ідентифікатор облікової
CardCode – ідентифікатор документа в Медку,
параметр опціональний, якщо він заповнений,
то по ньому відбувається пошук квитанцій
У відповідь повертається таблиця даних
<дата отримання> = KVT.Fields.Item("RECEPTDATE ").Value;
<ім’я файла> = KVT.Fields.Item("FILE_NAME ").Value;
…
<статус> = KVT.Fields.Item("STATUS").Value;
Список полів в KVT, які можуть бути заповнені:
OPERDATE - Дата операції
OPERTYPE - Тип операції
KVT_TEXT - Текст квитанції (не підписаної)
KVT_SIGN - Текст квитанції з підписами
REGNUM - Реєстраційний номер
REASON
- Причина відхилення
RECEPTDATE - Дата отримання документа податковою
FILE_NAME - Ім'я файла
Результат: отримання заповненої таблиці з даними по
квитанціям від ДПС / контрагента
Імпорт вхідних
ПН/РК в облікову
систему
DataSet GetPrimaryReestr( int docType, int
docMove, date dateBegin, date dateEnd) - метод
отримання списку вхідних документів із реєстру
первинних документів.
OpenReport(ExdocID) –функція відкриття
документу із отриманого списку.
Параметри:
docType – тип документа,
docMove - напрямок документа (0 –вхідний, 1 –
вихідний )
dateBegin – дата початку діапазону,
dateEnd – дата кінця діапазону.
ExdocID – ідентифікатор документа
Тип docMove int
«-1» усі,
«1» вихідні,
«2» -вхідні)
Тип документа docType int
«-1» усі,
«1» - Податкова,
«2» -РК)
Початок періоду – dateBegin Date
Кінець періода dateEnd Date
Необхідно викликати об’єкт із заданими параметрами:
App = CreateObject("Medoc.ZApplication")
prim = App.GetPrimaryDocs()
Reestr = prim.GetPrimaryReestr (docType, docMove,
dateBegin, dateEnd)
У відповідь повертається об’єкт таблиця із полями.
<Тип документа> = Reestr.Fields.Item("Receptdate ").Value;
…
<Номер документа> = Reestr.Fields.Item("Regdate ").Value;
Список полів у таблиці
CardCode – ідентифікатор документа в Медку,
Status - статус,
Vatsum - сума ПДВ,
Regdate – дата реєстрації,
Doc_id – ідентифікатор документа,
Doc_type – тип документа,
Doc_move – напрямок документа,
Doc_vd – вид діяльності,
Doc_num – номер документа,
Doc_Dept – номер філії,
Doc_Date – дата документа,
Firm_EDRPOU – ЄДРПОУ платника,
Partner_EDRPOU – ЄДРПОУ контрагента,
Partner_IPN – ІПН контрагента,
OSOBFIO – відповідальна особа.
OpenReport(ExdocID) –функція відкриття документу із
отриманого списку (ExdocID із отриманої таблиці)
У відповідь повертається об’єкт MEDOC.IZDocument (Doc).
Тобто створено пустий документ.
Після цього необхідно документ заповнити, використавши
об’єкт доступу до таблиць полів MEDOC.IZDataSets (rsMain)
rsMain=Doc.DataSets() ;
rsMain.Edit();
rsMain.Fields.Item("FIRM_NAME").Value = "Тест";
rsMain.Fields.Item("FIRM_EDRPOU").Value = "12345678";
…..
rsMain.Fields.Item("N11").Value = "17.12.2014";
«Запит в ЄРПН» із
облікової системи
Використати методи:
1) OpenOrCreateByExDocID()
2) GetDocSender()
1) Doc = App.CreateOrOpenByExDocID("FJ1300102", 12,
01.12.2014, 1410184549, 0);
Передані дані:
FJ1300102 – код бланка Запиту в ЄРПН у M.E.DOC IS
12 – місяць року (грудень)
01.12.2014 – (перше число)
1410184549 – зовнішній ідентифікатор документа в
обліковій системі
0 – ознака, що документ передається вперше.
Створюється новий пустий документ по параметрам.
Тобто повертається об’єкт MEDOC.IZDocument (Doc).
Після цього необхідно документ заповнити, використавши
об’єкт доступу до таблиць полів MEDOC.IZDataSets (rsMain)
rsMain=Doc.DataSets() ;
rsMain.Edit();
rsMain.Fields.Item("FIRM_NAME").Value = "Тест_орг";
rsMain.Fields.Item("FIRM_EDRPOU").Value = "12345678";
…..
rsMain.Fields.Item("FIRM_INN").Value = "1103198978";
Результат: створення, відкриття, заповнення і збереження
документа
2) Необхідно викликати об’єкт :
Sender = App.GetDocSender();
з методами
Add( string ExDocID ) добавити документ у список для
відправки
Send( bool toGov ) відправити список документів
Наприклад,
Sender.Add(ID1);//ідентифікатор 1-го документа
Sender.Add(ID2);//ідентифікатор 2-го документа
...
Sender.Add(IDN);//ідентифікатор N-го документа
У відповідь повертається значення кількості успішно
відправлених документів.
count = Sender.Send(true)
Параметри: true – відправка у ДПС, false – відправка
контрагенту
Результат: відправка документа в ДПС / контрагенту,
повернення кількості успішно відправлених документів
IZDocument GetNNResponse(string Exdocid
Request, string DOCNUMRequest, string
DOCIDNN)
Метод визивається для одного з трьох параметрів
(два інші - пусті)
Параметри:
Exdocid Request – ідентифікатор документа
запиту,
string DOCNUMRequest – номер запиту ,
string DOCIDNN - ідентифікатор документа,на
який відправлено запит
Необхідно викликати об’єкт, задавши необхідні параметри:
Отримання «Витягу з
IZDocument GetNNResponseNN(dataset NN),
Необхідно викликати об’єкт,задавши необхідні параметри :
ЄРПН» по даним
Поля в NN(string NN_NUM1, string NN_NUM2,
string NN_NUM3, date DOCDATE, string
DOC_TYPE, string IPNsel)
Метод, що повертає витяг, де є інформація про
реєстрацію ПН/РК
Якщо накладна не зареєстрована – то функція
поверне пустий документ (оскільки витяг
відсутній)
Параметри:
DOC_TYPE – тип документа (ПН або RK)
NN_NUM1 – номер накладної (порядковий
номер)
NN_NUM2 – номер накладної (вид діяльності)
NN_NUM3 – номер накладної (номер філії)
DOCDATE – дата документа
IPNsel – ІПН продавця
Отримання «Витягу з
ЄРПН» по
ідентифікаторам
«Запиту в ЄРПН»
зареєстрованої
накладної (номер,
дата, тип)
App = CreateObject("Medoc.ZApplication");
govReq = App.GetGovRequest();
Doc = govReq.GetNNresponse();
Метод повертає у відповідь документ «Витяг» із заповненими
полями витягу.
TAB1 = Doc.DataSets(“TAB1”); отримуємо таблицю з документа
«Витяг», де є інформація про реєстрацію ПН
App = CreateObject("Medoc.ZApplication");
govReq = App.GetGovRequest()
Doc = govReq.GetNNResponseNN( NN )
Метод повертає у відповідь документ «Витяг» із заповненими
полями витягу.
TAB1 = Doc.DataSets(“TAB1”); отримуємо таблицю з документа
«Витяг», де є інформація про реєстрацію ПН
Відповідь: IZDocument (документ із заповненими
полями)
Отримання списку
витягів
DataSet GetNNResponseList(date datebeg, date
dateend, string num_beg, string num_end )
Функція, що повертає список витягів по
діапазонам дат і інтервалам номерів. Якщо
num_beg або num_end дорівнюють 0, то він не
враховується
Параметри:
Datebeg – початкова дата діапазону для вибору
витягів,
date dateend – кінцева дата діапазону для
вибору витягів,
string num_beg – початковий номер витягу,
string num_end – кінцевий номер витягу.
Заповнюється datebeg і dateend і num_beg і
num_end.
Відповідь: dataset list(docid Response) список
Необхідно викликати об’єкт із заданими параметрами:
App = CreateObject("Medoc.ZApplication");
govReq = App.GetGovRequest()
ResponseList = App.GetNNresponseList( datebeg,dateend,
num_beg, num_end)
Відповідь: DataSet із заповненими полями
Поля в DataSet ResponseList :
CARDCODE – ідентифікатор документа в Медку, завжди
заповнений
REPNUM – номер запита в ЄРПН
REPDATE – дата запита в ЄРПН(на дату)
Після отримання списку витягів, необхідна функція:
OpenDocumentByCode (CARDCODE) – відкриття документа
по ідентифікатору
витягів
«Перевірка
платників ПДВ»
DataSet SentGetNDSPLTSTT ([in] IZDataset
NDSPLTSTT)
Метод відправки запиту «Перевірка платників
ПДВ»
Параметри DataSet:
IPN – Індивідуальний податковий номер
PERDATE – дата, на яку потрібна відповідь,
STATUS – 0 –відправлено запит, 1 -платник, 2
–неплатник
Обов’язковим для заповнення є поля:
IPN – Індивідуальний податковий номер,
PERDATE – дата, на яку потрібна відповідь
Необхідно викликати об’єкт :
App = CreateObject("Medoc.ZApplication");
prim = App.GetPrimaryDocs()
NDSPLTSTTREZ =
prim.SentGetNDSPLTSTT(NDSPLTSTT);
Метод дозаповнює список NDSPLTSTT значенням STATUS
У відповідь повертається заповнена таблиця даних
<ІПН> = NDSPLTSTTREZ.Fields.Item("IPN").Value;
…
<Статус> = NDSPLTSTTREZ.Fields.Item("STATUS").Value;
Якщо по даному контрагенту існує результат, то інформація
добавиться у відповідь. Інакше, відбудеться відправлення
запиту в ДФС по заданим даним.
Перевірка наявності
результату реєстрації
по ПН/РК
Dataset FillNNStatusDS( Dataset filNNDs);
Метод дозаповнює filNNDs інформацією про
реєстрацію документів.
Поля filNNDS:
DOC_ID – ідентифікатор документа
DOC_TYPE – тип документа, 1 – ПН, 2 –РК
DOC_MOVE – 1 – видані, 2 - отримані
DOC_NUM – номер документа
DOC_VD - вид діяльності
DOC_DEPT - код філії
DOC_DATE – дата документа
FIRM_EDRPOU – ЄДРПОУ підприємства
(для виданих – продавець, для отриманих покупець)
PARTNER_EDRPOU – ЄДРПОУ контрагента
PATRNER_IPN – ІПН контрагента
STATUS - статус
REGDATE – дата реєстрації
VATSUM - сума ПДВ
Необхідно викликати об’єкт :
FilNNDsRez= App.FillNNStatusDS(filNNDs)
У відповідь повертається дозаповнена таблиця даних із
колонкою Status, REGDATE, VATSUM
FillNNDsRez. Fields.Item("VATSUM ").Value – сума ПДВ з витягу
FillNNDsRez. Fields.Item("REGDATE").Value – дата реєстрації
FillNNDsRez. Fields.Item("STATUS ").Value – статус документа
STATUS приймає значення:
-1 відсутній документ
-2 критеріям пошуку відповідає більше одного
документа
-3 відсутній обов’язків параметр
0 не відправлявся на реєстрацію
1 відправлено в ДФС
2 доставлено в ДФС
3 не прийнято в ДФС
4 принято в ДФС
Створення пустої
таблиці DataSet і
заповнення полями
DataSet GetEmptyDataSet()
Метод створення пустої таблиці. Необхідний
для використання в інших методах
Повертає таблицю без колонок і без рядків.
AddField ( string fieldName, ZDataTypeEnum
fieldType );
Метод додавання поля у таблицю. Метод
викликається кожного разу при додаванні
нового поля.
Типи полів:
zdtUnknown = 0,
zdtString = 1,
zdtSmallint = 2,
zdtInteger = 3,
zdtWord = 4,
zdtBoolean = 5,
zdtFloat = 6,
zdtCurrency = 7,
zdtBCD = 8,
zdtDate = 9,
zdtTime = 10,
zdtDateTime = 11
Необхідно викликати метод для створення таблиці:
Ds= App.GetEmptyDataSet();
Після чого викликати метод додавання поля у таблицю.
Ds. Fields.AddField("Field1", 1)
Приклад створення документа Податкової накладної методами COM (на VBScript)
set App = CreateObject("Medoc.ZApplication") // створення основного COM об’єкта M.E.DOC IS
(ОБОВ’ЯЗКОВО перед початком інтеграції)
ID = ‘85854545 ’ // оголошення значення ID, або використання функції генерації ID за умови його відсутності
(GenerateGUID())
set PDate = CDATE("18.12.2014") // оголошення значення дати документа
Doc = App.OpenOrCreateByExDocID( "FJ1201006", 0, PDate, , ID, 0 ) // створюється/відкривається документ
Doc.EnableScripts(); //ввімкнення скриптів (по замовчуванню всі скрипти ввімкнені)
Doc.DisableScripts(); // вимкнення скриптів (за необхідності)
rsMain = Doc.DataSets() // отримуємо головну таблицю документа "Main"
rsMain.Edit() // переходимо в режим редагування
rsMain.Fields.Item("N11").Value = CDATE("15.11.2014") // заповнюємо поле N11
rsMain.Fields.Item("N12").Value = 1 //заповнюємо поле N12
rsMain.Fields.Item("N10").Value = "Іванов Іван Іванович" //заповнюємо поле N10
…
rsMain.Post() // підтвердження заповнених даних таблиці (бажано використовувати rsMain.Post після заповнення
кожної таблиці, для збереження цілісності даних в документі)
Tab1 = Doc.DataSets(1) // отримуємо головну таблицю документа "Main"
Tab1.Edit() // переходимо в режим редагування
Tab1.Fields.Item("TAB1_A12").Value = CDATE("15.11.2014") // заповнюємо поле TAB1_A12
Tab1.Fields.Item("TAB1_A13").Value = "апельсини" //заповнюємо поле TAB1_A13
Tab1.Fields.Item("TAB1_A14").Value = "кілограми" //заповнюємо поле TAB1_A14
Tab1.Append() // додаємо інший рядок
Tab1.Edit() // переходимо в режим редагування
Tab1.Fields.Item("TAB1_A12").Value = CDATE("15.11.2014") // заповнюємо поле TAB1_A12
Tab1.Fields.Item("TAB1_A13").Value = "яблука" //заповнюємо поле TAB1_A13
Tab1.Fields.Item("TAB1_A14").Value = "кілограми" //заповнюємо поле TAB1_A14
Tab1.Post() // підтвердження заповнених даних таблиці
…
Заповнення необхідних полів
…
Doc.Save(1) // збереження документа (1 – з перевіркою перед збереженням, 0 –без перевірки)
Doc.Close() // закриття документа
1/--страниц
Пожаловаться на содержимое документа