================================= РуОду — Контроль отгрузки заказов ================================= .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png :target: https://odoo-community.org/page/development-status :alt: Beta .. |badge2| image:: https://img.shields.io/badge/licence-LGPL--3-blue.png :target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html :alt: License: LGPL-3 |badge1| |badge2| Расширение продаж для контроля финансовых условий отгрузки и приёма закрывающих документов. Заказ подтверждается к отгрузке только при выполнении условий по балансу клиента; не прошедший проверку заказ переводится в состояние «Ожидание оплаты». Порт модуля ``gok_sale`` (Odoo 17) на платформу РуОду (Odoo 19). **Содержание** .. contents:: :local: Возможности =========== * Контроль отгрузки заказа по выбранному типу: * *По подтверждению* — отгрузка разрешена всегда * *По балансу* — долг клиента покрывает сумму заказа * *По балансу + овердрафт* — с учётом лимита кредита * Перевод не прошедшего проверку заказа в состояние «Ожидание оплаты» с записью в чаттер * Повторная проверка всех ожидающих заказов одним действием (``validate_all``) — удобно для планировщика * Активность «Допущено до отгрузки» на подтверждённом заказе * Подсветка заказов с ценами ниже ранее согласованных для клиента * Автоматическая генерация артикула (SKU) для новой номенклатуры * Приём закрывающих документов по счетам (почта, ЭДО, оригинал, скан), в том числе загрузка скан-копий клиентом из портала Зависимости =========== * ``sale_stock`` — заказы на продажу и отгрузка * ``account`` — счета (``account.move``) * ``portal`` — загрузка закрывающих документов из портала клиента Настройка ========= #. В заказе на продажу выберите *Тип контроля отгрузки* (по умолчанию «По подтверждению»). #. Для контроля по балансу заполните на контрагенте лимит кредита и отслеживайте долг (поля выведены в карточку партнёра). Использование ============= #. Оформите заказ на продажу и нажмите «Подтвердить». #. Если условия выполнены — заказ подтверждается штатно, создаётся активность «Допущено до отгрузки». #. Если условия не выполнены — заказ переходит в «Ожидание оплаты». После поступления оплаты повторно подтвердите заказ вручную или запустите повторную проверку всех ожидающих заказов. #. Закрывающие документы регистрируются на счёте (поле «Закрывающий документ») либо загружаются клиентом из портала счёта — тогда создаётся запись со скан-копией. Отличия от исходного модуля =========================== При портировании исправлены дефекты оригинала: * контроль баланса ведётся в контексте компании заказа (``with_company``) без изменения текущей компании среды; * тип активности задаётся data-записью, а не поиском по названию; * последовательность SKU поставляется модулем; * приём документов из портала вынесен на отдельный маршрут ``/my/closing_document`` (только для авторизованных пользователей). Тестирование ============ Модуль покрыт тестами ``TransactionCase`` (генерация SKU, состояние «Ожидание оплаты», проверки отгрузки по типам, повторная валидация, подсветка цен, закрывающие документы). Запуск:: docker compose run --rm odoo odoo -d -i ruodoo_sale_control \ --test-enable --test-tags=/ruodoo_sale_control --stop-after-init Авторы ====== * MK.Lab, RuOdoo Модуль сопровождается MK.Lab, RuOdoo. .. image:: https://ruodoo.ru/logo.png :alt: MK.Lab, RuOdoo :target: https://ruodoo.ru Модуль является частью решения РуОду.