Розробка бази даних контролю товарообігу на складі (С++ Builder)
35

DM->InputStatItem->FieldByName("ID")->AsInteger;

        DM->StoreToSklad->ParamByName("in_item")->AsString =

DM->InputStatItem->FieldByName("ITEM")->AsString;

        DM->StoreToSklad->ParamByName("in_ediz")->AsString =

DM->InputStatItem->FieldByName("EDIZ")->AsString;

        DM->StoreToSklad->ParamByName("in_kol")->AsInteger =

DM->InputStatItem->FieldByName("KOL")->AsInteger;;

        DM->StoreToSklad->ParamByName("in_price")->AsCurrency =

DM->InputStatItem->FieldByName("PRICE")->AsCurrency;

        DM->StoreToSklad->ExecProc();   

        DM->StoreToSkladTR->CommitRetaining();

        DM->Database->QueryValueAsStr("UPDATE prihodnakl SET proved =

'T' WHERE ID = " + IntToStr(DM->InputStat->FieldByName("ID")->AsInteger) + ";", 0);

        DM->InputStatItem->Next();

      }

    }

  } else ShowMessage("Документ вже проведено!");

  DM->InputStat->ReopenLocate("ID");

}

Для організації обліку вихідних накладних та контролю їх проведення передбачена форма «Книга реалізації» (рис. 5.12). За структурою форма подібна до форми «Книга приходу», але працює з представленням «OUTPUTSTAT_VIEW» бази даних.

Кнопка «Провести документ» форми «Книга реалізації» призначена для проведення документу і працює за наступним алгоритмом: якщо на момент натискання обраний документ (вихідна накладна) не був проведений (поле «Проведено» містить значення «F») відбувається прохід по всіх записах detail-таблиці «OutputStatItem» форми і передача в зберігану процедуру «DEL_FROM_SKLAD» відповідних параметрів (найменування товару та кількості одиниць), після чого відбувається виклик зберіганої процедури методом ExecProc() компоненту DelFromSklad (TpFIBStoreProc).