пʼятниця, 26 жовтня 2018 р.

Здача звіту, якщо оновити 1С немає можливості. Зміна версії звіту в файлі XML формату.

Часом буває ситуація, коли треба здати звіт, а ваша база даних чи облікова програма генерує звіти попередьної версії. Досвід показає, що зазвичай це декларація з ПДВ чи ЄСВ. Хоча одного разу мені прийшлось маніпулювати звітами по землі чи земельному податку. Там було дуже багато позицій, і робота з ними через Медок, була суцільною мукою. Тоді ми вивантажували дані в XML формат, і вже звідти маніпулювати даними.

Сьогодні ми будемо змінювати лише версію звіту. Дуже рідко зміни в звіті настільки глобальні, що змінюється вся логіка всередині звіту. Зазвичай нова версія виходить, коли додається якийсь маловажний рядок або зміни торкаються якогось додатку чи таблиці N. Все рашта залишаєтсья на місті, окрім версії. Ось її ми будемо шукати в наших файлах.

Версія звіту присутня, як тілі файлу так і в його назві.

1) Назва файлу

Ось приклад файлу

17180033225596J1300104100000018311020181718.xml

в середині назви файлу є літера J для підрприємств та організацій або F для приватних підприємців. 13 - вид звіту
001 - підвид звіту
04 - версія

жовтим виділено код звіту:
17180033225596J1300104100000018311020181718.xml

зеленим виділено версію звіту
17180033225596J1300104100000018311020181718.xml


Інші цифри файлу мають свій зміст, але про це не зараз.


2) Зміст файлу

Тепер займемось тілом файлу.

Будь-який XML файл можна відкрити звичайним блокнотом, або редактором, що читає файли розмітки. У мене зазвичай це Internet Exporer, хоча можна відкрити й іншим браузером.

Ось приклад відкритого файлу через браузер Internet Explorer



Редактувати тут неможна, але зате видно чітко, версії файла, які треба змінити. Я їх обвів червоним кольором.

Коли мий зайдемо через блокнот картинка може бути не такою веселою. .Я не знаю в чому причина, але часом, розміщення даних в текстовому редакторі іде без виділення пробілами. Тому новачку не завжди зрозуміло. що міняти.
Зверніть увагу, що двічі інформація про версію закрита тегами <C_DOC_VER>,тобто починається на такий тег, закінчуються таким </C_DOC_VER>. Ці теги треба знайти,  замінити  в нашому випадку версію з 19 на 20.

Крім тегів, версія зустрічається назвах файлів. Найвищий це файл схеми, а найнижчий, це повязаний файл. Таких файлів може бути декілька. Оскільки, зарах іде пакетна передача файлів, то головний файл пакету має зсилки на повязані файли додатків, а кожен додаток лінкується на основний файл, тобто містить назву файлу в середині себе. В першому пункті ми змінювали назви файлів, отже треба змінити їхні назви всередині файлів.

Для зміни відкриємо файл в блокнотом. Для цього жмемо правою кнопкою по файлу - Відкрити з допомогою, або Открыть с помощью - у відкритом вікні знайти блокнот, і відкрити файл.

Можна вибрати опцію Изменить, як тут



або так



і далі так




В результаті побачимо таке:



Вже не дуже весело, так?

Правка - Перенос по словам, трішки виправлять ситуацію:



Як бачите ця база даних не дуже балує юзбіліті, тай для чого. Все що на треба можна віднайте. Це як збирати гриби, спочатку їх невидно. Через якийсь час досліждень уважне око виділить потрібну інформацію. Наша версія 19:



Ось тут комбінацію цифр 19 треба акуратно змінити на 20. Потім закриваємо файл із збереженням змін. Якщо сумніваєтесь, то виходите без збереження, щоб зробити цю операцію, коли буде готові морально.

Повторіть операцію з назвою файлу та змістом файлу з усіма іншими файлами пакету, і можна сміливо завантажувати дані в Медок чи Сонату.