Skip to content
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ codeunit 139940 "Qlty. Inspection Utility"
begin
QltyAutoConfigure.EnsureBasicSetupExists(false);
QltyManagementSetup.Get();
QltyManagementSetup."When to show inspections" := QltyManagementSetup."When to show inspections"::"Do not show created inspections";
QltyManagementSetup."When to show inspections" := QltyManagementSetup."When to show inspections"::"Never";
QltyManagementSetup.Modify();

UserPermissionsLibrary.AssignPermissionSetToUser(UserSecurityId(), 'QltyGeneral');
Expand Down Expand Up @@ -636,11 +636,11 @@ codeunit 139940 "Qlty. Inspection Utility"

internal procedure ClearSetupTriggerDefaults(var QltyManagementSetup: Record "Qlty. Management Setup")
begin
QltyManagementSetup."Purchase Trigger" := QltyManagementSetup."Purchase Trigger"::NoTrigger;
QltyManagementSetup."Purchase Order Trigger" := QltyManagementSetup."Purchase Order Trigger"::NoTrigger;
QltyManagementSetup."Sales Return Trigger" := QltyManagementSetup."Sales Return Trigger"::NoTrigger;
QltyManagementSetup."Warehouse Receive Trigger" := QltyManagementSetup."Warehouse Receive Trigger"::NoTrigger;
QltyManagementSetup."Warehouse Receipt Trigger" := QltyManagementSetup."Warehouse Receipt Trigger"::NoTrigger;
QltyManagementSetup."Warehouse Trigger" := QltyManagementSetup."Warehouse Trigger"::NoTrigger;
QltyManagementSetup."Transfer Trigger" := QltyManagementSetup."Transfer Trigger"::NoTrigger;
QltyManagementSetup."Transfer Order Trigger" := QltyManagementSetup."Transfer Order Trigger"::NoTrigger;
QltyManagementSetup."Production Trigger" := QltyManagementSetup."Production Trigger"::NoTrigger;
QltyManagementSetup."Assembly Trigger" := QltyManagementSetup."Assembly Trigger"::NoTrigger;
QltyManagementSetup.Modify();
Expand Down Expand Up @@ -778,15 +778,15 @@ codeunit 139940 "Qlty. Inspection Utility"
CreateTemplate(QltyInspectionTemplateHdr, 1);
CreatePrioritizedRule(QltyInspectionTemplateHdr, Database::"Purchase Line", CreatedQltyInspectionGenRule);

CreatedQltyInspectionGenRule."Purchase Trigger" := CreatedQltyInspectionGenRule."Purchase Trigger"::OnPurchaseOrderPostReceive;
CreatedQltyInspectionGenRule."Purchase Order Trigger" := CreatedQltyInspectionGenRule."Purchase Order Trigger"::OnPurchaseOrderPostReceive;
CreatedQltyInspectionGenRule.Modify();

CreateLotTrackedItem(Item);

Item.SetRecFilter();
CreatedQltyInspectionGenRule."Item Filter" := CopyStr(Item.GetView(), 1, MaxStrLen(CreatedQltyInspectionGenRule."Item Filter"));
CreatedQltyInspectionGenRule."Activation Trigger" := CreatedQltyInspectionGenRule."Activation Trigger"::"Manual or Automatic";
CreatedQltyInspectionGenRule."Purchase Trigger" := CreatedQltyInspectionGenRule."Purchase Trigger"::OnPurchaseOrderPostReceive;
CreatedQltyInspectionGenRule."Purchase Order Trigger" := CreatedQltyInspectionGenRule."Purchase Order Trigger"::OnPurchaseOrderPostReceive;
CreatedQltyInspectionGenRule.Modify();

OrdQltyPurOrderGenerator.CreatePurchaseOrder(Quantity, Location, Item, PurchaseHeader, OutPurchaseLine, OutReservationEntry);
Expand Down Expand Up @@ -1609,3 +1609,5 @@ codeunit 139940 "Qlty. Inspection Utility"

