From f654db9bcfe56925af240b8b0f1116b5071b21c6 Mon Sep 17 00:00:00 2001 From: "gorbenko.pavel" Date: Wed, 28 Oct 2026 10:01:46 +0500 Subject: [PATCH] =?UTF-8?q?docs:=20=D0=B7=D0=B0=D1=8F=D0=B2=D0=BA=D0=B0=20?= =?UTF-8?q?=D0=BD=D0=B0=20=D0=BE=D0=BF=D0=BB=D0=B0=D1=82=D1=83=20=E2=80=94?= =?UTF-8?q?=20=D0=BF=D1=80=D0=B5=D0=B6=D0=BD=D0=B8=D0=B5=20=D0=BE=D0=BF?= =?UTF-8?q?=D0=BB=D0=B0=D1=82=D1=8B=20=D1=87=D0=B5=D1=80=D0=B5=D0=B7=20app?= =?UTF-8?q?roval-route?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 --- src/webparts/requestPortal/forms/PaymentRequest/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/webparts/requestPortal/forms/PaymentRequest/README.md b/src/webparts/requestPortal/forms/PaymentRequest/README.md index f6e87cb..5a7b624 100644 --- a/src/webparts/requestPortal/forms/PaymentRequest/README.md +++ b/src/webparts/requestPortal/forms/PaymentRequest/README.md @@ -17,7 +17,7 @@ - **Условия оплаты, доставки и срок** — из «Критериев» СТ по победителю. - **Общая сумма** СТ — сумма предложений победителя в «Оценке поставщиков» (смешанные валюты — в тенге). У потребности её нет, берётся из счёта. - **Сумма оплаты** может быть меньше общей (транши). Сумма всех оплат по основанию (прежние + эта) не может превышать общую — при превышении поле подсвечивается, отправку это **не** блокирует. -- **Ранее поданные заявки на оплату** — читаются из списка данных этой же формы по `BasisKey` (`ct:` / `need:`), без черновиков, отклонённых и возвращённых. Только текущая партиция списка. Снимок пишется в `PreviousPaymentsJson`. +- **Ранее поданные заявки на оплату** — по `BasisKey` (`ct:` / `need:`) через approval-route `GET /api/basis-requests` по всем партициям, без черновиков, отклонённых и возвращённых. Сервер читает от имени приложения, поэтому видны и чужие заявки (права на элементы разорваны поштучно); номер становится ссылкой, только если у пользователя есть права открыть заявку. Снимок пишется в `PreviousPaymentsJson`; черновик и возвращённая при открытии перечитывают список заново. - **Счёт (PDF)**: сначала сохраняется в библиотеку «Счета на оплату», затем `POST /Document/extractPDFText` (OCR записывает текст в `file_content` до ответа, колонка читается сразу), затем ИИ (`/Proxy/Gemini`) достаёт номер счёта, поставщика, БИН, IBAN, валюту, суммы и позиции и подставляет их (назначение платежа — «Оплата по счёту № …»). При сбое OCR/ИИ счёт остаётся приложенным, поля заполняются вручную. - **Таблица позиций**: код, наименование, ед. изм. и количество — из СТ/потребности; позиция поставщика — из его КП; позиция из счёта. ИИ сопоставляет позиции по смыслу, а количество и единицы сверяет код (`positions.ts`). Статусы: совпало / расхождение / нет в счёте / нет в СТ. Результат пишется в `PositionsJson`. - **Код позиции потребности** — `lineNumber` (номер строки табличной части 1С, уникален в пределах заявки).