Repository navigation
v1.8.0
- Автоматична звірка та взаємне доповнення записів із захистом від подвоєння сум при збереженні річних декларацій (код 888).
- Індикатори джерела в інтерфейсі (бірюзові та помаранчеві бейджі) та аудит розбіжностей у системному журналі.
- Фільтр «Усі виявлені об'єкти» та збереження зведених об'єктів:
- Чекбокс у фільтрах розділів «Нерухомість», «Транспорт» та «Активи» для перегляду всіх об'єктів (включаючи деактивованих осіб чи сторонніх власників).
- Збереження об'єднаних об'єктів для деактивованих суб'єктів без втрати зв'язків.
- Оновлення розділу «Інтерпретація / Попередній перегляд»:
- Перенесення кнопок експорту у верхню панель управління та згортання бічного сайдбару.
- Групування джерел експорту у зручні картки по реєстрах.
- Вдосконалення Хронології майна (Timeline):
- Нова колірна схема (зелений — власність, оранжевий — користування, комбінований — спільне право).
- Підтримка візуалізації реєстрових даних, оновлена стилізація заголовків і наконечників стрілок.
- Нативні кастомні курсори перетягування (
grab/grabbing) для горизонтальної навігації.
Виправлено
- Парсинг PDF ДРФО:
- Усунуто прилипання підсумкових рядків «Всього за рік» до нових квартальних записів.
- Розрахунок вертикальних меж рядків через якірні лінії для запобігання зрізанню коду 888 та обрізанню багаторядкових описів.
- Повна узгодженість майна між розділами:
- Спільна логіка фільтрації об'єктів у «Нерухомості», «Хронології майна» та «Інтерпретації» для забезпечення ідентичної кількості об'єктів в усіх поданнях.
- Відновлено заголовок «5. Майно» у структурі документа та попередньому перегляді.
- Стабільність тестів та SQLite:
- Ізоляція тестів SQLite у dedicated-колекцію
SqliteStorageTestCollectionдля усунення гонки підключень при паралельному виконанні.
- Ізоляція тестів SQLite у dedicated-колекцію
Змінено
- Оновлено панель параметрів експорту та структуру бічного меню.
Видалено
v1.7.4 (2026-09-03)
Виправлено
- Позначка у фільтрах «Випадків перетину кордону» більше не скидається одразу після натискання, а сам фільтр нарешті застосовується до таблиці.
- Фільтр за особою в перетинах кордону більше не пропонує тих, кого в таблиці немає: після об'єднання двох осіб у переліку лишалися обидві, хоча довідка показує одну.
- Фільтр, який нічого не знайшов, більше не забирає з собою таблицю разом із панеллю фільтрів — розділ лишається на місці з поясненням, і фільтр можна зняти.
- Фільтри в «Членах сім'ї», «Близьких особах», «Довіреностях» і «Деталізованих доходах» більше не порожні: доти вони наповнювалися до того, як реєстри прочитані, і лишалися порожніми до кінця роботи.
- Перший захід в «Інтерпретацію» після запуску показує довідку, а не порожнечу до виходу в інший розділ і повернення назад.
- У «Параметрах експорту» над кожним реєстром стояла зайва порожня галочка без назви: картка Condemno показується лише у блоці «НАЗК».
Додано
- Об'єднання осіб: накладна панель «Групи осіб» у розділі «Суб'єкти» для об'єднання записів, складання ПІБ з усіх варіантів написання, поширення тотожності на об'єкти нерухомості та дедупліковане зарахування доходів ДРФО.
- Упорядкування списку «Суб'єктів» за заголовками стовпців: сортування за ПІБ, присутністю у звіті, кількістю баз та кількістю записів зі збереженням структури об'єднаних груп.
- Групування джерел «Параметрів експорту»: картки різних форм одного реєстру (ДРФО, НАЗК, ЄДРТЗ, ВККС) зведено в єдині блоки відповідних реєстрів.
Змінено
- Заголовок «Деталізовані доходи» відділений відступом зверху від попередньої таблиці згідно з параметрами шаблону DOCX.
- У випадайці фільтра «Ознака» відображається код ознаки доходу разом із її розшифровкою з реєстрових записів.
v1.7.3 (2026-09-02)
Додано
- У розділі «Суб'єкти» для кожної особи в меню дій («Дії», колонка 9) додано пункт «Перевірити ресурси» для примусової повторної перевірки на зовнішніх API-ресурсах (Condemno / НАЗК) в обхід локального кеша.
v1.7.2 (2026-09-02)
Виправлено
- Виправлено аварійне завершення роботи застосунку (
SIGABRT/System.IO.FileNotFoundException: Could not load file or assembly 'System.IO.Hashing') на macOS arm64 та інших платформах у compact / trimmed збірках при агрегації суб'єктів або натисканні «Перебудувати». СкладанняSystem.IO.Hashingзахищене від тримінгу (TrimmerRootAssembly) та явно підключено уPeromat.AppіPeromat.Cli. - Додано модульні тести для перевірки детермінованості генерації 16-значних XXH3-ідентифікаторів у
CondemnoUidGenerator.
v1.6.0 (2026-08-22)
Виправлено
-
Зіставлення декларацій: реєстровий обʼєкт, який належить СТОРОННІЙ особі, більше не приписується до
задекларованого. Власник був лише позитивним сигналом, тож ділянка чужої людини могла злитися з
декларацією на самій площі (в межах 2%) та назві міста. Перевірка одностороння: декларація без
власників або реєстровий запис без власників нічого не блокують — блокує лише випадок, коли обидві
сторони називають людей і жодна не збігається. -
Діагностика бачила лише записи, а блок джерела (параметри запиту) — ні. Мітка, що лишилася
нерозпізнаною там, не повідомлялася нічим: саме так «Пошук за» весь час був відсутній у вивантаженні
при мовчазному звіті. Тепер блок джерела теж сканується, а кількість ЗАПИСІВ не змінюється — на неї
спираються всі регресійні заміри. -
Зіставлення декларацій: земельна ділянка більше не зливається з будинком, що стоїть на ній.
Площа будівлі та площа її ділянки — величини одного порядку, тож вони легко потрапляють у допуск
2%; тип об'єкта був лише позитивним сигналом, тому тип, який ПРЯМО суперечив, нічого не коштував
парі. На реальних даних задекларовану ділянку 422 було злито з адміністративним будинком 425,4 кв.м
на самій лише площі та назві міста. Тепер клас об'єкта — така сама жорстка суперечність, як площа. -
ДРРП: витяг тепер зберігає, ЯК шукали — «Пошук за: частковим співпадінням». Це окремий факт від
переліку опитаних реєстрів, і не косметичний: частковий збіг розширює пошук і може повернути майно
іншої особи зі схожим ПІБ, тобто міняє довіру до самого витягу. Ключ 639 «Спосіб зіставлення в
пошуку». -
Реєстр ключів: рядок, доданий вручну через пробіл замість табуляції, більше не втрачається — якщо
рядок починається з цифр, номер однозначний. Рядок узагалі без номера на початку й далі
повідомляється як дефект. -
ДРРП: закрито останні прогалини теки. Видалення в журналі змін тепер розпізнається — реєстр пише
«видалено», а код знав лише «вилучено», тож такі рядки лишалися поза описом змін. Іпотека зі
старого Державного реєстру іпотек зберігає «Додаткові дані» — це поле, де стоїть генеральний
кредитний договір, і його номери не траплялися більше ніде. Блок власників у журналі змін
розкладається на осіб, тож орган видачі паспорта більше не губиться. Склеєна двома колонками мітка
«Відсоток зносу: 15, Загальна» / «вартість нерухомого майна (грн): 55815» більше не показується як
нерозпізнана: обидва числа й так зберігалися. -
ДРРП, журнал змін: запис тепер зберігає, ЩО саме змінилося. Реєстр друкує це під підзаголовком
«Опис змін:» окремим рядком на кожне поле («Іпотекодержатель: X змінено на Y»), а решта полів запису
описує стан ДО зміни — тож ці рядки були єдиним свідченням нового значення, і вони нікуди не
потрапляли. На іпотеці, перепроданій двічі, проміжний іпотекодержатель не існував у вивантаженні
взагалі: ланцюг переходу права вимоги обривався посередині. Ключ 638 «Опис змін». -
Реєстр ключів: два ключі, додані востаннє (636 «Реєстратор припинення», 637 «Дата, час перетину
кордону транспортним засобом»), насправді не завантажувалися — у файлі назва була вклеєна в колонку
номера, рядок не розбирався й мовчки пропускався. Перевірка невідомих ключів цього спіймати не
могла: вона спрацьовує лише на ключі, які вивантаження ВЖИВАЄ, а щойно доданий ключ їй невидимий.
Тепер такий рядок повідомляється окремим сигналом, а файл із багаторядковими назвами в лапках
читається правильно. -
ДРРП, обтяження: запис знову має сторони. Реєстр друкує їх одним абзацом, останній рядок якого
переносився так, що слово «реєстрації:» опинялося на початку рядка й читалося як нова назва поля —
абзац обривався на слові «країна», а решта не потрапляла нікуди. Через це в записі про обтяження не
було ЖОДНОЇ сторони, а податковий номер особи, майно якої обтяжується, не траплявся у вивантаженні
взагалі. Те саме виправлено для сторін іпотеки. -
ДРРП, інші речові права: запис тепер зберігає, з якого запису його перенесено. Реєстр друкує це
рядком «Перенесено із запису: 30387791» — посилання назад на попередній запис права. Іпотека його
читала, інше речове право ні, тож на земельних ділянках цей номер був єдиним фактом рядка, який не
потрапляв у жодне поле й не траплявся більше ніде у вивантаженні. -
ДРФО: код суду більше не зникає при повторному збереженні запису. Він ділив поле з кодом
роботодавця, і при читанні заповнювалося лише одне з двох — тож у наступному вивантаженні суду вже
не було. -
Перетини кордону: час перетину людиною і час перетину транспортним засобом більше не змішуються в
одному полі — у реальних даних вони відрізняються на кілька хвилин. -
ЄДРТЗ: запис про транспортний засіб тепер зберігає, з якої відповіді реєстру він походить — номер,
ідентифікатор і дату відповіді, а також параметри запиту. Раніше ці дані читалися з файлу, але
нікуди не записувалися. -
ЄДРТЗ: документ-підстава реєстрації транспортного засобу тепер зберігається як документ — його
дата, серія з номером і орган видачі. Раніше вони лишалися нерозібраним текстом. -
ЄДРТЗ: номер будинку і номер квартири з адреси власника більше не втрачаються.
-
ДРФО: податковий агент (роботодавець) тепер окрема сторона запису. Раніше його назва зберігалася
в одному полі з ім'ям платника, а код ЄДРПОУ — в одному полі з кодом суду, тож з вивантаження не
можна було зрозуміти, де людина, а де підприємство. -
Довіреності: припинена довіреність більше не виглядає як чинна. Стан («Припинено дію», «Видалено»),
дата припинення та документ-підстава раніше не читалися взагалі — у звіті така довіреність нічим не
відрізнялася від діючої. Витяги, імпортовані раніше, переобробляться автоматично. -
Довіреності: передоручення тепер пов'язане з довіреністю, на яку воно видане — раніше в базі не
було жодного зв'язку між ними. -
Довіреності: нотаріус і його округ більше не дублюються у вивантаженні. Кожне збереження й повторне
вивантаження додавало ще одну копію. -
Довіреності: особа, яка видала довіреність, тепер показується серед пов'язаних осіб — раніше вона
зберігалася окремо від решти сторін і в цей перелік не потрапляла. -
ДРРП: ознака завершеності будівництва тепер показує те, що написано у витягу («закінчений
будівництвом об'єкт»), а не підставлене «Так». -
ДРРП: якщо реєстраційний номер об'єкта вказаний лише в тексті додаткових відомостей, він тепер
теж читається як номер об'єкта — раніше такий об'єкт лишався взагалі без номера й не зіставлявся
з собою ж в інших витягах. -
ДРРП: земельні ділянки зі «спеціального розділу» більше не залишаються без прав. У витягу таке
право надруковане ПЕРЕД своєю ділянкою і без власного заголовка, тож читалося як історія
попередньої ділянки — на реальному витягу 30 із 32 ділянок потрапляли в базу зовсім без оренди, без
орендодавця й без строку. Витяги, імпортовані раніше, переобробляться автоматично. -
ДРРП: опис змін («було X, змінено на Y») більше не підміняє собою самі дані. Раніше такий рядок
ставав значенням поля, яке описував: замість справжнього іпотекодержателя в базу йшло речення про
його заміну, а банк із середини ланцюжка зникав. -
ДРРП: сторони, вказані в записі журналу змін (наприклад банк-заявник, який більше ніде в документі
не згадується), тепер зберігаються. Вони правильно розпізнавалися, але не потрапляли у вихідні дані. -
ДРРП: у переліку сторін більше не з'являються порожні записи без імені та коду. Їх породжував
уточнювач типу суб'єкта («Орган місцевого самоврядування»), надрукований перед іменем наступної
сторони. -
ДРРП: у старих витягах більше не зникають попередні співвласники. Коли документ друкує кількох
закритих співвласників поспіль під одним заголовком «Інформація про деталізацію», раніше зберігався
лише останній — на реальному витягу з чотирьох колишніх власників квартири в базу потрапляв один,
а решта не з'являлися ні в об'єкті, ні в переліку осіб. Витяги, імпортовані раніше, переобробляться
автоматично. -
ДРРП: номер документа більше не обрізається на комі, яка є частиною самого номера — «31-13-0,27-688/108-18»
зберігався як «31-13-0».