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 { 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)}`);
|
||||
|
||||
Reference in New Issue
Block a user