#endregion Qlty. Misc Helpers Wrappers
}


Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ report 20412 "Qlty. Schedule Inspection"
{
Caption = 'Warning';
Visible = ShowWarningIfCreateInspection;
InstructionalText = 'On your Quality Management Setup page you have the Create Inspection Behavior set to a setting that will cause inspections to be created whenever this report is run even if there are already inspections for that item and lot. Make sure this is compatible with the scenario you are solving.';
InstructionalText = 'On your Quality Management Setup page you have the Inspection Creation Option set to a setting that will cause inspections to be created whenever this report is run even if there are already inspections for that item and lot. Make sure this is compatible with the scenario you are solving.';

field(ChooseOpenQualityManagementSetup; 'Click here to open the Quality Management Setup page.')
Comment thread
PredragMaricic marked this conversation as resolved.
{
Expand All @@ -58,7 +58,7 @@ report 20412 "Qlty. Schedule Inspection"
trigger OnDrillDown()
begin
QltyManagementSetup.Get();
Page.RunModal(Page::"Qlty. Management Setup", QltyManagementSetup, QltyManagementSetup.FieldNo("Create Inspection Behavior"));
Page.RunModal(Page::"Qlty. Management Setup", QltyManagementSetup, QltyManagementSetup.FieldNo("Inspection Creation Option"));
end;
}
}
Expand All @@ -78,7 +78,7 @@ report 20412 "Qlty. Schedule Inspection"
trigger OnInitReport()
begin
QltyManagementSetup.Get();
if QltyManagementSetup."Create Inspection Behavior" in [QltyManagementSetup."Create Inspection Behavior"::"Always create new inspection", QltyManagementSetup."Create Inspection Behavior"::"Always create re-inspection"] then
if QltyManagementSetup."Inspection Creation Option" in [QltyManagementSetup."Inspection Creation Option"::"Always create new inspection", QltyManagementSetup."Inspection Creation Option"::"Always create re-inspection"] then
ShowWarningIfCreateInspection := true;
end;

Expand Down Expand Up @@ -126,3 +126,4 @@ report 20412 "Qlty. Schedule Inspection"
QltyInspectionCreate.CreateMultipleInspectionsWithoutDisplaying(SourceRecordRef, GuiAllowed(), QltyInspectionGenRule, CreatedQltyInspectionIds);
end;
}

