fix: черновик заявки на оплату перечитывает прежние оплаты по основанию

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
gorbenko.pavel
2026-10-28 09:42:15 +05:00
parent 2bf0ad1da7
commit f664b468a2
@@ -43,6 +43,7 @@ import { approvalListTitle, approvalListTitleForListId, dataListTitle, dataListT
import { FORM_ID, IFormData, EMPTY_DATA, SetField } from './model';
import { savePaymentRequest, paymentRequestApprovalService } from './submit';
import { loadPaymentRequest } from './load';
import { loadPreviousPayments } from './services/previousPayments.service';
import { validatePayment } from './validation';
import { useBasisSelection } from './useBasisSelection';
import { useInvoiceFlow } from './useInvoiceFlow';
@@ -137,6 +138,16 @@ const PaymentRequestForm: React.FC<IRequestFormProps> = ({
setRequestStatus(loaded.status);
setRequestCode(loaded.code || undefined);
if (loaded.code) onCodeLoaded?.(loaded.code);
// В элементе лежит снимок прежних оплат на момент сохранения. Пока заявку
// ещё правят (черновик, возврат), перечитываем их: по основанию могли
// подать новые, а лимит суммы должен считаться по актуальным.
if (isEditableStatus(loaded.status) && loaded.data.BasisKey) {
loadPreviousPayments(loaded.data.BasisKey, editId)
.then((previous) => {
if (alive) patch({ PreviousPayments: previous });
})
.catch(() => undefined); // остаётся снимок — лучше, чем пустая таблица
}
})
.catch((e) => {
if (alive) submit.setError(`Не удалось загрузить заявку №${editId}: ${friendlyErrorMessage(e)}`);