![]() |
#3 |
Участник
|
Хочешь бысро получать остатки по складу
У меня 25 000 наименований у всех вызывать калкфилды нерационально. Код: FastInventoryToDateInLocation(LocationCode : Code[10]) ItemLedger.SETCURRENTKEY(Open,"Location Code","Item No.","Variant Code","Unit of Measure Code","Lot No.","Serial No."); ItemLedger.SETRANGE(Open,TRUE); ItemLedger.SETRANGE("Location Code",LocationCode); IF NOT ItemLedger.FIND('-') THEN EXIT; REPEAT IF TempItem."No."<>ItemLedger."Item No." THEN BEGIN RecItem.GET(ItemLedger."Item No."); TempItem."No.":=ItemLedger."Item No."; TempItem.Description:=GetNormalDescription(RecItem); TempItem."Base Unit of Measure":=RecItem."Base Unit of Measure"; TempItem."Designer Code":=RecItem."Designer Code"; TempItem."Maximum Inventory":=ItemLedger."Remaining Quantity"; TempItem.INSERT; END ELSE TempItem."Maximum Inventory"+=ItemLedger."Remaining Quantity"; TempItem.MODIFY; UNTIL ItemLedger.NEXT=0; TempItem.SETCURRENTKEY(TempItem."Designer Code"); IF NOT TempItem.FIND('-') THEN EXIT; TempItem.SETFILTER("Location Filter",LocationCode); xl.Template('InventoryFast',10); xl.PasteSection(1,2,FALSE); xl.OUTToSection(1,1,STRSUBSTNO('%4 %1 %2 %3',TIME,TODAY,USERID,LocationCode)); REPEAT xl.PasteSection(3,3,FALSE); xl.OUTToSection(1,3,TempItem."No."); xl.OUTToSection(2,3,TempItem.Description); xl.OUTToSection(3,3,FORMAT(TempItem."Maximum Inventory")); xl.OUTToSection(4,3,TempItem."Base Unit of Measure"); UNTIL TempItem.NEXT=0; xl.Finish('',FALSE); xl.Open; |
|