Плешивцев Евгений wrote: | ||
Более того, фрагмент моей программы (в самом конце):
наотрез не работает если не поставить эти операторные скобки. |
Code: |
mkart->(dbGoTop())
if mkart->(!Eof()) do while mkart->(!Eof()) aBuf[1]:= mkart->Sclad aBuf[2]:= mkart->KolTek UsDataBase->(AddRec()) UsDataBase->(Gather(aBuf)) UsDataBase->(dbUnLock()) mkart->(dbSkip()) enddo endif |
Code: |
mkart->( DBEVAL({|aBuf|aBuf:={mkart->SCLAD,mkart->KolTek},;
UsDataBase->( Addrec() ), ; UsDataBase->(Gather(aBuf)) ; }) ) |
Титов Александр wrote: |
Эту проблему мы решили, поддержим Scope в DbPush. |
nordk wrote: |
Но еще раз повторюсь - сделай по MDOCM будет надежнее и ничуть
не дольше (на глаз незаметно) |
Code: |
//-------------------------------------------------------
// Расчет и вывод на печать остатков по складам // из номенклатурного справочника. // Аналог [F10] в номенклатурном справочнике. // свернуто по партиям // вер. 1.1 от 12/09/07 // разработано для Б-4+ 12.01 harbour // разработано для Кофе-тайм // вызывается из номенклатурного справочника // вер 1.1 - оптимизирован код Function user_ostat_nomspr() Local cGrup:='' Local cNNum:='' Local cSclad:='' Local aStru:={} Local aBuf:={'',0} Local cDataBase:='' Local aMsg:={} Local cName:='' Local nSum_Kol:=0 Local aSet:={} Altd() aSet=SaveSet() cGrup:=mlabel->Grup cNNum:=mlabel->NNum cName:=Alltrim(Mlabel->Name)+'; '+alltrim(mlabel->Marka)+'; '+alltrim(mlabel->Razmer) // таблица UsDataBase для группировки кол-ва по складам aAdd(aStru,{"Sclad","C",6,0}) aAdd(aStru,{"Kol" ,"N",9,3}) cDataBase:=TEMPFILE(GlobalTmpPath,"dbf") DBCreate(cDataBase,aStru) Use &cDataBase Alias UsDataBase New EXCLUSIVE // заполним таблицу UsDataBase dbPush('mkart','mkart','Empty(mkart->partia)=.t.',; {'Upper(Grup+NNum)', Upper(cGrup+cNNum)}) mkart->(DBEVAL({|| aBuf:={mkart->SCLAD,mkart->KolTek},; UsDataBase->( Addrec() ),; UsDataBase->(Gather(aBuf))})) dbPop() Sum UsDataBase->Kol to nSum_kol // вывод на печать aAdd(aMsg, 'Остатки товара: '+cName) aAdd(aMsg, '----------------------') aAdd(aMsg, '| Склад | Количество|') aAdd(aMsg, '----------------------') UsDataBase->(dbEval({|| aAdd(aMsg,'| '+UsDataBase->Sclad+' | '+str(UsDataBase->Kol,9,3)+' |')})) aADD(aMsg, '----------------------') aAdd(aMsg, '|Итого | '+str(nSum_Kol,9,3)+' |') View(aMsg) UsDataBase->(dbClosearea()) RESTSET(aSet) return nil |
output generated using printer-friendly topic mod. All times are GMT + 4 Hours