Инструменты пользователя

Инструменты сайта


sharixopen:knowledge:scenarios:service_request_declined

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

sharixopen:knowledge:scenarios:service_request_declined [2026/10/28 21:04] – [sharixknowledge] approved package sx_knowledge_api_opensharixopen:knowledge:scenarios:service_request_declined [2026/10/31 15:08] (текущий) – [sharixknowledge] approved package sx_knowledge_api_open
Строка 14: Строка 14:
             "ShariXKnowledgeServiceRequestAssignedBPMN",             "ShariXKnowledgeServiceRequestAssignedBPMN",
             "ShariXKnowledgeOpenKnowledgeModulesHandlers",             "ShariXKnowledgeOpenKnowledgeModulesHandlers",
-            "ShariXKnowledgeScenarios"+            "ShariXKnowledgeScenarios", 
 +            "ShariXKnowledgeClassification" 
 +        ], 
 +        "verified_by": [ 
 +            "ShariXKnowledgeVerification" 
 +        ], 
 +        "depends_on": [ 
 +            "ShariXKnowledgeOpenKnowledgeModulesHandlers", 
 +            "ShariXKnowledgeOpenKnowledgeModulesBackenddbsynce"
         ]         ]
     },     },
Строка 21: Строка 29:
             "domain": "business_processes",             "domain": "business_processes",
             "lifecycle": "implemented",             "lifecycle": "implemented",
-            "component": "handlers",+            "component": "handlers_examples, handlers_backend, dbsynce, tickets",
             "parents": [             "parents": [
                 "ShariXKnowledgeScenarios"                 "ShariXKnowledgeScenarios"
             ],             ],
             "terms": [             "terms": [
-                "SERVICE_REQUEST", +                "audience_developer", 
-                "DECLINED", +                "audience_integrator", 
-                "BOOKED", +                "audience_support", 
-                "BPMN"+                "audience_reviewer", 
 +                "audience_ai", 
 +                "product_sharix_open", 
 +                "material_scenario", 
 +                "topic_orders_lifecycle", 
 +                "topic_orders_assignment", 
 +                "topic_handlers_runtime"
             ]             ]
         },         },
