|
|
#1 |
|
Участник
|
Привет всем.
Не могу понять глубину мысли использования переменной WhseActivHeader в report 7323 "Create Invt. Put-away / Pick". Есть часть: Код: IF ((Type = Type::Inbound) AND (WhseActivHeader.Type <> WhseActivHeader.Type::"Invt. Put-away")) OR
((Type = Type::Outbound) AND (WhseActivHeader.Type <> WhseActivHeader.Type::"Invt. Pick")) OR
("Source Type" <> WhseActivHeader."Source Type") OR
("Source Subtype" <> WhseActivHeader."Source Subtype") OR
("Source No." <> WhseActivHeader."Source No.") OR
("Location Code" <> WhseActivHeader."Location Code")
THEN BEGIN
CASE Type OF
Type::Inbound:
IF NOT CreateInvtPutAway.CheckSourceDoc("Warehouse Request") THEN
CurrReport.SKIP;
Type::Outbound:
IF NOT CreateInvtPick.CheckSourceDoc("Warehouse Request") THEN
CurrReport.SKIP;
END;
InitWhseActivHeader;
END; |
|
|
|
|
#2 |
|
Участник
|
Там же, в функции InitWhseActivHeader().
Смысл: этот отчёт можно, например, вызвать из Transfer List одновременно для нескольких Inbound Transfer и для Outbound Transfer. Код из Т. 5740, функция CreateInvtPutAwayPick() Код: WhseRequest.RESET;
WhseRequest.SETCURRENTKEY("Source Document","Source No.");
WhseRequest.SETFILTER(
"Source Document",'%1|%2',
WhseRequest."Source Document"::"Inbound Transfer",
WhseRequest."Source Document"::"Outbound Transfer");
WhseRequest.SETRANGE("Source No.","No.");
REPORT.RUNMODAL(REPORT::"Create Invt. Put-away / Pick",TRUE,FALSE,WhseRequest); |
|
|