diff --git a/src/Layers/APAC/BaseApp/Sales/Document/SalesHeader.Table.al b/src/Layers/APAC/BaseApp/Sales/Document/SalesHeader.Table.al index 06e6272a1a..b755397894 100644 --- a/src/Layers/APAC/BaseApp/Sales/Document/SalesHeader.Table.al +++ b/src/Layers/APAC/BaseApp/Sales/Document/SalesHeader.Table.al @@ -9710,7 +9710,7 @@ table 36 "Sales Header" exit(Result); Contact.FilterGroup(2); - if ("Sell-to Customer No." <> '') and ("Document Type" <> "Document Type"::Quote) then + if "Sell-to Customer No." <> '' then if Contact.Get("Sell-to Contact No.") then Contact.SetRange("Company No.", Contact."Company No.") else diff --git a/src/Layers/BE/BaseApp/Sales/Document/SalesHeader.Table.al b/src/Layers/BE/BaseApp/Sales/Document/SalesHeader.Table.al index 5356681641..58b40b2b80 100644 --- a/src/Layers/BE/BaseApp/Sales/Document/SalesHeader.Table.al +++ b/src/Layers/BE/BaseApp/Sales/Document/SalesHeader.Table.al @@ -9571,7 +9571,7 @@ table 36 "Sales Header" exit(Result); Contact.FilterGroup(2); - if ("Sell-to Customer No." <> '') and ("Document Type" <> "Document Type"::Quote) then + if "Sell-to Customer No." <> '' then if Contact.Get("Sell-to Contact No.") then Contact.SetRange("Company No.", Contact."Company No.") else diff --git a/src/Layers/CH/BaseApp/Sales/Document/SalesHeader.Table.al b/src/Layers/CH/BaseApp/Sales/Document/SalesHeader.Table.al index a80a925abb..8157538ea2 100644 --- a/src/Layers/CH/BaseApp/Sales/Document/SalesHeader.Table.al +++ b/src/Layers/CH/BaseApp/Sales/Document/SalesHeader.Table.al @@ -9600,7 +9600,7 @@ table 36 "Sales Header" exit(Result); Contact.FilterGroup(2); - if ("Sell-to Customer No." <> '') and ("Document Type" <> "Document Type"::Quote) then + if "Sell-to Customer No." <> '' then if Contact.Get("Sell-to Contact No.") then Contact.SetRange("Company No.", Contact."Company No.") else diff --git a/src/Layers/CZ/BaseApp/Sales/Document/SalesHeader.Table.al b/src/Layers/CZ/BaseApp/Sales/Document/SalesHeader.Table.al index 326436a8fa..e7d063528a 100644 --- a/src/Layers/CZ/BaseApp/Sales/Document/SalesHeader.Table.al +++ b/src/Layers/CZ/BaseApp/Sales/Document/SalesHeader.Table.al @@ -9541,7 +9541,7 @@ table 36 "Sales Header" exit(Result); Contact.FilterGroup(2); - if ("Sell-to Customer No." <> '') and ("Document Type" <> "Document Type"::Quote) then + if "Sell-to Customer No." <> '' then if Contact.Get("Sell-to Contact No.") then Contact.SetRange("Company No.", Contact."Company No.") else diff --git a/src/Layers/ES/BaseApp/Sales/Document/SalesHeader.Table.al b/src/Layers/ES/BaseApp/Sales/Document/SalesHeader.Table.al index f8a90897fe..c0ffaa90a7 100644 --- a/src/Layers/ES/BaseApp/Sales/Document/SalesHeader.Table.al +++ b/src/Layers/ES/BaseApp/Sales/Document/SalesHeader.Table.al @@ -9667,7 +9667,7 @@ table 36 "Sales Header" exit(Result); Contact.FilterGroup(2); - if ("Sell-to Customer No." <> '') and ("Document Type" <> "Document Type"::Quote) then + if "Sell-to Customer No." <> '' then if Contact.Get("Sell-to Contact No.") then Contact.SetRange("Company No.", Contact."Company No.") else diff --git a/src/Layers/FI/BaseApp/Sales/Document/SalesHeader.Table.al b/src/Layers/FI/BaseApp/Sales/Document/SalesHeader.Table.al index 72e1b35541..b869ef5ab5 100644 --- a/src/Layers/FI/BaseApp/Sales/Document/SalesHeader.Table.al +++ b/src/Layers/FI/BaseApp/Sales/Document/SalesHeader.Table.al @@ -9541,7 +9541,7 @@ table 36 "Sales Header" exit(Result); Contact.FilterGroup(2); - if ("Sell-to Customer No." <> '') and ("Document Type" <> "Document Type"::Quote) then + if "Sell-to Customer No." <> '' then if Contact.Get("Sell-to Contact No.") then Contact.SetRange("Company No.", Contact."Company No.") else diff --git a/src/Layers/FR/BaseApp/Sales/Document/SalesHeader.Table.al b/src/Layers/FR/BaseApp/Sales/Document/SalesHeader.Table.al index 67c35c5199..205b422a47 100644 --- a/src/Layers/FR/BaseApp/Sales/Document/SalesHeader.Table.al +++ b/src/Layers/FR/BaseApp/Sales/Document/SalesHeader.Table.al @@ -9545,7 +9545,7 @@ table 36 "Sales Header" exit(Result); Contact.FilterGroup(2); - if ("Sell-to Customer No." <> '') and ("Document Type" <> "Document Type"::Quote) then + if "Sell-to Customer No." <> '' then if Contact.Get("Sell-to Contact No.") then Contact.SetRange("Company No.", Contact."Company No.") else diff --git a/src/Layers/GB/BaseApp/Sales/Document/SalesHeader.Table.al b/src/Layers/GB/BaseApp/Sales/Document/SalesHeader.Table.al index 326436a8fa..e7d063528a 100644 --- a/src/Layers/GB/BaseApp/Sales/Document/SalesHeader.Table.al +++ b/src/Layers/GB/BaseApp/Sales/Document/SalesHeader.Table.al @@ -9541,7 +9541,7 @@ table 36 "Sales Header" exit(Result); Contact.FilterGroup(2); - if ("Sell-to Customer No." <> '') and ("Document Type" <> "Document Type"::Quote) then + if "Sell-to Customer No." <> '' then if Contact.Get("Sell-to Contact No.") then Contact.SetRange("Company No.", Contact."Company No.") else diff --git a/src/Layers/IT/BaseApp/Sales/Document/SalesHeader.Table.al b/src/Layers/IT/BaseApp/Sales/Document/SalesHeader.Table.al index d887a42dfa..f064e77ee7 100644 --- a/src/Layers/IT/BaseApp/Sales/Document/SalesHeader.Table.al +++ b/src/Layers/IT/BaseApp/Sales/Document/SalesHeader.Table.al @@ -10284,7 +10284,7 @@ table 36 "Sales Header" exit(Result); Contact.FilterGroup(2); - if ("Sell-to Customer No." <> '') and ("Document Type" <> "Document Type"::Quote) then + if "Sell-to Customer No." <> '' then if Contact.Get("Sell-to Contact No.") then Contact.SetRange("Company No.", Contact."Company No.") else diff --git a/src/Layers/NA/BaseApp/Sales/Document/SalesHeader.Table.al b/src/Layers/NA/BaseApp/Sales/Document/SalesHeader.Table.al index d6fa4ba1a6..1e7b5904ea 100644 --- a/src/Layers/NA/BaseApp/Sales/Document/SalesHeader.Table.al +++ b/src/Layers/NA/BaseApp/Sales/Document/SalesHeader.Table.al @@ -9855,7 +9855,7 @@ table 36 "Sales Header" exit(Result); Contact.FilterGroup(2); - if ("Sell-to Customer No." <> '') and ("Document Type" <> "Document Type"::Quote) then + if "Sell-to Customer No." <> '' then if Contact.Get("Sell-to Contact No.") then Contact.SetRange("Company No.", Contact."Company No.") else diff --git a/src/Layers/NL/BaseApp/Sales/Document/SalesHeader.Table.al b/src/Layers/NL/BaseApp/Sales/Document/SalesHeader.Table.al index bca6498c70..56da3ab5c7 100644 --- a/src/Layers/NL/BaseApp/Sales/Document/SalesHeader.Table.al +++ b/src/Layers/NL/BaseApp/Sales/Document/SalesHeader.Table.al @@ -9567,7 +9567,7 @@ table 36 "Sales Header" exit(Result); Contact.FilterGroup(2); - if ("Sell-to Customer No." <> '') and ("Document Type" <> "Document Type"::Quote) then + if "Sell-to Customer No." <> '' then if Contact.Get("Sell-to Contact No.") then Contact.SetRange("Company No.", Contact."Company No.") else diff --git a/src/Layers/NO/BaseApp/Sales/Document/SalesHeader.Table.al b/src/Layers/NO/BaseApp/Sales/Document/SalesHeader.Table.al index ae96fcb30d..709b7668f5 100644 --- a/src/Layers/NO/BaseApp/Sales/Document/SalesHeader.Table.al +++ b/src/Layers/NO/BaseApp/Sales/Document/SalesHeader.Table.al @@ -9632,7 +9632,7 @@ table 36 "Sales Header" exit(Result); Contact.FilterGroup(2); - if ("Sell-to Customer No." <> '') and ("Document Type" <> "Document Type"::Quote) then + if "Sell-to Customer No." <> '' then if Contact.Get("Sell-to Contact No.") then Contact.SetRange("Company No.", Contact."Company No.") else diff --git a/src/Layers/RU/BaseApp/Sales/Document/SalesHeader.Table.al b/src/Layers/RU/BaseApp/Sales/Document/SalesHeader.Table.al index b5f88f8f21..c0f4c737ed 100644 --- a/src/Layers/RU/BaseApp/Sales/Document/SalesHeader.Table.al +++ b/src/Layers/RU/BaseApp/Sales/Document/SalesHeader.Table.al @@ -10060,7 +10060,7 @@ table 36 "Sales Header" exit(Result); Contact.FilterGroup(2); - if ("Sell-to Customer No." <> '') and ("Document Type" <> "Document Type"::Quote) then + if "Sell-to Customer No." <> '' then if Contact.Get("Sell-to Contact No.") then Contact.SetRange("Company No.", Contact."Company No.") else diff --git a/src/Layers/SE/BaseApp/Sales/Document/SalesHeader.Table.al b/src/Layers/SE/BaseApp/Sales/Document/SalesHeader.Table.al index 0a6aed9c4a..ab874ecec9 100644 --- a/src/Layers/SE/BaseApp/Sales/Document/SalesHeader.Table.al +++ b/src/Layers/SE/BaseApp/Sales/Document/SalesHeader.Table.al @@ -9570,7 +9570,7 @@ table 36 "Sales Header" exit(Result); Contact.FilterGroup(2); - if ("Sell-to Customer No." <> '') and ("Document Type" <> "Document Type"::Quote) then + if "Sell-to Customer No." <> '' then if Contact.Get("Sell-to Contact No.") then Contact.SetRange("Company No.", Contact."Company No.") else diff --git a/src/Layers/W1/BaseApp/Sales/Document/SalesHeader.Table.al b/src/Layers/W1/BaseApp/Sales/Document/SalesHeader.Table.al index cb937f3980..c394c9bc77 100644 --- a/src/Layers/W1/BaseApp/Sales/Document/SalesHeader.Table.al +++ b/src/Layers/W1/BaseApp/Sales/Document/SalesHeader.Table.al @@ -9541,7 +9541,7 @@ table 36 "Sales Header" exit(Result); Contact.FilterGroup(2); - if ("Sell-to Customer No." <> '') and ("Document Type" <> "Document Type"::Quote) then + if "Sell-to Customer No." <> '' then if Contact.Get("Sell-to Contact No.") then Contact.SetRange("Company No.", Contact."Company No.") else diff --git a/src/Layers/W1/Tests/Marketing/TestContactLookup.Codeunit.al b/src/Layers/W1/Tests/Marketing/TestContactLookup.Codeunit.al index 1525d42e3c..f74c621109 100644 --- a/src/Layers/W1/Tests/Marketing/TestContactLookup.Codeunit.al +++ b/src/Layers/W1/Tests/Marketing/TestContactLookup.Codeunit.al @@ -561,6 +561,35 @@ codeunit 134837 "Test Contact Lookup" SalesQuote."Sell-to Contact No.".AssertEquals(Contact."No."); end; + [Test] + [HandlerFunctions('ContactListModalPageHandler')] + procedure SellToContactLookupOnSalesQuoteWithCustomerTest() + var + Customer: Record Customer; + SalesHeader: Record "Sales Header"; + SalesQuote: TestPage "Sales Quote"; + begin + // [FEATURE] [Sales Quote] + // [SCENARIO 642199] When "Sell-to Customer No." is set in a Sales Quote then on "Sell-to Contact No." look up the contact list is filtered by the customer's contact "Company No." instead of showing all contacts. + Initialize(); + + // [GIVEN] Create Customer with a Contact. + LibrarySmallBusiness.CreateCustomer(Customer); + Customer.Validate(Contact, StrSubstNo('%1 %2', LibraryUtility.GenerateRandomText(10), LibraryUtility.GenerateRandomText(10))); + + // [GIVEN] Create a Sales Quote for the created customer. + LibrarySales.CreateSalesHeader(SalesHeader, SalesHeader."Document Type"::Quote, Customer."No."); + SalesQuote.OpenEdit(); + SalesQuote.GotoRecord(SalesHeader); + + // [WHEN] Look up contact list from "Sell-to Contact No.". + LibraryVariableStorage.Enqueue(Customer."Primary Contact No."); + SalesQuote."Sell-to Contact No.".Lookup(); + + // [THEN] Verify the contact list is filtered by the "Company No." of the customer's contact. + // Verification in ContactListModalPageHandler + end; + local procedure Initialize() var ObjectOptions: Record "Object Options";