Карточки обязательств и договоров
Списки /operations/commitments и /operations/agreements показывают разные уровни коммерческого процесса. Обязательство — производный read-only паспорт того, что нужно поставить; договор — управляемая договорённость с условиями, сторонами, сроками и lifecycle-переходами.
Реестр договоров
На /operations/agreements сотрудник с доступом к разделу видит общий реестр договоров; клиент — дополнительный фильтр, а не единственное ограничение списка. Полоса статусов фильтрует draft, review, awaiting_signature, active, suspended, expiring, expired, terminated и superseded. Счётчик относится ко всему доступному результату выбранного фильтра, а не только к уже загруженным строкам. Переключатель Таблица/Карточки меняет представление тех же результатов, а нажатие строки открывает паспорт договора.
В строке направление (Клиентский, Поставщик, Внутренний) показывается рядом с названием. Срок объединяет дату начала и дату окончания; для договора без даты окончания отображается бессрочно. При переходе по страницам дочитайте список до нужного результата и не принимайте частично загруженную страницу за полный реестр.
Паспорт обязательства
Откройте карточку обязательства в разделе /operations/commitments, а конкретный паспорт — по /operations/commitments/:commitmentId, чтобы проверить его тип, обещанный объём и единицу, дату вступления обязательства в силу (если она передана), состояние исполнения, рабочую стадию, основание условий и исходный заказ. Текущий срок поставки может отсутствовать в паспорте: не вычисляйте просрочку по отсутствующим полям или корзине Открытые; дату поставки и дедлайн сверяйте с исходным заказом и договором.
Обязательство выводится из заказа и не редактируется в этой карточке. Если нужно изменить количество, срок или условия, вернитесь к источнику заказа и проверьте его права и историю. Ошибка загрузки, пустой результат и отсутствие строки исходного заказа — разные состояния; отсутствие обогащения не превращает карточку в новый заказ.
Паспорт также показывает даты Создано и Обновлено. Это аудит-метаданные: производное обязательство остаётся доступным только для чтения.
Паспорт договора
Карточка договора в разделе /operations/agreements показывает направление, статус, даты действия, юридические стороны, текущую версию условий, количество строк и требование подписанного документа. Названия юридических лиц должны отображаться по связанному контексту, а не как технические идентификаторы.
В паспорте договора блок предоплаты показывает счёт, привязанный к этому договору, конкретной редакции условий и валюте расчётов; это не общий кошелёк клиента. Сумму вводить нельзя: для пополнения выберите подтверждённый платёж клиента, ещё не разнесённый и в той же валюте. Открытие счёта и пополнение требуют соответствующих прав и могут быть ограничены разделением обязанностей: сотрудник, зарегистрировавший платёж, не подтверждает его повторно. Загрузка счёта и платежей, пустой список, ошибка чтения, конфликт версии и операция в ожидании — разные состояния; не принимайте пустой или недоступный результат за нулевой остаток. Из этого блока нельзя расходовать средства, создавать или снимать резерв против строки счёта либо оформлять возврат: здесь только открывают привязанный к договору счёт, выбирают платёж и проверяют его состояние. Если платёж уже привязан, но ещё не зачислен, карточка оставляет выбранным тот же платёж и просит снова нажать Внести; не выбирайте другой платёж. pending_funding или ожидающая запись означает подождать и перечитать карточку, а не нулевой остаток.
Главное число карточки — свободный остаток: Доступно = внесено − удержано в резерве − израсходовано; ненулевой возврат показывается отдельно. Здесь также видны текущая редакция условий и валюта расчётов: новая редакция создаёт отдельный контур резерва, остаток со старой редакции не переносится. Подпись «израсходовано» означает связь с выпущенной строкой счёта, а не доступную здесь кнопку списания: блок не расходует средства, не создаёт/снимает резерв и не оформляет возврат.
В статусе awaiting_signature договор ждёт подтверждения подписания вне портала: портал фиксирует это решение, но не принимает его сам. Поэтому отдельной кнопки Активировать здесь нет — проверьте внешний процесс подписания и связанную копию документа. Практический следующий шаг — получить подписанный экземпляр и нажать Добавить в блоке документов ниже; он не появится автоматически.
Под условиями есть отдельный блок связанных документов с действиями Добавить и Посмотреть все. Он может быть пустым, пока подписанная копия ещё не передана; это не означает ошибку доступа. Даты Создано и Обновлено дают дополнительный контекст аудита.
Действие Посмотреть все открывает список документов уже в контексте этого договора: /documents?sourceType=agreement&sourceId=<agreementId>. В нём должны остаться только документы договора, а заголовок, чип контекста и пустое состояние должны быть понятными; не принимайте технический ID или чужие документы за результат фильтра.
Переходы доступны только для подходящего статуса и при актуальной версии карточки, чтобы не перезаписать чужое изменение. Перед каждым переходом введите обязательную причину — она сохраняется в истории договора.
Создать договор можно на /operations/agreements/new, если у пользователя есть право записи. Форма создаёт черновик; для договора в draft или review откройте редактирование условий на /operations/agreements/:agreementId/terms — оно заменяет текущие условия. Если карточка изменилась или появился конфликт, перечитайте карточку и повторите действие. Отдельного отката к старой версии в интерфейсе нет; переход review обратно в draft является частью правки условий.
После выбора клиента и первой позиции/цены портал предлагает название «предложение — клиент». Пока вы его не редактировали, оно обновляется при смене выбора; после ручной правки портал сохраняет ваш текст. Для договора название обязательно, поэтому используйте понятное название, а не выдуманные данные; при редактировании существующего договора его название не перезаписывается.
В текущем селекторе предоплаты дата платежа может отображаться сырым ISO-значением YYYY-MM-DD, а не в формате активной локали. Это source blocker: не принимайте такой вид за локализованное date evidence и не продвигайте денежный кадр без проверки currency.expected/currency.observed и даты на matching build.
Разрешённые переходы
draft→review: Отправить на проверку;review→awaiting_signature: Передать на подпись;activeилиexpiring→suspended: Приостановить;suspended→active: Возобновить;- любое изменяемое состояние →
terminated: Завершить — необратимое действие.
Активация договора не является кнопкой этой карточки: состояние active приходит после юридического оформления или из внешней системы электронного документооборота. Автоматические переходы к истечению срока и замене договора выполняются системой, а не ручной кнопкой пользователя.
Если версия карточки изменилась или переход не был принят, перечитайте карточку и принимайте решение по актуальным данным. Не повторяйте старое действие вслепую.
Документы и безопасность
Проверьте связанную версию условий, подписанный документ, юридическое лицо, клиента, сроки и доступ до перехода. Для учебных примеров используйте вымышленные договоры, суммы и стороны; не показывайте банковские реквизиты, данные клиентов или технические идентификаторы.