feat: форма «Заявка на оплату» (СТ/потребность, счёт через OCR и ИИ) #27

Open
gorbenko.pavel wants to merge 12 commits from feat/payment-request into main
Collaborator

Новая форма acc-payment-request (категория «Бухгалтерия»).

  • Основание: согласованная СТ (сайт СТ) или потребность; из основания подставляются получатель, раздел, вид работ, условия, общая сумма и позиции.
  • Счёт (PDF): библиотека, OCR (Document/extractPDF), ИИ (Proxy/Gemini) достаёт реквизиты, суммы и позиции и сверяет их с СТ.
  • Подсветка чужого получателя в счёте и превышения общей суммы СТ всеми оплатами (отправку не блокирует).
  • Справочники 1С (счета, договоры, ДДС) через общий DictionaryPicker.

Не проверено на живом API: форма ответов и фильтры справочников 1С, адрес статей ДДС, тело extractPDF (см. README формы).
Перед использованием: провижининг списков, вручную библиотека «Счета на оплату» с колонкой file_content, тип acc-payment-request в админке маршрутов.

🤖 Generated with Claude Code

Новая форма acc-payment-request (категория «Бухгалтерия»). - Основание: согласованная СТ (сайт СТ) или потребность; из основания подставляются получатель, раздел, вид работ, условия, общая сумма и позиции. - Счёт (PDF): библиотека, OCR (Document/extractPDF), ИИ (Proxy/Gemini) достаёт реквизиты, суммы и позиции и сверяет их с СТ. - Подсветка чужого получателя в счёте и превышения общей суммы СТ всеми оплатами (отправку не блокирует). - Справочники 1С (счета, договоры, ДДС) через общий DictionaryPicker. Не проверено на живом API: форма ответов и фильтры справочников 1С, адрес статей ДДС, тело extractPDF (см. README формы). Перед использованием: провижининг списков, вручную библиотека «Счета на оплату» с колонкой file_content, тип acc-payment-request в админке маршрутов. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
gorbenko.pavel added 1 commit 2026-10-22 10:04:51 +00:00
Новая форма acc-payment-request в категории «Бухгалтерия»: основание —
согласованная СТ (сайт СТ) или потребность; из основания подставляются
получатель, раздел, вид работ, условия, общая сумма и позиции. Счёт (PDF)
сохраняется в библиотеку, уходит на OCR, ИИ достаёт реквизиты, суммы и позиции
и сверяет их с СТ. Подсвечиваются чужой получатель в счёте и превышение
общей суммы СТ всеми оплатами. Справочники 1С — общий DictionaryPicker.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
gorbenko.pavel added 1 commit 2026-10-27 07:35:56 +00:00
Сверено с api-tnsu-portal (DictionaryController, DocumentController):
- статьи ДДС — CashFlowItems?id=<группа> (было groupId, сервер отвечал 400);
- OCR — Document/extractPDFText, текст в file_content пишется до ответа,
  поэтому колонка читается сразу, без опроса;
- договоры и банковские счета — постраничные, поиск на сервере (search),
  иначе находились только первые 50 записей; фильтра по компании у
  договоров нет;
- счета по проекту с откатом на фильтр только по компании: совпадение Id
  проекта из /Project с bank_accounts.project_id не гарантировано;
- Id-фильтры передаются только в формате GUID, иначе API отвечает 400;
- подписи записей по реальным полям (account_number, bank, valuta,
  counterparty_name); разбор вынесен в oneCRecords.ts с тестами;
- код позиции потребности — lineNumber;
- пустой ответ Gemini (200 с error) считается ошибкой.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
gorbenko.pavel added 4 commits 2026-10-27 11:56:33 +00:00
Списки «Заявка на оплату 1 — данные / согласование» созданы провижинингом,
в approval-route заведены тип 24 (раздел «Бухгалтерия») и маршрут 25 с одним
шагом согласования на фиксированного человека.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Тело CollapseSection из ui-kit уже сетка в две колонки, а поля были
завёрнуты ещё в один FormGrid и попадали в половину первой колонки.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
gorbenko.pavel added 6 commits 2026-10-30 11:09:01 +00:00
Some checks are pending
Tests / frontend-test (pull_request) Successful in 1m27s
This pull request has changes conflicting with the target branch.
  • src/webparts/requestPortal/shared/dictionary/index.ts
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin feat/payment-request:feat/payment-request
git checkout feat/payment-request
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: timur.gorodetskiy/request-portal#27