3.0, сервис-пак 3
метод используется для переноса флага создания проводки ОС с удаляемой записи на первую попавшуюся из оставшихся по многострочной операции ОС (т.е. ваучер, код журнала и дата операции должны быть такими же как у удаляемой)
X++:
// valu FA
ledgerJournalTrans madeDisposable_ru()
{
ledgerJournalTrans ljt_new;
;
if (this.AssetCanDisposal_ru)
{
select firstonly forupdate ljt_new
where ljt_new.Voucher == this.Voucher &&
! ljt_new.Invisible &&
! ljt_new.AssetCanDisposal_ru &&
! ljt_new.AssetToFromRecId_ru;
if (ljt_new.RecId)
{
ljt_new.AssetCanDisposal_ru = true;
ljt_new.AssetToFromRecId_ru = 0;
ljt_new.update();
}
else
{
select firstonly forupdate ljt_new
where ljt_new.Voucher == this.Voucher &&
! ljt_new.Invisible &&
! ljt_new.AssetCanDisposal_ru;
if (ljt_new.RecId)
{
ljt_new.AssetCanDisposal_ru = true;
ljt_new.AssetToFromRecId_ru = ljt_new.RecId;
ljt_new.update();
}
}
}
else
{
select firstonly ljt_new
where ljt_new.Voucher == this.Voucher &&
! ljt_new.Invisible &&
ljt_new.AssetCanDisposal_ru &&
! ljt_new.AssetToFromRecId_ru;
}
return ljt_new;
}
Поиск ведется исключительно по ваучеру без даты операции и кода журнала с возможностью выбора строк совершенно другого журнала за другую дату.
В случае переброса номерной серии ваучеров для данного типа журнала возможны страшные глюки, а именно потеря флага создания проводки ОС. Проводки ГК будут сформированы, проводка ОС и смена статуса ОС - нет.