OBJECT Table 36 Sales Header { OBJECT-PROPERTIES { Date=17.09.17; Time=16:03:31; Modified=Yes; Version List=NAVW17.10.00.36281,NAVDACH7.10.00.36281; } PROPERTIES { DataCaptionFields=No.,Sell-to Customer Name; OnInsert=BEGIN IF "No." = '' THEN BEGIN TestNoSeries; NoSeriesMgt.InitSeries(GetNoSeriesCode,xRec."No. Series","Posting Date","No.","No. Series"); END; InitRecord; InsertMode := TRUE; IF GETFILTER("Sell-to Customer No.") <> '' THEN IF GETRANGEMIN("Sell-to Customer No.") = GETRANGEMAX("Sell-to Customer No.") THEN VALIDATE("Sell-to Customer No.",GETRANGEMIN("Sell-to Customer No.")); IF GETFILTER("Sell-to Contact No.") <> '' THEN IF GETRANGEMIN("Sell-to Contact No.") = GETRANGEMAX("Sell-to Contact No.") THEN VALIDATE("Sell-to Contact No.",GETRANGEMIN("Sell-to Contact No.")); "Doc. No. Occurrence" := ArchiveManagement.GetNextOccurrenceNo(DATABASE::"Sales Header","Document Type","No."); END; OnDelete=VAR Opp@1000 : Record 5092; TempOpportunityEntry@1001 : TEMPORARY Record 5093; DOPaymentTransLogEntry@1002 : Record 829; BEGIN IF DOPaymentTransLogEntry.FINDFIRST THEN DOPaymentTransLogMgt.ValidateCanDeleteDocument("Payment Method Code","Document Type",FORMAT("Document Type"),"No."); IF NOT UserSetupMgt.CheckRespCenter(0,"Responsibility Center") THEN ERROR( Text022, RespCenter.TABLECAPTION,UserSetupMgt.GetSalesFilter); IF ("Opportunity No." <> '') AND ("Document Type" IN ["Document Type"::Quote,"Document Type"::Order]) THEN BEGIN IF Opp.GET("Opportunity No.") THEN BEGIN IF "Document Type" = "Document Type"::Order THEN BEGIN IF NOT CONFIRM(Text040,TRUE) THEN ERROR(Text044); TempOpportunityEntry.INIT; TempOpportunityEntry.VALIDATE("Opportunity No.",Opp."No."); TempOpportunityEntry."Sales Cycle Code" := Opp."Sales Cycle Code"; TempOpportunityEntry."Contact No." := Opp."Contact No."; TempOpportunityEntry."Contact Company No." := Opp."Contact Company No."; TempOpportunityEntry."Salesperson Code" := Opp."Salesperson Code"; TempOpportunityEntry."Campaign No." := Opp."Campaign No."; TempOpportunityEntry."Action Taken" := TempOpportunityEntry."Action Taken"::Lost; TempOpportunityEntry.INSERT; TempOpportunityEntry.SETRANGE("Action Taken",TempOpportunityEntry."Action Taken"::Lost); PAGE.RUNMODAL(PAGE::"Close Opportunity",TempOpportunityEntry); IF Opp.GET("Opportunity No.") THEN IF Opp.Status <> Opp.Status::Lost THEN ERROR(Text043); END; Opp."Sales Document Type" := Opp."Sales Document Type"::" "; Opp."Sales Document No." := ''; Opp.MODIFY; "Opportunity No." := ''; END; END; CASE "Document Type" OF "Document Type"::Quote: BEGIN SalesSetup.GET; CASE SalesSetup."Archiving Sales Quote" OF SalesSetup."Archiving Sales Quote"::Always: ArchiveManagement.ArchSalesDocumentNoConfirm(Rec); SalesSetup."Archiving Sales Quote"::Question: ArchiveManagement.ArchiveSalesDocument(Rec); END; END; "Document Type"::Order,"Document Type"::"Blanket Order","Document Type"::"Return Order": BEGIN SalesSetup.GET; IF SalesSetup."Arch. Orders and Ret. Orders" OR SalesSetup."Archiving Blanket Sales Order" THEN ArchiveManagement.ArchSalesDocumentNoConfirm(Rec); END; END; SalesPost.DeleteHeader( Rec,SalesShptHeader,SalesInvHeader,SalesCrMemoHeader,ReturnRcptHeader,SalesInvHeaderPrepmt,SalesCrMemoHeaderPrepmt); VALIDATE("Applies-to ID",''); ApprovalMgt.DeleteApprovalEntry(DATABASE::"Sales Header","Document Type","No."); SalesLine.RESET; SalesLine.LOCKTABLE; WhseRequest.SETRANGE("Source Type",DATABASE::"Sales Line"); WhseRequest.SETRANGE("Source Subtype","Document Type"); WhseRequest.SETRANGE("Source No.","No."); WhseRequest.DELETEALL(TRUE); SalesLine.SETRANGE("Document Type","Document Type"); SalesLine.SETRANGE("Document No.","No."); SalesLine.SETRANGE(Type,SalesLine.Type::"Charge (Item)"); DeleteSalesLines; SalesLine.SETRANGE(Type); DeleteSalesLines; SalesCommentLine.SETRANGE("Document Type","Document Type"); SalesCommentLine.SETRANGE("No.","No."); SalesCommentLine.DELETEALL; IF (SalesShptHeader."No." <> '') OR (SalesInvHeader."No." <> '') OR (SalesCrMemoHeader."No." <> '') OR (ReturnRcptHeader."No." <> '') OR (SalesInvHeaderPrepmt."No." <> '') OR (SalesCrMemoHeaderPrepmt."No." <> '') THEN BEGIN COMMIT; IF SalesShptHeader."No." <> '' THEN IF CONFIRM( Text000,TRUE, SalesShptHeader."No.") THEN BEGIN SalesShptHeader.SETRECFILTER; SalesShptHeader.PrintRecords(TRUE); END; IF SalesInvHeader."No." <> '' THEN IF CONFIRM( Text001,TRUE, SalesInvHeader."No.") THEN BEGIN SalesInvHeader.SETRECFILTER; SalesInvHeader.PrintRecords(TRUE); END; IF SalesCrMemoHeader."No." <> '' THEN IF CONFIRM( Text002,TRUE, SalesCrMemoHeader."No.") THEN BEGIN SalesCrMemoHeader.SETRECFILTER; SalesCrMemoHeader.PrintRecords(TRUE); END; IF ReturnRcptHeader."No." <> '' THEN IF CONFIRM( Text023,TRUE, ReturnRcptHeader."No.") THEN BEGIN ReturnRcptHeader.SETRECFILTER; ReturnRcptHeader.PrintRecords(TRUE); END; IF SalesInvHeaderPrepmt."No." <> '' THEN IF CONFIRM( Text055,TRUE, SalesInvHeader."No.") THEN BEGIN SalesInvHeaderPrepmt.SETRECFILTER; SalesInvHeaderPrepmt.PrintRecords(TRUE); END; IF SalesCrMemoHeaderPrepmt."No." <> '' THEN IF CONFIRM( Text054,TRUE, SalesCrMemoHeaderPrepmt."No.") THEN BEGIN SalesCrMemoHeaderPrepmt.SETRECFILTER; SalesCrMemoHeaderPrepmt.PrintRecords(TRUE); END; END; END; OnRename=BEGIN ERROR(Text003,TABLECAPTION); END; CaptionML=[DEU=Verkaufskopf; ENU=Sales Header]; LookupPageID=Page45; } FIELDS { { 1 ; ;Document Type ;Option ;CaptionML=[DEU=Belegart; ENU=Document Type]; OptionCaptionML=[DEU=Angebot,Auftrag,Rechnung,Gutschrift,Rahmenauftrag,Reklamation; ENU=Quote,Order,Invoice,Credit Memo,Blanket Order,Return Order]; OptionString=Quote,Order,Invoice,Credit Memo,Blanket Order,Return Order } { 2 ; ;Sell-to Customer No.;Code20 ;TableRelation=Customer; OnValidate=BEGIN TESTFIELD(Status,Status::Open); IF ("Sell-to Customer No." <> xRec."Sell-to Customer No.") AND (xRec."Sell-to Customer No." <> '') THEN BEGIN IF ("Opportunity No." <> '') AND ("Document Type" IN ["Document Type"::Quote,"Document Type"::Order]) THEN ERROR( Text062, FIELDCAPTION("Sell-to Customer No."), FIELDCAPTION("Opportunity No."), "Opportunity No.", "Document Type"); IF HideValidationDialog OR NOT GUIALLOWED THEN Confirmed := TRUE ELSE Confirmed := CONFIRM(Text004,FALSE,FIELDCAPTION("Sell-to Customer No.")); IF Confirmed THEN BEGIN SalesLine.SETRANGE("Document Type","Document Type"); SalesLine.SETRANGE("Document No.","No."); IF "Sell-to Customer No." = '' THEN BEGIN IF SalesLine.FINDFIRST THEN ERROR( Text005, FIELDCAPTION("Sell-to Customer No.")); INIT; SalesSetup.GET; "No. Series" := xRec."No. Series"; InitRecord; IF xRec."Shipping No." <> '' THEN BEGIN "Shipping No. Series" := xRec."Shipping No. Series"; "Shipping No." := xRec."Shipping No."; END; IF xRec."Posting No." <> '' THEN BEGIN "Posting No. Series" := xRec."Posting No. Series"; "Posting No." := xRec."Posting No."; END; IF xRec."Return Receipt No." <> '' THEN BEGIN "Return Receipt No. Series" := xRec."Return Receipt No. Series"; "Return Receipt No." := xRec."Return Receipt No."; END; IF xRec."Prepayment No." <> '' THEN BEGIN "Prepayment No. Series" := xRec."Prepayment No. Series"; "Prepayment No." := xRec."Prepayment No."; END; IF xRec."Prepmt. Cr. Memo No." <> '' THEN BEGIN "Prepmt. Cr. Memo No. Series" := xRec."Prepmt. Cr. Memo No. Series"; "Prepmt. Cr. Memo No." := xRec."Prepmt. Cr. Memo No."; END; EXIT; END; IF "Document Type" = "Document Type"::Order THEN SalesLine.SETFILTER("Quantity Shipped",'<>0') ELSE IF "Document Type" = "Document Type"::Invoice THEN BEGIN SalesLine.SETRANGE("Sell-to Customer No.",xRec."Sell-to Customer No."); SalesLine.SETFILTER("Shipment No.",'<>%1',''); END; IF SalesLine.FINDFIRST THEN IF "Document Type" = "Document Type"::Order THEN SalesLine.TESTFIELD("Quantity Shipped",0) ELSE SalesLine.TESTFIELD("Shipment No.",''); SalesLine.SETRANGE("Shipment No."); SalesLine.SETRANGE("Quantity Shipped"); IF "Document Type" = "Document Type"::Order THEN BEGIN SalesLine.SETFILTER("Prepmt. Amt. Inv.",'<>0'); IF SalesLine.FIND('-') THEN SalesLine.TESTFIELD("Prepmt. Amt. Inv.",0); SalesLine.SETRANGE("Prepmt. Amt. Inv."); END; IF "Document Type" = "Document Type"::"Return Order" THEN SalesLine.SETFILTER("Return Qty. Received",'<>0') ELSE IF "Document Type" = "Document Type"::"Credit Memo" THEN BEGIN SalesLine.SETRANGE("Sell-to Customer No.",xRec."Sell-to Customer No."); SalesLine.SETFILTER("Return Receipt No.",'<>%1',''); END; IF SalesLine.FINDFIRST THEN IF "Document Type" = "Document Type"::"Return Order" THEN SalesLine.TESTFIELD("Return Qty. Received",0) ELSE SalesLine.TESTFIELD("Return Receipt No.",''); SalesLine.RESET END ELSE BEGIN Rec := xRec; EXIT; END; END; IF ("Document Type" = "Document Type"::Order) AND (xRec."Sell-to Customer No." <> "Sell-to Customer No.") THEN BEGIN SalesLine.SETRANGE("Document Type",SalesLine."Document Type"::Order); SalesLine.SETRANGE("Document No.","No."); SalesLine.SETFILTER("Purch. Order Line No.",'<>0'); IF NOT SalesLine.ISEMPTY THEN ERROR( Text006, FIELDCAPTION("Sell-to Customer No.")); SalesLine.RESET; END; GetCust("Sell-to Customer No."); Cust.CheckBlockedCustOnDocs(Cust,"Document Type",FALSE,FALSE); Cust.TESTFIELD("Gen. Bus. Posting Group"); "Sell-to Customer Template Code" := ''; "Sell-to Customer Name" := Cust.Name; "Sell-to Customer Name 2" := Cust."Name 2"; "Sell-to Address" := Cust.Address; "Sell-to Address 2" := Cust."Address 2"; "Sell-to City" := Cust.City; "Sell-to Post Code" := Cust."Post Code"; "Sell-to County" := Cust.County; "Sell-to Country/Region Code" := Cust."Country/Region Code"; IF NOT SkipSellToContact THEN "Sell-to Contact" := Cust.Contact; "Gen. Bus. Posting Group" := Cust."Gen. Bus. Posting Group"; "VAT Bus. Posting Group" := Cust."VAT Bus. Posting Group"; "Tax Area Code" := Cust."Tax Area Code"; "Tax Liable" := Cust."Tax Liable"; "VAT Registration No." := Cust."VAT Registration No."; "VAT Country/Region Code" := Cust."Country/Region Code"; "Shipping Advice" := Cust."Shipping Advice"; "Responsibility Center" := UserSetupMgt.GetRespCenter(0,Cust."Responsibility Center"); VALIDATE("Location Code",UserSetupMgt.GetLocation(0,Cust."Location Code","Responsibility Center")); IF "Sell-to Customer No." = xRec."Sell-to Customer No." THEN BEGIN IF ShippedSalesLinesExist OR ReturnReceiptExist THEN BEGIN TESTFIELD("VAT Bus. Posting Group",xRec."VAT Bus. Posting Group"); TESTFIELD("Gen. Bus. Posting Group",xRec."Gen. Bus. Posting Group"); END; END; "Sell-to IC Partner Code" := Cust."IC Partner Code"; "Send IC Document" := ("Sell-to IC Partner Code" <> '') AND ("IC Direction" = "IC Direction"::Outgoing); IF Cust."Bill-to Customer No." <> '' THEN VALIDATE("Bill-to Customer No.",Cust."Bill-to Customer No.") ELSE BEGIN IF "Bill-to Customer No." = "Sell-to Customer No." THEN SkipBillToContact := TRUE; VALIDATE("Bill-to Customer No.","Sell-to Customer No."); SkipBillToContact := FALSE; END; VALIDATE("Ship-to Code",''); GetShippingTime(FIELDNO("Sell-to Customer No.")); IF (xRec."Sell-to Customer No." <> "Sell-to Customer No.") OR (xRec."Currency Code" <> "Currency Code") OR (xRec."Gen. Bus. Posting Group" <> "Gen. Bus. Posting Group") OR (xRec."VAT Bus. Posting Group" <> "VAT Bus. Posting Group") THEN RecreateSalesLines(FIELDCAPTION("Sell-to Customer No.")); IF NOT SkipSellToContact THEN UpdateSellToCont("Sell-to Customer No."); END; CaptionML=[DEU=Verk. an Deb.-Nr.; ENU=Sell-to Customer No.] } { 3 ; ;No. ;Code20 ;OnValidate=BEGIN IF "No." <> xRec."No." THEN BEGIN SalesSetup.GET; NoSeriesMgt.TestManual(GetNoSeriesCode); "No. Series" := ''; END; END; CaptionML=[DEU=Nr.; ENU=No.] } { 4 ; ;Bill-to Customer No.;Code20 ;TableRelation=Customer; OnValidate=BEGIN TESTFIELD(Status,Status::Open); BilltoCustomerNoChanged := xRec."Bill-to Customer No." <> "Bill-to Customer No."; IF BilltoCustomerNoChanged AND (xRec."Bill-to Customer No." <> '') THEN BEGIN VALIDATE("Credit Card No.",''); IF HideValidationDialog OR NOT GUIALLOWED THEN Confirmed := TRUE ELSE Confirmed := CONFIRM(Text004,FALSE,FIELDCAPTION("Bill-to Customer No.")); IF Confirmed THEN BEGIN SalesLine.SETRANGE("Document Type","Document Type"); SalesLine.SETRANGE("Document No.","No."); IF "Document Type" = "Document Type"::Order THEN SalesLine.SETFILTER("Quantity Shipped",'<>0') ELSE IF "Document Type" = "Document Type"::Invoice THEN SalesLine.SETFILTER("Shipment No.",'<>%1',''); IF SalesLine.FINDFIRST THEN IF "Document Type" = "Document Type"::Order THEN SalesLine.TESTFIELD("Quantity Shipped",0) ELSE SalesLine.TESTFIELD("Shipment No.",''); SalesLine.SETRANGE("Shipment No."); SalesLine.SETRANGE("Quantity Shipped"); IF "Document Type" = "Document Type"::Order THEN BEGIN SalesLine.SETFILTER("Prepmt. Amt. Inv.",'<>0'); IF SalesLine.FIND('-') THEN SalesLine.TESTFIELD("Prepmt. Amt. Inv.",0); SalesLine.SETRANGE("Prepmt. Amt. Inv."); END; IF "Document Type" = "Document Type"::"Return Order" THEN SalesLine.SETFILTER("Return Qty. Received",'<>0') ELSE IF "Document Type" = "Document Type"::"Credit Memo" THEN SalesLine.SETFILTER("Return Receipt No.",'<>%1',''); IF SalesLine.FINDFIRST THEN IF "Document Type" = "Document Type"::"Return Order" THEN SalesLine.TESTFIELD("Return Qty. Received",0) ELSE SalesLine.TESTFIELD("Return Receipt No.",''); SalesLine.RESET END ELSE "Bill-to Customer No." := xRec."Bill-to Customer No."; END; GetCust("Bill-to Customer No."); Cust.CheckBlockedCustOnDocs(Cust,"Document Type",FALSE,FALSE); Cust.TESTFIELD("Customer Posting Group"); CheckCrLimit; "Bill-to Customer Template Code" := ''; "Bill-to Name" := Cust.Name; "Bill-to Name 2" := Cust."Name 2"; "Bill-to Address" := Cust.Address; "Bill-to Address 2" := Cust."Address 2"; "Bill-to City" := Cust.City; "Bill-to Post Code" := Cust."Post Code"; "Bill-to County" := Cust.County; "Bill-to Country/Region Code" := Cust."Country/Region Code"; IF NOT SkipBillToContact THEN "Bill-to Contact" := Cust.Contact; "Payment Terms Code" := Cust."Payment Terms Code"; "Prepmt. Payment Terms Code" := Cust."Payment Terms Code"; IF "Document Type" = "Document Type"::"Credit Memo" THEN BEGIN "Payment Method Code" := ''; IF PaymentTerms.GET("Payment Terms Code") THEN IF PaymentTerms."Calc. Pmt. Disc. on Cr. Memos" THEN "Payment Method Code" := Cust."Payment Method Code" END ELSE "Payment Method Code" := Cust."Payment Method Code"; GLSetup.GET; IF GLSetup."Bill-to/Sell-to VAT Calc." = GLSetup."Bill-to/Sell-to VAT Calc."::"Bill-to/Pay-to No." THEN BEGIN "VAT Bus. Posting Group" := Cust."VAT Bus. Posting Group"; "VAT Country/Region Code" := Cust."Country/Region Code"; "VAT Registration No." := Cust."VAT Registration No."; "Gen. Bus. Posting Group" := Cust."Gen. Bus. Posting Group"; END; "Customer Posting Group" := Cust."Customer Posting Group"; "Currency Code" := Cust."Currency Code"; "Customer Price Group" := Cust."Customer Price Group"; "Prices Including VAT" := Cust."Prices Including VAT"; "Allow Line Disc." := Cust."Allow Line Disc."; "Invoice Disc. Code" := Cust."Invoice Disc. Code"; "Customer Disc. Group" := Cust."Customer Disc. Group"; "Language Code" := Cust."Language Code"; "Salesperson Code" := Cust."Salesperson Code"; "Combine Shipments" := Cust."Combine Shipments"; Reserve := Cust.Reserve; IF "Document Type" = "Document Type"::Order THEN "Prepayment %" := Cust."Prepayment %"; IF NOT BilltoCustomerNoChanged THEN BEGIN IF ShippedSalesLinesExist THEN BEGIN TESTFIELD("Customer Disc. Group",xRec."Customer Disc. Group"); TESTFIELD("Currency Code",xRec."Currency Code"); END; END; InitDefaultDim; VALIDATE("Payment Terms Code"); VALIDATE("Prepmt. Payment Terms Code"); VALIDATE("Payment Method Code"); VALIDATE("Currency Code"); VALIDATE("Prepayment %"); IF (xRec."Sell-to Customer No." = "Sell-to Customer No.") AND BilltoCustomerNoChanged THEN BEGIN RecreateSalesLines(FIELDCAPTION("Bill-to Customer No.")); BilltoCustomerNoChanged := FALSE; END; IF NOT SkipBillToContact THEN UpdateBillToCont("Bill-to Customer No."); "Bill-to IC Partner Code" := Cust."IC Partner Code"; "Send IC Document" := ("Bill-to IC Partner Code" <> '') AND ("IC Direction" = "IC Direction"::Outgoing); END; CaptionML=[DEU=Rech. an Deb.-Nr.; ENU=Bill-to Customer No.]; NotBlank=Yes } { 5 ; ;Bill-to Name ;Text50 ;CaptionML=[DEU=Rech. an Name; ENU=Bill-to Name] } { 6 ; ;Bill-to Name 2 ;Text50 ;CaptionML=[DEU=Rech. an Name 2; ENU=Bill-to Name 2] } { 7 ; ;Bill-to Address ;Text50 ;CaptionML=[DEU=Rech. an Adresse; ENU=Bill-to Address] } { 8 ; ;Bill-to Address 2 ;Text50 ;CaptionML=[DEU=Rech. an Adresse 2; ENU=Bill-to Address 2] } { 9 ; ;Bill-to City ;Text30 ;TableRelation="Post Code".City; OnValidate=BEGIN PostCode.ValidateCity( "Bill-to City","Bill-to Post Code","Bill-to County","Bill-to Country/Region Code",(CurrFieldNo <> 0) AND GUIALLOWED); END; ValidateTableRelation=No; TestTableRelation=No; CaptionML=[DEU=Rech. an Ort; ENU=Bill-to City] } { 10 ; ;Bill-to Contact ;Text50 ;CaptionML=[DEU=Rech. an Kontakt; ENU=Bill-to Contact] } { 11 ; ;Your Reference ;Text35 ;CaptionML=[DEU=Ihre Referenz; ENU=Your Reference] } { 12 ; ;Ship-to Code ;Code10 ;TableRelation="Ship-to Address".Code WHERE (Customer No.=FIELD(Sell-to Customer No.)); OnValidate=BEGIN IF ("Document Type" = "Document Type"::Order) AND (xRec."Ship-to Code" <> "Ship-to Code") THEN BEGIN SalesLine.SETRANGE("Document Type",SalesLine."Document Type"::Order); SalesLine.SETRANGE("Document No.","No."); SalesLine.SETFILTER("Purch. Order Line No.",'<>0'); IF NOT SalesLine.ISEMPTY THEN ERROR( Text006, FIELDCAPTION("Ship-to Code")); SalesLine.RESET; END; IF ("Document Type" <> "Document Type"::"Return Order") AND ("Document Type" <> "Document Type"::"Credit Memo") THEN BEGIN IF "Ship-to Code" <> '' THEN BEGIN IF xRec."Ship-to Code" <> '' THEN BEGIN GetCust("Sell-to Customer No."); IF Cust."Location Code" <> '' THEN VALIDATE("Location Code",Cust."Location Code"); "Tax Area Code" := Cust."Tax Area Code"; END; ShipToAddr.GET("Sell-to Customer No.","Ship-to Code"); "Ship-to Name" := ShipToAddr.Name; "Ship-to Name 2" := ShipToAddr."Name 2"; "Ship-to Address" := ShipToAddr.Address; "Ship-to Address 2" := ShipToAddr."Address 2"; "Ship-to City" := ShipToAddr.City; "Ship-to Post Code" := ShipToAddr."Post Code"; "Ship-to County" := ShipToAddr.County; VALIDATE("Ship-to Country/Region Code",ShipToAddr."Country/Region Code"); "Ship-to Contact" := ShipToAddr.Contact; "Shipment Method Code" := ShipToAddr."Shipment Method Code"; IF ShipToAddr."Location Code" <> '' THEN VALIDATE("Location Code",ShipToAddr."Location Code"); "Shipping Agent Code" := ShipToAddr."Shipping Agent Code"; "Shipping Agent Service Code" := ShipToAddr."Shipping Agent Service Code"; IF ShipToAddr."Tax Area Code" <> '' THEN "Tax Area Code" := ShipToAddr."Tax Area Code"; "Tax Liable" := ShipToAddr."Tax Liable"; END ELSE IF "Sell-to Customer No." <> '' THEN BEGIN GetCust("Sell-to Customer No."); "Ship-to Name" := Cust.Name; "Ship-to Name 2" := Cust."Name 2"; "Ship-to Address" := Cust.Address; "Ship-to Address 2" := Cust."Address 2"; "Ship-to City" := Cust.City; "Ship-to Post Code" := Cust."Post Code"; "Ship-to County" := Cust.County; VALIDATE("Ship-to Country/Region Code",Cust."Country/Region Code"); "Ship-to Contact" := Cust.Contact; "Shipment Method Code" := Cust."Shipment Method Code"; "Tax Area Code" := Cust."Tax Area Code"; "Tax Liable" := Cust."Tax Liable"; IF Cust."Location Code" <> '' THEN VALIDATE("Location Code",Cust."Location Code"); "Shipping Agent Code" := Cust."Shipping Agent Code"; "Shipping Agent Service Code" := Cust."Shipping Agent Service Code"; END; END; GetShippingTime(FIELDNO("Ship-to Code")); IF (xRec."Sell-to Customer No." = "Sell-to Customer No.") AND (xRec."Ship-to Code" <> "Ship-to Code") THEN IF (xRec."VAT Country/Region Code" <> "VAT Country/Region Code") OR (xRec."Tax Area Code" <> "Tax Area Code") THEN RecreateSalesLines(FIELDCAPTION("Ship-to Code")) ELSE BEGIN IF xRec."Shipping Agent Code" <> "Shipping Agent Code" THEN MessageIfSalesLinesExist(FIELDCAPTION("Shipping Agent Code")); IF xRec."Shipping Agent Service Code" <> "Shipping Agent Service Code" THEN MessageIfSalesLinesExist(FIELDCAPTION("Shipping Agent Service Code")); IF xRec."Tax Liable" <> "Tax Liable" THEN VALIDATE("Tax Liable"); END; END; CaptionML=[DEU=Lief. an Code; ENU=Ship-to Code] } { 13 ; ;Ship-to Name ;Text50 ;CaptionML=[DEU=Lief. an Name; ENU=Ship-to Name] } { 14 ; ;Ship-to Name 2 ;Text50 ;CaptionML=[DEU=Lief. an Name 2; ENU=Ship-to Name 2] } { 15 ; ;Ship-to Address ;Text50 ;CaptionML=[DEU=Lief. an Adresse; ENU=Ship-to Address] } { 16 ; ;Ship-to Address 2 ;Text50 ;CaptionML=[DEU=Lief. an Adresse 2; ENU=Ship-to Address 2] } { 17 ; ;Ship-to City ;Text30 ;TableRelation="Post Code".City; OnValidate=BEGIN PostCode.ValidateCity( "Ship-to City","Ship-to Post Code","Ship-to County","Ship-to Country/Region Code",(CurrFieldNo <> 0) AND GUIALLOWED); END; ValidateTableRelation=No; TestTableRelation=No; CaptionML=[DEU=Lief. an Ort; ENU=Ship-to City] } { 18 ; ;Ship-to Contact ;Text50 ;CaptionML=[DEU=Lief. an Kontakt; ENU=Ship-to Contact] } { 19 ; ;Order Date ;Date ;OnValidate=BEGIN IF ("Document Type" IN ["Document Type"::Quote,"Document Type"::Order]) AND NOT ("Order Date" = xRec."Order Date") THEN PriceMessageIfSalesLinesExist(FIELDCAPTION("Order Date")); END; CaptionML=[DEU=Auftragsdatum; ENU=Order Date] } { 20 ; ;Posting Date ;Date ;OnValidate=BEGIN TestNoSeriesDate( "Posting No.","Posting No. Series", FIELDCAPTION("Posting No."),FIELDCAPTION("Posting No. Series")); TestNoSeriesDate( "Prepayment No.","Prepayment No. Series", FIELDCAPTION("Prepayment No."),FIELDCAPTION("Prepayment No. Series")); TestNoSeriesDate( "Prepmt. Cr. Memo No.","Prepmt. Cr. Memo No. Series", FIELDCAPTION("Prepmt. Cr. Memo No."),FIELDCAPTION("Prepmt. Cr. Memo No. Series")); VALIDATE("Document Date","Posting Date"); IF ("Document Type" IN ["Document Type"::Invoice,"Document Type"::"Credit Memo"]) AND NOT ("Posting Date" = xRec."Posting Date") THEN PriceMessageIfSalesLinesExist(FIELDCAPTION("Posting Date")); IF "Currency Code" <> '' THEN BEGIN UpdateCurrencyFactor; IF "Currency Factor" <> xRec."Currency Factor" THEN ConfirmUpdateCurrencyFactor; END; SynchronizeAsmHeader; END; CaptionML=[DEU=Buchungsdatum; ENU=Posting Date] } { 21 ; ;Shipment Date ;Date ;OnValidate=BEGIN UpdateSalesLines(FIELDCAPTION("Shipment Date"),CurrFieldNo <> 0); END; CaptionML=[DEU=Warenausg.-Datum; ENU=Shipment Date] } { 22 ; ;Posting Description ;Text50 ;CaptionML=[DEU=Buchungsbeschreibung; ENU=Posting Description] } { 23 ; ;Payment Terms Code ;Code10 ;TableRelation="Payment Terms"; OnValidate=BEGIN IF ("Payment Terms Code" <> '') AND ("Document Date" <> 0D) THEN BEGIN PaymentTerms.GET("Payment Terms Code"); IF (("Document Type" IN ["Document Type"::"Return Order","Document Type"::"Credit Memo"]) AND NOT PaymentTerms."Calc. Pmt. Disc. on Cr. Memos") THEN BEGIN VALIDATE("Due Date","Document Date"); VALIDATE("Pmt. Discount Date",0D); VALIDATE("Payment Discount %",0); END ELSE BEGIN "Due Date" := CALCDATE(PaymentTerms."Due Date Calculation","Document Date"); "Pmt. Discount Date" := CALCDATE(PaymentTerms."Discount Date Calculation","Document Date"); IF NOT UpdateDocumentDate THEN VALIDATE("Payment Discount %",PaymentTerms."Discount %") END; END ELSE BEGIN VALIDATE("Due Date","Document Date"); IF NOT UpdateDocumentDate THEN BEGIN VALIDATE("Pmt. Discount Date",0D); VALIDATE("Payment Discount %",0); END; END; IF xRec."Payment Terms Code" = "Prepmt. Payment Terms Code" THEN BEGIN IF xRec."Prepayment Due Date" = 0D THEN "Prepayment Due Date" := CALCDATE(PaymentTerms."Due Date Calculation","Document Date"); VALIDATE("Prepmt. Payment Terms Code","Payment Terms Code"); END; UpdatePmtDiscDate; END; CaptionML=[DEU=Zlg.-Bedingungscode; ENU=Payment Terms Code] } { 24 ; ;Due Date ;Date ;CaptionML=[DEU=F„lligkeitsdatum; ENU=Due Date] } { 25 ; ;Payment Discount % ;Decimal ;OnValidate=BEGIN IF NOT (CurrFieldNo IN [0,FIELDNO("Posting Date"),FIELDNO("Document Date")]) THEN TESTFIELD(Status,Status::Open); GLSetup.GET; IF "Payment Discount %" < GLSetup."VAT Tolerance %" THEN "VAT Base Discount %" := "Payment Discount %" ELSE "VAT Base Discount %" := GLSetup."VAT Tolerance %"; VALIDATE("VAT Base Discount %"); UpdatePmtDiscDate; END; CaptionML=[DEU=Skonto %; ENU=Payment Discount %]; DecimalPlaces=0:5; MinValue=0; MaxValue=100 } { 26 ; ;Pmt. Discount Date ;Date ;OnValidate=BEGIN UpdatePmtDiscDate; END; CaptionML=[DEU=Skontodatum; ENU=Pmt. Discount Date] } { 27 ; ;Shipment Method Code;Code10 ;TableRelation="Shipment Method"; OnValidate=BEGIN TESTFIELD(Status,Status::Open); END; CaptionML=[DEU=Lieferbedingungscode; ENU=Shipment Method Code] } { 28 ; ;Location Code ;Code10 ;TableRelation=Location WHERE (Use As In-Transit=CONST(No)); OnValidate=BEGIN TESTFIELD(Status,Status::Open); IF ("Location Code" <> xRec."Location Code") AND (xRec."Sell-to Customer No." = "Sell-to Customer No.") THEN MessageIfSalesLinesExist(FIELDCAPTION("Location Code")); UpdateShipToAddress; IF "Location Code" <> '' THEN BEGIN IF Location.GET("Location Code") THEN "Outbound Whse. Handling Time" := Location."Outbound Whse. Handling Time"; END ELSE BEGIN IF InvtSetup.GET THEN "Outbound Whse. Handling Time" := InvtSetup."Outbound Whse. Handling Time"; END; END; CaptionML=[DEU=Lagerortcode; ENU=Location Code] } { 29 ; ;Shortcut Dimension 1 Code;Code20 ;TableRelation="Dimension Value".Code WHERE (Global Dimension No.=CONST(1)); OnValidate=BEGIN ValidateShortcutDimCode(1,"Shortcut Dimension 1 Code"); END; CaptionML=[DEU=Shortcutdimensionscode 1; ENU=Shortcut Dimension 1 Code]; CaptionClass='1,2,1' } { 30 ; ;Shortcut Dimension 2 Code;Code20 ;TableRelation="Dimension Value".Code WHERE (Global Dimension No.=CONST(2)); OnValidate=BEGIN ValidateShortcutDimCode(2,"Shortcut Dimension 2 Code"); END; CaptionML=[DEU=Shortcutdimensionscode 2; ENU=Shortcut Dimension 2 Code]; CaptionClass='1,2,2' } { 31 ; ;Customer Posting Group;Code10 ;TableRelation="Customer Posting Group"; CaptionML=[DEU=Debitorenbuchungsgruppe; ENU=Customer Posting Group]; Editable=No } { 32 ; ;Currency Code ;Code10 ;TableRelation=Currency; OnValidate=VAR DOPaymentTransLogEntry@1001 : Record 829; BEGIN IF NOT (CurrFieldNo IN [0,FIELDNO("Posting Date")]) OR ("Currency Code" <> xRec."Currency Code") THEN TESTFIELD(Status,Status::Open); IF DOPaymentTransLogEntry.FINDFIRST THEN DOPaymentTransLogMgt.ValidateHasNoValidTransactions("Document Type",FORMAT("Document Type"),"No."); IF (CurrFieldNo <> FIELDNO("Currency Code")) AND ("Currency Code" = xRec."Currency Code") THEN UpdateCurrencyFactor ELSE BEGIN IF "Currency Code" <> xRec."Currency Code" THEN BEGIN UpdateCurrencyFactor; RecreateSalesLines(FIELDCAPTION("Currency Code")); END ELSE IF "Currency Code" <> '' THEN BEGIN UpdateCurrencyFactor; IF "Currency Factor" <> xRec."Currency Factor" THEN ConfirmUpdateCurrencyFactor; END; END; END; CaptionML=[DEU=W„hrungscode; ENU=Currency Code] } { 33 ; ;Currency Factor ;Decimal ;OnValidate=BEGIN IF "Currency Factor" <> xRec."Currency Factor" THEN UpdateSalesLines(FIELDCAPTION("Currency Factor"),FALSE); END; CaptionML=[DEU=W„hrungsfaktor; ENU=Currency Factor]; DecimalPlaces=0:15; MinValue=0; Editable=No } { 34 ; ;Customer Price Group;Code10 ;TableRelation="Customer Price Group"; OnValidate=BEGIN MessageIfSalesLinesExist(FIELDCAPTION("Customer Price Group")); END; CaptionML=[DEU=Debitorenpreisgruppe; ENU=Customer Price Group] } { 35 ; ;Prices Including VAT;Boolean ;OnValidate=VAR SalesLine@1000 : Record 37; Currency@1001 : Record 4; RecalculatePrice@1002 : Boolean; BEGIN TESTFIELD(Status,Status::Open); IF "Prices Including VAT" <> xRec."Prices Including VAT" THEN BEGIN SalesLine.SETRANGE("Document Type","Document Type"); SalesLine.SETRANGE("Document No.","No."); SalesLine.SETFILTER("Job Contract Entry No.",'<>%1',0); IF SalesLine.FIND('-') THEN BEGIN SalesLine.TESTFIELD("Job No.",''); SalesLine.TESTFIELD("Job Contract Entry No.",0); END; SalesLine.RESET; SalesLine.SETRANGE("Document Type","Document Type"); SalesLine.SETRANGE("Document No.","No."); SalesLine.SETFILTER("Unit Price",'<>%1',0); SalesLine.SETFILTER("VAT %",'<>%1',0); IF SalesLine.FINDFIRST THEN BEGIN RecalculatePrice := CONFIRM( STRSUBSTNO( Text024, FIELDCAPTION("Prices Including VAT"),SalesLine.FIELDCAPTION("Unit Price")), TRUE); SalesLine.SetSalesHeader(Rec); IF "Currency Code" = '' THEN Currency.InitRoundingPrecision ELSE Currency.GET("Currency Code"); SalesLine.LOCKTABLE; LOCKTABLE; SalesLine.FINDSET; REPEAT SalesLine.TESTFIELD("Quantity Invoiced",0); SalesLine.TESTFIELD("Prepmt. Amt. Inv.",0); IF NOT RecalculatePrice THEN BEGIN SalesLine."VAT Difference" := 0; SalesLine.InitOutstandingAmount; END ELSE IF "Prices Including VAT" THEN BEGIN SalesLine."Unit Price" := ROUND( SalesLine."Unit Price" * (1 + (SalesLine."VAT %" / 100)), Currency."Unit-Amount Rounding Precision"); IF SalesLine.Quantity <> 0 THEN BEGIN SalesLine."Line Discount Amount" := ROUND( SalesLine.Quantity * SalesLine."Unit Price" * SalesLine."Line Discount %" / 100, Currency."Amount Rounding Precision"); SalesLine.VALIDATE("Inv. Discount Amount", ROUND( SalesLine."Inv. Discount Amount" * (1 + (SalesLine."VAT %" / 100)), Currency."Amount Rounding Precision")); END; END ELSE BEGIN SalesLine."Unit Price" := ROUND( SalesLine."Unit Price" / (1 + (SalesLine."VAT %" / 100)), Currency."Unit-Amount Rounding Precision"); IF SalesLine.Quantity <> 0 THEN BEGIN SalesLine."Line Discount Amount" := ROUND( SalesLine.Quantity * SalesLine."Unit Price" * SalesLine."Line Discount %" / 100, Currency."Amount Rounding Precision"); SalesLine.VALIDATE("Inv. Discount Amount", ROUND( SalesLine."Inv. Discount Amount" / (1 + (SalesLine."VAT %" / 100)), Currency."Amount Rounding Precision")); END; END; SalesLine.MODIFY; UNTIL SalesLine.NEXT = 0; END; END; END; CaptionML=[DEU=Preise inkl. MwSt.; ENU=Prices Including VAT] } { 37 ; ;Invoice Disc. Code ;Code20 ;OnValidate=BEGIN TESTFIELD(Status,Status::Open); MessageIfSalesLinesExist(FIELDCAPTION("Invoice Disc. Code")); END; CaptionML=[DEU=Rechnungsrabattcode; ENU=Invoice Disc. Code] } { 40 ; ;Customer Disc. Group;Code20 ;TableRelation="Customer Discount Group"; OnValidate=BEGIN TESTFIELD(Status,Status::Open); MessageIfSalesLinesExist(FIELDCAPTION("Customer Disc. Group")); END; CaptionML=[DEU=Debitorenrabattgruppe; ENU=Customer Disc. Group] } { 41 ; ;Language Code ;Code10 ;TableRelation=Language; OnValidate=BEGIN MessageIfSalesLinesExist(FIELDCAPTION("Language Code")); END; CaptionML=[DEU=Sprachcode; ENU=Language Code] } { 43 ; ;Salesperson Code ;Code10 ;TableRelation=Salesperson/Purchaser; OnValidate=VAR ApprovalEntry@1001 : Record 454; BEGIN ApprovalEntry.SETRANGE("Table ID",DATABASE::"Sales Header"); ApprovalEntry.SETRANGE("Document Type","Document Type"); ApprovalEntry.SETRANGE("Document No.","No."); ApprovalEntry.SETFILTER(Status,'<>%1&<>%2',ApprovalEntry.Status::Canceled,ApprovalEntry.Status::Rejected); IF NOT ApprovalEntry.ISEMPTY THEN ERROR(Text053,FIELDCAPTION("Salesperson Code")); InitDefaultDim; END; CaptionML=[DEU=Verk„ufercode; ENU=Salesperson Code] } { 45 ; ;Order Class ;Code10 ;CaptionML=[DEU=Auftragsgruppe; ENU=Order Class] } { 46 ; ;Comment ;Boolean ;FieldClass=FlowField; CalcFormula=Exist("Sales Comment Line" WHERE (Document Type=FIELD(Document Type), No.=FIELD(No.), Document Line No.=CONST(0))); CaptionML=[DEU=Bemerkung; ENU=Comment]; Editable=No } { 47 ; ;No. Printed ;Integer ;CaptionML=[DEU=Anzahl gedruckt; ENU=No. Printed]; Editable=No } { 51 ; ;On Hold ;Code3 ;CaptionML=[DEU=Abwarten; ENU=On Hold] } { 52 ; ;Applies-to Doc. Type;Option ;CaptionML=[DEU=Ausgleich mit Belegart; ENU=Applies-to Doc. Type]; OptionCaptionML=[DEU=" ,Zahlung,Rechnung,Gutschrift,Zinsrechnung,Mahnung,Erstattung"; ENU=" ,Payment,Invoice,Credit Memo,Finance Charge Memo,Reminder,Refund"]; OptionString=[ ,Payment,Invoice,Credit Memo,Finance Charge Memo,Reminder,Refund] } { 53 ; ;Applies-to Doc. No. ;Code20 ;OnValidate=BEGIN IF "Applies-to Doc. No." <> '' THEN TESTFIELD("Bal. Account No.",''); IF ("Applies-to Doc. No." <> xRec."Applies-to Doc. No.") AND (xRec."Applies-to Doc. No." <> '') AND ("Applies-to Doc. No." <> '') THEN BEGIN SetAmountToApply("Applies-to Doc. No.","Bill-to Customer No."); SetAmountToApply(xRec."Applies-to Doc. No.","Bill-to Customer No."); END ELSE IF ("Applies-to Doc. No." <> xRec."Applies-to Doc. No.") AND (xRec."Applies-to Doc. No." = '') THEN SetAmountToApply("Applies-to Doc. No.","Bill-to Customer No.") ELSE IF ("Applies-to Doc. No." <> xRec."Applies-to Doc. No.") AND ("Applies-to Doc. No." = '') THEN SetAmountToApply(xRec."Applies-to Doc. No.","Bill-to Customer No."); END; OnLookup=BEGIN TESTFIELD("Bal. Account No.",''); CustLedgEntry.SETCURRENTKEY("Customer No.",Open,Positive,"Due Date"); CustLedgEntry.SETRANGE("Customer No.","Bill-to Customer No."); CustLedgEntry.SETRANGE(Open,TRUE); IF "Applies-to Doc. No." <> '' THEN BEGIN CustLedgEntry.SETRANGE("Document Type","Applies-to Doc. Type"); CustLedgEntry.SETRANGE("Document No.","Applies-to Doc. No."); IF CustLedgEntry.FINDFIRST THEN; CustLedgEntry.SETRANGE("Document Type"); CustLedgEntry.SETRANGE("Document No."); END ELSE IF "Applies-to Doc. Type" <> 0 THEN BEGIN CustLedgEntry.SETRANGE("Document Type","Applies-to Doc. Type"); IF CustLedgEntry.FINDFIRST THEN; CustLedgEntry.SETRANGE("Document Type"); END ELSE IF Amount <> 0 THEN BEGIN CustLedgEntry.SETRANGE(Positive,Amount < 0); IF CustLedgEntry.FINDFIRST THEN; CustLedgEntry.SETRANGE(Positive); END; ApplyCustEntries.SetSales(Rec,CustLedgEntry,SalesHeader.FIELDNO("Applies-to Doc. No.")); ApplyCustEntries.SETTABLEVIEW(CustLedgEntry); ApplyCustEntries.SETRECORD(CustLedgEntry); ApplyCustEntries.LOOKUPMODE(TRUE); IF ApplyCustEntries.RUNMODAL = ACTION::LookupOK THEN BEGIN ApplyCustEntries.GetCustLedgEntry(CustLedgEntry); GenJnlApply.CheckAgainstApplnCurrency( "Currency Code",CustLedgEntry."Currency Code",GenJnILine."Account Type"::Customer,TRUE); "Applies-to Doc. Type" := CustLedgEntry."Document Type"; "Applies-to Doc. No." := CustLedgEntry."Document No."; END; CLEAR(ApplyCustEntries); END; CaptionML=[DEU=Ausgleich mit Belegnr.; ENU=Applies-to Doc. No.] } { 55 ; ;Bal. Account No. ;Code20 ;TableRelation=IF (Bal. Account Type=CONST(G/L Account)) "G/L Account" ELSE IF (Bal. Account Type=CONST(Bank Account)) "Bank Account"; OnValidate=BEGIN IF "Bal. Account No." <> '' THEN CASE "Bal. Account Type" OF "Bal. Account Type"::"G/L Account": BEGIN GLAcc.GET("Bal. Account No."); GLAcc.CheckGLAcc; GLAcc.TESTFIELD("Direct Posting",TRUE); END; "Bal. Account Type"::"Bank Account": BEGIN BankAcc.GET("Bal. Account No."); BankAcc.TESTFIELD(Blocked,FALSE); BankAcc.TESTFIELD("Currency Code","Currency Code"); END; END; END; CaptionML=[DEU=Gegenkontonr.; ENU=Bal. Account No.] } { 57 ; ;Ship ;Boolean ;CaptionML=[DEU=Warenausgang; ENU=Ship]; Editable=No } { 58 ; ;Invoice ;Boolean ;CaptionML=[DEU=Rechnung; ENU=Invoice] } { 59 ; ;Print Posted Documents;Boolean ;CaptionML=[DEU=Gebuchte Belege drucken; ENU=Print Posted Documents] } { 60 ; ;Amount ;Decimal ;FieldClass=FlowField; CalcFormula=Sum("Sales Line".Amount WHERE (Document Type=FIELD(Document Type), Document No.=FIELD(No.))); CaptionML=[DEU=Betrag; ENU=Amount]; Editable=No; AutoFormatType=1; AutoFormatExpr="Currency Code" } { 61 ; ;Amount Including VAT;Decimal ;FieldClass=FlowField; CalcFormula=Sum("Sales Line"."Amount Including VAT" WHERE (Document Type=FIELD(Document Type), Document No.=FIELD(No.))); CaptionML=[DEU=Betrag inkl. MwSt.; ENU=Amount Including VAT]; Editable=No; AutoFormatType=1; AutoFormatExpr="Currency Code" } { 62 ; ;Shipping No. ;Code20 ;CaptionML=[DEU=Lieferungsnr.; ENU=Shipping No.] } { 63 ; ;Posting No. ;Code20 ;CaptionML=[DEU=Buchungsnr.; ENU=Posting No.] } { 64 ; ;Last Shipping No. ;Code20 ;TableRelation="Sales Shipment Header"; CaptionML=[DEU=Letzte Lieferscheinnr.; ENU=Last Shipping No.]; Editable=No } { 65 ; ;Last Posting No. ;Code20 ;TableRelation="Sales Invoice Header"; CaptionML=[DEU=Letzte Buchungsnr.; ENU=Last Posting No.]; Editable=No } { 66 ; ;Prepayment No. ;Code20 ;CaptionML=[DEU=Vorauszahlungsnr.; ENU=Prepayment No.] } { 67 ; ;Last Prepayment No. ;Code20 ;TableRelation="Sales Invoice Header"; CaptionML=[DEU=Letzte Vorauszahlungsnr.; ENU=Last Prepayment No.] } { 68 ; ;Prepmt. Cr. Memo No.;Code20 ;CaptionML=[DEU=Vorauszahlungs-Gutschriftnr.; ENU=Prepmt. Cr. Memo No.] } { 69 ; ;Last Prepmt. Cr. Memo No.;Code20 ;TableRelation="Sales Cr.Memo Header"; CaptionML=[DEU=Letzte Vorauszahlungs-Gutschriftnr.; ENU=Last Prepmt. Cr. Memo No.] } { 70 ; ;VAT Registration No.;Text20 ;CaptionML=[DEU=USt-IdNr.; ENU=VAT Registration No.] } { 71 ; ;Combine Shipments ;Boolean ;CaptionML=[DEU=Sammelrechnung; ENU=Combine Shipments] } { 73 ; ;Reason Code ;Code10 ;TableRelation="Reason Code"; CaptionML=[DEU=Ursachencode; ENU=Reason Code] } { 74 ; ;Gen. Bus. Posting Group;Code10 ;TableRelation="Gen. Business Posting Group"; OnValidate=BEGIN TESTFIELD(Status,Status::Open); IF xRec."Gen. Bus. Posting Group" <> "Gen. Bus. Posting Group" THEN IF GenBusPostingGrp.ValidateVatBusPostingGroup(GenBusPostingGrp,"Gen. Bus. Posting Group") THEN BEGIN "VAT Bus. Posting Group" := GenBusPostingGrp."Def. VAT Bus. Posting Group"; RecreateSalesLines(FIELDCAPTION("Gen. Bus. Posting Group")); END; END; CaptionML=[DEU=Gesch„ftsbuchungsgruppe; ENU=Gen. Bus. Posting Group] } { 75 ; ;EU 3-Party Trade ;Boolean ;CaptionML=[DEU=EU-Dreiecksgesch„ft; ENU=EU 3-Party Trade] } { 76 ; ;Transaction Type ;Code10 ;TableRelation="Transaction Type"; OnValidate=BEGIN UpdateSalesLines(FIELDCAPTION("Transaction Type"),FALSE); END; CaptionML=[DEU=Art des Gesch„ftes; ENU=Transaction Type] } { 77 ; ;Transport Method ;Code10 ;TableRelation="Transport Method"; OnValidate=BEGIN UpdateSalesLines(FIELDCAPTION("Transport Method"),FALSE); END; CaptionML=[DEU=Verkehrszweig; ENU=Transport Method] } { 78 ; ;VAT Country/Region Code;Code10 ;TableRelation=Country/Region; CaptionML=[DEU=MwSt.-L„nder-/Regionscode; ENU=VAT Country/Region Code] } { 79 ; ;Sell-to Customer Name;Text50 ;CaptionML=[DEU=Verk. an Name; ENU=Sell-to Customer Name] } { 80 ; ;Sell-to Customer Name 2;Text50 ;CaptionML=[DEU=Verk. an Name 2; ENU=Sell-to Customer Name 2] } { 81 ; ;Sell-to Address ;Text50 ;CaptionML=[DEU=Verk. an Adresse; ENU=Sell-to Address] } { 82 ; ;Sell-to Address 2 ;Text50 ;CaptionML=[DEU=Verk. an Adresse 2; ENU=Sell-to Address 2] } { 83 ; ;Sell-to City ;Text30 ;TableRelation="Post Code".City; OnValidate=BEGIN PostCode.ValidateCity( "Sell-to City","Sell-to Post Code","Sell-to County","Sell-to Country/Region Code",(CurrFieldNo <> 0) AND GUIALLOWED); END; ValidateTableRelation=No; TestTableRelation=No; CaptionML=[DEU=Verk. an Ort; ENU=Sell-to City] } { 84 ; ;Sell-to Contact ;Text50 ;CaptionML=[DEU=Verk. an Kontakt; ENU=Sell-to Contact] } { 85 ; ;Bill-to Post Code ;Code20 ;TableRelation="Post Code"; OnValidate=BEGIN PostCode.ValidatePostCode( "Bill-to City","Bill-to Post Code","Bill-to County","Bill-to Country/Region Code",(CurrFieldNo <> 0) AND GUIALLOWED); END; ValidateTableRelation=No; TestTableRelation=No; CaptionML=[DEU=Rech. an PLZ-Code; ENU=Bill-to Post Code] } { 86 ; ;Bill-to County ;Text30 ;CaptionML=[DEU=Rech. an Bundesregion; ENU=Bill-to County] } { 87 ; ;Bill-to Country/Region Code;Code10 ;TableRelation=Country/Region; CaptionML=[DEU=Rech. an L„nder-/Regionscode; ENU=Bill-to Country/Region Code] } { 88 ; ;Sell-to Post Code ;Code20 ;TableRelation="Post Code"; OnValidate=BEGIN PostCode.ValidatePostCode( "Sell-to City","Sell-to Post Code","Sell-to County","Sell-to Country/Region Code",(CurrFieldNo <> 0) AND GUIALLOWED); END; ValidateTableRelation=No; TestTableRelation=No; CaptionML=[DEU=Verk. an PLZ-Code; ENU=Sell-to Post Code] } { 89 ; ;Sell-to County ;Text30 ;CaptionML=[DEU=Verk. an Bundesregion; ENU=Sell-to County] } { 90 ; ;Sell-to Country/Region Code;Code10 ;TableRelation=Country/Region; OnValidate=BEGIN VALIDATE("Ship-to Country/Region Code"); END; CaptionML=[DEU=Verk. an L„nder-/Regionscode; ENU=Sell-to Country/Region Code] } { 91 ; ;Ship-to Post Code ;Code20 ;TableRelation="Post Code"; OnValidate=BEGIN PostCode.ValidatePostCode( "Ship-to City","Ship-to Post Code","Ship-to County","Ship-to Country/Region Code",(CurrFieldNo <> 0) AND GUIALLOWED); END; ValidateTableRelation=No; TestTableRelation=No; CaptionML=[DEU=Lief. an PLZ-Code; ENU=Ship-to Post Code] } { 92 ; ;Ship-to County ;Text30 ;CaptionML=[DEU=Lief. an Bundesregion; ENU=Ship-to County] } { 93 ; ;Ship-to Country/Region Code;Code10 ;TableRelation=Country/Region; CaptionML=[DEU=Lief. an L„nder-/Regionscode; ENU=Ship-to Country/Region Code] } { 94 ; ;Bal. Account Type ;Option ;CaptionML=[DEU=Gegenkontoart; ENU=Bal. Account Type]; OptionCaptionML=[DEU=Sachkonto,Bankkonto; ENU=G/L Account,Bank Account]; OptionString=G/L Account,Bank Account } { 97 ; ;Exit Point ;Code10 ;TableRelation="Entry/Exit Point"; OnValidate=BEGIN UpdateSalesLines(FIELDCAPTION("Exit Point"),FALSE); END; CaptionML=[DEU=Einladehafen; ENU=Exit Point] } { 98 ; ;Correction ;Boolean ;CaptionML=[DEU=Storno; ENU=Correction] } { 99 ; ;Document Date ;Date ;OnValidate=BEGIN IF xRec."Document Date" <> "Document Date" THEN UpdateDocumentDate := TRUE; VALIDATE("Payment Terms Code"); VALIDATE("Prepmt. Payment Terms Code"); END; CaptionML=[DEU=Belegdatum; ENU=Document Date] } { 100 ; ;External Document No.;Code35 ;CaptionML=[DEU=Externe Belegnummer; ENU=External Document No.] } { 101 ; ;Area ;Code10 ;TableRelation=Area; OnValidate=BEGIN UpdateSalesLines(FIELDCAPTION(Area),FALSE); END; CaptionML=[DEU=Ursprungsregion; ENU=Area] } { 102 ; ;Transaction Specification;Code10 ;TableRelation="Transaction Specification"; OnValidate=BEGIN UpdateSalesLines(FIELDCAPTION("Transaction Specification"),FALSE); END; CaptionML=[DEU=Verfahren; ENU=Transaction Specification] } { 104 ; ;Payment Method Code ;Code10 ;TableRelation="Payment Method"; OnValidate=VAR SEPADirectDebitMandate@1000 : Record 1230; DOPaymentTransLogEntry@1001 : Record 829; BEGIN IF DOPaymentTransLogEntry.FINDFIRST THEN DOPaymentTransLogMgt.ValidateHasNoValidTransactions("Document Type",FORMAT("Document Type"),"No."); IF DOPaymentMgt.IsValidPaymentMethod(xRec."Payment Method Code") AND NOT DOPaymentMgt.IsValidPaymentMethod("Payment Method Code") THEN TESTFIELD("Credit Card No.",''); PaymentMethod.INIT; IF "Payment Method Code" <> '' THEN PaymentMethod.GET("Payment Method Code"); IF PaymentMethod."Direct Debit" THEN BEGIN IF "Direct Debit Mandate ID" = '' THEN "Direct Debit Mandate ID" := SEPADirectDebitMandate.GetDefaultMandate("Bill-to Customer No.","Due Date"); IF "Payment Terms Code" = '' THEN "Payment Terms Code" := PaymentMethod."Direct Debit Pmt. Terms Code"; END; "Bal. Account Type" := PaymentMethod."Bal. Account Type"; "Bal. Account No." := PaymentMethod."Bal. Account No."; IF "Bal. Account No." <> '' THEN BEGIN TESTFIELD("Applies-to Doc. No.",''); TESTFIELD("Applies-to ID",''); END; END; CaptionML=[DEU=Zahlungsformcode; ENU=Payment Method Code] } { 105 ; ;Shipping Agent Code ;Code10 ;TableRelation="Shipping Agent"; OnValidate=BEGIN TESTFIELD(Status,Status::Open); IF xRec."Shipping Agent Code" = "Shipping Agent Code" THEN EXIT; "Shipping Agent Service Code" := ''; GetShippingTime(FIELDNO("Shipping Agent Code")); UpdateSalesLines(FIELDCAPTION("Shipping Agent Code"),CurrFieldNo <> 0); END; CaptionML=[DEU=Zustellercode; ENU=Shipping Agent Code] } { 106 ; ;Package Tracking No.;Text30 ;CaptionML=[DEU=Paketverfolgungsnr.; ENU=Package Tracking No.] } { 107 ; ;No. Series ;Code10 ;TableRelation="No. Series"; CaptionML=[DEU=Nummernserie; ENU=No. Series]; Editable=No } { 108 ; ;Posting No. Series ;Code10 ;TableRelation="No. Series"; OnValidate=BEGIN IF "Posting No. Series" <> '' THEN BEGIN SalesSetup.GET; TestNoSeries; NoSeriesMgt.TestSeries(GetPostingNoSeriesCode,"Posting No. Series"); END; TESTFIELD("Posting No.",''); END; OnLookup=BEGIN WITH SalesHeader DO BEGIN SalesHeader := Rec; SalesSetup.GET; TestNoSeries; IF NoSeriesMgt.LookupSeries(GetPostingNoSeriesCode,"Posting No. Series") THEN VALIDATE("Posting No. Series"); Rec := SalesHeader; END; END; CaptionML=[DEU=Buchungsnr.-Serie; ENU=Posting No. Series] } { 109 ; ;Shipping No. Series ;Code10 ;TableRelation="No. Series"; OnValidate=BEGIN IF "Shipping No. Series" <> '' THEN BEGIN SalesSetup.GET; SalesSetup.TESTFIELD("Posted Shipment Nos."); NoSeriesMgt.TestSeries(SalesSetup."Posted Shipment Nos.","Shipping No. Series"); END; TESTFIELD("Shipping No.",''); END; OnLookup=BEGIN WITH SalesHeader DO BEGIN SalesHeader := Rec; SalesSetup.GET; SalesSetup.TESTFIELD("Posted Shipment Nos."); IF NoSeriesMgt.LookupSeries(SalesSetup."Posted Shipment Nos.","Shipping No. Series") THEN VALIDATE("Shipping No. Series"); Rec := SalesHeader; END; END; CaptionML=[DEU=Lieferungsnr.-Serie; ENU=Shipping No. Series] } { 114 ; ;Tax Area Code ;Code20 ;TableRelation="Tax Area"; OnValidate=BEGIN TESTFIELD(Status,Status::Open); MessageIfSalesLinesExist(FIELDCAPTION("Tax Area Code")); END; CaptionML=[DEU=Steuergebietscode; ENU=Tax Area Code] } { 115 ; ;Tax Liable ;Boolean ;OnValidate=BEGIN TESTFIELD(Status,Status::Open); MessageIfSalesLinesExist(FIELDCAPTION("Tax Liable")); END; CaptionML=[DEU=Steuerpflichtig; ENU=Tax Liable] } { 116 ; ;VAT Bus. Posting Group;Code10 ;TableRelation="VAT Business Posting Group"; OnValidate=BEGIN TESTFIELD(Status,Status::Open); IF xRec."VAT Bus. Posting Group" <> "VAT Bus. Posting Group" THEN RecreateSalesLines(FIELDCAPTION("VAT Bus. Posting Group")); END; CaptionML=[DEU=MwSt.-Gesch„ftsbuchungsgruppe; ENU=VAT Bus. Posting Group] } { 117 ; ;Reserve ;Option ;CaptionML=[DEU=Reservieren; ENU=Reserve]; OptionCaptionML=[DEU=Nie,Optional,Immer; ENU=Never,Optional,Always]; OptionString=Never,Optional,Always } { 118 ; ;Applies-to ID ;Code50 ;OnValidate=VAR TempCustLedgEntry@1000 : Record 21; BEGIN IF "Applies-to ID" <> '' THEN TESTFIELD("Bal. Account No.",''); IF ("Applies-to ID" <> xRec."Applies-to ID") AND (xRec."Applies-to ID" <> '') THEN BEGIN CustLedgEntry.SETCURRENTKEY("Customer No.",Open); CustLedgEntry.SETRANGE("Customer No.","Bill-to Customer No."); CustLedgEntry.SETRANGE(Open,TRUE); CustLedgEntry.SETRANGE("Applies-to ID",xRec."Applies-to ID"); IF CustLedgEntry.FINDFIRST THEN CustEntrySetApplID.SetApplId(CustLedgEntry,TempCustLedgEntry,''); CustLedgEntry.RESET; END; END; CaptionML=[DEU=Ausgleichs-ID; ENU=Applies-to ID] } { 119 ; ;VAT Base Discount % ;Decimal ;OnValidate=BEGIN IF NOT (CurrFieldNo IN [0,FIELDNO("Posting Date"),FIELDNO("Document Date")]) THEN TESTFIELD(Status,Status::Open); GLSetup.GET; IF "VAT Base Discount %" > GLSetup."VAT Tolerance %" THEN ERROR( Text007, FIELDCAPTION("VAT Base Discount %"), GLSetup.FIELDCAPTION("VAT Tolerance %"), GLSetup.TABLECAPTION); IF ("VAT Base Discount %" = xRec."VAT Base Discount %") AND (CurrFieldNo <> 0) THEN EXIT; SalesLine.SETRANGE("Document Type","Document Type"); SalesLine.SETRANGE("Document No.","No."); SalesLine.SETFILTER(Type,'<>%1',SalesLine.Type::" "); SalesLine.SETFILTER(Quantity,'<>0'); SalesLine.LOCKTABLE; LOCKTABLE; IF SalesLine.FINDSET THEN BEGIN MODIFY; REPEAT IF (SalesLine."Quantity Invoiced" <> SalesLine.Quantity) OR ("Shipping Advice" <> "Shipping Advice"::Partial) OR (SalesLine.Type <> SalesLine.Type::"Charge (Item)") OR (CurrFieldNo <> 0) THEN BEGIN SalesLine.UpdateAmounts; SalesLine.MODIFY; END; UNTIL SalesLine.NEXT = 0; END; SalesLine.RESET; END; CaptionML=[DEU=MwSt.-Bemessungsgr. Skonto %; ENU=VAT Base Discount %]; DecimalPlaces=0:5; MinValue=0; MaxValue=100 } { 120 ; ;Status ;Option ;CaptionML=[DEU=Status; ENU=Status]; OptionCaptionML=[DEU=Offen,Freigegeben,Genehmigung ausstehend,Vorauszahlung ausstehend; ENU=Open,Released,Pending Approval,Pending Prepayment]; OptionString=Open,Released,Pending Approval,Pending Prepayment; Editable=No } { 121 ; ;Invoice Discount Calculation;Option;CaptionML=[DEU=Rechnungsrab.-Berechnung; ENU=Invoice Discount Calculation]; OptionCaptionML=[DEU=Kein,%,Betrag; ENU=None,%,Amount]; OptionString=None,%,Amount; Editable=No } { 122 ; ;Invoice Discount Value;Decimal ;CaptionML=[DEU=Rechnungsrab.-Wert; ENU=Invoice Discount Value]; Editable=No; AutoFormatType=1 } { 123 ; ;Send IC Document ;Boolean ;OnValidate=BEGIN IF "Send IC Document" THEN BEGIN IF "Bill-to IC Partner Code" = '' THEN TESTFIELD("Sell-to IC Partner Code"); TESTFIELD("IC Direction","IC Direction"::Outgoing); END; END; CaptionML=[DEU=IC-Beleg senden; ENU=Send IC Document] } { 124 ; ;IC Status ;Option ;CaptionML=[DEU=IC-Status; ENU=IC Status]; OptionCaptionML=[DEU=Neu,Offen,Gesendet; ENU=New,Pending,Sent]; OptionString=New,Pending,Sent } { 125 ; ;Sell-to IC Partner Code;Code20 ;TableRelation="IC Partner"; CaptionML=[DEU=Verk. an IC-Partnercode; ENU=Sell-to IC Partner Code]; Editable=No } { 126 ; ;Bill-to IC Partner Code;Code20 ;TableRelation="IC Partner"; CaptionML=[DEU=Rech. an IC-Partnercode; ENU=Bill-to IC Partner Code]; Editable=No } { 129 ; ;IC Direction ;Option ;OnValidate=BEGIN IF "IC Direction" = "IC Direction"::Incoming THEN "Send IC Document" := FALSE; END; CaptionML=[DEU=IC-Richtung; ENU=IC Direction]; OptionCaptionML=[DEU=Ausgehend,Eingehend; ENU=Outgoing,Incoming]; OptionString=Outgoing,Incoming } { 130 ; ;Prepayment % ;Decimal ;OnValidate=BEGIN IF xRec."Prepayment %" <> "Prepayment %" THEN UpdateSalesLines(FIELDCAPTION("Prepayment %"),CurrFieldNo <> 0); END; CaptionML=[DEU=Vorauszahlung %; ENU=Prepayment %]; DecimalPlaces=0:5; MinValue=0; MaxValue=100 } { 131 ; ;Prepayment No. Series;Code10 ;TableRelation="No. Series"; OnValidate=BEGIN IF "Prepayment No. Series" <> '' THEN BEGIN SalesSetup.GET; SalesSetup.TESTFIELD("Posted Prepmt. Inv. Nos."); NoSeriesMgt.TestSeries(GetPostingPrepaymentNoSeriesCode,"Prepayment No. Series"); END; TESTFIELD("Prepayment No.",''); END; OnLookup=BEGIN WITH SalesHeader DO BEGIN SalesHeader := Rec; SalesSetup.GET; SalesSetup.TESTFIELD("Posted Prepmt. Inv. Nos."); IF NoSeriesMgt.LookupSeries(GetPostingPrepaymentNoSeriesCode,"Prepayment No. Series") THEN VALIDATE("Prepayment No. Series"); Rec := SalesHeader; END; END; CaptionML=[DEU=Vorauszahlung Nummernserie; ENU=Prepayment No. Series] } { 132 ; ;Compress Prepayment ;Boolean ;InitValue=Yes; CaptionML=[DEU=Vorauszahlung komprimieren; ENU=Compress Prepayment] } { 133 ; ;Prepayment Due Date ;Date ;CaptionML=[DEU=F„lligkeitsdatum Vorauszahlung; ENU=Prepayment Due Date] } { 134 ; ;Prepmt. Cr. Memo No. Series;Code10 ;TableRelation="No. Series"; OnValidate=BEGIN IF "Prepmt. Cr. Memo No." <> '' THEN BEGIN SalesSetup.GET; SalesSetup.TESTFIELD("Posted Prepmt. Cr. Memo Nos."); NoSeriesMgt.TestSeries(GetPostingPrepaymentNoSeriesCode,"Prepmt. Cr. Memo No. Series"); END; TESTFIELD("Prepmt. Cr. Memo No.",''); END; OnLookup=BEGIN WITH SalesHeader DO BEGIN SalesHeader := Rec; SalesSetup.GET; SalesSetup.TESTFIELD("Posted Prepmt. Cr. Memo Nos."); IF NoSeriesMgt.LookupSeries(GetPostingPrepaymentNoSeriesCode,"Prepmt. Cr. Memo No. Series") THEN VALIDATE("Prepmt. Cr. Memo No. Series"); Rec := SalesHeader; END; END; CaptionML=[DEU=Vorauszahlungsgutschrift Nummernserie; ENU=Prepmt. Cr. Memo No. Series] } { 135 ; ;Prepmt. Posting Description;Text50 ;CaptionML=[DEU=Vorauszahlungs-Buchungsbeschreibung; ENU=Prepmt. Posting Description] } { 138 ; ;Prepmt. Pmt. Discount Date;Date ;CaptionML=[DEU=Skontodatum Vorauszahlung; ENU=Prepmt. Pmt. Discount Date] } { 139 ; ;Prepmt. Payment Terms Code;Code10 ;TableRelation="Payment Terms"; OnValidate=VAR PaymentTerms@1000 : Record 3; BEGIN IF ("Prepmt. Payment Terms Code" <> '') AND ("Document Date" <> 0D) THEN BEGIN PaymentTerms.GET("Prepmt. Payment Terms Code"); IF (("Document Type" IN ["Document Type"::"Return Order","Document Type"::"Credit Memo"]) AND NOT PaymentTerms."Calc. Pmt. Disc. on Cr. Memos") THEN BEGIN VALIDATE("Prepayment Due Date","Document Date"); VALIDATE("Prepmt. Pmt. Discount Date",0D); VALIDATE("Prepmt. Payment Discount %",0); END ELSE BEGIN "Prepayment Due Date" := CALCDATE(PaymentTerms."Due Date Calculation","Document Date"); "Prepmt. Pmt. Discount Date" := CALCDATE(PaymentTerms."Discount Date Calculation","Document Date"); IF NOT UpdateDocumentDate THEN VALIDATE("Prepmt. Payment Discount %",PaymentTerms."Discount %") END; END ELSE BEGIN VALIDATE("Prepayment Due Date","Document Date"); IF NOT UpdateDocumentDate THEN BEGIN VALIDATE("Prepmt. Pmt. Discount Date",0D); VALIDATE("Prepmt. Payment Discount %",0); END; END; END; CaptionML=[DEU=Zlg.-Bedingungscode Vorauszahlung; ENU=Prepmt. Payment Terms Code] } { 140 ; ;Prepmt. Payment Discount %;Decimal ;OnValidate=BEGIN IF NOT (CurrFieldNo IN [0,FIELDNO("Posting Date"),FIELDNO("Document Date")]) THEN TESTFIELD(Status,Status::Open); GLSetup.GET; IF "Payment Discount %" < GLSetup."VAT Tolerance %" THEN "VAT Base Discount %" := "Payment Discount %" ELSE "VAT Base Discount %" := GLSetup."VAT Tolerance %"; VALIDATE("VAT Base Discount %"); END; CaptionML=[DEU=Skonto % Vorauszahlung; ENU=Prepmt. Payment Discount %]; DecimalPlaces=0:5; MinValue=0; MaxValue=100 } { 151 ; ;Quote No. ;Code20 ;CaptionML=[DEU=Angebotsnr.; ENU=Quote No.]; Editable=No } { 160 ; ;Job Queue Status ;Option ;OnLookup=VAR JobQueueEntry@1000 : Record 472; BEGIN IF "Job Queue Status" = "Job Queue Status"::" " THEN EXIT; JobQueueEntry.ShowStatusMsg("Job Queue Entry ID"); END; CaptionML=[DEU=Aufgabenwarteschlange - Status; ENU=Job Queue Status]; OptionCaptionML=[DEU=" ,Geplant fr Buchung,Fehler,Buchung"; ENU=" ,Scheduled for Posting,Error,Posting"]; OptionString=[ ,Scheduled for Posting,Error,Posting]; Editable=No } { 161 ; ;Job Queue Entry ID ;GUID ;CaptionML=[DEU=Aufgabenwarteschlange - Posten-ID; ENU=Job Queue Entry ID]; Editable=No } { 165 ; ;Incoming Document Entry No.;Integer;TableRelation="Incoming Document" WHERE (Status=FILTER(New|Approved)); OnValidate=VAR IncomingDocument@1000 : Record 130; BEGIN IncomingDocument.SetSalesDoc(Rec); END; CaptionML=[DEU=Lfd. Nr. eingehendes Dokument; ENU=Incoming Document Entry No.] } { 480 ; ;Dimension Set ID ;Integer ;TableRelation="Dimension Set Entry"; OnLookup=BEGIN ShowDocDim; END; CaptionML=[DEU=Dimensionssatz-ID; ENU=Dimension Set ID]; Editable=No } { 825 ; ;Authorization Required;Boolean ;CaptionML=[DEU=Autorisierung erforderlich; ENU=Authorization Required] } { 827 ; ;Credit Card No. ;Code20 ;TableRelation="DO Payment Credit Card" WHERE (Customer No.=FIELD(Bill-to Customer No.)); OnValidate=VAR DOPaymentTransLogEntry@1000 : Record 829; BEGIN IF NOT DOPaymentTransLogEntry.ISEMPTY THEN DOPaymentTransLogMgt.ValidateHasNoValidTransactions("Document Type",FORMAT("Document Type"),"No."); IF "Credit Card No." = '' THEN EXIT; DOPaymentMgt.CheckCreditCardData("Credit Card No."); IF NOT DOPaymentMgt.IsValidPaymentMethod("Payment Method Code") THEN FIELDERROR("Payment Method Code"); END; CaptionML=[DEU=Kreditkartennr.; ENU=Credit Card No.] } { 1200; ;Direct Debit Mandate ID;Code35 ;TableRelation="SEPA Direct Debit Mandate" WHERE (Customer No.=FIELD(Bill-to Customer No.), Closed=CONST(No), Blocked=CONST(No)); CaptionML=[DEU=Lastschrift-Mandat-ID; ENU=Direct Debit Mandate ID] } { 1305; ;Invoice Discount Amount;Decimal ;FieldClass=FlowField; CalcFormula=Sum("Sales Line"."Inv. Discount Amount" WHERE (Document No.=FIELD(No.), Document Type=FIELD(Document Type))); CaptionML=[DEU=Rechnungsrab.-Betrag; ENU=Invoice Discount Amount]; Editable=No; AutoFormatType=1 } { 5043; ;No. of Archived Versions;Integer ;FieldClass=FlowField; CalcFormula=Max("Sales Header Archive"."Version No." WHERE (Document Type=FIELD(Document Type), No.=FIELD(No.), Doc. No. Occurrence=FIELD(Doc. No. Occurrence))); CaptionML=[DEU=Anz. archivierter Versionen; ENU=No. of Archived Versions]; Editable=No } { 5048; ;Doc. No. Occurrence ;Integer ;CaptionML=[DEU=Belegnr.-H„ufigkeit; ENU=Doc. No. Occurrence] } { 5050; ;Campaign No. ;Code20 ;TableRelation=Campaign; OnValidate=BEGIN InitDefaultDim; END; CaptionML=[DEU=Kampagnennr.; ENU=Campaign No.] } { 5051; ;Sell-to Customer Template Code;Code10; TableRelation="Customer Template"; OnValidate=VAR SellToCustTemplate@1000 : Record 5105; BEGIN TESTFIELD("Document Type","Document Type"::Quote); TESTFIELD(Status,Status::Open); IF NOT InsertMode AND ("Sell-to Customer Template Code" <> xRec."Sell-to Customer Template Code") AND (xRec."Sell-to Customer Template Code" <> '') THEN BEGIN IF HideValidationDialog THEN Confirmed := TRUE ELSE Confirmed := CONFIRM(Text004,FALSE,FIELDCAPTION("Sell-to Customer Template Code")); IF Confirmed THEN BEGIN SalesLine.RESET; SalesLine.SETRANGE("Document Type","Document Type"); SalesLine.SETRANGE("Document No.","No."); IF "Sell-to Customer Template Code" = '' THEN BEGIN IF NOT SalesLine.ISEMPTY THEN ERROR(Text005,FIELDCAPTION("Sell-to Customer Template Code")); INIT; SalesSetup.GET; InitRecord; "No. Series" := xRec."No. Series"; IF xRec."Shipping No." <> '' THEN BEGIN "Shipping No. Series" := xRec."Shipping No. Series"; "Shipping No." := xRec."Shipping No."; END; IF xRec."Posting No." <> '' THEN BEGIN "Posting No. Series" := xRec."Posting No. Series"; "Posting No." := xRec."Posting No."; END; IF xRec."Return Receipt No." <> '' THEN BEGIN "Return Receipt No. Series" := xRec."Return Receipt No. Series"; "Return Receipt No." := xRec."Return Receipt No."; END; IF xRec."Prepayment No." <> '' THEN BEGIN "Prepayment No. Series" := xRec."Prepayment No. Series"; "Prepayment No." := xRec."Prepayment No."; END; IF xRec."Prepmt. Cr. Memo No." <> '' THEN BEGIN "Prepmt. Cr. Memo No. Series" := xRec."Prepmt. Cr. Memo No. Series"; "Prepmt. Cr. Memo No." := xRec."Prepmt. Cr. Memo No."; END; EXIT; END; END ELSE BEGIN "Sell-to Customer Template Code" := xRec."Sell-to Customer Template Code"; EXIT; END; END; IF SellToCustTemplate.GET("Sell-to Customer Template Code") THEN BEGIN SellToCustTemplate.TESTFIELD("Gen. Bus. Posting Group"); "Gen. Bus. Posting Group" := SellToCustTemplate."Gen. Bus. Posting Group"; "VAT Bus. Posting Group" := SellToCustTemplate."VAT Bus. Posting Group"; IF "Bill-to Customer No." = '' THEN VALIDATE("Bill-to Customer Template Code","Sell-to Customer Template Code"); END; IF NOT InsertMode AND ((xRec."Sell-to Customer Template Code" <> "Sell-to Customer Template Code") OR (xRec."Currency Code" <> "Currency Code")) THEN RecreateSalesLines(FIELDCAPTION("Sell-to Customer Template Code")); END; CaptionML=[DEU=Verk. an Deb.-Vorlagencode; ENU=Sell-to Customer Template Code] } { 5052; ;Sell-to Contact No. ;Code20 ;TableRelation=Contact; OnValidate=VAR ContBusinessRelation@1004 : Record 5054; Cont@1002 : Record 5050; Opportunity@1000 : Record 5092; BEGIN TESTFIELD(Status,Status::Open); IF ("Sell-to Contact No." <> xRec."Sell-to Contact No.") AND (xRec."Sell-to Contact No." <> '') THEN BEGIN IF ("Sell-to Contact No." = '') AND ("Opportunity No." <> '') THEN ERROR(Text049,FIELDCAPTION("Sell-to Contact No.")); IF HideValidationDialog OR NOT GUIALLOWED THEN Confirmed := TRUE ELSE Confirmed := CONFIRM(Text004,FALSE,FIELDCAPTION("Sell-to Contact No.")); IF Confirmed THEN BEGIN SalesLine.RESET; SalesLine.SETRANGE("Document Type","Document Type"); SalesLine.SETRANGE("Document No.","No."); IF ("Sell-to Contact No." = '') AND ("Sell-to Customer No." = '') THEN BEGIN IF NOT SalesLine.ISEMPTY THEN ERROR(Text005,FIELDCAPTION("Sell-to Contact No.")); INIT; SalesSetup.GET; InitRecord; "No. Series" := xRec."No. Series"; IF xRec."Shipping No." <> '' THEN BEGIN "Shipping No. Series" := xRec."Shipping No. Series"; "Shipping No." := xRec."Shipping No."; END; IF xRec."Posting No." <> '' THEN BEGIN "Posting No. Series" := xRec."Posting No. Series"; "Posting No." := xRec."Posting No."; END; IF xRec."Return Receipt No." <> '' THEN BEGIN "Return Receipt No. Series" := xRec."Return Receipt No. Series"; "Return Receipt No." := xRec."Return Receipt No."; END; IF xRec."Prepayment No." <> '' THEN BEGIN "Prepayment No. Series" := xRec."Prepayment No. Series"; "Prepayment No." := xRec."Prepayment No."; END; IF xRec."Prepmt. Cr. Memo No." <> '' THEN BEGIN "Prepmt. Cr. Memo No. Series" := xRec."Prepmt. Cr. Memo No. Series"; "Prepmt. Cr. Memo No." := xRec."Prepmt. Cr. Memo No."; END; EXIT; END; IF "Opportunity No." <> '' THEN BEGIN Opportunity.GET("Opportunity No."); IF Opportunity."Contact No." <> "Sell-to Contact No." THEN BEGIN MODIFY; Opportunity.VALIDATE("Contact No.","Sell-to Contact No."); Opportunity.MODIFY; END END; END ELSE BEGIN Rec := xRec; EXIT; END; END; IF ("Sell-to Customer No." <> '') AND ("Sell-to Contact No." <> '') THEN BEGIN Cont.GET("Sell-to Contact No."); ContBusinessRelation.RESET; ContBusinessRelation.SETCURRENTKEY("Link to Table","No."); ContBusinessRelation.SETRANGE("Link to Table",ContBusinessRelation."Link to Table"::Customer); ContBusinessRelation.SETRANGE("No.","Sell-to Customer No."); IF ContBusinessRelation.FINDFIRST THEN IF ContBusinessRelation."Contact No." <> Cont."Company No." THEN ERROR(Text038,Cont."No.",Cont.Name,"Sell-to Customer No."); END; UpdateSellToCust("Sell-to Contact No."); END; OnLookup=VAR Cont@1001 : Record 5050; ContBusinessRelation@1000 : Record 5054; BEGIN IF "Sell-to Customer No." <> '' THEN BEGIN IF Cont.GET("Sell-to Contact No.") THEN Cont.SETRANGE("Company No.",Cont."Company No.") ELSE BEGIN ContBusinessRelation.RESET; ContBusinessRelation.SETCURRENTKEY("Link to Table","No."); ContBusinessRelation.SETRANGE("Link to Table",ContBusinessRelation."Link to Table"::Customer); ContBusinessRelation.SETRANGE("No.","Sell-to Customer No."); IF ContBusinessRelation.FINDFIRST THEN Cont.SETRANGE("Company No.",ContBusinessRelation."Contact No.") ELSE Cont.SETRANGE("No.",''); END; END; IF "Sell-to Contact No." <> '' THEN IF Cont.GET("Sell-to Contact No.") THEN ; IF PAGE.RUNMODAL(0,Cont) = ACTION::LookupOK THEN BEGIN xRec := Rec; VALIDATE("Sell-to Contact No.",Cont."No."); END; END; CaptionML=[DEU=Verk. an Kontaktnr.; ENU=Sell-to Contact No.] } { 5053; ;Bill-to Contact No. ;Code20 ;TableRelation=Contact; OnValidate=VAR ContBusinessRelation@1004 : Record 5054; Cont@1002 : Record 5050; BEGIN TESTFIELD(Status,Status::Open); IF ("Bill-to Contact No." <> xRec."Bill-to Contact No.") AND (xRec."Bill-to Contact No." <> '') THEN BEGIN IF HideValidationDialog THEN Confirmed := TRUE ELSE Confirmed := CONFIRM(Text004,FALSE,FIELDCAPTION("Bill-to Contact No.")); IF Confirmed THEN BEGIN SalesLine.RESET; SalesLine.SETRANGE("Document Type","Document Type"); SalesLine.SETRANGE("Document No.","No."); IF ("Bill-to Contact No." = '') AND ("Bill-to Customer No." = '') THEN BEGIN IF NOT SalesLine.ISEMPTY THEN ERROR(Text005,FIELDCAPTION("Bill-to Contact No.")); INIT; SalesSetup.GET; InitRecord; "No. Series" := xRec."No. Series"; IF xRec."Shipping No." <> '' THEN BEGIN "Shipping No. Series" := xRec."Shipping No. Series"; "Shipping No." := xRec."Shipping No."; END; IF xRec."Posting No." <> '' THEN BEGIN "Posting No. Series" := xRec."Posting No. Series"; "Posting No." := xRec."Posting No."; END; IF xRec."Return Receipt No." <> '' THEN BEGIN "Return Receipt No. Series" := xRec."Return Receipt No. Series"; "Return Receipt No." := xRec."Return Receipt No."; END; IF xRec."Prepayment No." <> '' THEN BEGIN "Prepayment No. Series" := xRec."Prepayment No. Series"; "Prepayment No." := xRec."Prepayment No."; END; IF xRec."Prepmt. Cr. Memo No." <> '' THEN BEGIN "Prepmt. Cr. Memo No. Series" := xRec."Prepmt. Cr. Memo No. Series"; "Prepmt. Cr. Memo No." := xRec."Prepmt. Cr. Memo No."; END; EXIT; END; END ELSE BEGIN "Bill-to Contact No." := xRec."Bill-to Contact No."; EXIT; END; END; IF ("Bill-to Customer No." <> '') AND ("Bill-to Contact No." <> '') THEN BEGIN Cont.GET("Bill-to Contact No."); ContBusinessRelation.RESET; ContBusinessRelation.SETCURRENTKEY("Link to Table","No."); ContBusinessRelation.SETRANGE("Link to Table",ContBusinessRelation."Link to Table"::Customer); ContBusinessRelation.SETRANGE("No.","Bill-to Customer No."); IF ContBusinessRelation.FINDFIRST THEN IF ContBusinessRelation."Contact No." <> Cont."Company No." THEN ERROR(Text038,Cont."No.",Cont.Name,"Bill-to Customer No."); END; UpdateBillToCust("Bill-to Contact No."); END; OnLookup=VAR Cont@1001 : Record 5050; ContBusinessRelation@1000 : Record 5054; BEGIN IF "Bill-to Customer No." <> '' THEN BEGIN IF Cont.GET("Bill-to Contact No.") THEN Cont.SETRANGE("Company No.",Cont."Company No.") ELSE BEGIN ContBusinessRelation.RESET; ContBusinessRelation.SETCURRENTKEY("Link to Table","No."); ContBusinessRelation.SETRANGE("Link to Table",ContBusinessRelation."Link to Table"::Customer); ContBusinessRelation.SETRANGE("No.","Bill-to Customer No."); IF ContBusinessRelation.FINDFIRST THEN Cont.SETRANGE("Company No.",ContBusinessRelation."Contact No.") ELSE Cont.SETRANGE("No.",''); END; END; IF "Bill-to Contact No." <> '' THEN IF Cont.GET("Bill-to Contact No.") THEN ; IF PAGE.RUNMODAL(0,Cont) = ACTION::LookupOK THEN BEGIN xRec := Rec; VALIDATE("Bill-to Contact No.",Cont."No."); END; END; CaptionML=[DEU=Rech. an Kontaktnr.; ENU=Bill-to Contact No.] } { 5054; ;Bill-to Customer Template Code;Code10; TableRelation="Customer Template"; OnValidate=VAR BillToCustTemplate@1001 : Record 5105; BEGIN TESTFIELD("Document Type","Document Type"::Quote); TESTFIELD(Status,Status::Open); IF NOT InsertMode AND ("Bill-to Customer Template Code" <> xRec."Bill-to Customer Template Code") AND (xRec."Bill-to Customer Template Code" <> '') THEN BEGIN IF HideValidationDialog THEN Confirmed := TRUE ELSE Confirmed := CONFIRM(Text004,FALSE,FIELDCAPTION("Bill-to Customer Template Code")); IF Confirmed THEN BEGIN SalesLine.RESET; SalesLine.SETRANGE("Document Type","Document Type"); SalesLine.SETRANGE("Document No.","No."); IF "Bill-to Customer Template Code" = '' THEN BEGIN IF NOT SalesLine.ISEMPTY THEN ERROR(Text005,FIELDCAPTION("Bill-to Customer Template Code")); INIT; SalesSetup.GET; InitRecord; "No. Series" := xRec."No. Series"; IF xRec."Shipping No." <> '' THEN BEGIN "Shipping No. Series" := xRec."Shipping No. Series"; "Shipping No." := xRec."Shipping No."; END; IF xRec."Posting No." <> '' THEN BEGIN "Posting No. Series" := xRec."Posting No. Series"; "Posting No." := xRec."Posting No."; END; IF xRec."Return Receipt No." <> '' THEN BEGIN "Return Receipt No. Series" := xRec."Return Receipt No. Series"; "Return Receipt No." := xRec."Return Receipt No."; END; IF xRec."Prepayment No." <> '' THEN BEGIN "Prepayment No. Series" := xRec."Prepayment No. Series"; "Prepayment No." := xRec."Prepayment No."; END; IF xRec."Prepmt. Cr. Memo No." <> '' THEN BEGIN "Prepmt. Cr. Memo No. Series" := xRec."Prepmt. Cr. Memo No. Series"; "Prepmt. Cr. Memo No." := xRec."Prepmt. Cr. Memo No."; END; EXIT; END; END ELSE BEGIN "Bill-to Customer Template Code" := xRec."Bill-to Customer Template Code"; EXIT; END; END; VALIDATE("Ship-to Code",''); IF BillToCustTemplate.GET("Bill-to Customer Template Code") THEN BEGIN BillToCustTemplate.TESTFIELD("Customer Posting Group"); "Customer Posting Group" := BillToCustTemplate."Customer Posting Group"; "Invoice Disc. Code" := BillToCustTemplate."Invoice Disc. Code"; "Customer Price Group" := BillToCustTemplate."Customer Price Group"; "Customer Disc. Group" := BillToCustTemplate."Customer Disc. Group"; "Allow Line Disc." := BillToCustTemplate."Allow Line Disc."; VALIDATE("Payment Terms Code",BillToCustTemplate."Payment Terms Code"); VALIDATE("Payment Method Code",BillToCustTemplate."Payment Method Code"); "Shipment Method Code" := BillToCustTemplate."Shipment Method Code"; END; InitDefaultDim; IF NOT InsertMode AND (xRec."Sell-to Customer Template Code" = "Sell-to Customer Template Code") AND (xRec."Bill-to Customer Template Code" <> "Bill-to Customer Template Code") THEN RecreateSalesLines(FIELDCAPTION("Bill-to Customer Template Code")); END; CaptionML=[DEU=Rech. an Deb.-Vorlagencode; ENU=Bill-to Customer Template Code] } { 5055; ;Opportunity No. ;Code20 ;TableRelation=IF (Document Type=FILTER(<>Order)) Opportunity.No. WHERE (Contact No.=FIELD(Sell-to Contact No.), Closed=CONST(No)) ELSE IF (Document Type=CONST(Order)) Opportunity.No. WHERE (Contact No.=FIELD(Sell-to Contact No.), Sales Document No.=FIELD(No.), Sales Document Type=CONST(Order)); OnValidate=BEGIN LinkSalesDocWithOpportunity(xRec."Opportunity No."); END; CaptionML=[DEU=Verkaufschancennr.; ENU=Opportunity No.] } { 5700; ;Responsibility Center;Code10 ;TableRelation="Responsibility Center"; OnValidate=BEGIN TESTFIELD(Status,Status::Open); IF NOT UserSetupMgt.CheckRespCenter(0,"Responsibility Center") THEN ERROR( Text027, RespCenter.TABLECAPTION,UserSetupMgt.GetSalesFilter); "Location Code" := UserSetupMgt.GetLocation(0,'',"Responsibility Center"); IF "Location Code" <> '' THEN BEGIN IF Location.GET("Location Code") THEN "Outbound Whse. Handling Time" := Location."Outbound Whse. Handling Time"; END ELSE BEGIN IF InvtSetup.GET THEN "Outbound Whse. Handling Time" := InvtSetup."Outbound Whse. Handling Time"; END; UpdateShipToAddress; InitDefaultDim; IF xRec."Responsibility Center" <> "Responsibility Center" THEN BEGIN RecreateSalesLines(FIELDCAPTION("Responsibility Center")); "Assigned User ID" := ''; END; END; CaptionML=[DEU=Zust„ndigkeitseinheitencode; ENU=Responsibility Center] } { 5750; ;Shipping Advice ;Option ;OnValidate=BEGIN TESTFIELD(Status,Status::Open); IF InventoryPickConflict("Document Type","No.","Shipping Advice") THEN ERROR(Text066,FIELDCAPTION("Shipping Advice"),FORMAT("Shipping Advice"),TABLECAPTION); IF WhseShpmntConflict("Document Type","No.","Shipping Advice") THEN ERROR(STRSUBSTNO(Text070,FIELDCAPTION("Shipping Advice"),FORMAT("Shipping Advice"),TABLECAPTION)); WhseSourceHeader.SalesHeaderVerifyChange(Rec,xRec); END; CaptionML=[DEU=Versandanweisung; ENU=Shipping Advice]; OptionCaptionML=[DEU=Teillieferung,Komplettlieferung; ENU=Partial,Complete]; OptionString=Partial,Complete } { 5751; ;Shipped Not Invoiced;Boolean ;FieldClass=FlowField; CalcFormula=Exist("Sales Line" WHERE (Document Type=FIELD(Document Type), Document No.=FIELD(No.), Qty. Shipped Not Invoiced=FILTER(<>0))); CaptionML=[DEU=Nicht fakt. Lieferungen; ENU=Shipped Not Invoiced]; Editable=No } { 5752; ;Completely Shipped ;Boolean ;FieldClass=FlowField; CalcFormula=Min("Sales Line"."Completely Shipped" WHERE (Document Type=FIELD(Document Type), Document No.=FIELD(No.), Type=FILTER(<>' '), Location Code=FIELD(Location Filter))); CaptionML=[DEU=Komplettlieferung (Ausgang); ENU=Completely Shipped]; Editable=No } { 5753; ;Posting from Whse. Ref.;Integer ;CaptionML=[DEU=Buchung von Lagerref.-Nr.; ENU=Posting from Whse. Ref.] } { 5754; ;Location Filter ;Code10 ;FieldClass=FlowFilter; TableRelation=Location; CaptionML=[DEU=Lagerortfilter; ENU=Location Filter] } { 5790; ;Requested Delivery Date;Date ;OnValidate=BEGIN TESTFIELD(Status,Status::Open); IF "Promised Delivery Date" <> 0D THEN ERROR( Text028, FIELDCAPTION("Requested Delivery Date"), FIELDCAPTION("Promised Delivery Date")); IF "Requested Delivery Date" <> xRec."Requested Delivery Date" THEN UpdateSalesLines(FIELDCAPTION("Requested Delivery Date"),CurrFieldNo <> 0); END; CaptionML=[DEU=Gewnschtes Lieferdatum; ENU=Requested Delivery Date] } { 5791; ;Promised Delivery Date;Date ;OnValidate=BEGIN TESTFIELD(Status,Status::Open); IF "Promised Delivery Date" <> xRec."Promised Delivery Date" THEN UpdateSalesLines(FIELDCAPTION("Promised Delivery Date"),CurrFieldNo <> 0); END; CaptionML=[DEU=Zugesagtes Lieferdatum; ENU=Promised Delivery Date] } { 5792; ;Shipping Time ;DateFormula ;OnValidate=BEGIN TESTFIELD(Status,Status::Open); IF "Shipping Time" <> xRec."Shipping Time" THEN UpdateSalesLines(FIELDCAPTION("Shipping Time"),CurrFieldNo <> 0); END; CaptionML=[DEU=Transportzeit; ENU=Shipping Time] } { 5793; ;Outbound Whse. Handling Time;DateFormula; OnValidate=BEGIN TESTFIELD(Status,Status::Open); IF ("Outbound Whse. Handling Time" <> xRec."Outbound Whse. Handling Time") AND (xRec."Sell-to Customer No." = "Sell-to Customer No.") THEN UpdateSalesLines(FIELDCAPTION("Outbound Whse. Handling Time"),CurrFieldNo <> 0); END; CaptionML=[DEU=Ausgeh. Lagerdurchlaufzeit; ENU=Outbound Whse. Handling Time] } { 5794; ;Shipping Agent Service Code;Code10 ;TableRelation="Shipping Agent Services".Code WHERE (Shipping Agent Code=FIELD(Shipping Agent Code)); OnValidate=BEGIN TESTFIELD(Status,Status::Open); GetShippingTime(FIELDNO("Shipping Agent Service Code")); UpdateSalesLines(FIELDCAPTION("Shipping Agent Service Code"),CurrFieldNo <> 0); END; CaptionML=[DEU=Zustellertransportartencode; ENU=Shipping Agent Service Code] } { 5795; ;Late Order Shipping ;Boolean ;FieldClass=FlowField; CalcFormula=Exist("Sales Line" WHERE (Document Type=FIELD(Document Type), Sell-to Customer No.=FIELD(Sell-to Customer No.), Document No.=FIELD(No.), Shipment Date=FIELD(Date Filter), Outstanding Quantity=FILTER(<>0))); CaptionML=[DEU=F„llige Lieferung; ENU=Late Order Shipping]; Editable=No } { 5796; ;Date Filter ;Date ;FieldClass=FlowFilter; CaptionML=[DEU=Datumsfilter; ENU=Date Filter] } { 5800; ;Receive ;Boolean ;CaptionML=[DEU=Wareneingang; ENU=Receive] } { 5801; ;Return Receipt No. ;Code20 ;CaptionML=[DEU=Rcksendungsnr.; ENU=Return Receipt No.] } { 5802; ;Return Receipt No. Series;Code10 ;TableRelation="No. Series"; OnValidate=BEGIN IF "Return Receipt No. Series" <> '' THEN BEGIN SalesSetup.GET; SalesSetup.TESTFIELD("Posted Return Receipt Nos."); NoSeriesMgt.TestSeries(SalesSetup."Posted Return Receipt Nos.","Return Receipt No. Series"); END; TESTFIELD("Return Receipt No.",''); END; OnLookup=BEGIN WITH SalesHeader DO BEGIN SalesHeader := Rec; SalesSetup.GET; SalesSetup.TESTFIELD("Posted Return Receipt Nos."); IF NoSeriesMgt.LookupSeries(SalesSetup."Posted Return Receipt Nos.","Return Receipt No. Series") THEN VALIDATE("Return Receipt No. Series"); Rec := SalesHeader; END; END; CaptionML=[DEU=Rcksendungsnr.-Serie; ENU=Return Receipt No. Series] } { 5803; ;Last Return Receipt No.;Code20 ;TableRelation="Return Receipt Header"; CaptionML=[DEU=Letzte Rcksendungsnr.; ENU=Last Return Receipt No.]; Editable=No } { 7001; ;Allow Line Disc. ;Boolean ;OnValidate=BEGIN TESTFIELD(Status,Status::Open); MessageIfSalesLinesExist(FIELDCAPTION("Allow Line Disc.")); END; CaptionML=[DEU=Zeilenrabatt zulassen; ENU=Allow Line Disc.] } { 7200; ;Get Shipment Used ;Boolean ;CaptionML=[DEU=Verwendete Lieferung abrufen; ENU=Get Shipment Used]; Editable=No } { 9000; ;Assigned User ID ;Code50 ;TableRelation="User Setup"; OnValidate=BEGIN IF NOT UserSetupMgt.CheckRespCenter2(0,"Responsibility Center","Assigned User ID") THEN ERROR( Text061,"Assigned User ID", RespCenter.TABLECAPTION,UserSetupMgt.GetSalesFilter2("Assigned User ID")); END; CaptionML=[DEU=Zugewiesene Benutzer-ID; ENU=Assigned User ID] } { 51000; ;Dimension 3 Filter ;Code20 ;FieldClass=FlowFilter } { 51010; ;Dimension 4 Filter ;Code20 ;FieldClass=FlowFilter } { 51020; ;Dimension 5 Filter ;Code20 ;FieldClass=FlowFilter } { 51030; ;Dimension 6 Filter ;Code20 ;FieldClass=FlowFilter } { 51110; ;Dimension 3 Code ;Code20 ;FieldClass=FlowField; CalcFormula=Lookup("Dimension Set Entry"."Dimension Value Code" WHERE (Dimension Set ID=FIELD(Dimension Set ID), Dimension Code=FIELD(Dimension 3 Filter))); TableRelation="Dimension Value".Code WHERE (Global Dimension No.=CONST(3)); Editable=No; CaptionClass='1,2,3' } { 51120; ;Dimension 4 Code ;Code20 ;FieldClass=FlowField; CalcFormula=Lookup("Dimension Set Entry"."Dimension Value Code" WHERE (Dimension Set ID=FIELD(Dimension Set ID), Dimension Code=FIELD(Dimension 4 Filter))); TableRelation="Dimension Value".Code WHERE (Global Dimension No.=CONST(4)); Editable=No; CaptionClass='1,2,4' } { 51130; ;Dimension 5 Code ;Code20 ;FieldClass=FlowField; CalcFormula=Lookup("Dimension Set Entry"."Dimension Value Code" WHERE (Dimension Set ID=FIELD(Dimension Set ID), Dimension Code=FIELD(Dimension 5 Filter))); TableRelation="Dimension Value".Code WHERE (Global Dimension No.=CONST(5)); Editable=No; CaptionClass='1,2,5' } { 51140; ;Dimension 6 Code ;Code20 ;FieldClass=FlowField; CalcFormula=Lookup("Dimension Set Entry"."Dimension Value Code" WHERE (Dimension Set ID=FIELD(Dimension Set ID), Dimension Code=FIELD(Dimension 6 Filter))); TableRelation="Dimension Value".Code WHERE (Global Dimension No.=CONST(6)); Editable=No; CaptionClass='1,2,6' } } KEYS { { ;Document Type,No. ;Clustered=Yes } { ;No.,Document Type } { ;Document Type,Sell-to Customer No. } { ;Document Type,Bill-to Customer No. } { ;Document Type,Combine Shipments,Bill-to Customer No.,Currency Code,EU 3-Party Trade } { ;Sell-to Customer No.,External Document No. } { ;Document Type,Sell-to Contact No. ;KeyGroups=SOP(CRM) } { ;Bill-to Contact No. ;KeyGroups=SOP(CRM) } { ;Incoming Document Entry No. } } FIELDGROUPS { } CODE { VAR Text000@1000 : TextConst 'DEU=M”chten Sie die Lieferung %1 drucken?;ENU=Do you want to print shipment %1?'; Text001@1001 : TextConst 'DEU=M”chten Sie die Rechnung %1 drucken?;ENU=Do you want to print invoice %1?'; Text002@1002 : TextConst 'DEU=M”chten Sie die Gutschrift %1 drucken?;ENU=Do you want to print credit memo %1?'; Text003@1003 : TextConst 'DEU=Sie k”nnen einen %1 nicht umbenennen.;ENU=You cannot rename a %1.'; Text004@1004 : TextConst 'DEU=M”chten Sie %1 „ndern?;ENU=Do you want to change %1?'; Text005@1005 : TextConst 'DEU=Sie k”nnen %1 nicht zurcksetzen, da der Beleg eine oder mehrere Zeilen enth„lt.;ENU=You cannot reset %1 because the document still has one or more lines.'; Text006@1006 : TextConst 'DEU=Sie k”nnen %1 nicht „ndern, da der Auftrag zu einer oder mehreren Bestellungen geh”rt.;ENU=You cannot change %1 because the order is associated with one or more purchase orders.'; Text007@1007 : TextConst 'DEU=%1 kann nicht gr”áer als %2 in der Tabelle %3 sein.;ENU=%1 cannot be greater than %2 in the %3 table.'; Text009@1009 : TextConst 'DEU=Das L”schen dieses Belegs verursacht eine Lcke in der Nummernserie der Lieferungen. Der leere Warenausgang ''%1'' wird erstellt, um die Lcke in der Nummernserie zu schlieáen.\\Soll der Vorgang fortgesetzt werden?;ENU=Deleting this document will cause a gap in the number series for shipments. An empty shipment %1 will be created to fill this gap in the number series.\\Do you want to continue?'; Text012@1012 : TextConst 'DEU=Das L”schen dieses Belegs verursacht eine Lcke in der Nummernserie der gebuchten Rechnungen. Die leere gebuchte Rechnung ''%1'' wird erstellt, um die Lcke in der Nummernserie zu schlieáen.\\Soll der Vorgang fortgesetzt werden?;ENU=Deleting this document will cause a gap in the number series for posted invoices. An empty posted invoice %1 will be created to fill this gap in the number series.\\Do you want to continue?'; Text014@1014 : TextConst 'DEU=Das L”schen dieses Belegs verursacht eine Lcke in der Nummernserie fr gebuchte Gutschriften. Die leere gebuchte Zinsrechnung ''%1'' wird erstellt, um die Lcke in der Nummernserie zu schlieáen.\\Soll der Vorgang fortgesetzt werden?;ENU=Deleting this document will cause a gap in the number series for posted credit memos. An empty posted credit memo %1 will be created to fill this gap in the number series.\\Do you want to continue?'; Text015@1015 : TextConst 'DEU=Wenn Sie ''%1'' „ndern, werden die vorhandenen Verkaufszeilen gel”scht und neue Verkaufszeilen auf der Grundlage der neuen Kopfinformationen erstellt.\\M”chten Sie ''%1'' „ndern?;ENU=If you change %1, the existing sales lines will be deleted and new sales lines based on the new information on the header will be created.\\Do you want to change %1?'; Text017@1017 : TextConst 'DEU=Sie mssen die vorhandenen Verkaufszeilen l”schen, bevor Sie das Feld %1 „ndern k”nnen.;ENU=You must delete the existing sales lines before you can change %1.'; Text018@1018 : TextConst 'DEU=Sie haben das Feld %1 im Verkaufskopf ge„ndert, aber die dazugeh”rigen Verkaufszeilen wurden nicht ge„ndert.\;ENU=You have changed %1 on the sales header, but it has not been changed on the existing sales lines.\'; Text019@1019 : TextConst 'DEU=Sie mssen die vorhandenen Verkaufszeilen manuell „ndern.;ENU=You must update the existing sales lines manually.'; Text020@1020 : TextConst 'DEU=Die Žnderung kann eventuell den Wechselkurs, der fr die Preiskalkulation der Verkaufszeilen verwendet wurde, beeinflussen.;ENU=The change may affect the exchange rate used in the price calculation of the sales lines.'; Text021@1021 : TextConst 'DEU=M”chten Sie den Wechselkurs „ndern?;ENU=Do you want to update the exchange rate?'; Text022@1022 : TextConst 'DEU=Sie k”nnen diesen Beleg nicht l”schen. Ihre Benutzereinrichtung l„sst nur %1 %2 zu.;ENU=You cannot delete this document. Your identification is set up to process from %1 %2 only.'; Text023@1023 : TextConst 'DEU=M”chten Sie die Rcksendung %1 drucken?;ENU=Do you want to print return receipt %1?'; Text024@1024 : TextConst 'DEU=Sie haben das Feld ''%1'' ge„ndert. Da die Neuberechnung der MwSt. Differenzen im Centbereich verursachen kann, mssen die Betr„ge anschlieáend berprft werden. M”chten Sie das Feld ''%2'' in den Zeilen aktualisieren, um den neuen Wert von ''%1'' zu bercksichtigen?;ENU=You have modified the %1 field. The recalculation of VAT may cause penny differences, so you must check the amounts afterward. Do you want to update the %2 field on the lines to reflect the new value of %1?'; Text027@1027 : TextConst 'DEU=Ihre Benutzereinrichtung l„sst nur %1 %2 zu.;ENU=Your identification is set up to process from %1 %2 only.'; Text028@1028 : TextConst 'DEU=Sie k”nnen das %1 nicht „ndern, wenn das %2 ausgefllt wurde.;ENU=You cannot change the %1 when the %2 has been filled in.'; Text030@1030 : TextConst 'DEU=Das L”schen dieses Belegs verursacht eine Lcke in der Nummernserie fr Rcksendungen. Die leere Rcksendung ''%1'' wird erstellt, um die Lcke in der Nummernserie zu schlieáen.\\Soll der Vorgang fortgesetzt werden?;ENU=Deleting this document will cause a gap in the number series for return receipts. An empty return receipt %1 will be created to fill this gap in the number series.\\Do you want to continue?'; Text031@1031 : TextConst 'DEU=Sie haben das Feld %1 ge„ndert.\\;ENU=You have modified %1.\\'; Text032@1032 : TextConst 'DEU=M”chten Sie die Zeilen aktualisieren?;ENU=Do you want to update the lines?'; Text067@2002 : TextConst 'DEU=%1 %4 mit dem Betrag %2 wurde bereits fr %3 autorisiert und ist noch nicht abgelaufen. Die vorherige Autorisierung muss zurckgenommen werden, bevor %1 wieder autorisiert werden kann.;ENU=%1 %4 with amount of %2 has already been authorized on %3 and is not expired yet. You must void the previous authorization before you can re-authorize this %1.'; Text068@2003 : TextConst 'DEU=Keine zu stornierenden Elemente.;ENU=There is nothing to void.'; Text069@2004 : TextConst 'DEU=Der ausgew„hlte Vorgang kann mit %1 (angegeben) nicht abgeschlossen werden.;ENU=The selected operation cannot complete with the specified %1.'; SalesSetup@1033 : Record 311; GLSetup@1034 : Record 98; GLAcc@1035 : Record 15; SalesHeader@1036 : Record 36; SalesLine@1037 : Record 37; CustLedgEntry@1038 : Record 21; Cust@1039 : Record 18; PaymentTerms@1040 : Record 3; PaymentMethod@1041 : Record 289; CurrExchRate@1042 : Record 330; SalesCommentLine@1043 : Record 44; ShipToAddr@1044 : Record 222; PostCode@1045 : Record 225; BankAcc@1046 : Record 270; SalesShptHeader@1047 : Record 110; SalesInvHeader@1048 : Record 112; SalesCrMemoHeader@1049 : Record 114; ReturnRcptHeader@1050 : Record 6660; SalesInvHeaderPrepmt@1101 : Record 112; SalesCrMemoHeaderPrepmt@1100 : Record 114; GenBusPostingGrp@1051 : Record 250; GenJnILine@1052 : Record 81; RespCenter@1053 : Record 5714; InvtSetup@1054 : Record 313; Location@1055 : Record 14; WhseRequest@1056 : Record 5765; ShippingAgentService@1057 : Record 5790; TempReqLine@1089 : TEMPORARY Record 246; UserSetupMgt@1058 : Codeunit 5700; NoSeriesMgt@1059 : Codeunit 396; CustCheckCreditLimit@1060 : Codeunit 312; TransferExtendedText@1061 : Codeunit 378; GenJnlApply@1062 : Codeunit 225; SalesPost@1063 : Codeunit 80; CustEntrySetApplID@1064 : Codeunit 101; DimMgt@1065 : Codeunit 408; ApprovalMgt@1099 : Codeunit 439; WhseSourceHeader@1073 : Codeunit 5781; ArchiveManagement@1075 : Codeunit 5063; SalesLineReserve@1066 : Codeunit 99000832; DOPaymentMgt@2000 : Codeunit 825; DOPaymentTransLogMgt@2001 : Codeunit 829; ApplyCustEntries@1067 : Page 232; CurrencyDate@1068 : Date; HideValidationDialog@1069 : Boolean; Confirmed@1070 : Boolean; Text035@1076 : TextConst 'DEU=Sie k”nnen Angebote nicht freigeben oder Auftr„ge erstellen, solange Sie keinen Debitor auf dem Angebot angegeben haben.\\M”chten Sie jetzt einen Debitor erstellen?;ENU=You cannot Release Quote or Make Order unless you specify a customer on the quote.\\Do you want to create customer(s) now?'; Text037@1078 : TextConst 'DEU=Kontakt %1 %2 ist nicht mit Debitor %3 verknpft.;ENU=Contact %1 %2 is not related to customer %3.'; Text038@1074 : TextConst 'DEU=Kontakt %1 %2 ist mit einem anderen Unternehmen als Debitor %3 verknpft.;ENU=Contact %1 %2 is related to a different company than customer %3.'; Text039@1086 : TextConst 'DEU=Kontakt %1 %2 ist nicht mit einem Debitor verknpft.;ENU=Contact %1 %2 is not related to a customer.'; ReservEntry@1079 : Record 337; TempReservEntry@1080 : TEMPORARY Record 337; Text040@1083 : TextConst 'DEU=Mit diesem Auftrag ist eine gewonnene Verkaufschance verknpft.\Der Status der Verkaufschance muss in ''Verloren'' ge„ndert werden, um den Auftrag l”schen zu k”nnen.\M”chten Sie den Status dieser Verkaufschance jetzt „ndern?;ENU=A won opportunity is linked to this order.\It has to be changed to status Lost before the Order can be deleted.\Do you want to change the status for this opportunity now?'; Text043@1087 : TextConst 'DEU=Assistent abgebrochen;ENU=Wizard Aborted'; Text044@1088 : TextConst 'DEU=Der Status der Verkaufschance wurde nicht ge„ndert. Das System hat das L”schen des Auftrags abgebrochen.;ENU=The status of the opportunity has not been changed. The program has aborted deleting the order.'; SkipSellToContact@1016 : Boolean; SkipBillToContact@1025 : Boolean; Text045@1081 : TextConst 'DEU=Sie k”nnen das Feld %1 nicht „ndern, da die %2 %3 als %4 %5 hat und dem Beleg der Art %6 bereits die %7 %8 zugewiesen wurde.;ENU="You can not change the %1 field because %2 %3 has %4 = %5 and the %6 has already been assigned %7 %8."'; Text048@1091 : TextConst 'DEU=Verkaufsangebot %1 wurde bereits Verkaufschance %2 zugewiesen. M”chten Sie dieses Angebot neu zuweisen?;ENU=Sales quote %1 has already been assigned to opportunity %2. Would you like to reassign this quote?'; Text049@1092 : TextConst 'DEU=Das Feld %1 darf nicht leer sein, weil dieses Angebot mit einer Verkaufschance verknpft ist.;ENU=The %1 field cannot be blank because this quote is linked to an opportunity.'; InsertMode@1093 : Boolean; CompanyInfo@1094 : Record 79; HideCreditCheckDialogue@1097 : Boolean; Text051@1071 : TextConst 'DEU=Der Verkauf %1 %2 ist bereits vorhanden.;ENU=The sales %1 %2 already exists.'; Text052@1098 : TextConst 'DEU=Fr den Verkauf %1 %2 wurde Artikelverfolgung eingerichtet. M”chten Sie ihn trotzdem l”schen?;ENU=The sales %1 %2 has item tracking. Do you want to delete it anyway?'; Text053@1102 : TextConst 'DEU=Der Genehmigungsprozess muss abgebrochen werden, wenn Sie %1 „ndern m”chten.;ENU=You must cancel the approval process if you wish to change the %1.'; Text055@1008 : TextConst 'DEU=M”chten Sie die Vorauszahlungsrechnung %1 drucken?;ENU=Do you want to print prepayment invoice %1?'; Text054@1010 : TextConst 'DEU=M”chten Sie die Vorauszahlungsgutschrift %1 drucken?;ENU=Do you want to print prepayment credit memo %1?'; Text056@1105 : TextConst 'DEU=Das L”schen dieses Belegs verursacht eine Lcke in der Nummernserie fr Vorauszahlungsrechnungen. Die leere Vorauszahlungsrechnung ''%1'' wird erstellt, um die Lcke in der Nummernserie zu schlieáen.\\Soll der Vorgang fortgesetzt werden?;ENU=Deleting this document will cause a gap in the number series for prepayment invoices. An empty prepayment invoice %1 will be created to fill this gap in the number series.\\Do you want to continue?'; Text057@1108 : TextConst 'DEU=Das L”schen dieses Belegs verursacht eine Lcke in der Nummernserie fr Vorauszahlungsgutschriften. Die leere gebuchte Vorauszahlungsgutschrift ''%1'' wird erstellt, um die Lcke in der Nummernserie zu schlieáen.\\Soll der Vorgang fortgesetzt werden?;ENU=Deleting this document will cause a gap in the number series for prepayment credit memos. An empty prepayment credit memo %1 will be created to fill this gap in the number series.\\Do you want to continue?'; Text061@1110 : TextConst 'DEU=%1 ist nur fr die Verarbeitung von %2 %3 eingerichtet.;ENU=%1 is set up to process from %2 %3 only.'; Text062@1072 : TextConst 'DEU=%1 kann aufgrund der Zuordnung von %2 %3 zu %4 nicht ge„ndert werden.;ENU=You cannot change %1 because the corresponding %2 %3 has been assigned to this %4.'; Text063@1077 : TextConst 'DEU=Fr den Auftrag sind Reservierungen vorhanden. Diese Reservierungen werden storniert, falls durch die Žnderung ein Datumskonflikt verursacht wird.\\Soll der Vorgang fortgesetzt werden?;ENU=Reservations exist for this order. These reservations will be canceled if a date conflict is caused by this change.\\Do you want to continue?'; Text064@1090 : TextConst 'DEU=Sie haben unter Umst„nden eine Dimension ge„ndert.\\M”chten Sie die Zeilen aktualisieren?;ENU=You may have changed a dimension.\\Do you want to update the lines?'; UpdateDocumentDate@1120 : Boolean; Text066@1095 : TextConst 'DEU=%1 kann aufgrund einer offenen Lagerkommissionierung fr %3 nicht in %2 ge„ndert werden.;ENU=You cannot change %1 to %2 because an open inventory pick on the %3.'; Text070@1096 : TextConst 'DEU=%1 kann aufgrund eines offenen Warenausgangs fr %3 nicht in %2 ge„ndert werden.;ENU=You cannot change %1 to %2 because an open warehouse shipment exists for the %3.'; BilltoCustomerNoChanged@1121 : Boolean; Text071@1011 : TextConst 'DEU=Fr den Beleg vom Typ %1 mit der Nummer %2 sind unbezahlte Vorauszahlungsrechnungen vorhanden.;ENU=There are unpaid prepayment invoices that are related to the document of type %1 with the number %2.'; Text072@1013 : TextConst 'DEU=Fr den Beleg vom Typ ''%1'' mit der Nummer %2 sind unbezahlte Vorauszahlungsrechnungen vorhanden.;ENU=There are unpaid prepayment invoices related to the document of type %1 with the number %2.'; SynchronizingMsg@1026 : TextConst 'DEU=Wird synchronisiert ...\ von: Verkaufskopf mit %1\ zu: Montagekopf mit %2.;ENU=Synchronizing ...\ from: Sales Header with %1\ to: Assembly Header with %2.'; ShippingAdviceErr@1029 : TextConst 'DEU=This order must be a complete Shipment.;ENU=This order must be a complete Shipment.'; PROCEDURE InitRecord@10(); BEGIN SalesSetup.GET; CASE "Document Type" OF "Document Type"::Quote,"Document Type"::Order: BEGIN NoSeriesMgt.SetDefaultSeries("Posting No. Series",SalesSetup."Posted Invoice Nos."); NoSeriesMgt.SetDefaultSeries("Shipping No. Series",SalesSetup."Posted Shipment Nos."); IF "Document Type" = "Document Type"::Order THEN BEGIN NoSeriesMgt.SetDefaultSeries("Prepayment No. Series",SalesSetup."Posted Prepmt. Inv. Nos."); NoSeriesMgt.SetDefaultSeries("Prepmt. Cr. Memo No. Series",SalesSetup."Posted Prepmt. Cr. Memo Nos."); END; END; "Document Type"::Invoice: BEGIN IF ("No. Series" <> '') AND (SalesSetup."Invoice Nos." = SalesSetup."Posted Invoice Nos.") THEN "Posting No. Series" := "No. Series" ELSE NoSeriesMgt.SetDefaultSeries("Posting No. Series",SalesSetup."Posted Invoice Nos."); IF SalesSetup."Shipment on Invoice" THEN NoSeriesMgt.SetDefaultSeries("Shipping No. Series",SalesSetup."Posted Shipment Nos."); END; "Document Type"::"Return Order": BEGIN NoSeriesMgt.SetDefaultSeries("Posting No. Series",SalesSetup."Posted Credit Memo Nos."); NoSeriesMgt.SetDefaultSeries("Return Receipt No. Series",SalesSetup."Posted Return Receipt Nos."); END; "Document Type"::"Credit Memo": BEGIN IF ("No. Series" <> '') AND (SalesSetup."Credit Memo Nos." = SalesSetup."Posted Credit Memo Nos.") THEN "Posting No. Series" := "No. Series" ELSE NoSeriesMgt.SetDefaultSeries("Posting No. Series",SalesSetup."Posted Credit Memo Nos."); IF SalesSetup."Return Receipt on Credit Memo" THEN NoSeriesMgt.SetDefaultSeries("Return Receipt No. Series",SalesSetup."Posted Return Receipt Nos."); END; END; IF "Document Type" IN ["Document Type"::Order,"Document Type"::Invoice,"Document Type"::Quote] THEN BEGIN "Shipment Date" := WORKDATE; "Order Date" := WORKDATE; END; IF "Document Type" = "Document Type"::"Return Order" THEN "Order Date" := WORKDATE; IF NOT ("Document Type" IN ["Document Type"::"Blanket Order","Document Type"::Quote]) AND ("Posting Date" = 0D) THEN "Posting Date" := WORKDATE; IF SalesSetup."Default Posting Date" = SalesSetup."Default Posting Date"::"No Date" THEN "Posting Date" := 0D; "Document Date" := WORKDATE; VALIDATE("Location Code",UserSetupMgt.GetLocation(0,Cust."Location Code","Responsibility Center")); IF "Document Type" IN ["Document Type"::"Return Order","Document Type"::"Credit Memo"] THEN BEGIN GLSetup.GET; Correction := GLSetup."Mark Cr. Memos as Corrections"; END; "Posting Description" := FORMAT("Document Type") + ' ' + "No."; Reserve := Reserve::Optional; IF InvtSetup.GET THEN VALIDATE("Outbound Whse. Handling Time",InvtSetup."Outbound Whse. Handling Time"); "Responsibility Center" := UserSetupMgt.GetRespCenter(0,"Responsibility Center"); END; PROCEDURE AssistEdit@1(OldSalesHeader@1000 : Record 36) : Boolean; VAR SalesHeader2@1001 : Record 36; NoSeries@1002 : Code[10]; BEGIN SalesSetup.GET; TestNoSeries; NoSeries := "No. Series"; IF NoSeriesMgt.SelectSeries(GetNoSeriesCode,OldSalesHeader."No. Series","No. Series") AND (NoSeries <> "No. Series") THEN BEGIN IF ("Sell-to Customer No." = '') AND ("Sell-to Contact No." = '') THEN BEGIN HideCreditCheckDialogue := FALSE; CheckCreditMaxBeforeInsert; HideCreditCheckDialogue := TRUE; END; NoSeriesMgt.SetSeries("No."); IF SalesHeader2.GET("Document Type","No.") THEN ERROR(Text051,LOWERCASE(FORMAT("Document Type")),"No."); EXIT(TRUE); END; END; LOCAL PROCEDURE TestNoSeries@6() : Boolean; BEGIN SalesSetup.GET; CASE "Document Type" OF "Document Type"::Quote: SalesSetup.TESTFIELD("Quote Nos."); "Document Type"::Order: SalesSetup.TESTFIELD("Order Nos."); "Document Type"::Invoice: BEGIN SalesSetup.TESTFIELD("Invoice Nos."); SalesSetup.TESTFIELD("Posted Invoice Nos."); END; "Document Type"::"Return Order": SalesSetup.TESTFIELD("Return Order Nos."); "Document Type"::"Credit Memo": BEGIN SalesSetup.TESTFIELD("Credit Memo Nos."); SalesSetup.TESTFIELD("Posted Credit Memo Nos."); END; "Document Type"::"Blanket Order": SalesSetup.TESTFIELD("Blanket Order Nos."); END; END; LOCAL PROCEDURE GetNoSeriesCode@9() : Code[10]; BEGIN CASE "Document Type" OF "Document Type"::Quote: EXIT(SalesSetup."Quote Nos."); "Document Type"::Order: EXIT(SalesSetup."Order Nos."); "Document Type"::Invoice: EXIT(SalesSetup."Invoice Nos."); "Document Type"::"Return Order": EXIT(SalesSetup."Return Order Nos."); "Document Type"::"Credit Memo": EXIT(SalesSetup."Credit Memo Nos."); "Document Type"::"Blanket Order": EXIT(SalesSetup."Blanket Order Nos."); END; END; LOCAL PROCEDURE GetPostingNoSeriesCode@8() : Code[10]; BEGIN IF "Document Type" IN ["Document Type"::"Return Order","Document Type"::"Credit Memo"] THEN EXIT(SalesSetup."Posted Credit Memo Nos."); EXIT(SalesSetup."Posted Invoice Nos."); END; LOCAL PROCEDURE GetPostingPrepaymentNoSeriesCode@59() : Code[10]; BEGIN IF "Document Type" IN ["Document Type"::"Return Order","Document Type"::"Credit Memo"] THEN EXIT(SalesSetup."Posted Prepmt. Cr. Memo Nos."); EXIT(SalesSetup."Posted Prepmt. Inv. Nos."); END; LOCAL PROCEDURE TestNoSeriesDate@40(No@1000 : Code[20];NoSeriesCode@1001 : Code[10];NoCapt@1002 : Text[1024];NoSeriesCapt@1004 : Text[1024]); VAR NoSeries@1005 : Record 308; BEGIN IF (No <> '') AND (NoSeriesCode <> '') THEN BEGIN NoSeries.GET(NoSeriesCode); IF NoSeries."Date Order" THEN ERROR( Text045, FIELDCAPTION("Posting Date"),NoSeriesCapt,NoSeriesCode, NoSeries.FIELDCAPTION("Date Order"),NoSeries."Date Order","Document Type", NoCapt,No); END; END; PROCEDURE ConfirmDeletion@11() : Boolean; BEGIN SalesPost.TestDeleteHeader( Rec,SalesShptHeader,SalesInvHeader,SalesCrMemoHeader,ReturnRcptHeader, SalesInvHeaderPrepmt,SalesCrMemoHeaderPrepmt); IF SalesShptHeader."No." <> '' THEN IF NOT CONFIRM( Text009,TRUE, SalesShptHeader."No.") THEN EXIT; IF SalesInvHeader."No." <> '' THEN IF NOT CONFIRM( Text012,TRUE, SalesInvHeader."No.") THEN EXIT; IF SalesCrMemoHeader."No." <> '' THEN IF NOT CONFIRM( Text014,TRUE, SalesCrMemoHeader."No.") THEN EXIT; IF ReturnRcptHeader."No." <> '' THEN IF NOT CONFIRM( Text030,TRUE, ReturnRcptHeader."No.") THEN EXIT; IF "Prepayment No." <> '' THEN IF NOT CONFIRM( Text056,TRUE, SalesInvHeaderPrepmt."No.") THEN EXIT; IF "Prepmt. Cr. Memo No." <> '' THEN IF NOT CONFIRM( Text057,TRUE, SalesCrMemoHeaderPrepmt."No.") THEN EXIT; EXIT(TRUE); END; LOCAL PROCEDURE GetCust@2(CustNo@1000 : Code[20]); BEGIN IF NOT (("Document Type" = "Document Type"::Quote) AND (CustNo = '')) THEN BEGIN IF CustNo <> Cust."No." THEN Cust.GET(CustNo); END ELSE CLEAR(Cust); END; PROCEDURE SalesLinesExist@3() : Boolean; BEGIN SalesLine.RESET; SalesLine.SETRANGE("Document Type","Document Type"); SalesLine.SETRANGE("Document No.","No."); EXIT(SalesLine.FINDFIRST); END; PROCEDURE RecreateSalesLines@4(ChangedFieldName@1000 : Text[100]); VAR SalesLineTmp@1001 : TEMPORARY Record 37; ItemChargeAssgntSales@1004 : Record 5809; TempItemChargeAssgntSales@1003 : TEMPORARY Record 5809; TempInteger@1006 : TEMPORARY Record 2000000026; TempATOLink@1009 : TEMPORARY Record 904; ATOLink@1010 : Record 904; ExtendedTextAdded@1002 : Boolean; BEGIN IF SalesLinesExist THEN BEGIN IF HideValidationDialog OR NOT GUIALLOWED THEN Confirmed := TRUE ELSE Confirmed := CONFIRM( Text015,FALSE,ChangedFieldName); IF Confirmed THEN BEGIN SalesLine.LOCKTABLE; ItemChargeAssgntSales.LOCKTABLE; ReservEntry.LOCKTABLE; MODIFY; SalesLine.RESET; SalesLine.SETRANGE("Document Type","Document Type"); SalesLine.SETRANGE("Document No.","No."); IF SalesLine.FINDSET THEN BEGIN TempReservEntry.DELETEALL; REPEAT SalesLine.TESTFIELD("Job No.",''); SalesLine.TESTFIELD("Job Contract Entry No.",0); SalesLine.TESTFIELD("Quantity Shipped",0); SalesLine.TESTFIELD("Quantity Invoiced",0); SalesLine.TESTFIELD("Return Qty. Received",0); SalesLine.TESTFIELD("Shipment No.",''); SalesLine.TESTFIELD("Return Receipt No.",''); SalesLine.TESTFIELD("Blanket Order No.",''); SalesLine.TESTFIELD("Prepmt. Amt. Inv.",0); IF (SalesLine."Location Code" <> "Location Code") AND NOT SalesLine.IsServiceItem THEN SalesLine.VALIDATE("Location Code","Location Code"); SalesLineTmp := SalesLine; IF SalesLine.Nonstock THEN BEGIN SalesLine.Nonstock := FALSE; SalesLine.MODIFY; END; IF ATOLink.AsmExistsForSalesLine(SalesLineTmp) THEN BEGIN TempATOLink := ATOLink; TempATOLink.INSERT; ATOLink.DELETE; END; SalesLineTmp.INSERT; RecreateReservEntry(SalesLine,0,TRUE); RecreateReqLine(SalesLine,0,TRUE); UNTIL SalesLine.NEXT = 0; ItemChargeAssgntSales.SETRANGE("Document Type","Document Type"); ItemChargeAssgntSales.SETRANGE("Document No.","No."); IF ItemChargeAssgntSales.FINDSET THEN BEGIN REPEAT TempItemChargeAssgntSales.INIT; TempItemChargeAssgntSales := ItemChargeAssgntSales; TempItemChargeAssgntSales.INSERT; UNTIL ItemChargeAssgntSales.NEXT = 0; ItemChargeAssgntSales.DELETEALL; END; SalesLine.DELETEALL(TRUE); SalesLine.INIT; SalesLine."Line No." := 0; SalesLineTmp.FINDSET; ExtendedTextAdded := FALSE; SalesLine.BlockDynamicTracking(TRUE); REPEAT IF SalesLineTmp."Attached to Line No." = 0 THEN BEGIN SalesLine.INIT; SalesLine."Line No." := SalesLine."Line No." + 10000; SalesLine.VALIDATE(Type,SalesLineTmp.Type); IF SalesLineTmp."No." = '' THEN BEGIN SalesLine.VALIDATE(Description,SalesLineTmp.Description); SalesLine.VALIDATE("Description 2",SalesLineTmp."Description 2"); END ELSE BEGIN SalesLine.VALIDATE("No.",SalesLineTmp."No."); IF SalesLine.Type <> SalesLine.Type::" " THEN BEGIN SalesLine.VALIDATE("Unit of Measure Code",SalesLineTmp."Unit of Measure Code"); SalesLine.VALIDATE("Variant Code",SalesLineTmp."Variant Code"); IF SalesLineTmp.Quantity <> 0 THEN BEGIN SalesLine.VALIDATE(Quantity,SalesLineTmp.Quantity); SalesLine.VALIDATE("Qty. to Assemble to Order",SalesLineTmp."Qty. to Assemble to Order"); END; SalesLine."Purchase Order No." := SalesLineTmp."Purchase Order No."; SalesLine."Purch. Order Line No." := SalesLineTmp."Purch. Order Line No."; SalesLine."Drop Shipment" := SalesLine."Purch. Order Line No." <> 0; END; END; SalesLine.INSERT; ExtendedTextAdded := FALSE; IF SalesLine.Type = SalesLine.Type::Item THEN BEGIN ClearItemAssgntSalesFilter(TempItemChargeAssgntSales); TempItemChargeAssgntSales.SETRANGE("Applies-to Doc. Type",SalesLineTmp."Document Type"); TempItemChargeAssgntSales.SETRANGE("Applies-to Doc. No.",SalesLineTmp."Document No."); TempItemChargeAssgntSales.SETRANGE("Applies-to Doc. Line No.",SalesLineTmp."Line No."); IF TempItemChargeAssgntSales.FINDSET THEN REPEAT IF NOT TempItemChargeAssgntSales.MARK THEN BEGIN TempItemChargeAssgntSales."Applies-to Doc. Line No." := SalesLine."Line No."; TempItemChargeAssgntSales.Description := SalesLine.Description; TempItemChargeAssgntSales.MODIFY; TempItemChargeAssgntSales.MARK(TRUE); END; UNTIL TempItemChargeAssgntSales.NEXT = 0; END; IF SalesLine.Type = SalesLine.Type::"Charge (Item)" THEN BEGIN TempInteger.INIT; TempInteger.Number := SalesLine."Line No."; TempInteger.INSERT; END; END ELSE IF NOT ExtendedTextAdded THEN BEGIN TransferExtendedText.SalesCheckIfAnyExtText(SalesLine,TRUE); TransferExtendedText.InsertSalesExtText(SalesLine); SalesLine.FINDLAST; ExtendedTextAdded := TRUE; END; RecreateReservEntry(SalesLineTmp,SalesLine."Line No.",FALSE); RecreateReqLine(SalesLineTmp,SalesLine."Line No.",FALSE); SynchronizeForReservations(SalesLine,SalesLineTmp); IF TempATOLink.AsmExistsForSalesLine(SalesLineTmp) THEN BEGIN ATOLink := TempATOLink; ATOLink.INSERT; SalesLine.AutoAsmToOrder; TempATOLink.DELETE; END; UNTIL SalesLineTmp.NEXT = 0; ClearItemAssgntSalesFilter(TempItemChargeAssgntSales); SalesLineTmp.SETRANGE(Type,SalesLine.Type::"Charge (Item)"); IF SalesLineTmp.FINDSET THEN REPEAT TempItemChargeAssgntSales.SETRANGE("Document Line No.",SalesLineTmp."Line No."); IF TempItemChargeAssgntSales.FINDSET THEN BEGIN REPEAT TempInteger.FINDFIRST; ItemChargeAssgntSales.INIT; ItemChargeAssgntSales := TempItemChargeAssgntSales; ItemChargeAssgntSales."Document Line No." := TempInteger.Number; ItemChargeAssgntSales.VALIDATE("Unit Cost",0); ItemChargeAssgntSales.INSERT; UNTIL TempItemChargeAssgntSales.NEXT = 0; TempInteger.DELETE; END; UNTIL SalesLineTmp.NEXT = 0; SalesLineTmp.SETRANGE(Type); SalesLineTmp.DELETEALL; ClearItemAssgntSalesFilter(TempItemChargeAssgntSales); TempItemChargeAssgntSales.DELETEALL; END; END ELSE ERROR( Text017,ChangedFieldName); END; SalesLine.BlockDynamicTracking(FALSE); END; PROCEDURE MessageIfSalesLinesExist@5(ChangedFieldName@1000 : Text[100]); BEGIN IF SalesLinesExist AND NOT HideValidationDialog THEN MESSAGE( Text018 + Text019, ChangedFieldName); END; PROCEDURE PriceMessageIfSalesLinesExist@7(ChangedFieldName@1000 : Text[100]); BEGIN IF SalesLinesExist AND NOT HideValidationDialog THEN MESSAGE( Text018 + Text020,ChangedFieldName); END; LOCAL PROCEDURE UpdateCurrencyFactor@12(); BEGIN IF "Currency Code" <> '' THEN BEGIN IF "Posting Date" <> 0D THEN CurrencyDate := "Posting Date" ELSE CurrencyDate := WORKDATE; "Currency Factor" := CurrExchRate.ExchangeRate(CurrencyDate,"Currency Code"); END ELSE "Currency Factor" := 0; END; LOCAL PROCEDURE ConfirmUpdateCurrencyFactor@13(); BEGIN IF HideValidationDialog THEN Confirmed := TRUE ELSE Confirmed := CONFIRM(Text021,FALSE); IF Confirmed THEN VALIDATE("Currency Factor") ELSE "Currency Factor" := xRec."Currency Factor"; END; PROCEDURE SetHideValidationDialog@14(NewHideValidationDialog@1000 : Boolean); BEGIN HideValidationDialog := NewHideValidationDialog; END; PROCEDURE UpdateSalesLines@15(ChangedFieldName@1000 : Text[100];AskQuestion@1001 : Boolean); VAR JobTransferLine@1004 : Codeunit 1004; Question@1002 : Text[250]; BEGIN IF NOT SalesLinesExist THEN EXIT; IF AskQuestion THEN BEGIN Question := STRSUBSTNO( Text031 + Text032,ChangedFieldName); IF GUIALLOWED THEN IF DIALOG.CONFIRM(Question,TRUE) THEN CASE ChangedFieldName OF FIELDCAPTION("Shipment Date"), FIELDCAPTION("Shipping Agent Code"), FIELDCAPTION("Shipping Agent Service Code"), FIELDCAPTION("Shipping Time"), FIELDCAPTION("Requested Delivery Date"), FIELDCAPTION("Promised Delivery Date"), FIELDCAPTION("Outbound Whse. Handling Time"): ConfirmResvDateConflict; END ELSE EXIT; END; SalesLine.LOCKTABLE; MODIFY; SalesLine.RESET; SalesLine.SETRANGE("Document Type","Document Type"); SalesLine.SETRANGE("Document No.","No."); IF SalesLine.FINDSET THEN REPEAT CASE ChangedFieldName OF FIELDCAPTION("Shipment Date"): IF SalesLine."No." <> '' THEN SalesLine.VALIDATE("Shipment Date","Shipment Date"); FIELDCAPTION("Currency Factor"): IF SalesLine.Type <> SalesLine.Type::" " THEN BEGIN SalesLine.VALIDATE("Unit Price"); SalesLine.VALIDATE("Unit Cost (LCY)"); IF SalesLine."Job No." <> '' THEN JobTransferLine.FromSalesHeaderToPlanningLine(SalesLine,"Currency Factor"); END; FIELDCAPTION("Transaction Type"): SalesLine.VALIDATE("Transaction Type","Transaction Type"); FIELDCAPTION("Transport Method"): SalesLine.VALIDATE("Transport Method","Transport Method"); FIELDCAPTION("Exit Point"): SalesLine.VALIDATE("Exit Point","Exit Point"); FIELDCAPTION(Area): SalesLine.VALIDATE(Area,Area); FIELDCAPTION("Transaction Specification"): SalesLine.VALIDATE("Transaction Specification","Transaction Specification"); FIELDCAPTION("Shipping Agent Code"): SalesLine.VALIDATE("Shipping Agent Code","Shipping Agent Code"); FIELDCAPTION("Shipping Agent Service Code"): IF SalesLine."No." <> '' THEN SalesLine.VALIDATE("Shipping Agent Service Code","Shipping Agent Service Code"); FIELDCAPTION("Shipping Time"): IF SalesLine."No." <> '' THEN SalesLine.VALIDATE("Shipping Time","Shipping Time"); FIELDCAPTION("Prepayment %"): IF SalesLine."No." <> '' THEN SalesLine.VALIDATE("Prepayment %","Prepayment %"); FIELDCAPTION("Requested Delivery Date"): IF SalesLine."No." <> '' THEN SalesLine.VALIDATE("Requested Delivery Date","Requested Delivery Date"); FIELDCAPTION("Promised Delivery Date"): IF SalesLine."No." <> '' THEN SalesLine.VALIDATE("Promised Delivery Date","Promised Delivery Date"); FIELDCAPTION("Outbound Whse. Handling Time"): IF SalesLine."No." <> '' THEN SalesLine.VALIDATE("Outbound Whse. Handling Time","Outbound Whse. Handling Time"); END; SalesLineReserve.AssignForPlanning(SalesLine); SalesLine.MODIFY(TRUE); UNTIL SalesLine.NEXT = 0; END; PROCEDURE ConfirmResvDateConflict@41(); VAR ResvEngMgt@1000 : Codeunit 99000831; BEGIN IF ResvEngMgt.ResvExistsForSalesHeader(Rec) THEN IF NOT CONFIRM(Text063,FALSE) THEN ERROR(''); END; PROCEDURE CreateDim@16(Type1@1000 : Integer;No1@1001 : Code[20];Type2@1002 : Integer;No2@1003 : Code[20];Type3@1004 : Integer;No3@1005 : Code[20];Type4@1006 : Integer;No4@1007 : Code[20];Type5@1008 : Integer;No5@1009 : Code[20]); VAR SourceCodeSetup@1010 : Record 242; TableID@1011 : ARRAY [10] OF Integer; No@1012 : ARRAY [10] OF Code[20]; OldDimSetID@1013 : Integer; BEGIN SourceCodeSetup.GET; TableID[1] := Type1; No[1] := No1; TableID[2] := Type2; No[2] := No2; TableID[3] := Type3; No[3] := No3; TableID[4] := Type4; No[4] := No4; TableID[5] := Type5; No[5] := No5; "Shortcut Dimension 1 Code" := ''; "Shortcut Dimension 2 Code" := ''; OldDimSetID := "Dimension Set ID"; "Dimension Set ID" := DimMgt.GetDefaultDimID(TableID,No,SourceCodeSetup.Sales,"Shortcut Dimension 1 Code","Shortcut Dimension 2 Code",0,0); IF (OldDimSetID <> "Dimension Set ID") AND SalesLinesExist THEN BEGIN MODIFY; UpdateAllLineDim("Dimension Set ID",OldDimSetID); END; END; PROCEDURE InitDefaultDim@58(); BEGIN CreateDim( DATABASE::Customer,"Bill-to Customer No.", DATABASE::"Salesperson/Purchaser","Salesperson Code", DATABASE::Campaign,"Campaign No.", DATABASE::"Responsibility Center","Responsibility Center", DATABASE::"Customer Template","Bill-to Customer Template Code"); END; PROCEDURE ValidateShortcutDimCode@19(FieldNumber@1000 : Integer;VAR ShortcutDimCode@1001 : Code[20]); VAR OldDimSetID@1005 : Integer; BEGIN OldDimSetID := "Dimension Set ID"; DimMgt.ValidateShortcutDimValues(FieldNumber,ShortcutDimCode,"Dimension Set ID"); IF "No." <> '' THEN MODIFY; IF OldDimSetID <> "Dimension Set ID" THEN BEGIN MODIFY; IF SalesLinesExist THEN UpdateAllLineDim("Dimension Set ID",OldDimSetID); END; END; PROCEDURE ShippedSalesLinesExist@22() : Boolean; BEGIN SalesLine.RESET; SalesLine.SETRANGE("Document Type","Document Type"); SalesLine.SETRANGE("Document No.","No."); SalesLine.SETFILTER("Quantity Shipped",'<>0'); EXIT(SalesLine.FINDFIRST); END; PROCEDURE ReturnReceiptExist@5800() : Boolean; BEGIN SalesLine.RESET; SalesLine.SETRANGE("Document Type","Document Type"); SalesLine.SETRANGE("Document No.","No."); SalesLine.SETFILTER("Return Qty. Received",'<>0'); EXIT(SalesLine.FINDFIRST); END; LOCAL PROCEDURE DeleteSalesLines@20(); BEGIN IF SalesLine.FINDSET THEN BEGIN HandleItemTrackingDeletion; REPEAT SalesLine.SuspendStatusCheck(TRUE); SalesLine.DELETE(TRUE); UNTIL SalesLine.NEXT = 0; END; END; PROCEDURE HandleItemTrackingDeletion@36(); VAR ReservEntry2@1000 : Record 337; BEGIN WITH ReservEntry DO BEGIN RESET; SETCURRENTKEY( "Source ID","Source Ref. No.","Source Type","Source Subtype", "Source Batch Name","Source Prod. Order Line","Reservation Status"); SETRANGE("Source Type",DATABASE::"Sales Line"); SETRANGE("Source Subtype","Document Type"); SETRANGE("Source ID","No."); SETRANGE("Source Batch Name",''); SETRANGE("Source Prod. Order Line",0); SETFILTER("Item Tracking",'> %1',"Item Tracking"::None); IF ISEMPTY THEN EXIT; IF HideValidationDialog OR NOT GUIALLOWED THEN Confirmed := TRUE ELSE Confirmed := CONFIRM(Text052,FALSE,LOWERCASE(FORMAT("Document Type")),"No."); IF NOT Confirmed THEN ERROR(''); IF FINDSET THEN REPEAT ReservEntry2 := ReservEntry; ReservEntry2.ClearItemTrackingFields; ReservEntry2.MODIFY; UNTIL NEXT = 0; END; END; LOCAL PROCEDURE ClearItemAssgntSalesFilter@17(VAR TempItemChargeAssgntSales@1000 : Record 5809); BEGIN TempItemChargeAssgntSales.SETRANGE("Document Line No."); TempItemChargeAssgntSales.SETRANGE("Applies-to Doc. Type"); TempItemChargeAssgntSales.SETRANGE("Applies-to Doc. No."); TempItemChargeAssgntSales.SETRANGE("Applies-to Doc. Line No."); END; PROCEDURE CheckCustomerCreated@18(Prompt@1000 : Boolean) : Boolean; VAR Cont@1001 : Record 5050; BEGIN IF ("Bill-to Customer No." <> '') AND ("Sell-to Customer No." <> '') THEN EXIT(TRUE); IF Prompt THEN IF NOT CONFIRM(Text035,TRUE) THEN EXIT(FALSE); IF "Sell-to Customer No." = '' THEN BEGIN TESTFIELD("Sell-to Contact No."); TESTFIELD("Sell-to Customer Template Code"); Cont.GET("Sell-to Contact No."); Cont.CreateCustomer("Sell-to Customer Template Code"); COMMIT; GET("Document Type"::Quote,"No."); END; IF "Bill-to Customer No." = '' THEN BEGIN TESTFIELD("Bill-to Contact No."); TESTFIELD("Bill-to Customer Template Code"); Cont.GET("Bill-to Contact No."); Cont.CreateCustomer("Bill-to Customer Template Code"); COMMIT; GET("Document Type"::Quote,"No."); END; EXIT(("Bill-to Customer No." <> '') AND ("Sell-to Customer No." <> '')); END; PROCEDURE RecreateReservEntry@21(OldSalesLine@1000 : Record 37;NewSourceRefNo@1001 : Integer;ToTemp@1002 : Boolean); BEGIN IF ToTemp THEN BEGIN CLEAR(ReservEntry); ReservEntry.SETCURRENTKEY("Source ID","Source Ref. No.","Source Type","Source Subtype"); ReservEntry.SETRANGE("Source ID",OldSalesLine."Document No."); ReservEntry.SETRANGE("Source Ref. No.",OldSalesLine."Line No."); ReservEntry.SETRANGE("Source Type",DATABASE::"Sales Line"); ReservEntry.SETRANGE("Source Subtype",OldSalesLine."Document Type"); IF ReservEntry.FINDSET THEN REPEAT TempReservEntry := ReservEntry; TempReservEntry.INSERT; UNTIL ReservEntry.NEXT = 0; ReservEntry.DELETEALL; END ELSE BEGIN CLEAR(TempReservEntry); TempReservEntry.SETCURRENTKEY("Source ID","Source Ref. No.","Source Type","Source Subtype"); TempReservEntry.SETRANGE("Source Type",DATABASE::"Sales Line"); TempReservEntry.SETRANGE("Source Subtype",OldSalesLine."Document Type"); TempReservEntry.SETRANGE("Source ID",OldSalesLine."Document No."); TempReservEntry.SETRANGE("Source Ref. No.",OldSalesLine."Line No."); IF TempReservEntry.FINDSET THEN REPEAT ReservEntry := TempReservEntry; ReservEntry."Source Ref. No." := NewSourceRefNo; ReservEntry.INSERT; UNTIL TempReservEntry.NEXT = 0; TempReservEntry.DELETEALL; END; END; PROCEDURE RecreateReqLine@33(OldSalesLine@1000 : Record 37;NewSourceRefNo@1001 : Integer;ToTemp@1002 : Boolean); VAR ReqLine@1003 : Record 246; BEGIN IF ToTemp THEN BEGIN ReqLine.SETCURRENTKEY("Order Promising ID","Order Promising Line ID","Order Promising Line No."); ReqLine.SETRANGE("Order Promising ID",OldSalesLine."Document No."); ReqLine.SETRANGE("Order Promising Line ID",OldSalesLine."Line No."); IF ReqLine.FINDSET THEN REPEAT TempReqLine := ReqLine; TempReqLine.INSERT; UNTIL ReqLine.NEXT = 0; ReqLine.DELETEALL; END ELSE BEGIN CLEAR(TempReqLine); TempReqLine.SETCURRENTKEY("Order Promising ID","Order Promising Line ID","Order Promising Line No."); TempReqLine.SETRANGE("Order Promising ID",OldSalesLine."Document No."); TempReqLine.SETRANGE("Order Promising Line ID",OldSalesLine."Line No."); IF TempReqLine.FINDSET THEN REPEAT ReqLine := TempReqLine; ReqLine."Order Promising Line ID" := NewSourceRefNo; ReqLine.INSERT; UNTIL TempReqLine.NEXT = 0; TempReqLine.DELETEALL; END; END; PROCEDURE UpdateSellToCont@24(CustomerNo@1000 : Code[20]); VAR ContBusRel@1003 : Record 5054; Cust@1004 : Record 18; BEGIN IF Cust.GET(CustomerNo) THEN BEGIN IF Cust."Primary Contact No." <> '' THEN "Sell-to Contact No." := Cust."Primary Contact No." ELSE BEGIN ContBusRel.RESET; ContBusRel.SETCURRENTKEY("Link to Table","No."); ContBusRel.SETRANGE("Link to Table",ContBusRel."Link to Table"::Customer); ContBusRel.SETRANGE("No.","Sell-to Customer No."); IF ContBusRel.FINDFIRST THEN "Sell-to Contact No." := ContBusRel."Contact No." ELSE "Sell-to Contact No." := ''; END; "Sell-to Contact" := Cust.Contact; END; END; PROCEDURE UpdateBillToCont@27(CustomerNo@1000 : Code[20]); VAR ContBusRel@1003 : Record 5054; Cust@1001 : Record 18; BEGIN IF Cust.GET(CustomerNo) THEN BEGIN IF Cust."Primary Contact No." <> '' THEN "Bill-to Contact No." := Cust."Primary Contact No." ELSE BEGIN ContBusRel.RESET; ContBusRel.SETCURRENTKEY("Link to Table","No."); ContBusRel.SETRANGE("Link to Table",ContBusRel."Link to Table"::Customer); ContBusRel.SETRANGE("No.","Bill-to Customer No."); IF ContBusRel.FINDFIRST THEN "Bill-to Contact No." := ContBusRel."Contact No." ELSE "Bill-to Contact No." := ''; END; "Bill-to Contact" := Cust.Contact; END; END; PROCEDURE UpdateSellToCust@25(ContactNo@1002 : Code[20]); VAR ContBusinessRelation@1007 : Record 5054; Customer@1006 : Record 18; Cont@1005 : Record 5050; CustTemplate@1004 : Record 5105; ContComp@1003 : Record 5050; BEGIN IF Cont.GET(ContactNo) THEN "Sell-to Contact No." := Cont."No." ELSE BEGIN "Sell-to Contact" := ''; EXIT; END; ContBusinessRelation.RESET; ContBusinessRelation.SETCURRENTKEY("Link to Table","Contact No."); ContBusinessRelation.SETRANGE("Link to Table",ContBusinessRelation."Link to Table"::Customer); ContBusinessRelation.SETRANGE("Contact No.",Cont."Company No."); IF ContBusinessRelation.FINDFIRST THEN BEGIN IF ("Sell-to Customer No." <> '') AND ("Sell-to Customer No." <> ContBusinessRelation."No.") THEN ERROR(Text037,Cont."No.",Cont.Name,"Sell-to Customer No."); IF "Sell-to Customer No." = '' THEN BEGIN SkipSellToContact := TRUE; VALIDATE("Sell-to Customer No.",ContBusinessRelation."No."); SkipSellToContact := FALSE; END; END ELSE BEGIN IF "Document Type" = "Document Type"::Quote THEN BEGIN Cont.TESTFIELD("Company No."); ContComp.GET(Cont."Company No."); "Sell-to Customer Name" := ContComp."Company Name"; "Sell-to Customer Name 2" := ContComp."Name 2"; "Ship-to Name" := ContComp."Company Name"; "Ship-to Name 2" := ContComp."Name 2"; "Ship-to Address" := ContComp.Address; "Ship-to Address 2" := ContComp."Address 2"; "Ship-to City" := ContComp.City; "Ship-to Post Code" := ContComp."Post Code"; "Ship-to County" := ContComp.County; VALIDATE("Ship-to Country/Region Code",ContComp."Country/Region Code"); IF ("Sell-to Customer Template Code" = '') AND (NOT CustTemplate.ISEMPTY) THEN VALIDATE("Sell-to Customer Template Code",Cont.FindCustomerTemplate); END ELSE ERROR(Text039,Cont."No.",Cont.Name); END; IF Cont.Type = Cont.Type::Person THEN "Sell-to Contact" := Cont.Name ELSE IF Customer.GET("Sell-to Customer No.") THEN "Sell-to Contact" := Customer.Contact ELSE "Sell-to Contact" := ''; IF "Document Type" = "Document Type"::Quote THEN BEGIN IF Customer.GET("Sell-to Customer No.") OR Customer.GET(ContBusinessRelation."No.") THEN BEGIN IF Customer."Copy Sell-to Addr. to Qte From" = Customer."Copy Sell-to Addr. to Qte From"::Company THEN BEGIN Cont.TESTFIELD("Company No."); Cont.GET(Cont."Company No."); END; END ELSE BEGIN Cont.TESTFIELD("Company No."); Cont.GET(Cont."Company No."); END; "Sell-to Address" := Cont.Address; "Sell-to Address 2" := Cont."Address 2"; "Sell-to City" := Cont.City; "Sell-to Post Code" := Cont."Post Code"; "Sell-to County" := Cont.County; "Sell-to Country/Region Code" := Cont."Country/Region Code"; END; IF ("Sell-to Customer No." = "Bill-to Customer No.") OR ("Bill-to Customer No." = '') THEN VALIDATE("Bill-to Contact No.","Sell-to Contact No."); END; PROCEDURE UpdateBillToCust@26(ContactNo@1000 : Code[20]); VAR ContBusinessRelation@1005 : Record 5054; Cust@1004 : Record 18; Cont@1003 : Record 5050; CustTemplate@1002 : Record 5105; ContComp@1001 : Record 5050; BEGIN IF Cont.GET(ContactNo) THEN BEGIN "Bill-to Contact No." := Cont."No."; IF Cont.Type = Cont.Type::Person THEN "Bill-to Contact" := Cont.Name ELSE IF Cust.GET("Bill-to Customer No.") THEN "Bill-to Contact" := Cust.Contact ELSE "Bill-to Contact" := ''; END ELSE BEGIN "Bill-to Contact" := ''; EXIT; END; ContBusinessRelation.RESET; ContBusinessRelation.SETCURRENTKEY("Link to Table","Contact No."); ContBusinessRelation.SETRANGE("Link to Table",ContBusinessRelation."Link to Table"::Customer); ContBusinessRelation.SETRANGE("Contact No.",Cont."Company No."); IF ContBusinessRelation.FINDFIRST THEN BEGIN IF "Bill-to Customer No." = '' THEN BEGIN SkipBillToContact := TRUE; VALIDATE("Bill-to Customer No.",ContBusinessRelation."No."); SkipBillToContact := FALSE; "Bill-to Customer Template Code" := ''; END ELSE IF "Bill-to Customer No." <> ContBusinessRelation."No." THEN ERROR(Text037,Cont."No.",Cont.Name,"Bill-to Customer No."); END ELSE BEGIN IF "Document Type" = "Document Type"::Quote THEN BEGIN Cont.TESTFIELD("Company No."); ContComp.GET(Cont."Company No."); "Bill-to Name" := ContComp."Company Name"; "Bill-to Name 2" := ContComp."Name 2"; "Bill-to Address" := ContComp.Address; "Bill-to Address 2" := ContComp."Address 2"; "Bill-to City" := ContComp.City; "Bill-to Post Code" := ContComp."Post Code"; "Bill-to County" := ContComp.County; "Bill-to Country/Region Code" := ContComp."Country/Region Code"; "VAT Registration No." := ContComp."VAT Registration No."; VALIDATE("Currency Code",ContComp."Currency Code"); "Language Code" := ContComp."Language Code"; IF ("Bill-to Customer Template Code" = '') AND (NOT CustTemplate.ISEMPTY) THEN VALIDATE("Bill-to Customer Template Code",Cont.FindCustomerTemplate); END ELSE ERROR(Text039,Cont."No.",Cont.Name); END; END; PROCEDURE GetShippingTime@23(CalledByFieldNo@1000 : Integer); BEGIN IF (CalledByFieldNo <> CurrFieldNo) AND (CurrFieldNo <> 0) THEN EXIT; IF ShippingAgentService.GET("Shipping Agent Code","Shipping Agent Service Code") THEN "Shipping Time" := ShippingAgentService."Shipping Time" ELSE BEGIN GetCust("Sell-to Customer No."); "Shipping Time" := Cust."Shipping Time" END; IF NOT (CalledByFieldNo IN [FIELDNO("Shipping Agent Code"),FIELDNO("Shipping Agent Service Code")]) THEN VALIDATE("Shipping Time"); END; PROCEDURE CheckCreditMaxBeforeInsert@28(); VAR SalesHeader@1001 : Record 36; ContBusinessRelation@1002 : Record 5054; Cont@1003 : Record 5050; CustCheckCreditLimit@1000 : Codeunit 312; BEGIN IF HideCreditCheckDialogue THEN EXIT; IF GETFILTER("Sell-to Customer No.") <> '' THEN BEGIN IF GETRANGEMIN("Sell-to Customer No.") = GETRANGEMAX("Sell-to Customer No.") THEN BEGIN Cust.GET(GETRANGEMIN("Sell-to Customer No.")); IF Cust."Bill-to Customer No." <> '' THEN SalesHeader."Bill-to Customer No." := Cust."Bill-to Customer No." ELSE SalesHeader."Bill-to Customer No." := Cust."No."; CustCheckCreditLimit.SalesHeaderCheck(SalesHeader); END END ELSE IF GETFILTER("Sell-to Contact No.") <> '' THEN IF GETRANGEMIN("Sell-to Contact No.") = GETRANGEMAX("Sell-to Contact No.") THEN BEGIN Cont.GET(GETRANGEMIN("Sell-to Contact No.")); ContBusinessRelation.RESET; ContBusinessRelation.SETCURRENTKEY("Link to Table","No."); ContBusinessRelation.SETRANGE("Link to Table",ContBusinessRelation."Link to Table"::Customer); ContBusinessRelation.SETRANGE("Contact No.",Cont."Company No."); IF ContBusinessRelation.FINDFIRST THEN BEGIN Cust.GET(ContBusinessRelation."No."); IF Cust."Bill-to Customer No." <> '' THEN SalesHeader."Bill-to Customer No." := Cust."Bill-to Customer No." ELSE SalesHeader."Bill-to Customer No." := Cust."No."; CustCheckCreditLimit.SalesHeaderCheck(SalesHeader); END; END; END; PROCEDURE CreateInvtPutAwayPick@29(); VAR WhseRequest@1000 : Record 5765; BEGIN TESTFIELD(Status,Status::Released); WhseRequest.RESET; WhseRequest.SETCURRENTKEY("Source Document","Source No."); CASE "Document Type" OF "Document Type"::Order: BEGIN IF "Shipping Advice" = "Shipping Advice"::Complete THEN CheckShippingAdvice; WhseRequest.SETRANGE("Source Document",WhseRequest."Source Document"::"Sales Order"); END; "Document Type"::"Return Order": WhseRequest.SETRANGE("Source Document",WhseRequest."Source Document"::"Sales Return Order"); END; WhseRequest.SETRANGE("Source No.","No."); REPORT.RUNMODAL(REPORT::"Create Invt Put-away/Pick/Mvmt",TRUE,FALSE,WhseRequest); END; PROCEDURE CreateTodo@30(); VAR TempTodo@1000 : TEMPORARY Record 5080; BEGIN TESTFIELD("Sell-to Contact No."); TempTodo.CreateToDoFromSalesHeader(Rec); END; LOCAL PROCEDURE UpdateShipToAddress@31(); BEGIN IF "Document Type" IN ["Document Type"::"Return Order","Document Type"::"Credit Memo"] THEN BEGIN IF "Location Code" <> '' THEN BEGIN Location.GET("Location Code"); "Ship-to Name" := Location.Name; "Ship-to Name 2" := Location."Name 2"; "Ship-to Address" := Location.Address; "Ship-to Address 2" := Location."Address 2"; "Ship-to City" := Location.City; "Ship-to Post Code" := Location."Post Code"; "Ship-to County" := Location.County; "Ship-to Country/Region Code" := Location."Country/Region Code"; "Ship-to Contact" := Location.Contact; END ELSE BEGIN CompanyInfo.GET; "Ship-to Code" := ''; "Ship-to Name" := CompanyInfo."Ship-to Name"; "Ship-to Name 2" := CompanyInfo."Ship-to Name 2"; "Ship-to Address" := CompanyInfo."Ship-to Address"; "Ship-to Address 2" := CompanyInfo."Ship-to Address 2"; "Ship-to City" := CompanyInfo."Ship-to City"; "Ship-to Post Code" := CompanyInfo."Ship-to Post Code"; "Ship-to County" := CompanyInfo."Ship-to County"; "Ship-to Country/Region Code" := CompanyInfo."Ship-to Country/Region Code"; "Ship-to Contact" := CompanyInfo."Ship-to Contact"; END; END; END; PROCEDURE ShowDocDim@32(); VAR OldDimSetID@1000 : Integer; BEGIN OldDimSetID := "Dimension Set ID"; "Dimension Set ID" := DimMgt.EditDimensionSet2( "Dimension Set ID",STRSUBSTNO('%1 %2',"Document Type","No."), "Shortcut Dimension 1 Code","Shortcut Dimension 2 Code"); IF OldDimSetID <> "Dimension Set ID" THEN BEGIN MODIFY; IF SalesLinesExist THEN UpdateAllLineDim("Dimension Set ID",OldDimSetID); END; END; LOCAL PROCEDURE UpdateAllLineDim@34(NewParentDimSetID@1000 : Integer;OldParentDimSetID@1001 : Integer); VAR ATOLink@1003 : Record 904; NewDimSetID@1002 : Integer; BEGIN // Update all lines with changed dimensions. IF NewParentDimSetID = OldParentDimSetID THEN EXIT; IF NOT HideValidationDialog OR NOT GUIALLOWED THEN IF NOT CONFIRM(Text064) THEN EXIT; SalesLine.RESET; SalesLine.SETRANGE("Document Type","Document Type"); SalesLine.SETRANGE("Document No.","No."); SalesLine.LOCKTABLE; IF SalesLine.FIND('-') THEN REPEAT NewDimSetID := DimMgt.GetDeltaDimSetID(SalesLine."Dimension Set ID",NewParentDimSetID,OldParentDimSetID); IF SalesLine."Dimension Set ID" <> NewDimSetID THEN BEGIN SalesLine."Dimension Set ID" := NewDimSetID; DimMgt.UpdateGlobalDimFromDimSetID( SalesLine."Dimension Set ID",SalesLine."Shortcut Dimension 1 Code",SalesLine."Shortcut Dimension 2 Code"); SalesLine.MODIFY; ATOLink.UpdateAsmDimFromSalesLine(SalesLine); END; UNTIL SalesLine.NEXT = 0; END; PROCEDURE SetAmountToApply@35(AppliesToDocNo@1000 : Code[20];CustomerNo@1001 : Code[20]); VAR CustLedgEntry@1002 : Record 21; BEGIN CustLedgEntry.SETCURRENTKEY("Document No."); CustLedgEntry.SETRANGE("Document No.",AppliesToDocNo); CustLedgEntry.SETRANGE("Customer No.",CustomerNo); CustLedgEntry.SETRANGE(Open,TRUE); IF CustLedgEntry.FINDFIRST THEN BEGIN IF CustLedgEntry."Amount to Apply" = 0 THEN BEGIN CustLedgEntry.CALCFIELDS("Remaining Amount"); CustLedgEntry."Amount to Apply" := CustLedgEntry."Remaining Amount"; END ELSE CustLedgEntry."Amount to Apply" := 0; CustLedgEntry."Accepted Payment Tolerance" := 0; CustLedgEntry."Accepted Pmt. Disc. Tolerance" := FALSE; CODEUNIT.RUN(CODEUNIT::"Cust. Entry-Edit",CustLedgEntry); END; END; PROCEDURE LookupAdjmtValueEntries@37(QtyType@1000 : 'General,Invoicing'); VAR ItemLedgEntry@1004 : Record 32; SalesLine@1001 : Record 37; SalesShptLine@1005 : Record 111; ReturnRcptLine@1002 : Record 6661; TempValueEntry@1003 : TEMPORARY Record 5802; BEGIN SalesLine.SETRANGE("Document Type","Document Type"); SalesLine.SETRANGE("Document No.","No."); TempValueEntry.RESET; TempValueEntry.DELETEALL; CASE "Document Type" OF "Document Type"::Order,"Document Type"::Invoice: BEGIN IF SalesLine.FINDSET THEN REPEAT IF (SalesLine.Type = SalesLine.Type::Item) AND (SalesLine.Quantity <> 0) THEN WITH SalesShptLine DO BEGIN IF SalesLine."Shipment No." <> '' THEN BEGIN SETRANGE("Document No.",SalesLine."Shipment No."); SETRANGE("Line No.",SalesLine."Shipment Line No."); END ELSE BEGIN SETCURRENTKEY("Order No.","Order Line No."); SETRANGE("Order No.",SalesLine."Document No."); SETRANGE("Order Line No.",SalesLine."Line No."); END; SETRANGE(Correction,FALSE); IF QtyType = QtyType::Invoicing THEN SETFILTER("Qty. Shipped Not Invoiced",'<>0'); IF FINDSET THEN REPEAT FilterPstdDocLnItemLedgEntries(ItemLedgEntry); IF ItemLedgEntry.FINDSET THEN REPEAT CreateTempAdjmtValueEntries(TempValueEntry,ItemLedgEntry."Entry No."); UNTIL ItemLedgEntry.NEXT = 0; UNTIL NEXT = 0; END; UNTIL SalesLine.NEXT = 0; END; "Document Type"::"Return Order","Document Type"::"Credit Memo": BEGIN IF SalesLine.FINDSET THEN REPEAT IF (SalesLine.Type = SalesLine.Type::Item) AND (SalesLine.Quantity <> 0) THEN WITH ReturnRcptLine DO BEGIN IF SalesLine."Return Receipt No." <> '' THEN BEGIN SETRANGE("Document No.",SalesLine."Return Receipt No."); SETRANGE("Line No.",SalesLine."Return Receipt Line No."); END ELSE BEGIN SETCURRENTKEY("Return Order No.","Return Order Line No."); SETRANGE("Return Order No.",SalesLine."Document No."); SETRANGE("Return Order Line No.",SalesLine."Line No."); END; SETRANGE(Correction,FALSE); IF QtyType = QtyType::Invoicing THEN SETFILTER("Return Qty. Rcd. Not Invd.",'<>0'); IF FINDSET THEN REPEAT FilterPstdDocLnItemLedgEntries(ItemLedgEntry); IF ItemLedgEntry.FINDSET THEN REPEAT CreateTempAdjmtValueEntries(TempValueEntry,ItemLedgEntry."Entry No."); UNTIL ItemLedgEntry.NEXT = 0; UNTIL NEXT = 0; END; UNTIL SalesLine.NEXT = 0; END; END; PAGE.RUNMODAL(0,TempValueEntry); END; PROCEDURE CreateTempAdjmtValueEntries@38(VAR TempValueEntry@1001 : TEMPORARY Record 5802;ItemLedgEntryNo@1000 : Integer); VAR ValueEntry@1002 : Record 5802; BEGIN WITH ValueEntry DO BEGIN SETCURRENTKEY("Item Ledger Entry No."); SETRANGE("Item Ledger Entry No.",ItemLedgEntryNo); IF FINDSET THEN REPEAT IF Adjustment THEN BEGIN TempValueEntry := ValueEntry; IF TempValueEntry.INSERT THEN; END; UNTIL NEXT = 0; END; END; PROCEDURE GetPstdDocLinesToRevere@39(); VAR SalesPostedDocLines@1000 : Page 5850; BEGIN GetCust("Sell-to Customer No."); SalesPostedDocLines.SetToSalesHeader(Rec); SalesPostedDocLines.SETRECORD(Cust); SalesPostedDocLines.LOOKUPMODE := TRUE; IF SalesPostedDocLines.RUNMODAL = ACTION::LookupOK THEN SalesPostedDocLines.CopyLineToDoc; CLEAR(SalesPostedDocLines); END; PROCEDURE CalcInvDiscForHeader@45(); VAR SalesInvDisc@1000 : Codeunit 60; BEGIN SalesSetup.GET; IF SalesSetup."Calc. Inv. Discount" THEN SalesInvDisc.CalculateIncDiscForHeader(Rec); END; PROCEDURE SetSecurityFilterOnRespCenter@43(); BEGIN IF UserSetupMgt.GetSalesFilter <> '' THEN BEGIN FILTERGROUP(2); SETRANGE("Responsibility Center",UserSetupMgt.GetSalesFilter); FILTERGROUP(0); END; SETRANGE("Date Filter",0D,WORKDATE - 1); END; PROCEDURE Authorize@50(); VAR DOPaymentTransLogEntry@1001 : Record 829; BEGIN IF NOT DOPaymentMgt.IsValidPaymentMethod("Payment Method Code") THEN ERROR(Text069,FIELDCAPTION("Payment Method Code")); DOPaymentTransLogMgt.FindValidAuthorizationEntry("Document Type","No.",DOPaymentTransLogEntry); IF DOPaymentTransLogEntry."Entry No." = DOPaymentMgt.AuthorizeSalesDoc(Rec,0,TRUE) THEN ERROR(Text067, DOPaymentTransLogEntry."Document Type", DOPaymentTransLogEntry.Amount, DOPaymentTransLogEntry."Transaction Date-Time", DOPaymentTransLogEntry."Document No."); "Authorization Required" := TRUE; MODIFY; END; PROCEDURE Void@51(); VAR DOPaymentTransLogEntry@1001 : Record 829; DOPaymentTransLogMgt@1002 : Codeunit 829; BEGIN IF NOT DOPaymentMgt.IsValidPaymentMethod("Payment Method Code") THEN ERROR(Text069,FIELDCAPTION("Payment Method Code")); CLEAR(DOPaymentMgt); DOPaymentMgt.CheckSalesDoc(Rec); IF DOPaymentTransLogMgt.FindValidAuthorizationEntry("Document Type","No.",DOPaymentTransLogEntry) THEN DOPaymentMgt.VoidSalesDoc(Rec,DOPaymentTransLogEntry) ELSE MESSAGE(Text068); "Authorization Required" := FALSE; MODIFY; END; PROCEDURE GetCreditcardNumber@44() : Text[20]; VAR DOPaymentCreditCard@1001 : Record 827; BEGIN IF "Credit Card No." = '' THEN EXIT(''); EXIT(DOPaymentCreditCard.GetCreditCardNumber("Credit Card No.")); END; PROCEDURE SynchronizeForReservations@42(VAR NewSalesLine@1000 : Record 37;OldSalesLine@1001 : Record 37); BEGIN NewSalesLine.CALCFIELDS("Reserved Quantity"); IF NewSalesLine."Reserved Quantity" = 0 THEN EXIT; IF NewSalesLine."Location Code" <> OldSalesLine."Location Code" THEN NewSalesLine.VALIDATE("Location Code",OldSalesLine."Location Code"); IF NewSalesLine."Bin Code" <> OldSalesLine."Bin Code" THEN NewSalesLine.VALIDATE("Bin Code",OldSalesLine."Bin Code"); IF NewSalesLine.MODIFY THEN; END; PROCEDURE InventoryPickConflict@46(DocType@1002 : 'Quote,Order,Invoice,Credit Memo,Blanket Order,Return Order';DocNo@1003 : Code[20];ShippingAdvice@1004 : 'Partial,Complete') : Boolean; VAR WarehouseActivityLine@1000 : Record 5767; SalesLine@1001 : Record 37; BEGIN IF ShippingAdvice <> ShippingAdvice::Complete THEN EXIT(FALSE); WarehouseActivityLine.SETCURRENTKEY("Source Type","Source Subtype","Source No."); WarehouseActivityLine.SETRANGE("Source Type",DATABASE::"Sales Line"); WarehouseActivityLine.SETRANGE("Source Subtype",DocType); WarehouseActivityLine.SETRANGE("Source No.",DocNo); IF WarehouseActivityLine.ISEMPTY THEN EXIT(FALSE); SalesLine.SETRANGE("Document Type",DocType); SalesLine.SETRANGE("Document No.",DocNo); SalesLine.SETRANGE(Type,SalesLine.Type::Item); IF SalesLine.ISEMPTY THEN EXIT(FALSE); EXIT(TRUE); END; PROCEDURE WhseShpmntConflict@52(DocType@1002 : 'Quote,Order,Invoice,Credit Memo,Blanket Order,Return Order';DocNo@1001 : Code[20];ShippingAdvice@1000 : 'Partial,Complete') : Boolean; VAR WarehouseShipmentLine@1003 : Record 7321; BEGIN IF ShippingAdvice <> ShippingAdvice::Complete THEN EXIT(FALSE); WarehouseShipmentLine.SETCURRENTKEY("Source Type","Source Subtype","Source No.","Source Line No."); WarehouseShipmentLine.SETRANGE("Source Type",DATABASE::"Sales Line"); WarehouseShipmentLine.SETRANGE("Source Subtype",DocType); WarehouseShipmentLine.SETRANGE("Source No.",DocNo); IF WarehouseShipmentLine.ISEMPTY THEN EXIT(FALSE); EXIT(TRUE); END; PROCEDURE CheckCrLimit@47(); BEGIN IF GUIALLOWED AND (CurrFieldNo <> 0) AND ("Document Type" <= "Document Type"::Invoice) THEN BEGIN "Amount Including VAT" := 0; IF "Document Type" = "Document Type"::Order THEN IF BilltoCustomerNoChanged THEN BEGIN SalesLine.SETRANGE("Document Type",SalesLine."Document Type"::Order); SalesLine.SETRANGE("Document No.","No."); SalesLine.CALCSUMS("Outstanding Amount","Shipped Not Invoiced"); "Amount Including VAT" := SalesLine."Outstanding Amount" + SalesLine."Shipped Not Invoiced"; END; CustCheckCreditLimit.SalesHeaderCheck(Rec); CALCFIELDS("Amount Including VAT"); END; END; PROCEDURE QtyToShipIsZero@49() : Boolean; BEGIN SalesLine.RESET; SalesLine.SETRANGE("Document Type","Document Type"); SalesLine.SETRANGE("Document No.","No."); SalesLine.SETFILTER("Qty. to Ship",'<>0'); EXIT(SalesLine.ISEMPTY); END; PROCEDURE IsApprovedForPosting@53() : Boolean; VAR PurchaseHeader@1000 : Record 38; BEGIN PurchaseHeader.INIT; IF ApprovalMgt.PrePostApprovalCheck(Rec,PurchaseHeader) THEN BEGIN IF ApprovalMgt.TestSalesPrepayment(Rec) THEN ERROR(STRSUBSTNO(Text071,"Document Type","No.")); IF ApprovalMgt.TestSalesPayment(Rec) THEN ERROR(STRSUBSTNO(Text072,"Document Type","No.")); EXIT(TRUE); END; END; PROCEDURE IsApprovedForPostingBatch@54() : Boolean; VAR PurchaseHeader@1000 : Record 38; BEGIN PurchaseHeader.INIT; IF ApprovalMgt.PrePostApprovalCheck(Rec,PurchaseHeader) THEN BEGIN IF ApprovalMgt.TestSalesPrepayment(Rec) THEN EXIT(FALSE); IF ApprovalMgt.TestSalesPayment(Rec) THEN EXIT(FALSE); EXIT(TRUE); END; END; PROCEDURE UpdatePmtDiscDate@1140000(); BEGIN // Updates the payment discount date to due date if discount % is zero IF "Payment Discount %" = 0 THEN // credit memo and return order behave different IF NOT ("Document Type" IN ["Document Type"::"Credit Memo","Document Type"::"Return Order"]) THEN "Pmt. Discount Date" := "Due Date"; END; PROCEDURE SendToPosting@57(PostingCodeunitID@1000 : Integer); BEGIN IF NOT IsApprovedForPosting THEN EXIT; CODEUNIT.RUN(PostingCodeunitID,Rec); END; PROCEDURE CancelBackgroundPosting@48(); VAR SalesPostViaJobQueue@1000 : Codeunit 88; BEGIN SalesPostViaJobQueue.CancelQueueEntry(Rec); END; PROCEDURE LinkSalesDocWithOpportunity@79(OldOpportunityNo@1000 : Code[20]); VAR SalesHeader@1001 : Record 36; Opportunity@1002 : Record 5092; BEGIN IF "Opportunity No." <> OldOpportunityNo THEN BEGIN IF "Opportunity No." <> '' THEN IF Opportunity.GET("Opportunity No.") THEN BEGIN Opportunity.TESTFIELD(Status,Opportunity.Status::"In Progress"); IF Opportunity."Sales Document No." <> '' THEN BEGIN IF CONFIRM(Text048,FALSE,Opportunity."Sales Document No.",Opportunity."No.") THEN BEGIN IF SalesHeader.GET("Document Type"::Quote,Opportunity."Sales Document No.") THEN BEGIN SalesHeader."Opportunity No." := ''; SalesHeader.MODIFY; END; UpdateOpportunityLink(Opportunity,Opportunity."Sales Document Type"::Quote,"No."); END ELSE "Opportunity No." := OldOpportunityNo; END ELSE UpdateOpportunityLink(Opportunity,Opportunity."Sales Document Type"::Quote,"No."); END; IF (OldOpportunityNo <> '') AND Opportunity.GET(OldOpportunityNo) THEN UpdateOpportunityLink(Opportunity,Opportunity."Sales Document Type"::" ",''); END; END; LOCAL PROCEDURE UpdateOpportunityLink@80(Opportunity@1000 : Record 5092;SalesDocumentType@1001 : Option;SalesHeaderNo@1002 : Code[20]); BEGIN Opportunity."Sales Document Type" := SalesDocumentType; Opportunity."Sales Document No." := SalesHeaderNo; Opportunity.MODIFY; END; PROCEDURE SynchronizeAsmHeader@56(); VAR AsmHeader@1003 : Record 900; ATOLink@1002 : Record 904; Window@1000 : Dialog; BEGIN ATOLink.SETCURRENTKEY(Type,"Document Type","Document No."); ATOLink.SETRANGE(Type,ATOLink.Type::Sale); ATOLink.SETRANGE("Document Type","Document Type"); ATOLink.SETRANGE("Document No.","No."); IF ATOLink.FINDSET THEN REPEAT IF AsmHeader.GET(ATOLink."Assembly Document Type",ATOLink."Assembly Document No.") THEN IF "Posting Date" <> AsmHeader."Posting Date" THEN BEGIN Window.OPEN(STRSUBSTNO(SynchronizingMsg,"No.",AsmHeader."No.")); AsmHeader.VALIDATE("Posting Date","Posting Date"); AsmHeader.MODIFY; Window.CLOSE; END; UNTIL ATOLink.NEXT = 0; END; PROCEDURE CheckShippingAdvice@55(); VAR SalesLine@1000 : Record 37; QtyToShipBaseTotal@1002 : Decimal; Result@1001 : Boolean; BEGIN SalesLine.SETRANGE("Document Type","Document Type"); SalesLine.SETRANGE("Document No.","No."); SalesLine.SETRANGE("Drop Shipment",FALSE); Result := TRUE; IF SalesLine.FINDSET THEN REPEAT IF SalesLine.IsShipment THEN BEGIN QtyToShipBaseTotal += SalesLine."Qty. to Ship (Base)"; IF SalesLine."Quantity (Base)" <> SalesLine."Qty. to Ship (Base)" + SalesLine."Qty. Shipped (Base)" THEN Result := FALSE; END; UNTIL SalesLine.NEXT = 0; IF QtyToShipBaseTotal = 0 THEN Result := TRUE; IF NOT Result THEN ERROR(ShippingAdviceErr); END; PROCEDURE "+++"@1000000000(); BEGIN END; PROCEDURE GetDimensionFilter@1000000001(); VAR GenLedgerSetup@1000000000 : Record 98; BEGIN GenLedgerSetup.GET(); SETFILTER("Dimension 3 Filter",GenLedgerSetup."Shortcut Dimension 3 Code"); SETFILTER("Dimension 4 Filter",GenLedgerSetup."Shortcut Dimension 4 Code"); SETFILTER("Dimension 5 Filter",GenLedgerSetup."Shortcut Dimension 5 Code"); SETFILTER("Dimension 6 Filter",GenLedgerSetup."Shortcut Dimension 6 Code"); END; BEGIN END. } } OBJECT Table 348 Dimension { OBJECT-PROPERTIES { Date=17.09.17; Time=15:19:34; Modified=Yes; Version List=NAVW17.00; } PROPERTIES { DataCaptionFields=Code,Name; OnDelete=VAR GLSetup@1000 : Record 98; BEGIN DimVal.SETRANGE("Dimension Code",xRec.Code); IF CheckIfDimUsed(xRec.Code,0,'','',0) THEN BEGIN IF DimVal.FINDSET THEN REPEAT IF DimVal.CheckIfDimValueUsed THEN ERROR(Text000, GetCheckDimErr); UNTIL DimVal.NEXT = 0; ERROR(Text001,GetCheckDimErr); END; IF DimVal.FINDSET THEN REPEAT IF DimVal.CheckIfDimValueUsed THEN ERROR(Text002); UNTIL DimVal.NEXT = 0; DefaultDim.SETRANGE("Dimension Code",Code); DefaultDim.DELETEALL(TRUE); DimVal.SETRANGE("Dimension Code",Code); DimVal.DELETEALL(TRUE); DimComb.SETRANGE("Dimension 1 Code",Code); DimComb.DELETEALL; DimComb.RESET; DimComb.SETRANGE("Dimension 2 Code",Code); DimComb.DELETEALL; SelectedDim.SETRANGE("Dimension Code",Code); SelectedDim.DELETEALL; AnalysisSelectedDim.SETRANGE("Dimension Code",Code); AnalysisSelectedDim.DELETEALL; DimTrans.SETRANGE(Code,Code); DimTrans.DELETEALL; GLSetup.GET; CASE Code OF GLSetup."Shortcut Dimension 3 Code": BEGIN GLSetup."Shortcut Dimension 3 Code" := ''; GLSetup.MODIFY; END; GLSetup."Shortcut Dimension 4 Code": BEGIN GLSetup."Shortcut Dimension 4 Code" := ''; GLSetup.MODIFY; END; GLSetup."Shortcut Dimension 5 Code": BEGIN GLSetup."Shortcut Dimension 5 Code" := ''; GLSetup.MODIFY; END; GLSetup."Shortcut Dimension 6 Code": BEGIN GLSetup."Shortcut Dimension 6 Code" := ''; GLSetup.MODIFY; END; GLSetup."Shortcut Dimension 7 Code": BEGIN GLSetup."Shortcut Dimension 7 Code" := ''; GLSetup.MODIFY; END; GLSetup."Shortcut Dimension 8 Code": BEGIN GLSetup."Shortcut Dimension 8 Code" := ''; GLSetup.MODIFY; END; END; END; CaptionML=[DEU=Dimension; ENU=Dimension]; LookupPageID=Page548; DrillDownPageID=Page548; } FIELDS { { 1 ; ;Code ;Code20 ;OnValidate=VAR GLAcc@1000 : Record 15; BusUnit@1001 : Record 220; Item@1002 : Record 27; Location@1003 : Record 14; BEGIN IF (UPPERCASE(Code) = UPPERCASE(GLAcc.TABLECAPTION)) OR (UPPERCASE(Code) = UPPERCASE(BusUnit.TABLECAPTION)) OR (UPPERCASE(Code) = UPPERCASE(Item.TABLECAPTION)) OR (UPPERCASE(Code) = UPPERCASE(Location.TABLECAPTION)) OR (UPPERCASE(Code) = UPPERCASE(Text006)) THEN ERROR(Text007,FIELDCAPTION(Code),GLAcc.TABLECAPTION,BusUnit.TABLECAPTION,Item.TABLECAPTION,Location.TABLECAPTION); UpdateText(Code,'',Name); UpdateText(Code,Text008,"Code Caption"); UpdateText(Code,Text009,"Filter Caption"); END; CaptionML=[DEU=Code; ENU=Code]; NotBlank=Yes } { 2 ; ;Name ;Text30 ;CaptionML=[DEU=Name; ENU=Name] } { 3 ; ;Code Caption ;Text50 ;CaptionML=[DEU=Code Caption; ENU=Code Caption] } { 4 ; ;Filter Caption ;Text30 ;CaptionML=[DEU=Filter Caption; ENU=Filter Caption] } { 5 ; ;Description ;Text50 ;CaptionML=[DEU=Beschreibung; ENU=Description] } { 6 ; ;Blocked ;Boolean ;CaptionML=[DEU=Gesperrt; ENU=Blocked] } { 7 ; ;Consolidation Code ;Code20 ;CaptionML=[DEU=Konsolidierungscode; ENU=Consolidation Code] } { 8 ; ;Map-to IC Dimension Code;Code20 ;TableRelation="IC Dimension"; OnValidate=VAR DimensionValue@1000 : Record 349; BEGIN IF "Map-to IC Dimension Code" <> xRec."Map-to IC Dimension Code" THEN BEGIN DimensionValue.SETRANGE("Dimension Code",Code); DimensionValue.MODIFYALL("Map-to IC Dimension Code","Map-to IC Dimension Code"); DimensionValue.MODIFYALL("Map-to IC Dimension Value Code",''); END; END; CaptionML=[DEU=Zuordnen zu IC-Dimensionscode; ENU=Map-to IC Dimension Code] } } KEYS { { ;Code ;Clustered=Yes } } FIELDGROUPS { { 1 ;DropDown ;Code,Name,Blocked } } CODE { VAR Text000@1000 : TextConst 'DEU=%1\Diese Dimension wird ebenfalls in gebuchten oder Budgetposten verwendet.\L”schen nicht m”glich.;ENU=%1\This dimension is also used in posted or budget entries.\You cannot delete it.'; Text001@1001 : TextConst 'DEU=%1\L”schen nicht m”glich.;ENU=%1\You cannot delete it.'; Text002@1002 : TextConst 'DEU=Diese Dimension wird in gebuchten oder Budgetposten verwendet.\L”schen nicht m”glich.;ENU=This dimension is used in posted or budget entries.\You cannot delete it.'; Text006@1006 : TextConst 'DEU=Periode;ENU=Period'; Text007@1007 : TextConst 'DEU=%1 kann weder %2, %3, %4, %5, noch Periode sein. Diese Namen werden vom Programm intern verwendet.;ENU=%1 can not be %2, %3, %4, %5 or Period. These names are used internally by the system.'; Text008@1008 : TextConst 'DEU=Code;ENU=Code'; Text009@1009 : TextConst 'DEU=Filter;ENU=Filter'; Text010@1010 : TextConst 'DEU="Diese Dimension wird in der folgenden Einrichtung verwendet: ";ENU="This dimension is used in the following setup: "'; Text011@1011 : TextConst 'DEU="Finanzbuchhaltung Einrichtung, ";ENU="General Ledger Setup, "'; Text012@1012 : TextConst 'DEU="Finanzbudgetnamen, ";ENU="G/L Budget Names, "'; Text013@1013 : TextConst 'DEU="Analyseansichtskarte, ";ENU="Analysis View Card, "'; DimVal@1014 : Record 349; DimComb@1015 : Record 350; SelectedDim@1016 : Record 369; AnalysisSelectedDim@1024 : Record 7159; DimTrans@1022 : Record 388; UsedAsGlobalDim@1017 : Boolean; UsedAsShortcutDim@1018 : Boolean; UsedAsBudgetDim@1019 : Boolean; UsedAsAnalysisViewDim@1020 : Boolean; UsedAsItemBudgetDim@1028 : Boolean; UsedAsItemAnalysisViewDim@1027 : Boolean; CheckDimErr@1021 : Text[250]; DefaultDim@1023 : Record 352; Text014@1026 : TextConst 'DEU="Artikelbudgetnamen, ";ENU="Item Budget Names, "'; Text015@1025 : TextConst 'DEU="Artikelanalyseansicht-Karte, ";ENU="Item Analysis View Card, "'; PROCEDURE UpdateText@1(Code@1000 : Code[20];AddText@1001 : Text[30];VAR Text@1002 : Text[50]); BEGIN IF Text = '' THEN BEGIN Text := LOWERCASE(Code); Text[1] := Code[1]; IF AddText <> '' THEN Text := STRSUBSTNO('%1 %2',Text,AddText); END; END; PROCEDURE CheckIfDimUsed@73(DimChecked@1000 : Code[20];DimTypeChecked@1001 : ' ,Global1,Global2,Shortcut3,Shortcut4,Shortcut5,Shortcut6,Shortcut7,Shortcut8,Budget1,Budget2,Budget3,Budget4,Analysis1,Analysis2,Analysis3,Analysis4,ItemBudget1,ItemBudget2,ItemBudget3,ItemAnalysis1,ItemAnalysis2,ItemAnalysis3';BudgetNameChecked@1002 : Code[10];AnalysisViewChecked@1003 : Code[10];AnalysisAreaChecked@1016 : Integer) : Boolean; VAR GLSetup@1004 : Record 98; GLBudgetName@1005 : Record 95; AnalysisView@1006 : Record 363; ItemBudgetName@1015 : Record 7132; ItemAnalysisView@1014 : Record 7152; CheckAllDim@1007 : Boolean; CheckGlobalDim@1008 : Boolean; CheckShortcutDim@1009 : Boolean; CheckBudgetDim@1010 : Boolean; CheckAnalysisViewDim@1011 : Boolean; CheckItemBudgetDim@1013 : Boolean; CheckItemAnalysisViewDim@1012 : Boolean; BEGIN IF DimChecked = '' THEN EXIT; CheckAllDim := DimTypeChecked IN [DimTypeChecked::" "]; CheckGlobalDim := DimTypeChecked IN [DimTypeChecked::Global1,DimTypeChecked::Global2]; CheckShortcutDim := DimTypeChecked IN [DimTypeChecked::Shortcut3,DimTypeChecked::Shortcut4,DimTypeChecked::Shortcut5, DimTypeChecked::Shortcut6,DimTypeChecked::Shortcut7,DimTypeChecked::Shortcut8]; CheckBudgetDim := DimTypeChecked IN [DimTypeChecked::Budget1,DimTypeChecked::Budget2,DimTypeChecked::Budget3, DimTypeChecked::Budget4]; CheckAnalysisViewDim := DimTypeChecked IN [DimTypeChecked::Analysis1,DimTypeChecked::Analysis2,DimTypeChecked::Analysis3, DimTypeChecked::Analysis4]; CheckItemBudgetDim := DimTypeChecked IN [DimTypeChecked::ItemBudget1,DimTypeChecked::ItemBudget2,DimTypeChecked::ItemBudget3]; CheckItemAnalysisViewDim := DimTypeChecked IN [DimTypeChecked::ItemAnalysis1,DimTypeChecked::ItemAnalysis2,DimTypeChecked::ItemAnalysis3]; UsedAsGlobalDim := FALSE; UsedAsShortcutDim := FALSE; UsedAsBudgetDim := FALSE; UsedAsAnalysisViewDim := FALSE; UsedAsItemBudgetDim := FALSE; UsedAsItemAnalysisViewDim := FALSE; IF CheckAllDim OR CheckGlobalDim OR CheckShortcutDim OR CheckBudgetDim OR CheckItemBudgetDim THEN BEGIN GLSetup.GET; IF (DimTypeChecked <> DimTypeChecked::Global1) AND (DimChecked = GLSetup."Global Dimension 1 Code") THEN UsedAsGlobalDim := TRUE; IF (DimTypeChecked <> DimTypeChecked::Global2) AND (DimChecked = GLSetup."Global Dimension 2 Code") THEN UsedAsGlobalDim := TRUE; END; IF CheckGlobalDim OR CheckShortcutDim THEN BEGIN IF (DimTypeChecked <> DimTypeChecked::Shortcut3) AND (DimChecked = GLSetup."Shortcut Dimension 3 Code") THEN UsedAsShortcutDim := TRUE; IF (DimTypeChecked <> DimTypeChecked::Shortcut4) AND (DimChecked = GLSetup."Shortcut Dimension 4 Code") THEN UsedAsShortcutDim := TRUE; IF (DimTypeChecked <> DimTypeChecked::Shortcut5) AND (DimChecked = GLSetup."Shortcut Dimension 5 Code") THEN UsedAsShortcutDim := TRUE; IF (DimTypeChecked <> DimTypeChecked::Shortcut6) AND (DimChecked = GLSetup."Shortcut Dimension 6 Code") THEN UsedAsShortcutDim := TRUE; IF (DimTypeChecked <> DimTypeChecked::Shortcut7) AND (DimChecked = GLSetup."Shortcut Dimension 7 Code") THEN UsedAsShortcutDim := TRUE; IF (DimTypeChecked <> DimTypeChecked::Shortcut8) AND (DimChecked = GLSetup."Shortcut Dimension 8 Code") THEN UsedAsShortcutDim := TRUE; END; IF CheckAllDim OR CheckGlobalDim OR CheckBudgetDim THEN BEGIN IF BudgetNameChecked <> '' THEN GLBudgetName.SETRANGE(Name,BudgetNameChecked); IF GLBudgetName.FINDSET THEN REPEAT IF (DimTypeChecked <> DimTypeChecked::Budget1) AND (DimChecked = GLBudgetName."Budget Dimension 1 Code") THEN UsedAsBudgetDim := TRUE; IF (DimTypeChecked <> DimTypeChecked::Budget2) AND (DimChecked = GLBudgetName."Budget Dimension 2 Code") THEN UsedAsBudgetDim := TRUE; IF (DimTypeChecked <> DimTypeChecked::Budget3) AND (DimChecked = GLBudgetName."Budget Dimension 3 Code") THEN UsedAsBudgetDim := TRUE; IF (DimTypeChecked <> DimTypeChecked::Budget4) AND (DimChecked = GLBudgetName."Budget Dimension 4 Code") THEN UsedAsBudgetDim := TRUE; UNTIL GLBudgetName.NEXT = 0; END; IF CheckAllDim OR CheckGlobalDim OR CheckItemBudgetDim THEN BEGIN IF BudgetNameChecked <> '' THEN BEGIN ItemBudgetName.SETRANGE("Analysis Area",AnalysisAreaChecked); ItemBudgetName.SETRANGE(Name,BudgetNameChecked); END; IF ItemBudgetName.FINDSET THEN REPEAT IF (DimTypeChecked <> DimTypeChecked::ItemBudget1) AND (DimChecked = ItemBudgetName."Budget Dimension 1 Code") THEN UsedAsItemBudgetDim := TRUE; IF (DimTypeChecked <> DimTypeChecked::ItemBudget2) AND (DimChecked = ItemBudgetName."Budget Dimension 2 Code") THEN UsedAsItemBudgetDim := TRUE; IF (DimTypeChecked <> DimTypeChecked::ItemBudget3) AND (DimChecked = ItemBudgetName."Budget Dimension 3 Code") THEN UsedAsItemBudgetDim := TRUE; UNTIL ItemBudgetName.NEXT = 0; END; IF CheckAllDim OR CheckAnalysisViewDim THEN BEGIN IF AnalysisViewChecked <> '' THEN AnalysisView.SETRANGE(Code,AnalysisViewChecked); IF AnalysisView.FINDSET THEN REPEAT IF (DimTypeChecked <> DimTypeChecked::Analysis1) AND (DimChecked = AnalysisView."Dimension 1 Code") THEN UsedAsAnalysisViewDim := TRUE; IF (DimTypeChecked <> DimTypeChecked::Analysis2) AND (DimChecked = AnalysisView."Dimension 2 Code") THEN UsedAsAnalysisViewDim := TRUE; IF (DimTypeChecked <> DimTypeChecked::Analysis3) AND (DimChecked = AnalysisView."Dimension 3 Code") THEN UsedAsAnalysisViewDim := TRUE; IF (DimTypeChecked <> DimTypeChecked::Analysis4) AND (DimChecked = AnalysisView."Dimension 4 Code") THEN UsedAsAnalysisViewDim := TRUE; UNTIL AnalysisView.NEXT = 0; END; IF CheckAllDim OR CheckItemAnalysisViewDim THEN BEGIN IF AnalysisViewChecked <> '' THEN BEGIN ItemAnalysisView.SETRANGE("Analysis Area",AnalysisAreaChecked); ItemAnalysisView.SETRANGE(Code,AnalysisViewChecked); END; IF ItemAnalysisView.FINDSET THEN REPEAT IF (DimTypeChecked <> DimTypeChecked::ItemAnalysis1) AND (DimChecked = ItemAnalysisView."Dimension 1 Code") THEN UsedAsItemAnalysisViewDim := TRUE; IF (DimTypeChecked <> DimTypeChecked::ItemAnalysis2) AND (DimChecked = ItemAnalysisView."Dimension 2 Code") THEN UsedAsItemAnalysisViewDim := TRUE; IF (DimTypeChecked <> DimTypeChecked::ItemAnalysis3) AND (DimChecked = ItemAnalysisView."Dimension 3 Code") THEN UsedAsItemAnalysisViewDim := TRUE; UNTIL ItemAnalysisView.NEXT = 0; END; IF UsedAsGlobalDim OR UsedAsShortcutDim OR UsedAsBudgetDim OR UsedAsAnalysisViewDim OR UsedAsItemBudgetDim OR UsedAsItemAnalysisViewDim THEN BEGIN MakeCheckDimErr; EXIT(TRUE); END; // Dim ext IF (BudgetNameChecked='') AND (AnalysisViewChecked='') AND (AnalysisAreaChecked=0) THEN BEGIN DimVal.RESET; DimVal.SETRANGE("Global Dimension No.",DimTypeChecked); IF DimVal.FINDSET THEN REPEAT DimVal."Global Dimension No." := 0; DimVal.MODIFY; UNTIL DimVal.NEXT=0; IF DimChecked<>'' THEN BEGIN DimVal.RESET; DimVal.SETRANGE("Dimension Code",DimChecked); IF DimVal.FINDSET THEN REPEAT DimVal."Global Dimension No." := DimTypeChecked; DimVal.MODIFY; UNTIL DimVal.NEXT=0; END; END; // EXIT(FALSE); END; LOCAL PROCEDURE MakeCheckDimErr@6(); BEGIN CheckDimErr := Text010; IF UsedAsGlobalDim OR UsedAsShortcutDim THEN CheckDimErr := CheckDimErr + Text011; IF UsedAsBudgetDim THEN CheckDimErr := CheckDimErr + Text012; IF UsedAsAnalysisViewDim THEN CheckDimErr := CheckDimErr + Text013; IF UsedAsItemBudgetDim THEN CheckDimErr := CheckDimErr + Text014; IF UsedAsItemAnalysisViewDim THEN CheckDimErr := CheckDimErr + Text015; CheckDimErr := COPYSTR(CheckDimErr,1,STRLEN(CheckDimErr) - 2) + '.'; END; PROCEDURE GetCheckDimErr@13() : Text[250]; BEGIN EXIT(CheckDimErr); END; PROCEDURE SelectMLFields@15(LanguageID@1000 : Integer); BEGIN Name := GetMLName(LanguageID); "Code Caption" := GetMLCodeCaption(LanguageID); "Filter Caption" := GetMLFilterCaption(LanguageID); Description := GetMLDescription(LanguageID); END; PROCEDURE GetMLName@3(LanguageID@1001 : Integer) : Text[30]; BEGIN GetDimTrans(LanguageID); EXIT(DimTrans.Name); END; PROCEDURE GetMLCodeCaption@4(LanguageID@1000 : Integer) : Text[30]; BEGIN GetDimTrans(LanguageID); EXIT(DimTrans."Code Caption"); END; PROCEDURE GetMLFilterCaption@5(LanguageID@1000 : Integer) : Text[30]; BEGIN GetDimTrans(LanguageID); EXIT(DimTrans."Filter Caption"); END; PROCEDURE GetMLDescription@7(LanguageID@1000 : Integer) : Text[50]; BEGIN GetDimTrans(LanguageID); DimTrans.CALCFIELDS("Language Name"); EXIT(DimTrans."Language Name"); END; PROCEDURE SetMLName@11(NewMLName@1000 : Text[30];LanguageID@1001 : Integer); BEGIN IF IsApplicationLanguage(LanguageID) THEN BEGIN IF Name <> NewMLName THEN BEGIN Name := NewMLName; MODIFY; END; END ELSE BEGIN InsertDimTrans(LanguageID); IF DimTrans.Name <> NewMLName THEN BEGIN DimTrans.Name := NewMLName; DimTrans.MODIFY; END; END; END; PROCEDURE SetMLCodeCaption@10(NewMLCodeCaption@1000 : Text[30];LanguageID@1001 : Integer); BEGIN IF IsApplicationLanguage(LanguageID) THEN BEGIN IF "Code Caption" <> NewMLCodeCaption THEN BEGIN "Code Caption" := NewMLCodeCaption; MODIFY; END; END ELSE BEGIN InsertDimTrans(LanguageID); IF DimTrans."Code Caption" <> NewMLCodeCaption THEN BEGIN DimTrans."Code Caption" := NewMLCodeCaption; DimTrans.MODIFY; END; END; END; PROCEDURE SetMLFilterCaption@9(NewMLFilterCaption@1000 : Text[30];LanguageID@1001 : Integer); BEGIN IF IsApplicationLanguage(LanguageID) THEN BEGIN IF "Filter Caption" <> NewMLFilterCaption THEN BEGIN "Filter Caption" := NewMLFilterCaption; MODIFY; END; END ELSE BEGIN InsertDimTrans(LanguageID); IF DimTrans."Filter Caption" <> NewMLFilterCaption THEN BEGIN DimTrans."Filter Caption" := NewMLFilterCaption; DimTrans.MODIFY; END; END; END; PROCEDURE SetMLDescription@8(NewMLDescription@1000 : Text[50];LanguageID@1001 : Integer); BEGIN IF IsApplicationLanguage(LanguageID) THEN BEGIN IF Description <> NewMLDescription THEN BEGIN Description := NewMLDescription; MODIFY; END; END ELSE InsertDimTrans(LanguageID); END; LOCAL PROCEDURE GetDimTrans@19(LanguageID@1001 : Integer); BEGIN IF (DimTrans.Code <> Code) OR (DimTrans."Language ID" <> LanguageID) THEN IF NOT DimTrans.GET(Code,LanguageID) THEN BEGIN DimTrans.INIT; DimTrans.Code := Code; DimTrans."Language ID" := LanguageID; DimTrans.Name := Name; DimTrans."Code Caption" := "Code Caption"; DimTrans."Filter Caption" := "Filter Caption"; END; END; LOCAL PROCEDURE InsertDimTrans@2(LanguageID@1000 : Integer); BEGIN IF NOT DimTrans.GET(Code,LanguageID) THEN BEGIN DimTrans.INIT; DimTrans.Code := Code; DimTrans."Language ID" := LanguageID; DimTrans.INSERT; END; END; LOCAL PROCEDURE IsApplicationLanguage@14(LanguageID@1000 : Integer) : Boolean; VAR ApplicationManagement@1003 : Codeunit 1; BEGIN EXIT(LanguageID = ApplicationManagement.ApplicationLanguage); END; BEGIN END. } } OBJECT Page 42 Sales Order { OBJECT-PROPERTIES { Date=17.09.17; Time=16:16:07; Modified=Yes; Version List=NAVW17.10; } PROPERTIES { CaptionML=[DEU=Verkaufsauftrag; ENU=Sales Order]; SourceTable=Table36; SourceTableView=WHERE(Document Type=FILTER(Order)); PageType=Document; RefreshOnActivate=Yes; OnOpenPage=BEGIN IF UserMgt.GetSalesFilter <> '' THEN BEGIN FILTERGROUP(2); SETRANGE("Responsibility Center",UserMgt.GetSalesFilter); FILTERGROUP(0); END; SETRANGE("Date Filter",0D,WORKDATE - 1); // Dim 3-6 GetDimensionFilter; // END; OnAfterGetRecord=BEGIN JobQueueVisible := "Job Queue Status" = "Job Queue Status"::"Scheduled for Posting"; END; OnNewRecord=BEGIN "Responsibility Center" := UserMgt.GetSalesFilter; END; OnInsertRecord=BEGIN CheckCreditMaxBeforeInsert; END; OnDeleteRecord=BEGIN CurrPage.SAVERECORD; EXIT(ConfirmDeletion); END; OnAfterGetCurrRecord=BEGIN DynamicEditable := CurrPage.EDITABLE; // Dim 3-6 CALCFIELDS("Dimension 3 Code","Dimension 4 Code","Dimension 5 Code","Dimension 6 Code"); Dim3 := "Dimension 3 Code"; Dim4 := "Dimension 4 Code"; Dim5 := "Dimension 5 Code"; Dim6 := "Dimension 6 Code"; // END; ActionList=ACTIONS { { 1900000003;0 ;ActionContainer; ActionContainerType=RelatedInformation } { 59 ;1 ;ActionGroup; CaptionML=[DEU=Auf&trag; ENU=O&rder]; Image=Order } { 61 ;2 ;Action ; Name=Statistics; ShortCutKey=F7; CaptionML=[DEU=Statistik; ENU=Statistics]; Promoted=Yes; Image=Statistics; PromotedCategory=Process; OnAction=BEGIN CalcInvDiscForHeader; COMMIT; PAGE.RUNMODAL(PAGE::"Sales Order Statistics",Rec); END; } { 62 ;2 ;Action ; ShortCutKey=Umschalt+F7; CaptionML=[DEU=Karte; ENU=Card]; RunObject=Page 21; RunPageLink=No.=FIELD(Sell-to Customer No.); Image=EditLines } { 122 ;2 ;Action ; Name=Dimensions; ShortCutKey=Umschalt+Strg+D; CaptionML=[DEU=Dimensionen; ENU=Dimensions]; Image=Dimensions; OnAction=BEGIN ShowDocDim; CurrPage.SAVERECORD; END; } { 78 ;2 ;Action ; CaptionML=[DEU=&Genehmigungen; ENU=A&pprovals]; Image=Approvals; OnAction=VAR ApprovalEntries@1001 : Page 658; BEGIN ApprovalEntries.Setfilters(DATABASE::"Sales Header","Document Type","No."); ApprovalEntries.RUN; END; } { 63 ;2 ;Action ; CaptionML=[DEU=Be&merkungen; ENU=Co&mments]; RunObject=Page 67; RunPageLink=Document Type=FIELD(Document Type), No.=FIELD(No.), Document Line No.=CONST(0); Image=ViewComments } { 259 ;2 ;Action ; CaptionML=[DEU=Transaktionspro&tokolleintr„ge fr Kreditkarten; ENU=Credit Cards Transaction Lo&g Entries]; RunObject=Page 829; RunPageLink=Document No.=FIELD(No.), Customer No.=FIELD(Bill-to Customer No.); Image=CreditCardLog } { 11 ;2 ;Action ; CaptionML=[DEU=Montageauftr„ge; ENU=Assembly Orders]; Image=AssemblyOrder; OnAction=VAR AssembleToOrderLink@1000 : Record 904; BEGIN AssembleToOrderLink.ShowAsmOrders(Rec); END; } { 13 ;1 ;ActionGroup; CaptionML=[DEU=Belege; ENU=Documents]; Image=Documents } { 64 ;2 ;Action ; CaptionML=[DEU=&Lieferungen; ENU=S&hipments]; RunObject=Page 142; RunPageView=SORTING(Order No.); RunPageLink=Order No.=FIELD(No.); Image=Shipment } { 65 ;2 ;Action ; CaptionML=[DEU=Rechnungen; ENU=Invoices]; RunObject=Page 143; RunPageView=SORTING(Order No.); RunPageLink=Order No.=FIELD(No.); Image=Invoice } { 15 ;1 ;ActionGroup; CaptionML=[DEU=Lager; ENU=Warehouse]; Image=Warehouse } { 150 ;2 ;Action ; CaptionML=[DEU=Lager&belegzeilen; ENU=In&vt. Put-away/Pick Lines]; RunObject=Page 5774; RunPageView=SORTING(Source Document,Source No.,Location Code); RunPageLink=Source Document=CONST(Sales Order), Source No.=FIELD(No.); Image=PickLines } { 168 ;2 ;Action ; CaptionML=[DEU=Warenausgangszeilen; ENU=Whse. Shipment Lines]; RunObject=Page 7341; RunPageView=SORTING(Source Type,Source Subtype,Source No.,Source Line No.); RunPageLink=Source Type=CONST(37), Source Subtype=FIELD(Document Type), Source No.=FIELD(No.); Image=ShipmentLines } { 17 ;1 ;ActionGroup; CaptionML=[DEU=Vorauszahlung; ENU=Prepayment]; Image=Prepayment } { 234 ;2 ;Action ; CaptionML=[DEU=&Vorauszahlungsrechnungen; ENU=Prepa&yment Invoices]; RunObject=Page 143; RunPageView=SORTING(Prepayment Order No.); RunPageLink=Prepayment Order No.=FIELD(No.); Image=PrepaymentInvoice } { 235 ;2 ;Action ; CaptionML=[DEU=Vorauszahlungsgu&tschriften; ENU=Prepayment Credi&t Memos]; RunObject=Page 144; RunPageView=SORTING(Prepayment Order No.); RunPageLink=Prepayment Order No.=FIELD(No.); Image=PrepaymentCreditMemo } { 1900000004;0 ;ActionContainer; ActionContainerType=ActionItems } { 21 ;1 ;ActionGroup; CaptionML=[DEU=Freigeben; ENU=Release]; Image=ReleaseDoc } { 133 ;2 ;Action ; Name=Release; ShortCutKey=Strg+F9; CaptionML=[DEU=&Freigeben; ENU=Re&lease]; Promoted=Yes; Image=ReleaseDoc; PromotedCategory=Process; OnAction=VAR ReleaseSalesDoc@1000 : Codeunit 414; BEGIN ReleaseSalesDoc.PerformManualRelease(Rec); END; } { 134 ;2 ;Action ; CaptionML=[DEU=Stat&us zurcksetzen; ENU=Re&open]; Promoted=Yes; Image=ReOpen; PromotedCategory=Process; OnAction=VAR ReleaseSalesDoc@1001 : Codeunit 414; BEGIN ReleaseSalesDoc.PerformManualReopen(Rec); END; } { 66 ;1 ;ActionGroup; CaptionML=[DEU=F&unktion; ENU=F&unctions]; Image=Action } { 67 ;2 ;Action ; CaptionML=[DEU=&Rechnungsrab. berechnen; ENU=Calculate &Invoice Discount]; Image=CalculateInvoiceDiscount; OnAction=BEGIN ApproveCalcInvDisc; END; } { 167 ;2 ;Action ; Ellipsis=Yes; CaptionML=[DEU=Std.-Deb.-&Verkaufscodes holen; ENU=Get St&d. Cust. Sales Codes]; Image=CustomerCode; OnAction=VAR StdCustSalesCode@1000 : Record 172; BEGIN StdCustSalesCode.InsertSalesLines(Rec); END; } { 68 ;2 ;Action ; Name=CopyDocument; Ellipsis=Yes; CaptionML=[DEU=Beleg kopieren; ENU=Copy Document]; Promoted=Yes; Image=CopyDocument; PromotedCategory=Process; OnAction=BEGIN CopySalesDoc.SetSalesHeader(Rec); CopySalesDoc.RUNMODAL; CLEAR(CopySalesDoc); END; } { 154 ;2 ;Action ; Ellipsis=Yes; CaptionML=[DEU=Negative Zeilen bertragen; ENU=Move Negative Lines]; Image=MoveNegativeLines; OnAction=BEGIN CLEAR(MoveNegSalesLines); MoveNegSalesLines.SetSalesHeader(Rec); MoveNegSalesLines.RUNMODAL; MoveNegSalesLines.ShowDocument; END; } { 196 ;2 ;Action ; Name=Archive Document; CaptionML=[DEU=Beleg ar&chivieren; ENU=Archi&ve Document]; Image=Archive; OnAction=BEGIN ArchiveManagement.ArchiveSalesDocument(Rec); CurrPage.UPDATE(FALSE); END; } { 204 ;2 ;Action ; CaptionML=[DEU=IC-Auftragsbest„t. senden; ENU=Send IC Sales Order Cnfmn.]; Image=IntercompanyOrder; OnAction=VAR ICInOutboxMgt@1000 : Codeunit 427; ApprovalMgt@1003 : Codeunit 439; PurchaseHeader@1002 : Record 38; BEGIN IF ApprovalMgt.PrePostApprovalCheck(Rec,PurchaseHeader) THEN ICInOutboxMgt.SendSalesDoc(Rec,FALSE); END; } { 23 ;1 ;ActionGroup; CaptionML=[DEU=Planen; ENU=Plan]; Image=Planning } { 197 ;2 ;Action ; CaptionML=[DEU=Lie&ferterminzusagen; ENU=Order &Promising]; Image=OrderPromising; OnAction=VAR OrderPromisingLine@1000 : TEMPORARY Record 99000880; BEGIN OrderPromisingLine.SETRANGE("Source Type","Document Type"); OrderPromisingLine.SETRANGE("Source ID","No."); PAGE.RUNMODAL(PAGE::"Order Promising Lines",OrderPromisingLine); END; } { 248 ;2 ;Action ; CaptionML=[DEU=Bedarfsbersicht; ENU=Demand Overview]; Image=Forecast; OnAction=VAR DemandOverview@1000 : Page 5830; BEGIN DemandOverview.SetCalculationParameter(TRUE); DemandOverview.Initialize(0D,1,"No.",'',''); DemandOverview.RUNMODAL; END; } { 121 ;2 ;Action ; CaptionML=[DEU=Pla&nung; ENU=Pla&nning]; Image=Planning; OnAction=VAR SalesPlanForm@1001 : Page 99000883; BEGIN SalesPlanForm.SetSalesOrder("No."); SalesPlanForm.RUNMODAL; END; } { 25 ;1 ;ActionGroup; CaptionML=[DEU=Anforderung; ENU=Request]; Image=SendApprovalRequest } { 250 ;2 ;Action ; CaptionML=[DEU=&Genehmigungsanforderung senden; ENU=Send A&pproval Request]; Image=SendApprovalRequest; OnAction=VAR ApprovalMgt@1001 : Codeunit 439; BEGIN IF ApprovalMgt.SendSalesApprovalRequest(Rec) THEN; END; } { 251 ;2 ;Action ; CaptionML=[DEU=&Genehmigungsanforderung stornieren; ENU=Cancel Approval Re&quest]; Image=Cancel; OnAction=VAR ApprovalMgt@1001 : Codeunit 439; BEGIN IF ApprovalMgt.CancelSalesApprovalRequest(Rec,TRUE,TRUE) THEN; END; } { 19 ;2 ;ActionGroup; CaptionML=[DEU=Autorisieren; ENU=Authorize]; Image=AuthorizeCreditCard } { 256 ;3 ;Action ; CaptionML=[DEU=Autorisieren; ENU=Authorize]; Image=AuthorizeCreditCard; OnAction=BEGIN Authorize; END; } { 257 ;3 ;Action ; CaptionML=[DEU=Void A&uthorize; ENU=Void A&uthorize]; Image=VoidCreditCard; OnAction=BEGIN Void; END; } { 3 ;1 ;ActionGroup; CaptionML=[DEU=Lager; ENU=Warehouse]; Image=Warehouse } { 148 ;2 ;Action ; Ellipsis=Yes; CaptionML=[DEU=La&gerbelege erstellen; ENU=Create Inventor&y Put-away / Pick]; Promoted=Yes; Image=CreateInventoryPickup; PromotedCategory=Process; OnAction=BEGIN CreateInvtPutAwayPick; IF NOT FIND('=><') THEN INIT; END; } { 149 ;2 ;Action ; CaptionML=[DEU=&Warenausgang erstellen; ENU=Create &Whse. Shipment]; Image=NewShipment; OnAction=VAR GetSourceDocOutbound@1001 : Codeunit 5752; BEGIN GetSourceDocOutbound.CreateFromSalesOrder(Rec); IF NOT FIND('=><') THEN INIT; END; } { 73 ;1 ;ActionGroup; CaptionML=[DEU=Bu&chen; ENU=P&osting]; Image=Post } { 75 ;2 ;Action ; Name=Post; ShortCutKey=F9; Ellipsis=Yes; CaptionML=[DEU=Bu&chen; ENU=P&ost]; Promoted=Yes; PromotedIsBig=Yes; Image=PostOrder; PromotedCategory=Process; OnAction=BEGIN Post(CODEUNIT::"Sales-Post (Yes/No)"); END; } { 76 ;2 ;Action ; ShortCutKey=Umschalt+F9; Ellipsis=Yes; CaptionML=[DEU=Buchen und d&rucken; ENU=Post and &Print]; Promoted=Yes; PromotedIsBig=Yes; Image=PostPrint; PromotedCategory=Process; OnAction=BEGIN Post(CODEUNIT::"Sales-Post + Print"); END; } { 74 ;2 ;Action ; Ellipsis=Yes; CaptionML=[DEU=Testbericht; ENU=Test Report]; Image=TestReport; OnAction=BEGIN ReportPrint.PrintSalesHeader(Rec); END; } { 77 ;2 ;Action ; Ellipsis=Yes; CaptionML=[DEU=&Stapelbuchen; ENU=Post &Batch]; Image=PostBatch; OnAction=BEGIN REPORT.RUNMODAL(REPORT::"Batch Post Sales Orders",TRUE,TRUE,Rec); CurrPage.UPDATE(FALSE); END; } { 7 ;2 ;Action ; CaptionML=[DEU=Aus Aufgabenwarteschlange entfernen; ENU=Remove From Job Queue]; Visible=JobQueueVisible; Image=RemoveLine; OnAction=BEGIN CancelBackgroundPosting; END; } { 236 ;2 ;ActionGroup; CaptionML=[DEU=&Vorauszahlung; ENU=Prepa&yment]; Image=Prepayment } { 231 ;3 ;Action ; Ellipsis=Yes; CaptionML=[DEU=Vorauszahlungs&testbericht; ENU=Prepayment &Test Report]; Image=PrepaymentSimulation; OnAction=BEGIN ReportPrint.PrintSalesHeaderPrepmt(Rec); END; } { 232 ;3 ;Action ; Name=PostPrepaymentInvoice; Ellipsis=Yes; CaptionML=[DEU=&Vorauszahlungsrechnung buchen; ENU=Post Prepayment &Invoice]; Image=PrepaymentPost; OnAction=VAR PurchaseHeader@1002 : Record 38; SalesPostYNPrepmt@1000 : Codeunit 443; BEGIN IF ApprovalMgt.PrePostApprovalCheck(Rec,PurchaseHeader) THEN SalesPostYNPrepmt.PostPrepmtInvoiceYN(Rec,FALSE); END; } { 237 ;3 ;Action ; Ellipsis=Yes; CaptionML=[DEU=Vorauszahlungsr&echnung buchen und drucken; ENU=Post and Print Prepmt. Invoic&e]; Image=PrepaymentPostPrint; OnAction=VAR PurchaseHeader@1002 : Record 38; SalesPostYNPrepmt@1000 : Codeunit 443; BEGIN IF ApprovalMgt.PrePostApprovalCheck(Rec,PurchaseHeader) THEN SalesPostYNPrepmt.PostPrepmtInvoiceYN(Rec,TRUE); END; } { 233 ;3 ;Action ; Name=PostPrepaymentCreditMemo; Ellipsis=Yes; CaptionML=[DEU=Vorauszahlungsguts&chrift buchen; ENU=Post Prepayment &Credit Memo]; Image=PrepaymentPost; OnAction=VAR PurchaseHeader@1002 : Record 38; SalesPostYNPrepmt@1000 : Codeunit 443; BEGIN IF ApprovalMgt.PrePostApprovalCheck(Rec,PurchaseHeader) THEN SalesPostYNPrepmt.PostPrepmtCrMemoYN(Rec,FALSE); END; } { 238 ;3 ;Action ; Ellipsis=Yes; CaptionML=[DEU=V&orauszahlungsgutschrift buchen und drucken; ENU=Post and Print Prepmt. Cr. Mem&o]; Image=PrepaymentPostPrint; OnAction=VAR PurchaseHeader@1002 : Record 38; SalesPostYNPrepmt@1000 : Codeunit 443; BEGIN IF ApprovalMgt.PrePostApprovalCheck(Rec,PurchaseHeader) THEN SalesPostYNPrepmt.PostPrepmtCrMemoYN(Rec,TRUE); END; } { 223 ;1 ;ActionGroup; CaptionML=[DEU=&Drucken; ENU=&Print]; Image=Print } { 224 ;2 ;Action ; Ellipsis=Yes; CaptionML=[DEU=Verkauf - Auftragsbest„tigung; ENU=Order Confirmation]; Image=Print; OnAction=BEGIN DocPrint.PrintSalesOrder(Rec,Usage::"Order Confirmation"); END; } { 225 ;2 ;Action ; Ellipsis=Yes; CaptionML=[DEU=Arbeitsschein; ENU=Work Order]; Image=Print; OnAction=BEGIN DocPrint.PrintSalesOrder(Rec,Usage::"Work Order"); END; } { 5 ;2 ;Action ; CaptionML=[DEU=Kommissionieranweisung; ENU=Pick Instruction]; Image=Print; OnAction=BEGIN DocPrint.PrintSalesOrder(Rec,Usage::"Pick Instruction"); END; } } } CONTROLS { { 1900000001;0;Container; ContainerType=ContentArea } { 1 ;1 ;Group ; CaptionML=[DEU=Allgemein; ENU=General] } { 2 ;2 ;Field ; SourceExpr="No."; Importance=Promoted; OnAssistEdit=BEGIN IF AssistEdit(xRec) THEN CurrPage.UPDATE; END; } { 4 ;2 ;Field ; SourceExpr="Sell-to Customer No."; Importance=Promoted; OnValidate=BEGIN SelltoCustomerNoOnAfterValidat; END; } { 157 ;2 ;Field ; SourceExpr="Sell-to Contact No."; Importance=Additional; OnValidate=BEGIN IF GETFILTER("Sell-to Contact No.") = xRec."Sell-to Contact No." THEN IF "Sell-to Contact No." <> xRec."Sell-to Contact No." THEN SETRANGE("Sell-to Contact No."); END; } { 6 ;2 ;Field ; SourceExpr="Sell-to Customer Name"; QuickEntry=FALSE } { 81 ;2 ;Field ; SourceExpr="Sell-to Address"; Importance=Additional } { 83 ;2 ;Field ; SourceExpr="Sell-to Address 2"; Importance=Additional } { 72 ;2 ;Field ; SourceExpr="Sell-to Post Code"; Importance=Additional } { 86 ;2 ;Field ; SourceExpr="Sell-to City"; QuickEntry=FALSE } { 8 ;2 ;Field ; SourceExpr="Sell-to Contact"; Importance=Additional } { 198 ;2 ;Field ; SourceExpr="No. of Archived Versions"; Importance=Additional } { 12 ;2 ;Field ; SourceExpr="Posting Date"; QuickEntry=FALSE } { 14 ;2 ;Field ; SourceExpr="Order Date"; Importance=Promoted; QuickEntry=FALSE } { 45 ;2 ;Field ; SourceExpr="Document Date"; QuickEntry=FALSE } { 135 ;2 ;Field ; SourceExpr="Requested Delivery Date" } { 137 ;2 ;Field ; SourceExpr="Promised Delivery Date"; Importance=Additional } { 243 ;2 ;Field ; SourceExpr="Quote No."; Importance=Additional } { 155 ;2 ;Field ; SourceExpr="External Document No."; Importance=Promoted } { 10 ;2 ;Field ; SourceExpr="Salesperson Code"; OnValidate=BEGIN SalespersonCodeOnAfterValidate; END; QuickEntry=FALSE } { 1148;2 ;Field ; SourceExpr="Campaign No."; Importance=Additional } { 245 ;2 ;Field ; SourceExpr="Opportunity No."; Importance=Additional } { 124 ;2 ;Field ; SourceExpr="Responsibility Center"; Importance=Additional } { 241 ;2 ;Field ; SourceExpr="Assigned User ID"; Importance=Additional } { 9 ;2 ;Field ; SourceExpr="Job Queue Status"; Importance=Additional } { 129 ;2 ;Field ; SourceExpr=Status; Importance=Promoted; QuickEntry=FALSE } { 58 ;1 ;Part ; Name=SalesLines; SubPageLink=Document No.=FIELD(No.); PagePartID=Page46; Editable=DynamicEditable } { 1905885101;1;Group ; CaptionML=[DEU=Fakturierung; ENU=Invoicing] } { 16 ;2 ;Field ; SourceExpr="Bill-to Customer No."; Importance=Promoted; OnValidate=BEGIN BilltoCustomerNoOnAfterValidat; END; } { 159 ;2 ;Field ; SourceExpr="Bill-to Contact No."; Importance=Additional } { 18 ;2 ;Field ; SourceExpr="Bill-to Name" } { 20 ;2 ;Field ; SourceExpr="Bill-to Address"; Importance=Additional } { 22 ;2 ;Field ; SourceExpr="Bill-to Address 2"; Importance=Additional } { 89 ;2 ;Field ; SourceExpr="Bill-to Post Code"; Importance=Additional } { 24 ;2 ;Field ; SourceExpr="Bill-to City" } { 26 ;2 ;Field ; SourceExpr="Bill-to Contact"; Importance=Additional } { 84 ;2 ;Field ; SourceExpr="Shortcut Dimension 1 Code"; OnValidate=BEGIN ShortcutDimension1CodeOnAfterV; END; } { 92 ;2 ;Field ; SourceExpr="Shortcut Dimension 2 Code"; OnValidate=BEGIN ShortcutDimension2CodeOnAfterV; END; } { 1000000000;2;Field ; Name=Dim3Control; SourceExpr=Dim3; CaptionClass='1,2,3'; TableRelation="Dimension Value".Code WHERE (Global Dimension No.=CONST(3)); OnValidate=BEGIN ValidateShortcutDimCode(3,Dim3); END; } { 1000000001;2;Field ; Name=Dim4Control; SourceExpr=Dim4; CaptionClass='1,2,4'; TableRelation="Dimension Value".Code WHERE (Global Dimension No.=CONST(4)); OnValidate=BEGIN ValidateShortcutDimCode(4,Dim4); END; } { 1000000002;2;Field ; Name=Dim5Control; SourceExpr=Dim5; CaptionClass='1,2,5'; TableRelation="Dimension Value".Code WHERE (Global Dimension No.=CONST(5)); OnValidate=BEGIN ValidateShortcutDimCode(5,Dim5); END; } { 1000000003;2;Field ; Name=Dim6Control; SourceExpr=Dim6; CaptionClass='1,2,6'; TableRelation="Dimension Value".Code WHERE (Global Dimension No.=CONST(6)); OnValidate=BEGIN ValidateShortcutDimCode(6,Dim6); END; } { 28 ;2 ;Field ; SourceExpr="Payment Terms Code"; Importance=Promoted } { 30 ;2 ;Field ; SourceExpr="Due Date"; Importance=Promoted } { 32 ;2 ;Field ; SourceExpr="Payment Discount %" } { 34 ;2 ;Field ; SourceExpr="Pmt. Discount Date" } { 105 ;2 ;Field ; SourceExpr="Payment Method Code" } { 27 ;2 ;Field ; SourceExpr="Direct Debit Mandate ID" } { 131 ;2 ;Field ; SourceExpr="Prices Including VAT"; OnValidate=BEGIN PricesIncludingVATOnAfterValid; END; } { 221 ;2 ;Field ; SourceExpr="VAT Bus. Posting Group" } { 226 ;2 ;Field ; SourceExpr="Credit Card No." } { 253 ;2 ;Field ; CaptionML=[DEU=Kreditkartennummer (letzte vier Stellen); ENU=Cr. Card Number (Last 4 Digits)]; SourceExpr=GetCreditcardNumber } { 1906801201;1;Group ; CaptionML=[DEU=Lieferung; ENU=Shipping] } { 36 ;2 ;Field ; SourceExpr="Ship-to Code"; Importance=Promoted } { 38 ;2 ;Field ; SourceExpr="Ship-to Name" } { 40 ;2 ;Field ; SourceExpr="Ship-to Address"; Importance=Additional } { 42 ;2 ;Field ; SourceExpr="Ship-to Address 2"; Importance=Additional } { 97 ;2 ;Field ; SourceExpr="Ship-to Post Code"; Importance=Promoted } { 44 ;2 ;Field ; SourceExpr="Ship-to City" } { 46 ;2 ;Field ; SourceExpr="Ship-to Contact"; Importance=Additional } { 94 ;2 ;Field ; SourceExpr="Location Code" } { 141 ;2 ;Field ; SourceExpr="Outbound Whse. Handling Time"; Importance=Additional } { 48 ;2 ;Field ; SourceExpr="Shipment Method Code" } { 107 ;2 ;Field ; SourceExpr="Shipping Agent Code"; Importance=Additional } { 139 ;2 ;Field ; SourceExpr="Shipping Agent Service Code"; Importance=Additional } { 143 ;2 ;Field ; SourceExpr="Shipping Time" } { 145 ;2 ;Field ; SourceExpr="Late Order Shipping"; Importance=Additional } { 109 ;2 ;Field ; SourceExpr="Package Tracking No."; Importance=Additional } { 50 ;2 ;Field ; SourceExpr="Shipment Date"; Importance=Promoted } { 119 ;2 ;Field ; SourceExpr="Shipping Advice"; Importance=Promoted; OnValidate=BEGIN IF "Shipping Advice" <> xRec."Shipping Advice" THEN IF NOT CONFIRM(Text001,FALSE,FIELDCAPTION("Shipping Advice")) THEN ERROR(Text002); END; } { 1907468901;1;Group ; CaptionML=[DEU=Auáenhandel; ENU=Foreign Trade] } { 111 ;2 ;Field ; SourceExpr="Currency Code"; Importance=Promoted; OnAssistEdit=BEGIN CLEAR(ChangeExchangeRate); IF "Posting Date" <> 0D THEN ChangeExchangeRate.SetParameter("Currency Code","Currency Factor","Posting Date") ELSE ChangeExchangeRate.SetParameter("Currency Code","Currency Factor",WORKDATE); IF ChangeExchangeRate.RUNMODAL = ACTION::OK THEN BEGIN VALIDATE("Currency Factor",ChangeExchangeRate.GetParameter); CurrPage.UPDATE; END; CLEAR(ChangeExchangeRate); END; } { 52 ;2 ;Field ; SourceExpr="EU 3-Party Trade" } { 54 ;2 ;Field ; SourceExpr="Transaction Type" } { 103 ;2 ;Field ; SourceExpr="Transaction Specification" } { 56 ;2 ;Field ; SourceExpr="Transport Method" } { 99 ;2 ;Field ; SourceExpr="Exit Point" } { 101 ;2 ;Field ; SourceExpr=Area } { 1900201301;1;Group ; CaptionML=[DEU=Vorauszahlung; ENU=Prepayment] } { 228 ;2 ;Field ; SourceExpr="Prepayment %"; Importance=Promoted; OnValidate=BEGIN Prepayment37OnAfterValidate; END; } { 229 ;2 ;Field ; SourceExpr="Compress Prepayment" } { 162 ;2 ;Field ; SourceExpr="Prepmt. Payment Terms Code" } { 239 ;2 ;Field ; SourceExpr="Prepayment Due Date"; Importance=Promoted } { 164 ;2 ;Field ; SourceExpr="Prepmt. Payment Discount %" } { 70 ;2 ;Field ; SourceExpr="Prepmt. Pmt. Discount Date" } { 1900000007;0;Container; ContainerType=FactBoxArea } { 1903720907;1;Part ; SubPageLink=No.=FIELD(Sell-to Customer No.); PagePartID=Page9080; Visible=TRUE; PartType=Page } { 1902018507;1;Part ; SubPageLink=No.=FIELD(Bill-to Customer No.); PagePartID=Page9082; Visible=FALSE; PartType=Page } { 1900316107;1;Part ; SubPageLink=No.=FIELD(Sell-to Customer No.); PagePartID=Page9084; Visible=FALSE; PartType=Page } { 1906127307;1;Part ; SubPageLink=Document Type=FIELD(Document Type), Document No.=FIELD(Document No.), Line No.=FIELD(Line No.); PagePartID=Page9087; ProviderID=58; Visible=TRUE; PartType=Page } { 1901314507;1;Part ; SubPageLink=No.=FIELD(No.); PagePartID=Page9089; ProviderID=58; Visible=FALSE; PartType=Page } { 1906354007;1;Part ; SubPageLink=Table ID=CONST(36), Document Type=FIELD(Document Type), Document No.=FIELD(No.); PagePartID=Page9092; Visible=FALSE; PartType=Page } { 1907012907;1;Part ; SubPageLink=No.=FIELD(No.); PagePartID=Page9108; ProviderID=58; Visible=FALSE; PartType=Page } { 1901796907;1;Part ; SubPageLink=No.=FIELD(No.); PagePartID=Page9109; ProviderID=58; Visible=FALSE; PartType=Page } { 1907234507;1;Part ; SubPageLink=No.=FIELD(Bill-to Customer No.); PagePartID=Page9081; Visible=FALSE; PartType=Page } { 1900383207;1;Part ; Visible=FALSE; PartType=System; SystemPartID=RecordLinks } { 1905767507;1;Part ; Visible=TRUE; PartType=System; SystemPartID=Notes } } CODE { VAR Text000@1000 : TextConst 'DEU=Diese Funktion kann im Ansichtmodus nicht ausgefhrt werden.;ENU=Unable to execute this function while in view only mode.'; CopySalesDoc@1001 : Report 292; MoveNegSalesLines@1007 : Report 6699; ApprovalMgt@1012 : Codeunit 439; ReportPrint@1002 : Codeunit 228; DocPrint@1003 : Codeunit 229; ArchiveManagement@1008 : Codeunit 5063; ChangeExchangeRate@1005 : Page 511; UserMgt@1006 : Codeunit 5700; Usage@1010 : 'Order Confirmation,Work Order,Pick Instruction'; JobQueueVisible@1004 : Boolean INDATASET; Text001@1015 : TextConst 'DEU=M”chten Sie %1 in allen verknpften Datens„tzen im Lager „ndern?;ENU=Do you want to change %1 in all related records in the warehouse?'; Text002@1011 : TextConst 'DEU=Die Verarbeitung wurde unterbrochen, um die Warnung zu bercksichtigen.;ENU=The update has been interrupted to respect the warning.'; DynamicEditable@1009 : Boolean; "+++"@1000000000 : Integer; Dim3@1000000001 : Code[20]; Dim4@1000000002 : Code[20]; Dim5@1000000003 : Code[20]; Dim6@1000000004 : Code[20]; LOCAL PROCEDURE Post@4(PostingCodeunitID@1000 : Integer); BEGIN SendToPosting(PostingCodeunitID); IF "Job Queue Status" = "Job Queue Status"::"Scheduled for Posting" THEN CurrPage.CLOSE; CurrPage.UPDATE(FALSE); END; PROCEDURE UpdateAllowed@1() : Boolean; BEGIN IF CurrPage.EDITABLE = FALSE THEN ERROR(Text000); EXIT(TRUE); END; LOCAL PROCEDURE ApproveCalcInvDisc@3(); BEGIN CurrPage.SalesLines.PAGE.ApproveCalcInvDisc; END; LOCAL PROCEDURE SelltoCustomerNoOnAfterValidat@19034782(); BEGIN IF GETFILTER("Sell-to Customer No.") = xRec."Sell-to Customer No." THEN IF "Sell-to Customer No." <> xRec."Sell-to Customer No." THEN SETRANGE("Sell-to Customer No."); CurrPage.UPDATE; END; LOCAL PROCEDURE SalespersonCodeOnAfterValidate@19011896(); BEGIN CurrPage.SalesLines.PAGE.UpdateForm(TRUE); END; LOCAL PROCEDURE BilltoCustomerNoOnAfterValidat@19044114(); BEGIN CurrPage.UPDATE; END; LOCAL PROCEDURE ShortcutDimension1CodeOnAfterV@19029405(); BEGIN CurrPage.UPDATE; END; LOCAL PROCEDURE ShortcutDimension2CodeOnAfterV@19008725(); BEGIN CurrPage.UPDATE; END; LOCAL PROCEDURE PricesIncludingVATOnAfterValid@19009096(); BEGIN CurrPage.UPDATE; END; LOCAL PROCEDURE Prepayment37OnAfterValidate@19040510(); BEGIN CurrPage.UPDATE; END; BEGIN END. } } OBJECT Page 9305 Sales Order List { OBJECT-PROPERTIES { Date=17.09.17; Time=16:05:12; Modified=Yes; Version List=NAVW17.10.00.36281; } PROPERTIES { Editable=No; CaptionML=[DEU=Verkaufsauftr„ge; ENU=Sales Orders]; SourceTable=Table36; SourceTableView=WHERE(Document Type=CONST(Order)); PageType=List; CardPageID=Sales Order; OnOpenPage=VAR SalesSetup@1000 : Record 311; BEGIN IF UserMgt.GetSalesFilter <> '' THEN BEGIN FILTERGROUP(2); SETRANGE("Responsibility Center",UserMgt.GetSalesFilter); FILTERGROUP(0); END; SETRANGE("Date Filter",0D,WORKDATE - 1); JobQueueActive := SalesSetup.JobQueueActive; // Dim 3-6 GetDimensionFilter; // END; ActionList=ACTIONS { { 1900000003;0 ;ActionContainer; ActionContainerType=RelatedInformation } { 1102601000;1 ;ActionGroup; CaptionML=[DEU=Au&ftrag; ENU=O&rder]; Image=Order } { 1102601013;2 ;Action ; ShortCutKey=Umschalt+Strg+D; CaptionML=[DEU=Dimensionen; ENU=Dimensions]; Image=Dimensions; OnAction=BEGIN ShowDocDim; END; } { 1102601006;2 ;Action ; Name=Statistics; ShortCutKey=F7; CaptionML=[DEU=Statistik; ENU=Statistics]; Promoted=Yes; Image=Statistics; PromotedCategory=Process; OnAction=BEGIN CalcInvDiscForHeader; COMMIT; PAGE.RUNMODAL(PAGE::"Sales Order Statistics",Rec); END; } { 1102601014;2 ;Action ; CaptionML=[DEU=&Genehmigungen; ENU=A&pprovals]; Image=Approvals; OnAction=VAR ApprovalEntries@1001 : Page 658; BEGIN ApprovalEntries.Setfilters(DATABASE::"Sales Header","Document Type","No."); ApprovalEntries.RUN; END; } { 1102601008;2 ;Action ; CaptionML=[DEU=Be&merkungen; ENU=Co&mments]; RunObject=Page 67; RunPageLink=Document Type=FIELD(Document Type), No.=FIELD(No.), Document Line No.=CONST(0); Image=ViewComments } { 9 ;1 ;ActionGroup; CaptionML=[DEU=Belege; ENU=Documents]; Image=Documents } { 1102601009;2 ;Action ; CaptionML=[DEU=L&ieferungen; ENU=S&hipments]; RunObject=Page 142; RunPageView=SORTING(Order No.); RunPageLink=Order No.=FIELD(No.); Image=Shipment } { 1102601010;2 ;Action ; CaptionML=[DEU=Rechnungen; ENU=Invoices]; RunObject=Page 143; RunPageView=SORTING(Order No.); RunPageLink=Order No.=FIELD(No.); Image=Invoice } { 1102601011;2 ;Action ; CaptionML=[DEU=&Vorauszahlungsrechnungen; ENU=Prepa&yment Invoices]; RunObject=Page 143; RunPageView=SORTING(Prepayment Order No.); RunPageLink=Prepayment Order No.=FIELD(No.); Image=PrepaymentInvoice } { 1102601012;2 ;Action ; CaptionML=[DEU=Vorauszahlungsgu&tschriften; ENU=Prepayment Credi&t Memos]; RunObject=Page 144; RunPageView=SORTING(Prepayment Order No.); RunPageLink=Prepayment Order No.=FIELD(No.); Image=PrepaymentCreditMemo } { 10 ;1 ;ActionGroup; CaptionML=[DEU=Lager; ENU=Warehouse]; Image=Warehouse } { 1102601016;2 ;Action ; CaptionML=[DEU=Warenausgangszeilen; ENU=Whse. Shipment Lines]; RunObject=Page 7341; RunPageView=SORTING(Source Type,Source Subtype,Source No.,Source Line No.); RunPageLink=Source Type=CONST(37), Source Subtype=FIELD(Document Type), Source No.=FIELD(No.); Image=ShipmentLines } { 1102601017;2 ;Action ; CaptionML=[DEU=Lager&belegzeilen; ENU=In&vt. Put-away/Pick Lines]; RunObject=Page 5774; RunPageView=SORTING(Source Document,Source No.,Location Code); RunPageLink=Source Document=CONST(Sales Order), Source No.=FIELD(No.); Image=PickLines } { 1900000004;0 ;ActionContainer; ActionContainerType=ActionItems } { 12 ;1 ;ActionGroup; CaptionML=[DEU=Freigeben; ENU=Release]; Image=ReleaseDoc } { 1102601049;2 ;Action ; ShortCutKey=Strg+F9; CaptionML=[DEU=&Freigeben; ENU=Re&lease]; Promoted=Yes; Image=ReleaseDoc; PromotedCategory=Process; OnAction=VAR ReleaseSalesDoc@1000 : Codeunit 414; BEGIN ReleaseSalesDoc.PerformManualRelease(Rec); END; } { 1102601050;2 ;Action ; CaptionML=[DEU=Stat&us zurcksetzen; ENU=Re&open]; Promoted=Yes; Image=ReOpen; PromotedCategory=Process; OnAction=VAR ReleaseSalesDoc@1001 : Codeunit 414; BEGIN ReleaseSalesDoc.PerformManualReopen(Rec); END; } { 1102601001;1 ;ActionGroup; CaptionML=[DEU=F&unktion; ENU=F&unctions]; Image=Action } { 102 ;2 ;Action ; CaptionML=[DEU=Pla&nung; ENU=Pla&nning]; Image=Planning; OnAction=VAR SalesOrderPlanningForm@1001 : Page 99000883; BEGIN SalesOrderPlanningForm.SetSalesOrder("No."); SalesOrderPlanningForm.RUNMODAL; END; } { 1102601020;2 ;Action ; CaptionML=[DEU=Lie&ferterminzusagen; ENU=Order &Promising]; Image=OrderPromising; OnAction=VAR OrderPromisingLine@1000 : TEMPORARY Record 99000880; BEGIN OrderPromisingLine.SETRANGE("Source Type","Document Type"); OrderPromisingLine.SETRANGE("Source ID","No."); PAGE.RUNMODAL(PAGE::"Order Promising Lines",OrderPromisingLine); END; } { 1102601046;2 ;Action ; CaptionML=[DEU=&Genehmigungsanforderung senden; ENU=Send A&pproval Request]; Image=SendApprovalRequest; OnAction=VAR ApprovalMgt@1001 : Codeunit 439; BEGIN IF ApprovalMgt.SendSalesApprovalRequest(Rec) THEN; END; } { 1102601047;2 ;Action ; CaptionML=[DEU=&Genehmigungsanforderung stornieren; ENU=Cancel Approval Re&quest]; Image=Cancel; OnAction=VAR ApprovalMgt@1001 : Codeunit 439; BEGIN IF ApprovalMgt.CancelSalesApprovalRequest(Rec,TRUE,TRUE) THEN; END; } { 1102601053;2 ;Action ; CaptionML=[DEU=IC-Auftragsbest„t. senden; ENU=Send IC Sales Order Cnfmn.]; Image=IntercompanyOrder; OnAction=VAR ICInOutboxMgt@1000 : Codeunit 427; ApprovalMgt@1003 : Codeunit 439; PurchaseHeader@1002 : Record 38; BEGIN IF ApprovalMgt.PrePostApprovalCheck(Rec,PurchaseHeader) THEN ICInOutboxMgt.SendSalesDoc(Rec,FALSE); END; } { 3 ;1 ;ActionGroup; CaptionML=[DEU=Lager; ENU=Warehouse]; Image=Warehouse } { 100 ;2 ;Action ; Ellipsis=Yes; CaptionML=[DEU=La&gerbelege erstellen; ENU=Create Inventor&y Put-away/Pick]; Image=CreatePutawayPick; OnAction=BEGIN CreateInvtPutAwayPick; IF NOT FIND('=><') THEN INIT; END; } { 1102601043;2 ;Action ; CaptionML=[DEU=&Warenausgang erstellen; ENU=Create &Whse. Shipment]; Image=NewShipment; OnAction=VAR GetSourceDocOutbound@1001 : Codeunit 5752; BEGIN GetSourceDocOutbound.CreateFromSalesOrder(Rec); IF NOT FIND('=><') THEN INIT; END; } { 49 ;1 ;ActionGroup; CaptionML=[DEU=Bu&chen; ENU=P&osting]; Image=Post } { 1102601003;2 ;Action ; ShortCutKey=F9; Ellipsis=Yes; CaptionML=[DEU=Bu&chen; ENU=P&ost]; Promoted=Yes; PromotedIsBig=Yes; Image=PostOrder; PromotedCategory=Process; OnAction=BEGIN SendToPosting(CODEUNIT::"Sales-Post (Yes/No)"); END; } { 1102601004;2 ;Action ; ShortCutKey=Umschalt+F9; Ellipsis=Yes; CaptionML=[DEU=Buchen und d&rucken; ENU=Post and &Print]; Promoted=Yes; PromotedIsBig=Yes; Image=PostPrint; PromotedCategory=Process; OnAction=BEGIN SendToPosting(CODEUNIT::"Sales-Post + Print"); END; } { 1102601002;2 ;Action ; Ellipsis=Yes; CaptionML=[DEU=Testbericht; ENU=Test Report]; Image=TestReport; OnAction=BEGIN ReportPrint.PrintSalesHeader(Rec); END; } { 50 ;2 ;Action ; Ellipsis=Yes; CaptionML=[DEU=&Stapelbuchen; ENU=Post &Batch]; Promoted=Yes; Image=PostBatch; PromotedCategory=Process; OnAction=BEGIN REPORT.RUNMODAL(REPORT::"Batch Post Sales Orders",TRUE,TRUE,Rec); CurrPage.UPDATE(FALSE); END; } { 8 ;2 ;Action ; CaptionML=[DEU=Aus Aufgabenwarteschlange entfernen; ENU=Remove From Job Queue]; Visible=JobQueueActive; Image=RemoveLine; OnAction=BEGIN CancelBackgroundPosting; END; } { 150 ;1 ;ActionGroup; CaptionML=[DEU=D&rucken; ENU=&Print]; Image=Print } { 151 ;2 ;Action ; Ellipsis=Yes; CaptionML=[DEU=Auftragsbest„tigung; ENU=Order Confirmation]; Promoted=Yes; Image=Print; PromotedCategory=Process; OnAction=BEGIN DocPrint.PrintSalesOrder(Rec,Usage::"Order Confirmation"); END; } { 152 ;2 ;Action ; Ellipsis=Yes; CaptionML=[DEU=Arbeitsschein; ENU=Work Order]; Image=Print; OnAction=BEGIN DocPrint.PrintSalesOrder(Rec,Usage::"Work Order"); END; } { 7 ;2 ;Action ; CaptionML=[DEU=Kommissionieranweisung; ENU=Pick Instruction]; Image=Print; OnAction=BEGIN DocPrint.PrintSalesOrder(Rec,Usage::"Pick Instruction"); END; } { 1900000006;0 ;ActionContainer; ActionContainerType=Reports } { 1904702706;1 ;Action ; CaptionML=[DEU=Verk.-Reserv.-Verfgbarkeit; ENU=Sales Reservation Avail.]; RunObject=Report 209; Promoted=Yes; Image=Report; PromotedCategory=Report } } } CONTROLS { { 1900000001;0;Container; ContainerType=ContentArea } { 1 ;1 ;Group ; GroupType=Repeater } { 2 ;2 ;Field ; SourceExpr="No." } { 4 ;2 ;Field ; SourceExpr="Sell-to Customer No." } { 6 ;2 ;Field ; SourceExpr="Sell-to Customer Name" } { 17 ;2 ;Field ; SourceExpr="External Document No." } { 33 ;2 ;Field ; SourceExpr="Sell-to Post Code"; Visible=FALSE } { 29 ;2 ;Field ; SourceExpr="Sell-to Country/Region Code"; Visible=FALSE } { 41 ;2 ;Field ; SourceExpr="Sell-to Contact"; Visible=FALSE } { 13 ;2 ;Field ; SourceExpr="Bill-to Customer No."; Visible=FALSE } { 15 ;2 ;Field ; SourceExpr="Bill-to Name"; Visible=FALSE } { 39 ;2 ;Field ; SourceExpr="Bill-to Post Code"; Visible=FALSE } { 35 ;2 ;Field ; SourceExpr="Bill-to Country/Region Code"; Visible=FALSE } { 159 ;2 ;Field ; SourceExpr="Bill-to Contact"; Visible=FALSE } { 155 ;2 ;Field ; SourceExpr="Ship-to Code"; Visible=FALSE } { 153 ;2 ;Field ; SourceExpr="Ship-to Name"; Visible=FALSE } { 27 ;2 ;Field ; SourceExpr="Ship-to Post Code"; Visible=FALSE } { 23 ;2 ;Field ; SourceExpr="Ship-to Country/Region Code"; Visible=FALSE } { 143 ;2 ;Field ; SourceExpr="Ship-to Contact"; Visible=FALSE } { 139 ;2 ;Field ; SourceExpr="Posting Date"; Visible=FALSE } { 121 ;2 ;Field ; SourceExpr="Shortcut Dimension 1 Code"; Visible=FALSE } { 119 ;2 ;Field ; SourceExpr="Shortcut Dimension 2 Code"; Visible=FALSE } { 1000000003;2;Field ; SourceExpr="Dimension 3 Code" } { 1000000002;2;Field ; SourceExpr="Dimension 4 Code" } { 1000000001;2;Field ; SourceExpr="Dimension 5 Code" } { 1000000000;2;Field ; SourceExpr="Dimension 6 Code" } { 123 ;2 ;Field ; SourceExpr="Location Code"; Visible=TRUE } { 99 ;2 ;Field ; SourceExpr="Salesperson Code"; Visible=FALSE } { 21 ;2 ;Field ; SourceExpr="Assigned User ID" } { 11 ;2 ;Field ; SourceExpr="Currency Code"; Visible=FALSE } { 1102601025;2;Field ; SourceExpr="Document Date"; Visible=FALSE } { 1102601027;2;Field ; SourceExpr="Requested Delivery Date"; Visible=FALSE } { 1102601005;2;Field ; SourceExpr="Campaign No."; Visible=FALSE } { 1102601029;2;Field ; SourceExpr=Status } { 1102601039;2;Field ; SourceExpr="Payment Terms Code"; Visible=FALSE } { 1102601041;2;Field ; SourceExpr="Due Date"; Visible=FALSE } { 1102601054;2;Field ; SourceExpr="Payment Discount %"; Visible=FALSE } { 1102601035;2;Field ; SourceExpr="Shipment Method Code"; Visible=FALSE } { 1102601033;2;Field ; SourceExpr="Shipping Agent Code"; Visible=FALSE } { 1102601031;2;Field ; SourceExpr="Shipment Date"; Visible=FALSE } { 1102601037;2;Field ; SourceExpr="Shipping Advice"; Visible=FALSE } { 14 ;2 ;Field ; SourceExpr="Completely Shipped" } { 5 ;2 ;Field ; SourceExpr="Job Queue Status"; Visible=JobQueueActive } { 1900000007;0;Container; ContainerType=FactBoxArea } { 1902018507;1;Part ; SubPageLink=No.=FIELD(Bill-to Customer No.), Date Filter=FIELD(Date Filter); PagePartID=Page9082; Visible=TRUE; PartType=Page } { 1900316107;1;Part ; SubPageLink=No.=FIELD(Bill-to Customer No.), Date Filter=FIELD(Date Filter); PagePartID=Page9084; Visible=TRUE; PartType=Page } { 1900383207;1;Part ; Visible=FALSE; PartType=System; SystemPartID=RecordLinks } { 1905767507;1;Part ; Visible=TRUE; PartType=System; SystemPartID=Notes } } CODE { VAR DocPrint@1102601000 : Codeunit 229; ReportPrint@1102601002 : Codeunit 228; UserMgt@1000 : Codeunit 5700; Usage@1001 : 'Order Confirmation,Work Order,Pick Instruction'; JobQueueActive@1004 : Boolean INDATASET; BEGIN END. } }