Original file line number Diff line number Diff line change
Expand Up @@ -143,32 +143,32 @@ table 20404 "Qlty. Inspection Gen. Rule"
InitValue = "Manual or Automatic";
ToolTip = 'Specifies whether the generation rule is active for manually created inspections only, automatically created inspections only, both, or disabled entirely.';
}
field(22; "Warehouse Receive Trigger"; Enum "Qlty. Whse. Receive Trigger")
field(22; "Warehouse Receipt Trigger"; Enum "Qlty. Whse. Receipt Trigger")
{
Caption = 'Warehouse Receive Trigger';
ToolTip = 'Specifies whether the generation rule should be used to automatically create inspections based on a warehouse receive trigger.';
Caption = 'Warehouse Receipt Trigger';
ToolTip = 'Specifies whether the generation rule should be used to automatically create inspections based on a Warehouse Receipt Trigger.';

trigger OnValidate()
var
QltyNotificationMgmt: Codeunit "Qlty. Notification Mgmt.";
begin
ConfirmUpdateManualTriggerStatus();
if (Rec."Activation Trigger" = Rec."Activation Trigger"::Disabled) and (Rec."Template Code" <> '') and (Rec."Warehouse Receive Trigger" <> Rec."Warehouse Receive Trigger"::NoTrigger) and GuiAllowed() then
QltyNotificationMgmt.Notify(StrSubstNo(RuleCurrentlyDisabledLbl, Rec."Sort Order", Rec."Template Code", Rec."Warehouse Receive Trigger"));
if (Rec."Activation Trigger" = Rec."Activation Trigger"::Disabled) and (Rec."Template Code" <> '') and (Rec."Warehouse Receipt Trigger" <> Rec."Warehouse Receipt Trigger"::NoTrigger) and GuiAllowed() then
QltyNotificationMgmt.Notify(StrSubstNo(RuleCurrentlyDisabledLbl, Rec."Sort Order", Rec."Template Code", Rec."Warehouse Receipt Trigger"));
end;
}
field(23; "Purchase Trigger"; Enum "Qlty. Purchase Trigger")
field(23; "Purchase Order Trigger"; Enum "Qlty. Purchase Order Trigger")
{
Caption = 'Purchase Trigger';
Caption = 'Purchase Order Trigger';
ToolTip = 'Specifies whether the generation rule should be used to automatically create inspections based on a purchase receive trigger.';

trigger OnValidate()
var
QltyNotificationMgmt: Codeunit "Qlty. Notification Mgmt.";
begin
ConfirmUpdateManualTriggerStatus();
if (Rec."Activation Trigger" = Rec."Activation Trigger"::Disabled) and (Rec."Template Code" <> '') and (Rec."Purchase Trigger" <> Rec."Purchase Trigger"::NoTrigger) and GuiAllowed() then
QltyNotificationMgmt.Notify(StrSubstNo(RuleCurrentlyDisabledLbl, Rec."Sort Order", Rec."Template Code", Rec."Purchase Trigger"));
if (Rec."Activation Trigger" = Rec."Activation Trigger"::Disabled) and (Rec."Template Code" <> '') and (Rec."Purchase Order Trigger" <> Rec."Purchase Order Trigger"::NoTrigger) and GuiAllowed() then
QltyNotificationMgmt.Notify(StrSubstNo(RuleCurrentlyDisabledLbl, Rec."Sort Order", Rec."Template Code", Rec."Purchase Order Trigger"));
end;
}
field(24; "Sales Return Trigger"; Enum "Qlty. Sales Return Trigger")
Expand All @@ -185,18 +185,18 @@ table 20404 "Qlty. Inspection Gen. Rule"
QltyNotificationMgmt.Notify(StrSubstNo(RuleCurrentlyDisabledLbl, Rec."Sort Order", Rec."Template Code", Rec."Sales Return Trigger"));
end;
}
field(25; "Transfer Trigger"; Enum "Qlty. Transfer Trigger")
field(25; "Transfer Order Trigger"; Enum "Qlty. Transfer Order Trigger")
{
Caption = 'Transfer Trigger';
Caption = 'Transfer Order Trigger';
ToolTip = 'Specifies whether the generation rule should be used to automatically create inspections based on a transfer receive trigger.';

trigger OnValidate()
var
QltyNotificationMgmt: Codeunit "Qlty. Notification Mgmt.";
begin
ConfirmUpdateManualTriggerStatus();
if (Rec."Activation Trigger" = Rec."Activation Trigger"::Disabled) and (Rec."Template Code" <> '') and (Rec."Transfer Trigger" <> Rec."Transfer Trigger"::NoTrigger) and GuiAllowed() then
QltyNotificationMgmt.Notify(StrSubstNo(RuleCurrentlyDisabledLbl, Rec."Sort Order", Rec."Template Code", Rec."Transfer Trigger"));
if (Rec."Activation Trigger" = Rec."Activation Trigger"::Disabled) and (Rec."Template Code" <> '') and (Rec."Transfer Order Trigger" <> Rec."Transfer Order Trigger"::NoTrigger) and GuiAllowed() then
QltyNotificationMgmt.Notify(StrSubstNo(RuleCurrentlyDisabledLbl, Rec."Sort Order", Rec."Template Code", Rec."Transfer Order Trigger"));
end;
}
field(26; "Production Trigger"; Enum "Qlty. Production Trigger")
Expand Down Expand Up @@ -428,25 +428,25 @@ table 20404 "Qlty. Inspection Gen. Rule"
InferredIntent::Production:
Rec."Production Trigger" := QltyManagementSetup."Production Trigger";
InferredIntent::Purchase:
Rec."Purchase Trigger" := QltyManagementSetup."Purchase Trigger";
Rec."Purchase Order Trigger" := QltyManagementSetup."Purchase Order Trigger";
InferredIntent::"Sales Return":
Rec."Sales Return Trigger" := QltyManagementSetup."Sales Return Trigger";
InferredIntent::Transfer:
Rec."Transfer Trigger" := QltyManagementSetup."Transfer Trigger";
Rec."Transfer Order Trigger" := QltyManagementSetup."Transfer Order Trigger";
InferredIntent::"Warehouse Movement":
Rec."Warehouse Movement Trigger" := QltyManagementSetup."Warehouse Trigger";
InferredIntent::"Warehouse Receipt":
Rec."Warehouse Receive Trigger" := QltyManagementSetup."Warehouse Receive Trigger";
Rec."Warehouse Receipt Trigger" := QltyManagementSetup."Warehouse Receipt Trigger";
end;
end;
end;

