Хочешь бысро получать остатки по складу
У меня 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;Есть ещё и быстрая оборотка по складу