fix: черновик заявки на оплату перечитывает прежние оплаты по основанию
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -43,6 +43,7 @@ import { approvalListTitle, approvalListTitleForListId, dataListTitle, dataListT
|
|||||||
import { FORM_ID, IFormData, EMPTY_DATA, SetField } from './model';
|
import { FORM_ID, IFormData, EMPTY_DATA, SetField } from './model';
|
||||||
import { savePaymentRequest, paymentRequestApprovalService } from './submit';
|
import { savePaymentRequest, paymentRequestApprovalService } from './submit';
|
||||||
import { loadPaymentRequest } from './load';
|
import { loadPaymentRequest } from './load';
|
||||||
|
import { loadPreviousPayments } from './services/previousPayments.service';
|
||||||
import { validatePayment } from './validation';
|
import { validatePayment } from './validation';
|
||||||
import { useBasisSelection } from './useBasisSelection';
|
import { useBasisSelection } from './useBasisSelection';
|
||||||
import { useInvoiceFlow } from './useInvoiceFlow';
|
import { useInvoiceFlow } from './useInvoiceFlow';
|
||||||
@@ -137,6 +138,16 @@ const PaymentRequestForm: React.FC<IRequestFormProps> = ({
|
|||||||
setRequestStatus(loaded.status);
|
setRequestStatus(loaded.status);
|
||||||
setRequestCode(loaded.code || undefined);
|
setRequestCode(loaded.code || undefined);
|
||||||
if (loaded.code) onCodeLoaded?.(loaded.code);
|
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) => {
|
.catch((e) => {
|
||||||
if (alive) submit.setError(`Не удалось загрузить заявку №${editId}: ${friendlyErrorMessage(e)}`);
|
if (alive) submit.setError(`Не удалось загрузить заявку №${editId}: ${friendlyErrorMessage(e)}`);
|
||||||
|
|||||||
Reference in New Issue
Block a user