Строка 87: Строка 101:
             {             {
                 "repository": "sharix-open-tickets",                 "repository": "sharix-open-tickets",
-                "commit": "fd64704d7d9f01a5ec5b7b89cbc5afe5102b2c14",+                "commit": "edc0093b12ad3fd917f724985de8688b87f4ecd5",
                 "path": "lib/tickets.py",                 "path": "lib/tickets.py",
                 "sha256": "0d260c17947f9a186d07af2749159780e3c7354a95b4bafe9d67493663c96883"                 "sha256": "0d260c17947f9a186d07af2749159780e3c7354a95b4bafe9d67493663c96883"
Строка 93: Строка 107:
             {             {
                 "repository": "sharix-open-tickets",                 "repository": "sharix-open-tickets",
-                "commit": "fd64704d7d9f01a5ec5b7b89cbc5afe5102b2c14",+                "commit": "edc0093b12ad3fd917f724985de8688b87f4ecd5",
                 "path": "api/handler_auth.py",                 "path": "api/handler_auth.py",
                 "sha256": "ac76dc45aaa9742e5e1da0b98aae914bb2e287048d33e97b4a245a6997bc8425"                 "sha256": "ac76dc45aaa9742e5e1da0b98aae914bb2e287048d33e97b4a245a6997bc8425"
Строка 99: Строка 113:
             {             {
                 "repository": "sharix-open-tickets",                 "repository": "sharix-open-tickets",
-                "commit": "fd64704d7d9f01a5ec5b7b89cbc5afe5102b2c14",+                "commit": "edc0093b12ad3fd917f724985de8688b87f4ecd5",
                 "path": "signals.py",                 "path": "signals.py",
                 "sha256": "39aad8690a2e7d35cebfb052127a8130a951cbb4eea316c4f767a0a59fc5fa7e"                 "sha256": "39aad8690a2e7d35cebfb052127a8130a951cbb4eea316c4f767a0a59fc5fa7e"
Строка 105: Строка 119:
             {             {
                 "repository": "sharix-open-tickets",                 "repository": "sharix-open-tickets",
-                "commit": "fd64704d7d9f01a5ec5b7b89cbc5afe5102b2c14",+                "commit": "edc0093b12ad3fd917f724985de8688b87f4ecd5",
                 "path": "services/handler_wakeup.py",                 "path": "services/handler_wakeup.py",
                 "sha256": "c9fdc62a18301fd7c075395c697d5b1c738c77713aa71fcbb5ab097e173d98de"                 "sha256": "c9fdc62a18301fd7c075395c697d5b1c738c77713aa71fcbb5ab097e173d98de"
Строка 111: Строка 125:
             {             {
                 "repository": "sharix-open-backend",                 "repository": "sharix-open-backend",
-                "commit": "778a3280cee115ba0efe3fdff7b0e708b0c10093",+                "commit": "b70f6989f4c8616725b38f72fc15b8981a5dc47b",
                 "path": "apiviews/handler_order_workflow.py",                 "path": "apiviews/handler_order_workflow.py",
                 "sha256": "35624ded6e67110437a25dd07caef214a04251eb0136194ae939fa32fef17e84"                 "sha256": "35624ded6e67110437a25dd07caef214a04251eb0136194ae939fa32fef17e84"
Строка 117: Строка 131:
             {             {
                 "repository": "sharix-open-backend",                 "repository": "sharix-open-backend",
-                "commit": "778a3280cee115ba0efe3fdff7b0e708b0c10093",+                "commit": "b70f6989f4c8616725b38f72fc15b8981a5dc47b",
                 "path": "apiviews/open_api.py",                 "path": "apiviews/open_api.py",
                 "sha256": "cb8fdda304d29c2cc5c0fc938759a13c60022871b7b93d77883d521820021ad3"                 "sha256": "cb8fdda304d29c2cc5c0fc938759a13c60022871b7b93d77883d521820021ad3"
Строка 123: Строка 137:
             {             {
                 "repository": "sharix-open-backend",                 "repository": "sharix-open-backend",
-                "commit": "778a3280cee115ba0efe3fdff7b0e708b0c10093",+                "commit": "b70f6989f4c8616725b38f72fc15b8981a5dc47b",
                 "path": "lib/order_handler_relay.py",                 "path": "lib/order_handler_relay.py",
                 "sha256": "e49a7876169403970d995af464357e2134af19a398372c55db2a5b40681d731e"                 "sha256": "e49a7876169403970d995af464357e2134af19a398372c55db2a5b40681d731e"
Строка 129: Строка 143:
             {             {
                 "repository": "sharix-open-backend",                 "repository": "sharix-open-backend",
-                "commit": "778a3280cee115ba0efe3fdff7b0e708b0c10093",+                "commit": "b70f6989f4c8616725b38f72fc15b8981a5dc47b",
                 "path": "lib/handler_order_context.py",                 "path": "lib/handler_order_context.py",
                 "sha256": "f3c0731e74d30dbe5e59bd53040a06ee108f14f7aad04771e65d741cffeb7179"                 "sha256": "f3c0731e74d30dbe5e59bd53040a06ee108f14f7aad04771e65d741cffeb7179"
Строка 135: Строка 149:
             {             {
                 "repository": "sharix-open-backend",                 "repository": "sharix-open-backend",
-                "commit": "778a3280cee115ba0efe3fdff7b0e708b0c10093",+                "commit": "b70f6989f4c8616725b38f72fc15b8981a5dc47b",
                 "path": "lib/order_workflow_policy.py",                 "path": "lib/order_workflow_policy.py",
                 "sha256": "3266c6ecab490a0e19c8bbc02041387b86fe4b14068750e545ba9bde8bf51326"                 "sha256": "3266c6ecab490a0e19c8bbc02041387b86fe4b14068750e545ba9bde8bf51326"
Строка 141: Строка 155:
             {             {
                 "repository": "sharix-open-backend",                 "repository": "sharix-open-backend",
-                "commit": "778a3280cee115ba0efe3fdff7b0e708b0c10093",+                "commit": "b70f6989f4c8616725b38f72fc15b8981a5dc47b",
                 "path": "lib/order_actions.py",                 "path": "lib/order_actions.py",
                 "sha256": "27ce243408a46f1b700d94bf78a25c68ef21d51078bb03627174e4a424d82ef0"                 "sha256": "27ce243408a46f1b700d94bf78a25c68ef21d51078bb03627174e4a424d82ef0"
Строка 147: Строка 161:
             {             {
                 "repository": "sharix-open-backend",                 "repository": "sharix-open-backend",
-                "commit": "778a3280cee115ba0efe3fdff7b0e708b0c10093",+                "commit": "b70f6989f4c8616725b38f72fc15b8981a5dc47b",
                 "path": "lib/order_permissions.py",                 "path": "lib/order_permissions.py",
                 "sha256": "9c1636daa80c4da68c3ae5cf347e279127d142eeff91e969559e8bd54ca3d81d"                 "sha256": "9c1636daa80c4da68c3ae5cf347e279127d142eeff91e969559e8bd54ca3d81d"
Строка 153: Строка 167:
             {             {
                 "repository": "sharix-open-backend",                 "repository": "sharix-open-backend",
-                "commit": "778a3280cee115ba0efe3fdff7b0e708b0c10093",+                "commit": "b70f6989f4c8616725b38f72fc15b8981a5dc47b",
                 "path": "urls.py",                 "path": "urls.py",
-                "sha256": "61ffd2f0563291da2dcc9488a5443cb5e2c0395108740a6700034cfd90548158"+                "sha256": "c90fc2fbb75ef9aadbd6d7c110c0e19ef7ce0bec3aee7cddf3e0954c478d5dd8"
             },             },
             {             {
                 "repository": "sharix-open-backend",                 "repository": "sharix-open-backend",
-                "commit": "778a3280cee115ba0efe3fdff7b0e708b0c10093",+                "commit": "b70f6989f4c8616725b38f72fc15b8981a5dc47b",
                 "path": "lib/order_lifecycle.py",                 "path": "lib/order_lifecycle.py",
                 "sha256": "66dd2c4db9da3aaf90cb080946c1920a4f9953d62d1e6c9e224dd52564c4d661"                 "sha256": "66dd2c4db9da3aaf90cb080946c1920a4f9953d62d1e6c9e224dd52564c4d661"
Строка 165: Строка 179:
             {             {
                 "repository": "sharix-open-backend",                 "repository": "sharix-open-backend",
-                "commit": "778a3280cee115ba0efe3fdff7b0e708b0c10093",+                "commit": "b70f6989f4c8616725b38f72fc15b8981a5dc47b",
                 "path": "lib/order_provider_requirements.py",                 "path": "lib/order_provider_requirements.py",
                 "sha256": "392f1f9180a098a4749b5fe5b7948e34530ccdb2befed646e538cdb7a5ddcada"                 "sha256": "392f1f9180a098a4749b5fe5b7948e34530ccdb2befed646e538cdb7a5ddcada"
Строка 193: Строка 207:
                 "handoff": "d3286b618e5ae241a1939e4c1cbde3ecef6d2f41c43fc8fd46e6b4a0394943a2"                 "handoff": "d3286b618e5ae241a1939e4c1cbde3ecef6d2f41c43fc8fd46e6b4a0394943a2"
             }             }
 +        },
 +        "classification": {
 +            "schema": "sharix.knowledge.classification.v1",
 +            "products": [
 +                "sharix_open"
 +            ],
 +            "audiences": [
 +                "developer",
 +                "integrator",
 +                "support",
 +                "reviewer",
 +                "ai"
 +            ],
 +            "material": "scenario",
 +            "topics": [
 +                "orders/lifecycle",
 +                "orders/assignment",
 +                "handlers/runtime"
 +            ],
 +            "tag_terms": [
 +                "audience_developer",
 +                "audience_integrator",
 +                "audience_support",
 +                "audience_reviewer",
 +                "audience_ai",
 +                "product_sharix_open",
 +                "material_scenario",
 +                "topic_orders_lifecycle",
 +                "topic_orders_assignment",
 +                "topic_handlers_runtime"
 +            ],
 +            "registry_document": "ShariXKnowledgeClassification",
 +            "state_meaning": "implemented — проверенная реализация исходников; not_applicable — указатель/правило; review — состояние редакции, не runtime"
 +        },
 +        "editorial_review": {
 +            "date": "2026-10-31",
 +            "scope": "Конкретные владельцы, действия, ограничения, диагностические шаги; списки и навигация",
 +            "sources_verified": 24,
 +            "handler_executed": false,
 +            "runtime_checked": false,
 +            "canonical_regeneration": {
 +                "handler": "open_service_request_declined",
 +                "kind": "ticket",
 +                "compared_paths": [
 +                    "handlers/open_service_request_declined.py",
 +                    "generated_handlers/open_service_request_declined.py"
 +                ],
 +                "sha256": "94f135d86092ff98644b626724c4d50f48b9fcc61d23f733f9ee98f264a68657"
 +            },
 +            "original_bpmn_preserved": true,
 +            "source_changes": "Закреплённые tickets-файлы совпали; в backend urls.py только новые document download routes, handler routes сохранены; исходные BPMN refs оставлены как история"
         }         }
     },     },
-    "content_sha256": "37070107b95104337dfb1bdf89e47b062e4a6992ddae35f14b1ec4e4a31f1fa4",+    "content_sha256": "f294a708ff9234b11748eac582f12fe9d18d3020aeff84f9d5f047ee74899bdb",
     "schema": 1     "schema": 1
 } }
Строка 202: Строка 267:
 ~~NOCACHE~~ ~~NOCACHE~~
  
-**Область:** ShariX Open. **Обработчик:** ''open_service_request_declined'', тип ''SERVICE_REQUEST'' (2), статус ''DECLINED''. Опубликованный Python побайтово совпадает с канонической генерацией Blockly workspace; источники закреплены Git/SHA-256. Сценарий проверен 29.10.2026 по опубликованному коду, а не исполнением бизнес-действий на сервере.+**Назначение:** [[sharixopen:knowledge:classification:materials|Сценарий процесса]]. **Продукт:** [[sharixopen:knowledge:classification:products|ShariX Open]]. 
 + 
 +**Для кого:** [[sharixopen:knowledge:classification:audiences|Разработчик]] · [[sharixopen:knowledge:classification:audiences|Интегратор]] · [[sharixopen:knowledge:classification:audiences|Поддержка]] · [[sharixopen:knowledge:classification:audiences|Рецензент и приёмщик]] · [[sharixopen:knowledge:classification:audiences|Нейросеть]]. 
 + 
 +**Темы:** [[sharixopen:knowledge:classification:topics|Заказы → Жизненный цикл]] · [[sharixopen:knowledge:classification:topics|Заказы → Назначение]] · [[sharixopen:knowledge:classification:topics|Обработчики → Runtime]]. 
 + 
 + 
 + 
 +**Область:** ShariX Open. **Обработчик:** ''open_service_request_declined'', тип ''SERVICE_REQUEST'' (2), статус ''DECLINED''. На 31.10.2026 обе опубликованные Python-копии побайтово совпали с генерацией Blockly workspace. Это проверка исходников, а не запуск операций над заказами.
  
 ===== Назначение и границы ===== ===== Назначение и границы =====
Строка 396: Строка 469:
 Даже если срок закрытия уже прошёл, успешный возврат BOOKED имеет приоритет: проверка даты до него не выполняется. Исключение транспорта/API при возврате прерывает проход; fallback закрытия после исключения в том же проходе не вызывается. Даже если срок закрытия уже прошёл, успешный возврат BOOKED имеет приоритет: проверка даты до него не выполняется. Исключение транспорта/API при возврате прерывает проход; fallback закрытия после исключения в том же проходе не вызывается.
  
-У wrapper возврата разрешён обработанный неуспех. У ''close-declined'' используется строгий результат: отрицательный бизнес-ответ может стать общим ''processing_error'', а не обычным DECLINED_RECHECK. 404 scope очищает локальное устаревшее состояние как stale; такое завершение не доказывает, что именно этот запрос перевёл заказ.+Результаты API нужно различать: 
 + 
 +  * У wrapper возврата разрешён обработанный доменный неуспех: после него можно проверить срок закрытия. 
 +  * У ''close-declined'' результат строгий: отрицательный бизнес-ответ может перейти в общий ''processing_error''. 
 +  * Scoped 404 означает stale: локальное состояние очищается. Это не подтверждение перехода, выполненного именно данным вызовом. 
 +  * Исключение транспорта, авторизации или разбора ответа прерывает проход; резервное закрытие вслед за таким исключением не вызывается.
  
 ===== Backend и передача следующему обработчику (BPMN) ===== ===== Backend и передача следующему обработчику (BPMN) =====
Строка 587: Строка 665:
 Оба действия проходят HasHandlerAPIKey, отдельный capability и текущий Ticket scope. Они не используют произвольный generic ''ticket.transition''. Оба действия проходят HasHandlerAPIKey, отдельный capability и текущий Ticket scope. Они не используют произвольный generic ''ticket.transition''.
  
-''return-declined-to-booked'' требует ''order.return_declined_to_booked''. Backend блокирует актуальный Orders, проверяет DECLINED и выполняет канонический BOOKED. При успешном переходе очищается остававшийcя provider. Действие не ожидает grace, не проверяет дату закрытия и не требует, чтобы provider отсутствовал заранее.+**Возврат в BOOKED** — ''return-declined-to-booked'':
  
-''close-declined'' требует ''order.close_declined''. Под lock проверяется ожидаемый DECLINED, затем выполняется канонический CLOSED. Сам narrow action не проверяет возраст/дату и не вызывает платёжный gate закрытия DONE; это отдельная ветка жизненного цикла. Контроль срока выполняет Python перед запросом.+  * Требует capability ''order.return_declined_to_booked''. 
 +  * Блокирует актуальный Orders и проверяет ожидаемый DECLINED. 
 +  * Выполняет канонический переход в BOOKED; при успехе очищает прежний provider. 
 +  * Не ждёт grace, не проверяет дату резервного закрытия и не требует заранее пустого provider. 
 + 
 +**Резервное закрытие** — ''close-declined'': 
 + 
 +  * Требует capability ''order.close_declined''. 
 +  * Под блокировкой проверяет DECLINED, затем выполняет канонический CLOSED. 
 +  * Сам action не проверяет возраст заявки: срок проверяет вызывающий Python. 
 +  * Платёжный gate закрытия DONE здесь не вызывается: это другая ветвь жизненного цикла.
  
 После commit ''ticket.changed'' будит нового владельца, ''ticket.moved'' сообщает прежнему об уходе Ticket. Потерянная доставка не откатывает сохранённый статус; periodic reconciliation восстанавливает состав очередей. BOOKED далее самостоятельно решает вопрос входа в PENDING и пользовательских take/cancel. Этот handler не обещает мгновенного назначения нового исполнителя. После commit ''ticket.changed'' будит нового владельца, ''ticket.moved'' сообщает прежнему об уходе Ticket. Потерянная доставка не откатывает сохранённый статус; periodic reconciliation восстанавливает состав очередей. BOOKED далее самостоятельно решает вопрос входа в PENDING и пользовательских take/cancel. Этот handler не обещает мгновенного назначения нового исполнителя.
  
 ===== От какой даты считается fallback ===== ===== От какой даты считается fallback =====
-Runtime берёт ''ticket.status_entered_at'' из order context, однако в текущем backend context это поле заполнено **Ticket.updated_at**. Затем прибавляется ''SERVICE_REQUEST_DECLINED_CLOSE_AFTER_SECONDS'' (минимум 0). Это не created_at и не отдельная неизменяемая запись истории входа в DECLINED.+Дата резервного закрытия рассчитывается так: 
 + 
 +  - Из order context берётся ''ticket.status_entered_at''. 
 +  - В текущем backend это **Ticket.updated_at**, а не отдельная неизменяемая дата входа в DECLINED. 
 +  - К ней прибавляется ''SERVICE_REQUEST_DECLINED_CLOSE_AFTER_SECONDS'' с минимумом 0. 
 +  - При отсутствующей или некорректной дате helper не считает срок наступившим.
  
 Следовательно, обновление Ticket может сдвинуть расчётную дату. При отсутствии status_entered_at или некорректной дате helper не считает срок наступившим. Не следует обещать точное закрытие через заданный интервал после исторического отказа, если дата в Ticket менялась. Следовательно, обновление Ticket может сдвинуть расчётную дату. При отсутствии status_entered_at или некорректной дате helper не считает срок наступившим. Не следует обещать точное закрытие через заданный интервал после исторического отказа, если дата в Ticket менялась.
Строка 607: Строка 700:
 Defer освобождает worker; внешнее событие может сделать Ticket ready раньше. Локальная причина ''return_to_booked'' не означает, что возврат уже сохранился. Здесь нет собственного пользовательского сообщения с требованием ответа: источником изменения служит канонический backend action либо другое разрешённое внешнее действие, после которого handler замечает смену статуса. Defer освобождает worker; внешнее событие может сделать Ticket ready раньше. Локальная причина ''return_to_booked'' не означает, что возврат уже сохранился. Здесь нет собственного пользовательского сообщения с требованием ответа: источником изменения служит канонический backend action либо другое разрешённое внешнее действие, после которого handler замечает смену статуса.
  
-При диагностике сначала проверьте текущий Orders/Ticket/provider и ответ возврата. Если BOOKED сохранился, отсутствие последующего close нормально. Если заказ остаётся DECLINED, разделите доменный отказ возврата, transport/auth error, расчёт даты и ответ close. Не повторяйте старый запрос только из-за отсутствия XMPP-события: сначала перечитайте фактическое состояние.+Порядок диагностики: 
 + 
 +  - Перечитайте фактические Orders, Ticket и provider; проверьте ответ ''return-declined-to-booked''. 
 +  - Если BOOKED уже сохранён, отсутствие последующего close ожидаемо: возврат имеет приоритет даже при прошедшем сроке. 
 +  - Если DECLINED сохранён, отдельно проверьте доменный ответ возврата, transport/auth error, расчёт даты и ответ close. 
 +  - Сопоставьте локальный reason/defer с каноническим статусом: ''return_to_booked'' обозначает намерение, а не сохранённый результат. 
 +  - Отсутствие XMPP-события само по себе не является основанием повторить прежнюю запись в API.
  
 ===== Проверенные источники ===== ===== Проверенные источники =====
-Сборщик повторно сверяет закреплённые Git-файлы; это ещё не общий автоматический hook обновлений Wiki. Бизнес-API и handler при анализе не исполнялись.+На 31.10.2026 повторно проверены закреплённые Git-файлы и каноническая генерация. В обновившихся репозиториях tickets исходные файлы не изменились; в backend изменился только ''urls.py'' — добавлены маршруты скачивания документов, маршруты этого сценария сохранены. BPMN сохранены вместе с историческими ссылками на исходники; актуальные commits приведены ниже. Общий автоматический hook обновления Wiki этой проверкой не подтверждается.
  
   * [[https://git.sharix-app.org/ShariX_Open/sharix-open-handlers-examples/src/commit/76e0c693b628ed4a1fa34515a3f8abdff26149bb/handlers/open_service_request_declined.py|sharix-open-handlers-examples / handlers/open_service_request_declined.py]] — Git 76e0c693b628ed4a1fa34515a3f8abdff26149bb.   * [[https://git.sharix-app.org/ShariX_Open/sharix-open-handlers-examples/src/commit/76e0c693b628ed4a1fa34515a3f8abdff26149bb/handlers/open_service_request_declined.py|sharix-open-handlers-examples / handlers/open_service_request_declined.py]] — Git 76e0c693b628ed4a1fa34515a3f8abdff26149bb.
Строка 620: Строка 719:
   * [[https://git.sharix-app.org/ShariX_Open/sharix-open-handlers-backend/src/commit/50baf376e224d915a87d63240f3f339b3dda9afa/ticket_blockly_codegen.py|sharix-open-handlers-backend / ticket_blockly_codegen.py]] — Git 50baf376e224d915a87d63240f3f339b3dda9afa.   * [[https://git.sharix-app.org/ShariX_Open/sharix-open-handlers-backend/src/commit/50baf376e224d915a87d63240f3f339b3dda9afa/ticket_blockly_codegen.py|sharix-open-handlers-backend / ticket_blockly_codegen.py]] — Git 50baf376e224d915a87d63240f3f339b3dda9afa.
   * [[https://git.sharix-app.org/ShariX_Open/sharix-open-handlers-backend/src/commit/50baf376e224d915a87d63240f3f339b3dda9afa/ticket_codegen_contract.json|sharix-open-handlers-backend / ticket_codegen_contract.json]] — Git 50baf376e224d915a87d63240f3f339b3dda9afa.   * [[https://git.sharix-app.org/ShariX_Open/sharix-open-handlers-backend/src/commit/50baf376e224d915a87d63240f3f339b3dda9afa/ticket_codegen_contract.json|sharix-open-handlers-backend / ticket_codegen_contract.json]] — Git 50baf376e224d915a87d63240f3f339b3dda9afa.
-  * [[https://git.sharix-app.org/ShariX_Open/sharix-open-tickets/src/commit/fd64704d7d9f01a5ec5b7b89cbc5afe5102b2c14/lib/tickets.py|sharix-open-tickets / lib/tickets.py]] — Git fd64704d7d9f01a5ec5b7b89cbc5afe5102b2c14. +  * [[https://git.sharix-app.org/ShariX_Open/sharix-open-tickets/src/commit/edc0093b12ad3fd917f724985de8688b87f4ecd5/lib/tickets.py|sharix-open-tickets / lib/tickets.py]] — Git edc0093b12ad3fd917f724985de8688b87f4ecd5. 
-  * [[https://git.sharix-app.org/ShariX_Open/sharix-open-tickets/src/commit/fd64704d7d9f01a5ec5b7b89cbc5afe5102b2c14/api/handler_auth.py|sharix-open-tickets / api/handler_auth.py]] — Git fd64704d7d9f01a5ec5b7b89cbc5afe5102b2c14. +  * [[https://git.sharix-app.org/ShariX_Open/sharix-open-tickets/src/commit/edc0093b12ad3fd917f724985de8688b87f4ecd5/api/handler_auth.py|sharix-open-tickets / api/handler_auth.py]] — Git edc0093b12ad3fd917f724985de8688b87f4ecd5. 
-  * [[https://git.sharix-app.org/ShariX_Open/sharix-open-tickets/src/commit/fd64704d7d9f01a5ec5b7b89cbc5afe5102b2c14/signals.py|sharix-open-tickets / signals.py]] — Git fd64704d7d9f01a5ec5b7b89cbc5afe5102b2c14. +  * [[https://git.sharix-app.org/ShariX_Open/sharix-open-tickets/src/commit/edc0093b12ad3fd917f724985de8688b87f4ecd5/signals.py|sharix-open-tickets / signals.py]] — Git edc0093b12ad3fd917f724985de8688b87f4ecd5. 
-  * [[https://git.sharix-app.org/ShariX_Open/sharix-open-tickets/src/commit/fd64704d7d9f01a5ec5b7b89cbc5afe5102b2c14/services/handler_wakeup.py|sharix-open-tickets / services/handler_wakeup.py]] — Git fd64704d7d9f01a5ec5b7b89cbc5afe5102b2c14. +  * [[https://git.sharix-app.org/ShariX_Open/sharix-open-tickets/src/commit/edc0093b12ad3fd917f724985de8688b87f4ecd5/services/handler_wakeup.py|sharix-open-tickets / services/handler_wakeup.py]] — Git edc0093b12ad3fd917f724985de8688b87f4ecd5. 
-  * [[https://git.sharix-app.org/ShariX_Open/sharix-open-backend/src/commit/778a3280cee115ba0efe3fdff7b0e708b0c10093/apiviews/handler_order_workflow.py|sharix-open-backend / apiviews/handler_order_workflow.py]] — Git 778a3280cee115ba0efe3fdff7b0e708b0c10093. +  * [[https://git.sharix-app.org/ShariX_Open/sharix-open-backend/src/commit/b70f6989f4c8616725b38f72fc15b8981a5dc47b/apiviews/handler_order_workflow.py|sharix-open-backend / apiviews/handler_order_workflow.py]] — Git b70f6989f4c8616725b38f72fc15b8981a5dc47b. 
-  * [[https://git.sharix-app.org/ShariX_Open/sharix-open-backend/src/commit/778a3280cee115ba0efe3fdff7b0e708b0c10093/apiviews/open_api.py|sharix-open-backend / apiviews/open_api.py]] — Git 778a3280cee115ba0efe3fdff7b0e708b0c10093. +  * [[https://git.sharix-app.org/ShariX_Open/sharix-open-backend/src/commit/b70f6989f4c8616725b38f72fc15b8981a5dc47b/apiviews/open_api.py|sharix-open-backend / apiviews/open_api.py]] — Git b70f6989f4c8616725b38f72fc15b8981a5dc47b. 
-  * [[https://git.sharix-app.org/ShariX_Open/sharix-open-backend/src/commit/778a3280cee115ba0efe3fdff7b0e708b0c10093/lib/order_handler_relay.py|sharix-open-backend / lib/order_handler_relay.py]] — Git 778a3280cee115ba0efe3fdff7b0e708b0c10093. +  * [[https://git.sharix-app.org/ShariX_Open/sharix-open-backend/src/commit/b70f6989f4c8616725b38f72fc15b8981a5dc47b/lib/order_handler_relay.py|sharix-open-backend / lib/order_handler_relay.py]] — Git b70f6989f4c8616725b38f72fc15b8981a5dc47b. 
-  * [[https://git.sharix-app.org/ShariX_Open/sharix-open-backend/src/commit/778a3280cee115ba0efe3fdff7b0e708b0c10093/lib/handler_order_context.py|sharix-open-backend / lib/handler_order_context.py]] — Git 778a3280cee115ba0efe3fdff7b0e708b0c10093. +  * [[https://git.sharix-app.org/ShariX_Open/sharix-open-backend/src/commit/b70f6989f4c8616725b38f72fc15b8981a5dc47b/lib/handler_order_context.py|sharix-open-backend / lib/handler_order_context.py]] — Git b70f6989f4c8616725b38f72fc15b8981a5dc47b. 
-  * [[https://git.sharix-app.org/ShariX_Open/sharix-open-backend/src/commit/778a3280cee115ba0efe3fdff7b0e708b0c10093/lib/order_workflow_policy.py|sharix-open-backend / lib/order_workflow_policy.py]] — Git 778a3280cee115ba0efe3fdff7b0e708b0c10093. +  * [[https://git.sharix-app.org/ShariX_Open/sharix-open-backend/src/commit/b70f6989f4c8616725b38f72fc15b8981a5dc47b/lib/order_workflow_policy.py|sharix-open-backend / lib/order_workflow_policy.py]] — Git b70f6989f4c8616725b38f72fc15b8981a5dc47b. 
-  * [[https://git.sharix-app.org/ShariX_Open/sharix-open-backend/src/commit/778a3280cee115ba0efe3fdff7b0e708b0c10093/lib/order_actions.py|sharix-open-backend / lib/order_actions.py]] — Git 778a3280cee115ba0efe3fdff7b0e708b0c10093. +  * [[https://git.sharix-app.org/ShariX_Open/sharix-open-backend/src/commit/b70f6989f4c8616725b38f72fc15b8981a5dc47b/lib/order_actions.py|sharix-open-backend / lib/order_actions.py]] — Git b70f6989f4c8616725b38f72fc15b8981a5dc47b. 
-  * [[https://git.sharix-app.org/ShariX_Open/sharix-open-backend/src/commit/778a3280cee115ba0efe3fdff7b0e708b0c10093/lib/order_permissions.py|sharix-open-backend / lib/order_permissions.py]] — Git 778a3280cee115ba0efe3fdff7b0e708b0c10093. +  * [[https://git.sharix-app.org/ShariX_Open/sharix-open-backend/src/commit/b70f6989f4c8616725b38f72fc15b8981a5dc47b/lib/order_permissions.py|sharix-open-backend / lib/order_permissions.py]] — Git b70f6989f4c8616725b38f72fc15b8981a5dc47b. 
-  * [[https://git.sharix-app.org/ShariX_Open/sharix-open-backend/src/commit/778a3280cee115ba0efe3fdff7b0e708b0c10093/urls.py|sharix-open-backend / urls.py]] — Git 778a3280cee115ba0efe3fdff7b0e708b0c10093. +  * [[https://git.sharix-app.org/ShariX_Open/sharix-open-backend/src/commit/b70f6989f4c8616725b38f72fc15b8981a5dc47b/urls.py|sharix-open-backend / urls.py]] — Git b70f6989f4c8616725b38f72fc15b8981a5dc47b. 
-  * [[https://git.sharix-app.org/ShariX_Open/sharix-open-backend/src/commit/778a3280cee115ba0efe3fdff7b0e708b0c10093/lib/order_lifecycle.py|sharix-open-backend / lib/order_lifecycle.py]] — Git 778a3280cee115ba0efe3fdff7b0e708b0c10093. +  * [[https://git.sharix-app.org/ShariX_Open/sharix-open-backend/src/commit/b70f6989f4c8616725b38f72fc15b8981a5dc47b/lib/order_lifecycle.py|sharix-open-backend / lib/order_lifecycle.py]] — Git b70f6989f4c8616725b38f72fc15b8981a5dc47b. 
-  * [[https://git.sharix-app.org/ShariX_Open/sharix-open-backend/src/commit/778a3280cee115ba0efe3fdff7b0e708b0c10093/lib/order_provider_requirements.py|sharix-open-backend / lib/order_provider_requirements.py]] — Git 778a3280cee115ba0efe3fdff7b0e708b0c10093.+  * [[https://git.sharix-app.org/ShariX_Open/sharix-open-backend/src/commit/b70f6989f4c8616725b38f72fc15b8981a5dc47b/lib/order_provider_requirements.py|sharix-open-backend / lib/order_provider_requirements.py]] — Git b70f6989f4c8616725b38f72fc15b8981a5dc47b.
   * [[https://git.sharix-app.org/ShariX_Open/sharix-open-handlers-backend/src/commit/50baf376e224d915a87d63240f3f339b3dda9afa/core/order_rounds.py|sharix-open-handlers-backend / core/order_rounds.py]] — Git 50baf376e224d915a87d63240f3f339b3dda9afa.   * [[https://git.sharix-app.org/ShariX_Open/sharix-open-handlers-backend/src/commit/50baf376e224d915a87d63240f3f339b3dda9afa/core/order_rounds.py|sharix-open-handlers-backend / core/order_rounds.py]] — Git 50baf376e224d915a87d63240f3f339b3dda9afa.
   * [[https://git.sharix-app.org/ShariX_Open/sharix-open-handlers-backend/src/commit/50baf376e224d915a87d63240f3f339b3dda9afa/settings_schema.py|sharix-open-handlers-backend / settings_schema.py]] — Git 50baf376e224d915a87d63240f3f339b3dda9afa.   * [[https://git.sharix-app.org/ShariX_Open/sharix-open-handlers-backend/src/commit/50baf376e224d915a87d63240f3f339b3dda9afa/settings_schema.py|sharix-open-handlers-backend / settings_schema.py]] — Git 50baf376e224d915a87d63240f3f339b3dda9afa.
sharixopen/knowledge/scenarios/service_request_declined.1793221497.txt.gz · Последнее изменение: — sx_knowledge_api_open

© 2022 ShariX