local procedure ConfirmUpdateManualTriggerStatus()
begin
if (Rec."Activation Trigger" = Rec."Activation Trigger"::"Manual only") and GuiAllowed() then
if not ((Rec."Assembly Trigger" = Rec."Assembly Trigger"::NoTrigger) and (Rec."Transfer Trigger" = Rec."Transfer Trigger"::NoTrigger) and
(Rec."Production Trigger" = Rec."Production Trigger"::NoTrigger) and (Rec."Purchase Trigger" = Rec."Purchase Trigger"::NoTrigger) and
(Rec."Sales Return Trigger" = Rec."Sales Return Trigger"::NoTrigger) and (Rec."Warehouse Receive Trigger" = Rec."Warehouse Receive Trigger"::NoTrigger) and
if not ((Rec."Assembly Trigger" = Rec."Assembly Trigger"::NoTrigger) and (Rec."Transfer Order Trigger" = Rec."Transfer Order Trigger"::NoTrigger) and
(Rec."Production Trigger" = Rec."Production Trigger"::NoTrigger) and (Rec."Purchase Order Trigger" = Rec."Purchase Order Trigger"::NoTrigger) and
(Rec."Sales Return Trigger" = Rec."Sales Return Trigger"::NoTrigger) and (Rec."Warehouse Receipt Trigger" = Rec."Warehouse Receipt Trigger"::NoTrigger) and
(Rec."Warehouse Movement Trigger" = Rec."Warehouse Movement Trigger"::NoTrigger))
then
if Confirm(StrSubstNo(TriggerNotActiveConfirmQst, Rec."Activation Trigger", Rec."Activation Trigger"::"Manual or Automatic")) then
Expand All @@ -455,10 +455,10 @@ table 20404 "Qlty. Inspection Gen. Rule"

local procedure SetDefaultTriggerValuesToNoTrigger()
begin
Rec."Warehouse Receive Trigger" := Rec."Warehouse Receive Trigger"::NoTrigger;
Rec."Purchase Trigger" := Rec."Purchase Trigger"::NoTrigger;
Rec."Warehouse Receipt Trigger" := Rec."Warehouse Receipt Trigger"::NoTrigger;
Rec."Purchase Order Trigger" := Rec."Purchase Order Trigger"::NoTrigger;
Rec."Sales Return Trigger" := Rec."Sales Return Trigger"::NoTrigger;
Rec."Transfer Trigger" := Rec."Transfer Trigger"::NoTrigger;
Rec."Transfer Order Trigger" := Rec."Transfer Order Trigger"::NoTrigger;
Rec."Production Trigger" := Rec."Production Trigger"::NoTrigger;
Rec."Assembly Trigger" := Rec."Assembly Trigger"::NoTrigger;
Rec."Warehouse Movement Trigger" := Rec."Warehouse Movement Trigger"::NoTrigger;
Expand Down Expand Up @@ -702,7 +702,7 @@ table 20404 "Qlty. Inspection Gen. Rule"
if not QltyManagementSetup.Get() then
exit(false);

if QltyManagementSetup."Purchase Trigger" <> QltyManagementSetup."Purchase Trigger"::NoTrigger then begin
if QltyManagementSetup."Purchase Order Trigger" <> QltyManagementSetup."Purchase Order Trigger"::NoTrigger then begin
TriggerCount += 1;
if IntentToCheck = IntentToCheck::Purchase then
IntentSet := true;
Expand All @@ -712,7 +712,7 @@ table 20404 "Qlty. Inspection Gen. Rule"
if IntentToCheck = IntentToCheck::"Sales Return" then
IntentSet := true;
end;
if QltyManagementSetup."Warehouse Receive Trigger" <> QltyManagementSetup."Warehouse Receive Trigger"::NoTrigger then begin
if QltyManagementSetup."Warehouse Receipt Trigger" <> QltyManagementSetup."Warehouse Receipt Trigger"::NoTrigger then begin
TriggerCount += 1;
if IntentToCheck = IntentToCheck::"Warehouse Receipt" then
IntentSet := true;
Expand All @@ -722,7 +722,7 @@ table 20404 "Qlty. Inspection Gen. Rule"
if IntentToCheck = IntentToCheck::"Warehouse Movement" then
IntentSet := true;
end;
if QltyManagementSetup."Transfer Trigger" <> QltyManagementSetup."Transfer Trigger"::NoTrigger then begin
if QltyManagementSetup."Transfer Order Trigger" <> QltyManagementSetup."Transfer Order Trigger"::NoTrigger then begin
TriggerCount += 1;
if IntentToCheck = IntentToCheck::Transfer then
IntentSet := true;
Expand All @@ -741,3 +741,6 @@ table 20404 "Qlty. Inspection Gen. Rule"
exit((TriggerCount = 1) and IntentSet);
end;
}



Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ page 20405 "Qlty. Inspection Gen. Rules"
Editable = EditProductionTrigger;
StyleExpr = ProductionStyle;
}
field("Purchase Trigger"; Rec."Purchase Trigger")
field("Purchase Order Trigger"; Rec."Purchase Order Trigger")
{
Visible = ShowPurchaseTrigger;
Editable = EditPurchaseTrigger;
Expand All @@ -128,13 +128,13 @@ page 20405 "Qlty. Inspection Gen. Rules"
Editable = EditSalesReturnTrigger;
StyleExpr = SalesReturnStyle;
}
field("Transfer Trigger"; Rec."Transfer Trigger")
field("Transfer Order Trigger"; Rec."Transfer Order Trigger")
{
Visible = ShowTransferTrigger;
Editable = EditTransferTrigger;
StyleExpr = TransferStyle;
}
field("Warehouse Receive Trigger"; Rec."Warehouse Receive Trigger")
field("Warehouse Receipt Trigger"; Rec."Warehouse Receipt Trigger")
{
Visible = ShowWarehouseReceiveTrigger;
Editable = EditWarehouseReceiveTrigger;
Expand Down Expand Up @@ -617,13 +617,13 @@ page 20405 "Qlty. Inspection Gen. Rules"
ShowAssemblyTrigger := true;
if QltyManagementSetup."Production Trigger" <> QltyManagementSetup."Production Trigger"::NoTrigger then
ShowProductionTrigger := true;
if QltyManagementSetup."Purchase Trigger" <> QltyManagementSetup."Purchase Trigger"::NoTrigger then
if QltyManagementSetup."Purchase Order Trigger" <> QltyManagementSetup."Purchase Order Trigger"::NoTrigger then
ShowPurchaseTrigger := true;
if QltyManagementSetup."Sales Return Trigger" <> QltyManagementSetup."Sales Return Trigger"::NoTrigger then
ShowSalesReturnTrigger := true;
if QltyManagementSetup."Transfer Trigger" <> QltyManagementSetup."Transfer Trigger"::NoTrigger then
if QltyManagementSetup."Transfer Order Trigger" <> QltyManagementSetup."Transfer Order Trigger"::NoTrigger then
ShowTransferTrigger := true;
if QltyManagementSetup."Warehouse Receive Trigger" <> QltyManagementSetup."Warehouse Receive Trigger"::NoTrigger then
if QltyManagementSetup."Warehouse Receipt Trigger" <> QltyManagementSetup."Warehouse Receipt Trigger"::NoTrigger then
ShowWarehouseReceiveTrigger := true;
if QltyManagementSetup."Warehouse Trigger" <> QltyManagementSetup."Warehouse Trigger"::NoTrigger then
ShowWarehouseMovementTrigger := true;
Expand All @@ -645,3 +645,5 @@ page 20405 "Qlty. Inspection Gen. Rules"
until QltyInspectionGenRule.Next() = 0;
end;
}


Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@ namespace Microsoft.QualityManagement.Configuration.Result;
/// Used to help determine which inspection to use when conditional optional lot/serial item tracking based blocking.
/// When evaluating if a document specific transactions are blocked, this determines which inspection(s) are considered.
/// </summary>
enum 20437 "Qlty. Inspection Find Behavior"
enum 20437 "Qlty. Insp. Selection Criteria"
{
Caption = 'Quality Inspection Find Behavior';
Caption = 'Quality Inspection Selection Criteria';

value(0; "Any inspection that matches")
{
Expand Down
Loading
Loading