Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Реалізація в ЦБД

Процедури:

BSE, BSD, APE, APD


Хто
  • Статус процедури: active_rectification
  • Період процедури:rectificationPeriod
Передумова
  • Завантажено документ clarifications (обов’язкова дія для редагування Процедури)
  • Завантажено документи, які необхідно замінити в оголошення (у випадку редагування документів)

Дії

  • Записує нові дані в поля, які потребують оновлення (Доступне редагування лише тих полів, які Організатор заповнював при публікації оголошення)*
  • Додає посилання на опубліковані в документ сервісі документи, які необхідно замінити*

Запит:

PATCH /api/procedures/{procedure_id}

https://procedure-sandbox.prozorro.sale/api/doc#/active_rectification/update_procedure

Валідації:

  • Організатор може вносити зміни тільки в ті поля, які заповнював при публікації оголошення

Результат:

  • ЦБД оновлює дані оголошення
  • В разі наявності бідів в статусі active, ЦБД переводить заяви в статусі active у статус  inactive (інактивуються біди)

Додаткові умови:

*Організатор підчас редагування може одночасно редагувати:

  • поля оголошення і документи
  • тільки поля оголошення
  • тільки документи оголошення

Сповіщення:

У випадку відсутності завантаження документа clarifications {
    "message": {
        "documents""Procedure cannot be updated without clarifications document. To update procedure data upload clarifications document first"
    }
}

Особливості інактивації Біда (поле inactivationDate)

Якщо протягом rectificationPeriod була змінена Процедура (PATCH), то до цієї Процедури в API response додається поле inactivationDate заповнене датою PATCH процедури ( inactivationDate == dateModified )

Якщо процедуру PATCH-ать повторно, то поле inactivationDate оновлюється новою датою і так з кожним PATCH.

Для чого це потрібно по крокам:

  1. Опублікували Процедуру, почався active_tendering
  2. Біди подали і активували заяви на участь
  3. Після цього Організатор відредагував Процедуру (PATCH)
  4. Біди отримали статус inactivate (ЦБД їм змінило статус автоматично)
  5. В mirror потрапила змінена процедура, але нічого про Біди в ній ще нема (public API не віддає в mirror бідів по процедурі у статусі active_tendering) і Організатор не бачить Бідів в public API.

Майданчикам Бідів треба якось зрозуміти, що їх Біди деактивувалися і оновити їм статус.

  • Через mirror прилітає змінена Процедура і вони бачать, що зʼявилося поле inactivationDate. Це є тригер для того, щоб пересинхронізувати своїх Бідів і оновити їм статус active -> inactivate (На стороні Майданчика ще може надсилатися нотифікація Учаснику, що Процедура була відредагована і заява на участь деактивована)

Щоб Майданчикам кожен раз НЕ пересинхронізовувати своїх бідів, як тільки вони отримують через mirror змінену процедуру, краще завʼязуватись на inactivationDate, а не на dateModified (бо dateModified оновлюється навіть при зміних, що не є потрібними для даної ситуації (наприклад, коли до Процедури додають "запитання чи відповідь"))
Зараз Майданчикам зручно завʼязати логіку на inactivationDate і не закидувати нас постійно запитами для синхронізації Бідів.

Особливості відображення на порталі

...