|  29.03.2007, 10:50 | #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();
    } | 
|  |