Уважаемое сообщество!
У нас очередное ЧП - на сей раз разнесли закупки с неверной датой.
Хочется иметь инструмент исправления этой проблемы.
Будьте добры, посмотрите критически нижеследущий код - какие таблицы еще нужно подправить, на ваш взгляд? И вообще, не вырастут ли какие-нибудь ноги от такой процедуры?
PHP код:
void clicked()
{
PurchTable pTable;
PurchLine pLine;
InventTrans iTrans;
VendInvoiceJour vIJour;
VendInvoiceTrans vITrans;
LedgerTrans lTrans;
if(!PurchID.text())
Throw Error('А где номер закупки');
if(!NewDate.dateValue())
Throw Error('А где новая дата?');
select forupdate pTable where pTable.PurchId == PurchID.text();
pTable.DeliveryDate= NewDate.dateValue();
pTable.Doupdate();
while select forupdate pLine where pLine.PurchId == pTable.PurchId
{
pLine.DeliveryDate = NewDate.dateValue();
while select forupdate iTrans where iTrans.InventTransId == pLine.InventTransId
{
iTrans.DateFinancial = NewDate.dateValue();
iTrans.update();
}
pLine.update();
while select forupdate vIJour where vIJour.PurchId == pTable.PurchId
{
while select forupdate vITrans where vITrans.InvoiceId == vIJour.InvoiceID
{
vITrans.invoiceDate = NewDate.dateValue();
vITrans.update();
}
while select forupdate lTrans where lTrans.Voucher == vIJour.LedgerVoucher
&& lTrans.TransDate == vIJour.InvoiceDate
{
lTrans.TransDate = NewDate.dateValue();
lTrans.DocumentDate = NewDate.dateValue();
lTrans.update();
}
vIJour.InvoiceDate = NewDate.dateValue();
vIJour.update();
}
}
super();
}
С уважением,
Андрей Беседин