Допоможіть розібратись із XML (ОБОВ’ЯЗКОВО ДО ПОСТУ ПРИКРІПЛЮЄТЬСЯ САМ ФАЙЛ ІЗ ПОМИЛКАМИ)
Додано: 11 травня 2023 09:19
Останнім часом розробники НКС зробили "пАкращення" і тепер не тільки більше помилок стало при перевірці обмінних файлів, змінились правила, а ще й некритичних помилок не стало. Тепер всі помилки критичні і ви не зможете здати на реєстрацію XML, в якому є хоча б одна помилка. Інколи доходить до маразму: не вказані паспортні дані у депутата Шмигаля, який підписав постанову "Про затвердження Правил охорони електричних мереж", або не вказана вулиця в селі, де вулиць ніколи і не було (лише номери будинків). Ну, як казали про одну любительку відпочити на Дубаї: "Вона працює". І розробники НКС теж працюють. А нам залишається "проходити між крапельками". Є в цьому і позитивний момент. Перевірка обмінних файлів стала уніфікована, не потрібно надіятись на кваліфікацію реєстратора. Просто завантажили файл і відразу отримали результат перевірки. Можете по 10 раз цей файл перевіряти, поки не доб'єтесь того, щоб помилка зникла. Як не крути, але це плюс.
Тепер стало дуже важливо вміти аналізувати отримані помилки. Ні, я не буду казати як їх виправляти - до кожної помилки свої підходи. Саме важливе спочатку зрозуміти де ця помилка і що саме не так. Проте, не всі це вміють. Де ви робите XML - не важливо. Для аналізу помилки не потрібно ніяких платних програм - просто вмикати логіку (в голові) і навчитись користуватись де-якими функціями.
Чому це важливо? На днях до мене звернувся клієнт, сказав, що у нього обмінний файл на померлу людину, але помилка вказує що не вірно заданий паспорт. Він вже й свідоцтво про смерть вніс замість паспорта і все 10 раз перепровірив і все рівно ця помилка. Він витратив пів дня щоб розібратись. Ми почали аналізувати помилку і виявилось, що помилка зовсім не у власника! Помилка в блоці обмеження, де задається людина, яка підписала закон, на основі якого відводиться це обмеження. В нашому прикладі це постанова "Про затвердження Правил охорони електричних мереж" і не вірно вказані паспортні дані для Шмигаля Д.А. Смішно, правда? ))
Отже, розберемо по пунктам.
1. Ви експортуєте зі своєї програми (в якій працюєте) XML-файл, підписуєте його і в своєму кабінеті землевпорядника закидуєте на перевірку. В результаті отримуєте протокол помилок, який і потрібно проаналізувати.
2. З протокола беремо один із рядків. В моєму прикладу там він єдиний. Вам для аналізу потрібні лише дві колонки: "Рядок" і "Помилка". "Рядок" - це номер рядка файлу XML, а "Помилка" - це технічно складений опис про те, що не так в тому рядку, на який ця помилка вказує.
3. Тепер нам потрібно відкрити XML-файл і знайти потрібний рядок. Зробити це можна в будь-якому текстовому редакторі, який показує номери рядків, можна навіть в програмі "Блокнот", проте я раджу для цих цілей використовувати безкоштовну але дуже корисну програму "Notepad++". Завантажити її можна звідси: https://notepad-plus-plus.org/downloads/v8.5.2/
Завантажте, інсталюйте (там не складно) і відкрийте в ній XML-файл. Після інсталяції можна натиснути праву кнопку миші на файлі і вибрати команду "Edit with Notepad++". Ця програма показує рядки, підсвічує теги, дозволяє переглядати блоки і має ще дуже багато корисних функцій для аналізу та роботи з текстовими файлами. Завжди нею користуюсь!
4. Знайдіть вказаний рядок.
5. Знайшовши рядок, читаємо помилку: "Недопустима наявність елемента 'PassportIssuedDate' в поточній позиції. Очікується один із наступних елементів '{PassportNumber}'.". Кажу відразу, коли бачите текст "Недопустима наявність елемента...", то перше речення відразу пропускайте! Воно нам не потрібне, бо не несе змісту, нам потрібне наступне: "Очікується один із наступних елементів '{PassportNumber}'". От в цьому і заключається помилка. Не вказано елемент "PassportNumber" там, де він повинен бути.
6. Як зрозуміти що значать назви на англійській мові? От тут нам стає в нагоді така чудова постанова 1051: https://zakon.rada.gov.ua/laws/show/105 ... D0%BF#Text
Відкриваєте її, натискаєте на клавіатурі Ctrl+F і вставляєте назву елемента.
Отже, ми зрозуміли, що мова йде про номер паспорта фізичної особи.
7. Тепер дивимось в якому блоці знаходиться наша помилка. Це блок "RestrictionEntitlement". Звертайте увагу на відступи, або як Notepad++ підсвічує лініями потрібний блок. Знову звернувшись до постанови 1051 ми починаємо розуміти: підстава для виникнення права земельного сервітуту, емфітевзису, суперфіцію та інших обмежень щодо користування земельною ділянкою.
8. От так ми побачили, що у нас є обмеження в файлі, знайшли яке саме обмеження, побачили що мова йде про відсутність номеру паспорта у особи, що підписала підставу для виникнення обмеження.
Таким чином, зрозумівши суть помилку ви вже використовуєте будь-які методи щоб її виправити: чи то переробити файл в програмі і знову експортувати, чи то відразу в Notepad++ скорегувати його і зберегти.
Якщо ж у вас не вийшло розібратись з помилкою і ви вирішили запитати про це у колег, то, будь ласка, зробіть скріншот помилки та скріншот того місця у файлі де вона є. Бо наявність однієї помилки ще нічого не говорить і люди будуть вам підсказувати те, що насправді не являється суттєвим. Таким чином ви збережете час і собі і іншим!
Тепер стало дуже важливо вміти аналізувати отримані помилки. Ні, я не буду казати як їх виправляти - до кожної помилки свої підходи. Саме важливе спочатку зрозуміти де ця помилка і що саме не так. Проте, не всі це вміють. Де ви робите XML - не важливо. Для аналізу помилки не потрібно ніяких платних програм - просто вмикати логіку (в голові) і навчитись користуватись де-якими функціями.
Чому це важливо? На днях до мене звернувся клієнт, сказав, що у нього обмінний файл на померлу людину, але помилка вказує що не вірно заданий паспорт. Він вже й свідоцтво про смерть вніс замість паспорта і все 10 раз перепровірив і все рівно ця помилка. Він витратив пів дня щоб розібратись. Ми почали аналізувати помилку і виявилось, що помилка зовсім не у власника! Помилка в блоці обмеження, де задається людина, яка підписала закон, на основі якого відводиться це обмеження. В нашому прикладі це постанова "Про затвердження Правил охорони електричних мереж" і не вірно вказані паспортні дані для Шмигаля Д.А. Смішно, правда? ))
Отже, розберемо по пунктам.
1. Ви експортуєте зі своєї програми (в якій працюєте) XML-файл, підписуєте його і в своєму кабінеті землевпорядника закидуєте на перевірку. В результаті отримуєте протокол помилок, який і потрібно проаналізувати.
► Показати
3. Тепер нам потрібно відкрити XML-файл і знайти потрібний рядок. Зробити це можна в будь-якому текстовому редакторі, який показує номери рядків, можна навіть в програмі "Блокнот", проте я раджу для цих цілей використовувати безкоштовну але дуже корисну програму "Notepad++". Завантажити її можна звідси: https://notepad-plus-plus.org/downloads/v8.5.2/
Завантажте, інсталюйте (там не складно) і відкрийте в ній XML-файл. Після інсталяції можна натиснути праву кнопку миші на файлі і вибрати команду "Edit with Notepad++". Ця програма показує рядки, підсвічує теги, дозволяє переглядати блоки і має ще дуже багато корисних функцій для аналізу та роботи з текстовими файлами. Завжди нею користуюсь!
4. Знайдіть вказаний рядок.
► Показати
6. Як зрозуміти що значать назви на англійській мові? От тут нам стає в нагоді така чудова постанова 1051: https://zakon.rada.gov.ua/laws/show/105 ... D0%BF#Text
Відкриваєте її, натискаєте на клавіатурі Ctrl+F і вставляєте назву елемента.
► Показати
7. Тепер дивимось в якому блоці знаходиться наша помилка. Це блок "RestrictionEntitlement". Звертайте увагу на відступи, або як Notepad++ підсвічує лініями потрібний блок. Знову звернувшись до постанови 1051 ми починаємо розуміти: підстава для виникнення права земельного сервітуту, емфітевзису, суперфіцію та інших обмежень щодо користування земельною ділянкою.
8. От так ми побачили, що у нас є обмеження в файлі, знайшли яке саме обмеження, побачили що мова йде про відсутність номеру паспорта у особи, що підписала підставу для виникнення обмеження.
Таким чином, зрозумівши суть помилку ви вже використовуєте будь-які методи щоб її виправити: чи то переробити файл в програмі і знову експортувати, чи то відразу в Notepad++ скорегувати його і зберегти.
Якщо ж у вас не вийшло розібратись з помилкою і ви вирішили запитати про це у колег, то, будь ласка, зробіть скріншот помилки та скріншот того місця у файлі де вона є. Бо наявність однієї помилки ще нічого не говорить і люди будуть вам підсказувати те, що насправді не являється суттєвим. Таким чином ви збережете час і собі і іншим!