Алгоритм створення файлу та експорт в XML
Для створення та експорту файлу аудиту використовується сторінка Документи експорту файлу аудиту. На сторінці документа файлу експорту є можливість перевірити дані перед формуванням, сформувати, переглянути та відредагувати таблиці попереднього перегляду, сформувати файли аудиту та експортувати їх.
Створення документу експорту файлу аудиту
- Натисніть кнопку
, яка відкриє функцію Пошук та введіть Документи експорту файлу аудиту, перейдіть за відповідним посиланням. - На сторінці Документи експорту файлу аудиту натисніть Створити.
- Відкриється сторінка для нового Документу експорту файлу аудиту.
На вкладці Загальне заповніть наступні поля:
| Поле | Опис |
|---|---|
| Формат експорту файлу аудиту | Визначає формат, який використовується для експорту файлу аудиту. |
| Код зіставлення рахунків ГК | Визначає код зіставлення рахунків ГК, який представляє звітний період. |
| Дата початку | Визначає дату початку звітного періоду. |
| Дата закінчення | Визначає дату закінчення звітного періоду. |
| Розділити за місяцем | Визначає, чи створюватимуться кілька файлів аудиту для кожного місяця. |
| Розділити за датою | Визначає, чи буде створено кілька файлів аудиту для кожного дня. |
| Розділити за розміром | Визначає, чи буде активовано алгоритм автоматичного розбиття експортних файлів XML у разі перевищення ліміту максимального розміру файлу |
| Архівувати в Zip | Визначає, що всі файли будуть запаковані в Zip-архів. Заповнюється автоматично згідно налаштування Формату файлу аудиту. |
| Створити кілька файлів Zip | Визначає, що буде створено декілька файлів Zip. |
| Код директора | Визначає код співробітника директора компанії. Заповнюється автоматично згідно налаштування Інформації про організацію. |
| Код бухгалтера | Визначає код співробітника внутрішнього бухгалтера компанії. Заповнюється автоматично згідно налаштування Інформації про організацію. |
| Наказ директора (№, дата) | Визначає номер та дату наказу (іншого документу) про призначення/звільнення з посади директора. |
| Наказ бухгалтера (№, дата) | Визначає номер та дату наказу (іншого документу) про призначення/звільнення з посади бухгалтера. |
За необхідності обмежити дані для експорту значеннями глобальних вимірів, заповніть поля у вкладці Фільтри.
На вкладці Обробка заповніть наступні поля:
| Поле | Опис |
|---|---|
| Паралельна обробка | Визначає, чи буде створений файл аудиту оброблятися паралельними фоновими завданнями. |
| Макс. кі-сть завдань | Визначає максимальну кількість фонових завдань, які можна виконувати одночасно. |
| Сама рання дата/час початку | Визначає найранішу дату й час виконання фонового завдання. Якщо залишити пустим, виконання почнеться одразу після запуску. |
Примітка Якщо для документу експорту файлу аудиту значення Паралельна обробка = Так і вказана Максимальна кількість завдань для формування превью таблиць в фоновому режимі окремими джобами, то важливо перевірити на сторінці Заплановані завдання кількість завдань, що заповнюють превью таблиці для SAF-T - кодеюніт 71732190 SMA Audit Line Preview Runner. Якщо кількість запущених завдань буде більша за Максимальну кількість завдань, вказану для формування документу експорту файлу аудиту, то превью таблиці формуватися в фоновому режимі не будуть. В такому випадку рекомендуємо очистити всі завдання кодеюніта 71732190 на сторінці Заплановані завдання.
На сторінці Документ експорту файлу аудиту натисніть Перевірка даних, щоб перевірити, чи готові дані до експорту в файл аудиту. На цьому етапі перевіряється заповнення необхідних полів в Налаштуванні експорту файлу аудиту, а також дані у всіх довідниках, відмічених в Налаштуванні експорту файлу аудиту у розділі Перевірка даних.
Для визначення першої події у транзакціях натисніть Відображення першої події у типах транзакцій. Значення в полі Заповнення відмінених документів Визначення типу транзакції створено розділу Загальне зміниться на Так. Для перевірки та редагування визначеного типу транзакцій натисніть Визначення типу транзакції.
Після визначення типів транзакцій рекомендується сформувати перелік відмінених документів. Детальніше див. розділ Заповнення відмінених документів.
Після перевірки переліку відмінених документів можна переходити до формування таблиць попереднього перегляду. Детальніше див. розділ Створення таблиці попереднього перегляду.
Після формування таблиці попереднього перегляду потрібно виконати їх перевірку. Для цього натисніть кнопку Перевірка даних попереднього перегляду. Детальний опис усіх перевірок наведено в розділі Перевірка таблиць попереднього перегляду.
Після успішної перевірки в розділі Загальне статус поля Статус перевірки таблиць попереднього перегляду зміниться на Перевірку пройдено.
Після отримання статусу Перевірку пройдено можна розпочати формування файлу аудиту. Детальніше див. розділ Створення xml-файлів та вивантаження.
Заповнення відмінених документів
Після заповнення заголовка документа аудиту та визначення Типу транзакції необхідно перевірити перелік відмінених документів. Для цього на сторінці Документ експорту файлу аудиту виконайте дію Відображення відмінених документів. Система автоматично аналізує відмінені документи та документи-сторно, за якими існують операції головної книги в межах звітного періоду, та заповнює таблицю Відмінені документи.
Для перегляду сформованого переліку відкрийте сторінку Відмінені документи через групу Пов'язані. Поле Показувати в SAF-T визначає, чи повинні операції по документу враховуватись при формуванні таблиць попереднього перегляду та SAF-T файлу:
- Так — операції будуть включені до SAF-T.
- Ні — операції не будуть включені до SAF-T.
Після перевірки списку відмінених документів можна переходити до формування таблиць попереднього перегляду.
Створення таблиці попереднього перегляду
На сторінці Документ експорту файлу аудиту натисніть Згенерувати таблиці попереднього перегляду. В розділі Дані попереднього перегляду сформовано типи даних, які були вказані в Налаштуванні формату експорту файлу аудиту. Для кожної таблиці відображається наступні поля:
| Поле | Опис |
|---|---|
| Тип даних експорту файлу аудиту | Визначає таблицю звіту SAF-T, для якої дані генеруються в таблиці попереднього перегляду. |
| Статус | Визначає статус генерації вибраних даних попереднього перегляду аудиту. |
| Статус сесії | Визначає стан фонової сесії: активна, запланована, зависла або не працює. Для детального моніторингу та керування активними й запланованими фоновими сесіями генерації таблиць використовуйте сторінку Менеджер фонових процесів SAF-T (див. розділ нижче). |
| Хід виконання | Визначає хід генерації вибраних даних попереднього перегляду аудиту. |
| Кі-сть повторних спроб | Визначає кількість залишкових спроб повторення. |
| Найраніша дата/час початку | Визначає найранішу дату та час, коли фонове завдання може бути виконано. |
| Дата, час створення | Визначає дату й час завершення створення вибраних даних попереднього перегляду аудиту. |
| Число записів | Визначає кількість записів у таблиці звіту SAF-T, для яких дані генеруються в таблиці попереднього перегляду. |
| Пов'язані записи | Визначає для перегляду та перевірки детальних або пов'язаних сутностей таблиці, пов’язаній зі звітом SAF-T, для якої дані генеруються в таблиці попереднього перегляду. |
Дані доступні для перегляду і редагування. Щоб відкрити таблицю попереднього перегляду певного типу даних, необхідно натиснути на посилання Число записів або Пов’язані записи.
При необхідності створити заново одну або декілька таблиць попереднього перегляду необхідно їх виділити та натиснути:
- Перестворити дані попереднього перегляду - створення таблиці відбудеться в поточній сесії користувача, при цьому до завершення формування таблиці будуть блокуватись інші дії користувача.
- Перезапустити - логіка повторного запуску залежить від значення поля Найраніша дата/час початку:
- Якщо для рядка таблиці попереднього перегляду заповнено поле Найраніша дата/час початку, після натискання кнопки статус рядка змінюється на Виконується. Проте фактичне переформування даних і оновлення дати/часу створення відбудеться у черзі фонових завдань строго у визначений користувачем час.
- Якщо поле Найраніша дата/час початку залишено пустим, переформування запускається одразу ж (як тільки з'явиться вільне фонове завдання — відповідно до загальних налаштувань Паралельної обробки файлу аудит документа).
- Відмінити - оберіть, якщо необхідно відмінити створення таблиці попереднього перегляду. Якщо запущено багато паралельних завдань генерації прев'ю-таблиць, ви можете масово або точково зупинити/скасувати їх за допомогою сторінки Менеджера фонових процесів SAF-T.
Перевірка таблиць попереднього перегляду
Після формування таблиць попереднього перегляду рекомендується виконати перевірку даних перед формуванням xml-файлу SAF-T.
Для цього на сторінці Перевірка даних попереднього перегляду натисніть Виконати перевірку.
На даному етапі виконуються такі перевірки:
- Ключі-посилання – перевіряється наявність пов'язаних записів у відповідних довідниках і таблицях.
- Унікальність ключових полів – перевіряється відсутність дублікатів значень у ключових полях таблиць попереднього перегляду.
- Обов'язкові поля – перевіряється заповнення обов’язкових полів тих даних, які потрапляють в таблиці попереднього перегляду.
- Збалансованість таблиць попереднього перегляду – перевіряється коректність сум і взаємозв'язків між таблицями попереднього перегляду.
У разі виявлення помилки система формує відповідний запис у журналі перевірки. Після успішного проходження перевірки значення поля Статус перевірки таблиць попереднього перегляду змінюється на Перевірку пройдено.
Перевірка ключів-посилань
Перевірка ключів-посилань забезпечує контроль цілісності даних між таблицями попереднього перегляду. Система перевіряє, чи існують значення, на які посилаються записи в інших таблицях.
Зокрема виконуються перевірки наявності:
- рахунків ГК для полів Код рахунка та Код кореспондуючого рахунку;
- покупців, постачальників та власників у відповідних довідниках;
- кодів податків у таблиці податків SAF-T;
- одиниць вимірювання у таблиці одиниць вимірювання SAF-T;
- типів руху в таблиці типів руху;
- номерів рахунків запасів у таблиці запасів;
- постачальників у операціях з необоротними активами.
- коректності посилань між записами документів, проводок, залишків та довідників.
Для записів головної книги також додатково перевіряється коректність посилань за полем Номер джерела кореспондуючого рахунку залежно від комбінації полів Тип джерела рахунку та Тип джерела кореспондуючого рахунку.
У разі відсутності пов'язаного запису система формує повідомлення про помилку.
Перевірка унікальності ключових полів
Перевірка унікальності ключових полів призначено для перевірки відсутності дублювання ключових значень у таблицях попереднього перегляду SAF-T.
Перевіряється унікальність:
- типів транзакцій;
- рахунків головної книги;
- покупців;
- балансів покупців у межах покупця;
- постачальників;
- балансів постачальників у межах постачальника;
- податків у межах виду податку;
- одиниць виміру;
- аналітичних рахунків у межах типу аналітики;
- типів руху;
- номенклатури запасів і продукції;
- залишків запасів за комбінацією складу, запасу та рахунків;
- власників;
- балансів власників у межах власника;
- необоротних активів.
У разі виявлення дублювання система формує повідомлення про помилку. Повідомлення є клікабельним та відкриває таблицю попереднього перегляду з установленим фільтром за дубльованим значенням або комбінацією значень.
Перевірка обов'язкових полів
Перевірка обов'язкових полів виконує контроль заповнення полів, які відповідно до технічної специфікації SAF-T визначені як обов'язкові (Mandatory).
Додатково виконуються такі перевірки:
- у таблиці Типи руху обов'язковим для заповнення є поле Тип руху
- у таблиці Номенклатура запасів (товарів та послуг), якщо заповнено поле Стандартна одиниця виміру, повинно бути заповнено поле Коефіцієнт перерахунку стандартної одиниці виміру в базову. Якщо поле Стандартна одиниця виміру містить кілька значень, розділених символом ";", поле Коефіцієнт перерахунку стандартної одиниці виміру в базову повинно містити таку саму кількість значень, також розділених символом ";".
- у таблиці Оцінка активів, якщо заповнено поле Екстраординарна амортизація за період, обов'язково повинно бути заповнено поле Метод екстраординарної амортизації.
- у таблиці Операції податкових різниць обов'язковими для заповнення є поля Код рахунку та Код кореспондуючого рахунку
- у таблиці Операції головної книги обов'язковими для заповнення є поля Код транзакції, Дата внесення до системи та Дата облікового запису.
У разі виявлення незаповнених обов'язкових полів система формує повідомлення про помилку із зазначенням поля та запису, для якого виявлено невідповідність
Перевірка збалансованість таблиць попереднього перегляду
Перевірка збалансованості контролює узгодженість сум і взаємозв'язків між таблицями попереднього перегляду SAF-T. У разі виявлення розбіжностей система формує повідомлення про помилки, які необхідно усунути перед формуванням XML-файлу.
Створення xml-файлів та вивантаження
Для того, щоб створити файл аудиту, натисніть Почати на сторінці Документ експорту файлу аудиту. Повторне натискання кнопки Почати автоматично зупиняє всі запущені раніше фонові сесії та паралельні процеси обробки для цього документа, та самостійно очищує чергу завдань від застарілих процесів і безконфліктно розпочинає формування XML-файлів заново з актуальними налаштуваннями. На вкладці Обробка будуть заповнені рядки файлу аудиту, в залежності від вказаних налаштувань в розділі Загальне – файли Основні Дані, Записи головної книги та Первинні документи. У рядках присутня інформація про Хід виконання, Статус, Дату і час створення та Ім'я файлу аудиту (яке можливо редагувати). Для оновлення статусу натисніть Оновити сторінку в цьому розділі. Для експорту всіх файлів в Zip-архіві натисніть на Завантажити файли. Для експорту окремого файлу аудиту виділіть необхідний рядок та натисніть Рядки > Завантажити як файл.
Примітка Згідно з Детальним технічним описом елементів SAF-T UA значення показників символьного типу не можуть містити такі заборонені символи, що не вивантажуються в xml:
Моніторинг та керування фоновими процесами (Менеджер фонових процесів SAF-T)
Для повного контролю над паралельними процесами — як під час генерації таблиць попереднього перегляду, так і під час безпосереднього формування XML-файлів — реалізовано централізований інструмент керування завданнями. Щоб перейти до керування завданнями, на панелі інструментів документа оберіть Пов'язано > Менеджера фонових процесів. На сторінці Менеджера фонових процесів SAF-T користувачу доступні можливості детально бачити поточні завдання та гнучко працювати з ними. Тут відображається моніторинг загального статусу документа, кількість активних фонових сесій та запланованих завдань, а також доступні такі елементи керування та моніторингу:
- Панель Підсумок: Відображає унікальний Код документа, поточний Статус документа, а також кількість Активних сесій, Запланованих завдань і Завислих сесій у черзі.
- Вкладка Активні сеанси: Показує список процесів, які виконуються зараз (назва процедури, ID сесії, користувач, час запуску). Кнопка Зупинити сеанс дозволяє примусово перервати конкретну обрану сесію.
- Вкладка Заплановані завдання: Відображає чергу майбутніх запусків. Кнопка Скасувати завдання видаляє виділене завдання з черги, а кнопка Скасувати все (або кнопка Скасувати всі заплановані на верхній панелі) повністю очищає чергу завдань для документа.
Розділення файлів аудиту за розміром
Якщо під час вивантаження активовано перемикач Розділити за розміром, система автоматично розраховує очікуваний обсяг XML-файлів на основі кількості записів у таблицях попереднього перегляду та глобальних параметрів лімітів (які задаються в загальних налаштуваннях системи).
Логіка роботи алгоритму Під час запуску процедури формування файлів програма аналізує кожну прев'ю-таблицю. Розрахунковий обсяг даних обчислюється шляхом множення фактичної кількості записів на орієнтовний розмір одного рядка, що встановлений для цього типу даних: 'Розрахунковий розмір (байт) = Кількість записів у прев'ю × Приблизний розмір запису (байтів)'
Приклад: Якщо таблиця Сальдові/Обороти відомості містить 424 записи, а експериментально визначений розмір одного запису для неї становить 2500 байтів, загальна розрахункова вага складе: 424 × 2500 = 1 060 000 байтів (~1,01 МБ).
- Якщо розрахунковий розмір не перевищує ліміт максимального розміру (наприклад, 500 МБ), всі дані запишуться в один файл без розділення.
- Якщо розрахунковий розмір перевищує встановлений у системі ліміт, програма автоматично розіб'є цей тип даних на кілька послідовних частин. У секції обробки буде створено декілька рядків (файлів) із додаванням відповідних позначок у назві (Part 1, Part 2 тощо).
Примітка Розрахунок очікуваного розміру XML-файлів спирається виключно на кількість рядків верхнього рівня у прев’ю-таблиці. Для специфічних розділів (наприклад, контрагенти або первинні документи), де одна картка або замовлення може містити значну кількість дочірніх XML-елементів і рядків специфікації, обсяг фінального XML може суттєво відрізнятися. Якщо на виході файли формуються занадто великими або нерівномірно розподіленими, слід відкоригувати параметр «Приблизний розмір запису (байтів)» для відповідного типу даних у загальних налаштуваннях.
