|
|
#1 |
|
Участник
|
Свёртывание складских проводок
В целях снижения размера БД была произведена чистка одной из аналитик (не стандартных – добавленных нами). После чего, для уменьшения размеров таблицы складских проводок была поставлена задача свертки проводок в разрезе лота. Для этой цели используется метод updateSumUp(…) таблицы InventTrans. В этом методе свертка производится только в том случае, если проводки не в статусе Закуплено\Продано или не имеют сопоставлений:
X++: if (! this.isUpdatedFinancial() || ! this.hasSettlements()) {}.1. Для чего проводится анализ статусов прихода/расхода в методе isUpdatedFinancial()? К каким последствиям в дальнейшем может привести, если эту проверку пропустить? X++: boolean isUpdatedFinancial()
{
return (this.statusReceipt <= StatusReceipt::Purchased &&
this.statusIssue <= StatusIssue::Sold);
}X++: InventSettlement inventSettlement;
;
while select forupdate inventSettlement
index hint RecIdTypeIdx
where inventSettlement.transRecId = = _fromRecId
{
inventSettlement.TransRecId = _toRecId;
inventSettlement.update();
} |
|
|