!{{{}}} ! (c)quickSOFT 1994-1999,2025. All rights reserved. !This source module is part of the API file set. MEMBER('so.clw') !{{{ history OMIT('ENDOMIT') Date____ Who_____ What__________________________________________________ Date____ Who_____ What__________________________________________________ !ENDOMIT !}}} !{{{ Module data ThisModuleId STRING('so') !For use when looking at our defaults !}}} !{{{ sohOrder:solUp Update SOL - order line !{{{ history OMIT('ENDOMIT') Date____ Who_____ What__________________________________________________ 23/08/12 - Created 13/03/95 DCN Set measure/money context to approp default 18/03/95 DCN Include a proportion of setup cost in unit cost 3/04/95 DCN Add Specify button 20/04/95 DCN Move record wide avlidation to Completed event from Sav 20/04/95 DCN Propagate issue# from SOH on insert 21/05/95 DCN jsReset/SetTickle API change 21/05/95 DCN Set the tickle to the dispatch date not the delivery 17/07/95 DCN Set SOL accumulators to 'empty' not some default unit 22/07/95 DCN Add re-cost button 22/07/95 DCN Create tickle in extended reserve transaction 7/08/95 DCN Added init of sol:DispatchedQty to avoid umt problems 9/08/95 DCN Propagate MCH units into orderedqty and unitqty 19/09/95 CRJ Tidied UI 21/09/95 DCN Use enQuoteRecOf to get at enq file, not lta 14/11/95 CRJ Put more stuff in ROUTINEs to avoid symbol o/f 16/11/95 CRJ Integrated Date LType - guess what's going to happen! 2/12/95 DCN Set order num pic to @n010b 6/02/96 CRJ Rationalised UI 28/02/96 CPH Initialise sol:ContractLine 30/03/96 CRJ Allow selective editing WRT state 6/04/96 CRJ Removed specify enabling logic 13/05/96 CRJ Incorporated cost basis default and reattach orphans 17/05/96 CRJ When change OurPartNum set qty's back to Alloc unit 1/06/96 CRJ Addede startegy stuff 6/06/96 DCN Change qaSpecify to qaEdit 7/06/96 DCN Don't disable specify button when no part num 7/06/96 DCN Allow qty change after approve and before review 7/06/96 DCN qaIsSpecified API change 8/06/96 DCN Fix call to csDispatchDate 8/06/96 DCN Re-attach change detection logic! 8/06/96 DCN Reset strategy limits if user changes delivery date 8/06/96 DCN Replaced Strategy FormButton with DIY 30/08/96 DCN Add form print button (for test purposes) 11/09/96 DCN Remove references to sol:SampleOrder (no longer exists) 12/09/96 DCN TheirPartNum has become a logical type 14/09/96 DCN Major re-organisation 24/09/96 DCN Setup OldQuoteRef whenever call SetQuoteContext 13/10/96 DCN Re-jig for new SaveButton conventions 9/11/96 DCN Tickle API change 9/11/96 DCN enGetLastQuote API change 10/11/96 DCN Remove sol:Item field 10/11/96 DCN Replace Specify button with QualifiersTab 16/11/96 DCN Add audit tab 16/11/96 DCN Add tickle button 20/11/96 DCN Select specific control instead of ? in completed event 28/12/96 DCN Offer to add to MCK if select a aprt thats not there 28/12/96 DCN Load SOL from quote if user selects one during insert 29/12/96 DCN Don't allow direct quote# entry, its set from quote line 6/01/97 DCN Offet set MCK if got Their but no our part num 16/01/97 DCN Create MCK rather than edit when offered new part 29/01/97 DCN Add Design button 1/02/97 DCN Remove tickle handling - done by 'when' logic 1/02/97 DCN Ignore qty when scanning back for quotes/orders 1/02/97 DCN Look-up quote for all cost basis types 1/02/97 DCN Allow date/qty change even when approved 7/02/97 DCN Tweaks WRT finding/selecting quotes 7/02/97 DCN Remove qty from last ENQ and SOL scanning 12/02/97 DCN Re-jig for Length/Width stuff 13/02/97 DCN Add Min Lead Time field 17/02/97 DCN mcGetCost/Price API change 19/02/97 DCN Retro tewak from issue 17 20/02/97 CRJ Tweak mcGetMinLeadTime call 5/03/97 DCN Use Unit length/width not length/width as prompt 5/03/97 DCN Use gxOlder not DIY date comparisons 6/03/97 CRJ Fix delivery date check 13/03/97 DCN Reset cost basis when regen prices 19/03/97 DCN Call SetEarliestDeliveryDate dummy! 19/03/97 DCN Move length/width to the dimensions tab 19/03/97 DCN Re-jig hot-keys 29/05/97 CRJ mcGetCost API change 30/06/96 DCN Remove best cost basis, add scheduled basis 5/07/97 CRJ Option to pass on extra man costs to the customer 8/07/97 CRJ Don't put sched qty in sol 18/07/97 CRJ More DeliverOn checks 21/07/97 DCN mcGetSellingPacks, mcGetMargin, mcGetDiscount API change 24/07/97 DCN Consider dimensions when calc unit costs 29/07/97 DCN Sort out accept all behaviour wrt quote lines 7/08/97 CRJ Force the SOL to save before calling the scheduler 7/08/97 CRJ Tweak gxFormat call 21/08/97 CRJ Chage CostBasis functionality to be like EN 22/08/97 CRJ Bring up to speed with EN 1/09/97 CRJ Tweak control order 26/09/97 CRJ Inherit strategy from MCK 3/10/97 DCN Show if SOH is cancelled 8/10/97 CRJ make scheduliong strategy more accessable 14/01/97 CRJ No need to protect NoRes strategy bit now 14/10/97 CRJ Use LType for SOH 30/10/97 CRJ Remove use of summary fields 3/12/97 CRJ Various tweaks 21/12/97 DCN Allow chnage of CofC required up until its delivered 2/01/98 DCN Tickle system changes 7/01/98 DCN Allow price change after approval 7/01/98 DCN Allow external notes to be twiddled up until its invoice 11/01/98 DCN mcGetCost and mcGetMargin API change 24/01/98 DCN Pass soDesignWizard() to drCreateproduct 26/01/98 DCN Remove cost basis stuff 1/02/98 CRJ Set rank 2/02/98 DCN Add VCR SaveButton features 15/02/98 DCN Add ability to manual set delivered/invoiced or not 22/02/98 DCN Add price basis feedback 22/02/98 DCN Disable pick by our part# unless user unlocks it 25/02/97 CRJ Fix strategy limits not being set 2/03/98 DCN Fix orphaned SelectViaOurPartNum code 2/03/98 DCN Expose the sol:Issue field 2/03/98 DCN Fix whoopsie wrt CofC enabling 5/03/98 CPH Allow quals,unit price,unit qty to change anytime 1/04/98 CRJ Update OurPartNum if edited within MCK 18/05/98 DCN Honour the order discount 25/05/98 DCN Add AllowExtraDiscount handling 1/06/98 DCN soGetOrder/LineStatus API change 2/06/98 DCN Connect invoices button to a local browse 7/07/98 CRJ zap len/wid if ordering in length 17/07/98 DCN Remove duplicated price setup 23/07/98 DCN Only set del date if tracking it *and* got OurPartNum 23/07/98 DCN Zap their/our part# if the 'other' doesn't match it 4/08/98 CRJ Allow ext notes to change at any time 24/08/98 CRJ mcGetSellPrice API change 2/09/98 DCN Use solGetOurPartNum to set sol:OurPartNum 6/09/98 DCN SaveButton naming convention changes 13/09/98 DCN ForceRefresh after accepted on TheirPartNum 15/09/98 DCN Allow historic deliver date to be entered (with warning) 15/09/98 CRJ Tweak tracing 15/10/98 DCN Ignore some controls WRT change detection 23/10/98 DCN And some more 12/11/98 CRJ reset soh deliver/invoice state after new/del/edit 12/11/98 CRJ Allow inserts when SOH is approved 12/11/98 CRJ change all enabling logic to handle insert after approv 16/11/98 CRJ Tweak notes 10/12/98 DCN Add CustomerApproved check box 5/01/99 CRJ Add works notes 11/01/99 DCN Include scheduling options in change detection 12/01/99 CRJ Remove start/end date limits stuff 12/01/99 CRJ Make the Schedule button just do a tentative schedule 14/01/99 DCN Show audot info in order units not stock units 17/03/99 DCN Save changes before confirm set dispatched/in'd, not aft 25/03/99 CPH Allow for mch:Material increase to 64 characters 29/03/99 CPH Add line reference 12/04/99 DCN Add ReSchedule button 6/05/99 DCN Set initial SelectViaOur/TheirPartnum via a default 19/05/99 DCN Un-clash hot-keys 18/06/99 DCN Un-protect CofC required - always allow a tweak 29/06/99 DCN Do the their/our part num association better (?) 2/07/99 DCN Clear price when change part# 3/07/99 DCN Fix whoopsie in our/their sync 7/07/99 CRJ move vdload 13/07/99 CRJ sort out notes 20/07/99 CRJ dont use form buttons for notes update 9/09/99 CRJ Dont set orderedqty to reorder qty - not related 3/11/99 DCN Add Events button 4/11/99 DCN Remove Tickle button 8/12/99 DCN Don't offer to make their part if no our part 8/12/99 DCN Force watch when zfLoad 13/12/99 DCN Use mcCreateProduct not drCreateProduct 21/12/99 CRJ fix anomalies with UI/fullydisp/inv outa sync 24/01/00 CRJ unprotect length/width until sol:DeliveredOn 15/02/00 CRJ Allow extra discount flag to be changed until fully inv 22/02/00 CPH Correct recommended price calculations 22/02/00 CRJ Use umRoundToPicture when setting unit price 26/02/00 DCN Add feedback of planned delivery date 7/03/00 CRJ Add schedule tab 20/03/00 DCN Add Tender button 25/03/00 DCN Exclude DaysLateMessage from change detection 13/04/00 DCN Remove len/wid restrictions wrt abstracted qty 13/04/00 CRJ dont propagate soh issue into sol issue 19/04/00 CRJ Add skip to ro checkbox 19/04/00 CRJ add skip to ro checkboxes abd tweak logic appropos 27/04/00 CRJ Add Stock Used button 28/04/00 DCN Fix clashing hot-key 6/06/00 CRJ csDispatchDate only returns 0 on error now 16/06/00 DCN Don't zap unit price unless de-selected a part 29/06/00 CRJ if deliver on is relative keep it so 29/06/00 CRJ if scheduled always use date 4/07/00 CRJ Enable drill-down refresh 30/09/00 DCN Don't check delivery/dispatch date mismatch when ASAP 27/10/00 DCN Allow MCK to be changed after approval 17/11/00 CPH Sync part numbers if inserting record 15/02/01 DCN SetRecommendedPrice/Date according to default for new re 10/03/01 DCN mcGetTypicalMakeQty API 12/03/01 DCN mcGetSellUnits API 15/03/01 DCN mcGetPrice API 15/03/01 DCN enMakeTender API 15/03/01 DCN mcGetSellPrice API 16/03/01 DCN mcGetMinLeadTime API 24/03/01 DCN Use QtyEdit not TypeEdit for qty 7/04/01 DCN Reset sol:LineItemReference when create new rec 15/04/01 DCN Add profit feedback 23/04/01 DCN Disable scheduled cost tab when order not approved 9/05/01 DCN Fix setting fully dispatched check box 20/05/01 DCN soAddLine API 1/06/01 DCN solGetOurPartNum API 1/06/01 DCN Add link to contract line 5/06/01 DCN Auto find contract if there is one 21/07/01 DCN Make read-only check-box protection safe 4/08/01 DCN Connect MakeTheirPart to the OurPartNum event not Theirs 4/08/01 DCN Use Qty editor in price/delivery tab too 4/08/01 DCN Be noisy when load from a quote or a contract 4/08/01 DCN Check dims match when looking for a quote and contract 4/08/01 DCN Invalidate price is dims change, re-lookup quote and con 5/08/01 DCN Add hint text on links tab 24/09/01 DCN Use csNativeCurrency() as money context 18/10/01 DCN Provide tools to populate/de-populate container outputs 20/10/01 DCN Fix calls to MakeTheirPart 23/11/01 DCN Add promised date field 10/12/01 CRJ Ask before setting price/deliv from quote/contract 10/12/01 DCN Use mcGetCost not mcGetMinLeadTime 21/12/01 DCN Show sol:Rank 11/01/02 CRJ Only inherit from quote/contract if defults are set 11/01/02 CRJ Allow manual set from contract/quote 12/01/02 DCN Fix whoopsie 16/02/02 DCN Use Price LType 19/03/02 CRJ Always show the PromisedOn date 13/05/02 DCN mcGetSellPrice API 14/05/02 DCN mcGetSellUnits API 1/07/02 DCN msDispatchDate API 15/07/02 DCN mcGetPrice API 7/08/02 DCN Use mcReCalcCost not mcCalculateCost 29/10/02 DCN Don't show ASAP orders as overdue 6/01/03 CRJ shorter feqs 8/02/03 DCN Show required and actual delivery dates on the schedule 12/05/03 DCN Echo customer order# 29/06/03 DCN Add sol:MakeQty and sol:AcceptQty 19/07/03 DCN Add access to bar-charts 2/08/03 DCN Rename mcGetCusPart to mcGetFirstCusPart 4/08/03 DCN Implement MCK price breaks 19/09/03 DCN Only change MCK if MCH not compatible when sync 15/10/03 CRJ only allow insert/delete sometimes 28/10/03 CRJ use Percent LType and allow margin to set price [1376]. 8/11/03 DCN Use soGerOrderLineValue not soGetOrderLinePrice for marg 9/11/03 DCN Move achievedmargin formatting to correct place 12/11/03 CRJ Use qty breaks 27/11/03 DCN Allow 32 chars for the order state 5/01/04 DCN Allow enough space for a fully formatted SerNo 6/01/04 DCN Allow direct entry of a discount 7/01/04 DCN Use solGetUnitQty not DIY 1/03/04 CRJ Add cost centre and dept 26/04/04 CRJ Allow user to unlink to enq/son 27/04/04 CRJ Use 64 chars for names 28/04/04 DCN Don't SyncTheirOurPartNum after get from ENQ or SOP 29/04/04 DCN Re-protect the quote and contract 24/05/04 DCN Add actions tab (for invoic and DNote schedule access) 30/07/04 CRJ Tweak contract/quote inherit warnings [4287] 24/09/04 DCN Add option to auto add MCK from MCH 28/09/04 CPH Provide context for Cost Centre & Department 28/01/05 CPH Use standard picture when rounding for recommended price 22/02/05 DCN Expose sol:StartLimit 24/02/05 DCN Add carriage delay to recommended date 8/03/05 CRJ Apply umRoundToPicture to RawFullPrice 25/07/05 DCN [8853] Add a tool to calc price from actual cost 21/12/05 CRJ Round recommended price 4/01/06 CRJ Reset dates for New button 20/01/06 DCN Use kdKode not STRING(5) 21/04/06 DCN Use ItemPicture for unit prices 7/12/06 DCN Add gross estimated profit feedback 29/01/07 CRJ Tweaklayout again 29/01/07 CRJ Always allow CofC edits 4/04/07 CRJ Fox selecting by their part num 19/04/07 CRJ swap margin/discount round - confusing users 14/05/07 DCN Honour the "Must Add Customer Works Notes" option 30/07/07 CRJ Fix price breaks 20/11/07 CRJ Allow deliveredon/invoicedon to be set after save 10/01/08 CRJ fix recommeded date stuff 31/03/08 DCN Add date guards to auto connecting quotes and contracts 21/05/08 CRJ Add consignment stuff 4/09/08 CRJ Allow the quote/contract to be edited too 20/10/08 CRJ soGetDispatchCost API 9/03/09 CRJ Add VAT code to audit tab 15/04/09 DCN Correct typo 21/10/09 DCN Remove QuoteRef and ContractRef from change detection 26/10/09 DCN Add sol:TargetDate handling 26/10/09 DCN Treat a date of TBD explicitly when checking 19/10/10 DCN Don't disable Set Recommended Date 28/03/11 DCN Add access to the SLine wizards from the actions tab 5/09/11 DCN Change semantics of sol:PromisedOn 22/11/11 DCN Show estimated profit as gross when WIP 23/12/11 DCN Fix price feedback 2/02/17 DCN [54069]Allow manual selection of a quote/contract 29/10/18 DCN [57526]Always convert unit price to native currency 31/12/20 DCN mcGetPrice and soGetSellPrice API 22/07/24 DCN Modified Date____ Who_____ What__________________________________________________ !ENDOMIT !}}} !{{{ description OMIT('ENDOMIT') !ENDOMIT !}}} !{{{ show-me stub !This stub is executed when the 'show-me' button is pressed from !the processes and operations list. It calls the target function !with dummy parameters having first put the window handler into !'show' mode. In this mode none of the controls have any semantics, !i.e. they do nothing. sohOrder:solUp:ShowMe FUNCTION CODE zwMode(zwMode:Show) sohOrder:solUp() zwMode(zwMode:Run) RETURN 0 !}}} sohOrder:solUp PROCEDURE !{{{ data section !{{{ LocalData Customer STRING(64) ! ProtectDate LONG ! ProtectPrice LONG ! CustomerRef STRING(32) ! RawQuoteRef LONG ! QuoteRef STRING(10) ! QuoteLine STRING(3) ! OurPartNum STRING(64) ! OrderedQty STRING(128) ! UnitPrice STRING(64) ! InternalNotes STRING(64) ! ExternalNotes STRING(64) ! ActualMargin REAL ! DeliverOn STRING(8) ! TheirPartNum STRING(64) ! ActualDiscount REAL ! RejectedQty STRING(24) ! InvoicedQty STRING(24) ! CreditedQty STRING(24) ! DispatchedQty STRING(24) ! DeliveredOn STRING(8) ! InvoicedOn STRING(8) ! EarliestPossibleDate STRING(8) ! RawEarliestPossibleDate LONG ! Strategy STRING(64) ! SalesOrderNum STRING(16) ! RawDispatchedQty STRING(12) ! RawReadyQty STRING(12) ! RawInProgressQty STRING(12) ! RawPlannedQty STRING(12) ! RawReturnedQty STRING(12) ! RawCreditedQty STRING(12) ! RawInvoicedQty STRING(12) ! CancelledOn STRING(8) ! CancelledBy STRING(8) ! OrderState STRING(32) ! RawRecommendedPrice STRING(12) ! SetRecommendedDate BYTE ! SetRecommendedPrice BYTE ! RawUnitCost STRING(12) ! RawFullPrice STRING(12) ! SetDispatched BYTE ! SetInvoiced BYTE ! LineIsDispatched BYTE ! LineIsInvoiced BYTE ! PriceBasis STRING(32) ! RawPriceBasis LIKE(kdKode) ! SelectViaTheirPartNum BYTE ! SelectViaOurPartNum BYTE ! TheirPartNumProtected BYTE ! OurPartNumProtected BYTE ! Issue STRING(8) ! ExtraDiscountApplies BYTE ! CustomerApproved BYTE ! WorksNotes STRING(64) ! EnquiryLineNotes STRING(64) ! PlannedDelivery STRING(8) ! RawPlannedDelivery LONG ! DaysLateMessage STRING(64) ! FormattedScheduleLog STRING(64) ! TheirPartType SHORT ! TheirPartContext LONG ! LineValue STRING(24) ! RawLineValue STRING(12) ! LineCost STRING(24) ! RawLineCost STRING(12) ! GrossProfit STRING(24) ! RawGrossProfit STRING(12) ! AchievedMargin REAL ! ContractLine STRING(8) ! ContractRef STRING(16) ! RawContractRef LONG ! IsContainer BYTE ! IsMultipleOutput BYTE ! ReplaceByAllOutputs BYTE ! AddAllOutputs BYTE ! ReplaceAllOutputsByCont BYTE ! AddContainer BYTE ! PromisedDate STRING(8) ! LocalsoAutoInheritQuote LONG ! LocalsoAutoInheritContract LONG ! MakeQty STRING(24) ! AcceptQty STRING(24) ! ActualMarginStr STRING(16) ! ActualDiscountStr STRING(16) ! sohDiscountStr STRING(16) ! AchievedMarginStr STRING(16) ! CostCentre STRING(64) ! Department STRING(64) ! StartLimit STRING(8) ! RawActualCostMargin REAL ! ActualCostMargin STRING(16) ! EstimatedProfit STRING(24) ! RawEstimatedProfit STRING(12) ! EstimatedProfitStr STRING(256) ! ConsignmentFlag STRING(8) ! ConsignmentQty STRING(24) ! ConsignmentProtect BYTE ! ConsignmentNotes STRING(64) ! VATCode STRING(16) ! RawVatCode LONG ! TargetDate STRING(8) ! !}}} !{{{ CLASS declarations !{{{ WindowHandler WindowHandler CLASS(zwWindowHandlerClassType) SetOptions PROCEDURE,LONG,PROC,VIRTUAL AttachHandlers PROCEDURE,LONG,PROC,VIRTUAL PrepareHandlers PROCEDURE,LONG,PROC,VIRTUAL BeforeAcceptLate PROCEDURE,LONG,PROC,VIRTUAL RefreshForced PROCEDURE,LONG,PROC,VIRTUAL RefreshEarly PROCEDURE,LONG,PROC,VIRTUAL RefreshLate PROCEDURE,LONG,PROC,VIRTUAL EndOfProcedure PROCEDURE,LONG,PROC,VIRTUAL BeforeOpenFiles PROCEDURE,LONG,PROC,VIRTUAL AfterOpenFiles PROCEDURE,LONG,PROC,VIRTUAL END !{{{ local window class synonyms ProcedureExit EQUATE(WindowHandler.ProcedureExit) ForceRefresh EQUATE(WindowHandler.ForceRefresh) ForceReload EQUATE(WindowHandler.ForceReload) ForceSetPrompts EQUATE(WindowHandler.ForceSetPrompts) WindowInitialized EQUATE(WindowHandler.WindowInitialized) LocalRequest EQUATE(WindowHandler.LocalRequest) LocalResponse EQUATE(WindowHandler.LocalResponse) MinWindowHeight EQUATE(WindowHandler.MinWindowHeight) MinWindowWidth EQUATE(WindowHandler.MinWindowWidth) WindowHeight EQUATE(WindowHandler.WindowHeight) WindowWidth EQUATE(WindowHandler.WindowWidth) LastWindowHeight EQUATE(WindowHandler.LastWindowHeight) LastWindowWidth EQUATE(WindowHandler.LastWindowWidth) ThisEvent EQUATE(WindowHandler.ThisEvent) ThisField EQUATE(WindowHandler.ThisField) ThisKeyCode EQUATE(WindowHandler.ThisKeyCode) !}}} !}}} !{{{ ControlHandlers Sheet1:Control CLASS(zwSHEETControlHandlerClassType). ?Sheet1 EQUATE(Sheet1:Control.FEQ) DetailTab:Control CLASS(zwTABControlHandlerClassType). ?DetailTab EQUATE(DetailTab:Control.FEQ) PROMPT1:Control CLASS(zwPROMPTControlHandlerClassType). ?PROMPT1 EQUATE(PROMPT1:Control.FEQ) EditTheirPartNum:Control CLASS(zwBUTTONControlHandlerClassType). ?EditTheirPartNum EQUATE(EditTheirPartNum:Control.FEQ) TheirPartNum:Control CLASS(zwSINGLELINEControlHandlerClassType). ?TheirPartNum EQUATE(TheirPartNum:Control.FEQ) SelectViaTheirPartNum:Control CLASS(zwCHECKControlHandlerClassType). ?SelectViaTheirPartNum EQUATE(SelectViaTheirPartNum:Control.FEQ) PROMPT2:Control CLASS(zwPROMPTControlHandlerClassType). ?PROMPT2 EQUATE(PROMPT2:Control.FEQ) EditOurPartNum:Control CLASS(zwBUTTONControlHandlerClassType). ?EditOurPartNum EQUATE(EditOurPartNum:Control.FEQ) OurPartNum:Control CLASS(zwSINGLELINEControlHandlerClassType). ?OurPartNum EQUATE(OurPartNum:Control.FEQ) SelectViaOurPartNum:Control CLASS(zwCHECKControlHandlerClassType). ?SelectViaOurPartNum EQUATE(SelectViaOurPartNum:Control.FEQ) AddAllOutputs:Control CLASS(zwCHECKControlHandlerClassType). ?AddAllOutputs EQUATE(AddAllOutputs:Control.FEQ) Design:Control CLASS(zwBUTTONControlHandlerClassType). ?Design EQUATE(Design:Control.FEQ) ReplaceByAllOutputs:Control CLASS(zwCHECKControlHandlerClassType). ?ReplaceByAllOutputs EQUATE(ReplaceByAllOutputs:Control.FEQ) AddContainer:Control CLASS(zwCHECKControlHandlerClassType). ?AddContainer EQUATE(AddContainer:Control.FEQ) ReplaceAllOutputsByCont:Control CLASS(zwCHECKControlHandlerClassType). ?ReplaceAllOutputsByCont EQUATE(ReplaceAllOutputsByCont:Control.FEQ) PROMPT3:Control CLASS(zwPROMPTControlHandlerClassType). ?PROMPT3 EQUATE(PROMPT3:Control.FEQ) EditOrderedQty:Control CLASS(zwBUTTONControlHandlerClassType). ?EditOrderedQty EQUATE(EditOrderedQty:Control.FEQ) OrderedQty:Control CLASS(zwSINGLELINEControlHandlerClassType). ?OrderedQty EQUATE(OrderedQty:Control.FEQ) PROMPT4:Control CLASS(zwPROMPTControlHandlerClassType). ?PROMPT4 EQUATE(PROMPT4:Control.FEQ) zvEditDeliverOn:Control CLASS(zwBUTTONControlHandlerClassType). ?zvEditDeliverOn EQUATE(zvEditDeliverOn:Control.FEQ) DeliverOn:Control CLASS(zwSINGLELINEControlHandlerClassType). ?DeliverOn EQUATE(DeliverOn:Control.FEQ) SetRecommendedDate:Control CLASS(zwCHECKControlHandlerClassType). ?SetRecommendedDate EQUATE(SetRecommendedDate:Control.FEQ) zvPricePrompt:Control CLASS(zwPROMPTControlHandlerClassType). ?zvPricePrompt EQUATE(zvPricePrompt:Control.FEQ) zvPriceEditor:Control CLASS(zwBUTTONControlHandlerClassType). ?zvPriceEditor EQUATE(zvPriceEditor:Control.FEQ) UnitPrice:Control CLASS(zwSINGLELINEControlHandlerClassType). ?UnitPrice EQUATE(UnitPrice:Control.FEQ) SetRecommendedPrice:Control CLASS(zwCHECKControlHandlerClassType). ?SetRecommendedPrice EQUATE(SetRecommendedPrice:Control.FEQ) MarginPr:Control CLASS(zwPROMPTControlHandlerClassType). ?MarginPr EQUATE(MarginPr:Control.FEQ) zvEditMargin:Control CLASS(zwBUTTONControlHandlerClassType). ?zvEditMargin EQUATE(zvEditMargin:Control.FEQ) ActualMarginStr:Control CLASS(zwSINGLELINEControlHandlerClassType). ?ActualMarginStr EQUATE(ActualMarginStr:Control.FEQ) sol:CofCrequired:Control CLASS(zwCHECKControlHandlerClassType). ?sol:CofCrequired EQUATE(sol:CofCrequired:Control.FEQ) EstimatedProfitStr:Control CLASS(zwSSTRINGControlHandlerClassType). ?EstimatedProfitStr EQUATE(EstimatedProfitStr:Control.FEQ) Prompt58:Control CLASS(zwPROMPTControlHandlerClassType). ?Prompt58 EQUATE(Prompt58:Control.FEQ) zvPrompt:10:Control CLASS(zwPROMPTControlHandlerClassType). ?zvPrompt:10 EQUATE(zvPrompt:10:Control.FEQ) zvEditor:7:Control CLASS(zwBUTTONControlHandlerClassType). ?zvEditor:7 EQUATE(zvEditor:7:Control.FEQ) ExternalNotes:2:Control CLASS(zwSINGLELINEControlHandlerClassType). ?ExternalNotes:2 EQUATE(ExternalNotes:2:Control.FEQ) DiscountPr:Control CLASS(zwPROMPTControlHandlerClassType). ?DiscountPr EQUATE(DiscountPr:Control.FEQ) zvEditDiscount:Control CLASS(zwBUTTONControlHandlerClassType). ?zvEditDiscount EQUATE(zvEditDiscount:Control.FEQ) ActualDiscountStr:Control CLASS(zwSINGLELINEControlHandlerClassType). ?ActualDiscountStr EQUATE(ActualDiscountStr:Control.FEQ) sol:AllowExtraDiscount:Control CLASS(zwCHECKControlHandlerClassType). ?sol:AllowExtraDiscount EQUATE(sol:AllowExtraDiscount:Control.FEQ) Tab8:Control CLASS(zwTABControlHandlerClassType). ?Tab8 EQUATE(Tab8:Control.FEQ) PROMPT5:Control CLASS(zwPROMPTControlHandlerClassType). ?PROMPT5 EQUATE(PROMPT5:Control.FEQ) EditInternalNotes:Control CLASS(zwBUTTONControlHandlerClassType). ?EditInternalNotes EQUATE(EditInternalNotes:Control.FEQ) InternalNotes:Control CLASS(zwSINGLELINEControlHandlerClassType). ?InternalNotes EQUATE(InternalNotes:Control.FEQ) PROMPT6:Control CLASS(zwPROMPTControlHandlerClassType). ?PROMPT6 EQUATE(PROMPT6:Control.FEQ) EditExternalNotes:Control CLASS(zwBUTTONControlHandlerClassType). ?EditExternalNotes EQUATE(EditExternalNotes:Control.FEQ) ExternalNotes:Control CLASS(zwSINGLELINEControlHandlerClassType). ?ExternalNotes EQUATE(ExternalNotes:Control.FEQ) PROMPT7:Control CLASS(zwPROMPTControlHandlerClassType). ?PROMPT7 EQUATE(PROMPT7:Control.FEQ) zvEditor:2:Control CLASS(zwBUTTONControlHandlerClassType). ?zvEditor:2 EQUATE(zvEditor:2:Control.FEQ) WorksNotes:Control CLASS(zwSINGLELINEControlHandlerClassType). ?WorksNotes EQUATE(WorksNotes:Control.FEQ) UpdateCustWorksNotes:Control CLASS(zwBUTTONControlHandlerClassType). ?UpdateCustWorksNotes EQUATE(UpdateCustWorksNotes:Control.FEQ) PROMPT8:Control CLASS(zwPROMPTControlHandlerClassType). ?PROMPT8 EQUATE(PROMPT8:Control.FEQ) zvEditor:3:Control CLASS(zwBUTTONControlHandlerClassType). ?zvEditor:3 EQUATE(zvEditor:3:Control.FEQ) EnquiryLineNotes:Control CLASS(zwSINGLELINEControlHandlerClassType). ?EnquiryLineNotes EQUATE(EnquiryLineNotes:Control.FEQ) UpdateEnqLineNotes:Control CLASS(zwBUTTONControlHandlerClassType). ?UpdateEnqLineNotes EQUATE(UpdateEnqLineNotes:Control.FEQ) zvPrompt:12:Control CLASS(zwPROMPTControlHandlerClassType). ?zvPrompt:12 EQUATE(zvPrompt:12:Control.FEQ) zvEditor:8:Control CLASS(zwBUTTONControlHandlerClassType). ?zvEditor:8 EQUATE(zvEditor:8:Control.FEQ) ConsignmentFlag:Control CLASS(zwSINGLELINEControlHandlerClassType). ?ConsignmentFlag EQUATE(ConsignmentFlag:Control.FEQ) zvPrompt:16:Control CLASS(zwPROMPTControlHandlerClassType). ?zvPrompt:16 EQUATE(zvPrompt:16:Control.FEQ) zvEditor:9:Control CLASS(zwBUTTONControlHandlerClassType). ?zvEditor:9 EQUATE(zvEditor:9:Control.FEQ) ConsignmentQty:Control CLASS(zwSINGLELINEControlHandlerClassType). ?ConsignmentQty EQUATE(ConsignmentQty:Control.FEQ) zvPrompt:32:Control CLASS(zwPROMPTControlHandlerClassType). ?zvPrompt:32 EQUATE(zvPrompt:32:Control.FEQ) zvEditor:10:Control CLASS(zwBUTTONControlHandlerClassType). ?zvEditor:10 EQUATE(zvEditor:10:Control.FEQ) ConsignmentNotes:Control CLASS(zwSINGLELINEControlHandlerClassType). ?ConsignmentNotes EQUATE(ConsignmentNotes:Control.FEQ) QualifiersTab:Control CLASS(zwTABControlHandlerClassType). ?QualifiersTab EQUATE(QualifiersTab:Control.FEQ) Tab7:Control CLASS(zwTABControlHandlerClassType). ?Tab7 EQUATE(Tab7:Control.FEQ) Group3:Control CLASS(zwGROUPControlHandlerClassType). ?Group3 EQUATE(Group3:Control.FEQ) String10:Control CLASS(zwSTRINGControlHandlerClassType). ?String10 EQUATE(String10:Control.FEQ) String11:Control CLASS(zwSTRINGControlHandlerClassType). ?String11 EQUATE(String11:Control.FEQ) String12:Control CLASS(zwSTRINGControlHandlerClassType). ?String12 EQUATE(String12:Control.FEQ) String13:Control CLASS(zwSTRINGControlHandlerClassType). ?String13 EQUATE(String13:Control.FEQ) LocalsoAutoInheritQuote:Control CLASS(zwCHECKControlHandlerClassType). ?LocalsoAutoInheritQuote EQUATE(LocalsoAutoInheritQuote:Control.FEQ) SetQuote:Control CLASS(zwBUTTONControlHandlerClassType). ?SetQuote EQUATE(SetQuote:Control.FEQ) PROMPT9:Control CLASS(zwPROMPTControlHandlerClassType). ?PROMPT9 EQUATE(PROMPT9:Control.FEQ) EditQuoteLine:Control CLASS(zwBUTTONControlHandlerClassType). ?EditQuoteLine EQUATE(EditQuoteLine:Control.FEQ) QuoteLine:Control CLASS(zwSINGLELINEControlHandlerClassType). ?QuoteLine EQUATE(QuoteLine:Control.FEQ) PROMPT10:Control CLASS(zwPROMPTControlHandlerClassType). ?PROMPT10 EQUATE(PROMPT10:Control.FEQ) EditQuoteRef:Control CLASS(zwBUTTONControlHandlerClassType). ?EditQuoteRef EQUATE(EditQuoteRef:Control.FEQ) QuoteRef:Control CLASS(zwSINGLELINEControlHandlerClassType). ?QuoteRef EQUATE(QuoteRef:Control.FEQ) Group4:Control CLASS(zwGROUPControlHandlerClassType). ?Group4 EQUATE(Group4:Control.FEQ) String14:Control CLASS(zwSTRINGControlHandlerClassType). ?String14 EQUATE(String14:Control.FEQ) String15:Control CLASS(zwSTRINGControlHandlerClassType). ?String15 EQUATE(String15:Control.FEQ) String12:2:Control CLASS(zwSTRINGControlHandlerClassType). ?String12:2 EQUATE(String12:2:Control.FEQ) String13:2:Control CLASS(zwSTRINGControlHandlerClassType). ?String13:2 EQUATE(String13:2:Control.FEQ) String18:Control CLASS(zwSTRINGControlHandlerClassType). ?String18 EQUATE(String18:Control.FEQ) LocalsoAutoInheritContract:Control CLASS(zwCHECKControlHandlerClassType). ?LocalsoAutoInheritContract EQUATE(LocalsoAutoInheritContract:Control.FEQ) SetContract:Control CLASS(zwBUTTONControlHandlerClassType). ?SetContract EQUATE(SetContract:Control.FEQ) zvPrompt:22:Control CLASS(zwPROMPTControlHandlerClassType). ?zvPrompt:22 EQUATE(zvPrompt:22:Control.FEQ) EditContractLine:Control CLASS(zwBUTTONControlHandlerClassType). ?EditContractLine EQUATE(EditContractLine:Control.FEQ) ContractLine:Control CLASS(zwSINGLELINEControlHandlerClassType). ?ContractLine EQUATE(ContractLine:Control.FEQ) zvPrompt:23:Control CLASS(zwPROMPTControlHandlerClassType). ?zvPrompt:23 EQUATE(zvPrompt:23:Control.FEQ) zvEditor:5:Control CLASS(zwBUTTONControlHandlerClassType). ?zvEditor:5 EQUATE(zvEditor:5:Control.FEQ) ContractRef:Control CLASS(zwSINGLELINEControlHandlerClassType). ?ContractRef EQUATE(ContractRef:Control.FEQ) Tab6:Control CLASS(zwTABControlHandlerClassType). ?Tab6 EQUATE(Tab6:Control.FEQ) PROMPT11:Control CLASS(zwPROMPTControlHandlerClassType). ?PROMPT11 EQUATE(PROMPT11:Control.FEQ) zvEditSchedulingStrategy:Control CLASS(zwBUTTONControlHandlerClassType). ?zvEditSchedulingStrategy EQUATE(zvEditSchedulingStrategy:Control.FEQ) Strategy:Control CLASS(zwSINGLELINEControlHandlerClassType). ?Strategy EQUATE(Strategy:Control.FEQ) sol:Rank:Control CLASS(zwENTRYControlHandlerClassType). ?sol:Rank EQUATE(sol:Rank:Control.FEQ) zvPrompt:20:Control CLASS(zwPROMPTControlHandlerClassType). ?zvPrompt:20 EQUATE(zvPrompt:20:Control.FEQ) zvEditor:4:Control CLASS(zwBUTTONControlHandlerClassType). ?zvEditor:4 EQUATE(zvEditor:4:Control.FEQ) FormattedScheduleLog:Control CLASS(zwSINGLELINEControlHandlerClassType). ?FormattedScheduleLog EQUATE(FormattedScheduleLog:Control.FEQ) ReSchedule:Control CLASS(zwBUTTONControlHandlerClassType). ?ReSchedule EQUATE(ReSchedule:Control.FEQ) zvQtyPrompt:2:Control CLASS(zwPROMPTControlHandlerClassType). ?zvQtyPrompt:2 EQUATE(zvQtyPrompt:2:Control.FEQ) zvEditOrderedQty3:Control CLASS(zwBUTTONControlHandlerClassType). ?zvEditOrderedQty3 EQUATE(zvEditOrderedQty3:Control.FEQ) OrderedQty:2:Control CLASS(zwSINGLELINEControlHandlerClassType). ?OrderedQty:2 EQUATE(OrderedQty:2:Control.FEQ) DatesHints:Control CLASS(zwBUTTONControlHandlerClassType). ?DatesHints EQUATE(DatesHints:Control.FEQ) String22:Control CLASS(zwSTRINGControlHandlerClassType). ?String22 EQUATE(String22:Control.FEQ) zvPrompt:25:Control CLASS(zwPROMPTControlHandlerClassType). ?zvPrompt:25 EQUATE(zvPrompt:25:Control.FEQ) zvEditAcceptQty:Control CLASS(zwBUTTONControlHandlerClassType). ?zvEditAcceptQty EQUATE(zvEditAcceptQty:Control.FEQ) AcceptQty:Control CLASS(zwSINGLELINEControlHandlerClassType). ?AcceptQty EQUATE(AcceptQty:Control.FEQ) zvPrompt:26:Control CLASS(zwPROMPTControlHandlerClassType). ?zvPrompt:26 EQUATE(zvPrompt:26:Control.FEQ) zvEditMakeQty:Control CLASS(zwBUTTONControlHandlerClassType). ?zvEditMakeQty EQUATE(zvEditMakeQty:Control.FEQ) MakeQty:Control CLASS(zwSINGLELINEControlHandlerClassType). ?MakeQty EQUATE(MakeQty:Control.FEQ) zvPrompt:29:Control CLASS(zwPROMPTControlHandlerClassType). ?zvPrompt:29 EQUATE(zvPrompt:29:Control.FEQ) zvEditStartLimit:Control CLASS(zwBUTTONControlHandlerClassType). ?zvEditStartLimit EQUATE(zvEditStartLimit:Control.FEQ) StartLimit:Control CLASS(zwSINGLELINEControlHandlerClassType). ?StartLimit EQUATE(StartLimit:Control.FEQ) zvPrompt:34:Control CLASS(zwPROMPTControlHandlerClassType). ?zvPrompt:34 EQUATE(zvPrompt:34:Control.FEQ) zvEditTargetDate:Control CLASS(zwBUTTONControlHandlerClassType). ?zvEditTargetDate EQUATE(zvEditTargetDate:Control.FEQ) TargetDate:Control CLASS(zwSINGLELINEControlHandlerClassType). ?TargetDate EQUATE(TargetDate:Control.FEQ) HideWhenFullyDelivered:Control CLASS(zwGROUPControlHandlerClassType). ?HideWhenFullyDelivered EQUATE(HideWhenFullyDelivered:Control.FEQ) zvPrompt:19:Control CLASS(zwPROMPTControlHandlerClassType). ?zvPrompt:19 EQUATE(zvPrompt:19:Control.FEQ) zvEditPlannedDelivery:Control CLASS(zwBUTTONControlHandlerClassType). ?zvEditPlannedDelivery EQUATE(zvEditPlannedDelivery:Control.FEQ) PlannedDelivery:Control CLASS(zwSINGLELINEControlHandlerClassType). ?PlannedDelivery EQUATE(PlannedDelivery:Control.FEQ) DaysLateMessage:Control CLASS(zwSSTRINGControlHandlerClassType). ?DaysLateMessage EQUATE(DaysLateMessage:Control.FEQ) zvPrompt:11:Control CLASS(zwPROMPTControlHandlerClassType). ?zvPrompt:11 EQUATE(zvPrompt:11:Control.FEQ) zvEditPromisedDate:Control CLASS(zwBUTTONControlHandlerClassType). ?zvEditPromisedDate EQUATE(zvEditPromisedDate:Control.FEQ) PromisedDate:Control CLASS(zwSINGLELINEControlHandlerClassType). ?PromisedDate EQUATE(PromisedDate:Control.FEQ) String19:Control CLASS(zwPROMPTControlHandlerClassType). ?String19 EQUATE(String19:Control.FEQ) zvPrompt:Control CLASS(zwPROMPTControlHandlerClassType). ?zvPrompt EQUATE(zvPrompt:Control.FEQ) zvEditDeliverOn3:Control CLASS(zwBUTTONControlHandlerClassType). ?zvEditDeliverOn3 EQUATE(zvEditDeliverOn3:Control.FEQ) DeliverOn:2:Control CLASS(zwSINGLELINEControlHandlerClassType). ?DeliverOn:2 EQUATE(DeliverOn:2:Control.FEQ) String20:Control CLASS(zwSTRINGControlHandlerClassType). ?String20 EQUATE(String20:Control.FEQ) zvPrompt:24:Control CLASS(zwPROMPTControlHandlerClassType). ?zvPrompt:24 EQUATE(zvPrompt:24:Control.FEQ) zvEditDeliveredOn2:Control CLASS(zwBUTTONControlHandlerClassType). ?zvEditDeliveredOn2 EQUATE(zvEditDeliveredOn2:Control.FEQ) DeliveredOn:2:Control CLASS(zwSINGLELINEControlHandlerClassType). ?DeliveredOn:2 EQUATE(DeliveredOn:2:Control.FEQ) String21:Control CLASS(zwSTRINGControlHandlerClassType). ?String21 EQUATE(String21:Control.FEQ) LineCostTab:Control CLASS(zwTABControlHandlerClassType). ?LineCostTab EQUATE(LineCostTab:Control.FEQ) String23:Control CLASS(zwSTRINGControlHandlerClassType). ?String23 EQUATE(String23:Control.FEQ) String6:Control CLASS(zwSTRINGControlHandlerClassType). ?String6 EQUATE(String6:Control.FEQ) String7:Control CLASS(zwSTRINGControlHandlerClassType). ?String7 EQUATE(String7:Control.FEQ) zvPrompt:8:Control CLASS(zwPROMPTControlHandlerClassType). ?zvPrompt:8 EQUATE(zvPrompt:8:Control.FEQ) zvEditLineValue:Control CLASS(zwBUTTONControlHandlerClassType). ?zvEditLineValue EQUATE(zvEditLineValue:Control.FEQ) LineValue:Control CLASS(zwSINGLELINEControlHandlerClassType). ?LineValue EQUATE(LineValue:Control.FEQ) LineIsInvoiced:Control CLASS(zwCHECKControlHandlerClassType). ?LineIsInvoiced EQUATE(LineIsInvoiced:Control.FEQ) zvPrompt:9:Control CLASS(zwPROMPTControlHandlerClassType). ?zvPrompt:9 EQUATE(zvPrompt:9:Control.FEQ) zvEditLineCost:Control CLASS(zwBUTTONControlHandlerClassType). ?zvEditLineCost EQUATE(zvEditLineCost:Control.FEQ) LineCost:Control CLASS(zwSINGLELINEControlHandlerClassType). ?LineCost EQUATE(LineCost:Control.FEQ) LineIsDispatched:Control CLASS(zwCHECKControlHandlerClassType). ?LineIsDispatched EQUATE(LineIsDispatched:Control.FEQ) zvPrompt:21:Control CLASS(zwPROMPTControlHandlerClassType). ?zvPrompt:21 EQUATE(zvPrompt:21:Control.FEQ) zvEditGrossProfit:Control CLASS(zwBUTTONControlHandlerClassType). ?zvEditGrossProfit EQUATE(zvEditGrossProfit:Control.FEQ) GrossProfit:Control CLASS(zwSINGLELINEControlHandlerClassType). ?GrossProfit EQUATE(GrossProfit:Control.FEQ) RecalcPriceFromCost:Control CLASS(zwGROUPControlHandlerClassType). ?RecalcPriceFromCost EQUATE(RecalcPriceFromCost:Control.FEQ) zvPrompt:30:Control CLASS(zwPROMPTControlHandlerClassType). ?zvPrompt:30 EQUATE(zvPrompt:30:Control.FEQ) EditCostPlusMargin:Control CLASS(zwBUTTONControlHandlerClassType). ?EditCostPlusMargin EQUATE(EditCostPlusMargin:Control.FEQ) ActualCostMargin:Control CLASS(zwSINGLELINEControlHandlerClassType). ?ActualCostMargin EQUATE(ActualCostMargin:Control.FEQ) UpdatePriceNow:Control CLASS(zwBUTTONControlHandlerClassType). ?UpdatePriceNow EQUATE(UpdatePriceNow:Control.FEQ) Prompt43:Control CLASS(zwPROMPTControlHandlerClassType). ?Prompt43 EQUATE(Prompt43:Control.FEQ) AchievedMarginStr:Control CLASS(zwSINGLELINEControlHandlerClassType). ?AchievedMarginStr EQUATE(AchievedMarginStr:Control.FEQ) Group2:Control CLASS(zwGROUPControlHandlerClassType). ?Group2 EQUATE(Group2:Control.FEQ) String9:Control CLASS(zwSTRINGControlHandlerClassType). ?String9 EQUATE(String9:Control.FEQ) String8:Control CLASS(zwSTRINGControlHandlerClassType). ?String8 EQUATE(String8:Control.FEQ) AuditTab:Control CLASS(zwTABControlHandlerClassType). ?AuditTab EQUATE(AuditTab:Control.FEQ) zvPrompt:5:Control CLASS(zwPROMPTControlHandlerClassType). ?zvPrompt:5 EQUATE(zvPrompt:5:Control.FEQ) EditDispatchedQty:Control CLASS(zwBUTTONControlHandlerClassType). ?EditDispatchedQty EQUATE(EditDispatchedQty:Control.FEQ) DispatchedQty:Control CLASS(zwSINGLELINEControlHandlerClassType). ?DispatchedQty EQUATE(DispatchedQty:Control.FEQ) Dispatches:Control CLASS(zwBUTTONControlHandlerClassType). ?Dispatches EQUATE(Dispatches:Control.FEQ) Action:Control CLASS(zwBUTTONControlHandlerClassType). ?Action EQUATE(Action:Control.FEQ) zvPrompt:2:Control CLASS(zwPROMPTControlHandlerClassType). ?zvPrompt:2 EQUATE(zvPrompt:2:Control.FEQ) EditRejectedQty:Control CLASS(zwBUTTONControlHandlerClassType). ?EditRejectedQty EQUATE(EditRejectedQty:Control.FEQ) RejectedQty:Control CLASS(zwSINGLELINEControlHandlerClassType). ?RejectedQty EQUATE(RejectedQty:Control.FEQ) Trace:Control CLASS(zwBUTTONControlHandlerClassType). ?Trace EQUATE(Trace:Control.FEQ) Events:Control CLASS(zwBUTTONControlHandlerClassType). ?Events EQUATE(Events:Control.FEQ) Invoices:Control CLASS(zwBUTTONControlHandlerClassType). ?Invoices EQUATE(Invoices:Control.FEQ) BarChart:Control CLASS(zwBUTTONControlHandlerClassType). ?BarChart EQUATE(BarChart:Control.FEQ) zvPrompt:3:Control CLASS(zwPROMPTControlHandlerClassType). ?zvPrompt:3 EQUATE(zvPrompt:3:Control.FEQ) EditInvoicedQty:Control CLASS(zwBUTTONControlHandlerClassType). ?EditInvoicedQty EQUATE(EditInvoicedQty:Control.FEQ) InvoicedQty:Control CLASS(zwSINGLELINEControlHandlerClassType). ?InvoicedQty EQUATE(InvoicedQty:Control.FEQ) zvPrompt:4:Control CLASS(zwPROMPTControlHandlerClassType). ?zvPrompt:4 EQUATE(zvPrompt:4:Control.FEQ) EditCreditedQty:Control CLASS(zwBUTTONControlHandlerClassType). ?EditCreditedQty EQUATE(EditCreditedQty:Control.FEQ) CreditedQty:Control CLASS(zwSINGLELINEControlHandlerClassType). ?CreditedQty EQUATE(CreditedQty:Control.FEQ) sol:Edited:Control CLASS(zwCHECKControlHandlerClassType). ?sol:Edited EQUATE(sol:Edited:Control.FEQ) zvPrompt:14:Control CLASS(zwPROMPTControlHandlerClassType). ?zvPrompt:14 EQUATE(zvPrompt:14:Control.FEQ) zvEditCancelledOn:Control CLASS(zwBUTTONControlHandlerClassType). ?zvEditCancelledOn EQUATE(zvEditCancelledOn:Control.FEQ) CancelledOn:Control CLASS(zwSINGLELINEControlHandlerClassType). ?CancelledOn EQUATE(CancelledOn:Control.FEQ) zvPrompt:17:Control CLASS(zwPROMPTControlHandlerClassType). ?zvPrompt:17 EQUATE(zvPrompt:17:Control.FEQ) zvEditPriceBasis:Control CLASS(zwBUTTONControlHandlerClassType). ?zvEditPriceBasis EQUATE(zvEditPriceBasis:Control.FEQ) PriceBasis:Control CLASS(zwSINGLELINEControlHandlerClassType). ?PriceBasis EQUATE(PriceBasis:Control.FEQ) zvPrompt:15:Control CLASS(zwPROMPTControlHandlerClassType). ?zvPrompt:15 EQUATE(zvPrompt:15:Control.FEQ) zvEditCancelledBy:Control CLASS(zwBUTTONControlHandlerClassType). ?zvEditCancelledBy EQUATE(zvEditCancelledBy:Control.FEQ) CancelledBy:Control CLASS(zwSINGLELINEControlHandlerClassType). ?CancelledBy EQUATE(CancelledBy:Control.FEQ) zvPrompt:33:Control CLASS(zwPROMPTControlHandlerClassType). ?zvPrompt:33 EQUATE(zvPrompt:33:Control.FEQ) zvEditor:11:Control CLASS(zwBUTTONControlHandlerClassType). ?zvEditor:11 EQUATE(zvEditor:11:Control.FEQ) VATCode:Control CLASS(zwSINGLELINEControlHandlerClassType). ?VATCode EQUATE(VATCode:Control.FEQ) zvPrompt:27:Control CLASS(zwPROMPTControlHandlerClassType). ?zvPrompt:27 EQUATE(zvPrompt:27:Control.FEQ) zvEditor:Control CLASS(zwBUTTONControlHandlerClassType). ?zvEditor EQUATE(zvEditor:Control.FEQ) CostCentre:Control CLASS(zwSINGLELINEControlHandlerClassType). ?CostCentre EQUATE(CostCentre:Control.FEQ) zvPrompt:6:Control CLASS(zwPROMPTControlHandlerClassType). ?zvPrompt:6 EQUATE(zvPrompt:6:Control.FEQ) EditDeliveredOn:Control CLASS(zwBUTTONControlHandlerClassType). ?EditDeliveredOn EQUATE(EditDeliveredOn:Control.FEQ) DeliveredOn:Control CLASS(zwSINGLELINEControlHandlerClassType). ?DeliveredOn EQUATE(DeliveredOn:Control.FEQ) SetDispatched:Control CLASS(zwCHECKControlHandlerClassType). ?SetDispatched EQUATE(SetDispatched:Control.FEQ) zvPrompt:7:Control CLASS(zwPROMPTControlHandlerClassType). ?zvPrompt:7 EQUATE(zvPrompt:7:Control.FEQ) EditInvoicedOn:Control CLASS(zwBUTTONControlHandlerClassType). ?EditInvoicedOn EQUATE(EditInvoicedOn:Control.FEQ) InvoicedOn:Control CLASS(zwSINGLELINEControlHandlerClassType). ?InvoicedOn EQUATE(InvoicedOn:Control.FEQ) SetInvoiced:Control CLASS(zwCHECKControlHandlerClassType). ?SetInvoiced EQUATE(SetInvoiced:Control.FEQ) zvPrompt:28:Control CLASS(zwPROMPTControlHandlerClassType). ?zvPrompt:28 EQUATE(zvPrompt:28:Control.FEQ) zvEditor:6:Control CLASS(zwBUTTONControlHandlerClassType). ?zvEditor:6 EQUATE(zvEditor:6:Control.FEQ) Department:Control CLASS(zwSINGLELINEControlHandlerClassType). ?Department EQUATE(Department:Control.FEQ) zvPrompt:18:Control CLASS(zwPROMPTControlHandlerClassType). ?zvPrompt:18 EQUATE(zvPrompt:18:Control.FEQ) zvEditIssue:Control CLASS(zwBUTTONControlHandlerClassType). ?zvEditIssue EQUATE(zvEditIssue:Control.FEQ) Issue:Control CLASS(zwSINGLELINEControlHandlerClassType). ?Issue EQUATE(Issue:Control.FEQ) Actions:Control CLASS(zwTABControlHandlerClassType). ?Actions EQUATE(Actions:Control.FEQ) DispatchSchedule:Control CLASS(zwBUTTONControlHandlerClassType). ?DispatchSchedule EQUATE(DispatchSchedule:Control.FEQ) String24:Control CLASS(zwSTRINGControlHandlerClassType). ?String24 EQUATE(String24:Control.FEQ) String24:2:Control CLASS(zwSTRINGControlHandlerClassType). ?String24:2 EQUATE(String24:2:Control.FEQ) WizardGroup:Control CLASS(zwGROUPControlHandlerClassType). ?WizardGroup EQUATE(WizardGroup:Control.FEQ) WizardAdd:Control CLASS(zwBUTTONControlHandlerClassType). ?WizardAdd EQUATE(WizardAdd:Control.FEQ) Prompt59:Control CLASS(zwPROMPTControlHandlerClassType). ?Prompt59 EQUATE(Prompt59:Control.FEQ) WizardEdit:Control CLASS(zwBUTTONControlHandlerClassType). ?WizardEdit EQUATE(WizardEdit:Control.FEQ) Prompt60:Control CLASS(zwPROMPTControlHandlerClassType). ?Prompt60 EQUATE(Prompt60:Control.FEQ) ReCost:Control CLASS(zwBUTTONControlHandlerClassType). ?ReCost EQUATE(ReCost:Control.FEQ) String28:Control CLASS(zwSTRINGControlHandlerClassType). ?String28 EQUATE(String28:Control.FEQ) Schedule:Control CLASS(zwBUTTONControlHandlerClassType). ?Schedule EQUATE(Schedule:Control.FEQ) String26:Control CLASS(zwSTRINGControlHandlerClassType). ?String26 EQUATE(String26:Control.FEQ) RaiseTender:Control CLASS(zwBUTTONControlHandlerClassType). ?RaiseTender EQUATE(RaiseTender:Control.FEQ) String27:Control CLASS(zwSTRINGControlHandlerClassType). ?String27 EQUATE(String27:Control.FEQ) InvoiceSchedule:Control CLASS(zwBUTTONControlHandlerClassType). ?InvoiceSchedule EQUATE(InvoiceSchedule:Control.FEQ) PROMPT12:Control CLASS(zwPROMPTControlHandlerClassType). ?PROMPT12 EQUATE(PROMPT12:Control.FEQ) zvEditSalesOrder:Control CLASS(zwBUTTONControlHandlerClassType). ?zvEditSalesOrder EQUATE(zvEditSalesOrder:Control.FEQ) SalesOrderNum:Control CLASS(zwSINGLELINEControlHandlerClassType). ?SalesOrderNum EQUATE(SalesOrderNum:Control.FEQ) soh:TheirOrderNum:Prompt:Control CLASS(zwPROMPTControlHandlerClassType). ?soh:TheirOrderNum:Prompt EQUATE(soh:TheirOrderNum:Prompt:Control.FEQ) soh:TheirOrderNum:Control CLASS(zwSINGLELINEControlHandlerClassType). ?soh:TheirOrderNum EQUATE(soh:TheirOrderNum:Control.FEQ) Prompt38:Control CLASS(zwPROMPTControlHandlerClassType). ?Prompt38 EQUATE(Prompt38:Control.FEQ) OrderState:Control CLASS(zwSINGLELINEControlHandlerClassType). ?OrderState EQUATE(OrderState:Control.FEQ) sol:Line:Prompt:Control CLASS(zwPROMPTControlHandlerClassType). ?sol:Line:Prompt EQUATE(sol:Line:Prompt:Control.FEQ) sol:Line:Control CLASS(zwENTRYControlHandlerClassType). ?sol:Line EQUATE(sol:Line:Control.FEQ) IsContainer:Control CLASS(zwCHECKControlHandlerClassType). ?IsContainer EQUATE(IsContainer:Control.FEQ) IsMultipleOutput:Control CLASS(zwCHECKControlHandlerClassType). ?IsMultipleOutput EQUATE(IsMultipleOutput:Control.FEQ) PROMPT13:Control CLASS(zwPROMPTControlHandlerClassType). ?PROMPT13 EQUATE(PROMPT13:Control.FEQ) EditRef:Control CLASS(zwBUTTONControlHandlerClassType). ?EditRef EQUATE(EditRef:Control.FEQ) CustomerRef:Control CLASS(zwSINGLELINEControlHandlerClassType). ?CustomerRef EQUATE(CustomerRef:Control.FEQ) PROMPT14:Control CLASS(zwPROMPTControlHandlerClassType). ?PROMPT14 EQUATE(PROMPT14:Control.FEQ) EditCustomer:Control CLASS(zwBUTTONControlHandlerClassType). ?EditCustomer EQUATE(EditCustomer:Control.FEQ) Customer:Control CLASS(zwSINGLELINEControlHandlerClassType). ?Customer EQUATE(Customer:Control.FEQ) History:Control CLASS(zwBUTTONControlHandlerClassType). ?History EQUATE(History:Control.FEQ) sol:CancelledOn:Control CLASS(zwCHECKControlHandlerClassType). ?sol:CancelledOn EQUATE(sol:CancelledOn:Control.FEQ) sol:DeliveredOn:Control CLASS(zwCHECKControlHandlerClassType). ?sol:DeliveredOn EQUATE(sol:DeliveredOn:Control.FEQ) sol:InvoicedOn:Control CLASS(zwCHECKControlHandlerClassType). ?sol:InvoicedOn EQUATE(sol:InvoicedOn:Control.FEQ) CustomerApproved:Control CLASS(zwCHECKControlHandlerClassType). ?CustomerApproved EQUATE(CustomerApproved:Control.FEQ) BackOne:Control CLASS(zwBUTTONControlHandlerClassType). ?BackOne EQUATE(BackOne:Control.FEQ) NextOne:Control CLASS(zwBUTTONControlHandlerClassType). ?NextOne EQUATE(NextOne:Control.FEQ) NewOne:Control CLASS(zwBUTTONControlHandlerClassType). ?NewOne EQUATE(NewOne:Control.FEQ) ResetRecord:Control CLASS(zwBUTTONControlHandlerClassType). ?ResetRecord EQUATE(ResetRecord:Control.FEQ) DelOne:Control CLASS(zwBUTTONControlHandlerClassType). ?DelOne EQUATE(DelOne:Control.FEQ) OK:Control CLASS(zwBUTTONControlHandlerClassType). ?OK EQUATE(OK:Control.FEQ) Cancel:Control CLASS(zwBUTTONControlHandlerClassType). ?Cancel EQUATE(Cancel:Control.FEQ) FormPrint:Control CLASS(zwBUTTONControlHandlerClassType). ?FormPrint EQUATE(FormPrint:Control.FEQ) Refresh:Control CLASS(zwBUTTONControlHandlerClassType). ?Refresh EQUATE(Refresh:Control.FEQ) Defaults:Control CLASS(zwBUTTONControlHandlerClassType). ?Defaults EQUATE(Defaults:Control.FEQ) Help:Control CLASS(zwBUTTONControlHandlerClassType). ?Help EQUATE(Help:Control.FEQ) !}}} !{{{ SheetHandlers !{{{ Sheet1 Sheet1:Handler CLASS(zwSheetHandlerClassType) END Sheet1:FromTab EQUATE(Sheet1:Handler.FromTab) Sheet1:TabSelected EQUATE(Sheet1:Handler.TabSelected) !}}} !}}} !{{{ FormHandler FormHandler CLASS(zwFormHandlerClassType) END !{{{ field handlers !{{{ AcceptQty AcceptQty:Field CLASS(zwFieldHandlerClassType) END !}}} !{{{ ActualCostMargin ActualCostMargin:Field CLASS(zwFieldHandlerClassType) END !}}} !{{{ ActualDiscountStr ActualDiscountStr:Field CLASS(zwFieldHandlerClassType) OnChange PROCEDURE,LONG,PROC,VIRTUAL !Has 1 controls END !}}} !{{{ ActualMarginStr ActualMarginStr:Field CLASS(zwFieldHandlerClassType) OnChange PROCEDURE,LONG,PROC,VIRTUAL !Has 1 controls END !}}} !{{{ ConsignmentFlag ConsignmentFlag:Field CLASS(zwFieldHandlerClassType) END !}}} !{{{ ConsignmentNotes ConsignmentNotes:Field CLASS(zwFieldHandlerClassType) RefreshVars PROCEDURE,LONG,PROC,VIRTUAL END !}}} !{{{ ConsignmentQty ConsignmentQty:Field CLASS(zwFieldHandlerClassType) END !}}} !{{{ ContractLine ContractLine:Field CLASS(zwFieldHandlerClassType) OnChange PROCEDURE,LONG,PROC,VIRTUAL !Has 1 controls END !}}} !{{{ ContractRef ContractRef:Field CLASS(zwFieldHandlerClassType) OnChange PROCEDURE,LONG,PROC,VIRTUAL !Has 1 controls END !}}} !{{{ CostCentre CostCentre:Field CLASS(zwFieldHandlerClassType) END !}}} !{{{ CustomerApproved CustomerApproved:Field CLASS(zwFieldHandlerClassType) END !}}} !{{{ CustomerRef CustomerRef:Field CLASS(zwFieldHandlerClassType) END !}}} !{{{ DeliverOn DeliverOn:Field CLASS(zwFieldHandlerClassType) OnChange PROCEDURE,LONG,PROC,VIRTUAL !Has 2 controls END !}}} !{{{ Department Department:Field CLASS(zwFieldHandlerClassType) END !}}} !{{{ EnquiryLineNotes EnquiryLineNotes:Field CLASS(zwFieldHandlerClassType) RefreshVars PROCEDURE,LONG,PROC,VIRTUAL END !}}} !{{{ ExternalNotes ExternalNotes:Field CLASS(zwFieldHandlerClassType) RefreshVars PROCEDURE,LONG,PROC,VIRTUAL END !}}} !{{{ InternalNotes InternalNotes:Field CLASS(zwFieldHandlerClassType) RefreshVars PROCEDURE,LONG,PROC,VIRTUAL END !}}} !{{{ IsContainer IsContainer:Field CLASS(zwFieldHandlerClassType) END !}}} !{{{ IsMultipleOutput IsMultipleOutput:Field CLASS(zwFieldHandlerClassType) END !}}} !{{{ Issue Issue:Field CLASS(zwFieldHandlerClassType) END !}}} !{{{ LineIsDispatched LineIsDispatched:Field CLASS(zwFieldHandlerClassType) OnChange PROCEDURE,LONG,PROC,VIRTUAL !Has 1 controls END !}}} !{{{ LineIsInvoiced LineIsInvoiced:Field CLASS(zwFieldHandlerClassType) OnChange PROCEDURE,LONG,PROC,VIRTUAL !Has 1 controls END !}}} !{{{ LocalsoAutoInheritContract LocalsoAutoInheritContract:Field CLASS(zwFieldHandlerClassType) OnAcceptEarly PROCEDURE,LONG,PROC,VIRTUAL END !}}} !{{{ LocalsoAutoInheritQuote LocalsoAutoInheritQuote:Field CLASS(zwFieldHandlerClassType) OnAcceptEarly PROCEDURE,LONG,PROC,VIRTUAL END !}}} !{{{ MakeQty MakeQty:Field CLASS(zwFieldHandlerClassType) END !}}} !{{{ OrderedQty OrderedQty:Field CLASS(zwFieldHandlerClassType) OnAcceptLate PROCEDURE,LONG,PROC,VIRTUAL OnChange PROCEDURE,LONG,PROC,VIRTUAL !Has 2 controls END !Variable number mnemonics (for use with variable reference methods, e.g. GetOldVar) OrderedQty::sol:Height EQUATE(1) OrderedQty::sol:Length EQUATE(2) OrderedQty::sol:OrderedQty EQUATE(3) OrderedQty::sol:Width EQUATE(4) !}}} !{{{ OurPartNum OurPartNum:Field CLASS(zwFieldHandlerClassType) OnChange PROCEDURE,LONG,PROC,VIRTUAL !Has 1 controls END !}}} !{{{ PromisedDate PromisedDate:Field CLASS(zwFieldHandlerClassType) END !}}} !{{{ QuoteLine QuoteLine:Field CLASS(zwFieldHandlerClassType) OnChange PROCEDURE,LONG,PROC,VIRTUAL !Has 1 controls END !}}} !{{{ QuoteRef QuoteRef:Field CLASS(zwFieldHandlerClassType) OnChange PROCEDURE,LONG,PROC,VIRTUAL !Has 1 controls END !}}} !{{{ SelectViaOurPartNum SelectViaOurPartNum:Field CLASS(zwFieldHandlerClassType) OnChange PROCEDURE,LONG,PROC,VIRTUAL !Has 1 controls END !}}} !{{{ SelectViaTheirPartNum SelectViaTheirPartNum:Field CLASS(zwFieldHandlerClassType) OnChange PROCEDURE,LONG,PROC,VIRTUAL !Has 1 controls END !}}} !{{{ SetDispatched SetDispatched:Field CLASS(zwFieldHandlerClassType) OnChange PROCEDURE,LONG,PROC,VIRTUAL !Has 1 controls END !}}} !{{{ SetInvoiced SetInvoiced:Field CLASS(zwFieldHandlerClassType) OnChange PROCEDURE,LONG,PROC,VIRTUAL !Has 1 controls END !}}} !{{{ SetRecommendedDate SetRecommendedDate:Field CLASS(zwFieldHandlerClassType) END !}}} !{{{ SetRecommendedPrice SetRecommendedPrice:Field CLASS(zwFieldHandlerClassType) END !}}} !{{{ StartLimit StartLimit:Field CLASS(zwFieldHandlerClassType) END !}}} !{{{ Strategy Strategy:Field CLASS(zwFieldHandlerClassType) END !}}} !{{{ TargetDate TargetDate:Field CLASS(zwFieldHandlerClassType) END !}}} !{{{ TheirPartNum TheirPartNum:Field CLASS(zwFieldHandlerClassType) OnChange PROCEDURE,LONG,PROC,VIRTUAL !Has 1 controls END !}}} !{{{ UnitPrice UnitPrice:Field CLASS(zwFieldHandlerClassType) OnChange PROCEDURE,LONG,PROC,VIRTUAL !Has 1 controls END !Variable number mnemonics (for use with variable reference methods, e.g. GetOldVar) UnitPrice::sol:UnitPrice EQUATE(1) UnitPrice::sol:UnitQty EQUATE(2) !}}} !{{{ WorksNotes WorksNotes:Field CLASS(zwFieldHandlerClassType) OnAcceptEarly PROCEDURE,LONG,PROC,VIRTUAL RefreshVars PROCEDURE,LONG,PROC,VIRTUAL END !}}} !{{{ sol:AllowExtraDiscount sol:AllowExtraDiscount:Field CLASS(zwFieldHandlerClassType) END !}}} !{{{ sol:CancelledOn sol:CancelledOn:Field CLASS(zwFieldHandlerClassType) OnChange PROCEDURE,LONG,PROC,VIRTUAL !Has 1 controls END !}}} !{{{ sol:CofCrequired sol:CofCrequired:Field CLASS(zwFieldHandlerClassType) END !}}} !{{{ sol:DeliveredOn sol:DeliveredOn:Field CLASS(zwFieldHandlerClassType) OnChange PROCEDURE,LONG,PROC,VIRTUAL !Has 1 controls END !}}} !{{{ sol:Edited sol:Edited:Field CLASS(zwFieldHandlerClassType) OnChange PROCEDURE,LONG,PROC,VIRTUAL !Has 1 controls END !}}} !{{{ sol:InvoicedOn sol:InvoicedOn:Field CLASS(zwFieldHandlerClassType) OnChange PROCEDURE,LONG,PROC,VIRTUAL !Has 1 controls END !}}} !}}} !{{{ local change class synonyms RecordChanged EQUATE(FormHandler.RecordChanged) !}}} !}}} !{{{ DIY buttons !{{{ Design:Handler - DIY button Design:Handler CLASS(zwActionHandlerClassType) ActionAllow PROCEDURE,LONG,PROC,VIRTUAL END !}}} !{{{ UpdateCustWorksNotes:Handler - DIY button UpdateCustWorksNotes:Handler CLASS(zwActionHandlerClassType) ActionAllow PROCEDURE,LONG,PROC,VIRTUAL END !}}} !{{{ UpdateEnqLineNotes:Handler - DIY button UpdateEnqLineNotes:Handler CLASS(zwActionHandlerClassType) ActionAllow PROCEDURE,LONG,PROC,VIRTUAL END !}}} !{{{ SetQuote:Handler - DIY button SetQuote:Handler CLASS(zwActionHandlerClassType) ActionAllow PROCEDURE,LONG,PROC,VIRTUAL END !}}} !{{{ SetContract:Handler - DIY button SetContract:Handler CLASS(zwActionHandlerClassType) ActionAllow PROCEDURE,LONG,PROC,VIRTUAL END !}}} !{{{ UpdatePriceNow:Handler - DIY button UpdatePriceNow:Handler CLASS(zwActionHandlerClassType) ActionAllow PROCEDURE,LONG,PROC,VIRTUAL END !}}} !{{{ ReCost:Handler - DIY button ReCost:Handler CLASS(zwActionHandlerClassType) ActionAllow PROCEDURE,LONG,PROC,VIRTUAL END !}}} !{{{ History:Handler - DIY button History:Handler CLASS(zwActionHandlerClassType) ActionAllow PROCEDURE,LONG,PROC,VIRTUAL END !}}} !}}} !{{{ SaveHandler SaveHandler CLASS(zwSaveHandlerClassType) GetContext PROCEDURE,LONG,PROC,VIRTUAL Prepared PROCEDURE,LONG,PROC,VIRTUAL ReserveLate PROCEDURE,LONG,PROC,VIRTUAL InsertLate PROCEDURE,LONG,PROC,VIRTUAL ChangeEarly PROCEDURE,LONG,PROC,VIRTUAL ChangeLate PROCEDURE,LONG,PROC,VIRTUAL DeleteLate PROCEDURE,LONG,PROC,VIRTUAL CompletedEarly PROCEDURE,LONG,PROC,VIRTUAL END !{{{ local class synonyms ActionPending EQUATE(SaveHandler.ActionPending) RecordReserved EQUATE(SaveHandler.RecordReserved) VCRKey EQUATE(SaveHandler.VCRKey) VCRFixOn EQUATE(SaveHandler.VCRFixOn) SaveHandler:Action EQUATE(SaveHandler.Action) !}}} !}}} !{{{ Schedule:Handler - FormButton Schedule:Handler CLASS(zwActionHandlerClassType) ActionEarly PROCEDURE,LONG,PROC,VIRTUAL END Schedule:Action:Pending EQUATE(Schedule:Handler.Pending) !}}} !{{{ Dispatches:Handler - FormButton Dispatches:Handler CLASS(zwActionHandlerClassType) ActionEarly PROCEDURE,LONG,PROC,VIRTUAL END Dispatches:Action:Pending EQUATE(Dispatches:Handler.Pending) !}}} !{{{ Invoices:Handler - FormButton Invoices:Handler CLASS(zwActionHandlerClassType) ActionEarly PROCEDURE,LONG,PROC,VIRTUAL END Invoices:Action:Pending EQUATE(Invoices:Handler.Pending) !}}} !{{{ Trace:Handler - FormButton Trace:Handler CLASS(zwActionHandlerClassType) ActionEarly PROCEDURE,LONG,PROC,VIRTUAL END Trace:Action:Pending EQUATE(Trace:Handler.Pending) !}}} !{{{ ReSchedule:Handler - FormButton ReSchedule:Handler CLASS(zwActionHandlerClassType) ActionAllow PROCEDURE,LONG,PROC,VIRTUAL ActionEarly PROCEDURE,LONG,PROC,VIRTUAL END ReSchedule:Action:Pending EQUATE(ReSchedule:Handler.Pending) !}}} !{{{ Events:Handler - FormButton Events:Handler CLASS(zwActionHandlerClassType) ActionEarly PROCEDURE,LONG,PROC,VIRTUAL END Events:Action:Pending EQUATE(Events:Handler.Pending) !}}} !{{{ RaiseTender:Handler - FormButton RaiseTender:Handler CLASS(zwActionHandlerClassType) ActionEarly PROCEDURE,LONG,PROC,VIRTUAL END RaiseTender:Action:Pending EQUATE(RaiseTender:Handler.Pending) !}}} !{{{ Action:Handler - FormButton Action:Handler CLASS(zwActionHandlerClassType) ActionEarly PROCEDURE,LONG,PROC,VIRTUAL END Action:Action:Pending EQUATE(Action:Handler.Pending) !}}} !{{{ AddAllOutputs:Handler - FormButton AddAllOutputs:Handler CLASS(zwActionHandlerClassType) ActionEarly PROCEDURE,LONG,PROC,VIRTUAL END AddAllOutputs:Action:Pending EQUATE(AddAllOutputs:Handler.Pending) !}}} !{{{ ReplaceByAllOutputs:Handler - FormButton ReplaceByAllOutputs:Handler CLASS(zwActionHandlerClassType) ActionEarly PROCEDURE,LONG,PROC,VIRTUAL END ReplaceByAllOutputs:Action:Pending EQUATE(ReplaceByAllOutputs:Handler.Pending) !}}} !{{{ AddContainer:Handler - FormButton AddContainer:Handler CLASS(zwActionHandlerClassType) ActionEarly PROCEDURE,LONG,PROC,VIRTUAL END AddContainer:Action:Pending EQUATE(AddContainer:Handler.Pending) !}}} !{{{ ReplaceAllOutputsByC:Handler - FormButton ReplaceAllOutputsByC:Handler CLASS(zwActionHandlerClassType) ActionEarly PROCEDURE,LONG,PROC,VIRTUAL END ReplaceAllOutputsByC:Action:Pending EQUATE(ReplaceAllOutputsByC:Handler.Pending) !}}} !{{{ BarChart:Handler - FormButton BarChart:Handler CLASS(zwActionHandlerClassType) ActionEarly PROCEDURE,LONG,PROC,VIRTUAL END BarChart:Action:Pending EQUATE(BarChart:Handler.Pending) !}}} !{{{ DispatchSchedule:Handler - FormButton DispatchSchedule:Handler CLASS(zwActionHandlerClassType) ActionEarly PROCEDURE,LONG,PROC,VIRTUAL END DispatchSchedule:Action:Pending EQUATE(DispatchSchedule:Handler.Pending) !}}} !{{{ InvoiceSchedule:Handler - FormButton InvoiceSchedule:Handler CLASS(zwActionHandlerClassType) ActionEarly PROCEDURE,LONG,PROC,VIRTUAL END InvoiceSchedule:Action:Pending EQUATE(InvoiceSchedule:Handler.Pending) !}}} !{{{ WizardAdd:Handler - FormButton WizardAdd:Handler CLASS(zwActionHandlerClassType) ActionEarly PROCEDURE,LONG,PROC,VIRTUAL END WizardAdd:Action:Pending EQUATE(WizardAdd:Handler.Pending) !}}} !{{{ WizardEdit:Handler - FormButton WizardEdit:Handler CLASS(zwActionHandlerClassType) ActionEarly PROCEDURE,LONG,PROC,VIRTUAL END WizardEdit:Action:Pending EQUATE(WizardEdit:Handler.Pending) !}}} !{{{ QualifiersTab QualifiersTab:Handler CLASS(zwQtabHandlerClassType). QualifiersTab:Handle EQUATE(QualifiersTab:Handler.SelfPtr) !}}} !{{{ zvTypeEdit - soh:Customer:Handler:4 soh:Customer:Handler:4 CLASS(zwLTypeHandlerClassType) END soh:Customer:Handler:4:Dirty EQUATE(soh:Customer:Handler:4.Dirty) !}}} !{{{ zvTypeEdit - RawQuoteRef:Handler:5 RawQuoteRef:Handler:5 CLASS(zwLTypeHandlerClassType) END RawQuoteRef:Handler:5:Dirty EQUATE(RawQuoteRef:Handler:5.Dirty) !}}} !{{{ zvTypeEdit - sol:QuoteLine:Handler:6 sol:QuoteLine:Handler:6 CLASS(zwLTypeHandlerClassType) GetContext PROCEDURE,LONG,PROC,VIRTUAL END sol:QuoteLine:Handler:6:Dirty EQUATE(sol:QuoteLine:Handler:6.Dirty) !}}} !{{{ zvTypeEdit - sol:OurPartNum:Handler:7 sol:OurPartNum:Handler:7 CLASS(zwLTypeHandlerClassType) GetContext PROCEDURE,LONG,PROC,VIRTUAL END sol:OurPartNum:Handler:7:Dirty EQUATE(sol:OurPartNum:Handler:7.Dirty) !}}} !{{{ zvTypeEdit - sol:InternalNotes:Handler:11 sol:InternalNotes:Handler:11 CLASS(zwLTypeHandlerClassType) GetContext PROCEDURE,LONG,PROC,VIRTUAL END sol:InternalNotes:Handler:11:Dirty EQUATE(sol:InternalNotes:Handler:11.Dirty) !}}} !{{{ zvTypeEdit - sol:ExternalNotes:Handler:12 sol:ExternalNotes:Handler:12 CLASS(zwLTypeHandlerClassType) GetContext PROCEDURE,LONG,PROC,VIRTUAL END sol:ExternalNotes:Handler:12:Dirty EQUATE(sol:ExternalNotes:Handler:12.Dirty) !}}} !{{{ zvTypeEdit - sol:DeliverOn:Handler:20 sol:DeliverOn:Handler:20 CLASS(zwLTypeHandlerClassType) GetContext PROCEDURE,LONG,PROC,VIRTUAL END sol:DeliverOn:Handler:20:Dirty EQUATE(sol:DeliverOn:Handler:20.Dirty) !}}} !{{{ zvTypeEdit - sol:TheirPartNum:Handler:25 sol:TheirPartNum:Handler:25 CLASS(zwLTypeHandlerClassType) GetContext PROCEDURE,LONG,PROC,VIRTUAL END sol:TheirPartNum:Handler:25:Dirty EQUATE(sol:TheirPartNum:Handler:25.Dirty) !}}} !{{{ zvTypeEdit - RawReturnedQty:Handler:18 RawReturnedQty:Handler:18 CLASS(zwLTypeHandlerClassType) END RawReturnedQty:Handler:18:Dirty EQUATE(RawReturnedQty:Handler:18.Dirty) !}}} !{{{ zvTypeEdit - RawInvoicedQty:Handler:22 RawInvoicedQty:Handler:22 CLASS(zwLTypeHandlerClassType) END RawInvoicedQty:Handler:22:Dirty EQUATE(RawInvoicedQty:Handler:22.Dirty) !}}} !{{{ zvTypeEdit - RawCreditedQty:Handler:29 RawCreditedQty:Handler:29 CLASS(zwLTypeHandlerClassType) END RawCreditedQty:Handler:29:Dirty EQUATE(RawCreditedQty:Handler:29.Dirty) !}}} !{{{ zvTypeEdit - RawDispatchedQty:Handler:30 RawDispatchedQty:Handler:30 CLASS(zwLTypeHandlerClassType) END RawDispatchedQty:Handler:30:Dirty EQUATE(RawDispatchedQty:Handler:30.Dirty) !}}} !{{{ zvTypeEdit - sol:DeliveredOn:Handler:31 sol:DeliveredOn:Handler:31 CLASS(zwLTypeHandlerClassType) END sol:DeliveredOn:Handler:31:Dirty EQUATE(sol:DeliveredOn:Handler:31.Dirty) !}}} !{{{ zvTypeEdit - sol:InvoicedOn:Handler:32 sol:InvoicedOn:Handler:32 CLASS(zwLTypeHandlerClassType) END sol:InvoicedOn:Handler:32:Dirty EQUATE(sol:InvoicedOn:Handler:32.Dirty) !}}} !{{{ zvTypeEdit - sol:Strategy:Handler:44 sol:Strategy:Handler:44 CLASS(zwLTypeHandlerClassType) END sol:Strategy:Handler:44:Dirty EQUATE(sol:Strategy:Handler:44.Dirty) !}}} !{{{ zvTypeEdit - sol:OrderRef:Handler:45 sol:OrderRef:Handler:45 CLASS(zwLTypeHandlerClassType) END sol:OrderRef:Handler:45:Dirty EQUATE(sol:OrderRef:Handler:45.Dirty) !}}} !{{{ zvTypeEdit - sol:CancelledOn:Handler:46 sol:CancelledOn:Handler:46 CLASS(zwLTypeHandlerClassType) END sol:CancelledOn:Handler:46:Dirty EQUATE(sol:CancelledOn:Handler:46.Dirty) !}}} !{{{ zvTypeEdit - sol:CancelledBy:Handler:47 sol:CancelledBy:Handler:47 CLASS(zwLTypeHandlerClassType) END sol:CancelledBy:Handler:47:Dirty EQUATE(sol:CancelledBy:Handler:47.Dirty) !}}} !{{{ zvTypeEdit - RawPriceBasis:Handler:26 RawPriceBasis:Handler:26 CLASS(zwLTypeHandlerClassType) END RawPriceBasis:Handler:26:Dirty EQUATE(RawPriceBasis:Handler:26.Dirty) !}}} !{{{ zvTypeEdit - sol:Issue:Handler:27 sol:Issue:Handler:27 CLASS(zwLTypeHandlerClassType) END sol:Issue:Handler:27:Dirty EQUATE(sol:Issue:Handler:27.Dirty) !}}} !{{{ zvTypeEdit - sol:WorksNotes:Handler:28 sol:WorksNotes:Handler:28 CLASS(zwLTypeHandlerClassType) GetContext PROCEDURE,LONG,PROC,VIRTUAL END sol:WorksNotes:Handler:28:Dirty EQUATE(sol:WorksNotes:Handler:28.Dirty) !}}} !{{{ zvTypeEdit - sol:LineItemReference:Handler:43 sol:LineItemReference:Handler:43 CLASS(zwLTypeHandlerClassType) END sol:LineItemReference:Handler:43:Dirty EQUATE(sol:LineItemReference:Handler:43.Dirty) !}}} !{{{ zvTypeEdit - sol:enqExternalNotes:Handler:51 sol:enqExternalNotes:Handler:51 CLASS(zwLTypeHandlerClassType) GetContext PROCEDURE,LONG,PROC,VIRTUAL END sol:enqExternalNotes:Handler:51:Dirty EQUATE(sol:enqExternalNotes:Handler:51.Dirty) !}}} !{{{ zvTypeEdit - RawPlannedDelivery:Handler:33 RawPlannedDelivery:Handler:33 CLASS(zwLTypeHandlerClassType) END RawPlannedDelivery:Handler:33:Dirty EQUATE(RawPlannedDelivery:Handler:33.Dirty) !}}} !{{{ zvTypeEdit - sol:ScheduleLog:Handler:53 sol:ScheduleLog:Handler:53 CLASS(zwLTypeHandlerClassType) GetContext PROCEDURE,LONG,PROC,VIRTUAL END sol:ScheduleLog:Handler:53:Dirty EQUATE(sol:ScheduleLog:Handler:53.Dirty) !}}} !{{{ zvTypeEdit - RawLineValue:Handler:8 RawLineValue:Handler:8 CLASS(zwLTypeHandlerClassType) END RawLineValue:Handler:8:Dirty EQUATE(RawLineValue:Handler:8.Dirty) !}}} !{{{ zvTypeEdit - RawLineCost:Handler:35 RawLineCost:Handler:35 CLASS(zwLTypeHandlerClassType) END RawLineCost:Handler:35:Dirty EQUATE(RawLineCost:Handler:35.Dirty) !}}} !{{{ zvTypeEdit - RawGrossProfit:Handler:36 RawGrossProfit:Handler:36 CLASS(zwLTypeHandlerClassType) END RawGrossProfit:Handler:36:Dirty EQUATE(RawGrossProfit:Handler:36.Dirty) !}}} !{{{ zvTypeEdit - sol:ContractLine:Handler:14 sol:ContractLine:Handler:14 CLASS(zwLTypeHandlerClassType) GetContext PROCEDURE,LONG,PROC,VIRTUAL END sol:ContractLine:Handler:14:Dirty EQUATE(sol:ContractLine:Handler:14.Dirty) !}}} !{{{ zvTypeEdit - RawContractRef:Handler:15 RawContractRef:Handler:15 CLASS(zwLTypeHandlerClassType) END RawContractRef:Handler:15:Dirty EQUATE(RawContractRef:Handler:15.Dirty) !}}} !{{{ zvTypeEdit - sol:PromisedOn:Handler:61 sol:PromisedOn:Handler:61 CLASS(zwLTypeHandlerClassType) END sol:PromisedOn:Handler:61:Dirty EQUATE(sol:PromisedOn:Handler:61.Dirty) !}}} !{{{ zvTypeEdit - sol:DeliverOn:Handler:9 sol:DeliverOn:Handler:9 CLASS(zwLTypeHandlerClassType) GetContext PROCEDURE,LONG,PROC,VIRTUAL END sol:DeliverOn:Handler:9:Dirty EQUATE(sol:DeliverOn:Handler:9.Dirty) !}}} !{{{ zvTypeEdit - sol:DeliveredOn:Handler:10 sol:DeliveredOn:Handler:10 CLASS(zwLTypeHandlerClassType) END sol:DeliveredOn:Handler:10:Dirty EQUATE(sol:DeliveredOn:Handler:10.Dirty) !}}} !{{{ zvTypeEdit - sol:AcceptQty:Handler:19 sol:AcceptQty:Handler:19 CLASS(zwLTypeHandlerClassType) GetContext PROCEDURE,LONG,PROC,VIRTUAL END sol:AcceptQty:Handler:19:Dirty EQUATE(sol:AcceptQty:Handler:19.Dirty) !}}} !{{{ zvTypeEdit - sol:MakeQty:Handler:64 sol:MakeQty:Handler:64 CLASS(zwLTypeHandlerClassType) GetContext PROCEDURE,LONG,PROC,VIRTUAL END sol:MakeQty:Handler:64:Dirty EQUATE(sol:MakeQty:Handler:64.Dirty) !}}} !{{{ zvTypeEdit - ActualMargin:Handler:67 ActualMargin:Handler:67 CLASS(zwLTypeHandlerClassType) GetContext PROCEDURE,LONG,PROC,VIRTUAL END ActualMargin:Handler:67:Dirty EQUATE(ActualMargin:Handler:67.Dirty) !}}} !{{{ zvTypeEdit - ActualDiscount:Handler:68 ActualDiscount:Handler:68 CLASS(zwLTypeHandlerClassType) GetContext PROCEDURE,LONG,PROC,VIRTUAL END ActualDiscount:Handler:68:Dirty EQUATE(ActualDiscount:Handler:68.Dirty) !}}} !{{{ zvTypeEdit - sol:CostCentre:Handler:69 sol:CostCentre:Handler:69 CLASS(zwLTypeHandlerClassType) GetContext PROCEDURE,LONG,PROC,VIRTUAL END sol:CostCentre:Handler:69:Dirty EQUATE(sol:CostCentre:Handler:69.Dirty) !}}} !{{{ zvTypeEdit - sol:Department:Handler:70 sol:Department:Handler:70 CLASS(zwLTypeHandlerClassType) GetContext PROCEDURE,LONG,PROC,VIRTUAL END sol:Department:Handler:70:Dirty EQUATE(sol:Department:Handler:70.Dirty) !}}} !{{{ zvTypeEdit - sol:StartLimit:Handler:73 sol:StartLimit:Handler:73 CLASS(zwLTypeHandlerClassType) END sol:StartLimit:Handler:73:Dirty EQUATE(sol:StartLimit:Handler:73.Dirty) !}}} !{{{ zvTypeEdit - RawActualCostMargin:Handler:74 RawActualCostMargin:Handler:74 CLASS(zwLTypeHandlerClassType) END RawActualCostMargin:Handler:74:Dirty EQUATE(RawActualCostMargin:Handler:74.Dirty) !}}} !{{{ zvTypeEdit - sol:ExternalNotes:Handler:24 sol:ExternalNotes:Handler:24 CLASS(zwLTypeHandlerClassType) GetContext PROCEDURE,LONG,PROC,VIRTUAL END sol:ExternalNotes:Handler:24:Dirty EQUATE(sol:ExternalNotes:Handler:24.Dirty) !}}} !{{{ zvTypeEdit - sol:ConsignmentFlag:Handler:37 sol:ConsignmentFlag:Handler:37 CLASS(zwLTypeHandlerClassType) END sol:ConsignmentFlag:Handler:37:Dirty EQUATE(sol:ConsignmentFlag:Handler:37.Dirty) !}}} !{{{ zvTypeEdit - sol:ConsignmentQty:Handler:39 sol:ConsignmentQty:Handler:39 CLASS(zwLTypeHandlerClassType) GetContext PROCEDURE,LONG,PROC,VIRTUAL END sol:ConsignmentQty:Handler:39:Dirty EQUATE(sol:ConsignmentQty:Handler:39.Dirty) !}}} !{{{ zvTypeEdit - sol:ConsignmentNotes:Handler:41 sol:ConsignmentNotes:Handler:41 CLASS(zwLTypeHandlerClassType) GetContext PROCEDURE,LONG,PROC,VIRTUAL END sol:ConsignmentNotes:Handler:41:Dirty EQUATE(sol:ConsignmentNotes:Handler:41.Dirty) !}}} !{{{ zvTypeEdit - RawVatCode:Handler:76 RawVatCode:Handler:76 CLASS(zwLTypeHandlerClassType) END RawVatCode:Handler:76:Dirty EQUATE(RawVatCode:Handler:76.Dirty) !}}} !{{{ zvTypeEdit - sol:TargetDate:Handler:77 sol:TargetDate:Handler:77 CLASS(zwLTypeHandlerClassType) END sol:TargetDate:Handler:77:Dirty EQUATE(sol:TargetDate:Handler:77.Dirty) !}}} !{{{ zvQtyEdit - OrderedQty:Handler:34 OrderedQty:Handler:34 CLASS(zwQtyLTypeHandlerClassType) GetContext PROCEDURE,LONG,PROC,VIRTUAL END OrderedQty:Handler:34:Dirty EQUATE(OrderedQty:Handler:34.Dirty) !}}} !{{{ zvQtyEdit - OrderedQty:Handler:65 OrderedQty:Handler:65 CLASS(zwQtyLTypeHandlerClassType) GetContext PROCEDURE,LONG,PROC,VIRTUAL END OrderedQty:Handler:65:Dirty EQUATE(OrderedQty:Handler:65.Dirty) !}}} !{{{ zvPriceEdit - UnitPrice:Handler:62 UnitPrice:Handler:62 CLASS(zwPriceLTypeHandlerClassType) GetContext PROCEDURE,LONG,PROC,VIRTUAL END UnitPrice:Handler:62:Dirty EQUATE(UnitPrice:Handler:62.Dirty) !}}} !{{{ DatesHints:Handler - ActionButton DatesHints:Handler CLASS(zwActionHandlerClassType) ActionEarly PROCEDURE,LONG,PROC,VIRTUAL END !}}} !}}} RecommendedTheirPart LIKE(sol:TheirPartNum) CustomerDefaults LONG !Default set instance OrderUnits LONG RawUnitQty LIKE(sol:UnitQty),AUTO DimsHaveChanged BYTE !result from HasDimsChanged ROUTINE !{{{ scheduled stuff ScheduledCost LIKE(sol:UnitPrice) ScheduledQty LIKE(sol:OrderedQty) ScheduledDate LIKE(sol:DeliverOn) !}}} !{{{ kode contexts CostCentreContext LONG DepartmentContext LONG !}}} !{{{ wizard registers Registers GROUP(drRegisterType),PRE(Registers);END !}}} sol:OrderRef:AsRecNo:16 LONG,OVER(sol:OrderRef) !for lookup tla:RecNo !}}} !{{{ window WINDOW(sohOrdersolUp) OMIT('Window_Definition:END') !This definition must be present so that the help system can find the !window and its controls for the purposes of generating the help file !and the "What's This?" text. To be recognised the window statement !line must be: "name WINDOW('title')..." or "name APPLICATION('title')..." !Specifically, there must be no spaces around the ( character. window WINDOW('Sales Order Line'),HLP('~sohOrdersolUp'),AT(0,1,302,223),ICON('FORM.ICO'),MAX,MDI,SYSTEM,FONT(zxFontName,zxFontSize,zxFontColour, | zxFontStyle),RESIZE !{{{ SHEET USE(?Sheet1) #SEQ() Parent() SHEET,AT(2,59,298,150),USE(?Sheet1) !{{{ TAB USE(?DetailTab) #SEQ() Parent(?Sheet1) TAB('&1 Detail'),USE(?DetailTab) !{{{ PROMPT USE(?PROMPT1) #SEQ(25) Parent(?DetailTab) PROMPT('Their &Part Num:'),AT(3,77,59,10),USE(?PROMPT1),RIGHT !}}} !{{{ BUTTON USE(?EditTheirPartNum) #SEQ(25) Parent(?DetailTab) BUTTON('...'),AT(63,77,10,10),USE(?EditTheirPartNum) !}}} !{{{ ENTRY USE(TheirPartNum) #SEQ(25) Parent(?DetailTab) ENTRY(@s64),AT(75,75,152,12),USE(TheirPartNum),MSG('The customer''s part number for this item') !}}} !{{{ CHECK USE(SelectViaTheirPartNum) #SEQ() Parent(?DetailTab) CHECK('Pick by Their Num'),AT(230,77),USE(SelectViaTheirPartNum),MSG('Check this to pick/change the part by their number') !}}} !{{{ PROMPT USE(?PROMPT2) #SEQ(7) Parent(?DetailTab) PROMPT('&Our Part Num:'),AT(3,91,59,10),USE(?PROMPT2),RIGHT !}}} !{{{ BUTTON USE(?EditOurPartNum) #SEQ(7) Parent(?DetailTab) BUTTON('...'),AT(63,91,10,10),USE(?EditOurPartNum) !}}} !{{{ ENTRY USE(OurPartNum) #SEQ(7) Parent(?DetailTab) ENTRY(@s64),AT(75,89,152,12),USE(OurPartNum),MSG('Our part number for this item') !}}} !{{{ CHECK USE(SelectViaOurPartNum) #SEQ() Parent(?DetailTab) CHECK('Pick b&y Our Num'),AT(230,90,67,10),USE(SelectViaOurPartNum),MSG('Check this to pick the part by our number') !}}} !{{{ CHECK USE(AddAllOutputs) #SEQ(40) Parent(?DetailTab) CHECK('Add sales lines for all outputs of the selected container'),AT(75,101,179,10),USE(AddAllOutputs),TRN !}}} !{{{ BUTTON USE(?Design) #SEQ() Parent(?DetailTab) BUTTON('Create New Part Num'),AT(6,104,68,11),USE(?Design),MSG('Press this to design a new product for this line') !}}} !{{{ CHECK USE(ReplaceByAllOutputs) #SEQ(58) Parent(?DetailTab) CHECK('Replace this sales line by all the outputs of the selected container'),AT(75,108),USE(ReplaceByAllOutputs),TRN !}}} !{{{ CHECK USE(AddContainer) #SEQ(59) Parent(?DetailTab) CHECK('Add a sales line for the container producing this output'),AT(75,101,197,10),USE(AddContainer),TRN !}}} !{{{ CHECK USE(ReplaceAllOutputsByCont) #SEQ(60) Parent(?DetailTab) CHECK('Replace this line and other similar outputs by its container'),AT(75,108),USE(ReplaceAllOutputsByCont),TRN !}}} !{{{ PROMPT USE(?PROMPT3) #SEQ(34) Parent(?DetailTab) PROMPT('Ordered &Quantity:'),AT(3,119,59,10),USE(?PROMPT3),RIGHT !}}} !{{{ BUTTON USE(?EditOrderedQty) #SEQ(34) Parent(?DetailTab) BUTTON('...'),AT(63,119,10,10),USE(?EditOrderedQty) !}}} !{{{ ENTRY USE(OrderedQty) #SEQ(34) Parent(?DetailTab) ENTRY(@s128),AT(75,117,152,12),USE(OrderedQty),MSG('The quantity being ordered') !}}} !{{{ PROMPT USE(?PROMPT4) #SEQ(20) Parent(?DetailTab) PROMPT('To Deli&ver On:'),AT(3,133,59,10),USE(?PROMPT4),RIGHT !}}} !{{{ BUTTON USE(?zvEditDeliverOn) #SEQ(20) Parent(?DetailTab) BUTTON('...'),AT(63,133,10,10),USE(?zvEditDeliverOn) !}}} !{{{ ENTRY USE(DeliverOn) #SEQ(20) Parent(?DetailTab) ENTRY(@s8),AT(75,131,40,12),USE(DeliverOn) !}}} !{{{ CHECK USE(SetRecommendedDate) #SEQ() Parent(?DetailTab) CHECK('Use recommended: date'),AT(167,132,131,10),USE(SetRecommendedDate),MSG('When checked the deliver on date will track your other settings') !}}} !{{{ PROMPT USE(?zvPricePrompt) #SEQ(62) Parent(?DetailTab) PROMPT('P&rice:'),AT(3,147,59,10),USE(?zvPricePrompt),RIGHT !}}} !{{{ BUTTON USE(?zvPriceEditor) #SEQ(62) Parent(?DetailTab) BUTTON('...'),AT(63,147,10,10),USE(?zvPriceEditor) !}}} !{{{ ENTRY USE(UnitPrice) #SEQ(62) Parent(?DetailTab) ENTRY(@s64),AT(75,145,90,12),USE(UnitPrice),MSG('The unit price and the price unit offered') !}}} !{{{ CHECK USE(SetRecommendedPrice) #SEQ() Parent(?DetailTab) CHECK('&Use recommended: £x per y each'),AT(167,146,132,10),USE(SetRecommendedPrice),MSG('When checked the unit price will track your other settings') !}}} !{{{ PROMPT USE(?MarginPr) #SEQ(67) Parent(?DetailTab) PROMPT('Margin:'),AT(3,164,59,10),USE(?MarginPr),RIGHT !}}} !{{{ BUTTON USE(?zvEditMargin) #SEQ(67) Parent(?DetailTab) BUTTON('...'),AT(63,164,10,10),USE(?zvEditMargin) !}}} !{{{ ENTRY USE(ActualMarginStr) #SEQ(67) Parent(?DetailTab) ENTRY(@s16),AT(75,162,39,12),USE(ActualMarginStr),MSG('The price/cost ratio expressed as a margin. Negative values imply the cost is greater then the price. You can change this value to indirectly set a price.') !}}} !{{{ CHECK USE(sol:CofCrequired) #SEQ() Parent(?DetailTab) CHECK('C of C &Required'),AT(230,118,67,10),USE(sol:CofCrequired),MSG('Check this if a C of C has ben requested'),TRN !}}} !{{{ STRING USE(EstimatedProfitStr) #SEQ() Parent(?DetailTab) STRING(@s255),AT(167,161,129),USE(EstimatedProfitStr),TRN !}}} !{{{ PROMPT USE(?Prompt58) #SEQ() Parent(?DetailTab) PROMPT('This estimate is against STANDARD costs'),AT(167,168,129,10),USE(?Prompt58),TRN !}}} !{{{ PROMPT USE(?zvPrompt:10) #SEQ(24) Parent(?DetailTab) PROMPT('Customer Notes:'),AT(3,195,59,10),USE(?zvPrompt:10),RIGHT !}}} !{{{ BUTTON USE(?zvEditor:7) #SEQ(24) Parent(?DetailTab) BUTTON('```'),AT(63,195,10,10),USE(?zvEditor:7) !}}} !{{{ ENTRY USE(ExternalNotes,,?ExternalNotes:2) #SEQ(24) Parent(?DetailTab) ENTRY(@s64),AT(75,193,219,12),USE(ExternalNotes,,?ExternalNotes:2) !}}} !{{{ PROMPT USE(?DiscountPr) #SEQ(68) Parent(?DetailTab) PROMPT('Discount:'),AT(3,178,59,10),USE(?DiscountPr),RIGHT !}}} !{{{ BUTTON USE(?zvEditDiscount) #SEQ(68) Parent(?DetailTab) BUTTON('...'),AT(63,178,10,10),USE(?zvEditDiscount) !}}} !{{{ ENTRY USE(ActualDiscountStr) #SEQ(68) Parent(?DetailTab) ENTRY(@s16),AT(75,176,39,12),USE(ActualDiscountStr),MSG('Discount calculated from the full price. Negative values imply yo are charging a premium. You can change this value to indirectly set a price.') !}}} !{{{ CHECK USE(sol:AllowExtraDiscount) #SEQ() Parent(?DetailTab) CHECK('&Apply extra discount'),AT(167,178,131,10),USE(sol:AllowExtraDiscount),MSG('Un-check if this item does not qualify for the extra discount') !}}} END !}}} !{{{ TAB USE(?Tab8) #SEQ() Parent(?Sheet1) TAB('&2 Notes/Consign'),USE(?Tab8) !{{{ PROMPT USE(?PROMPT5) #SEQ(11) Parent(?Tab8) PROMPT('Notes for Us:'),AT(7,97,75,10),USE(?PROMPT5),RIGHT !}}} !{{{ BUTTON USE(?EditInternalNotes) #SEQ(11) Parent(?Tab8) BUTTON('```'),AT(83,97,10,10),USE(?EditInternalNotes) !}}} !{{{ ENTRY USE(InternalNotes) #SEQ(11) Parent(?Tab8) ENTRY(@s64),AT(95,95,192,12),USE(InternalNotes),MSG('These notes will not appear on the paperwork') !}}} !{{{ PROMPT USE(?PROMPT6) #SEQ(12) Parent(?Tab8) PROMPT('Customer Notes:'),AT(7,83,75,10),USE(?PROMPT6),RIGHT !}}} !{{{ BUTTON USE(?EditExternalNotes) #SEQ(12) Parent(?Tab8) BUTTON('```'),AT(83,83,10,10),USE(?EditExternalNotes) !}}} !{{{ ENTRY USE(ExternalNotes) #SEQ(12) Parent(?Tab8) ENTRY(@s64),AT(95,81,192,12),USE(ExternalNotes),MSG('These notes will be shown on the paperwork. This field is a copy of the one on the first tab - you can use either.') !}}} !{{{ PROMPT USE(?PROMPT7) #SEQ(28) Parent(?Tab8) PROMPT('Cust Works Notes:'),AT(7,111,75,10),USE(?PROMPT7),RIGHT !}}} !{{{ BUTTON USE(?zvEditor:2) #SEQ(28) Parent(?Tab8) BUTTON('```'),AT(83,111,10,10),USE(?zvEditor:2) !}}} !{{{ ENTRY USE(WorksNotes) #SEQ(28) Parent(?Tab8) ENTRY(@s64),AT(95,109,176,12),USE(WorksNotes),MSG('Initially inherited from associated enquiry lines (to be shown on works orders)') !}}} !{{{ BUTTON USE(?UpdateCustWorksNotes) #SEQ() Parent(?Tab8) BUTTON,AT(273,110,14,11),USE(?UpdateCustWorksNotes),ICON(ICON:Copy),MSG('Update Customer Works Notes from associated enquiry lines') !}}} !{{{ PROMPT USE(?PROMPT8) #SEQ(51) Parent(?Tab8) PROMPT('Enquiry Line Notes:'),AT(7,125,75,10),USE(?PROMPT8),RIGHT !}}} !{{{ BUTTON USE(?zvEditor:3) #SEQ(51) Parent(?Tab8) BUTTON('```'),AT(83,125,10,10),USE(?zvEditor:3) !}}} !{{{ ENTRY USE(EnquiryLineNotes) #SEQ(51) Parent(?Tab8) ENTRY(@s64),AT(95,123,176,12),USE(EnquiryLineNotes),MSG('Initially inherited from associated enquiry lines') !}}} !{{{ BUTTON USE(?UpdateEnqLineNotes) #SEQ() Parent(?Tab8) BUTTON,AT(273,124,14,11),USE(?UpdateEnqLineNotes),ICON(ICON:Copy),MSG('Update enquiry line notes from associated enquiry lines') !}}} !{{{ PROMPT USE(?zvPrompt:12) #SEQ(37) Parent(?Tab8) PROMPT('On Consignment:'),AT(7,147,75,10),USE(?zvPrompt:12),RIGHT !}}} !{{{ BUTTON USE(?zvEditor:8) #SEQ(37) Parent(?Tab8) BUTTON('...'),AT(83,147,10,10),USE(?zvEditor:8) !}}} !{{{ ENTRY USE(ConsignmentFlag) #SEQ(37) Parent(?Tab8) ENTRY(@s8),AT(95,145,43,12),USE(ConsignmentFlag),MSG('The stock is supplied on consignment. You will receive a warning when approving an invoice in you are invoicing more than the customer has used on consignment to date.') !}}} !{{{ PROMPT USE(?zvPrompt:16) #SEQ(39) Parent(?Tab8) PROMPT('Consignment Qty Used:'),AT(7,161,75,10),USE(?zvPrompt:16),RIGHT !}}} !{{{ BUTTON USE(?zvEditor:9) #SEQ(39) Parent(?Tab8) BUTTON('...'),AT(83,161,10,10),USE(?zvEditor:9) !}}} !{{{ ENTRY USE(ConsignmentQty) #SEQ(39) Parent(?Tab8) ENTRY(@s24),AT(95,159,84,12),USE(ConsignmentQty),MSG('The quantity of delivered stock that has been used by the customer.') !}}} !{{{ PROMPT USE(?zvPrompt:32) #SEQ(41) Parent(?Tab8) PROMPT('Consignment Notes:'),AT(7,175,75,10),USE(?zvPrompt:32),RIGHT !}}} !{{{ BUTTON USE(?zvEditor:10) #SEQ(41) Parent(?Tab8) BUTTON('...'),AT(83,175,10,10),USE(?zvEditor:10) !}}} !{{{ ENTRY USE(ConsignmentNotes) #SEQ(41) Parent(?Tab8) ENTRY(@s64),AT(95,173,192,12),USE(ConsignmentNotes),MSG('Recoed of consignment usage by the customer. Use the time-stamp facility to log dates.') !}}} END !}}} !{{{ TAB USE(?QualifiersTab) #SEQ() Parent(?Sheet1) TAB('&3 Qualifiers'),USE(?QualifiersTab) END !}}} !{{{ TAB USE(?Tab7) #SEQ() Parent(?Sheet1) TAB('&4 Links'),USE(?Tab7) !{{{ GROUP USE(?Group3) #SEQ() Parent(?Tab7) GROUP('Quotation'),AT(7,72,287,64),USE(?Group3),BOXED !{{{ STRING USE(?String10) #SEQ() Parent(?Group3) STRING('If this order is the result of a quotation, the links above connect this order line to the quote.'),AT(13,93,265,10),USE(?String10),TRN !}}} !{{{ STRING USE(?String11) #SEQ() Parent(?Group3) STRING('The quote linked to is considered to be ''won'' and is removed from your chase list.'),AT(13,100,247,10),USE(?String11),TRN !}}} !{{{ STRING USE(?String12) #SEQ() Parent(?Group3) STRING('This link is established automatically by matching quotes against the order details as they'),AT(13,107,271,10),USE(?String12),TRN !}}} !{{{ STRING USE(?String13) #SEQ() Parent(?Group3) STRING('are entered here. You can override this by selecting a specific ''Of Quote'' above.'),AT(13,114,248,10),USE(?String13),TRN !}}} !{{{ CHECK USE(LocalsoAutoInheritQuote) #SEQ() Parent(?Group3) CHECK('If ticked the sales line details will be automatically set from the quote'),AT(13,123,213,10),USE(LocalsoAutoInheritQuote),SKIP,TRN !}}} !{{{ BUTTON USE(?SetQuote) #SEQ() Parent(?Group3) BUTTON('Set from Quote'),AT(231,122,61,12),USE(?SetQuote),MSG('Manually set the sales details to those in the associated quote') !}}} END !}}} !{{{ PROMPT USE(?PROMPT9) #SEQ(6) Parent(?Tab7) PROMPT('Quote Li&ne:'),AT(16,81,52,10),USE(?PROMPT9),RIGHT !}}} !{{{ BUTTON USE(?EditQuoteLine) #SEQ(6) Parent(?Tab7) BUTTON('...'),AT(69,81,10,10),USE(?EditQuoteLine) !}}} !{{{ ENTRY USE(QuoteLine) #SEQ(6) Parent(?Tab7) ENTRY(@s3),AT(81,79),USE(QuoteLine),MSG('Select the quote line within ''Of Quote'' on which to base this sales order (if any).') !}}} !{{{ PROMPT USE(?PROMPT10) #SEQ(5) Parent(?Tab7) PROMPT('Of Quote:'),AT(105,81,42,10),USE(?PROMPT10),RIGHT !}}} !{{{ BUTTON USE(?EditQuoteRef) #SEQ(5) Parent(?Tab7) BUTTON('...'),AT(148,81,10,10),USE(?EditQuoteRef) !}}} !{{{ ENTRY USE(QuoteRef) #SEQ(5) Parent(?Tab7) ENTRY(@s10),AT(160,79,58,12),USE(QuoteRef),MSG('Select the quote this sales line is to be associate with (if any).') !}}} !{{{ GROUP USE(?Group4) #SEQ() Parent(?Tab7) GROUP('Sales Contract'),AT(7,136,287,70),USE(?Group4),BOXED !{{{ STRING USE(?String14) #SEQ() Parent(?Group4) STRING('If this order is a call-off from a sales contract, the links above connect this order line to the'),AT(13,156),USE(?String14),TRN !}}} !{{{ STRING USE(?String15) #SEQ() Parent(?Group4) STRING('contract. The contract linked to is considered to have ''drawn'' the quantity set in this order line.'),AT(13,163),USE(?String15),TRN !}}} !{{{ STRING USE(?String12:2) #SEQ() Parent(?Group4) STRING('This link is established automatically by matching contracts against the order details as they'),AT(13,171),USE(?String12:2),TRN !}}} !{{{ STRING USE(?String13:2) #SEQ() Parent(?Group4) STRING('are entered here. You can override this by selecting a specific ''Of Contract'' above. When the'),AT(13,178),USE(?String13:2),TRN !}}} !{{{ STRING USE(?String18) #SEQ() Parent(?Group4) STRING('''drawn'' quantity meets or exceeds the contract quantity, the contract is completed.'),AT(13,184),USE(?String18),TRN !}}} !{{{ CHECK USE(LocalsoAutoInheritContract) #SEQ() Parent(?Group4) CHECK('If ticked the sales line details will be automatically set from the contract'),AT(13,193,217,10),USE(LocalsoAutoInheritContract),SKIP,TRN !}}} !{{{ BUTTON USE(?SetContract) #SEQ() Parent(?Group4) BUTTON('Set from Contract'),AT(231,192,61,12),USE(?SetContract),MSG('Manually set the sales details to those in the associated contract') !}}} END !}}} !{{{ PROMPT USE(?zvPrompt:22) #SEQ(14) Parent(?Tab7) PROMPT('C&ontract Line:'),AT(16,145,52,10),USE(?zvPrompt:22),RIGHT !}}} !{{{ BUTTON USE(?EditContractLine) #SEQ(14) Parent(?Tab7) BUTTON('...'),AT(69,145,10,10),USE(?EditContractLine) !}}} !{{{ ENTRY USE(ContractLine) #SEQ(14) Parent(?Tab7) ENTRY(@s3),AT(81,143),USE(ContractLine),MSG('Select the contract line within ''Of Contract'' on which to base this sales order (if any).') !}}} !{{{ PROMPT USE(?zvPrompt:23) #SEQ(15) Parent(?Tab7) PROMPT('Of Contract:'),AT(105,145,42,10),USE(?zvPrompt:23),RIGHT !}}} !{{{ BUTTON USE(?zvEditor:5) #SEQ(15) Parent(?Tab7) BUTTON('...'),AT(148,145,10,10),USE(?zvEditor:5) !}}} !{{{ ENTRY USE(ContractRef) #SEQ(15) Parent(?Tab7) ENTRY(@s16),AT(160,143,58,12),USE(ContractRef),MSG('Select the contact this sales line is to be associate with (if any).') !}}} END !}}} !{{{ TAB USE(?Tab6) #SEQ() Parent(?Sheet1) TAB('&5 Schedule'),USE(?Tab6) !{{{ PROMPT USE(?PROMPT11) #SEQ(44) Parent(?Tab6) PROMPT('Scheduling Strategy:'),AT(5,76,68,10),USE(?PROMPT11),RIGHT !}}} !{{{ BUTTON USE(?zvEditSchedulingStrategy) #SEQ(44) Parent(?Tab6) BUTTON('...'),AT(75,76,10,10),USE(?zvEditSchedulingStrategy) !}}} !{{{ ENTRY USE(Strategy) #SEQ(44) Parent(?Tab6) ENTRY(@s64),AT(87,74,168,12),USE(Strategy),MSG('The scheduling strategy') !}}} !{{{ ENTRY USE(sol:Rank) #SEQ() Parent(?Tab6) ENTRY(@n6b),AT(256,74,33,12),USE(sol:Rank),RIGHT,MSG('The overall rank when last scheduled'),READONLY !}}} !{{{ PROMPT USE(?zvPrompt:20) #SEQ(53) Parent(?Tab6) PROMPT('Schedule Alerts:'),AT(5,89,68,10),USE(?zvPrompt:20),RIGHT !}}} !{{{ BUTTON USE(?zvEditor:4) #SEQ(53) Parent(?Tab6) BUTTON('```'),AT(75,89,10,10),USE(?zvEditor:4) !}}} !{{{ ENTRY USE(FormattedScheduleLog) #SEQ(53) Parent(?Tab6) ENTRY(@s64),AT(87,87,202,12),USE(FormattedScheduleLog),MSG('Alerts from previous schedule') !}}} !{{{ BUTTON USE(?ReSchedule) #SEQ(50) Parent(?Tab6) BUTTON('&Re-Schedule Now'),AT(220,101,70,12),USE(?ReSchedule),MSG('Re-schedule the (remaining) demand on this line') !}}} !{{{ PROMPT USE(?zvQtyPrompt:2) #SEQ(65) Parent(?Tab6) PROMPT('Ordered quantity:'),AT(5,116,68,10),USE(?zvQtyPrompt:2),RIGHT !}}} !{{{ BUTTON USE(?zvEditOrderedQty3) #SEQ(65) Parent(?Tab6) BUTTON('...'),AT(75,116,10,10),USE(?zvEditOrderedQty3) !}}} !{{{ ENTRY USE(OrderedQty,,?OrderedQty:2) #SEQ(65) Parent(?Tab6) ENTRY(@s128),AT(87,114,92,12),USE(OrderedQty,,?OrderedQty:2),MSG('The quantity ordered by the customer') !}}} !{{{ BUTTON USE(?DatesHints) #SEQ(42) Parent(?Tab6) BUTTON('&Dates Hints'),AT(220,113,70,11),USE(?DatesHints),MSG('A brief explanation of the significance of the dates you see here to the scheduler.') !}}} !{{{ STRING USE(?String22) #SEQ() Parent(?Tab6) STRING('Usually accept << ordered << demand'),AT(185,128),USE(?String22) !}}} !{{{ PROMPT USE(?zvPrompt:25) #SEQ(19) Parent(?Tab6) PROMPT('&Accept quantity:'),AT(5,103,68,10),USE(?zvPrompt:25),RIGHT !}}} !{{{ BUTTON USE(?zvEditAcceptQty) #SEQ(19) Parent(?Tab6) BUTTON('...'),AT(75,103,10,10),USE(?zvEditAcceptQty) !}}} !{{{ ENTRY USE(AcceptQty) #SEQ(19) Parent(?Tab6) ENTRY(@s24),AT(87,101,,12),USE(AcceptQty),MSG('If not blank or 0 and less than the ordered quantity, this is the quantity the customer will accept as completing the order. When at least this much has been dispatched the line will be considered to be complete.') !}}} !{{{ PROMPT USE(?zvPrompt:26) #SEQ(64) Parent(?Tab6) PROMPT('&Demand quantity:'),AT(5,129,68,10),USE(?zvPrompt:26),RIGHT !}}} !{{{ BUTTON USE(?zvEditMakeQty) #SEQ(64) Parent(?Tab6) BUTTON('...'),AT(75,129,10,10),USE(?zvEditMakeQty) !}}} !{{{ ENTRY USE(MakeQty) #SEQ(64) Parent(?Tab6) ENTRY(@s24),AT(87,127,92,12),USE(MakeQty),MSG('When greater than the ordered quantity, use this as the demand required to achieve the ordered quantity. Use this to compensate for expected losses during manufacture. WOs and POs and stock will be allocated for this higher quantity.') !}}} !{{{ PROMPT USE(?zvPrompt:29) #SEQ(73) Parent(?Tab6) PROMPT('Plan start for:'),AT(8,144,65,10),USE(?zvPrompt:29),RIGHT !}}} !{{{ BUTTON USE(?zvEditStartLimit) #SEQ(73) Parent(?Tab6) BUTTON('...'),AT(75,144,10,10),USE(?zvEditStartLimit) !}}} !{{{ ENTRY USE(StartLimit) #SEQ(73) Parent(?Tab6) ENTRY(@s8),AT(87,142,46,12),USE(StartLimit) !}}} !{{{ PROMPT USE(?zvPrompt:34) #SEQ(77) Parent(?Tab6) PROMPT('Plan end for:'),AT(135,144,44,10),USE(?zvPrompt:34),RIGHT !}}} !{{{ BUTTON USE(?zvEditTargetDate) #SEQ(77) Parent(?Tab6) BUTTON('...'),AT(181,144,10,10),USE(?zvEditTargetDate) !}}} !{{{ ENTRY USE(TargetDate) #SEQ(77) Parent(?Tab6) ENTRY(@s8),AT(193,142,46,12),USE(TargetDate) !}}} !{{{ GROUP USE(?HideWhenFullyDelivered) #SEQ() Parent(?Tab6) GROUP('HideWhenFullyDelivered'),AT(5,152,292,17),USE(?HideWhenFullyDelivered),TRN !{{{ PROMPT USE(?zvPrompt:19) #SEQ(33) Parent(?HideWhenFullyDelivered) PROMPT('Planned Dispatch:'),AT(8,157,65,10),USE(?zvPrompt:19),RIGHT !}}} !{{{ BUTTON USE(?zvEditPlannedDelivery) #SEQ(33) Parent(?HideWhenFullyDelivered) BUTTON('...'),AT(75,157,10,10),USE(?zvEditPlannedDelivery) !}}} !{{{ ENTRY USE(PlannedDelivery) #SEQ(33) Parent(?HideWhenFullyDelivered) ENTRY(@s8),AT(87,155,46,12),USE(PlannedDelivery) !}}} !{{{ STRING USE(DaysLateMessage) #SEQ() Parent(?HideWhenFullyDelivered) STRING(@s64),AT(136,156),USE(DaysLateMessage),FONT(,,COLOR:Red) !}}} END !}}} !{{{ PROMPT USE(?zvPrompt:11) #SEQ(61) Parent(?Tab6) PROMPT('&Promised Date:'),AT(8,170,65,10),USE(?zvPrompt:11),RIGHT !}}} !{{{ BUTTON USE(?zvEditPromisedDate) #SEQ(61) Parent(?Tab6) BUTTON('...'),AT(75,170,10,10),USE(?zvEditPromisedDate) !}}} !{{{ ENTRY USE(PromisedDate) #SEQ(61) Parent(?Tab6) ENTRY(@s8),AT(87,168,46,12),USE(PromisedDate) !}}} !{{{ PROMPT USE(?String19) #SEQ() Parent(?Tab6) PROMPT('If set, use this as the schedule target, else use the "To Deliver On" date. Lateness will become relative to this.'),AT(137,166,162,15),USE(?String19) !}}} !{{{ PROMPT USE(?zvPrompt) #SEQ(9) Parent(?Tab6) PROMPT('To Deliver On:'),AT(8,183,65,10),USE(?zvPrompt),RIGHT !}}} !{{{ BUTTON USE(?zvEditDeliverOn3) #SEQ(9) Parent(?Tab6) BUTTON('...'),AT(75,183,10,10),USE(?zvEditDeliverOn3) !}}} !{{{ ENTRY USE(DeliverOn,,?DeliverOn:2) #SEQ(9) Parent(?Tab6) ENTRY(@s8),AT(87,181,46,12),USE(DeliverOn,,?DeliverOn:2) !}}} !{{{ STRING USE(?String20) #SEQ() Parent(?Tab6) STRING('Date requested by the customer'),AT(137,183),USE(?String20) !}}} !{{{ PROMPT USE(?zvPrompt:24) #SEQ(10) Parent(?Tab6) PROMPT('Actually Delivered On:'),AT(3,196,70,10),USE(?zvPrompt:24),RIGHT !}}} !{{{ BUTTON USE(?zvEditDeliveredOn2) #SEQ(10) Parent(?Tab6) BUTTON('...'),AT(75,196,10,10),USE(?zvEditDeliveredOn2) !}}} !{{{ ENTRY USE(DeliveredOn,,?DeliveredOn:2) #SEQ(10) Parent(?Tab6) ENTRY(@s8),AT(87,194,46,12),USE(DeliveredOn,,?DeliveredOn:2) !}}} !{{{ STRING USE(?String21) #SEQ() Parent(?Tab6) STRING('When set, the date you actually achieved'),AT(137,196),USE(?String21) !}}} END !}}} !{{{ TAB USE(?LineCostTab) #SEQ() Parent(?Sheet1) TAB('&6 Profit'),USE(?LineCostTab) !{{{ STRING USE(?String23) #SEQ() Parent(?LineCostTab) STRING('Before invoicing is complete, the value is as ordered. Afterwards, its the actually invoiced value.'),AT(9,77),USE(?String23) !}}} !{{{ STRING USE(?String6) #SEQ() Parent(?LineCostTab) STRING('Before delivery is completed, the costs and margins are estimated.'),AT(9,89),USE(?String6) !}}} !{{{ STRING USE(?String7) #SEQ() Parent(?LineCostTab) STRING('After the line is fully delivered the costs are based on the cost of what was dispatched.'),AT(9,98),USE(?String7) !}}} !{{{ PROMPT USE(?zvPrompt:8) #SEQ(8) Parent(?LineCostTab) PROMPT('Line &Value:'),AT(13,113,46,10),USE(?zvPrompt:8),RIGHT !}}} !{{{ BUTTON USE(?zvEditLineValue) #SEQ(8) Parent(?LineCostTab) BUTTON('...'),AT(61,113,10,10),USE(?zvEditLineValue) !}}} !{{{ ENTRY USE(LineValue) #SEQ(8) Parent(?LineCostTab) ENTRY(@s24),AT(73,111,92,12),USE(LineValue),MSG('Total sales value of this line. Before its fully invoiced this is the value as ordered. After its invoiced, its the value actually invoiced.') !}}} !{{{ CHECK USE(LineIsInvoiced) #SEQ() Parent(?LineCostTab) CHECK('Line is fully invoiced'),AT(169,113),USE(LineIsInvoiced),SKIP !}}} !{{{ PROMPT USE(?zvPrompt:9) #SEQ(35) Parent(?LineCostTab) PROMPT('Line C&ost:'),AT(13,127,46,10),USE(?zvPrompt:9),RIGHT !}}} !{{{ BUTTON USE(?zvEditLineCost) #SEQ(35) Parent(?LineCostTab) BUTTON('...'),AT(61,127,10,10),USE(?zvEditLineCost) !}}} !{{{ ENTRY USE(LineCost) #SEQ(35) Parent(?LineCostTab) ENTRY(@s24),AT(73,125,92,12),USE(LineCost),MSG('Cost of the items sold (estimated before, actual after delivery)') !}}} !{{{ CHECK USE(LineIsDispatched) #SEQ() Parent(?LineCostTab) CHECK('Line is fully delivered'),AT(169,127),USE(LineIsDispatched),SKIP !}}} !{{{ PROMPT USE(?zvPrompt:21) #SEQ(36) Parent(?LineCostTab) PROMPT('&Gross Profit:'),AT(13,141,46,10),USE(?zvPrompt:21),RIGHT !}}} !{{{ BUTTON USE(?zvEditGrossProfit) #SEQ(36) Parent(?LineCostTab) BUTTON('...'),AT(61,141,10,10),USE(?zvEditGrossProfit) !}}} !{{{ ENTRY USE(GrossProfit) #SEQ(36) Parent(?LineCostTab) ENTRY(@s24),AT(73,139,92,12),USE(GrossProfit),MSG('Gross Profit = LineValue - LineCost') !}}} !{{{ GROUP USE(?RecalcPriceFromCost) #SEQ() Parent(?LineCostTab) GROUP('Re-calculate price from actual cost'),AT(167,138,127,38),USE(?RecalcPriceFromCost),BOXED !{{{ PROMPT USE(?zvPrompt:30) #SEQ(74) Parent(?RecalcPriceFromCost) PROMPT('based on this Margin:'),AT(169,150,67,10),USE(?zvPrompt:30),RIGHT !}}} !{{{ BUTTON USE(?EditCostPlusMargin) #SEQ(74) Parent(?RecalcPriceFromCost) BUTTON('...'),AT(237,149,10,10),USE(?EditCostPlusMargin) !}}} !{{{ ENTRY USE(ActualCostMargin) #SEQ(74) Parent(?RecalcPriceFromCost) ENTRY(@s16),AT(249,148,41,12),USE(ActualCostMargin),MSG('Set the gross margin you would like to achieve over your actual costs') !}}} !{{{ BUTTON USE(?UpdatePriceNow) #SEQ() Parent(?RecalcPriceFromCost) BUTTON('Update price now'),AT(170,162,120,11),USE(?UpdatePriceNow),MSG('Re-calculate the price based on actual costs and the margin set above') !}}} END !}}} !{{{ PROMPT USE(?Prompt43) #SEQ() Parent(?LineCostTab) PROMPT('Actual Margin:'),AT(13,157,46,10),USE(?Prompt43) !}}} !{{{ ENTRY USE(AchievedMarginStr) #SEQ() Parent(?LineCostTab) ENTRY(@s16),AT(73,155,47,12),USE(AchievedMarginStr),MSG('Actual margin = (LineValue - LineCost)/LineValue * 100'),READONLY !}}} !{{{ GROUP USE(?Group2) #SEQ() Parent(?LineCostTab) GROUP('WARNING'),AT(9,175,285,30),USE(?Group2),BOXED !{{{ STRING USE(?String9) #SEQ() Parent(?Group2) STRING('If the line has not been scheduled the costs will not be accurate.'),AT(19,194),USE(?String9),TRN !}}} END !}}} !{{{ STRING USE(?String8) #SEQ() Parent(?LineCostTab) STRING('Before the line is fully dispatched the costs are based on the planned dispatches.'),AT(19,184),USE(?String8),TRN !}}} END !}}} !{{{ TAB USE(?AuditTab) #SEQ() Parent(?Sheet1) TAB('&7 Audit'),USE(?AuditTab) !{{{ PROMPT USE(?zvPrompt:5) #SEQ(30) Parent(?AuditTab) PROMPT('Dispatched Qty:'),AT(6,77,62,10),USE(?zvPrompt:5),RIGHT !}}} !{{{ BUTTON USE(?EditDispatchedQty) #SEQ(30) Parent(?AuditTab) BUTTON('...'),AT(70,77,10,10),USE(?EditDispatchedQty) !}}} !{{{ ENTRY USE(DispatchedQty) #SEQ(30) Parent(?AuditTab) ENTRY(@s24),AT(82,75,103,12),USE(DispatchedQty),MSG('Quantity dispatched so far against this line') !}}} !{{{ BUTTON USE(?Dispatches) #SEQ(17) Parent(?AuditTab) BUTTON('&Dispatches'),AT(199,76,42,11),USE(?Dispatches),MSG('View the dispatches made against this sales line') !}}} !{{{ BUTTON USE(?Action) #SEQ(57) Parent(?AuditTab) BUTTON('Stock &Alloc'),AT(243,76,42,11),USE(?Action),MSG('View lthe stock allocation for this sales line') !}}} !{{{ PROMPT USE(?zvPrompt:2) #SEQ(18) Parent(?AuditTab) PROMPT('Returned Qty:'),AT(6,90,62,10),USE(?zvPrompt:2),RIGHT !}}} !{{{ BUTTON USE(?EditRejectedQty) #SEQ(18) Parent(?AuditTab) BUTTON('...'),AT(70,90,10,10),USE(?EditRejectedQty),MSG('Quantity rejected by the customer so far against this line') !}}} !{{{ ENTRY USE(RejectedQty) #SEQ(18) Parent(?AuditTab) ENTRY(@s24),AT(82,88,103,12),USE(RejectedQty) !}}} !{{{ BUTTON USE(?Trace) #SEQ(49) Parent(?AuditTab) BUTTON('&Trace'),AT(199,89,42,11),USE(?Trace),MSG('View moves to/from this sales line - you can see the return moves from here') !}}} !{{{ BUTTON USE(?Events) #SEQ(52) Parent(?AuditTab) BUTTON('E&vents'),AT(243,89,42,11),USE(?Events),MSG('Show the events required to fulfil this order') !}}} !{{{ BUTTON USE(?Invoices) #SEQ(48) Parent(?AuditTab) BUTTON('&Invoices'),AT(199,103,42,11),USE(?Invoices),MSG('View the invoices made against this sales line') !}}} !{{{ BUTTON USE(?BarChart) #SEQ(66) Parent(?AuditTab) BUTTON('Ba&r Chart'),AT(243,103,42,11),USE(?BarChart),MSG('Show a bar-chart of the works orders/purchase orders for this line') !}}} !{{{ PROMPT USE(?zvPrompt:3) #SEQ(22) Parent(?AuditTab) PROMPT('Invoiced Qty:'),AT(6,104,62,10),USE(?zvPrompt:3),RIGHT !}}} !{{{ BUTTON USE(?EditInvoicedQty) #SEQ(22) Parent(?AuditTab) BUTTON('...'),AT(70,104,10,10),USE(?EditInvoicedQty) !}}} !{{{ ENTRY USE(InvoicedQty) #SEQ(22) Parent(?AuditTab) ENTRY(@s24),AT(82,102,103,12),USE(InvoicedQty),MSG('Quantity invoiced so far against this line') !}}} !{{{ PROMPT USE(?zvPrompt:4) #SEQ(29) Parent(?AuditTab) PROMPT('Credited Qty:'),AT(6,118,62,10),USE(?zvPrompt:4),RIGHT !}}} !{{{ BUTTON USE(?EditCreditedQty) #SEQ(29) Parent(?AuditTab) BUTTON('...'),AT(70,118,10,10),USE(?EditCreditedQty) !}}} !{{{ ENTRY USE(CreditedQty) #SEQ(29) Parent(?AuditTab) ENTRY(@s24),AT(82,116,103,12),USE(CreditedQty),MSG('Quantity credited to the customer against this line') !}}} !{{{ CHECK USE(sol:Edited) #SEQ() Parent(?AuditTab) CHECK('Line Edited'),AT(126,194,51,10),USE(sol:Edited),SKIP,TRN !}}} !{{{ PROMPT USE(?zvPrompt:14) #SEQ(46) Parent(?AuditTab) PROMPT('Cancelled On:'),AT(6,134,62,10),USE(?zvPrompt:14),RIGHT !}}} !{{{ BUTTON USE(?zvEditCancelledOn) #SEQ(46) Parent(?AuditTab) BUTTON('...'),AT(70,134,10,10),USE(?zvEditCancelledOn) !}}} !{{{ ENTRY USE(CancelledOn) #SEQ(46) Parent(?AuditTab) ENTRY(@s8),AT(82,132,42,12),USE(CancelledOn) !}}} !{{{ PROMPT USE(?zvPrompt:17) #SEQ(26) Parent(?AuditTab) PROMPT('Price Basis:'),AT(190,164,42,10),USE(?zvPrompt:17),RIGHT !}}} !{{{ BUTTON USE(?zvEditPriceBasis) #SEQ(26) Parent(?AuditTab) BUTTON('...'),AT(234,164,10,10),USE(?zvEditPriceBasis) !}}} !{{{ ENTRY USE(PriceBasis) #SEQ(26) Parent(?AuditTab) ENTRY(@s32),AT(246,162,46,12),USE(PriceBasis),MSG('The basis of the recommended price') !}}} !{{{ PROMPT USE(?zvPrompt:15) #SEQ(47) Parent(?AuditTab) PROMPT('Cancelled By:'),AT(6,148,62,10),USE(?zvPrompt:15),RIGHT !}}} !{{{ BUTTON USE(?zvEditCancelledBy) #SEQ(47) Parent(?AuditTab) BUTTON('...'),AT(70,148,10,10),USE(?zvEditCancelledBy) !}}} !{{{ ENTRY USE(CancelledBy) #SEQ(47) Parent(?AuditTab) ENTRY(@s8),AT(82,146,103,12),USE(CancelledBy) !}}} !{{{ PROMPT USE(?zvPrompt:33) #SEQ(76) Parent(?AuditTab) PROMPT('VAT Code:'),AT(190,148,42,10),USE(?zvPrompt:33),RIGHT !}}} !{{{ BUTTON USE(?zvEditor:11) #SEQ(76) Parent(?AuditTab) BUTTON('...'),AT(234,148,10,10),USE(?zvEditor:11) !}}} !{{{ ENTRY USE(VATCode) #SEQ(76) Parent(?AuditTab) ENTRY(@s16),AT(246,146,46,12),USE(VATCode),MSG('The VAT code that will be used when invoicing this line.') !}}} !{{{ PROMPT USE(?zvPrompt:27) #SEQ(69) Parent(?AuditTab) PROMPT('Cost Centre:'),AT(190,178,42,10),USE(?zvPrompt:27),RIGHT !}}} !{{{ BUTTON USE(?zvEditor) #SEQ(69) Parent(?AuditTab) BUTTON('...'),AT(234,178,10,10),USE(?zvEditor) !}}} !{{{ ENTRY USE(CostCentre) #SEQ(69) Parent(?AuditTab) ENTRY(@s64),AT(246,176,46,12),USE(CostCentre),MSG('The cost centre code is exported to your accounts system for analysis purposes.') !}}} !{{{ PROMPT USE(?zvPrompt:6) #SEQ(31) Parent(?AuditTab) PROMPT('Fully Dispatched On:'),AT(6,164,62,10),USE(?zvPrompt:6),RIGHT !}}} !{{{ BUTTON USE(?EditDeliveredOn) #SEQ(31) Parent(?AuditTab) BUTTON('...'),AT(70,164,10,10),USE(?EditDeliveredOn) !}}} !{{{ ENTRY USE(DeliveredOn) #SEQ(31) Parent(?AuditTab) ENTRY(@s8),AT(82,162,42,12),USE(DeliveredOn),MSG('The date of the delivery that completed the delivery for this line') !}}} !{{{ CHECK USE(SetDispatched) #SEQ() Parent(?AuditTab) CHECK('Fully Dispatched'),AT(126,164,61,10),USE(SetDispatched),MSG('Un-check to allow more dispatches to be made') !}}} !{{{ PROMPT USE(?zvPrompt:7) #SEQ(32) Parent(?AuditTab) PROMPT('Fully Invoiced On:'),AT(6,178,62,10),USE(?zvPrompt:7),RIGHT !}}} !{{{ BUTTON USE(?EditInvoicedOn) #SEQ(32) Parent(?AuditTab) BUTTON('...'),AT(70,178,10,10),USE(?EditInvoicedOn) !}}} !{{{ ENTRY USE(InvoicedOn) #SEQ(32) Parent(?AuditTab) ENTRY(@s8),AT(82,176,42,12),USE(InvoicedOn),MSG('The date of the invoice that completed the invoicing for this line') !}}} !{{{ CHECK USE(SetInvoiced) #SEQ() Parent(?AuditTab) CHECK('Fully Invoiced'),AT(126,177),USE(SetInvoiced),MSG('Un-check to allow re-invoicing, check to prohibit') !}}} !{{{ PROMPT USE(?zvPrompt:28) #SEQ(70) Parent(?AuditTab) PROMPT('Department:'),AT(190,195,42,10),USE(?zvPrompt:28),RIGHT !}}} !{{{ BUTTON USE(?zvEditor:6) #SEQ(70) Parent(?AuditTab) BUTTON('...'),AT(234,195,10,10),USE(?zvEditor:6) !}}} !{{{ ENTRY USE(Department) #SEQ(70) Parent(?AuditTab) ENTRY(@s64),AT(246,193,46,12),USE(Department),MSG('The department code is exported to your accounts system for analysis purposes.') !}}} !{{{ PROMPT USE(?zvPrompt:18) #SEQ(27) Parent(?AuditTab) PROMPT('Issue Number:'),AT(13,195,55,10),USE(?zvPrompt:18),RIGHT !}}} !{{{ BUTTON USE(?zvEditIssue) #SEQ(27) Parent(?AuditTab) BUTTON('...'),AT(70,195,10,10),USE(?zvEditIssue) !}}} !{{{ ENTRY USE(Issue) #SEQ(27) Parent(?AuditTab) ENTRY(@s8),AT(82,193,42,12),USE(Issue),MSG('Sales line issue number') !}}} END !}}} !{{{ TAB USE(?Actions) #SEQ() Parent(?Sheet1) TAB('&8 Actions'),USE(?Actions) !{{{ BUTTON USE(?DispatchSchedule) #SEQ(71) Parent(?Actions) BUTTON('&Dispatch schedule...'),AT(11,139,76,11),USE(?DispatchSchedule) !}}} !{{{ STRING USE(?String24) #SEQ() Parent(?Actions) STRING('Short-cut to the sales lines dispatch schedule'),AT(95,140,174,10),USE(?String24) !}}} !{{{ STRING USE(?String24:2) #SEQ() Parent(?Actions) STRING('Short-cut to the raise sales invoice schedule'),AT(95,155,181,10),USE(?String24:2) !}}} !{{{ GROUP USE(?WizardGroup) #SEQ() Parent(?Actions) GROUP('Via Wizard'),AT(49,169,191,37),USE(?WizardGroup),BOXED !{{{ BUTTON USE(?WizardAdd) #SEQ(78) Parent(?WizardGroup) BUTTON('Add'),AT(54,179,32,11),USE(?WizardAdd),MSG('Add another line to this order using a wizard') !}}} !{{{ PROMPT USE(?Prompt59) #SEQ() Parent(?WizardGroup) PROMPT('Create another line on this order via a wizard'),AT(95,180),USE(?Prompt59) !}}} !{{{ BUTTON USE(?WizardEdit) #SEQ(79) Parent(?WizardGroup) BUTTON('Edit'),AT(54,191,32,11),USE(?WizardEdit),MSG('Use a wizard to edit this sales line') !}}} !{{{ PROMPT USE(?Prompt60) #SEQ() Parent(?WizardGroup) PROMPT('Edit this line via a wizard'),AT(95,192),USE(?Prompt60) !}}} END !}}} !{{{ BUTTON USE(?ReCost) #SEQ() Parent(?Actions) BUTTON('Re-Est&imate Costs'),AT(11,102,76,11),USE(?ReCost),MSG('Press this to re-calculate estimated costs for this part') !}}} !{{{ STRING USE(?String28) #SEQ() Parent(?Actions) STRING('Press this to re-calculate estimated costs for this part'),AT(95,103,195,10),USE(?String28) !}}} !{{{ BUTTON USE(?Schedule) #SEQ(23) Parent(?Actions) BUTTON('What if Schedule?'),AT(11,84,76,11),USE(?Schedule),MSG('Perform a tentative schedule to estimate price and/or duration') !}}} !{{{ STRING USE(?String26) #SEQ() Parent(?Actions) STRING('Perform a tentative schedule to estimate price and/or duration'),AT(95,85,198,10),USE(?String26) !}}} !{{{ BUTTON USE(?RaiseTender) #SEQ(56) Parent(?Actions) BUTTON('&Tender Product'),AT(11,118,76,11),USE(?RaiseTender),MSG('Raise a tender to get supplier prices for this part') !}}} !{{{ STRING USE(?String27) #SEQ() Parent(?Actions) STRING('Raise a tender to get supplier prices for this part'),AT(95,119,183,10),USE(?String27) !}}} !{{{ BUTTON USE(?InvoiceSchedule) #SEQ(72) Parent(?Actions) BUTTON('&Invoice schedule...'),AT(11,154,76,11),USE(?InvoiceSchedule) !}}} END !}}} END !}}} !{{{ PROMPT USE(?PROMPT12) #SEQ(45) Parent() PROMPT('Sales Order:'),AT(0,5,58,10),USE(?PROMPT12),RIGHT !}}} !{{{ BUTTON USE(?zvEditSalesOrder) #SEQ(45) Parent() BUTTON('...'),AT(61,5,10,10),USE(?zvEditSalesOrder) !}}} !{{{ ENTRY USE(SalesOrderNum) #SEQ(45) Parent() ENTRY(@s16),AT(73,3,58,12),USE(SalesOrderNum) !}}} !{{{ PROMPT USE(?soh:TheirOrderNum:Prompt) #SEQ() Parent() PROMPT('Their#:'),AT(133,5,24,10),USE(?soh:TheirOrderNum:Prompt),RIGHT !}}} !{{{ ENTRY USE(soh:TheirOrderNum) #SEQ() Parent() ENTRY(@s32),AT(158,3,71,12),USE(soh:TheirOrderNum),MSG('The customer order number'),READONLY !}}} !{{{ PROMPT USE(?Prompt38) #SEQ() Parent() PROMPT('State:'),AT(229,5,21,10),USE(?Prompt38),RIGHT !}}} !{{{ ENTRY USE(OrderState) #SEQ() Parent() ENTRY(@s16),AT(251,3,47,12),USE(OrderState),READONLY !}}} !{{{ PROMPT USE(?sol:Line:Prompt) #SEQ() Parent() PROMPT('Line Number:'),AT(0,19,58,10),USE(?sol:Line:Prompt),RIGHT !}}} !{{{ ENTRY USE(sol:Line) #SEQ() Parent() ENTRY(@n3),AT(73,17,22,12),USE(sol:Line),MSG('The line number within the order'),READONLY !}}} !{{{ CHECK USE(IsContainer) #SEQ() Parent() CHECK('Is Container'),AT(99,19),USE(IsContainer),MSG('This order line is referring to a ''container'' with multiple outputs'),SKIP,TRN !}}} !{{{ CHECK USE(IsMultipleOutput) #SEQ() Parent() CHECK('Is Multiple Output'),AT(99,19),USE(IsMultipleOutput),MSG('This order line is referring to an output from a ''container'''),SKIP,TRN !}}} !{{{ PROMPT USE(?PROMPT13) #SEQ(43) Parent() PROMPT('Cus Line Ref:'),AT(0,33,58,10),USE(?PROMPT13),RIGHT !}}} !{{{ BUTTON USE(?EditRef) #SEQ(43) Parent() BUTTON('...'),AT(61,33,10,10),USE(?EditRef) !}}} !{{{ ENTRY USE(CustomerRef) #SEQ(43) Parent() ENTRY(@s32),AT(73,31,122,12),USE(CustomerRef) !}}} !{{{ PROMPT USE(?PROMPT14) #SEQ(4) Parent() PROMPT('Custo&mer:'),AT(7,47,52,10),USE(?PROMPT14),RIGHT !}}} !{{{ BUTTON USE(?EditCustomer) #SEQ(4) Parent() BUTTON('...'),AT(61,47,10,10),USE(?EditCustomer) !}}} !{{{ ENTRY USE(Customer) #SEQ(4) Parent() ENTRY(@s32),AT(73,45,122,12),USE(Customer) !}}} !{{{ BUTTON USE(?History) #SEQ() Parent() BUTTON('&History'),AT(197,46,36,11),USE(?History),MSG('Press this to see recent history for this part with this customer') !}}} !{{{ CHECK USE(sol:CancelledOn) #SEQ() Parent() CHECK('Line Cancelled'),AT(223,15),USE(sol:CancelledOn),SKIP,TRN !}}} !{{{ CHECK USE(sol:DeliveredOn) #SEQ() Parent() CHECK('Line Fully Dispatched'),AT(223,22),USE(sol:DeliveredOn),SKIP,TRN !}}} !{{{ CHECK USE(sol:InvoicedOn) #SEQ() Parent() CHECK('Line Fully Invoiced'),AT(223,29),USE(sol:InvoicedOn),SKIP,TRN !}}} !{{{ CHECK USE(CustomerApproved) #SEQ() Parent() CHECK('Customer Approved?'),AT(223,36),USE(CustomerApproved),MSG('When checked, the customer and the part are approved for sales'),SKIP,TRN !}}} !{{{ BUTTON USE(?BackOne) #SEQ(3) Parent() BUTTON('<<&Back'),AT(131,211,24,11),USE(?BackOne),MSG('Press this to go back one record') !}}} !{{{ BUTTON USE(?NextOne) #SEQ(3) Parent() BUTTON('Ne&xt>'),AT(155,211,24,11),USE(?NextOne),MSG('Press this to go forward one record') !}}} !{{{ BUTTON USE(?NewOne) #SEQ(3) Parent() BUTTON('Ne&w'),AT(179,211,24,11),USE(?NewOne),MSG('Press this to add a new record') !}}} !{{{ BUTTON USE(?ResetRecord) #SEQ(3) Parent() BUTTON('Reset'),AT(203,211,24,11),USE(?ResetRecord),MSG('Press this to reset the record to its ''empty'' state') !}}} !{{{ BUTTON USE(?DelOne) #SEQ(3) Parent() BUTTON('D&el'),AT(227,211,24,11),USE(?DelOne),MSG('Press this to delete the current record') !}}} !{{{ BUTTON USE(?OK) #SEQ(3) Parent() BUTTON('&Save'),AT(251,211,24,11),USE(?OK),DEFAULT,MSG('Press this to save the changes'),REQ !}}} !{{{ BUTTON USE(?Cancel) #SEQ(3) Parent() BUTTON('&Close'),AT(275,211,24,11),USE(?Cancel),MSG('Press this to close the form') !}}} !{{{ BUTTON USE(?FormPrint) #SEQ(38) Parent() BUTTON,AT(18,211,14,11),USE(?FormPrint),ICON('REPORT.ICO'),MSG('Press this (or F3) to print the form') !}}} !{{{ BUTTON USE(?Refresh) #SEQ(54) Parent() BUTTON,AT(32,211,14,11),USE(?Refresh),ICON('refresh.ico'),MSG('Press this (or F5) to update the screen to reflect changes made by others') !}}} !{{{ BUTTON USE(?Defaults) #SEQ(55) Parent() BUTTON,AT(46,211,14,11),USE(?Defaults),ICON('defaults.ico'),MSG('Press this (or F4) to access the module defaults') !}}} !{{{ BUTTON USE(?Help) #SEQ(21) Parent() BUTTON,AT(4,211,14,11),USE(?Help),ICON(ICON:Help),MSG('Press this to see the help for this form') !}}} !Window_Definition:END window EQUATE(WindowHandler.Window) !}}} !{{{ help text !{{{ ControlHelptext:TheirPartNum OMIT('ControlHelptext:TheirPartNum') The customer\'s part number for this item` ` ControlHelptext:TheirPartNum !}}} !{{{ ControlHelptext:SelectViaTheirPartNum OMIT('ControlHelptext:SelectViaTheirPartNum') Check this to pick/change the part by their number` ` ControlHelptext:SelectViaTheirPartNum !}}} !{{{ ControlHelptext:OurPartNum OMIT('ControlHelptext:OurPartNum') Our part number for this item` ` ControlHelptext:OurPartNum !}}} !{{{ ControlHelptext:SelectViaOurPartNum OMIT('ControlHelptext:SelectViaOurPartNum') Check this to pick the part by our number` ` ControlHelptext:SelectViaOurPartNum !}}} !{{{ ControlHelptext:Design OMIT('ControlHelptext:Design') Press this to design a new product for this line` ` ControlHelptext:Design !}}} !{{{ ControlHelptext:OrderedQty OMIT('ControlHelptext:OrderedQty') The quantity being ordered` ` ControlHelptext:OrderedQty !}}} !{{{ ControlHelptext:SetRecommendedDate OMIT('ControlHelptext:SetRecommendedDate') When checked the deliver on date will track your other settings` ` ControlHelptext:SetRecommendedDate !}}} !{{{ ControlHelptext:UnitPrice OMIT('ControlHelptext:UnitPrice') The unit price and the price unit offered` ` ControlHelptext:UnitPrice !}}} !{{{ ControlHelptext:SetRecommendedPrice OMIT('ControlHelptext:SetRecommendedPrice') When checked the unit price will track your other settings` ` ControlHelptext:SetRecommendedPrice !}}} !{{{ ControlHelptext:ActualMarginStr OMIT('ControlHelptext:ActualMarginStr') The price/cost ratio expressed as a margin. Negative values imply the cost is greater then the price. You can change this value to indirectly set a price.` ` ControlHelptext:ActualMarginStr !}}} !{{{ ControlHelptext:sol_CofCrequired OMIT('ControlHelptext:sol_CofCrequired') Check this if a C of C has ben requested` ` ` \small See also [sol:sol]\:CofCrequired [[TRUE iff a C of C is requested:sol_CofCrequired]]` \smallend ControlHelptext:sol_CofCrequired !}}} !{{{ ControlHelptext:ActualDiscountStr OMIT('ControlHelptext:ActualDiscountStr') Discount calculated from the full price. Negative values imply yo are charging a premium. You can change this value to indirectly set a price.` ` ControlHelptext:ActualDiscountStr !}}} !{{{ ControlHelptext:sol_AllowExtraDiscount OMIT('ControlHelptext:sol_AllowExtraDiscount') Un-check if this item does not qualify for the extra discount` ` ` \small See also [sol:sol]\:AllowExtraDiscount [[TRUE iff extra discretionary discount applies:sol_AllowExtraDiscount]]` \smallend ControlHelptext:sol_AllowExtraDiscount !}}} !{{{ ControlHelptext:InternalNotes OMIT('ControlHelptext:InternalNotes') These notes will not appear on the paperwork` ` ControlHelptext:InternalNotes !}}} !{{{ ControlHelptext:ExternalNotes OMIT('ControlHelptext:ExternalNotes') These notes will be shown on the paperwork. This field is a copy of the one on the first tab - you can use either.` ` ControlHelptext:ExternalNotes !}}} !{{{ ControlHelptext:WorksNotes OMIT('ControlHelptext:WorksNotes') Initially inherited from associated enquiry lines \(to be shown on works orders\)` ` ControlHelptext:WorksNotes !}}} !{{{ ControlHelptext:EnquiryLineNotes OMIT('ControlHelptext:EnquiryLineNotes') Initially inherited from associated enquiry lines` ` ControlHelptext:EnquiryLineNotes !}}} !{{{ ControlHelptext:ConsignmentFlag OMIT('ControlHelptext:ConsignmentFlag') The stock is supplied on consignment. You will receive a warning when approving an invoice in you are invoicing more than the customer has used on consignment to date.` ` ControlHelptext:ConsignmentFlag !}}} !{{{ ControlHelptext:ConsignmentQty OMIT('ControlHelptext:ConsignmentQty') The quantity of delivered stock that has been used by the customer.` ` ControlHelptext:ConsignmentQty !}}} !{{{ ControlHelptext:ConsignmentNotes OMIT('ControlHelptext:ConsignmentNotes') Recoed of consignment usage by the customer. Use the time-stamp facility to log dates.` ` ControlHelptext:ConsignmentNotes !}}} !{{{ ControlHelptext:SetQuote OMIT('ControlHelptext:SetQuote') Manually set the sales details to those in the associated quote` ` ControlHelptext:SetQuote !}}} !{{{ ControlHelptext:QuoteLine OMIT('ControlHelptext:QuoteLine') Select the quote line within \'Of Quote\' on which to base this sales order \(if any\).` ` ControlHelptext:QuoteLine !}}} !{{{ ControlHelptext:QuoteRef OMIT('ControlHelptext:QuoteRef') Select the quote this sales line is to be associate with \(if any\).` ` ControlHelptext:QuoteRef !}}} !{{{ ControlHelptext:SetContract OMIT('ControlHelptext:SetContract') Manually set the sales details to those in the associated contract` ` ControlHelptext:SetContract !}}} !{{{ ControlHelptext:ContractLine OMIT('ControlHelptext:ContractLine') Select the contract line within \'Of Contract\' on which to base this sales order \(if any\).` ` ControlHelptext:ContractLine !}}} !{{{ ControlHelptext:ContractRef OMIT('ControlHelptext:ContractRef') Select the contact this sales line is to be associate with \(if any\).` ` ControlHelptext:ContractRef !}}} !{{{ ControlHelptext:Strategy OMIT('ControlHelptext:Strategy') The scheduling strategy` ` ControlHelptext:Strategy !}}} !{{{ ControlHelptext:sol_Rank OMIT('ControlHelptext:sol_Rank') The overall rank when last scheduled` ` ` \small Field is [sol:sol]\:Rank (Rank when scheduling)` \smallend ControlHelptext:sol_Rank !}}} !{{{ ControlHelptext:FormattedScheduleLog OMIT('ControlHelptext:FormattedScheduleLog') Alerts from previous schedule` ` ControlHelptext:FormattedScheduleLog !}}} !{{{ ControlHelptext:ReSchedule OMIT('ControlHelptext:ReSchedule') Re-schedule the \(remaining\) demand on this line` ` ControlHelptext:ReSchedule !}}} !{{{ ControlHelptext:OrderedQty_2 OMIT('ControlHelptext:OrderedQty_2') The quantity ordered by the customer` ` ControlHelptext:OrderedQty_2 !}}} !{{{ ControlHelptext:DatesHints OMIT('ControlHelptext:DatesHints') A brief explanation of the significance of the dates you see here to the scheduler.` ` ControlHelptext:DatesHints !}}} !{{{ ControlHelptext:AcceptQty OMIT('ControlHelptext:AcceptQty') If not blank or 0 and less than the ordered quantity\, this is the quantity the customer will accept as completing the order. When at least this much has been dispatched the line will be considered to be complete.` ` ControlHelptext:AcceptQty !}}} !{{{ ControlHelptext:MakeQty OMIT('ControlHelptext:MakeQty') When greater than the ordered quantity\, use this as the demand required to achieve the ordered quantity. Use this to compensate for expected losses during manufacture. WOs and POs and stock will be allocated for this higher quantity.` ` ControlHelptext:MakeQty !}}} !{{{ ControlHelptext:LineValue OMIT('ControlHelptext:LineValue') Total sales value of this line. Before its fully invoiced this is the value as ordered. After its invoiced\, its the value actually invoiced.` ` ControlHelptext:LineValue !}}} !{{{ ControlHelptext:LineCost OMIT('ControlHelptext:LineCost') Cost of the items sold \(estimated before\, actual after delivery\)` ` ControlHelptext:LineCost !}}} !{{{ ControlHelptext:GrossProfit OMIT('ControlHelptext:GrossProfit') Gross Profit = LineValue - LineCost` ` ControlHelptext:GrossProfit !}}} !{{{ ControlHelptext:ActualCostMargin OMIT('ControlHelptext:ActualCostMargin') Set the gross margin you would like to achieve over your actual costs` ` ControlHelptext:ActualCostMargin !}}} !{{{ ControlHelptext:UpdatePriceNow OMIT('ControlHelptext:UpdatePriceNow') Re-calculate the price based on actual costs and the margin set above` ` ControlHelptext:UpdatePriceNow !}}} !{{{ ControlHelptext:AchievedMarginStr OMIT('ControlHelptext:AchievedMarginStr') Actual margin = \(LineValue - LineCost\)/LineValue * 100` ` ControlHelptext:AchievedMarginStr !}}} !{{{ ControlHelptext:DispatchedQty OMIT('ControlHelptext:DispatchedQty') Quantity dispatched so far against this line` ` ControlHelptext:DispatchedQty !}}} !{{{ ControlHelptext:Dispatches OMIT('ControlHelptext:Dispatches') View the dispatches made against this sales line` ` ControlHelptext:Dispatches !}}} !{{{ ControlHelptext:Action OMIT('ControlHelptext:Action') View lthe stock allocation for this sales line` ` ControlHelptext:Action !}}} !{{{ ControlHelptext:Trace OMIT('ControlHelptext:Trace') View moves to/from this sales line - you can see the return moves from here` ` ControlHelptext:Trace !}}} !{{{ ControlHelptext:Events OMIT('ControlHelptext:Events') Show the events required to fulfil this order` ` ControlHelptext:Events !}}} !{{{ ControlHelptext:Invoices OMIT('ControlHelptext:Invoices') View the invoices made against this sales line` ` ControlHelptext:Invoices !}}} !{{{ ControlHelptext:BarChart OMIT('ControlHelptext:BarChart') Show a bar-chart of the works orders/purchase orders for this line` ` ControlHelptext:BarChart !}}} !{{{ ControlHelptext:InvoicedQty OMIT('ControlHelptext:InvoicedQty') Quantity invoiced so far against this line` ` ControlHelptext:InvoicedQty !}}} !{{{ ControlHelptext:CreditedQty OMIT('ControlHelptext:CreditedQty') Quantity credited to the customer against this line` ` ControlHelptext:CreditedQty !}}} !{{{ ControlHelptext:sol_Edited OMIT('ControlHelptext:sol_Edited') TRUE if line tweaked since auto create` ` ` \small Field is [sol:sol]\:Edited (TRUE if line tweaked since auto create)` \smallend ControlHelptext:sol_Edited !}}} !{{{ ControlHelptext:PriceBasis OMIT('ControlHelptext:PriceBasis') The basis of the recommended price` ` ControlHelptext:PriceBasis !}}} !{{{ ControlHelptext:VATCode OMIT('ControlHelptext:VATCode') The VAT code that will be used when invoicing this line.` ` ControlHelptext:VATCode !}}} !{{{ ControlHelptext:CostCentre OMIT('ControlHelptext:CostCentre') The cost centre code is exported to your accounts system for analysis purposes.` ` ControlHelptext:CostCentre !}}} !{{{ ControlHelptext:DeliveredOn OMIT('ControlHelptext:DeliveredOn') The date of the delivery that completed the delivery for this line` ` ControlHelptext:DeliveredOn !}}} !{{{ ControlHelptext:SetDispatched OMIT('ControlHelptext:SetDispatched') Un-check to allow more dispatches to be made` ` ControlHelptext:SetDispatched !}}} !{{{ ControlHelptext:InvoicedOn OMIT('ControlHelptext:InvoicedOn') The date of the invoice that completed the invoicing for this line` ` ControlHelptext:InvoicedOn !}}} !{{{ ControlHelptext:SetInvoiced OMIT('ControlHelptext:SetInvoiced') Un-check to allow re-invoicing\, check to prohibit` ` ControlHelptext:SetInvoiced !}}} !{{{ ControlHelptext:Department OMIT('ControlHelptext:Department') The department code is exported to your accounts system for analysis purposes.` ` ControlHelptext:Department !}}} !{{{ ControlHelptext:Issue OMIT('ControlHelptext:Issue') Sales line issue number` ` ControlHelptext:Issue !}}} !{{{ ControlHelptext:WizardAdd OMIT('ControlHelptext:WizardAdd') Add another line to this order using a wizard` ` ControlHelptext:WizardAdd !}}} !{{{ ControlHelptext:WizardEdit OMIT('ControlHelptext:WizardEdit') Use a wizard to edit this sales line` ` ControlHelptext:WizardEdit !}}} !{{{ ControlHelptext:ReCost OMIT('ControlHelptext:ReCost') Press this to re-calculate estimated costs for this part` ` ControlHelptext:ReCost !}}} !{{{ ControlHelptext:Schedule OMIT('ControlHelptext:Schedule') Perform a tentative schedule to estimate price and/or duration` ` ControlHelptext:Schedule !}}} !{{{ ControlHelptext:RaiseTender OMIT('ControlHelptext:RaiseTender') Raise a tender to get supplier prices for this part` ` ControlHelptext:RaiseTender !}}} !{{{ ControlHelptext:soh_TheirOrderNum OMIT('ControlHelptext:soh_TheirOrderNum') The customer order number` ` ` \small Field is [soh:soh]\:TheirOrderNum (The customer order number)` \smallend ControlHelptext:soh_TheirOrderNum !}}} !{{{ ControlHelptext:sol_Line OMIT('ControlHelptext:sol_Line') The line number within the order` ` ` \small Field is [sol:sol]\:Line (The line# within the order)` \smallend ControlHelptext:sol_Line !}}} !{{{ ControlHelptext:IsContainer OMIT('ControlHelptext:IsContainer') This order line is referring to a \'container\' with multiple outputs` ` ControlHelptext:IsContainer !}}} !{{{ ControlHelptext:IsMultipleOutput OMIT('ControlHelptext:IsMultipleOutput') This order line is referring to an output from a \'container\'` ` ControlHelptext:IsMultipleOutput !}}} !{{{ ControlHelptext:History OMIT('ControlHelptext:History') Press this to see recent history for this part with this customer` ` ControlHelptext:History !}}} !{{{ ControlHelptext:sol_CancelledOn OMIT('ControlHelptext:sol_CancelledOn') When the line was cancelled` ` ` \small Field is [sol:sol]\:CancelledOn (When the line was cancelled)` \smallend ControlHelptext:sol_CancelledOn !}}} !{{{ ControlHelptext:sol_DeliveredOn OMIT('ControlHelptext:sol_DeliveredOn') Date we\'re fully dispatched` ` ` \small See also [sol:sol]\:DeliveredOn [[Date we\'re fully dispatched:sol_DeliveredOn]]` \smallend ControlHelptext:sol_DeliveredOn !}}} !{{{ ControlHelptext:sol_InvoicedOn OMIT('ControlHelptext:sol_InvoicedOn') Date we\'re fully invoiced` ` ` \small Field is [sol:sol]\:InvoicedOn (Date we\'re fully invoiced)` \smallend ControlHelptext:sol_InvoicedOn !}}} !{{{ ControlHelptext:CustomerApproved OMIT('ControlHelptext:CustomerApproved') When checked\, the customer and the part are approved for sales` ` ControlHelptext:CustomerApproved !}}} !{{{ ControlHelptext:BackOne OMIT('ControlHelptext:BackOne') Press this to go back one record` ` ControlHelptext:BackOne !}}} !{{{ ControlHelptext:NextOne OMIT('ControlHelptext:NextOne') Press this to go forward one record` ` ControlHelptext:NextOne !}}} !{{{ ControlHelptext:NewOne OMIT('ControlHelptext:NewOne') Press this to add a new record` ` ControlHelptext:NewOne !}}} !{{{ ControlHelptext:ResetRecord OMIT('ControlHelptext:ResetRecord') Press this to reset the record to its \'empty\' state` ` ControlHelptext:ResetRecord !}}} !{{{ ControlHelptext:DelOne OMIT('ControlHelptext:DelOne') Press this to delete the current record` ` ControlHelptext:DelOne !}}} !{{{ ControlHelptext:OK OMIT('ControlHelptext:OK') Press this to save the changes` ` ControlHelptext:OK !}}} !{{{ ControlHelptext:Cancel OMIT('ControlHelptext:Cancel') Press this to close the form` ` ControlHelptext:Cancel !}}} !}}} !{{{ SheetControlList (template debug aid) !?Sheet1 Sheet1 !}}} !{{{ EditControlList (template debug aid) !{{{ AcceptQty #SEQ(19) ! Entry: AcceptQty ! Count: 1 ! FEQ: ?AcceptQty !Template Instance: 19 ! Control: ?AcceptQty ! Name: AcceptQty ! IgnoreOld: ! IgnoreOriginal: ! Prompt: ?zvPrompt:25 ! SelfName: sol:AcceptQty ! CopyName: sol:AcceptQty ! LikeName: sol:AcceptQty !}}} !{{{ ActualCostMargin #SEQ(74) ! Entry: ActualCostMargin ! Count: 1 ! FEQ: ?ActualCostMargin !Template Instance: 74 ! Control: ?ActualCostMargin ! Name: ActualCostMargin ! IgnoreOld: ! IgnoreOriginal: ! Prompt: ?zvPrompt:30 ! SelfName: RawActualCostMargin ! CopyName: RawActualCostMargin ! LikeName: RawActualCostMargin !}}} !{{{ ActualDiscountStr #SEQ(68) ! Entry: ActualDiscountStr ! Count: 1 ! FEQ: ?ActualDiscountStr !Template Instance: 68 ! Control: ?ActualDiscountStr ! Name: ActualDiscountStr ! IgnoreOld: ! IgnoreOriginal: 1 ! Prompt: ?DiscountPr ! SelfName: ActualDiscount ! CopyName: ActualDiscount ! LikeName: ActualDiscount !}}} !{{{ ActualMarginStr #SEQ(67) ! Entry: ActualMarginStr ! Count: 1 ! FEQ: ?ActualMarginStr !Template Instance: 67 ! Control: ?ActualMarginStr ! Name: ActualMarginStr ! IgnoreOld: ! IgnoreOriginal: 1 ! Prompt: ?MarginPr ! SelfName: ActualMargin ! CopyName: ActualMargin ! LikeName: ActualMargin !}}} !{{{ ConsignmentFlag #SEQ(37) ! Entry: ConsignmentFlag ! Count: 1 ! FEQ: ?ConsignmentFlag !Template Instance: 37 ! Control: ?ConsignmentFlag ! Name: ConsignmentFlag ! IgnoreOld: ! IgnoreOriginal: ! Prompt: ?zvPrompt:12 ! SelfName: sol:ConsignmentFlag ! CopyName: sol:ConsignmentFlag ! LikeName: sol:ConsignmentFlag !}}} !{{{ ConsignmentNotes #SEQ(41) ! Entry: ConsignmentNotes ! Count: 1 ! FEQ: ?ConsignmentNotes !Template Instance: 41 ! Control: ?ConsignmentNotes ! Name: ConsignmentNotes ! IgnoreOld: ! IgnoreOriginal: ! Prompt: ?zvPrompt:32 ! SelfName: sol:ConsignmentNotes ! CopyName: sol:ConsignmentNotes ! LikeName: STRING(sol:ConsignmentNotes__size__) !}}} !{{{ ConsignmentQty #SEQ(39) ! Entry: ConsignmentQty ! Count: 1 ! FEQ: ?ConsignmentQty !Template Instance: 39 ! Control: ?ConsignmentQty ! Name: ConsignmentQty ! IgnoreOld: ! IgnoreOriginal: ! Prompt: ?zvPrompt:16 ! SelfName: sol:ConsignmentQty ! CopyName: sol:ConsignmentQty ! LikeName: sol:ConsignmentQty !}}} !{{{ ContractLine #SEQ(14) ! Entry: ContractLine ! Count: 1 ! FEQ: ?ContractLine !Template Instance: 14 ! Control: ?ContractLine ! Name: ContractLine ! IgnoreOld: ! IgnoreOriginal: ! Prompt: ?zvPrompt:22 ! SelfName: sol:ContractLine ! CopyName: sol:ContractLine ! LikeName: sol:ContractLine !}}} !{{{ ContractRef #SEQ(15) ! Entry: ContractRef ! Count: 1 ! FEQ: ?ContractRef !Template Instance: 15 ! Control: ?ContractRef ! Name: ContractRef ! IgnoreOld: ! IgnoreOriginal: 1 ! Prompt: ?zvPrompt:23 ! SelfName: RawContractRef ! CopyName: RawContractRef ! LikeName: RawContractRef !}}} !{{{ CostCentre #SEQ(69) ! Entry: CostCentre ! Count: 1 ! FEQ: ?CostCentre !Template Instance: 69 ! Control: ?CostCentre ! Name: CostCentre ! IgnoreOld: ! IgnoreOriginal: ! Prompt: ?zvPrompt:27 ! SelfName: sol:CostCentre ! CopyName: sol:CostCentre ! LikeName: sol:CostCentre !}}} !{{{ CustomerApproved #SEQ() ! Entry: CustomerApproved ! Count: 1 ! FEQ: ?CustomerApproved !Template Instance: ! Control: ?CustomerApproved ! Name: CustomerApproved ! IgnoreOld: ! IgnoreOriginal: 1 ! Prompt: ! SelfName: CustomerApproved ! CopyName: CustomerApproved ! LikeName: CustomerApproved !}}} !{{{ CustomerRef #SEQ(43) ! Entry: CustomerRef ! Count: 1 ! FEQ: ?CustomerRef !Template Instance: 43 ! Control: ?CustomerRef ! Name: CustomerRef ! IgnoreOld: ! IgnoreOriginal: ! Prompt: ?PROMPT13 ! SelfName: sol:LineItemReference ! CopyName: sol:LineItemReference ! LikeName: sol:LineItemReference !}}} !{{{ DeliverOn #SEQ(20) ! Entry: DeliverOn ! Count: 2 ! FEQ: ?DeliverOn !Template Instance: 20 ! Control: ?DeliverOn ! Name: DeliverOn ! IgnoreOld: ! IgnoreOriginal: ! Prompt: ?PROMPT4 ! Prompt: ?zvPrompt ! SelfName: sol:DeliverOn ! CopyName: sol:DeliverOn ! LikeName: sol:DeliverOn !}}} !{{{ Department #SEQ(70) ! Entry: Department ! Count: 1 ! FEQ: ?Department !Template Instance: 70 ! Control: ?Department ! Name: Department ! IgnoreOld: ! IgnoreOriginal: ! Prompt: ?zvPrompt:28 ! SelfName: sol:Department ! CopyName: sol:Department ! LikeName: sol:Department !}}} !{{{ EnquiryLineNotes #SEQ(51) ! Entry: EnquiryLineNotes ! Count: 1 ! FEQ: ?EnquiryLineNotes !Template Instance: 51 ! Control: ?EnquiryLineNotes ! Name: EnquiryLineNotes ! IgnoreOld: ! IgnoreOriginal: ! Prompt: ?PROMPT8 ! SelfName: sol:enqExternalNotes ! CopyName: sol:enqExternalNotes ! LikeName: STRING(sol:enqExternalNotes__size__) !}}} !{{{ ExternalNotes #SEQ(24) ! Entry: ExternalNotes ! Count: 2 ! FEQ: ?ExternalNotes:2 !Template Instance: 24 ! Control: ?ExternalNotes:2 ! Name: ExternalNotes ! IgnoreOld: ! IgnoreOriginal: ! Prompt: ?PROMPT6 ! Prompt: ?zvPrompt:10 ! SelfName: sol:ExternalNotes ! CopyName: sol:ExternalNotes ! LikeName: STRING(sol:ExternalNotes__size__) !}}} !{{{ InternalNotes #SEQ(11) ! Entry: InternalNotes ! Count: 1 ! FEQ: ?InternalNotes !Template Instance: 11 ! Control: ?InternalNotes ! Name: InternalNotes ! IgnoreOld: ! IgnoreOriginal: ! Prompt: ?PROMPT5 ! SelfName: sol:InternalNotes ! CopyName: sol:InternalNotes ! LikeName: STRING(sol:InternalNotes__size__) !}}} !{{{ IsContainer #SEQ() ! Entry: IsContainer ! Count: 1 ! FEQ: ?IsContainer !Template Instance: ! Control: ?IsContainer ! Name: IsContainer ! IgnoreOld: ! IgnoreOriginal: 1 ! Prompt: ! SelfName: IsContainer ! CopyName: IsContainer ! LikeName: IsContainer !}}} !{{{ IsMultipleOutput #SEQ() ! Entry: IsMultipleOutput ! Count: 1 ! FEQ: ?IsMultipleOutput !Template Instance: ! Control: ?IsMultipleOutput ! Name: IsMultipleOutput ! IgnoreOld: ! IgnoreOriginal: 1 ! Prompt: ! SelfName: IsMultipleOutput ! CopyName: IsMultipleOutput ! LikeName: IsMultipleOutput !}}} !{{{ Issue #SEQ(27) ! Entry: Issue ! Count: 1 ! FEQ: ?Issue !Template Instance: 27 ! Control: ?Issue ! Name: Issue ! IgnoreOld: ! IgnoreOriginal: ! Prompt: ?zvPrompt:18 ! SelfName: sol:Issue ! CopyName: sol:Issue ! LikeName: sol:Issue !}}} !{{{ LineIsDispatched #SEQ() ! Entry: LineIsDispatched ! Count: 1 ! FEQ: ?LineIsDispatched !Template Instance: ! Control: ?LineIsDispatched ! Name: LineIsDispatched ! IgnoreOld: ! IgnoreOriginal: 1 ! Prompt: ! SelfName: LineIsDispatched ! CopyName: LineIsDispatched ! LikeName: LineIsDispatched !}}} !{{{ LineIsInvoiced #SEQ() ! Entry: LineIsInvoiced ! Count: 1 ! FEQ: ?LineIsInvoiced !Template Instance: ! Control: ?LineIsInvoiced ! Name: LineIsInvoiced ! IgnoreOld: ! IgnoreOriginal: 1 ! Prompt: ! SelfName: LineIsInvoiced ! CopyName: LineIsInvoiced ! LikeName: LineIsInvoiced !}}} !{{{ LocalsoAutoInheritContract #SEQ() ! Entry: LocalsoAutoInheritContract ! Count: 1 ! FEQ: ?LocalsoAutoInheritContract !Template Instance: ! Control: ?LocalsoAutoInheritContract ! Name: LocalsoAutoInheritContract ! IgnoreOld: ! IgnoreOriginal: ! Prompt: ! SelfName: LocalsoAutoInheritContract ! CopyName: LocalsoAutoInheritContract ! LikeName: LocalsoAutoInheritContract !}}} !{{{ LocalsoAutoInheritQuote #SEQ() ! Entry: LocalsoAutoInheritQuote ! Count: 1 ! FEQ: ?LocalsoAutoInheritQuote !Template Instance: ! Control: ?LocalsoAutoInheritQuote ! Name: LocalsoAutoInheritQuote ! IgnoreOld: ! IgnoreOriginal: ! Prompt: ! SelfName: LocalsoAutoInheritQuote ! CopyName: LocalsoAutoInheritQuote ! LikeName: LocalsoAutoInheritQuote !}}} !{{{ MakeQty #SEQ(64) ! Entry: MakeQty ! Count: 1 ! FEQ: ?MakeQty !Template Instance: 64 ! Control: ?MakeQty ! Name: MakeQty ! IgnoreOld: ! IgnoreOriginal: ! Prompt: ?zvPrompt:26 ! SelfName: sol:MakeQty ! CopyName: sol:MakeQty ! LikeName: sol:MakeQty !}}} !{{{ OrderedQty #SEQ(34) ! Entry: OrderedQty ! Count: 2 ! FEQ: ?OrderedQty !Template Instance: 34 ! Control: ?OrderedQty ! Name: OrderedQty ! IgnoreOld: ! IgnoreOriginal: ! Prompt: ?PROMPT3 ! Prompt: ?zvQtyPrompt:2 ! SelfName: sol:Height ! CopyName: sol:Height ! LikeName: sol:Height ! SelfName: sol:Length ! CopyName: sol:Length ! LikeName: sol:Length ! SelfName: sol:OrderedQty ! CopyName: sol:OrderedQty ! LikeName: sol:OrderedQty ! SelfName: sol:Width ! CopyName: sol:Width ! LikeName: sol:Width !}}} !{{{ OurPartNum #SEQ(7) ! Entry: OurPartNum ! Count: 1 ! FEQ: ?OurPartNum !Template Instance: 7 ! Control: ?OurPartNum ! Name: OurPartNum ! IgnoreOld: ! IgnoreOriginal: ! Prompt: ?PROMPT2 ! SelfName: sol:OurPartNum ! CopyName: sol:OurPartNum ! LikeName: sol:OurPartNum !}}} !{{{ PromisedDate #SEQ(61) ! Entry: PromisedDate ! Count: 1 ! FEQ: ?PromisedDate !Template Instance: 61 ! Control: ?PromisedDate ! Name: PromisedDate ! IgnoreOld: ! IgnoreOriginal: ! Prompt: ?zvPrompt:11 ! SelfName: sol:PromisedOn ! CopyName: sol:PromisedOn ! LikeName: sol:PromisedOn !}}} !{{{ QuoteLine #SEQ(6) ! Entry: QuoteLine ! Count: 1 ! FEQ: ?QuoteLine !Template Instance: 6 ! Control: ?QuoteLine ! Name: QuoteLine ! IgnoreOld: ! IgnoreOriginal: ! Prompt: ?PROMPT9 ! SelfName: sol:QuoteLine ! CopyName: sol:QuoteLine ! LikeName: sol:QuoteLine !}}} !{{{ QuoteRef #SEQ(5) ! Entry: QuoteRef ! Count: 1 ! FEQ: ?QuoteRef !Template Instance: 5 ! Control: ?QuoteRef ! Name: QuoteRef ! IgnoreOld: ! IgnoreOriginal: 1 ! Prompt: ?PROMPT10 ! SelfName: RawQuoteRef ! CopyName: RawQuoteRef ! LikeName: RawQuoteRef !}}} !{{{ SelectViaOurPartNum #SEQ() ! Entry: SelectViaOurPartNum ! Count: 1 ! FEQ: ?SelectViaOurPartNum !Template Instance: ! Control: ?SelectViaOurPartNum ! Name: SelectViaOurPartNum ! IgnoreOld: ! IgnoreOriginal: 1 ! Prompt: ! SelfName: SelectViaOurPartNum ! CopyName: SelectViaOurPartNum ! LikeName: SelectViaOurPartNum !}}} !{{{ SelectViaTheirPartNum #SEQ() ! Entry: SelectViaTheirPartNum ! Count: 1 ! FEQ: ?SelectViaTheirPartNum !Template Instance: ! Control: ?SelectViaTheirPartNum ! Name: SelectViaTheirPartNum ! IgnoreOld: ! IgnoreOriginal: 1 ! Prompt: ! SelfName: SelectViaTheirPartNum ! CopyName: SelectViaTheirPartNum ! LikeName: SelectViaTheirPartNum !}}} !{{{ SetDispatched #SEQ() ! Entry: SetDispatched ! Count: 1 ! FEQ: ?SetDispatched !Template Instance: ! Control: ?SetDispatched ! Name: SetDispatched ! IgnoreOld: ! IgnoreOriginal: 1 ! Prompt: ! SelfName: SetDispatched ! CopyName: SetDispatched ! LikeName: SetDispatched !}}} !{{{ SetInvoiced #SEQ() ! Entry: SetInvoiced ! Count: 1 ! FEQ: ?SetInvoiced !Template Instance: ! Control: ?SetInvoiced ! Name: SetInvoiced ! IgnoreOld: ! IgnoreOriginal: 1 ! Prompt: ! SelfName: SetInvoiced ! CopyName: SetInvoiced ! LikeName: SetInvoiced !}}} !{{{ SetRecommendedDate #SEQ() ! Entry: SetRecommendedDate ! Count: 1 ! FEQ: ?SetRecommendedDate !Template Instance: ! Control: ?SetRecommendedDate ! Name: SetRecommendedDate ! IgnoreOld: ! IgnoreOriginal: 1 ! Prompt: ! SelfName: SetRecommendedDate ! CopyName: SetRecommendedDate ! LikeName: SetRecommendedDate !}}} !{{{ SetRecommendedPrice #SEQ() ! Entry: SetRecommendedPrice ! Count: 1 ! FEQ: ?SetRecommendedPrice !Template Instance: ! Control: ?SetRecommendedPrice ! Name: SetRecommendedPrice ! IgnoreOld: ! IgnoreOriginal: 1 ! Prompt: ! SelfName: SetRecommendedPrice ! CopyName: SetRecommendedPrice ! LikeName: SetRecommendedPrice !}}} !{{{ StartLimit #SEQ(73) ! Entry: StartLimit ! Count: 1 ! FEQ: ?StartLimit !Template Instance: 73 ! Control: ?StartLimit ! Name: StartLimit ! IgnoreOld: ! IgnoreOriginal: ! Prompt: ?zvPrompt:29 ! SelfName: sol:StartLimit ! CopyName: sol:StartLimit ! LikeName: sol:StartLimit !}}} !{{{ Strategy #SEQ(44) ! Entry: Strategy ! Count: 1 ! FEQ: ?Strategy !Template Instance: 44 ! Control: ?Strategy ! Name: Strategy ! IgnoreOld: ! IgnoreOriginal: ! Prompt: ?PROMPT11 ! SelfName: sol:Strategy ! CopyName: sol:Strategy ! LikeName: sol:Strategy !}}} !{{{ TargetDate #SEQ(77) ! Entry: TargetDate ! Count: 1 ! FEQ: ?TargetDate !Template Instance: 77 ! Control: ?TargetDate ! Name: TargetDate ! IgnoreOld: ! IgnoreOriginal: ! Prompt: ?zvPrompt:34 ! SelfName: sol:TargetDate ! CopyName: sol:TargetDate ! LikeName: sol:TargetDate !}}} !{{{ TheirPartNum #SEQ(25) ! Entry: TheirPartNum ! Count: 1 ! FEQ: ?TheirPartNum !Template Instance: 25 ! Control: ?TheirPartNum ! Name: TheirPartNum ! IgnoreOld: ! IgnoreOriginal: ! Prompt: ?PROMPT1 ! SelfName: sol:TheirPartNum ! CopyName: sol:TheirPartNum ! LikeName: sol:TheirPartNum !}}} !{{{ UnitPrice #SEQ(62) ! Entry: UnitPrice ! Count: 1 ! FEQ: ?UnitPrice !Template Instance: 62 ! Control: ?UnitPrice ! Name: UnitPrice ! IgnoreOld: ! IgnoreOriginal: ! Prompt: ?zvPricePrompt ! SelfName: sol:UnitPrice ! CopyName: sol:UnitPrice ! LikeName: sol:UnitPrice ! SelfName: sol:UnitQty ! CopyName: sol:UnitQty ! LikeName: sol:UnitQty !}}} !{{{ WorksNotes #SEQ(28) ! Entry: WorksNotes ! Count: 1 ! FEQ: ?WorksNotes !Template Instance: 28 ! Control: ?WorksNotes ! Name: WorksNotes ! IgnoreOld: ! IgnoreOriginal: ! Prompt: ?PROMPT7 ! SelfName: sol:WorksNotes ! CopyName: sol:WorksNotes ! LikeName: STRING(sol:WorksNotes__size__) !}}} !{{{ sol:AllowExtraDiscount #SEQ() ! Entry: sol:AllowExtraDiscount ! Count: 1 ! FEQ: ?sol:AllowExtraDiscount !Template Instance: ! Control: ?sol:AllowExtraDiscount ! Name: sol:AllowExtraDiscount ! IgnoreOld: ! IgnoreOriginal: ! Prompt: ! SelfName: sol:AllowExtraDiscount ! CopyName: sol:AllowExtraDiscount ! LikeName: sol:AllowExtraDiscount !}}} !{{{ sol:CancelledOn #SEQ() ! Entry: sol:CancelledOn ! Count: 1 ! FEQ: ?sol:CancelledOn !Template Instance: ! Control: ?sol:CancelledOn ! Name: sol:CancelledOn ! IgnoreOld: ! IgnoreOriginal: ! Prompt: ! SelfName: sol:CancelledOn ! CopyName: sol:CancelledOn ! LikeName: sol:CancelledOn !}}} !{{{ sol:CofCrequired #SEQ() ! Entry: sol:CofCrequired ! Count: 1 ! FEQ: ?sol:CofCrequired !Template Instance: ! Control: ?sol:CofCrequired ! Name: sol:CofCrequired ! IgnoreOld: ! IgnoreOriginal: ! Prompt: ! SelfName: sol:CofCrequired ! CopyName: sol:CofCrequired ! LikeName: sol:CofCrequired !}}} !{{{ sol:DeliveredOn #SEQ() ! Entry: sol:DeliveredOn ! Count: 1 ! FEQ: ?sol:DeliveredOn !Template Instance: ! Control: ?sol:DeliveredOn ! Name: sol:DeliveredOn ! IgnoreOld: ! IgnoreOriginal: ! Prompt: ! SelfName: sol:DeliveredOn ! CopyName: sol:DeliveredOn ! LikeName: sol:DeliveredOn !}}} !{{{ sol:Edited #SEQ() ! Entry: sol:Edited ! Count: 1 ! FEQ: ?sol:Edited !Template Instance: ! Control: ?sol:Edited ! Name: sol:Edited ! IgnoreOld: ! IgnoreOriginal: ! Prompt: ! SelfName: sol:Edited ! CopyName: sol:Edited ! LikeName: sol:Edited !}}} !{{{ sol:InvoicedOn #SEQ() ! Entry: sol:InvoicedOn ! Count: 1 ! FEQ: ?sol:InvoicedOn !Template Instance: ! Control: ?sol:InvoicedOn ! Name: sol:InvoicedOn ! IgnoreOld: ! IgnoreOriginal: ! Prompt: ! SelfName: sol:InvoicedOn ! CopyName: sol:InvoicedOn ! LikeName: sol:InvoicedOn !}}} !}}} !{{{ ActionControlList (template debug aid) !BUTTON ?Action FormButton(quickSOFT) #SEQ(57) !CHECK ?AddAllOutputs FormButton(quickSOFT) #SEQ(40) !CHECK ?AddContainer FormButton(quickSOFT) #SEQ(59) !BUTTON ?BarChart FormButton(quickSOFT) #SEQ(66) !BUTTON ?Cancel SaveButton(quickSOFT) #SEQ(3) !BUTTON ?DatesHints ActionButton(quickSOFT) #SEQ(42) !BUTTON ?Design #SEQ(0) !BUTTON ?DispatchSchedule FormButton(quickSOFT) #SEQ(71) !BUTTON ?Dispatches FormButton(quickSOFT) #SEQ(17) !BUTTON ?Events FormButton(quickSOFT) #SEQ(52) !BUTTON ?History #SEQ(0) !BUTTON ?InvoiceSchedule FormButton(quickSOFT) #SEQ(72) !BUTTON ?Invoices FormButton(quickSOFT) #SEQ(48) !BUTTON ?OK SaveButton(quickSOFT) #SEQ(3) !BUTTON ?RaiseTender FormButton(quickSOFT) #SEQ(56) !BUTTON ?ReCost #SEQ(0) !BUTTON ?ReSchedule FormButton(quickSOFT) #SEQ(50) !CHECK ?ReplaceAllOutputsByCont FormButton(quickSOFT) #SEQ(60) !CHECK ?ReplaceByAllOutputs FormButton(quickSOFT) #SEQ(58) !BUTTON ?Schedule FormButton(quickSOFT) #SEQ(23) !BUTTON ?SetContract #SEQ(0) !BUTTON ?SetQuote #SEQ(0) !BUTTON ?Trace FormButton(quickSOFT) #SEQ(49) !BUTTON ?UpdateCustWorksNotes #SEQ(0) !BUTTON ?UpdateEnqLineNotes #SEQ(0) !BUTTON ?UpdatePriceNow #SEQ(0) !BUTTON ?WizardAdd FormButton(quickSOFT) #SEQ(78) !BUTTON ?WizardEdit FormButton(quickSOFT) #SEQ(79) !}}} !{{{ ActiveTemplates (template debug aid) !{{{ EXTENSION qsQuickHelp(quickSOFT) Controls:0 #SEQ(1) ! Template: qsQuickHelp(quickSOFT) ! Type: EXTENSION ! Instance: 1 !}}} !{{{ EXTENSION qsSecurityChecking(quickSOFT) Controls:0 #SEQ(2) ! Template: qsSecurityChecking(quickSOFT) ! Type: EXTENSION ! Instance: 2 !}}} !{{{ CONTROL SaveButton(quickSOFT) Controls:7 #SEQ(3) ! Template: SaveButton(quickSOFT) ! Type: CONTROL ! Instance: 3 ! Control: BUTTON ?BackOne ! Control: BUTTON ?NextOne ! Control: BUTTON ?NewOne ! Control: BUTTON ?ResetRecord ! Control: BUTTON ?DelOne ! Control: BUTTON ?OK ! Control: BUTTON ?Cancel !Attached Variable: Customer !}}} !{{{ CONTROL FormButton(quickSOFT) Controls:1 #SEQ(23) ! Template: FormButton(quickSOFT) ! Type: CONTROL ! Instance: 23 ! Control: BUTTON ?Schedule !Attached Variable: MultiClass !}}} !{{{ CONTROL FormButton(quickSOFT) Controls:1 #SEQ(17) ! Template: FormButton(quickSOFT) ! Type: CONTROL ! Instance: 17 ! Control: BUTTON ?Dispatches !Attached Variable: MultiEndLimit !}}} !{{{ CONTROL FormButton(quickSOFT) Controls:1 #SEQ(48) ! Template: FormButton(quickSOFT) ! Type: CONTROL ! Instance: 48 ! Control: BUTTON ?Invoices !}}} !{{{ CONTROL FormButton(quickSOFT) Controls:1 #SEQ(49) ! Template: FormButton(quickSOFT) ! Type: CONTROL ! Instance: 49 ! Control: BUTTON ?Trace !}}} !{{{ CONTROL FormButton(quickSOFT) Controls:1 #SEQ(50) ! Template: FormButton(quickSOFT) ! Type: CONTROL ! Instance: 50 ! Control: BUTTON ?ReSchedule !}}} !{{{ CONTROL FormButton(quickSOFT) Controls:1 #SEQ(52) ! Template: FormButton(quickSOFT) ! Type: CONTROL ! Instance: 52 ! Control: BUTTON ?Events !}}} !{{{ CONTROL FormButton(quickSOFT) Controls:1 #SEQ(56) ! Template: FormButton(quickSOFT) ! Type: CONTROL ! Instance: 56 ! Control: BUTTON ?RaiseTender !}}} !{{{ CONTROL FormButton(quickSOFT) Controls:1 #SEQ(57) ! Template: FormButton(quickSOFT) ! Type: CONTROL ! Instance: 57 ! Control: BUTTON ?Action !}}} !{{{ CONTROL FormButton(quickSOFT) Controls:1 #SEQ(40) ! Template: FormButton(quickSOFT) ! Type: CONTROL ! Instance: 40 ! Control: CHECK ?AddAllOutputs !}}} !{{{ CONTROL FormButton(quickSOFT) Controls:1 #SEQ(58) ! Template: FormButton(quickSOFT) ! Type: CONTROL ! Instance: 58 ! Control: CHECK ?ReplaceByAllOutputs !Attached Variable: EnquiryNotes !}}} !{{{ CONTROL FormButton(quickSOFT) Controls:1 #SEQ(59) ! Template: FormButton(quickSOFT) ! Type: CONTROL ! Instance: 59 ! Control: CHECK ?AddContainer !}}} !{{{ CONTROL FormButton(quickSOFT) Controls:1 #SEQ(60) ! Template: FormButton(quickSOFT) ! Type: CONTROL ! Instance: 60 ! Control: CHECK ?ReplaceAllOutputsByCont !}}} !{{{ CONTROL FormButton(quickSOFT) Controls:1 #SEQ(66) ! Template: FormButton(quickSOFT) ! Type: CONTROL ! Instance: 66 ! Control: BUTTON ?BarChart !}}} !{{{ CONTROL FormButton(quickSOFT) Controls:1 #SEQ(71) ! Template: FormButton(quickSOFT) ! Type: CONTROL ! Instance: 71 ! Control: BUTTON ?DispatchSchedule !}}} !{{{ CONTROL FormButton(quickSOFT) Controls:1 #SEQ(72) ! Template: FormButton(quickSOFT) ! Type: CONTROL ! Instance: 72 ! Control: BUTTON ?InvoiceSchedule !}}} !{{{ CONTROL FormButton(quickSOFT) Controls:1 #SEQ(78) ! Template: FormButton(quickSOFT) ! Type: CONTROL ! Instance: 78 ! Control: BUTTON ?WizardAdd !}}} !{{{ CONTROL FormButton(quickSOFT) Controls:1 #SEQ(79) ! Template: FormButton(quickSOFT) ! Type: CONTROL ! Instance: 79 ! Control: BUTTON ?WizardEdit !}}} !{{{ EXTENSION QualifierTab(quickSOFT) Controls:0 #SEQ(13) ! Template: QualifierTab(quickSOFT) ! Type: EXTENSION ! Instance: 13 !}}} !{{{ CONTROL zvTypeEdit(quickSOFT) Controls:3 #SEQ(4) ! Template: zvTypeEdit(quickSOFT) ! Type: CONTROL ! Instance: 4 ! Control: PROMPT ?PROMPT14 ! Control: BUTTON ?EditCustomer ! Control: ENTRY ?Customer !Attached Variable: Customer !}}} !{{{ CONTROL zvTypeEdit(quickSOFT) Controls:3 #SEQ(5) ! Template: zvTypeEdit(quickSOFT) ! Type: CONTROL ! Instance: 5 ! Control: PROMPT ?PROMPT10 ! Control: BUTTON ?EditQuoteRef ! Control: ENTRY ?QuoteRef !Attached Variable: QuoteRef ! Attached Field: RawQuoteRef !}}} !{{{ CONTROL zvTypeEdit(quickSOFT) Controls:3 #SEQ(6) ! Template: zvTypeEdit(quickSOFT) ! Type: CONTROL ! Instance: 6 ! Control: PROMPT ?PROMPT9 ! Control: BUTTON ?EditQuoteLine ! Control: ENTRY ?QuoteLine !Attached Variable: QuoteLine ! Attached Field: sol:QuoteLine !}}} !{{{ CONTROL zvTypeEdit(quickSOFT) Controls:3 #SEQ(7) ! Template: zvTypeEdit(quickSOFT) ! Type: CONTROL ! Instance: 7 ! Control: PROMPT ?PROMPT2 ! Control: BUTTON ?EditOurPartNum ! Control: ENTRY ?OurPartNum !Attached Variable: OurPartNum ! Attached Field: sol:OurPartNum !}}} !{{{ CONTROL zvTypeEdit(quickSOFT) Controls:3 #SEQ(11) ! Template: zvTypeEdit(quickSOFT) ! Type: CONTROL ! Instance: 11 ! Control: PROMPT ?PROMPT5 ! Control: BUTTON ?EditInternalNotes ! Control: ENTRY ?InternalNotes !Attached Variable: InternalNotes ! Attached Field: sol:InternalNotes !}}} !{{{ CONTROL zvTypeEdit(quickSOFT) Controls:3 #SEQ(12) ! Template: zvTypeEdit(quickSOFT) ! Type: CONTROL ! Instance: 12 ! Control: PROMPT ?PROMPT6 ! Control: BUTTON ?EditExternalNotes ! Control: ENTRY ?ExternalNotes !Attached Variable: ExternalNotes ! Attached Field: sol:ExternalNotes !}}} !{{{ CONTROL zvTypeEdit(quickSOFT) Controls:3 #SEQ(20) ! Template: zvTypeEdit(quickSOFT) ! Type: CONTROL ! Instance: 20 ! Control: PROMPT ?PROMPT4 ! Control: BUTTON ?zvEditDeliverOn ! Control: ENTRY ?DeliverOn !Attached Variable: DeliverOn ! Attached Field: sol:DeliverOn !}}} !{{{ CONTROL zvTypeEdit(quickSOFT) Controls:3 #SEQ(25) ! Template: zvTypeEdit(quickSOFT) ! Type: CONTROL ! Instance: 25 ! Control: PROMPT ?PROMPT1 ! Control: BUTTON ?EditTheirPartNum ! Control: ENTRY ?TheirPartNum !Attached Variable: TheirPartNum ! Attached Field: sol:TheirPartNum !}}} !{{{ CONTROL zvTypeEdit(quickSOFT) Controls:3 #SEQ(18) ! Template: zvTypeEdit(quickSOFT) ! Type: CONTROL ! Instance: 18 ! Control: PROMPT ?zvPrompt:2 ! Control: BUTTON ?EditRejectedQty ! Control: ENTRY ?RejectedQty !Attached Variable: MultiFamily !}}} !{{{ CONTROL zvTypeEdit(quickSOFT) Controls:3 #SEQ(22) ! Template: zvTypeEdit(quickSOFT) ! Type: CONTROL ! Instance: 22 ! Control: PROMPT ?zvPrompt:3 ! Control: BUTTON ?EditInvoicedQty ! Control: ENTRY ?InvoicedQty !Attached Variable: EndDate !}}} !{{{ CONTROL zvTypeEdit(quickSOFT) Controls:3 #SEQ(29) ! Template: zvTypeEdit(quickSOFT) ! Type: CONTROL ! Instance: 29 ! Control: PROMPT ?zvPrompt:4 ! Control: BUTTON ?EditCreditedQty ! Control: ENTRY ?CreditedQty !}}} !{{{ CONTROL zvTypeEdit(quickSOFT) Controls:3 #SEQ(30) ! Template: zvTypeEdit(quickSOFT) ! Type: CONTROL ! Instance: 30 ! Control: PROMPT ?zvPrompt:5 ! Control: BUTTON ?EditDispatchedQty ! Control: ENTRY ?DispatchedQty !}}} !{{{ CONTROL zvTypeEdit(quickSOFT) Controls:3 #SEQ(31) ! Template: zvTypeEdit(quickSOFT) ! Type: CONTROL ! Instance: 31 ! Control: PROMPT ?zvPrompt:6 ! Control: BUTTON ?EditDeliveredOn ! Control: ENTRY ?DeliveredOn !Attached Variable: UnitPrice !}}} !{{{ CONTROL zvTypeEdit(quickSOFT) Controls:3 #SEQ(32) ! Template: zvTypeEdit(quickSOFT) ! Type: CONTROL ! Instance: 32 ! Control: PROMPT ?zvPrompt:7 ! Control: BUTTON ?EditInvoicedOn ! Control: ENTRY ?InvoicedOn !}}} !{{{ CONTROL zvTypeEdit(quickSOFT) Controls:3 #SEQ(44) ! Template: zvTypeEdit(quickSOFT) ! Type: CONTROL ! Instance: 44 ! Control: PROMPT ?PROMPT11 ! Control: BUTTON ?zvEditSchedulingStrategy ! Control: ENTRY ?Strategy !Attached Variable: Strategy ! Attached Field: sol:Strategy !}}} !{{{ CONTROL zvTypeEdit(quickSOFT) Controls:3 #SEQ(45) ! Template: zvTypeEdit(quickSOFT) ! Type: CONTROL ! Instance: 45 ! Control: PROMPT ?PROMPT12 ! Control: BUTTON ?zvEditSalesOrder ! Control: ENTRY ?SalesOrderNum !}}} !{{{ CONTROL zvTypeEdit(quickSOFT) Controls:3 #SEQ(46) ! Template: zvTypeEdit(quickSOFT) ! Type: CONTROL ! Instance: 46 ! Control: PROMPT ?zvPrompt:14 ! Control: BUTTON ?zvEditCancelledOn ! Control: ENTRY ?CancelledOn !Attached Variable: PackingInstructions !}}} !{{{ CONTROL zvTypeEdit(quickSOFT) Controls:3 #SEQ(47) ! Template: zvTypeEdit(quickSOFT) ! Type: CONTROL ! Instance: 47 ! Control: PROMPT ?zvPrompt:15 ! Control: BUTTON ?zvEditCancelledBy ! Control: ENTRY ?CancelledBy !Attached Variable: Discount !}}} !{{{ CONTROL zvTypeEdit(quickSOFT) Controls:3 #SEQ(26) ! Template: zvTypeEdit(quickSOFT) ! Type: CONTROL ! Instance: 26 ! Control: PROMPT ?zvPrompt:17 ! Control: BUTTON ?zvEditPriceBasis ! Control: ENTRY ?PriceBasis !}}} !{{{ CONTROL zvTypeEdit(quickSOFT) Controls:3 #SEQ(27) ! Template: zvTypeEdit(quickSOFT) ! Type: CONTROL ! Instance: 27 ! Control: PROMPT ?zvPrompt:18 ! Control: BUTTON ?zvEditIssue ! Control: ENTRY ?Issue !Attached Variable: Issue ! Attached Field: sol:Issue !}}} !{{{ CONTROL zvTypeEdit(quickSOFT) Controls:3 #SEQ(28) ! Template: zvTypeEdit(quickSOFT) ! Type: CONTROL ! Instance: 28 ! Control: PROMPT ?PROMPT7 ! Control: BUTTON ?zvEditor:2 ! Control: ENTRY ?WorksNotes !Attached Variable: WorksNotes ! Attached Field: sol:WorksNotes !}}} !{{{ CONTROL zvTypeEdit(quickSOFT) Controls:3 #SEQ(43) ! Template: zvTypeEdit(quickSOFT) ! Type: CONTROL ! Instance: 43 ! Control: PROMPT ?PROMPT13 ! Control: BUTTON ?EditRef ! Control: ENTRY ?CustomerRef !Attached Variable: CustomerRef ! Attached Field: sol:LineItemReference !}}} !{{{ CONTROL zvTypeEdit(quickSOFT) Controls:3 #SEQ(51) ! Template: zvTypeEdit(quickSOFT) ! Type: CONTROL ! Instance: 51 ! Control: PROMPT ?PROMPT8 ! Control: BUTTON ?zvEditor:3 ! Control: ENTRY ?EnquiryLineNotes !Attached Variable: EnquiryLineNotes ! Attached Field: sol:enqExternalNotes !}}} !{{{ CONTROL zvTypeEdit(quickSOFT) Controls:3 #SEQ(33) ! Template: zvTypeEdit(quickSOFT) ! Type: CONTROL ! Instance: 33 ! Control: PROMPT ?zvPrompt:19 ! Control: BUTTON ?zvEditPlannedDelivery ! Control: ENTRY ?PlannedDelivery !}}} !{{{ CONTROL zvTypeEdit(quickSOFT) Controls:3 #SEQ(53) ! Template: zvTypeEdit(quickSOFT) ! Type: CONTROL ! Instance: 53 ! Control: PROMPT ?zvPrompt:20 ! Control: BUTTON ?zvEditor:4 ! Control: ENTRY ?FormattedScheduleLog !}}} !{{{ CONTROL zvTypeEdit(quickSOFT) Controls:3 #SEQ(8) ! Template: zvTypeEdit(quickSOFT) ! Type: CONTROL ! Instance: 8 ! Control: PROMPT ?zvPrompt:8 ! Control: BUTTON ?zvEditLineValue ! Control: ENTRY ?LineValue !Attached Variable: StartLimit !}}} !{{{ CONTROL zvTypeEdit(quickSOFT) Controls:3 #SEQ(35) ! Template: zvTypeEdit(quickSOFT) ! Type: CONTROL ! Instance: 35 ! Control: PROMPT ?zvPrompt:9 ! Control: BUTTON ?zvEditLineCost ! Control: ENTRY ?LineCost !}}} !{{{ CONTROL zvTypeEdit(quickSOFT) Controls:3 #SEQ(36) ! Template: zvTypeEdit(quickSOFT) ! Type: CONTROL ! Instance: 36 ! Control: PROMPT ?zvPrompt:21 ! Control: BUTTON ?zvEditGrossProfit ! Control: ENTRY ?GrossProfit !}}} !{{{ CONTROL zvTypeEdit(quickSOFT) Controls:3 #SEQ(14) ! Template: zvTypeEdit(quickSOFT) ! Type: CONTROL ! Instance: 14 ! Control: PROMPT ?zvPrompt:22 ! Control: BUTTON ?EditContractLine ! Control: ENTRY ?ContractLine !Attached Variable: ContractLine ! Attached Field: sol:ContractLine !}}} !{{{ CONTROL zvTypeEdit(quickSOFT) Controls:3 #SEQ(15) ! Template: zvTypeEdit(quickSOFT) ! Type: CONTROL ! Instance: 15 ! Control: PROMPT ?zvPrompt:23 ! Control: BUTTON ?zvEditor:5 ! Control: ENTRY ?ContractRef !Attached Variable: ContractRef ! Attached Field: RawContractRef !}}} !{{{ CONTROL zvTypeEdit(quickSOFT) Controls:3 #SEQ(61) ! Template: zvTypeEdit(quickSOFT) ! Type: CONTROL ! Instance: 61 ! Control: PROMPT ?zvPrompt:11 ! Control: BUTTON ?zvEditPromisedDate ! Control: ENTRY ?PromisedDate !Attached Variable: PromisedDate ! Attached Field: sol:PromisedOn !}}} !{{{ CONTROL zvTypeEdit(quickSOFT) Controls:3 #SEQ(9) ! Template: zvTypeEdit(quickSOFT) ! Type: CONTROL ! Instance: 9 ! Control: PROMPT ?zvPrompt ! Control: BUTTON ?zvEditDeliverOn3 ! Control: ENTRY ?DeliverOn:2 !Attached Variable: DeliverOn ! Attached Field: sol:DeliverOn !}}} !{{{ CONTROL zvTypeEdit(quickSOFT) Controls:3 #SEQ(10) ! Template: zvTypeEdit(quickSOFT) ! Type: CONTROL ! Instance: 10 ! Control: PROMPT ?zvPrompt:24 ! Control: BUTTON ?zvEditDeliveredOn2 ! Control: ENTRY ?DeliveredOn:2 !Attached Variable: EndDate !}}} !{{{ CONTROL zvTypeEdit(quickSOFT) Controls:3 #SEQ(19) ! Template: zvTypeEdit(quickSOFT) ! Type: CONTROL ! Instance: 19 ! Control: PROMPT ?zvPrompt:25 ! Control: BUTTON ?zvEditAcceptQty ! Control: ENTRY ?AcceptQty !Attached Variable: AcceptQty ! Attached Field: sol:AcceptQty !}}} !{{{ CONTROL zvTypeEdit(quickSOFT) Controls:3 #SEQ(64) ! Template: zvTypeEdit(quickSOFT) ! Type: CONTROL ! Instance: 64 ! Control: PROMPT ?zvPrompt:26 ! Control: BUTTON ?zvEditMakeQty ! Control: ENTRY ?MakeQty !Attached Variable: MakeQty ! Attached Field: sol:MakeQty !}}} !{{{ CONTROL zvTypeEdit(quickSOFT) Controls:3 #SEQ(67) ! Template: zvTypeEdit(quickSOFT) ! Type: CONTROL ! Instance: 67 ! Control: PROMPT ?MarginPr ! Control: BUTTON ?zvEditMargin ! Control: ENTRY ?ActualMarginStr !Attached Variable: ActualMarginStr ! Attached Field: ActualMargin !}}} !{{{ CONTROL zvTypeEdit(quickSOFT) Controls:3 #SEQ(68) ! Template: zvTypeEdit(quickSOFT) ! Type: CONTROL ! Instance: 68 ! Control: PROMPT ?DiscountPr ! Control: BUTTON ?zvEditDiscount ! Control: ENTRY ?ActualDiscountStr !Attached Variable: ActualDiscountStr ! Attached Field: ActualDiscount !}}} !{{{ CONTROL zvTypeEdit(quickSOFT) Controls:3 #SEQ(69) ! Template: zvTypeEdit(quickSOFT) ! Type: CONTROL ! Instance: 69 ! Control: PROMPT ?zvPrompt:27 ! Control: BUTTON ?zvEditor ! Control: ENTRY ?CostCentre !Attached Variable: CostCentre ! Attached Field: sol:CostCentre !}}} !{{{ CONTROL zvTypeEdit(quickSOFT) Controls:3 #SEQ(70) ! Template: zvTypeEdit(quickSOFT) ! Type: CONTROL ! Instance: 70 ! Control: PROMPT ?zvPrompt:28 ! Control: BUTTON ?zvEditor:6 ! Control: ENTRY ?Department !Attached Variable: Department ! Attached Field: sol:Department !}}} !{{{ CONTROL zvTypeEdit(quickSOFT) Controls:3 #SEQ(73) ! Template: zvTypeEdit(quickSOFT) ! Type: CONTROL ! Instance: 73 ! Control: PROMPT ?zvPrompt:29 ! Control: BUTTON ?zvEditStartLimit ! Control: ENTRY ?StartLimit !Attached Variable: StartLimit ! Attached Field: sol:StartLimit !}}} !{{{ CONTROL zvTypeEdit(quickSOFT) Controls:3 #SEQ(74) ! Template: zvTypeEdit(quickSOFT) ! Type: CONTROL ! Instance: 74 ! Control: PROMPT ?zvPrompt:30 ! Control: BUTTON ?EditCostPlusMargin ! Control: ENTRY ?ActualCostMargin !Attached Variable: ActualCostMargin ! Attached Field: RawActualCostMargin !}}} !{{{ CONTROL zvTypeEdit(quickSOFT) Controls:3 #SEQ(24) ! Template: zvTypeEdit(quickSOFT) ! Type: CONTROL ! Instance: 24 ! Control: PROMPT ?zvPrompt:10 ! Control: BUTTON ?zvEditor:7 ! Control: ENTRY ?ExternalNotes:2 !Attached Variable: ExternalNotes ! Attached Field: sol:ExternalNotes !}}} !{{{ CONTROL zvTypeEdit(quickSOFT) Controls:3 #SEQ(37) ! Template: zvTypeEdit(quickSOFT) ! Type: CONTROL ! Instance: 37 ! Control: PROMPT ?zvPrompt:12 ! Control: BUTTON ?zvEditor:8 ! Control: ENTRY ?ConsignmentFlag !Attached Variable: ConsignmentFlag ! Attached Field: sol:ConsignmentFlag !}}} !{{{ CONTROL zvTypeEdit(quickSOFT) Controls:3 #SEQ(39) ! Template: zvTypeEdit(quickSOFT) ! Type: CONTROL ! Instance: 39 ! Control: PROMPT ?zvPrompt:16 ! Control: BUTTON ?zvEditor:9 ! Control: ENTRY ?ConsignmentQty !Attached Variable: ConsignmentQty ! Attached Field: sol:ConsignmentQty !}}} !{{{ CONTROL zvTypeEdit(quickSOFT) Controls:3 #SEQ(41) ! Template: zvTypeEdit(quickSOFT) ! Type: CONTROL ! Instance: 41 ! Control: PROMPT ?zvPrompt:32 ! Control: BUTTON ?zvEditor:10 ! Control: ENTRY ?ConsignmentNotes !Attached Variable: ConsignmentNotes ! Attached Field: sol:ConsignmentNotes !}}} !{{{ CONTROL zvTypeEdit(quickSOFT) Controls:3 #SEQ(76) ! Template: zvTypeEdit(quickSOFT) ! Type: CONTROL ! Instance: 76 ! Control: PROMPT ?zvPrompt:33 ! Control: BUTTON ?zvEditor:11 ! Control: ENTRY ?VATCode !}}} !{{{ CONTROL zvTypeEdit(quickSOFT) Controls:3 #SEQ(77) ! Template: zvTypeEdit(quickSOFT) ! Type: CONTROL ! Instance: 77 ! Control: PROMPT ?zvPrompt:34 ! Control: BUTTON ?zvEditTargetDate ! Control: ENTRY ?TargetDate !Attached Variable: TargetDate ! Attached Field: sol:TargetDate !}}} !{{{ CODE qsLookupRecNo(quickSOFT) Controls:0 #SEQ(16) ! Template: qsLookupRecNo(quickSOFT) ! Type: CODE ! Instance: 16 !Attached Variable: MultiStartLimit !}}} !{{{ CONTROL HelpButton(quickSOFT) Controls:1 #SEQ(21) ! Template: HelpButton(quickSOFT) ! Type: CONTROL ! Instance: 21 ! Control: BUTTON ?Help !Attached Variable: HoldStockQty !}}} !{{{ CONTROL FormPrintButton(quickSOFT) Controls:1 #SEQ(38) ! Template: FormPrintButton(quickSOFT) ! Type: CONTROL ! Instance: 38 ! Control: BUTTON ?FormPrint !}}} !{{{ CONTROL RefreshButton(quickSOFT) Controls:1 #SEQ(54) ! Template: RefreshButton(quickSOFT) ! Type: CONTROL ! Instance: 54 ! Control: BUTTON ?Refresh !}}} !{{{ CONTROL DefaultsButton(quickSOFT) Controls:1 #SEQ(55) ! Template: DefaultsButton(quickSOFT) ! Type: CONTROL ! Instance: 55 ! Control: BUTTON ?Defaults !}}} !{{{ CONTROL zvQtyEdit(quickSOFT) Controls:3 #SEQ(34) ! Template: zvQtyEdit(quickSOFT) ! Type: CONTROL ! Instance: 34 ! Control: PROMPT ?PROMPT3 ! Control: BUTTON ?EditOrderedQty ! Control: ENTRY ?OrderedQty !Attached Variable: OrderedQty ! Attached Field: sol:Height ! Attached Field: sol:Length ! Attached Field: sol:OrderedQty ! Attached Field: sol:Width !}}} !{{{ CONTROL zvQtyEdit(quickSOFT) Controls:3 #SEQ(65) ! Template: zvQtyEdit(quickSOFT) ! Type: CONTROL ! Instance: 65 ! Control: PROMPT ?zvQtyPrompt:2 ! Control: BUTTON ?zvEditOrderedQty3 ! Control: ENTRY ?OrderedQty:2 !Attached Variable: OrderedQty ! Attached Field: sol:Height ! Attached Field: sol:Length ! Attached Field: sol:OrderedQty ! Attached Field: sol:Width !}}} !{{{ CONTROL zvPriceEdit(quickSOFT) Controls:3 #SEQ(62) ! Template: zvPriceEdit(quickSOFT) ! Type: CONTROL ! Instance: 62 ! Control: PROMPT ?zvPricePrompt ! Control: BUTTON ?zvPriceEditor ! Control: ENTRY ?UnitPrice !Attached Variable: UnitPrice ! Attached Field: sol:UnitPrice ! Attached Field: sol:UnitQty !}}} !{{{ CONTROL ActionButton(quickSOFT) Controls:1 #SEQ(42) ! Template: ActionButton(quickSOFT) ! Type: CONTROL ! Instance: 42 ! Control: BUTTON ?DatesHints !Attached Variable: TheirOrderNum !}}} !}}} !{{{ Controls (template debug aid) !{{{ SHEET ?Sheet1 OMIT('ENDOMIT') ! Control: ?Sheet1 ! Control Number: 1 ! Control Name: ?Sheet1 ! Level: 0 ! Parent: ! Parent Name: NULL ! Use: ! Type: SHEET !Template Instance: ! Original: ?Sheet1 ! UnsplitStatement: SHEET,AT(2,59,298,150),USE(?Sheet1) !ENDOMIT !}}} !{{{ TAB ?DetailTab OMIT('ENDOMIT') ! Control: ?DetailTab ! Control Number: 2 ! Control Name: ?DetailTab ! Level: 1 ! Parent: ?Sheet1 ! Parent Name: Sheet1:Control ! Use: ! Type: TAB !Template Instance: ! Original: ?Tab1 ! UnsplitStatement: TAB('&1 Detail'),USE(?DetailTab) !ENDOMIT !}}} !{{{ PROMPT ?PROMPT1 zvTypeEdit(quickSOFT) #SEQ(25) OMIT('ENDOMIT') ! Control: ?PROMPT1 ! Control Number: 3 ! Control Name: ?PROMPT1 ! Level: 2 ! Parent: ?DetailTab ! Parent Name: DetailTab:Control ! Use: ! Type: PROMPT !Template Instance: 25 ! Original: ! UnsplitStatement: PROMPT('Their &Part Num:'),AT(3,77,59,10),USE(?PROMPT1),RIGHT !ENDOMIT !}}} !{{{ BUTTON ?EditTheirPartNum zvTypeEdit(quickSOFT) #SEQ(25) OMIT('ENDOMIT') ! Control: ?EditTheirPartNum ! Control Number: 4 ! Control Name: ?EditTheirPartNum ! Level: 2 ! Parent: ?DetailTab ! Parent Name: DetailTab:Control ! Use: ! Type: BUTTON !Template Instance: 25 ! Original: ?zvEditor ! UnsplitStatement: BUTTON('...'),AT(63,77,10,10),USE(?EditTheirPartNum) !ENDOMIT !}}} !{{{ ENTRY ?TheirPartNum zvTypeEdit(quickSOFT) #SEQ(25) OMIT('ENDOMIT') ! Control: ?TheirPartNum ! Control Number: 5 ! Control Name: ?TheirPartNum ! Level: 2 ! Parent: ?DetailTab ! Parent Name: DetailTab:Control ! Use: TheirPartNum ! Type: ENTRY !Template Instance: 25 ! Original: zvDirect ! UnsplitStatement: ENTRY(@s64),AT(75,75,152,12),USE(TheirPartNum),MSG('The customer''s part number for this item') !ENDOMIT !}}} !{{{ CHECK ?SelectViaTheirPartNum OMIT('ENDOMIT') ! Control: ?SelectViaTheirPartNum ! Control Number: 6 ! Control Name: ?SelectViaTheirPartNum ! Level: 2 ! Parent: ?DetailTab ! Parent Name: DetailTab:Control ! Use: SelectViaTheirPartNum ! Type: CHECK !Template Instance: ! Original: ! UnsplitStatement: CHECK('Pick by Their Num'),AT(230,77),USE(SelectViaTheirPartNum),MSG('Check this to pick/change the part by their number') !ENDOMIT !}}} !{{{ PROMPT ?PROMPT2 zvTypeEdit(quickSOFT) #SEQ(7) OMIT('ENDOMIT') ! Control: ?PROMPT2 ! Control Number: 7 ! Control Name: ?PROMPT2 ! Level: 2 ! Parent: ?DetailTab ! Parent Name: DetailTab:Control ! Use: ! Type: PROMPT !Template Instance: 7 ! Original: ! UnsplitStatement: PROMPT('&Our Part Num:'),AT(3,91,59,10),USE(?PROMPT2),RIGHT !ENDOMIT !}}} !{{{ BUTTON ?EditOurPartNum zvTypeEdit(quickSOFT) #SEQ(7) OMIT('ENDOMIT') ! Control: ?EditOurPartNum ! Control Number: 8 ! Control Name: ?EditOurPartNum ! Level: 2 ! Parent: ?DetailTab ! Parent Name: DetailTab:Control ! Use: ! Type: BUTTON !Template Instance: 7 ! Original: ?zvEditor ! UnsplitStatement: BUTTON('...'),AT(63,91,10,10),USE(?EditOurPartNum) !ENDOMIT !}}} !{{{ ENTRY ?OurPartNum zvTypeEdit(quickSOFT) #SEQ(7) OMIT('ENDOMIT') ! Control: ?OurPartNum ! Control Number: 9 ! Control Name: ?OurPartNum ! Level: 2 ! Parent: ?DetailTab ! Parent Name: DetailTab:Control ! Use: OurPartNum ! Type: ENTRY !Template Instance: 7 ! Original: zvDirect ! UnsplitStatement: ENTRY(@s64),AT(75,89,152,12),USE(OurPartNum),MSG('Our part number for this item') !ENDOMIT !}}} !{{{ CHECK ?SelectViaOurPartNum OMIT('ENDOMIT') ! Control: ?SelectViaOurPartNum ! Control Number: 10 ! Control Name: ?SelectViaOurPartNum ! Level: 2 ! Parent: ?DetailTab ! Parent Name: DetailTab:Control ! Use: SelectViaOurPartNum ! Type: CHECK !Template Instance: ! Original: ! UnsplitStatement: CHECK('Pick b&y Our Num'),AT(230,90,67,10),USE(SelectViaOurPartNum),MSG('Check this to pick the part by our number') !ENDOMIT !}}} !{{{ CHECK ?AddAllOutputs FormButton(quickSOFT) #SEQ(40) OMIT('ENDOMIT') ! Control: ?AddAllOutputs ! Control Number: 11 ! Control Name: ?AddAllOutputs ! Level: 2 ! Parent: ?DetailTab ! Parent Name: DetailTab:Control ! Use: AddAllOutputs ! Type: CHECK !Template Instance: 40 ! Original: ?Action ! UnsplitStatement: CHECK('Add sales lines for all outputs of the selected container'),AT(75,101,179,10),USE(AddAllOutputs),TRN !ENDOMIT !}}} !{{{ BUTTON ?Design OMIT('ENDOMIT') ! Control: ?Design ! Control Number: 12 ! Control Name: ?Design ! Level: 2 ! Parent: ?DetailTab ! Parent Name: DetailTab:Control ! Use: ! Type: BUTTON !Template Instance: ! Original: ?Button30 ! UnsplitStatement: BUTTON('Create New Part Num'),AT(6,104,68,11),USE(?Design),MSG('Press this to design a new product for this line') !ENDOMIT !}}} !{{{ CHECK ?ReplaceByAllOutputs FormButton(quickSOFT) #SEQ(58) OMIT('ENDOMIT') ! Control: ?ReplaceByAllOutputs ! Control Number: 13 ! Control Name: ?ReplaceByAllOutputs ! Level: 2 ! Parent: ?DetailTab ! Parent Name: DetailTab:Control ! Use: ReplaceByAllOutputs ! Type: CHECK !Template Instance: 58 ! Original: ?Action ! UnsplitStatement: CHECK('Replace this sales line by all the outputs of the selected container'),AT(75,108),USE(ReplaceByAllOutputs),TRN !ENDOMIT !}}} !{{{ CHECK ?AddContainer FormButton(quickSOFT) #SEQ(59) OMIT('ENDOMIT') ! Control: ?AddContainer ! Control Number: 14 ! Control Name: ?AddContainer ! Level: 2 ! Parent: ?DetailTab ! Parent Name: DetailTab:Control ! Use: AddContainer ! Type: CHECK !Template Instance: 59 ! Original: ?Action ! UnsplitStatement: CHECK('Add a sales line for the container producing this output'),AT(75,101,197,10),USE(AddContainer),TRN !ENDOMIT !}}} !{{{ CHECK ?ReplaceAllOutputsByCont FormButton(quickSOFT) #SEQ(60) OMIT('ENDOMIT') ! Control: ?ReplaceAllOutputsByCont ! Control Number: 15 ! Control Name: ?ReplaceAllOutputsByCont ! Level: 2 ! Parent: ?DetailTab ! Parent Name: DetailTab:Control ! Use: ReplaceAllOutputsByCont ! Type: CHECK !Template Instance: 60 ! Original: ?Action ! UnsplitStatement: CHECK('Replace this line and other similar outputs by its container'),AT(75,108),USE(ReplaceAllOutputsByCont),TRN !ENDOMIT !}}} !{{{ PROMPT ?PROMPT3 zvQtyEdit(quickSOFT) #SEQ(34) OMIT('ENDOMIT') ! Control: ?PROMPT3 ! Control Number: 16 ! Control Name: ?PROMPT3 ! Level: 2 ! Parent: ?DetailTab ! Parent Name: DetailTab:Control ! Use: ! Type: PROMPT !Template Instance: 34 ! Original: ?zvQtyPrompt ! UnsplitStatement: PROMPT('Ordered &Quantity:'),AT(3,119,59,10),USE(?PROMPT3),RIGHT !ENDOMIT !}}} !{{{ BUTTON ?EditOrderedQty zvQtyEdit(quickSOFT) #SEQ(34) OMIT('ENDOMIT') ! Control: ?EditOrderedQty ! Control Number: 17 ! Control Name: ?EditOrderedQty ! Level: 2 ! Parent: ?DetailTab ! Parent Name: DetailTab:Control ! Use: ! Type: BUTTON !Template Instance: 34 ! Original: ?zvQtyEditor ! UnsplitStatement: BUTTON('...'),AT(63,119,10,10),USE(?EditOrderedQty) !ENDOMIT !}}} !{{{ ENTRY ?OrderedQty zvQtyEdit(quickSOFT) #SEQ(34) OMIT('ENDOMIT') ! Control: ?OrderedQty ! Control Number: 18 ! Control Name: ?OrderedQty ! Level: 2 ! Parent: ?DetailTab ! Parent Name: DetailTab:Control ! Use: OrderedQty ! Type: ENTRY !Template Instance: 34 ! Original: zvQtyDirect ! UnsplitStatement: ENTRY(@s128),AT(75,117,152,12),USE(OrderedQty),MSG('The quantity being ordered') !ENDOMIT !}}} !{{{ PROMPT ?PROMPT4 zvTypeEdit(quickSOFT) #SEQ(20) OMIT('ENDOMIT') ! Control: ?PROMPT4 ! Control Number: 19 ! Control Name: ?PROMPT4 ! Level: 2 ! Parent: ?DetailTab ! Parent Name: DetailTab:Control ! Use: ! Type: PROMPT !Template Instance: 20 ! Original: ! UnsplitStatement: PROMPT('To Deli&ver On:'),AT(3,133,59,10),USE(?PROMPT4),RIGHT !ENDOMIT !}}} !{{{ BUTTON ?zvEditDeliverOn zvTypeEdit(quickSOFT) #SEQ(20) OMIT('ENDOMIT') ! Control: ?zvEditDeliverOn ! Control Number: 20 ! Control Name: ?zvEditDeliverOn ! Level: 2 ! Parent: ?DetailTab ! Parent Name: DetailTab:Control ! Use: ! Type: BUTTON !Template Instance: 20 ! Original: ?zvEditor ! UnsplitStatement: BUTTON('...'),AT(63,133,10,10),USE(?zvEditDeliverOn) !ENDOMIT !}}} !{{{ ENTRY ?DeliverOn zvTypeEdit(quickSOFT) #SEQ(20) OMIT('ENDOMIT') ! Control: ?DeliverOn ! Control Number: 21 ! Control Name: ?DeliverOn ! Level: 2 ! Parent: ?DetailTab ! Parent Name: DetailTab:Control ! Use: DeliverOn ! Type: ENTRY !Template Instance: 20 ! Original: zvDirect ! UnsplitStatement: ENTRY(@s8),AT(75,131,40,12),USE(DeliverOn) !ENDOMIT !}}} !{{{ CHECK ?SetRecommendedDate OMIT('ENDOMIT') ! Control: ?SetRecommendedDate ! Control Number: 22 ! Control Name: ?SetRecommendedDate ! Level: 2 ! Parent: ?DetailTab ! Parent Name: DetailTab:Control ! Use: SetRecommendedDate ! Type: CHECK !Template Instance: ! Original: SetRecommendedDate ! UnsplitStatement: CHECK('Use recommended: date'),AT(167,132,131,10),USE(SetRecommendedDate),MSG('When checked the deliver on date will track your other settings') !ENDOMIT !}}} !{{{ PROMPT ?zvPricePrompt zvPriceEdit(quickSOFT) #SEQ(62) OMIT('ENDOMIT') ! Control: ?zvPricePrompt ! Control Number: 23 ! Control Name: ?zvPricePrompt ! Level: 2 ! Parent: ?DetailTab ! Parent Name: DetailTab:Control ! Use: ! Type: PROMPT !Template Instance: 62 ! Original: ?zvPricePrompt ! UnsplitStatement: PROMPT('P&rice:'),AT(3,147,59,10),USE(?zvPricePrompt),RIGHT !ENDOMIT !}}} !{{{ BUTTON ?zvPriceEditor zvPriceEdit(quickSOFT) #SEQ(62) OMIT('ENDOMIT') ! Control: ?zvPriceEditor ! Control Number: 24 ! Control Name: ?zvPriceEditor ! Level: 2 ! Parent: ?DetailTab ! Parent Name: DetailTab:Control ! Use: ! Type: BUTTON !Template Instance: 62 ! Original: ?zvPriceEditor ! UnsplitStatement: BUTTON('...'),AT(63,147,10,10),USE(?zvPriceEditor) !ENDOMIT !}}} !{{{ ENTRY ?UnitPrice zvPriceEdit(quickSOFT) #SEQ(62) OMIT('ENDOMIT') ! Control: ?UnitPrice ! Control Number: 25 ! Control Name: ?UnitPrice ! Level: 2 ! Parent: ?DetailTab ! Parent Name: DetailTab:Control ! Use: UnitPrice ! Type: ENTRY !Template Instance: 62 ! Original: zvPriceDirect ! UnsplitStatement: ENTRY(@s64),AT(75,145,90,12),USE(UnitPrice),MSG('The unit price and the price unit offered') !ENDOMIT !}}} !{{{ CHECK ?SetRecommendedPrice OMIT('ENDOMIT') ! Control: ?SetRecommendedPrice ! Control Number: 26 ! Control Name: ?SetRecommendedPrice ! Level: 2 ! Parent: ?DetailTab ! Parent Name: DetailTab:Control ! Use: SetRecommendedPrice ! Type: CHECK !Template Instance: ! Original: SetRecommendedPrice ! UnsplitStatement: CHECK('&Use recommended: £x per y each'),AT(167,146,132,10),USE(SetRecommendedPrice),MSG('When checked the unit price will track your other settings') !ENDOMIT !}}} !{{{ PROMPT ?MarginPr zvTypeEdit(quickSOFT) #SEQ(67) OMIT('ENDOMIT') ! Control: ?MarginPr ! Control Number: 27 ! Control Name: ?MarginPr ! Level: 2 ! Parent: ?DetailTab ! Parent Name: DetailTab:Control ! Use: ! Type: PROMPT !Template Instance: 67 ! Original: ?zvPrompt ! UnsplitStatement: PROMPT('Margin:'),AT(3,164,59,10),USE(?MarginPr),RIGHT !ENDOMIT !}}} !{{{ BUTTON ?zvEditMargin zvTypeEdit(quickSOFT) #SEQ(67) OMIT('ENDOMIT') ! Control: ?zvEditMargin ! Control Number: 28 ! Control Name: ?zvEditMargin ! Level: 2 ! Parent: ?DetailTab ! Parent Name: DetailTab:Control ! Use: ! Type: BUTTON !Template Instance: 67 ! Original: ?zvEditor ! UnsplitStatement: BUTTON('...'),AT(63,164,10,10),USE(?zvEditMargin) !ENDOMIT !}}} !{{{ ENTRY ?ActualMarginStr zvTypeEdit(quickSOFT) #SEQ(67) OMIT('ENDOMIT') ! Control: ?ActualMarginStr ! Control Number: 29 ! Control Name: ?ActualMarginStr ! Level: 2 ! Parent: ?DetailTab ! Parent Name: DetailTab:Control ! Use: ActualMarginStr ! Type: ENTRY !Template Instance: 67 ! Original: zvDirect ! UnsplitStatement: ENTRY(@s16),AT(75,162,39,12),USE(ActualMarginStr),MSG('The price/cost ratio expressed as a margin. Negative values imply the cost is greater then the price. You can change this value to indirectly set a price.') !ENDOMIT !}}} !{{{ CHECK ?sol:CofCrequired OMIT('ENDOMIT') ! Control: ?sol:CofCrequired ! Control Number: 30 ! Control Name: ?sol:CofCrequired ! Level: 2 ! Parent: ?DetailTab ! Parent Name: DetailTab:Control ! Use: sol:CofCrequired ! Type: CHECK !Template Instance: ! Original: sol:CofCrequired ! UnsplitStatement: CHECK('C of C &Required'),AT(230,118,67,10),USE(sol:CofCrequired),MSG('Check this if a C of C has ben requested'),TRN !ENDOMIT !}}} !{{{ STRING ?EstimatedProfitStr OMIT('ENDOMIT') ! Control: ?EstimatedProfitStr ! Control Number: 31 ! Control Name: ?EstimatedProfitStr ! Level: 2 ! Parent: ?DetailTab ! Parent Name: DetailTab:Control ! Use: EstimatedProfitStr ! Type: STRING !Template Instance: ! Original: ! UnsplitStatement: STRING(@s255),AT(167,161,129),USE(EstimatedProfitStr),TRN !ENDOMIT !}}} !{{{ PROMPT ?Prompt58 OMIT('ENDOMIT') ! Control: ?Prompt58 ! Control Number: 32 ! Control Name: ?Prompt58 ! Level: 2 ! Parent: ?DetailTab ! Parent Name: DetailTab:Control ! Use: ! Type: PROMPT !Template Instance: ! Original: ?Prompt58 ! UnsplitStatement: PROMPT('This estimate is against STANDARD costs'),AT(167,168,129,10),USE(?Prompt58),TRN !ENDOMIT !}}} !{{{ PROMPT ?zvPrompt:10 zvTypeEdit(quickSOFT) #SEQ(24) OMIT('ENDOMIT') ! Control: ?zvPrompt:10 ! Control Number: 33 ! Control Name: ?zvPrompt:10 ! Level: 2 ! Parent: ?DetailTab ! Parent Name: DetailTab:Control ! Use: ! Type: PROMPT !Template Instance: 24 ! Original: ?zvPrompt ! UnsplitStatement: PROMPT('Customer Notes:'),AT(3,195,59,10),USE(?zvPrompt:10),RIGHT !ENDOMIT !}}} !{{{ BUTTON ?zvEditor:7 zvTypeEdit(quickSOFT) #SEQ(24) OMIT('ENDOMIT') ! Control: ?zvEditor:7 ! Control Number: 34 ! Control Name: ?zvEditor:7 ! Level: 2 ! Parent: ?DetailTab ! Parent Name: DetailTab:Control ! Use: ! Type: BUTTON !Template Instance: 24 ! Original: ?zvEditor ! UnsplitStatement: BUTTON('```'),AT(63,195,10,10),USE(?zvEditor:7) !ENDOMIT !}}} !{{{ ENTRY ?ExternalNotes:2 zvTypeEdit(quickSOFT) #SEQ(24) OMIT('ENDOMIT') ! Control: ?ExternalNotes:2 ! Control Number: 35 ! Control Name: ?ExternalNotes:2 ! Level: 2 ! Parent: ?DetailTab ! Parent Name: DetailTab:Control ! Use: ExternalNotes ! Type: ENTRY !Template Instance: 24 ! Original: zvDirect ! UnsplitStatement: ENTRY(@s64),AT(75,193,219,12),USE(ExternalNotes,,?ExternalNotes:2) !ENDOMIT !}}} !{{{ PROMPT ?DiscountPr zvTypeEdit(quickSOFT) #SEQ(68) OMIT('ENDOMIT') ! Control: ?DiscountPr ! Control Number: 36 ! Control Name: ?DiscountPr ! Level: 2 ! Parent: ?DetailTab ! Parent Name: DetailTab:Control ! Use: ! Type: PROMPT !Template Instance: 68 ! Original: ?zvPrompt ! UnsplitStatement: PROMPT('Discount:'),AT(3,178,59,10),USE(?DiscountPr),RIGHT !ENDOMIT !}}} !{{{ BUTTON ?zvEditDiscount zvTypeEdit(quickSOFT) #SEQ(68) OMIT('ENDOMIT') ! Control: ?zvEditDiscount ! Control Number: 37 ! Control Name: ?zvEditDiscount ! Level: 2 ! Parent: ?DetailTab ! Parent Name: DetailTab:Control ! Use: ! Type: BUTTON !Template Instance: 68 ! Original: ?zvEditor ! UnsplitStatement: BUTTON('...'),AT(63,178,10,10),USE(?zvEditDiscount) !ENDOMIT !}}} !{{{ ENTRY ?ActualDiscountStr zvTypeEdit(quickSOFT) #SEQ(68) OMIT('ENDOMIT') ! Control: ?ActualDiscountStr ! Control Number: 38 ! Control Name: ?ActualDiscountStr ! Level: 2 ! Parent: ?DetailTab ! Parent Name: DetailTab:Control ! Use: ActualDiscountStr ! Type: ENTRY !Template Instance: 68 ! Original: zvDirect ! UnsplitStatement: ENTRY(@s16),AT(75,176,39,12),USE(ActualDiscountStr),MSG('Discount calculated from the full price. Negative values imply yo are charging a premium. You can change this value to indirectly set a price.') !ENDOMIT !}}} !{{{ CHECK ?sol:AllowExtraDiscount OMIT('ENDOMIT') ! Control: ?sol:AllowExtraDiscount ! Control Number: 39 ! Control Name: ?sol:AllowExtraDiscount ! Level: 2 ! Parent: ?DetailTab ! Parent Name: DetailTab:Control ! Use: sol:AllowExtraDiscount ! Type: CHECK !Template Instance: ! Original: sol:AllowExtraDiscount ! UnsplitStatement: CHECK('&Apply extra discount'),AT(167,178,131,10),USE(sol:AllowExtraDiscount),MSG('Un-check if this item does not qualify for the extra discount') !ENDOMIT !}}} !{{{ TAB ?Tab8 OMIT('ENDOMIT') ! Control: ?Tab8 ! Control Number: 40 ! Control Name: ?Tab8 ! Level: 1 ! Parent: ?Sheet1 ! Parent Name: Sheet1:Control ! Use: ! Type: TAB !Template Instance: ! Original: ?Tab8 ! UnsplitStatement: TAB('&2 Notes/Consign'),USE(?Tab8) !ENDOMIT !}}} !{{{ PROMPT ?PROMPT5 zvTypeEdit(quickSOFT) #SEQ(11) OMIT('ENDOMIT') ! Control: ?PROMPT5 ! Control Number: 41 ! Control Name: ?PROMPT5 ! Level: 2 ! Parent: ?Tab8 ! Parent Name: Tab8:Control ! Use: ! Type: PROMPT !Template Instance: 11 ! Original: ! UnsplitStatement: PROMPT('Notes for Us:'),AT(7,97,75,10),USE(?PROMPT5),RIGHT !ENDOMIT !}}} !{{{ BUTTON ?EditInternalNotes zvTypeEdit(quickSOFT) #SEQ(11) OMIT('ENDOMIT') ! Control: ?EditInternalNotes ! Control Number: 42 ! Control Name: ?EditInternalNotes ! Level: 2 ! Parent: ?Tab8 ! Parent Name: Tab8:Control ! Use: ! Type: BUTTON !Template Instance: 11 ! Original: ?zvEditor ! UnsplitStatement: BUTTON('```'),AT(83,97,10,10),USE(?EditInternalNotes) !ENDOMIT !}}} !{{{ ENTRY ?InternalNotes zvTypeEdit(quickSOFT) #SEQ(11) OMIT('ENDOMIT') ! Control: ?InternalNotes ! Control Number: 43 ! Control Name: ?InternalNotes ! Level: 2 ! Parent: ?Tab8 ! Parent Name: Tab8:Control ! Use: InternalNotes ! Type: ENTRY !Template Instance: 11 ! Original: zvDirect ! UnsplitStatement: ENTRY(@s64),AT(95,95,192,12),USE(InternalNotes),MSG('These notes will not appear on the paperwork') !ENDOMIT !}}} !{{{ PROMPT ?PROMPT6 zvTypeEdit(quickSOFT) #SEQ(12) OMIT('ENDOMIT') ! Control: ?PROMPT6 ! Control Number: 44 ! Control Name: ?PROMPT6 ! Level: 2 ! Parent: ?Tab8 ! Parent Name: Tab8:Control ! Use: ! Type: PROMPT !Template Instance: 12 ! Original: ! UnsplitStatement: PROMPT('Customer Notes:'),AT(7,83,75,10),USE(?PROMPT6),RIGHT !ENDOMIT !}}} !{{{ BUTTON ?EditExternalNotes zvTypeEdit(quickSOFT) #SEQ(12) OMIT('ENDOMIT') ! Control: ?EditExternalNotes ! Control Number: 45 ! Control Name: ?EditExternalNotes ! Level: 2 ! Parent: ?Tab8 ! Parent Name: Tab8:Control ! Use: ! Type: BUTTON !Template Instance: 12 ! Original: ?zvEditor ! UnsplitStatement: BUTTON('```'),AT(83,83,10,10),USE(?EditExternalNotes) !ENDOMIT !}}} !{{{ ENTRY ?ExternalNotes zvTypeEdit(quickSOFT) #SEQ(12) OMIT('ENDOMIT') ! Control: ?ExternalNotes ! Control Number: 46 ! Control Name: ?ExternalNotes ! Level: 2 ! Parent: ?Tab8 ! Parent Name: Tab8:Control ! Use: ExternalNotes ! Type: ENTRY !Template Instance: 12 ! Original: zvDirect ! UnsplitStatement: ENTRY(@s64),AT(95,81,192,12),USE(ExternalNotes),MSG('These notes will be shown on the paperwork. This field is a copy of the one on the first tab - you can use either.') !ENDOMIT !}}} !{{{ PROMPT ?PROMPT7 zvTypeEdit(quickSOFT) #SEQ(28) OMIT('ENDOMIT') ! Control: ?PROMPT7 ! Control Number: 47 ! Control Name: ?PROMPT7 ! Level: 2 ! Parent: ?Tab8 ! Parent Name: Tab8:Control ! Use: ! Type: PROMPT !Template Instance: 28 ! Original: ?zvPrompt ! UnsplitStatement: PROMPT('Cust Works Notes:'),AT(7,111,75,10),USE(?PROMPT7),RIGHT !ENDOMIT !}}} !{{{ BUTTON ?zvEditor:2 zvTypeEdit(quickSOFT) #SEQ(28) OMIT('ENDOMIT') ! Control: ?zvEditor:2 ! Control Number: 48 ! Control Name: ?zvEditor:2 ! Level: 2 ! Parent: ?Tab8 ! Parent Name: Tab8:Control ! Use: ! Type: BUTTON !Template Instance: 28 ! Original: ?zvEditor ! UnsplitStatement: BUTTON('```'),AT(83,111,10,10),USE(?zvEditor:2) !ENDOMIT !}}} !{{{ ENTRY ?WorksNotes zvTypeEdit(quickSOFT) #SEQ(28) OMIT('ENDOMIT') ! Control: ?WorksNotes ! Control Number: 49 ! Control Name: ?WorksNotes ! Level: 2 ! Parent: ?Tab8 ! Parent Name: Tab8:Control ! Use: WorksNotes ! Type: ENTRY !Template Instance: 28 ! Original: zvDirect ! UnsplitStatement: ENTRY(@s64),AT(95,109,176,12),USE(WorksNotes),MSG('Initially inherited from associated enquiry lines (to be shown on works orders)') !ENDOMIT !}}} !{{{ BUTTON ?UpdateCustWorksNotes OMIT('ENDOMIT') ! Control: ?UpdateCustWorksNotes ! Control Number: 50 ! Control Name: ?UpdateCustWorksNotes ! Level: 2 ! Parent: ?Tab8 ! Parent Name: Tab8:Control ! Use: ! Type: BUTTON !Template Instance: ! Original: ?Button55 ! UnsplitStatement: BUTTON,AT(273,110,14,11),USE(?UpdateCustWorksNotes),ICON(ICON:Copy),MSG('Update Customer Works Notes from associated enquiry lines') !ENDOMIT !}}} !{{{ PROMPT ?PROMPT8 zvTypeEdit(quickSOFT) #SEQ(51) OMIT('ENDOMIT') ! Control: ?PROMPT8 ! Control Number: 51 ! Control Name: ?PROMPT8 ! Level: 2 ! Parent: ?Tab8 ! Parent Name: Tab8:Control ! Use: ! Type: PROMPT !Template Instance: 51 ! Original: ?zvPrompt ! UnsplitStatement: PROMPT('Enquiry Line Notes:'),AT(7,125,75,10),USE(?PROMPT8),RIGHT !ENDOMIT !}}} !{{{ BUTTON ?zvEditor:3 zvTypeEdit(quickSOFT) #SEQ(51) OMIT('ENDOMIT') ! Control: ?zvEditor:3 ! Control Number: 52 ! Control Name: ?zvEditor:3 ! Level: 2 ! Parent: ?Tab8 ! Parent Name: Tab8:Control ! Use: ! Type: BUTTON !Template Instance: 51 ! Original: ?zvEditor ! UnsplitStatement: BUTTON('```'),AT(83,125,10,10),USE(?zvEditor:3) !ENDOMIT !}}} !{{{ ENTRY ?EnquiryLineNotes zvTypeEdit(quickSOFT) #SEQ(51) OMIT('ENDOMIT') ! Control: ?EnquiryLineNotes ! Control Number: 53 ! Control Name: ?EnquiryLineNotes ! Level: 2 ! Parent: ?Tab8 ! Parent Name: Tab8:Control ! Use: EnquiryLineNotes ! Type: ENTRY !Template Instance: 51 ! Original: zvDirect ! UnsplitStatement: ENTRY(@s64),AT(95,123,176,12),USE(EnquiryLineNotes),MSG('Initially inherited from associated enquiry lines') !ENDOMIT !}}} !{{{ BUTTON ?UpdateEnqLineNotes OMIT('ENDOMIT') ! Control: ?UpdateEnqLineNotes ! Control Number: 54 ! Control Name: ?UpdateEnqLineNotes ! Level: 2 ! Parent: ?Tab8 ! Parent Name: Tab8:Control ! Use: ! Type: BUTTON !Template Instance: ! Original: ?Button56 ! UnsplitStatement: BUTTON,AT(273,124,14,11),USE(?UpdateEnqLineNotes),ICON(ICON:Copy),MSG('Update enquiry line notes from associated enquiry lines') !ENDOMIT !}}} !{{{ PROMPT ?zvPrompt:12 zvTypeEdit(quickSOFT) #SEQ(37) OMIT('ENDOMIT') ! Control: ?zvPrompt:12 ! Control Number: 55 ! Control Name: ?zvPrompt:12 ! Level: 2 ! Parent: ?Tab8 ! Parent Name: Tab8:Control ! Use: ! Type: PROMPT !Template Instance: 37 ! Original: ?zvPrompt ! UnsplitStatement: PROMPT('On Consignment:'),AT(7,147,75,10),USE(?zvPrompt:12),RIGHT !ENDOMIT !}}} !{{{ BUTTON ?zvEditor:8 zvTypeEdit(quickSOFT) #SEQ(37) OMIT('ENDOMIT') ! Control: ?zvEditor:8 ! Control Number: 56 ! Control Name: ?zvEditor:8 ! Level: 2 ! Parent: ?Tab8 ! Parent Name: Tab8:Control ! Use: ! Type: BUTTON !Template Instance: 37 ! Original: ?zvEditor ! UnsplitStatement: BUTTON('...'),AT(83,147,10,10),USE(?zvEditor:8) !ENDOMIT !}}} !{{{ ENTRY ?ConsignmentFlag zvTypeEdit(quickSOFT) #SEQ(37) OMIT('ENDOMIT') ! Control: ?ConsignmentFlag ! Control Number: 57 ! Control Name: ?ConsignmentFlag ! Level: 2 ! Parent: ?Tab8 ! Parent Name: Tab8:Control ! Use: ConsignmentFlag ! Type: ENTRY !Template Instance: 37 ! Original: zvDirect ! UnsplitStatement: ENTRY(@s8),AT(95,145,43,12),USE(ConsignmentFlag),MSG('The stock is supplied on consignment. You will receive a warning when approving an invoice in you are invoicing more than the customer has used on consignment to date.') !ENDOMIT !}}} !{{{ PROMPT ?zvPrompt:16 zvTypeEdit(quickSOFT) #SEQ(39) OMIT('ENDOMIT') ! Control: ?zvPrompt:16 ! Control Number: 58 ! Control Name: ?zvPrompt:16 ! Level: 2 ! Parent: ?Tab8 ! Parent Name: Tab8:Control ! Use: ! Type: PROMPT !Template Instance: 39 ! Original: ?zvPrompt ! UnsplitStatement: PROMPT('Consignment Qty Used:'),AT(7,161,75,10),USE(?zvPrompt:16),RIGHT !ENDOMIT !}}} !{{{ BUTTON ?zvEditor:9 zvTypeEdit(quickSOFT) #SEQ(39) OMIT('ENDOMIT') ! Control: ?zvEditor:9 ! Control Number: 59 ! Control Name: ?zvEditor:9 ! Level: 2 ! Parent: ?Tab8 ! Parent Name: Tab8:Control ! Use: ! Type: BUTTON !Template Instance: 39 ! Original: ?zvEditor ! UnsplitStatement: BUTTON('...'),AT(83,161,10,10),USE(?zvEditor:9) !ENDOMIT !}}} !{{{ ENTRY ?ConsignmentQty zvTypeEdit(quickSOFT) #SEQ(39) OMIT('ENDOMIT') ! Control: ?ConsignmentQty ! Control Number: 60 ! Control Name: ?ConsignmentQty ! Level: 2 ! Parent: ?Tab8 ! Parent Name: Tab8:Control ! Use: ConsignmentQty ! Type: ENTRY !Template Instance: 39 ! Original: zvDirect ! UnsplitStatement: ENTRY(@s24),AT(95,159,84,12),USE(ConsignmentQty),MSG('The quantity of delivered stock that has been used by the customer.') !ENDOMIT !}}} !{{{ PROMPT ?zvPrompt:32 zvTypeEdit(quickSOFT) #SEQ(41) OMIT('ENDOMIT') ! Control: ?zvPrompt:32 ! Control Number: 61 ! Control Name: ?zvPrompt:32 ! Level: 2 ! Parent: ?Tab8 ! Parent Name: Tab8:Control ! Use: ! Type: PROMPT !Template Instance: 41 ! Original: ?zvPrompt ! UnsplitStatement: PROMPT('Consignment Notes:'),AT(7,175,75,10),USE(?zvPrompt:32),RIGHT !ENDOMIT !}}} !{{{ BUTTON ?zvEditor:10 zvTypeEdit(quickSOFT) #SEQ(41) OMIT('ENDOMIT') ! Control: ?zvEditor:10 ! Control Number: 62 ! Control Name: ?zvEditor:10 ! Level: 2 ! Parent: ?Tab8 ! Parent Name: Tab8:Control ! Use: ! Type: BUTTON !Template Instance: 41 ! Original: ?zvEditor ! UnsplitStatement: BUTTON('...'),AT(83,175,10,10),USE(?zvEditor:10) !ENDOMIT !}}} !{{{ ENTRY ?ConsignmentNotes zvTypeEdit(quickSOFT) #SEQ(41) OMIT('ENDOMIT') ! Control: ?ConsignmentNotes ! Control Number: 63 ! Control Name: ?ConsignmentNotes ! Level: 2 ! Parent: ?Tab8 ! Parent Name: Tab8:Control ! Use: ConsignmentNotes ! Type: ENTRY !Template Instance: 41 ! Original: zvDirect ! UnsplitStatement: ENTRY(@s64),AT(95,173,192,12),USE(ConsignmentNotes),MSG('Recoed of consignment usage by the customer. Use the time-stamp facility to log dates.') !ENDOMIT !}}} !{{{ TAB ?QualifiersTab OMIT('ENDOMIT') ! Control: ?QualifiersTab ! Control Number: 64 ! Control Name: ?QualifiersTab ! Level: 1 ! Parent: ?Sheet1 ! Parent Name: Sheet1:Control ! Use: ! Type: TAB !Template Instance: ! Original: ?Tab2 ! UnsplitStatement: TAB('&3 Qualifiers'),USE(?QualifiersTab) !ENDOMIT !}}} !{{{ TAB ?Tab7 OMIT('ENDOMIT') ! Control: ?Tab7 ! Control Number: 65 ! Control Name: ?Tab7 ! Level: 1 ! Parent: ?Sheet1 ! Parent Name: Sheet1:Control ! Use: ! Type: TAB !Template Instance: ! Original: ?Tab7 ! UnsplitStatement: TAB('&4 Links'),USE(?Tab7) !ENDOMIT !}}} !{{{ GROUP ?Group3 OMIT('ENDOMIT') ! Control: ?Group3 ! Control Number: 66 ! Control Name: ?Group3 ! Level: 2 ! Parent: ?Tab7 ! Parent Name: Tab7:Control ! Use: ! Type: GROUP !Template Instance: ! Original: ?Group3 ! UnsplitStatement: GROUP('Quotation'),AT(7,72,287,64),USE(?Group3),BOXED !ENDOMIT !}}} !{{{ STRING ?String10 OMIT('ENDOMIT') ! Control: ?String10 ! Control Number: 67 ! Control Name: ?String10 ! Level: 3 ! Parent: ?Group3 ! Parent Name: Group3:Control ! Use: ! Type: STRING !Template Instance: ! Original: ?String10 ! UnsplitStatement: STRING('If this order is the result of a quotation, the links above connect this order line to the quote.'),AT(13,93,265,10),USE(?String10),TRN !ENDOMIT !}}} !{{{ STRING ?String11 OMIT('ENDOMIT') ! Control: ?String11 ! Control Number: 68 ! Control Name: ?String11 ! Level: 3 ! Parent: ?Group3 ! Parent Name: Group3:Control ! Use: ! Type: STRING !Template Instance: ! Original: ?String11 ! UnsplitStatement: STRING('The quote linked to is considered to be ''won'' and is removed from your chase list.'),AT(13,100,247,10),USE(?String11),TRN !ENDOMIT !}}} !{{{ STRING ?String12 OMIT('ENDOMIT') ! Control: ?String12 ! Control Number: 69 ! Control Name: ?String12 ! Level: 3 ! Parent: ?Group3 ! Parent Name: Group3:Control ! Use: ! Type: STRING !Template Instance: ! Original: ?String12 ! UnsplitStatement: STRING('This link is established automatically by matching quotes against the order details as they'),AT(13,107,271,10),USE(?String12),TRN !ENDOMIT !}}} !{{{ STRING ?String13 OMIT('ENDOMIT') ! Control: ?String13 ! Control Number: 70 ! Control Name: ?String13 ! Level: 3 ! Parent: ?Group3 ! Parent Name: Group3:Control ! Use: ! Type: STRING !Template Instance: ! Original: ?String13 ! UnsplitStatement: STRING('are entered here. You can override this by selecting a specific ''Of Quote'' above.'),AT(13,114,248,10),USE(?String13),TRN !ENDOMIT !}}} !{{{ CHECK ?LocalsoAutoInheritQuote OMIT('ENDOMIT') ! Control: ?LocalsoAutoInheritQuote ! Control Number: 71 ! Control Name: ?LocalsoAutoInheritQuote ! Level: 3 ! Parent: ?Group3 ! Parent Name: Group3:Control ! Use: LocalsoAutoInheritQuote ! Type: CHECK !Template Instance: ! Original: LocalsoAutoInheritQuote ! UnsplitStatement: CHECK('If ticked the sales line details will be automatically set from the quote'),AT(13,123,213,10),USE(LocalsoAutoInheritQuote),SKIP,TRN !ENDOMIT !}}} !{{{ BUTTON ?SetQuote OMIT('ENDOMIT') ! Control: ?SetQuote ! Control Number: 72 ! Control Name: ?SetQuote ! Level: 3 ! Parent: ?Group3 ! Parent Name: Group3:Control ! Use: ! Type: BUTTON !Template Instance: ! Original: ?Button65 ! UnsplitStatement: BUTTON('Set from Quote'),AT(231,122,61,12),USE(?SetQuote),MSG('Manually set the sales details to those in the associated quote') !ENDOMIT !}}} !{{{ PROMPT ?PROMPT9 zvTypeEdit(quickSOFT) #SEQ(6) OMIT('ENDOMIT') ! Control: ?PROMPT9 ! Control Number: 73 ! Control Name: ?PROMPT9 ! Level: 2 ! Parent: ?Tab7 ! Parent Name: Tab7:Control ! Use: ! Type: PROMPT !Template Instance: 6 ! Original: ! UnsplitStatement: PROMPT('Quote Li&ne:'),AT(16,81,52,10),USE(?PROMPT9),RIGHT !ENDOMIT !}}} !{{{ BUTTON ?EditQuoteLine zvTypeEdit(quickSOFT) #SEQ(6) OMIT('ENDOMIT') ! Control: ?EditQuoteLine ! Control Number: 74 ! Control Name: ?EditQuoteLine ! Level: 2 ! Parent: ?Tab7 ! Parent Name: Tab7:Control ! Use: ! Type: BUTTON !Template Instance: 6 ! Original: ?zvEditor ! UnsplitStatement: BUTTON('...'),AT(69,81,10,10),USE(?EditQuoteLine) !ENDOMIT !}}} !{{{ ENTRY ?QuoteLine zvTypeEdit(quickSOFT) #SEQ(6) OMIT('ENDOMIT') ! Control: ?QuoteLine ! Control Number: 75 ! Control Name: ?QuoteLine ! Level: 2 ! Parent: ?Tab7 ! Parent Name: Tab7:Control ! Use: QuoteLine ! Type: ENTRY !Template Instance: 6 ! Original: zvDirect ! UnsplitStatement: ENTRY(@s3),AT(81,79),USE(QuoteLine),MSG('Select the quote line within ''Of Quote'' on which to base this sales order (if any).') !ENDOMIT !}}} !{{{ PROMPT ?PROMPT10 zvTypeEdit(quickSOFT) #SEQ(5) OMIT('ENDOMIT') ! Control: ?PROMPT10 ! Control Number: 76 ! Control Name: ?PROMPT10 ! Level: 2 ! Parent: ?Tab7 ! Parent Name: Tab7:Control ! Use: ! Type: PROMPT !Template Instance: 5 ! Original: ! UnsplitStatement: PROMPT('Of Quote:'),AT(105,81,42,10),USE(?PROMPT10),RIGHT !ENDOMIT !}}} !{{{ BUTTON ?EditQuoteRef zvTypeEdit(quickSOFT) #SEQ(5) OMIT('ENDOMIT') ! Control: ?EditQuoteRef ! Control Number: 77 ! Control Name: ?EditQuoteRef ! Level: 2 ! Parent: ?Tab7 ! Parent Name: Tab7:Control ! Use: ! Type: BUTTON !Template Instance: 5 ! Original: ?zvEditor ! UnsplitStatement: BUTTON('...'),AT(148,81,10,10),USE(?EditQuoteRef) !ENDOMIT !}}} !{{{ ENTRY ?QuoteRef zvTypeEdit(quickSOFT) #SEQ(5) OMIT('ENDOMIT') ! Control: ?QuoteRef ! Control Number: 78 ! Control Name: ?QuoteRef ! Level: 2 ! Parent: ?Tab7 ! Parent Name: Tab7:Control ! Use: QuoteRef ! Type: ENTRY !Template Instance: 5 ! Original: zvDirect ! UnsplitStatement: ENTRY(@s10),AT(160,79,58,12),USE(QuoteRef),MSG('Select the quote this sales line is to be associate with (if any).') !ENDOMIT !}}} !{{{ GROUP ?Group4 OMIT('ENDOMIT') ! Control: ?Group4 ! Control Number: 79 ! Control Name: ?Group4 ! Level: 2 ! Parent: ?Tab7 ! Parent Name: Tab7:Control ! Use: ! Type: GROUP !Template Instance: ! Original: ?Group4 ! UnsplitStatement: GROUP('Sales Contract'),AT(7,136,287,70),USE(?Group4),BOXED !ENDOMIT !}}} !{{{ STRING ?String14 OMIT('ENDOMIT') ! Control: ?String14 ! Control Number: 80 ! Control Name: ?String14 ! Level: 3 ! Parent: ?Group4 ! Parent Name: Group4:Control ! Use: ! Type: STRING !Template Instance: ! Original: ?String14 ! UnsplitStatement: STRING('If this order is a call-off from a sales contract, the links above connect this order line to the'),AT(13,156),USE(?String14),TRN !ENDOMIT !}}} !{{{ STRING ?String15 OMIT('ENDOMIT') ! Control: ?String15 ! Control Number: 81 ! Control Name: ?String15 ! Level: 3 ! Parent: ?Group4 ! Parent Name: Group4:Control ! Use: ! Type: STRING !Template Instance: ! Original: ?String15 ! UnsplitStatement: STRING('contract. The contract linked to is considered to have ''drawn'' the quantity set in this order line.'),AT(13,163),USE(?String15),TRN !ENDOMIT !}}} !{{{ STRING ?String12:2 OMIT('ENDOMIT') ! Control: ?String12:2 ! Control Number: 82 ! Control Name: ?String12:2 ! Level: 3 ! Parent: ?Group4 ! Parent Name: Group4:Control ! Use: ! Type: STRING !Template Instance: ! Original: ?String12 ! UnsplitStatement: STRING('This link is established automatically by matching contracts against the order details as they'),AT(13,171),USE(?String12:2),TRN !ENDOMIT !}}} !{{{ STRING ?String13:2 OMIT('ENDOMIT') ! Control: ?String13:2 ! Control Number: 83 ! Control Name: ?String13:2 ! Level: 3 ! Parent: ?Group4 ! Parent Name: Group4:Control ! Use: ! Type: STRING !Template Instance: ! Original: ?String13 ! UnsplitStatement: STRING('are entered here. You can override this by selecting a specific ''Of Contract'' above. When the'),AT(13,178),USE(?String13:2),TRN !ENDOMIT !}}} !{{{ STRING ?String18 OMIT('ENDOMIT') ! Control: ?String18 ! Control Number: 84 ! Control Name: ?String18 ! Level: 3 ! Parent: ?Group4 ! Parent Name: Group4:Control ! Use: ! Type: STRING !Template Instance: ! Original: ?String18 ! UnsplitStatement: STRING('''drawn'' quantity meets or exceeds the contract quantity, the contract is completed.'),AT(13,184),USE(?String18),TRN !ENDOMIT !}}} !{{{ CHECK ?LocalsoAutoInheritContract OMIT('ENDOMIT') ! Control: ?LocalsoAutoInheritContract ! Control Number: 85 ! Control Name: ?LocalsoAutoInheritContract ! Level: 3 ! Parent: ?Group4 ! Parent Name: Group4:Control ! Use: LocalsoAutoInheritContract ! Type: CHECK !Template Instance: ! Original: LocalsoAutoInheritContract ! UnsplitStatement: CHECK('If ticked the sales line details will be automatically set from the contract'),AT(13,193,217,10),USE(LocalsoAutoInheritContract),SKIP,TRN !ENDOMIT !}}} !{{{ BUTTON ?SetContract OMIT('ENDOMIT') ! Control: ?SetContract ! Control Number: 86 ! Control Name: ?SetContract ! Level: 3 ! Parent: ?Group4 ! Parent Name: Group4:Control ! Use: ! Type: BUTTON !Template Instance: ! Original: ?Button66 ! UnsplitStatement: BUTTON('Set from Contract'),AT(231,192,61,12),USE(?SetContract),MSG('Manually set the sales details to those in the associated contract') !ENDOMIT !}}} !{{{ PROMPT ?zvPrompt:22 zvTypeEdit(quickSOFT) #SEQ(14) OMIT('ENDOMIT') ! Control: ?zvPrompt:22 ! Control Number: 87 ! Control Name: ?zvPrompt:22 ! Level: 2 ! Parent: ?Tab7 ! Parent Name: Tab7:Control ! Use: ! Type: PROMPT !Template Instance: 14 ! Original: ?zvPrompt ! UnsplitStatement: PROMPT('C&ontract Line:'),AT(16,145,52,10),USE(?zvPrompt:22),RIGHT !ENDOMIT !}}} !{{{ BUTTON ?EditContractLine zvTypeEdit(quickSOFT) #SEQ(14) OMIT('ENDOMIT') ! Control: ?EditContractLine ! Control Number: 88 ! Control Name: ?EditContractLine ! Level: 2 ! Parent: ?Tab7 ! Parent Name: Tab7:Control ! Use: ! Type: BUTTON !Template Instance: 14 ! Original: ?zvEditor ! UnsplitStatement: BUTTON('...'),AT(69,145,10,10),USE(?EditContractLine) !ENDOMIT !}}} !{{{ ENTRY ?ContractLine zvTypeEdit(quickSOFT) #SEQ(14) OMIT('ENDOMIT') ! Control: ?ContractLine ! Control Number: 89 ! Control Name: ?ContractLine ! Level: 2 ! Parent: ?Tab7 ! Parent Name: Tab7:Control ! Use: ContractLine ! Type: ENTRY !Template Instance: 14 ! Original: zvDirect ! UnsplitStatement: ENTRY(@s3),AT(81,143),USE(ContractLine),MSG('Select the contract line within ''Of Contract'' on which to base this sales order (if any).') !ENDOMIT !}}} !{{{ PROMPT ?zvPrompt:23 zvTypeEdit(quickSOFT) #SEQ(15) OMIT('ENDOMIT') ! Control: ?zvPrompt:23 ! Control Number: 90 ! Control Name: ?zvPrompt:23 ! Level: 2 ! Parent: ?Tab7 ! Parent Name: Tab7:Control ! Use: ! Type: PROMPT !Template Instance: 15 ! Original: ?zvPrompt ! UnsplitStatement: PROMPT('Of Contract:'),AT(105,145,42,10),USE(?zvPrompt:23),RIGHT !ENDOMIT !}}} !{{{ BUTTON ?zvEditor:5 zvTypeEdit(quickSOFT) #SEQ(15) OMIT('ENDOMIT') ! Control: ?zvEditor:5 ! Control Number: 91 ! Control Name: ?zvEditor:5 ! Level: 2 ! Parent: ?Tab7 ! Parent Name: Tab7:Control ! Use: ! Type: BUTTON !Template Instance: 15 ! Original: ?zvEditor ! UnsplitStatement: BUTTON('...'),AT(148,145,10,10),USE(?zvEditor:5) !ENDOMIT !}}} !{{{ ENTRY ?ContractRef zvTypeEdit(quickSOFT) #SEQ(15) OMIT('ENDOMIT') ! Control: ?ContractRef ! Control Number: 92 ! Control Name: ?ContractRef ! Level: 2 ! Parent: ?Tab7 ! Parent Name: Tab7:Control ! Use: ContractRef ! Type: ENTRY !Template Instance: 15 ! Original: zvDirect ! UnsplitStatement: ENTRY(@s16),AT(160,143,58,12),USE(ContractRef),MSG('Select the contact this sales line is to be associate with (if any).') !ENDOMIT !}}} !{{{ TAB ?Tab6 OMIT('ENDOMIT') ! Control: ?Tab6 ! Control Number: 93 ! Control Name: ?Tab6 ! Level: 1 ! Parent: ?Sheet1 ! Parent Name: Sheet1:Control ! Use: ! Type: TAB !Template Instance: ! Original: ?Tab6 ! UnsplitStatement: TAB('&5 Schedule'),USE(?Tab6) !ENDOMIT !}}} !{{{ PROMPT ?PROMPT11 zvTypeEdit(quickSOFT) #SEQ(44) OMIT('ENDOMIT') ! Control: ?PROMPT11 ! Control Number: 94 ! Control Name: ?PROMPT11 ! Level: 2 ! Parent: ?Tab6 ! Parent Name: Tab6:Control ! Use: ! Type: PROMPT !Template Instance: 44 ! Original: ?zvPrompt ! UnsplitStatement: PROMPT('Scheduling Strategy:'),AT(5,76,68,10),USE(?PROMPT11),RIGHT !ENDOMIT !}}} !{{{ BUTTON ?zvEditSchedulingStrategy zvTypeEdit(quickSOFT) #SEQ(44) OMIT('ENDOMIT') ! Control: ?zvEditSchedulingStrategy ! Control Number: 95 ! Control Name: ?zvEditSchedulingStrategy ! Level: 2 ! Parent: ?Tab6 ! Parent Name: Tab6:Control ! Use: ! Type: BUTTON !Template Instance: 44 ! Original: ?zvEditor ! UnsplitStatement: BUTTON('...'),AT(75,76,10,10),USE(?zvEditSchedulingStrategy) !ENDOMIT !}}} !{{{ ENTRY ?Strategy zvTypeEdit(quickSOFT) #SEQ(44) OMIT('ENDOMIT') ! Control: ?Strategy ! Control Number: 96 ! Control Name: ?Strategy ! Level: 2 ! Parent: ?Tab6 ! Parent Name: Tab6:Control ! Use: Strategy ! Type: ENTRY !Template Instance: 44 ! Original: zvDirect ! UnsplitStatement: ENTRY(@s64),AT(87,74,168,12),USE(Strategy),MSG('The scheduling strategy') !ENDOMIT !}}} !{{{ ENTRY ?sol:Rank OMIT('ENDOMIT') ! Control: ?sol:Rank ! Control Number: 97 ! Control Name: ?sol:Rank ! Level: 2 ! Parent: ?Tab6 ! Parent Name: Tab6:Control ! Use: sol:Rank ! Type: ENTRY !Template Instance: ! Original: sol:Rank ! UnsplitStatement: ENTRY(@n6b),AT(256,74,33,12),USE(sol:Rank),RIGHT,MSG('The overall rank when last scheduled'),READONLY !ENDOMIT !}}} !{{{ PROMPT ?zvPrompt:20 zvTypeEdit(quickSOFT) #SEQ(53) OMIT('ENDOMIT') ! Control: ?zvPrompt:20 ! Control Number: 98 ! Control Name: ?zvPrompt:20 ! Level: 2 ! Parent: ?Tab6 ! Parent Name: Tab6:Control ! Use: ! Type: PROMPT !Template Instance: 53 ! Original: ?zvPrompt ! UnsplitStatement: PROMPT('Schedule Alerts:'),AT(5,89,68,10),USE(?zvPrompt:20),RIGHT !ENDOMIT !}}} !{{{ BUTTON ?zvEditor:4 zvTypeEdit(quickSOFT) #SEQ(53) OMIT('ENDOMIT') ! Control: ?zvEditor:4 ! Control Number: 99 ! Control Name: ?zvEditor:4 ! Level: 2 ! Parent: ?Tab6 ! Parent Name: Tab6:Control ! Use: ! Type: BUTTON !Template Instance: 53 ! Original: ?zvEditor ! UnsplitStatement: BUTTON('```'),AT(75,89,10,10),USE(?zvEditor:4) !ENDOMIT !}}} !{{{ ENTRY ?FormattedScheduleLog zvTypeEdit(quickSOFT) #SEQ(53) OMIT('ENDOMIT') ! Control: ?FormattedScheduleLog ! Control Number: 100 ! Control Name: ?FormattedScheduleLog ! Level: 2 ! Parent: ?Tab6 ! Parent Name: Tab6:Control ! Use: FormattedScheduleLog ! Type: ENTRY !Template Instance: 53 ! Original: zvDirect ! UnsplitStatement: ENTRY(@s64),AT(87,87,202,12),USE(FormattedScheduleLog),MSG('Alerts from previous schedule') !ENDOMIT !}}} !{{{ BUTTON ?ReSchedule FormButton(quickSOFT) #SEQ(50) OMIT('ENDOMIT') ! Control: ?ReSchedule ! Control Number: 101 ! Control Name: ?ReSchedule ! Level: 2 ! Parent: ?Tab6 ! Parent Name: Tab6:Control ! Use: ! Type: BUTTON !Template Instance: 50 ! Original: ?Action ! UnsplitStatement: BUTTON('&Re-Schedule Now'),AT(220,101,70,12),USE(?ReSchedule),MSG('Re-schedule the (remaining) demand on this line') !ENDOMIT !}}} !{{{ PROMPT ?zvQtyPrompt:2 zvQtyEdit(quickSOFT) #SEQ(65) OMIT('ENDOMIT') ! Control: ?zvQtyPrompt:2 ! Control Number: 102 ! Control Name: ?zvQtyPrompt:2 ! Level: 2 ! Parent: ?Tab6 ! Parent Name: Tab6:Control ! Use: ! Type: PROMPT !Template Instance: 65 ! Original: ?zvQtyPrompt ! UnsplitStatement: PROMPT('Ordered quantity:'),AT(5,116,68,10),USE(?zvQtyPrompt:2),RIGHT !ENDOMIT !}}} !{{{ BUTTON ?zvEditOrderedQty3 zvQtyEdit(quickSOFT) #SEQ(65) OMIT('ENDOMIT') ! Control: ?zvEditOrderedQty3 ! Control Number: 103 ! Control Name: ?zvEditOrderedQty3 ! Level: 2 ! Parent: ?Tab6 ! Parent Name: Tab6:Control ! Use: ! Type: BUTTON !Template Instance: 65 ! Original: ?zvQtyEditor ! UnsplitStatement: BUTTON('...'),AT(75,116,10,10),USE(?zvEditOrderedQty3) !ENDOMIT !}}} !{{{ ENTRY ?OrderedQty:2 zvQtyEdit(quickSOFT) #SEQ(65) OMIT('ENDOMIT') ! Control: ?OrderedQty:2 ! Control Number: 104 ! Control Name: ?OrderedQty:2 ! Level: 2 ! Parent: ?Tab6 ! Parent Name: Tab6:Control ! Use: OrderedQty ! Type: ENTRY !Template Instance: 65 ! Original: zvQtyDirect ! UnsplitStatement: ENTRY(@s128),AT(87,114,92,12),USE(OrderedQty,,?OrderedQty:2),MSG('The quantity ordered by the customer') !ENDOMIT !}}} !{{{ BUTTON ?DatesHints ActionButton(quickSOFT) #SEQ(42) OMIT('ENDOMIT') ! Control: ?DatesHints ! Control Number: 105 ! Control Name: ?DatesHints ! Level: 2 ! Parent: ?Tab6 ! Parent Name: Tab6:Control ! Use: ! Type: BUTTON !Template Instance: 42 ! Original: ?Action ! UnsplitStatement: BUTTON('&Dates Hints'),AT(220,113,70,11),USE(?DatesHints),MSG('A brief explanation of the significance of the dates you see here to the scheduler.') !ENDOMIT !}}} !{{{ STRING ?String22 OMIT('ENDOMIT') ! Control: ?String22 ! Control Number: 106 ! Control Name: ?String22 ! Level: 2 ! Parent: ?Tab6 ! Parent Name: Tab6:Control ! Use: ! Type: STRING !Template Instance: ! Original: ?String22 ! UnsplitStatement: STRING('Usually accept << ordered << demand'),AT(185,128),USE(?String22) !ENDOMIT !}}} !{{{ PROMPT ?zvPrompt:25 zvTypeEdit(quickSOFT) #SEQ(19) OMIT('ENDOMIT') ! Control: ?zvPrompt:25 ! Control Number: 107 ! Control Name: ?zvPrompt:25 ! Level: 2 ! Parent: ?Tab6 ! Parent Name: Tab6:Control ! Use: ! Type: PROMPT !Template Instance: 19 ! Original: ?zvPrompt ! UnsplitStatement: PROMPT('&Accept quantity:'),AT(5,103,68,10),USE(?zvPrompt:25),RIGHT !ENDOMIT !}}} !{{{ BUTTON ?zvEditAcceptQty zvTypeEdit(quickSOFT) #SEQ(19) OMIT('ENDOMIT') ! Control: ?zvEditAcceptQty ! Control Number: 108 ! Control Name: ?zvEditAcceptQty ! Level: 2 ! Parent: ?Tab6 ! Parent Name: Tab6:Control ! Use: ! Type: BUTTON !Template Instance: 19 ! Original: ?zvEditor ! UnsplitStatement: BUTTON('...'),AT(75,103,10,10),USE(?zvEditAcceptQty) !ENDOMIT !}}} !{{{ ENTRY ?AcceptQty zvTypeEdit(quickSOFT) #SEQ(19) OMIT('ENDOMIT') ! Control: ?AcceptQty ! Control Number: 109 ! Control Name: ?AcceptQty ! Level: 2 ! Parent: ?Tab6 ! Parent Name: Tab6:Control ! Use: AcceptQty ! Type: ENTRY !Template Instance: 19 ! Original: zvDirect ! UnsplitStatement: ENTRY(@s24),AT(87,101,,12),USE(AcceptQty),MSG('If not blank or 0 and less than the ordered quantity, this is the quantity the customer will accept as completing the order. When at least this much has been dispatched the line will be considered to be complete.') !ENDOMIT !}}} !{{{ PROMPT ?zvPrompt:26 zvTypeEdit(quickSOFT) #SEQ(64) OMIT('ENDOMIT') ! Control: ?zvPrompt:26 ! Control Number: 110 ! Control Name: ?zvPrompt:26 ! Level: 2 ! Parent: ?Tab6 ! Parent Name: Tab6:Control ! Use: ! Type: PROMPT !Template Instance: 64 ! Original: ?zvPrompt ! UnsplitStatement: PROMPT('&Demand quantity:'),AT(5,129,68,10),USE(?zvPrompt:26),RIGHT !ENDOMIT !}}} !{{{ BUTTON ?zvEditMakeQty zvTypeEdit(quickSOFT) #SEQ(64) OMIT('ENDOMIT') ! Control: ?zvEditMakeQty ! Control Number: 111 ! Control Name: ?zvEditMakeQty ! Level: 2 ! Parent: ?Tab6 ! Parent Name: Tab6:Control ! Use: ! Type: BUTTON !Template Instance: 64 ! Original: ?zvEditor ! UnsplitStatement: BUTTON('...'),AT(75,129,10,10),USE(?zvEditMakeQty) !ENDOMIT !}}} !{{{ ENTRY ?MakeQty zvTypeEdit(quickSOFT) #SEQ(64) OMIT('ENDOMIT') ! Control: ?MakeQty ! Control Number: 112 ! Control Name: ?MakeQty ! Level: 2 ! Parent: ?Tab6 ! Parent Name: Tab6:Control ! Use: MakeQty ! Type: ENTRY !Template Instance: 64 ! Original: zvDirect ! UnsplitStatement: ENTRY(@s24),AT(87,127,92,12),USE(MakeQty),MSG('When greater than the ordered quantity, use this as the demand required to achieve the ordered quantity. Use this to compensate for expected losses during manufacture. WOs and POs and stock will be allocated for this higher quantity.') !ENDOMIT !}}} !{{{ PROMPT ?zvPrompt:29 zvTypeEdit(quickSOFT) #SEQ(73) OMIT('ENDOMIT') ! Control: ?zvPrompt:29 ! Control Number: 113 ! Control Name: ?zvPrompt:29 ! Level: 2 ! Parent: ?Tab6 ! Parent Name: Tab6:Control ! Use: ! Type: PROMPT !Template Instance: 73 ! Original: ?zvPrompt ! UnsplitStatement: PROMPT('Plan start for:'),AT(8,144,65,10),USE(?zvPrompt:29),RIGHT !ENDOMIT !}}} !{{{ BUTTON ?zvEditStartLimit zvTypeEdit(quickSOFT) #SEQ(73) OMIT('ENDOMIT') ! Control: ?zvEditStartLimit ! Control Number: 114 ! Control Name: ?zvEditStartLimit ! Level: 2 ! Parent: ?Tab6 ! Parent Name: Tab6:Control ! Use: ! Type: BUTTON !Template Instance: 73 ! Original: ?zvEditor ! UnsplitStatement: BUTTON('...'),AT(75,144,10,10),USE(?zvEditStartLimit) !ENDOMIT !}}} !{{{ ENTRY ?StartLimit zvTypeEdit(quickSOFT) #SEQ(73) OMIT('ENDOMIT') ! Control: ?StartLimit ! Control Number: 115 ! Control Name: ?StartLimit ! Level: 2 ! Parent: ?Tab6 ! Parent Name: Tab6:Control ! Use: StartLimit ! Type: ENTRY !Template Instance: 73 ! Original: zvDirect ! UnsplitStatement: ENTRY(@s8),AT(87,142,46,12),USE(StartLimit) !ENDOMIT !}}} !{{{ PROMPT ?zvPrompt:34 zvTypeEdit(quickSOFT) #SEQ(77) OMIT('ENDOMIT') ! Control: ?zvPrompt:34 ! Control Number: 116 ! Control Name: ?zvPrompt:34 ! Level: 2 ! Parent: ?Tab6 ! Parent Name: Tab6:Control ! Use: ! Type: PROMPT !Template Instance: 77 ! Original: ?zvPrompt ! UnsplitStatement: PROMPT('Plan end for:'),AT(135,144,44,10),USE(?zvPrompt:34),RIGHT !ENDOMIT !}}} !{{{ BUTTON ?zvEditTargetDate zvTypeEdit(quickSOFT) #SEQ(77) OMIT('ENDOMIT') ! Control: ?zvEditTargetDate ! Control Number: 117 ! Control Name: ?zvEditTargetDate ! Level: 2 ! Parent: ?Tab6 ! Parent Name: Tab6:Control ! Use: ! Type: BUTTON !Template Instance: 77 ! Original: ?zvEditor ! UnsplitStatement: BUTTON('...'),AT(181,144,10,10),USE(?zvEditTargetDate) !ENDOMIT !}}} !{{{ ENTRY ?TargetDate zvTypeEdit(quickSOFT) #SEQ(77) OMIT('ENDOMIT') ! Control: ?TargetDate ! Control Number: 118 ! Control Name: ?TargetDate ! Level: 2 ! Parent: ?Tab6 ! Parent Name: Tab6:Control ! Use: TargetDate ! Type: ENTRY !Template Instance: 77 ! Original: zvDirect ! UnsplitStatement: ENTRY(@s8),AT(193,142,46,12),USE(TargetDate) !ENDOMIT !}}} !{{{ GROUP ?HideWhenFullyDelivered OMIT('ENDOMIT') ! Control: ?HideWhenFullyDelivered ! Control Number: 119 ! Control Name: ?HideWhenFullyDelivered ! Level: 2 ! Parent: ?Tab6 ! Parent Name: Tab6:Control ! Use: ! Type: GROUP !Template Instance: ! Original: ! UnsplitStatement: GROUP('HideWhenFullyDelivered'),AT(5,152,292,17),USE(?HideWhenFullyDelivered),TRN !ENDOMIT !}}} !{{{ PROMPT ?zvPrompt:19 zvTypeEdit(quickSOFT) #SEQ(33) OMIT('ENDOMIT') ! Control: ?zvPrompt:19 ! Control Number: 120 ! Control Name: ?zvPrompt:19 ! Level: 3 ! Parent: ?HideWhenFullyDelivered ! Parent Name: HideWhenFullyDelivered:Control ! Use: ! Type: PROMPT !Template Instance: 33 ! Original: ?zvPrompt ! UnsplitStatement: PROMPT('Planned Dispatch:'),AT(8,157,65,10),USE(?zvPrompt:19),RIGHT !ENDOMIT !}}} !{{{ BUTTON ?zvEditPlannedDelivery zvTypeEdit(quickSOFT) #SEQ(33) OMIT('ENDOMIT') ! Control: ?zvEditPlannedDelivery ! Control Number: 121 ! Control Name: ?zvEditPlannedDelivery ! Level: 3 ! Parent: ?HideWhenFullyDelivered ! Parent Name: HideWhenFullyDelivered:Control ! Use: ! Type: BUTTON !Template Instance: 33 ! Original: ?zvEditor ! UnsplitStatement: BUTTON('...'),AT(75,157,10,10),USE(?zvEditPlannedDelivery) !ENDOMIT !}}} !{{{ ENTRY ?PlannedDelivery zvTypeEdit(quickSOFT) #SEQ(33) OMIT('ENDOMIT') ! Control: ?PlannedDelivery ! Control Number: 122 ! Control Name: ?PlannedDelivery ! Level: 3 ! Parent: ?HideWhenFullyDelivered ! Parent Name: HideWhenFullyDelivered:Control ! Use: PlannedDelivery ! Type: ENTRY !Template Instance: 33 ! Original: zvDirect ! UnsplitStatement: ENTRY(@s8),AT(87,155,46,12),USE(PlannedDelivery) !ENDOMIT !}}} !{{{ STRING ?DaysLateMessage OMIT('ENDOMIT') ! Control: ?DaysLateMessage ! Control Number: 123 ! Control Name: ?DaysLateMessage ! Level: 3 ! Parent: ?HideWhenFullyDelivered ! Parent Name: HideWhenFullyDelivered:Control ! Use: DaysLateMessage ! Type: STRING !Template Instance: ! Original: ?String4 ! UnsplitStatement: STRING(@s64),AT(136,156),USE(DaysLateMessage),FONT(,,COLOR:Red) !ENDOMIT !}}} !{{{ PROMPT ?zvPrompt:11 zvTypeEdit(quickSOFT) #SEQ(61) OMIT('ENDOMIT') ! Control: ?zvPrompt:11 ! Control Number: 124 ! Control Name: ?zvPrompt:11 ! Level: 2 ! Parent: ?Tab6 ! Parent Name: Tab6:Control ! Use: ! Type: PROMPT !Template Instance: 61 ! Original: ?zvPrompt ! UnsplitStatement: PROMPT('&Promised Date:'),AT(8,170,65,10),USE(?zvPrompt:11),RIGHT !ENDOMIT !}}} !{{{ BUTTON ?zvEditPromisedDate zvTypeEdit(quickSOFT) #SEQ(61) OMIT('ENDOMIT') ! Control: ?zvEditPromisedDate ! Control Number: 125 ! Control Name: ?zvEditPromisedDate ! Level: 2 ! Parent: ?Tab6 ! Parent Name: Tab6:Control ! Use: ! Type: BUTTON !Template Instance: 61 ! Original: ?zvEditor ! UnsplitStatement: BUTTON('...'),AT(75,170,10,10),USE(?zvEditPromisedDate) !ENDOMIT !}}} !{{{ ENTRY ?PromisedDate zvTypeEdit(quickSOFT) #SEQ(61) OMIT('ENDOMIT') ! Control: ?PromisedDate ! Control Number: 126 ! Control Name: ?PromisedDate ! Level: 2 ! Parent: ?Tab6 ! Parent Name: Tab6:Control ! Use: PromisedDate ! Type: ENTRY !Template Instance: 61 ! Original: zvDirect ! UnsplitStatement: ENTRY(@s8),AT(87,168,46,12),USE(PromisedDate) !ENDOMIT !}}} !{{{ PROMPT ?String19 OMIT('ENDOMIT') ! Control: ?String19 ! Control Number: 127 ! Control Name: ?String19 ! Level: 2 ! Parent: ?Tab6 ! Parent Name: Tab6:Control ! Use: ! Type: PROMPT !Template Instance: ! Original: ?String19 ! UnsplitStatement: PROMPT('If set, use this as the schedule target, else use the "To Deliver On" date. Lateness will become relative to this.'),AT(137,166,162,15),USE(?String19) !ENDOMIT !}}} !{{{ PROMPT ?zvPrompt zvTypeEdit(quickSOFT) #SEQ(9) OMIT('ENDOMIT') ! Control: ?zvPrompt ! Control Number: 128 ! Control Name: ?zvPrompt ! Level: 2 ! Parent: ?Tab6 ! Parent Name: Tab6:Control ! Use: ! Type: PROMPT !Template Instance: 9 ! Original: ?zvPrompt ! UnsplitStatement: PROMPT('To Deliver On:'),AT(8,183,65,10),USE(?zvPrompt),RIGHT !ENDOMIT !}}} !{{{ BUTTON ?zvEditDeliverOn3 zvTypeEdit(quickSOFT) #SEQ(9) OMIT('ENDOMIT') ! Control: ?zvEditDeliverOn3 ! Control Number: 129 ! Control Name: ?zvEditDeliverOn3 ! Level: 2 ! Parent: ?Tab6 ! Parent Name: Tab6:Control ! Use: ! Type: BUTTON !Template Instance: 9 ! Original: ?zvEditor ! UnsplitStatement: BUTTON('...'),AT(75,183,10,10),USE(?zvEditDeliverOn3) !ENDOMIT !}}} !{{{ ENTRY ?DeliverOn:2 zvTypeEdit(quickSOFT) #SEQ(9) OMIT('ENDOMIT') ! Control: ?DeliverOn:2 ! Control Number: 130 ! Control Name: ?DeliverOn:2 ! Level: 2 ! Parent: ?Tab6 ! Parent Name: Tab6:Control ! Use: DeliverOn ! Type: ENTRY !Template Instance: 9 ! Original: zvDirect ! UnsplitStatement: ENTRY(@s8),AT(87,181,46,12),USE(DeliverOn,,?DeliverOn:2) !ENDOMIT !}}} !{{{ STRING ?String20 OMIT('ENDOMIT') ! Control: ?String20 ! Control Number: 131 ! Control Name: ?String20 ! Level: 2 ! Parent: ?Tab6 ! Parent Name: Tab6:Control ! Use: ! Type: STRING !Template Instance: ! Original: ?String20 ! UnsplitStatement: STRING('Date requested by the customer'),AT(137,183),USE(?String20) !ENDOMIT !}}} !{{{ PROMPT ?zvPrompt:24 zvTypeEdit(quickSOFT) #SEQ(10) OMIT('ENDOMIT') ! Control: ?zvPrompt:24 ! Control Number: 132 ! Control Name: ?zvPrompt:24 ! Level: 2 ! Parent: ?Tab6 ! Parent Name: Tab6:Control ! Use: ! Type: PROMPT !Template Instance: 10 ! Original: ?zvPrompt ! UnsplitStatement: PROMPT('Actually Delivered On:'),AT(3,196,70,10),USE(?zvPrompt:24),RIGHT !ENDOMIT !}}} !{{{ BUTTON ?zvEditDeliveredOn2 zvTypeEdit(quickSOFT) #SEQ(10) OMIT('ENDOMIT') ! Control: ?zvEditDeliveredOn2 ! Control Number: 133 ! Control Name: ?zvEditDeliveredOn2 ! Level: 2 ! Parent: ?Tab6 ! Parent Name: Tab6:Control ! Use: ! Type: BUTTON !Template Instance: 10 ! Original: ?zvEditor ! UnsplitStatement: BUTTON('...'),AT(75,196,10,10),USE(?zvEditDeliveredOn2) !ENDOMIT !}}} !{{{ ENTRY ?DeliveredOn:2 zvTypeEdit(quickSOFT) #SEQ(10) OMIT('ENDOMIT') ! Control: ?DeliveredOn:2 ! Control Number: 134 ! Control Name: ?DeliveredOn:2 ! Level: 2 ! Parent: ?Tab6 ! Parent Name: Tab6:Control ! Use: DeliveredOn ! Type: ENTRY !Template Instance: 10 ! Original: zvDirect ! UnsplitStatement: ENTRY(@s8),AT(87,194,46,12),USE(DeliveredOn,,?DeliveredOn:2) !ENDOMIT !}}} !{{{ STRING ?String21 OMIT('ENDOMIT') ! Control: ?String21 ! Control Number: 135 ! Control Name: ?String21 ! Level: 2 ! Parent: ?Tab6 ! Parent Name: Tab6:Control ! Use: ! Type: STRING !Template Instance: ! Original: ?String21 ! UnsplitStatement: STRING('When set, the date you actually achieved'),AT(137,196),USE(?String21) !ENDOMIT !}}} !{{{ TAB ?LineCostTab OMIT('ENDOMIT') ! Control: ?LineCostTab ! Control Number: 136 ! Control Name: ?LineCostTab ! Level: 1 ! Parent: ?Sheet1 ! Parent Name: Sheet1:Control ! Use: ! Type: TAB !Template Instance: ! Original: ?Tab7 ! UnsplitStatement: TAB('&6 Profit'),USE(?LineCostTab) !ENDOMIT !}}} !{{{ STRING ?String23 OMIT('ENDOMIT') ! Control: ?String23 ! Control Number: 137 ! Control Name: ?String23 ! Level: 2 ! Parent: ?LineCostTab ! Parent Name: LineCostTab:Control ! Use: ! Type: STRING !Template Instance: ! Original: ?String23 ! UnsplitStatement: STRING('Before invoicing is complete, the value is as ordered. Afterwards, its the actually invoiced value.'),AT(9,77),USE(?String23) !ENDOMIT !}}} !{{{ STRING ?String6 OMIT('ENDOMIT') ! Control: ?String6 ! Control Number: 138 ! Control Name: ?String6 ! Level: 2 ! Parent: ?LineCostTab ! Parent Name: LineCostTab:Control ! Use: ! Type: STRING !Template Instance: ! Original: ?String6 ! UnsplitStatement: STRING('Before delivery is completed, the costs and margins are estimated.'),AT(9,89),USE(?String6) !ENDOMIT !}}} !{{{ STRING ?String7 OMIT('ENDOMIT') ! Control: ?String7 ! Control Number: 139 ! Control Name: ?String7 ! Level: 2 ! Parent: ?LineCostTab ! Parent Name: LineCostTab:Control ! Use: ! Type: STRING !Template Instance: ! Original: ?String7 ! UnsplitStatement: STRING('After the line is fully delivered the costs are based on the cost of what was dispatched.'),AT(9,98),USE(?String7) !ENDOMIT !}}} !{{{ PROMPT ?zvPrompt:8 zvTypeEdit(quickSOFT) #SEQ(8) OMIT('ENDOMIT') ! Control: ?zvPrompt:8 ! Control Number: 140 ! Control Name: ?zvPrompt:8 ! Level: 2 ! Parent: ?LineCostTab ! Parent Name: LineCostTab:Control ! Use: ! Type: PROMPT !Template Instance: 8 ! Original: ?zvPrompt ! UnsplitStatement: PROMPT('Line &Value:'),AT(13,113,46,10),USE(?zvPrompt:8),RIGHT !ENDOMIT !}}} !{{{ BUTTON ?zvEditLineValue zvTypeEdit(quickSOFT) #SEQ(8) OMIT('ENDOMIT') ! Control: ?zvEditLineValue ! Control Number: 141 ! Control Name: ?zvEditLineValue ! Level: 2 ! Parent: ?LineCostTab ! Parent Name: LineCostTab:Control ! Use: ! Type: BUTTON !Template Instance: 8 ! Original: ?zvEditor ! UnsplitStatement: BUTTON('...'),AT(61,113,10,10),USE(?zvEditLineValue) !ENDOMIT !}}} !{{{ ENTRY ?LineValue zvTypeEdit(quickSOFT) #SEQ(8) OMIT('ENDOMIT') ! Control: ?LineValue ! Control Number: 142 ! Control Name: ?LineValue ! Level: 2 ! Parent: ?LineCostTab ! Parent Name: LineCostTab:Control ! Use: LineValue ! Type: ENTRY !Template Instance: 8 ! Original: zvDirect ! UnsplitStatement: ENTRY(@s24),AT(73,111,92,12),USE(LineValue),MSG('Total sales value of this line. Before its fully invoiced this is the value as ordered. After its invoiced, its the value actually invoiced.') !ENDOMIT !}}} !{{{ CHECK ?LineIsInvoiced OMIT('ENDOMIT') ! Control: ?LineIsInvoiced ! Control Number: 143 ! Control Name: ?LineIsInvoiced ! Level: 2 ! Parent: ?LineCostTab ! Parent Name: LineCostTab:Control ! Use: LineIsInvoiced ! Type: CHECK !Template Instance: ! Original: SetInvoiced ! UnsplitStatement: CHECK('Line is fully invoiced'),AT(169,113),USE(LineIsInvoiced),SKIP !ENDOMIT !}}} !{{{ PROMPT ?zvPrompt:9 zvTypeEdit(quickSOFT) #SEQ(35) OMIT('ENDOMIT') ! Control: ?zvPrompt:9 ! Control Number: 144 ! Control Name: ?zvPrompt:9 ! Level: 2 ! Parent: ?LineCostTab ! Parent Name: LineCostTab:Control ! Use: ! Type: PROMPT !Template Instance: 35 ! Original: ?zvPrompt ! UnsplitStatement: PROMPT('Line C&ost:'),AT(13,127,46,10),USE(?zvPrompt:9),RIGHT !ENDOMIT !}}} !{{{ BUTTON ?zvEditLineCost zvTypeEdit(quickSOFT) #SEQ(35) OMIT('ENDOMIT') ! Control: ?zvEditLineCost ! Control Number: 145 ! Control Name: ?zvEditLineCost ! Level: 2 ! Parent: ?LineCostTab ! Parent Name: LineCostTab:Control ! Use: ! Type: BUTTON !Template Instance: 35 ! Original: ?zvEditor ! UnsplitStatement: BUTTON('...'),AT(61,127,10,10),USE(?zvEditLineCost) !ENDOMIT !}}} !{{{ ENTRY ?LineCost zvTypeEdit(quickSOFT) #SEQ(35) OMIT('ENDOMIT') ! Control: ?LineCost ! Control Number: 146 ! Control Name: ?LineCost ! Level: 2 ! Parent: ?LineCostTab ! Parent Name: LineCostTab:Control ! Use: LineCost ! Type: ENTRY !Template Instance: 35 ! Original: zvDirect ! UnsplitStatement: ENTRY(@s24),AT(73,125,92,12),USE(LineCost),MSG('Cost of the items sold (estimated before, actual after delivery)') !ENDOMIT !}}} !{{{ CHECK ?LineIsDispatched OMIT('ENDOMIT') ! Control: ?LineIsDispatched ! Control Number: 147 ! Control Name: ?LineIsDispatched ! Level: 2 ! Parent: ?LineCostTab ! Parent Name: LineCostTab:Control ! Use: LineIsDispatched ! Type: CHECK !Template Instance: ! Original: SetDispatched ! UnsplitStatement: CHECK('Line is fully delivered'),AT(169,127),USE(LineIsDispatched),SKIP !ENDOMIT !}}} !{{{ PROMPT ?zvPrompt:21 zvTypeEdit(quickSOFT) #SEQ(36) OMIT('ENDOMIT') ! Control: ?zvPrompt:21 ! Control Number: 148 ! Control Name: ?zvPrompt:21 ! Level: 2 ! Parent: ?LineCostTab ! Parent Name: LineCostTab:Control ! Use: ! Type: PROMPT !Template Instance: 36 ! Original: ?zvPrompt ! UnsplitStatement: PROMPT('&Gross Profit:'),AT(13,141,46,10),USE(?zvPrompt:21),RIGHT !ENDOMIT !}}} !{{{ BUTTON ?zvEditGrossProfit zvTypeEdit(quickSOFT) #SEQ(36) OMIT('ENDOMIT') ! Control: ?zvEditGrossProfit ! Control Number: 149 ! Control Name: ?zvEditGrossProfit ! Level: 2 ! Parent: ?LineCostTab ! Parent Name: LineCostTab:Control ! Use: ! Type: BUTTON !Template Instance: 36 ! Original: ?zvEditor ! UnsplitStatement: BUTTON('...'),AT(61,141,10,10),USE(?zvEditGrossProfit) !ENDOMIT !}}} !{{{ ENTRY ?GrossProfit zvTypeEdit(quickSOFT) #SEQ(36) OMIT('ENDOMIT') ! Control: ?GrossProfit ! Control Number: 150 ! Control Name: ?GrossProfit ! Level: 2 ! Parent: ?LineCostTab ! Parent Name: LineCostTab:Control ! Use: GrossProfit ! Type: ENTRY !Template Instance: 36 ! Original: zvDirect ! UnsplitStatement: ENTRY(@s24),AT(73,139,92,12),USE(GrossProfit),MSG('Gross Profit = LineValue - LineCost') !ENDOMIT !}}} !{{{ GROUP ?RecalcPriceFromCost OMIT('ENDOMIT') ! Control: ?RecalcPriceFromCost ! Control Number: 151 ! Control Name: ?RecalcPriceFromCost ! Level: 2 ! Parent: ?LineCostTab ! Parent Name: LineCostTab:Control ! Use: ! Type: GROUP !Template Instance: ! Original: ?Group5 ! UnsplitStatement: GROUP('Re-calculate price from actual cost'),AT(167,138,127,38),USE(?RecalcPriceFromCost),BOXED !ENDOMIT !}}} !{{{ PROMPT ?zvPrompt:30 zvTypeEdit(quickSOFT) #SEQ(74) OMIT('ENDOMIT') ! Control: ?zvPrompt:30 ! Control Number: 152 ! Control Name: ?zvPrompt:30 ! Level: 3 ! Parent: ?RecalcPriceFromCost ! Parent Name: RecalcPriceFromCost:Control ! Use: ! Type: PROMPT !Template Instance: 74 ! Original: ?zvPrompt ! UnsplitStatement: PROMPT('based on this Margin:'),AT(169,150,67,10),USE(?zvPrompt:30),RIGHT !ENDOMIT !}}} !{{{ BUTTON ?EditCostPlusMargin zvTypeEdit(quickSOFT) #SEQ(74) OMIT('ENDOMIT') ! Control: ?EditCostPlusMargin ! Control Number: 153 ! Control Name: ?EditCostPlusMargin ! Level: 3 ! Parent: ?RecalcPriceFromCost ! Parent Name: RecalcPriceFromCost:Control ! Use: ! Type: BUTTON !Template Instance: 74 ! Original: ?zvEditor ! UnsplitStatement: BUTTON('...'),AT(237,149,10,10),USE(?EditCostPlusMargin) !ENDOMIT !}}} !{{{ ENTRY ?ActualCostMargin zvTypeEdit(quickSOFT) #SEQ(74) OMIT('ENDOMIT') ! Control: ?ActualCostMargin ! Control Number: 154 ! Control Name: ?ActualCostMargin ! Level: 3 ! Parent: ?RecalcPriceFromCost ! Parent Name: RecalcPriceFromCost:Control ! Use: ActualCostMargin ! Type: ENTRY !Template Instance: 74 ! Original: zvDirect ! UnsplitStatement: ENTRY(@s16),AT(249,148,41,12),USE(ActualCostMargin),MSG('Set the gross margin you would like to achieve over your actual costs') !ENDOMIT !}}} !{{{ BUTTON ?UpdatePriceNow OMIT('ENDOMIT') ! Control: ?UpdatePriceNow ! Control Number: 155 ! Control Name: ?UpdatePriceNow ! Level: 3 ! Parent: ?RecalcPriceFromCost ! Parent Name: RecalcPriceFromCost:Control ! Use: ! Type: BUTTON !Template Instance: ! Original: ! UnsplitStatement: BUTTON('Update price now'),AT(170,162,120,11),USE(?UpdatePriceNow),MSG('Re-calculate the price based on actual costs and the margin set above') !ENDOMIT !}}} !{{{ PROMPT ?Prompt43 OMIT('ENDOMIT') ! Control: ?Prompt43 ! Control Number: 156 ! Control Name: ?Prompt43 ! Level: 2 ! Parent: ?LineCostTab ! Parent Name: LineCostTab:Control ! Use: ! Type: PROMPT !Template Instance: ! Original: ?Prompt43 ! UnsplitStatement: PROMPT('Actual Margin:'),AT(13,157,46,10),USE(?Prompt43) !ENDOMIT !}}} !{{{ ENTRY ?AchievedMarginStr OMIT('ENDOMIT') ! Control: ?AchievedMarginStr ! Control Number: 157 ! Control Name: ?AchievedMarginStr ! Level: 2 ! Parent: ?LineCostTab ! Parent Name: LineCostTab:Control ! Use: AchievedMarginStr ! Type: ENTRY !Template Instance: ! Original: AchievedMargin ! UnsplitStatement: ENTRY(@s16),AT(73,155,47,12),USE(AchievedMarginStr),MSG('Actual margin = (LineValue - LineCost)/LineValue * 100'),READONLY !ENDOMIT !}}} !{{{ GROUP ?Group2 OMIT('ENDOMIT') ! Control: ?Group2 ! Control Number: 158 ! Control Name: ?Group2 ! Level: 2 ! Parent: ?LineCostTab ! Parent Name: LineCostTab:Control ! Use: ! Type: GROUP !Template Instance: ! Original: ?Group2 ! UnsplitStatement: GROUP('WARNING'),AT(9,175,285,30),USE(?Group2),BOXED !ENDOMIT !}}} !{{{ STRING ?String9 OMIT('ENDOMIT') ! Control: ?String9 ! Control Number: 159 ! Control Name: ?String9 ! Level: 3 ! Parent: ?Group2 ! Parent Name: Group2:Control ! Use: ! Type: STRING !Template Instance: ! Original: ?String9 ! UnsplitStatement: STRING('If the line has not been scheduled the costs will not be accurate.'),AT(19,194),USE(?String9),TRN !ENDOMIT !}}} !{{{ STRING ?String8 OMIT('ENDOMIT') ! Control: ?String8 ! Control Number: 160 ! Control Name: ?String8 ! Level: 2 ! Parent: ?LineCostTab ! Parent Name: LineCostTab:Control ! Use: ! Type: STRING !Template Instance: ! Original: ?String8 ! UnsplitStatement: STRING('Before the line is fully dispatched the costs are based on the planned dispatches.'),AT(19,184),USE(?String8),TRN !ENDOMIT !}}} !{{{ TAB ?AuditTab OMIT('ENDOMIT') ! Control: ?AuditTab ! Control Number: 161 ! Control Name: ?AuditTab ! Level: 1 ! Parent: ?Sheet1 ! Parent Name: Sheet1:Control ! Use: ! Type: TAB !Template Instance: ! Original: ?Tab3 ! UnsplitStatement: TAB('&7 Audit'),USE(?AuditTab) !ENDOMIT !}}} !{{{ PROMPT ?zvPrompt:5 zvTypeEdit(quickSOFT) #SEQ(30) OMIT('ENDOMIT') ! Control: ?zvPrompt:5 ! Control Number: 162 ! Control Name: ?zvPrompt:5 ! Level: 2 ! Parent: ?AuditTab ! Parent Name: AuditTab:Control ! Use: ! Type: PROMPT !Template Instance: 30 ! Original: ?zvPrompt ! UnsplitStatement: PROMPT('Dispatched Qty:'),AT(6,77,62,10),USE(?zvPrompt:5),RIGHT !ENDOMIT !}}} !{{{ BUTTON ?EditDispatchedQty zvTypeEdit(quickSOFT) #SEQ(30) OMIT('ENDOMIT') ! Control: ?EditDispatchedQty ! Control Number: 163 ! Control Name: ?EditDispatchedQty ! Level: 2 ! Parent: ?AuditTab ! Parent Name: AuditTab:Control ! Use: ! Type: BUTTON !Template Instance: 30 ! Original: ?zvEditor ! UnsplitStatement: BUTTON('...'),AT(70,77,10,10),USE(?EditDispatchedQty) !ENDOMIT !}}} !{{{ ENTRY ?DispatchedQty zvTypeEdit(quickSOFT) #SEQ(30) OMIT('ENDOMIT') ! Control: ?DispatchedQty ! Control Number: 164 ! Control Name: ?DispatchedQty ! Level: 2 ! Parent: ?AuditTab ! Parent Name: AuditTab:Control ! Use: DispatchedQty ! Type: ENTRY !Template Instance: 30 ! Original: zvDirect ! UnsplitStatement: ENTRY(@s24),AT(82,75,103,12),USE(DispatchedQty),MSG('Quantity dispatched so far against this line') !ENDOMIT !}}} !{{{ BUTTON ?Dispatches FormButton(quickSOFT) #SEQ(17) OMIT('ENDOMIT') ! Control: ?Dispatches ! Control Number: 165 ! Control Name: ?Dispatches ! Level: 2 ! Parent: ?AuditTab ! Parent Name: AuditTab:Control ! Use: ! Type: BUTTON !Template Instance: 17 ! Original: ?Action ! UnsplitStatement: BUTTON('&Dispatches'),AT(199,76,42,11),USE(?Dispatches),MSG('View the dispatches made against this sales line') !ENDOMIT !}}} !{{{ BUTTON ?Action FormButton(quickSOFT) #SEQ(57) OMIT('ENDOMIT') ! Control: ?Action ! Control Number: 166 ! Control Name: ?Action ! Level: 2 ! Parent: ?AuditTab ! Parent Name: AuditTab:Control ! Use: ! Type: BUTTON !Template Instance: 57 ! Original: ?Action ! UnsplitStatement: BUTTON('Stock &Alloc'),AT(243,76,42,11),USE(?Action),MSG('View lthe stock allocation for this sales line') !ENDOMIT !}}} !{{{ PROMPT ?zvPrompt:2 zvTypeEdit(quickSOFT) #SEQ(18) OMIT('ENDOMIT') ! Control: ?zvPrompt:2 ! Control Number: 167 ! Control Name: ?zvPrompt:2 ! Level: 2 ! Parent: ?AuditTab ! Parent Name: AuditTab:Control ! Use: ! Type: PROMPT !Template Instance: 18 ! Original: ?zvPrompt ! UnsplitStatement: PROMPT('Returned Qty:'),AT(6,90,62,10),USE(?zvPrompt:2),RIGHT !ENDOMIT !}}} !{{{ BUTTON ?EditRejectedQty zvTypeEdit(quickSOFT) #SEQ(18) OMIT('ENDOMIT') ! Control: ?EditRejectedQty ! Control Number: 168 ! Control Name: ?EditRejectedQty ! Level: 2 ! Parent: ?AuditTab ! Parent Name: AuditTab:Control ! Use: ! Type: BUTTON !Template Instance: 18 ! Original: ?zvEditor ! UnsplitStatement: BUTTON('...'),AT(70,90,10,10),USE(?EditRejectedQty),MSG('Quantity rejected by the customer so far against this line') !ENDOMIT !}}} !{{{ ENTRY ?RejectedQty zvTypeEdit(quickSOFT) #SEQ(18) OMIT('ENDOMIT') ! Control: ?RejectedQty ! Control Number: 169 ! Control Name: ?RejectedQty ! Level: 2 ! Parent: ?AuditTab ! Parent Name: AuditTab:Control ! Use: RejectedQty ! Type: ENTRY !Template Instance: 18 ! Original: zvDirect ! UnsplitStatement: ENTRY(@s24),AT(82,88,103,12),USE(RejectedQty) !ENDOMIT !}}} !{{{ BUTTON ?Trace FormButton(quickSOFT) #SEQ(49) OMIT('ENDOMIT') ! Control: ?Trace ! Control Number: 170 ! Control Name: ?Trace ! Level: 2 ! Parent: ?AuditTab ! Parent Name: AuditTab:Control ! Use: ! Type: BUTTON !Template Instance: 49 ! Original: ?Action ! UnsplitStatement: BUTTON('&Trace'),AT(199,89,42,11),USE(?Trace),MSG('View moves to/from this sales line - you can see the return moves from here') !ENDOMIT !}}} !{{{ BUTTON ?Events FormButton(quickSOFT) #SEQ(52) OMIT('ENDOMIT') ! Control: ?Events ! Control Number: 171 ! Control Name: ?Events ! Level: 2 ! Parent: ?AuditTab ! Parent Name: AuditTab:Control ! Use: ! Type: BUTTON !Template Instance: 52 ! Original: ?Action ! UnsplitStatement: BUTTON('E&vents'),AT(243,89,42,11),USE(?Events),MSG('Show the events required to fulfil this order') !ENDOMIT !}}} !{{{ BUTTON ?Invoices FormButton(quickSOFT) #SEQ(48) OMIT('ENDOMIT') ! Control: ?Invoices ! Control Number: 172 ! Control Name: ?Invoices ! Level: 2 ! Parent: ?AuditTab ! Parent Name: AuditTab:Control ! Use: ! Type: BUTTON !Template Instance: 48 ! Original: ?Action ! UnsplitStatement: BUTTON('&Invoices'),AT(199,103,42,11),USE(?Invoices),MSG('View the invoices made against this sales line') !ENDOMIT !}}} !{{{ BUTTON ?BarChart FormButton(quickSOFT) #SEQ(66) OMIT('ENDOMIT') ! Control: ?BarChart ! Control Number: 173 ! Control Name: ?BarChart ! Level: 2 ! Parent: ?AuditTab ! Parent Name: AuditTab:Control ! Use: ! Type: BUTTON !Template Instance: 66 ! Original: ?Action ! UnsplitStatement: BUTTON('Ba&r Chart'),AT(243,103,42,11),USE(?BarChart),MSG('Show a bar-chart of the works orders/purchase orders for this line') !ENDOMIT !}}} !{{{ PROMPT ?zvPrompt:3 zvTypeEdit(quickSOFT) #SEQ(22) OMIT('ENDOMIT') ! Control: ?zvPrompt:3 ! Control Number: 174 ! Control Name: ?zvPrompt:3 ! Level: 2 ! Parent: ?AuditTab ! Parent Name: AuditTab:Control ! Use: ! Type: PROMPT !Template Instance: 22 ! Original: ?zvPrompt ! UnsplitStatement: PROMPT('Invoiced Qty:'),AT(6,104,62,10),USE(?zvPrompt:3),RIGHT !ENDOMIT !}}} !{{{ BUTTON ?EditInvoicedQty zvTypeEdit(quickSOFT) #SEQ(22) OMIT('ENDOMIT') ! Control: ?EditInvoicedQty ! Control Number: 175 ! Control Name: ?EditInvoicedQty ! Level: 2 ! Parent: ?AuditTab ! Parent Name: AuditTab:Control ! Use: ! Type: BUTTON !Template Instance: 22 ! Original: ?zvEditor ! UnsplitStatement: BUTTON('...'),AT(70,104,10,10),USE(?EditInvoicedQty) !ENDOMIT !}}} !{{{ ENTRY ?InvoicedQty zvTypeEdit(quickSOFT) #SEQ(22) OMIT('ENDOMIT') ! Control: ?InvoicedQty ! Control Number: 176 ! Control Name: ?InvoicedQty ! Level: 2 ! Parent: ?AuditTab ! Parent Name: AuditTab:Control ! Use: InvoicedQty ! Type: ENTRY !Template Instance: 22 ! Original: zvDirect ! UnsplitStatement: ENTRY(@s24),AT(82,102,103,12),USE(InvoicedQty),MSG('Quantity invoiced so far against this line') !ENDOMIT !}}} !{{{ PROMPT ?zvPrompt:4 zvTypeEdit(quickSOFT) #SEQ(29) OMIT('ENDOMIT') ! Control: ?zvPrompt:4 ! Control Number: 177 ! Control Name: ?zvPrompt:4 ! Level: 2 ! Parent: ?AuditTab ! Parent Name: AuditTab:Control ! Use: ! Type: PROMPT !Template Instance: 29 ! Original: ?zvPrompt ! UnsplitStatement: PROMPT('Credited Qty:'),AT(6,118,62,10),USE(?zvPrompt:4),RIGHT !ENDOMIT !}}} !{{{ BUTTON ?EditCreditedQty zvTypeEdit(quickSOFT) #SEQ(29) OMIT('ENDOMIT') ! Control: ?EditCreditedQty ! Control Number: 178 ! Control Name: ?EditCreditedQty ! Level: 2 ! Parent: ?AuditTab ! Parent Name: AuditTab:Control ! Use: ! Type: BUTTON !Template Instance: 29 ! Original: ?zvEditor ! UnsplitStatement: BUTTON('...'),AT(70,118,10,10),USE(?EditCreditedQty) !ENDOMIT !}}} !{{{ ENTRY ?CreditedQty zvTypeEdit(quickSOFT) #SEQ(29) OMIT('ENDOMIT') ! Control: ?CreditedQty ! Control Number: 179 ! Control Name: ?CreditedQty ! Level: 2 ! Parent: ?AuditTab ! Parent Name: AuditTab:Control ! Use: CreditedQty ! Type: ENTRY !Template Instance: 29 ! Original: zvDirect ! UnsplitStatement: ENTRY(@s24),AT(82,116,103,12),USE(CreditedQty),MSG('Quantity credited to the customer against this line') !ENDOMIT !}}} !{{{ CHECK ?sol:Edited OMIT('ENDOMIT') ! Control: ?sol:Edited ! Control Number: 180 ! Control Name: ?sol:Edited ! Level: 2 ! Parent: ?AuditTab ! Parent Name: AuditTab:Control ! Use: sol:Edited ! Type: CHECK !Template Instance: ! Original: sol:Edited ! UnsplitStatement: CHECK('Line Edited'),AT(126,194,51,10),USE(sol:Edited),SKIP,TRN !ENDOMIT !}}} !{{{ PROMPT ?zvPrompt:14 zvTypeEdit(quickSOFT) #SEQ(46) OMIT('ENDOMIT') ! Control: ?zvPrompt:14 ! Control Number: 181 ! Control Name: ?zvPrompt:14 ! Level: 2 ! Parent: ?AuditTab ! Parent Name: AuditTab:Control ! Use: ! Type: PROMPT !Template Instance: 46 ! Original: ?zvPrompt ! UnsplitStatement: PROMPT('Cancelled On:'),AT(6,134,62,10),USE(?zvPrompt:14),RIGHT !ENDOMIT !}}} !{{{ BUTTON ?zvEditCancelledOn zvTypeEdit(quickSOFT) #SEQ(46) OMIT('ENDOMIT') ! Control: ?zvEditCancelledOn ! Control Number: 182 ! Control Name: ?zvEditCancelledOn ! Level: 2 ! Parent: ?AuditTab ! Parent Name: AuditTab:Control ! Use: ! Type: BUTTON !Template Instance: 46 ! Original: ?zvEditor ! UnsplitStatement: BUTTON('...'),AT(70,134,10,10),USE(?zvEditCancelledOn) !ENDOMIT !}}} !{{{ ENTRY ?CancelledOn zvTypeEdit(quickSOFT) #SEQ(46) OMIT('ENDOMIT') ! Control: ?CancelledOn ! Control Number: 183 ! Control Name: ?CancelledOn ! Level: 2 ! Parent: ?AuditTab ! Parent Name: AuditTab:Control ! Use: CancelledOn ! Type: ENTRY !Template Instance: 46 ! Original: zvDirect ! UnsplitStatement: ENTRY(@s8),AT(82,132,42,12),USE(CancelledOn) !ENDOMIT !}}} !{{{ PROMPT ?zvPrompt:17 zvTypeEdit(quickSOFT) #SEQ(26) OMIT('ENDOMIT') ! Control: ?zvPrompt:17 ! Control Number: 184 ! Control Name: ?zvPrompt:17 ! Level: 2 ! Parent: ?AuditTab ! Parent Name: AuditTab:Control ! Use: ! Type: PROMPT !Template Instance: 26 ! Original: ?zvPrompt ! UnsplitStatement: PROMPT('Price Basis:'),AT(190,164,42,10),USE(?zvPrompt:17),RIGHT !ENDOMIT !}}} !{{{ BUTTON ?zvEditPriceBasis zvTypeEdit(quickSOFT) #SEQ(26) OMIT('ENDOMIT') ! Control: ?zvEditPriceBasis ! Control Number: 185 ! Control Name: ?zvEditPriceBasis ! Level: 2 ! Parent: ?AuditTab ! Parent Name: AuditTab:Control ! Use: ! Type: BUTTON !Template Instance: 26 ! Original: ?zvEditor ! UnsplitStatement: BUTTON('...'),AT(234,164,10,10),USE(?zvEditPriceBasis) !ENDOMIT !}}} !{{{ ENTRY ?PriceBasis zvTypeEdit(quickSOFT) #SEQ(26) OMIT('ENDOMIT') ! Control: ?PriceBasis ! Control Number: 186 ! Control Name: ?PriceBasis ! Level: 2 ! Parent: ?AuditTab ! Parent Name: AuditTab:Control ! Use: PriceBasis ! Type: ENTRY !Template Instance: 26 ! Original: zvDirect ! UnsplitStatement: ENTRY(@s32),AT(246,162,46,12),USE(PriceBasis),MSG('The basis of the recommended price') !ENDOMIT !}}} !{{{ PROMPT ?zvPrompt:15 zvTypeEdit(quickSOFT) #SEQ(47) OMIT('ENDOMIT') ! Control: ?zvPrompt:15 ! Control Number: 187 ! Control Name: ?zvPrompt:15 ! Level: 2 ! Parent: ?AuditTab ! Parent Name: AuditTab:Control ! Use: ! Type: PROMPT !Template Instance: 47 ! Original: ?zvPrompt ! UnsplitStatement: PROMPT('Cancelled By:'),AT(6,148,62,10),USE(?zvPrompt:15),RIGHT !ENDOMIT !}}} !{{{ BUTTON ?zvEditCancelledBy zvTypeEdit(quickSOFT) #SEQ(47) OMIT('ENDOMIT') ! Control: ?zvEditCancelledBy ! Control Number: 188 ! Control Name: ?zvEditCancelledBy ! Level: 2 ! Parent: ?AuditTab ! Parent Name: AuditTab:Control ! Use: ! Type: BUTTON !Template Instance: 47 ! Original: ?zvEditor ! UnsplitStatement: BUTTON('...'),AT(70,148,10,10),USE(?zvEditCancelledBy) !ENDOMIT !}}} !{{{ ENTRY ?CancelledBy zvTypeEdit(quickSOFT) #SEQ(47) OMIT('ENDOMIT') ! Control: ?CancelledBy ! Control Number: 189 ! Control Name: ?CancelledBy ! Level: 2 ! Parent: ?AuditTab ! Parent Name: AuditTab:Control ! Use: CancelledBy ! Type: ENTRY !Template Instance: 47 ! Original: zvDirect ! UnsplitStatement: ENTRY(@s8),AT(82,146,103,12),USE(CancelledBy) !ENDOMIT !}}} !{{{ PROMPT ?zvPrompt:33 zvTypeEdit(quickSOFT) #SEQ(76) OMIT('ENDOMIT') ! Control: ?zvPrompt:33 ! Control Number: 190 ! Control Name: ?zvPrompt:33 ! Level: 2 ! Parent: ?AuditTab ! Parent Name: AuditTab:Control ! Use: ! Type: PROMPT !Template Instance: 76 ! Original: ?zvPrompt ! UnsplitStatement: PROMPT('VAT Code:'),AT(190,148,42,10),USE(?zvPrompt:33),RIGHT !ENDOMIT !}}} !{{{ BUTTON ?zvEditor:11 zvTypeEdit(quickSOFT) #SEQ(76) OMIT('ENDOMIT') ! Control: ?zvEditor:11 ! Control Number: 191 ! Control Name: ?zvEditor:11 ! Level: 2 ! Parent: ?AuditTab ! Parent Name: AuditTab:Control ! Use: ! Type: BUTTON !Template Instance: 76 ! Original: ?zvEditor ! UnsplitStatement: BUTTON('...'),AT(234,148,10,10),USE(?zvEditor:11) !ENDOMIT !}}} !{{{ ENTRY ?VATCode zvTypeEdit(quickSOFT) #SEQ(76) OMIT('ENDOMIT') ! Control: ?VATCode ! Control Number: 192 ! Control Name: ?VATCode ! Level: 2 ! Parent: ?AuditTab ! Parent Name: AuditTab:Control ! Use: VATCode ! Type: ENTRY !Template Instance: 76 ! Original: zvDirect ! UnsplitStatement: ENTRY(@s16),AT(246,146,46,12),USE(VATCode),MSG('The VAT code that will be used when invoicing this line.') !ENDOMIT !}}} !{{{ PROMPT ?zvPrompt:27 zvTypeEdit(quickSOFT) #SEQ(69) OMIT('ENDOMIT') ! Control: ?zvPrompt:27 ! Control Number: 193 ! Control Name: ?zvPrompt:27 ! Level: 2 ! Parent: ?AuditTab ! Parent Name: AuditTab:Control ! Use: ! Type: PROMPT !Template Instance: 69 ! Original: ?zvPrompt ! UnsplitStatement: PROMPT('Cost Centre:'),AT(190,178,42,10),USE(?zvPrompt:27),RIGHT !ENDOMIT !}}} !{{{ BUTTON ?zvEditor zvTypeEdit(quickSOFT) #SEQ(69) OMIT('ENDOMIT') ! Control: ?zvEditor ! Control Number: 194 ! Control Name: ?zvEditor ! Level: 2 ! Parent: ?AuditTab ! Parent Name: AuditTab:Control ! Use: ! Type: BUTTON !Template Instance: 69 ! Original: ?zvEditor ! UnsplitStatement: BUTTON('...'),AT(234,178,10,10),USE(?zvEditor) !ENDOMIT !}}} !{{{ ENTRY ?CostCentre zvTypeEdit(quickSOFT) #SEQ(69) OMIT('ENDOMIT') ! Control: ?CostCentre ! Control Number: 195 ! Control Name: ?CostCentre ! Level: 2 ! Parent: ?AuditTab ! Parent Name: AuditTab:Control ! Use: CostCentre ! Type: ENTRY !Template Instance: 69 ! Original: zvDirect ! UnsplitStatement: ENTRY(@s64),AT(246,176,46,12),USE(CostCentre),MSG('The cost centre code is exported to your accounts system for analysis purposes.') !ENDOMIT !}}} !{{{ PROMPT ?zvPrompt:6 zvTypeEdit(quickSOFT) #SEQ(31) OMIT('ENDOMIT') ! Control: ?zvPrompt:6 ! Control Number: 196 ! Control Name: ?zvPrompt:6 ! Level: 2 ! Parent: ?AuditTab ! Parent Name: AuditTab:Control ! Use: ! Type: PROMPT !Template Instance: 31 ! Original: ?zvPrompt ! UnsplitStatement: PROMPT('Fully Dispatched On:'),AT(6,164,62,10),USE(?zvPrompt:6),RIGHT !ENDOMIT !}}} !{{{ BUTTON ?EditDeliveredOn zvTypeEdit(quickSOFT) #SEQ(31) OMIT('ENDOMIT') ! Control: ?EditDeliveredOn ! Control Number: 197 ! Control Name: ?EditDeliveredOn ! Level: 2 ! Parent: ?AuditTab ! Parent Name: AuditTab:Control ! Use: ! Type: BUTTON !Template Instance: 31 ! Original: ?zvEditor ! UnsplitStatement: BUTTON('...'),AT(70,164,10,10),USE(?EditDeliveredOn) !ENDOMIT !}}} !{{{ ENTRY ?DeliveredOn zvTypeEdit(quickSOFT) #SEQ(31) OMIT('ENDOMIT') ! Control: ?DeliveredOn ! Control Number: 198 ! Control Name: ?DeliveredOn ! Level: 2 ! Parent: ?AuditTab ! Parent Name: AuditTab:Control ! Use: DeliveredOn ! Type: ENTRY !Template Instance: 31 ! Original: zvDirect ! UnsplitStatement: ENTRY(@s8),AT(82,162,42,12),USE(DeliveredOn),MSG('The date of the delivery that completed the delivery for this line') !ENDOMIT !}}} !{{{ CHECK ?SetDispatched OMIT('ENDOMIT') ! Control: ?SetDispatched ! Control Number: 199 ! Control Name: ?SetDispatched ! Level: 2 ! Parent: ?AuditTab ! Parent Name: AuditTab:Control ! Use: SetDispatched ! Type: CHECK !Template Instance: ! Original: ! UnsplitStatement: CHECK('Fully Dispatched'),AT(126,164,61,10),USE(SetDispatched),MSG('Un-check to allow more dispatches to be made') !ENDOMIT !}}} !{{{ PROMPT ?zvPrompt:7 zvTypeEdit(quickSOFT) #SEQ(32) OMIT('ENDOMIT') ! Control: ?zvPrompt:7 ! Control Number: 200 ! Control Name: ?zvPrompt:7 ! Level: 2 ! Parent: ?AuditTab ! Parent Name: AuditTab:Control ! Use: ! Type: PROMPT !Template Instance: 32 ! Original: ?zvPrompt ! UnsplitStatement: PROMPT('Fully Invoiced On:'),AT(6,178,62,10),USE(?zvPrompt:7),RIGHT !ENDOMIT !}}} !{{{ BUTTON ?EditInvoicedOn zvTypeEdit(quickSOFT) #SEQ(32) OMIT('ENDOMIT') ! Control: ?EditInvoicedOn ! Control Number: 201 ! Control Name: ?EditInvoicedOn ! Level: 2 ! Parent: ?AuditTab ! Parent Name: AuditTab:Control ! Use: ! Type: BUTTON !Template Instance: 32 ! Original: ?zvEditor ! UnsplitStatement: BUTTON('...'),AT(70,178,10,10),USE(?EditInvoicedOn) !ENDOMIT !}}} !{{{ ENTRY ?InvoicedOn zvTypeEdit(quickSOFT) #SEQ(32) OMIT('ENDOMIT') ! Control: ?InvoicedOn ! Control Number: 202 ! Control Name: ?InvoicedOn ! Level: 2 ! Parent: ?AuditTab ! Parent Name: AuditTab:Control ! Use: InvoicedOn ! Type: ENTRY !Template Instance: 32 ! Original: zvDirect ! UnsplitStatement: ENTRY(@s8),AT(82,176,42,12),USE(InvoicedOn),MSG('The date of the invoice that completed the invoicing for this line') !ENDOMIT !}}} !{{{ CHECK ?SetInvoiced OMIT('ENDOMIT') ! Control: ?SetInvoiced ! Control Number: 203 ! Control Name: ?SetInvoiced ! Level: 2 ! Parent: ?AuditTab ! Parent Name: AuditTab:Control ! Use: SetInvoiced ! Type: CHECK !Template Instance: ! Original: ! UnsplitStatement: CHECK('Fully Invoiced'),AT(126,177),USE(SetInvoiced),MSG('Un-check to allow re-invoicing, check to prohibit') !ENDOMIT !}}} !{{{ PROMPT ?zvPrompt:28 zvTypeEdit(quickSOFT) #SEQ(70) OMIT('ENDOMIT') ! Control: ?zvPrompt:28 ! Control Number: 204 ! Control Name: ?zvPrompt:28 ! Level: 2 ! Parent: ?AuditTab ! Parent Name: AuditTab:Control ! Use: ! Type: PROMPT !Template Instance: 70 ! Original: ?zvPrompt ! UnsplitStatement: PROMPT('Department:'),AT(190,195,42,10),USE(?zvPrompt:28),RIGHT !ENDOMIT !}}} !{{{ BUTTON ?zvEditor:6 zvTypeEdit(quickSOFT) #SEQ(70) OMIT('ENDOMIT') ! Control: ?zvEditor:6 ! Control Number: 205 ! Control Name: ?zvEditor:6 ! Level: 2 ! Parent: ?AuditTab ! Parent Name: AuditTab:Control ! Use: ! Type: BUTTON !Template Instance: 70 ! Original: ?zvEditor ! UnsplitStatement: BUTTON('...'),AT(234,195,10,10),USE(?zvEditor:6) !ENDOMIT !}}} !{{{ ENTRY ?Department zvTypeEdit(quickSOFT) #SEQ(70) OMIT('ENDOMIT') ! Control: ?Department ! Control Number: 206 ! Control Name: ?Department ! Level: 2 ! Parent: ?AuditTab ! Parent Name: AuditTab:Control ! Use: Department ! Type: ENTRY !Template Instance: 70 ! Original: zvDirect ! UnsplitStatement: ENTRY(@s64),AT(246,193,46,12),USE(Department),MSG('The department code is exported to your accounts system for analysis purposes.') !ENDOMIT !}}} !{{{ PROMPT ?zvPrompt:18 zvTypeEdit(quickSOFT) #SEQ(27) OMIT('ENDOMIT') ! Control: ?zvPrompt:18 ! Control Number: 207 ! Control Name: ?zvPrompt:18 ! Level: 2 ! Parent: ?AuditTab ! Parent Name: AuditTab:Control ! Use: ! Type: PROMPT !Template Instance: 27 ! Original: ?zvPrompt ! UnsplitStatement: PROMPT('Issue Number:'),AT(13,195,55,10),USE(?zvPrompt:18),RIGHT !ENDOMIT !}}} !{{{ BUTTON ?zvEditIssue zvTypeEdit(quickSOFT) #SEQ(27) OMIT('ENDOMIT') ! Control: ?zvEditIssue ! Control Number: 208 ! Control Name: ?zvEditIssue ! Level: 2 ! Parent: ?AuditTab ! Parent Name: AuditTab:Control ! Use: ! Type: BUTTON !Template Instance: 27 ! Original: ?zvEditor ! UnsplitStatement: BUTTON('...'),AT(70,195,10,10),USE(?zvEditIssue) !ENDOMIT !}}} !{{{ ENTRY ?Issue zvTypeEdit(quickSOFT) #SEQ(27) OMIT('ENDOMIT') ! Control: ?Issue ! Control Number: 209 ! Control Name: ?Issue ! Level: 2 ! Parent: ?AuditTab ! Parent Name: AuditTab:Control ! Use: Issue ! Type: ENTRY !Template Instance: 27 ! Original: zvDirect ! UnsplitStatement: ENTRY(@s8),AT(82,193,42,12),USE(Issue),MSG('Sales line issue number') !ENDOMIT !}}} !{{{ TAB ?Actions OMIT('ENDOMIT') ! Control: ?Actions ! Control Number: 210 ! Control Name: ?Actions ! Level: 1 ! Parent: ?Sheet1 ! Parent Name: Sheet1:Control ! Use: ! Type: TAB !Template Instance: ! Original: ?Tab9 ! UnsplitStatement: TAB('&8 Actions'),USE(?Actions) !ENDOMIT !}}} !{{{ BUTTON ?DispatchSchedule FormButton(quickSOFT) #SEQ(71) OMIT('ENDOMIT') ! Control: ?DispatchSchedule ! Control Number: 211 ! Control Name: ?DispatchSchedule ! Level: 2 ! Parent: ?Actions ! Parent Name: Actions:Control ! Use: ! Type: BUTTON !Template Instance: 71 ! Original: ?Action ! UnsplitStatement: BUTTON('&Dispatch schedule...'),AT(11,139,76,11),USE(?DispatchSchedule) !ENDOMIT !}}} !{{{ STRING ?String24 OMIT('ENDOMIT') ! Control: ?String24 ! Control Number: 212 ! Control Name: ?String24 ! Level: 2 ! Parent: ?Actions ! Parent Name: Actions:Control ! Use: ! Type: STRING !Template Instance: ! Original: ?String24 ! UnsplitStatement: STRING('Short-cut to the sales lines dispatch schedule'),AT(95,140,174,10),USE(?String24) !ENDOMIT !}}} !{{{ STRING ?String24:2 OMIT('ENDOMIT') ! Control: ?String24:2 ! Control Number: 213 ! Control Name: ?String24:2 ! Level: 2 ! Parent: ?Actions ! Parent Name: Actions:Control ! Use: ! Type: STRING !Template Instance: ! Original: ?String24 ! UnsplitStatement: STRING('Short-cut to the raise sales invoice schedule'),AT(95,155,181,10),USE(?String24:2) !ENDOMIT !}}} !{{{ GROUP ?WizardGroup OMIT('ENDOMIT') ! Control: ?WizardGroup ! Control Number: 214 ! Control Name: ?WizardGroup ! Level: 2 ! Parent: ?Actions ! Parent Name: Actions:Control ! Use: ! Type: GROUP !Template Instance: ! Original: ?Group6 ! UnsplitStatement: GROUP('Via Wizard'),AT(49,169,191,37),USE(?WizardGroup),BOXED !ENDOMIT !}}} !{{{ BUTTON ?WizardAdd FormButton(quickSOFT) #SEQ(78) OMIT('ENDOMIT') ! Control: ?WizardAdd ! Control Number: 215 ! Control Name: ?WizardAdd ! Level: 3 ! Parent: ?WizardGroup ! Parent Name: WizardGroup:Control ! Use: ! Type: BUTTON !Template Instance: 78 ! Original: ?Action ! UnsplitStatement: BUTTON('Add'),AT(54,179,32,11),USE(?WizardAdd),MSG('Add another line to this order using a wizard') !ENDOMIT !}}} !{{{ PROMPT ?Prompt59 OMIT('ENDOMIT') ! Control: ?Prompt59 ! Control Number: 216 ! Control Name: ?Prompt59 ! Level: 3 ! Parent: ?WizardGroup ! Parent Name: WizardGroup:Control ! Use: ! Type: PROMPT !Template Instance: ! Original: ?Prompt59 ! UnsplitStatement: PROMPT('Create another line on this order via a wizard'),AT(95,180),USE(?Prompt59) !ENDOMIT !}}} !{{{ BUTTON ?WizardEdit FormButton(quickSOFT) #SEQ(79) OMIT('ENDOMIT') ! Control: ?WizardEdit ! Control Number: 217 ! Control Name: ?WizardEdit ! Level: 3 ! Parent: ?WizardGroup ! Parent Name: WizardGroup:Control ! Use: ! Type: BUTTON !Template Instance: 79 ! Original: ?Action ! UnsplitStatement: BUTTON('Edit'),AT(54,191,32,11),USE(?WizardEdit),MSG('Use a wizard to edit this sales line') !ENDOMIT !}}} !{{{ PROMPT ?Prompt60 OMIT('ENDOMIT') ! Control: ?Prompt60 ! Control Number: 218 ! Control Name: ?Prompt60 ! Level: 3 ! Parent: ?WizardGroup ! Parent Name: WizardGroup:Control ! Use: ! Type: PROMPT !Template Instance: ! Original: ?Prompt60 ! UnsplitStatement: PROMPT('Edit this line via a wizard'),AT(95,192),USE(?Prompt60) !ENDOMIT !}}} !{{{ BUTTON ?ReCost OMIT('ENDOMIT') ! Control: ?ReCost ! Control Number: 219 ! Control Name: ?ReCost ! Level: 2 ! Parent: ?Actions ! Parent Name: Actions:Control ! Use: ! Type: BUTTON !Template Instance: ! Original: ?Button14 ! UnsplitStatement: BUTTON('Re-Est&imate Costs'),AT(11,102,76,11),USE(?ReCost),MSG('Press this to re-calculate estimated costs for this part') !ENDOMIT !}}} !{{{ STRING ?String28 OMIT('ENDOMIT') ! Control: ?String28 ! Control Number: 220 ! Control Name: ?String28 ! Level: 2 ! Parent: ?Actions ! Parent Name: Actions:Control ! Use: ! Type: STRING !Template Instance: ! Original: ?String28 ! UnsplitStatement: STRING('Press this to re-calculate estimated costs for this part'),AT(95,103,195,10),USE(?String28) !ENDOMIT !}}} !{{{ BUTTON ?Schedule FormButton(quickSOFT) #SEQ(23) OMIT('ENDOMIT') ! Control: ?Schedule ! Control Number: 221 ! Control Name: ?Schedule ! Level: 2 ! Parent: ?Actions ! Parent Name: Actions:Control ! Use: ! Type: BUTTON !Template Instance: 23 ! Original: ?Action ! UnsplitStatement: BUTTON('What if Schedule?'),AT(11,84,76,11),USE(?Schedule),MSG('Perform a tentative schedule to estimate price and/or duration') !ENDOMIT !}}} !{{{ STRING ?String26 OMIT('ENDOMIT') ! Control: ?String26 ! Control Number: 222 ! Control Name: ?String26 ! Level: 2 ! Parent: ?Actions ! Parent Name: Actions:Control ! Use: ! Type: STRING !Template Instance: ! Original: ?String26 ! UnsplitStatement: STRING('Perform a tentative schedule to estimate price and/or duration'),AT(95,85,198,10),USE(?String26) !ENDOMIT !}}} !{{{ BUTTON ?RaiseTender FormButton(quickSOFT) #SEQ(56) OMIT('ENDOMIT') ! Control: ?RaiseTender ! Control Number: 223 ! Control Name: ?RaiseTender ! Level: 2 ! Parent: ?Actions ! Parent Name: Actions:Control ! Use: ! Type: BUTTON !Template Instance: 56 ! Original: ?Action ! UnsplitStatement: BUTTON('&Tender Product'),AT(11,118,76,11),USE(?RaiseTender),MSG('Raise a tender to get supplier prices for this part') !ENDOMIT !}}} !{{{ STRING ?String27 OMIT('ENDOMIT') ! Control: ?String27 ! Control Number: 224 ! Control Name: ?String27 ! Level: 2 ! Parent: ?Actions ! Parent Name: Actions:Control ! Use: ! Type: STRING !Template Instance: ! Original: ?String27 ! UnsplitStatement: STRING('Raise a tender to get supplier prices for this part'),AT(95,119,183,10),USE(?String27) !ENDOMIT !}}} !{{{ BUTTON ?InvoiceSchedule FormButton(quickSOFT) #SEQ(72) OMIT('ENDOMIT') ! Control: ?InvoiceSchedule ! Control Number: 225 ! Control Name: ?InvoiceSchedule ! Level: 2 ! Parent: ?Actions ! Parent Name: Actions:Control ! Use: ! Type: BUTTON !Template Instance: 72 ! Original: ?Action ! UnsplitStatement: BUTTON('&Invoice schedule...'),AT(11,154,76,11),USE(?InvoiceSchedule) !ENDOMIT !}}} !{{{ PROMPT ?PROMPT12 zvTypeEdit(quickSOFT) #SEQ(45) OMIT('ENDOMIT') ! Control: ?PROMPT12 ! Control Number: 226 ! Control Name: ?PROMPT12 ! Level: 0 ! Parent: ! Parent Name: NULL ! Use: ! Type: PROMPT !Template Instance: 45 ! Original: ?zvPrompt ! UnsplitStatement: PROMPT('Sales Order:'),AT(0,5,58,10),USE(?PROMPT12),RIGHT !ENDOMIT !}}} !{{{ BUTTON ?zvEditSalesOrder zvTypeEdit(quickSOFT) #SEQ(45) OMIT('ENDOMIT') ! Control: ?zvEditSalesOrder ! Control Number: 227 ! Control Name: ?zvEditSalesOrder ! Level: 0 ! Parent: ! Parent Name: NULL ! Use: ! Type: BUTTON !Template Instance: 45 ! Original: ?zvEditor ! UnsplitStatement: BUTTON('...'),AT(61,5,10,10),USE(?zvEditSalesOrder) !ENDOMIT !}}} !{{{ ENTRY ?SalesOrderNum zvTypeEdit(quickSOFT) #SEQ(45) OMIT('ENDOMIT') ! Control: ?SalesOrderNum ! Control Number: 228 ! Control Name: ?SalesOrderNum ! Level: 0 ! Parent: ! Parent Name: NULL ! Use: SalesOrderNum ! Type: ENTRY !Template Instance: 45 ! Original: zvDirect ! UnsplitStatement: ENTRY(@s16),AT(73,3,58,12),USE(SalesOrderNum) !ENDOMIT !}}} !{{{ PROMPT ?soh:TheirOrderNum:Prompt OMIT('ENDOMIT') ! Control: ?soh:TheirOrderNum:Prompt ! Control Number: 229 ! Control Name: ?soh:TheirOrderNum:Prompt ! Level: 0 ! Parent: ! Parent Name: NULL ! Use: ! Type: PROMPT !Template Instance: ! Original: ?soh:TheirOrderNum:Prompt ! UnsplitStatement: PROMPT('Their#:'),AT(133,5,24,10),USE(?soh:TheirOrderNum:Prompt),RIGHT !ENDOMIT !}}} !{{{ ENTRY ?soh:TheirOrderNum OMIT('ENDOMIT') ! Control: ?soh:TheirOrderNum ! Control Number: 230 ! Control Name: ?soh:TheirOrderNum ! Level: 0 ! Parent: ! Parent Name: NULL ! Use: soh:TheirOrderNum ! Type: ENTRY !Template Instance: ! Original: soh:TheirOrderNum ! UnsplitStatement: ENTRY(@s32),AT(158,3,71,12),USE(soh:TheirOrderNum),MSG('The customer order number'),READONLY !ENDOMIT !}}} !{{{ PROMPT ?Prompt38 OMIT('ENDOMIT') ! Control: ?Prompt38 ! Control Number: 231 ! Control Name: ?Prompt38 ! Level: 0 ! Parent: ! Parent Name: NULL ! Use: ! Type: PROMPT !Template Instance: ! Original: ?Prompt38 ! UnsplitStatement: PROMPT('State:'),AT(229,5,21,10),USE(?Prompt38),RIGHT !ENDOMIT !}}} !{{{ ENTRY ?OrderState OMIT('ENDOMIT') ! Control: ?OrderState ! Control Number: 232 ! Control Name: ?OrderState ! Level: 0 ! Parent: ! Parent Name: NULL ! Use: OrderState ! Type: ENTRY !Template Instance: ! Original: OrderState ! UnsplitStatement: ENTRY(@s16),AT(251,3,47,12),USE(OrderState),READONLY !ENDOMIT !}}} !{{{ PROMPT ?sol:Line:Prompt OMIT('ENDOMIT') ! Control: ?sol:Line:Prompt ! Control Number: 233 ! Control Name: ?sol:Line:Prompt ! Level: 0 ! Parent: ! Parent Name: NULL ! Use: ! Type: PROMPT !Template Instance: ! Original: ?sol:Line:Prompt ! UnsplitStatement: PROMPT('Line Number:'),AT(0,19,58,10),USE(?sol:Line:Prompt),RIGHT !ENDOMIT !}}} !{{{ ENTRY ?sol:Line OMIT('ENDOMIT') ! Control: ?sol:Line ! Control Number: 234 ! Control Name: ?sol:Line ! Level: 0 ! Parent: ! Parent Name: NULL ! Use: sol:Line ! Type: ENTRY !Template Instance: ! Original: sol:Line ! UnsplitStatement: ENTRY(@n3),AT(73,17,22,12),USE(sol:Line),MSG('The line number within the order'),READONLY !ENDOMIT !}}} !{{{ CHECK ?IsContainer OMIT('ENDOMIT') ! Control: ?IsContainer ! Control Number: 235 ! Control Name: ?IsContainer ! Level: 0 ! Parent: ! Parent Name: NULL ! Use: IsContainer ! Type: CHECK !Template Instance: ! Original: IsContainer ! UnsplitStatement: CHECK('Is Container'),AT(99,19),USE(IsContainer),MSG('This order line is referring to a ''container'' with multiple outputs'),SKIP,TRN !ENDOMIT !}}} !{{{ CHECK ?IsMultipleOutput OMIT('ENDOMIT') ! Control: ?IsMultipleOutput ! Control Number: 236 ! Control Name: ?IsMultipleOutput ! Level: 0 ! Parent: ! Parent Name: NULL ! Use: IsMultipleOutput ! Type: CHECK !Template Instance: ! Original: IsMultipleOutput ! UnsplitStatement: CHECK('Is Multiple Output'),AT(99,19),USE(IsMultipleOutput),MSG('This order line is referring to an output from a ''container'''),SKIP,TRN !ENDOMIT !}}} !{{{ PROMPT ?PROMPT13 zvTypeEdit(quickSOFT) #SEQ(43) OMIT('ENDOMIT') ! Control: ?PROMPT13 ! Control Number: 237 ! Control Name: ?PROMPT13 ! Level: 0 ! Parent: ! Parent Name: NULL ! Use: ! Type: PROMPT !Template Instance: 43 ! Original: ?zvPrompt ! UnsplitStatement: PROMPT('Cus Line Ref:'),AT(0,33,58,10),USE(?PROMPT13),RIGHT !ENDOMIT !}}} !{{{ BUTTON ?EditRef zvTypeEdit(quickSOFT) #SEQ(43) OMIT('ENDOMIT') ! Control: ?EditRef ! Control Number: 238 ! Control Name: ?EditRef ! Level: 0 ! Parent: ! Parent Name: NULL ! Use: ! Type: BUTTON !Template Instance: 43 ! Original: ?zvEditor ! UnsplitStatement: BUTTON('...'),AT(61,33,10,10),USE(?EditRef) !ENDOMIT !}}} !{{{ ENTRY ?CustomerRef zvTypeEdit(quickSOFT) #SEQ(43) OMIT('ENDOMIT') ! Control: ?CustomerRef ! Control Number: 239 ! Control Name: ?CustomerRef ! Level: 0 ! Parent: ! Parent Name: NULL ! Use: CustomerRef ! Type: ENTRY !Template Instance: 43 ! Original: zvDirect ! UnsplitStatement: ENTRY(@s32),AT(73,31,122,12),USE(CustomerRef) !ENDOMIT !}}} !{{{ PROMPT ?PROMPT14 zvTypeEdit(quickSOFT) #SEQ(4) OMIT('ENDOMIT') ! Control: ?PROMPT14 ! Control Number: 240 ! Control Name: ?PROMPT14 ! Level: 0 ! Parent: ! Parent Name: NULL ! Use: ! Type: PROMPT !Template Instance: 4 ! Original: ! UnsplitStatement: PROMPT('Custo&mer:'),AT(7,47,52,10),USE(?PROMPT14),RIGHT !ENDOMIT !}}} !{{{ BUTTON ?EditCustomer zvTypeEdit(quickSOFT) #SEQ(4) OMIT('ENDOMIT') ! Control: ?EditCustomer ! Control Number: 241 ! Control Name: ?EditCustomer ! Level: 0 ! Parent: ! Parent Name: NULL ! Use: ! Type: BUTTON !Template Instance: 4 ! Original: ?zvEditor ! UnsplitStatement: BUTTON('...'),AT(61,47,10,10),USE(?EditCustomer) !ENDOMIT !}}} !{{{ ENTRY ?Customer zvTypeEdit(quickSOFT) #SEQ(4) OMIT('ENDOMIT') ! Control: ?Customer ! Control Number: 242 ! Control Name: ?Customer ! Level: 0 ! Parent: ! Parent Name: NULL ! Use: Customer ! Type: ENTRY !Template Instance: 4 ! Original: zvDirect ! UnsplitStatement: ENTRY(@s32),AT(73,45,122,12),USE(Customer) !ENDOMIT !}}} !{{{ BUTTON ?History OMIT('ENDOMIT') ! Control: ?History ! Control Number: 243 ! Control Name: ?History ! Level: 0 ! Parent: ! Parent Name: NULL ! Use: ! Type: BUTTON !Template Instance: ! Original: ?Button10 ! UnsplitStatement: BUTTON('&History'),AT(197,46,36,11),USE(?History),MSG('Press this to see recent history for this part with this customer') !ENDOMIT !}}} !{{{ CHECK ?sol:CancelledOn OMIT('ENDOMIT') ! Control: ?sol:CancelledOn ! Control Number: 244 ! Control Name: ?sol:CancelledOn ! Level: 0 ! Parent: ! Parent Name: NULL ! Use: sol:CancelledOn ! Type: CHECK !Template Instance: ! Original: OrderIsCancelled ! UnsplitStatement: CHECK('Line Cancelled'),AT(223,15),USE(sol:CancelledOn),SKIP,TRN !ENDOMIT !}}} !{{{ CHECK ?sol:DeliveredOn OMIT('ENDOMIT') ! Control: ?sol:DeliveredOn ! Control Number: 245 ! Control Name: ?sol:DeliveredOn ! Level: 0 ! Parent: ! Parent Name: NULL ! Use: sol:DeliveredOn ! Type: CHECK !Template Instance: ! Original: sol:DeliveredOn ! UnsplitStatement: CHECK('Line Fully Dispatched'),AT(223,22),USE(sol:DeliveredOn),SKIP,TRN !ENDOMIT !}}} !{{{ CHECK ?sol:InvoicedOn OMIT('ENDOMIT') ! Control: ?sol:InvoicedOn ! Control Number: 246 ! Control Name: ?sol:InvoicedOn ! Level: 0 ! Parent: ! Parent Name: NULL ! Use: sol:InvoicedOn ! Type: CHECK !Template Instance: ! Original: sol:InvoicedOn ! UnsplitStatement: CHECK('Line Fully Invoiced'),AT(223,29),USE(sol:InvoicedOn),SKIP,TRN !ENDOMIT !}}} !{{{ CHECK ?CustomerApproved OMIT('ENDOMIT') ! Control: ?CustomerApproved ! Control Number: 247 ! Control Name: ?CustomerApproved ! Level: 0 ! Parent: ! Parent Name: NULL ! Use: CustomerApproved ! Type: CHECK !Template Instance: ! Original: CustomerApproved ! UnsplitStatement: CHECK('Customer Approved?'),AT(223,36),USE(CustomerApproved),MSG('When checked, the customer and the part are approved for sales'),SKIP,TRN !ENDOMIT !}}} !{{{ BUTTON ?BackOne SaveButton(quickSOFT) #SEQ(3) OMIT('ENDOMIT') ! Control: ?BackOne ! Control Number: 248 ! Control Name: ?BackOne ! Level: 0 ! Parent: ! Parent Name: NULL ! Use: ! Type: BUTTON !Template Instance: 3 ! Original: ?BackOne ! UnsplitStatement: BUTTON('<<&Back'),AT(131,211,24,11),USE(?BackOne),MSG('Press this to go back one record') !ENDOMIT !}}} !{{{ BUTTON ?NextOne SaveButton(quickSOFT) #SEQ(3) OMIT('ENDOMIT') ! Control: ?NextOne ! Control Number: 249 ! Control Name: ?NextOne ! Level: 0 ! Parent: ! Parent Name: NULL ! Use: ! Type: BUTTON !Template Instance: 3 ! Original: ?NextOne ! UnsplitStatement: BUTTON('Ne&xt>'),AT(155,211,24,11),USE(?NextOne),MSG('Press this to go forward one record') !ENDOMIT !}}} !{{{ BUTTON ?NewOne SaveButton(quickSOFT) #SEQ(3) OMIT('ENDOMIT') ! Control: ?NewOne ! Control Number: 250 ! Control Name: ?NewOne ! Level: 0 ! Parent: ! Parent Name: NULL ! Use: ! Type: BUTTON !Template Instance: 3 ! Original: ?NewOne ! UnsplitStatement: BUTTON('Ne&w'),AT(179,211,24,11),USE(?NewOne),MSG('Press this to add a new record') !ENDOMIT !}}} !{{{ BUTTON ?ResetRecord SaveButton(quickSOFT) #SEQ(3) OMIT('ENDOMIT') ! Control: ?ResetRecord ! Control Number: 251 ! Control Name: ?ResetRecord ! Level: 0 ! Parent: ! Parent Name: NULL ! Use: ! Type: BUTTON !Template Instance: 3 ! Original: ?ResetRecord ! UnsplitStatement: BUTTON('Reset'),AT(203,211,24,11),USE(?ResetRecord),MSG('Press this to reset the record to its ''empty'' state') !ENDOMIT !}}} !{{{ BUTTON ?DelOne SaveButton(quickSOFT) #SEQ(3) OMIT('ENDOMIT') ! Control: ?DelOne ! Control Number: 252 ! Control Name: ?DelOne ! Level: 0 ! Parent: ! Parent Name: NULL ! Use: ! Type: BUTTON !Template Instance: 3 ! Original: ?DelOne ! UnsplitStatement: BUTTON('D&el'),AT(227,211,24,11),USE(?DelOne),MSG('Press this to delete the current record') !ENDOMIT !}}} !{{{ BUTTON ?OK SaveButton(quickSOFT) #SEQ(3) OMIT('ENDOMIT') ! Control: ?OK ! Control Number: 253 ! Control Name: ?OK ! Level: 0 ! Parent: ! Parent Name: NULL ! Use: ! Type: BUTTON !Template Instance: 3 ! Original: ?OK ! UnsplitStatement: BUTTON('&Save'),AT(251,211,24,11),USE(?OK),DEFAULT,MSG('Press this to save the changes'),REQ !ENDOMIT !}}} !{{{ BUTTON ?Cancel SaveButton(quickSOFT) #SEQ(3) OMIT('ENDOMIT') ! Control: ?Cancel ! Control Number: 254 ! Control Name: ?Cancel ! Level: 0 ! Parent: ! Parent Name: NULL ! Use: ! Type: BUTTON !Template Instance: 3 ! Original: ?Cancel ! UnsplitStatement: BUTTON('&Close'),AT(275,211,24,11),USE(?Cancel),MSG('Press this to close the form') !ENDOMIT !}}} !{{{ BUTTON ?FormPrint FormPrintButton(quickSOFT) #SEQ(38) OMIT('ENDOMIT') ! Control: ?FormPrint ! Control Number: 255 ! Control Name: ?FormPrint ! Level: 0 ! Parent: ! Parent Name: NULL ! Use: ! Type: BUTTON !Template Instance: 38 ! Original: ?FormPrint ! UnsplitStatement: BUTTON,AT(18,211,14,11),USE(?FormPrint),ICON('REPORT.ICO'),MSG('Press this (or F3) to print the form') !ENDOMIT !}}} !{{{ BUTTON ?Refresh RefreshButton(quickSOFT) #SEQ(54) OMIT('ENDOMIT') ! Control: ?Refresh ! Control Number: 256 ! Control Name: ?Refresh ! Level: 0 ! Parent: ! Parent Name: NULL ! Use: ! Type: BUTTON !Template Instance: 54 ! Original: ?Refresh ! UnsplitStatement: BUTTON,AT(32,211,14,11),USE(?Refresh),ICON('refresh.ico'),MSG('Press this (or F5) to update the screen to reflect changes made by others') !ENDOMIT !}}} !{{{ BUTTON ?Defaults DefaultsButton(quickSOFT) #SEQ(55) OMIT('ENDOMIT') ! Control: ?Defaults ! Control Number: 257 ! Control Name: ?Defaults ! Level: 0 ! Parent: ! Parent Name: NULL ! Use: ! Type: BUTTON !Template Instance: 55 ! Original: ?Defaults ! UnsplitStatement: BUTTON,AT(46,211,14,11),USE(?Defaults),ICON('defaults.ico'),MSG('Press this (or F4) to access the module defaults') !ENDOMIT !}}} !{{{ BUTTON ?Help HelpButton(quickSOFT) #SEQ(21) OMIT('ENDOMIT') ! Control: ?Help ! Control Number: 258 ! Control Name: ?Help ! Level: 0 ! Parent: ! Parent Name: NULL ! Use: ! Type: BUTTON !Template Instance: 21 ! Original: ?Help ! UnsplitStatement: BUTTON,AT(4,211,14,11),USE(?Help),ICON(ICON:Help),MSG('Press this to see the help for this form') !ENDOMIT !}}} !}}} CODE IF TRUE WindowHandler.Run('sohOrder:solUp') END !{{{ DIY procedure ROUTINES !{{{ ResetScheduledCosts ResetScheduledCosts ROUTINE ScheduledCost = umMake(umCurrency(),umInfinity) ScheduledDate = 0 ScheduledQty = umLike(sol:OrderedQty) !}}} !{{{ SyncOurTheirPartNum !Synchronise OurPartNum and TheirPartNum !If TheirPartNumProtected, then OurPartNum takes priority !If OurPartNumProtected, then TheirPartNum takes priority !If both protected, do nothing SyncOurTheirPartNum ROUTINE IF TheirPartNumProtected AND OurPartNumProtected THEN EXIT. !not allowed to change it IF soh:CommittedOn AND (LocalRequest <> InsertRecord) THEN EXIT. !do nothing if approved, unless inserting record IF NOT TheirPartNumProtected AND sol:TheirPartNum !sync OurPartNum to the TheirPartNum selection !Update qty/dims if their part has changed !There is no ambibuity here 'cos there is only one MCH associated with an MCK. sol:OurPartNum = mcGetCusMaterial(soh:Customer,sol:TheirPartNum,JunkStrategy#) IF sol:TheirPartNum <> TheirPartNum:Field.GetOldVar() mcGetSellUnits(sol:TheirPartNum,sol:UnitQty,sol:OrderedQty,sol:Length,sol:Width,sol:Height) IF ~csUseRecommendedQty() THEN sol:OrderedQty = umLike(sol:OrderedQty). END OurPartNum:Field.SetOld() END IF NOT OurPartNumProtected AND sol:OurPartNum !sync TheirPartNum to the OurPartNum selection !Update qty/dims if our part has changed (must be before lookup the MCK IF sol:OurPartNum <> OurPartNum:Field.GetOldVar() sol:OrderedQty = mcGetpackQty(sol:OurPartNum,sol:UnitQty,sol:Length,sol:Width,sol:Height) IF ~csUseRecommendedQty() THEN sol:OrderedQty = umLike(sol:OrderedQty). END !There is ambiguity here 'cos there may be many MCKs associated with the MCH. So wo only !change the MCK if its incompatible with the new MCH. IF ~sol:TheirPartNum OR mcGetCusMaterial(soh:Customer,sol:TheirPartNum,JunkStrategy#) <> sol:OurPartNum OR csUseQuantityBreaks() !Its incompatible so change it sol:TheirPartNum = mcGetStandardPart(soh:Customer,sol:OurPartNum,sol:OrderedQty,sol:Length,sol:Width,sol:Height,,TRUE) TheirPartNum:Field.SetOld() END END !Update extra discount allowed if our/their part changed IF sol:TheirPartNum AND sol:TheirPartNum <> TheirPartNum:Field.GetOldVar() sol:AllowExtraDiscount = mcIsDiscountUseOrder(sol:OurPartNum,sol:TheirPartNum) ELSIF sol:OurPartNum AND sol:OurPartNum <> OurPartNum:Field.GetOldVar() sol:AllowExtraDiscount = mcIsDiscountUseOrder(sol:OurPartNum,sol:TheirPartNum) END !If our/their part changed update qualifiers IF TheirPartNum:Field.GetOldVar() <> sol:TheirPartNum OR OurPartNum:Field.GetOldVar() <> sol:OurPartNum !part changed, update the qualifiers IF qaAssign(sol::Id,sol:RecNo,mch::Id,sol:OurPartNum,mck::Id,sol:TheirPartNum,QualifiersTab:Handle). END !}}} !{{{ MakeTheirPart !If there's no TheirPartNum but there is an OurPartNum, then !ask the user if they want to make a TheirPartNum record. MakeTheirPart ROUTINE IF windowHandler.AcceptAll() OR zxShuttingDown THEN EXIT. !skip if not a user event IF NOT TheirPartNumProtected THEN EXIT. !let the user choose it ! 20/10/01 DCN Don't do this-->IF sol:TheirPartNum THEN EXIT. !already got one IF NOT sol:OurPartNum THEN EXIT. !nothing to associate with IF mcGetFirstCusPart(soh:Customer,sol:OurPartNum) THEN EXIT. !already got an association IF NOT asAccessAllowed(mck::Id,InsertRecord) THEN EXIT. !they're not allowed to do it IF soAutoAddCusPart() = gxNo THEN EXIT. !being told not to do it DO FormatTypes IF soAutoAddCusPart() = gxYes OR gxConfirm('There is no customer specific association for this part.<10><10>' & | 'Do you want to add the part [' & Clip(OurPartNum) & | '] to the list of parts for the customer [' & Clip(Customer) & '] now?') IF mcMakeCusPart(soh:Customer,sol:OurPartNum,OurPartNum). !refresh logic will find it END !The refresh logic will do the rest !}}} !{{{ SetContractContext !From the contract line (if any) get the corresponding contract SetContractContext ROUTINE IF ~sol:ContractLine AND ~sol:QuoteLine sol:ContractLine = soGetLastContract(soh:Customer, | sol:OurPartNum, | sol:TheirPartNum,| sol:Length, | sol:Width, | sol:Height, | gxEarliest(soh:CommittedOn,Today())) END IF sol:ContractLine RawContractRef = sopGetContractRef(sol:ContractLine) !Get the contract# ELSE RawContractRef = 0 END !}}} !{{{ SetQuoteContext !From the quote line (if any) get the corresponding quote SetQuoteContext ROUTINE IF ~sol:ContractLine AND ~sol:QuoteLine sol:QuoteLine = enGetLastQuote(soh:Customer, | sol:OurPartNum, | sol:TheirPartNum,| sol:Length, | sol:Width, | sol:Height, | gxEarliest(soh:CommittedOn,Today())) END IF sol:QuoteLine RawQuoteRef = enQuoteRecOf(sol:QuoteLine) !Get the quote# ELSE RawQuoteRef = 0 END !}}} !{{{ GetRecommendedTheirPart !For the current MCH/CSH/Qty, find the most appropriate MCK !CRJ 4/4/07 - this is a defunct concept now the sync does !exactly the same thing. GetRecommendedTheirPart ROUTINE !IF ~sol:OurPartNum OR ~csUseQuantityBreaks() !Nothing to track RecommendedTheirPart = 0 !ELSE ! RecommendedTheirPart = mcGetStandardPart(soh:Customer,sol:OurPartNum,sol:OrderedQty,sol:Length,sol:Width,sol:Height,,TRUE) !END !}}} !{{{ SetRecommendedPrice !Set the recommended price on the basis of the current selections SetRecommendedPrice ROUTINE RawUnitQty = umMake(0) RawRecommendedPrice = umMake(0) RawUnitCost = umMake(0) RawFullPrice = umMake(0) RawPriceBasis = kdMake(0,0) IF RecommendedTheirPart mcGetSellPrice(RecommendedTheirPart,JunkPackQty",RawUnitQty,RawRecommendedPrice, | sol:OrderedQty,solGetUnitQty(),sol:Length,sol:Width,sol:Height, | RawUnitCost,RawFullPrice,RawPriceBasis,,ScheduledQty,ScheduledCost) ELSIF sol:TheirPartNum mcGetSellPrice(sol:TheirPartNum,JunkPackQty",RawUnitQty,RawRecommendedPrice, | sol:OrderedQty,solGetUnitQty(),sol:Length,sol:Width,sol:Height, | RawUnitCost,RawFullPrice,RawPriceBasis,,ScheduledQty,ScheduledCost) ELSIF sol:OurPartNum RawUnitQty = sol:UnitQty RawUnitCost = mcGetCost (sol:OurPartNum,,solGetUnitQty(),sol:Length,sol:Width,sol:Height,sol:OrderedQty) RawFullPrice = mcGetPrice(sol:OurPartNum,,solGetUnitQty(),sol:Length,sol:Width,sol:Height,sol:OrderedQty,,TRUE) RawRecommendedPrice = mcGetPrice(sol:OurPartNum,,solGetUnitQty(),sol:Length,sol:Width,sol:Height,sol:OrderedQty,,,,soh:Customer) ELSE IF TheirPartNum:Field.GetOldVar()=0 OR OurPartNum:Field.GetOldVar()=0 !zap price 'cos user has de-selected the part sol:UnitPrice = umLike(sol:UnitPrice) ELSE !leave as is END END RawRecommendedPrice = umRoundToPicture(RawRecommendedPrice,umPicture:Item) RawFullPrice = umRoundToPicture(RawFullprice,umPicture:Item) IF SetRecommendedPrice AND umIsPositive(RawUnitQty) sol:UnitQty = RawUnitQty sol:UnitPrice = umRoundToPicture(umMeasureAs(RawRecommendedPrice,csNativeCurrency()),umPicture:Item) IF RecommendedTheirPart AND RecommendedTheirPart <> sol:TheirPartNum AND csUseQuantityBreaks() sol:TheirPartNum = RecommendedTheirPart sol:AllowExtraDiscount = mcIsDiscountUseOrder(sol:OurPartNum,sol:TheirPartNum) IF qaAssign(sol::Id,sol:RecNo,mch::Id,sol:OurPartNum,mck::Id,sol:TheirPartNum,QualifiersTab:Handle). END END !}}} !{{{ SetEarliestDeliveryDate SetEarliestDeliveryDate ROUTINE IF solGetOurPartNum() AND ~umIsZero(sol:OrderedQty) IF gxIsDateDefined(ScheduledDate) RawEarliestPossibleDate = ScheduledDate ELSE IF mcGetCost(solGetOurPartNum(),,solGetUnitQty(),sol:Length,sol:Width,sol:Height,sol:OrderedQty,RawEarliestPossibleDate). END RawEarliestPossibleDate = csDispatchDate(soh:Customer,soh:Carriage,,RawEarliestPossibleDate) ELSE RawEarliestPossibleDate = 0 END IF SetRecommendedDate AND sol:OurPartNum IF gxIsDateRelative(sol:DeliverOn) sol:DeliverOn = gxRelativeDate(RawEarliestPossibleDate) ELSIF RawEarliestPossibleDate sol:DeliverOn = RawEarliestPossibleDate END END !}}} !{{{ SetMargins !Set actual margins based on current settings. !We assume RawUnitCost and RawFullPrice are setup. SetMargins ROUTINE IF umIsZero(RawUnitCost) OR umIsZero(sol:UnitPrice) ActualMargin = 0 ELSE ActualMargin = umMargin(RawUnitCost,sol:UnitPrice) END IF umIsZero(RawFullPrice) OR umIsZero(sol:UnitPrice) ActualDiscount = 0 ELSE ActualDiscount = umDiscount(RawFullPrice,sol:UnitPrice) END ExtraDiscountApplies = mcIsDiscountUseOrder(sol:OurPartNum,sol:TheirPartNum) zvFormat(zvPercent,ActualDiscount,ActualDiscountStr) zvFormat(zvPercent,soh:Discount, sohDiscountStr) !}}} !{{{ SetOrderFromContract !(Re-)load the SOL from the selected contract line (SOP) SetOrderFromContract ROUTINE IF ~LocalsoAutoInheritContract THEN EXIT. IF ~sol:ContractLine THEN EXIT. IF ~gxConfirm('The following contract is currently active for this material:-<10><10>' &| zfDescribe(sop::Id,sol:ContractLine) & '<10><10>' &| 'Would you like to set the material, price and delivery date based on this contract?') THEN EXIT. IF soLoadSOLfromSOP(sol:ContractLine) THEN EXIT. IF qaAssign(sol::Id,sol:RecNo,sop::Id,sol:ContractLine,,,QualifiersTab:Handle). IF qaAssign(sol::Id,sol:RecNo,mch::Id,sol:OurPartNum,mck::Id,sol:TheirPartNum,QualifiersTab:Handle). sol:Edited = FALSE SetRecommendedDate = FALSE !make it stick SetRecommendedPrice = FALSE !.. TheirPartNum:Field.SetOld() !thwart change detector OurPartNum:Field.SetOld() !.. sol:QuoteLine = 0 !un-hook the quote ForceRefresh = TRUE !}}} !{{{ SetOrderFromQuote !(Re-)load the SOL from the selected quote line (ENQ) SetOrderFromQuote ROUTINE IF ~LocalsoAutoInheritQuote THEN EXIT. IF ~sol:QuoteLine THEN EXIT. IF ~gxConfirm('The following quote is currently active for this material:-<10><10>' &| zfDescribe(enq::Id,sol:QuoteLine) & '<10><10>' &| 'Would you like to set the material, price and delivery date based on this quote?') THEN EXIT. IF enLoadSOLfromENQ(sol:QuoteLine) THEN EXIT. IF qaAssign(sol::Id,sol:RecNo,enq::Id,sol:QuoteLine,,,QualifiersTab:Handle). IF qaAssign(sol::Id,sol:RecNo,mch::Id,sol:OurPartNum,mck::Id,sol:TheirPartNum,QualifiersTab:Handle). sol:Edited = FALSE SetRecommendedDate = FALSE !make it stick SetRecommendedPrice = FALSE !.. TheirPartNum:Field.SetOld() !thwart change detector OurPartNum:Field.SetOld() !.. sol:ContractLine = 0 !un-hook the contract ForceRefresh = TRUE !}}} !{{{ SetProfit SetProfit ROUTINE DATA RawEstCost STRING(12),AUTO CODE RawLineCost = umMeasureAs(soGetDispatchCost(),umCurrency()) IF soGetOrderLineValue(,RawLineValue). RawLineValue = umMeasureAs(RawLineValue,umCurrency()) RawGrossProfit = umSubtract(RawLineValue,RawLineCost) AchievedMargin = umMargin(RawLineCost,RawLineValue) zvFormat(zvPercent,AchievedMargin,AchievedMarginStr) RawEstCost = mcGetCost(sol:OurPartNum,,sol:OrderedQty,sol:Length,sol:Width,sol:Height,sol:OrderedQty) RawEstCost = umMeasureAs(RawEstCost,umCurrency()) RawEstimatedProfit = umSubtract(RawLineValue,RawEstCost) !}}} !{{{ SetContainerFeedback SetContainerFeedback ROUTINE IF ~solGetOurPartNum() !no part yet, hide everything DO ResetContainerFlags ELSIF mcIsMultipleOutput(solGetOurPartNum()) !{{{ Its an MO IsContainer = FALSE; Hide (?IsContainer) IsMultipleOutput = TRUE ; UnHide(?IsMultipleOutput) ReplaceByAllOutputs = FALSE; Hide (?ReplaceByAllOutputs) AddAllOutputs = FALSE; Hide (?AddAllOutputs) UnHide(?AddContainer) IF soDoneContainer() AddContainer = TRUE Disable(?AddContainer) ELSE AddContainer = FALSE Enable(?AddContainer) END IF soh:CommittedOn AND (LocalRequest <> InsertRecord) !Approved order, so no SOL deleting allowed ReplaceAllOutputsByCont = FALSE; Hide(?ReplaceAllOutputsByCont) ELSE !Not approved yet, allow fiddling ReplaceAllOutputsByCont = FALSE UnHide(?ReplaceAllOutputsByCont) Enable(?ReplaceAllOutputsByCont) !useful to do this even when container is present END !}}} ELSIF mcIsContainer(solGetOurPartNum()) !{{{ Its a container IsContainer = TRUE ; UnHide(?IsContainer) IsMultipleOutput = FALSE; Hide (?IsMultipleOutput) ReplaceAllOutputsByCont = FALSE; Hide (?ReplaceAllOutputsByCont) AddContainer = FALSE; Hide (?AddContainer) UnHide(?AddAllOutputs) IF soDoneOutputs() AddAllOutputs = TRUE Disable(?AddAllOutputs) ELSE AddAllOutputs = FALSE Enable(?AddAllOutputs) END IF soh:CommittedOn AND (LocalRequest <> InsertRecord) !Approved order, so no SOL deleting allowed ReplaceByAllOutputs = FALSE; Hide(?ReplaceByAllOutputs) ELSE !Not approved yet, allow fiddling UnHide(?ReplaceByAllOutputs) IF AddAllOutputs ReplaceByAllOutputs = TRUE Disable(?ReplaceByAllOutputs) !Just delete the current line to dump the container ELSE ReplaceByAllOutputs = FALSE Enable(?ReplaceByAllOutputs) END END !}}} ELSE !Not an MO or a container, hide everything DO ResetContainerFlags END !}}} !{{{ ResetContainerFlags ResetContainerFlags ROUTINE IsContainer = FALSE; Enable(?IsContainer); Hide(?IsContainer) IsMultipleOutput = FALSE; Enable(?IsMultipleOutput); Hide(?IsMultipleOutput) ReplaceByAllOutputs = FALSE; Enable(?ReplaceByAllOutputs); Hide(?ReplaceByAllOutputs) AddAllOutputs = FALSE; Enable(?AddAllOutputs); Hide(?AddAllOutputs) ReplaceAllOutputsByCont = FALSE; Enable(?ReplaceAllOutputsByCont); Hide(?ReplaceAllOutputsByCont) AddContainer = FALSE; Enable(?AddContainer); Hide(?AddContainer) !}}} !{{{ HasDimsChanged ROUTINE !Return DimsHaveChanged = TRUE if the dimensions ordered have changed !since the last event. HasDimsChanged ROUTINE IF mcIsSameSize(solGetOurPartNum(), | | sol:Length,sol:Width,sol:Height, | | OrderedQty:Field.GetOldVar(OrderedQty::sol:Length),| | OrderedQty:Field.GetOldVar(OrderedQty::sol:Width ),| | OrderedQty:Field.GetOldVar(OrderedQty::sol:Height) ) THEN DimsHaveChanged = FALSE ELSE DimsHaveChanged = TRUE END !}}} !}}} !{{{ WindowHandler ROUTINES !{{{ SetWindowOptions ROUTINE SetWindowOptions ROUTINE WindowHandler.DesignTitle = 'Sales Order Line' WindowHandler.MinWindowWidth = 302 WindowHandler.MinWindowHeight = 223 WindowHandler.IconName = 'FORM.ICO' !{{{ security checking WindowHandler.CheckFile = sol::Id !}}} !}}} !{{{ AttachHandlers ROUTINE AttachHandlers ROUTINE DO AddFiles !{{{ ControlHandlers !{{{ SHEET ?Sheet1 ... Sheet1:Control.ParentHandler &= NULL Sheet1:Control.CType = CREATE:SHEET Sheet1:Control.ControlName = '?Sheet1' Sheet1:Control.FieldName = '?Sheet1' Sheet1:Control.XPos = 2 Sheet1:Control.YPos = 59 Sheet1:Control.Width = 298 Sheet1:Control.Height = 150 Sheet1:Control.Attach(WindowHandler) !}}} !{{{ TAB ?DetailTab '&1 Detail'... DetailTab:Control.ParentHandler &= Sheet1:Control DetailTab:Control.CType = CREATE:TAB DetailTab:Control.ControlName = '?DetailTab' DetailTab:Control.DesignText = '&1 Detail' DetailTab:Control.FieldName = '?DetailTab' DetailTab:Control.Checked = TRUE DetailTab:Control.Help = TRUE DetailTab:Control.Attach(WindowHandler) !}}} !{{{ PROMPT ?PROMPT1 'Their &Part Num:'... PROMPT1:Control.ParentHandler &= DetailTab:Control PROMPT1:Control.CType = CREATE:PROMPT PROMPT1:Control.ControlName = '?PROMPT1' PROMPT1:Control.DesignText = 'Their &Part Num:' PROMPT1:Control.FieldName = '?PROMPT1' PROMPT1:Control.XPos = 3 PROMPT1:Control.YPos = 77 PROMPT1:Control.Width = 59 PROMPT1:Control.Height = 10 PROMPT1:Control.Alignment = zwAlign:Right PROMPT1:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?EditTheirPartNum '...'... EditTheirPartNum:Control.ParentHandler &= DetailTab:Control EditTheirPartNum:Control.CType = CREATE:BUTTON EditTheirPartNum:Control.ControlName = '?EditTheirPartNum' EditTheirPartNum:Control.DesignText = '...' EditTheirPartNum:Control.FieldName = '?EditTheirPartNum' EditTheirPartNum:Control.XPos = 63 EditTheirPartNum:Control.YPos = 77 EditTheirPartNum:Control.Width = 10 EditTheirPartNum:Control.Height = 10 EditTheirPartNum:Control.Attach(WindowHandler) !}}} !{{{ ENTRY ?TheirPartNum @s64... TheirPartNum:Control.ParentHandler &= DetailTab:Control TheirPartNum:Control.CType = CREATE:SINGLELINE TheirPartNum:Control.ControlName = '?TheirPartNum' TheirPartNum:Control.FieldName = 'TheirPartNum' TheirPartNum:Control.XPos = 75 TheirPartNum:Control.YPos = 75 TheirPartNum:Control.Width = 152 TheirPartNum:Control.Height = 12 TheirPartNum:Control.Help = TRUE TheirPartNum:Control.Variable &= TheirPartNum TheirPartNum:Control.Attach(WindowHandler) !}}} !{{{ CHECK ?SelectViaTheirPartNum 'Pick by Their Num'... SelectViaTheirPartNum:Control.ParentHandler &= DetailTab:Control SelectViaTheirPartNum:Control.CType = CREATE:CHECK SelectViaTheirPartNum:Control.ControlName = '?SelectViaTheirPartNum' SelectViaTheirPartNum:Control.DesignText = 'Pick by Their Num' SelectViaTheirPartNum:Control.FieldName = 'SelectViaTheirPartNum' SelectViaTheirPartNum:Control.Checked = TRUE SelectViaTheirPartNum:Control.XPos = 230 SelectViaTheirPartNum:Control.YPos = 77 SelectViaTheirPartNum:Control.Help = TRUE SelectViaTheirPartNum:Control.Variable &= SelectViaTheirPartNum SelectViaTheirPartNum:Control.Attach(WindowHandler) !}}} !{{{ PROMPT ?PROMPT2 '&Our Part Num:'... PROMPT2:Control.ParentHandler &= DetailTab:Control PROMPT2:Control.CType = CREATE:PROMPT PROMPT2:Control.ControlName = '?PROMPT2' PROMPT2:Control.DesignText = '&Our Part Num:' PROMPT2:Control.FieldName = '?PROMPT2' PROMPT2:Control.XPos = 3 PROMPT2:Control.YPos = 91 PROMPT2:Control.Width = 59 PROMPT2:Control.Height = 10 PROMPT2:Control.Alignment = zwAlign:Right PROMPT2:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?EditOurPartNum '...'... EditOurPartNum:Control.ParentHandler &= DetailTab:Control EditOurPartNum:Control.CType = CREATE:BUTTON EditOurPartNum:Control.ControlName = '?EditOurPartNum' EditOurPartNum:Control.DesignText = '...' EditOurPartNum:Control.FieldName = '?EditOurPartNum' EditOurPartNum:Control.XPos = 63 EditOurPartNum:Control.YPos = 91 EditOurPartNum:Control.Width = 10 EditOurPartNum:Control.Height = 10 EditOurPartNum:Control.Attach(WindowHandler) !}}} !{{{ ENTRY ?OurPartNum @s64... OurPartNum:Control.ParentHandler &= DetailTab:Control OurPartNum:Control.CType = CREATE:SINGLELINE OurPartNum:Control.ControlName = '?OurPartNum' OurPartNum:Control.FieldName = 'OurPartNum' OurPartNum:Control.XPos = 75 OurPartNum:Control.YPos = 89 OurPartNum:Control.Width = 152 OurPartNum:Control.Height = 12 OurPartNum:Control.Help = TRUE OurPartNum:Control.Variable &= OurPartNum OurPartNum:Control.Attach(WindowHandler) !}}} !{{{ CHECK ?SelectViaOurPartNum 'Pick b&y Our Num'... SelectViaOurPartNum:Control.ParentHandler &= DetailTab:Control SelectViaOurPartNum:Control.CType = CREATE:CHECK SelectViaOurPartNum:Control.ControlName = '?SelectViaOurPartNum' SelectViaOurPartNum:Control.DesignText = 'Pick b&y Our Num' SelectViaOurPartNum:Control.FieldName = 'SelectViaOurPartNum' SelectViaOurPartNum:Control.Checked = TRUE SelectViaOurPartNum:Control.XPos = 230 SelectViaOurPartNum:Control.YPos = 90 SelectViaOurPartNum:Control.Width = 67 SelectViaOurPartNum:Control.Height = 10 SelectViaOurPartNum:Control.Help = TRUE SelectViaOurPartNum:Control.Variable &= SelectViaOurPartNum SelectViaOurPartNum:Control.Attach(WindowHandler) !}}} !{{{ CHECK ?AddAllOutputs 'Add sales lines for all outputs... AddAllOutputs:Control.ParentHandler &= DetailTab:Control AddAllOutputs:Control.CType = CREATE:CHECK AddAllOutputs:Control.ControlName = '?AddAllOutputs' AddAllOutputs:Control.DesignText = 'Add sales lines for all outputs of the selected container' AddAllOutputs:Control.FieldName = 'AddAllOutputs' AddAllOutputs:Control.Checked = TRUE AddAllOutputs:Control.XPos = 75 AddAllOutputs:Control.YPos = 101 AddAllOutputs:Control.Width = 179 AddAllOutputs:Control.Height = 10 AddAllOutputs:Control.Help = TRUE AddAllOutputs:Control.Transparent = TRUE AddAllOutputs:Control.Variable &= AddAllOutputs AddAllOutputs:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?Design 'Create New Part Num'... Design:Control.ParentHandler &= DetailTab:Control Design:Control.CType = CREATE:BUTTON Design:Control.ControlName = '?Design' Design:Control.DesignText = 'Create New Part Num' Design:Control.FieldName = '?Design' Design:Control.Checked = TRUE Design:Control.XPos = 6 Design:Control.YPos = 104 Design:Control.Width = 68 Design:Control.Height = 11 Design:Control.Help = TRUE Design:Control.Attach(WindowHandler) !}}} !{{{ CHECK ?ReplaceByAllOutputs 'Replace this sales line by all ... ReplaceByAllOutputs:Control.ParentHandler &= DetailTab:Control ReplaceByAllOutputs:Control.CType = CREATE:CHECK ReplaceByAllOutputs:Control.ControlName = '?ReplaceByAllOutputs' ReplaceByAllOutputs:Control.DesignText = 'Replace this sales line by all the outputs of the selected container' ReplaceByAllOutputs:Control.FieldName = 'ReplaceByAllOutputs' ReplaceByAllOutputs:Control.Checked = TRUE ReplaceByAllOutputs:Control.XPos = 75 ReplaceByAllOutputs:Control.YPos = 108 ReplaceByAllOutputs:Control.Help = TRUE ReplaceByAllOutputs:Control.Transparent = TRUE ReplaceByAllOutputs:Control.Variable &= ReplaceByAllOutputs ReplaceByAllOutputs:Control.Attach(WindowHandler) !}}} !{{{ CHECK ?AddContainer 'Add a sales line for the contai... AddContainer:Control.ParentHandler &= DetailTab:Control AddContainer:Control.CType = CREATE:CHECK AddContainer:Control.ControlName = '?AddContainer' AddContainer:Control.DesignText = 'Add a sales line for the container producing this output' AddContainer:Control.FieldName = 'AddContainer' AddContainer:Control.Checked = TRUE AddContainer:Control.XPos = 75 AddContainer:Control.YPos = 101 AddContainer:Control.Width = 197 AddContainer:Control.Height = 10 AddContainer:Control.Help = TRUE AddContainer:Control.Transparent = TRUE AddContainer:Control.Variable &= AddContainer AddContainer:Control.Attach(WindowHandler) !}}} !{{{ CHECK ?ReplaceAllOutputsByCont 'Replace this line and other sim... ReplaceAllOutputsByCont:Control.ParentHandler &= DetailTab:Control ReplaceAllOutputsByCont:Control.CType = CREATE:CHECK ReplaceAllOutputsByCont:Control.ControlName = '?ReplaceAllOutputsByCont' ReplaceAllOutputsByCont:Control.DesignText = 'Replace this line and other similar outputs by its container' ReplaceAllOutputsByCont:Control.FieldName = 'ReplaceAllOutputsByCont' ReplaceAllOutputsByCont:Control.Checked = TRUE ReplaceAllOutputsByCont:Control.XPos = 75 ReplaceAllOutputsByCont:Control.YPos = 108 ReplaceAllOutputsByCont:Control.Help = TRUE ReplaceAllOutputsByCont:Control.Transparent = TRUE ReplaceAllOutputsByCont:Control.Variable &= ReplaceAllOutputsByCont ReplaceAllOutputsByCont:Control.Attach(WindowHandler) !}}} !{{{ PROMPT ?PROMPT3 'Ordered &Quantity:'... PROMPT3:Control.ParentHandler &= DetailTab:Control PROMPT3:Control.CType = CREATE:PROMPT PROMPT3:Control.ControlName = '?PROMPT3' PROMPT3:Control.DesignText = 'Ordered &Quantity:' PROMPT3:Control.FieldName = '?PROMPT3' PROMPT3:Control.XPos = 3 PROMPT3:Control.YPos = 119 PROMPT3:Control.Width = 59 PROMPT3:Control.Height = 10 PROMPT3:Control.Alignment = zwAlign:Right PROMPT3:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?EditOrderedQty '...'... EditOrderedQty:Control.ParentHandler &= DetailTab:Control EditOrderedQty:Control.CType = CREATE:BUTTON EditOrderedQty:Control.ControlName = '?EditOrderedQty' EditOrderedQty:Control.DesignText = '...' EditOrderedQty:Control.FieldName = '?EditOrderedQty' EditOrderedQty:Control.XPos = 63 EditOrderedQty:Control.YPos = 119 EditOrderedQty:Control.Width = 10 EditOrderedQty:Control.Height = 10 EditOrderedQty:Control.Attach(WindowHandler) !}}} !{{{ ENTRY ?OrderedQty @s128... OrderedQty:Control.ParentHandler &= DetailTab:Control OrderedQty:Control.CType = CREATE:SINGLELINE OrderedQty:Control.ControlName = '?OrderedQty' OrderedQty:Control.FieldName = 'OrderedQty' OrderedQty:Control.XPos = 75 OrderedQty:Control.YPos = 117 OrderedQty:Control.Width = 152 OrderedQty:Control.Height = 12 OrderedQty:Control.Help = TRUE OrderedQty:Control.Variable &= OrderedQty OrderedQty:Control.Attach(WindowHandler) !}}} !{{{ PROMPT ?PROMPT4 'To Deli&ver On:'... PROMPT4:Control.ParentHandler &= DetailTab:Control PROMPT4:Control.CType = CREATE:PROMPT PROMPT4:Control.ControlName = '?PROMPT4' PROMPT4:Control.DesignText = 'To Deli&ver On:' PROMPT4:Control.FieldName = '?PROMPT4' PROMPT4:Control.XPos = 3 PROMPT4:Control.YPos = 133 PROMPT4:Control.Width = 59 PROMPT4:Control.Height = 10 PROMPT4:Control.Alignment = zwAlign:Right PROMPT4:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?zvEditDeliverOn '...'... zvEditDeliverOn:Control.ParentHandler &= DetailTab:Control zvEditDeliverOn:Control.CType = CREATE:BUTTON zvEditDeliverOn:Control.ControlName = '?zvEditDeliverOn' zvEditDeliverOn:Control.DesignText = '...' zvEditDeliverOn:Control.FieldName = '?zvEditDeliverOn' zvEditDeliverOn:Control.XPos = 63 zvEditDeliverOn:Control.YPos = 133 zvEditDeliverOn:Control.Width = 10 zvEditDeliverOn:Control.Height = 10 zvEditDeliverOn:Control.Attach(WindowHandler) !}}} !{{{ ENTRY ?DeliverOn @s8... DeliverOn:Control.ParentHandler &= DetailTab:Control DeliverOn:Control.CType = CREATE:SINGLELINE DeliverOn:Control.ControlName = '?DeliverOn' DeliverOn:Control.FieldName = 'DeliverOn' DeliverOn:Control.XPos = 75 DeliverOn:Control.YPos = 131 DeliverOn:Control.Width = 40 DeliverOn:Control.Height = 12 DeliverOn:Control.Help = TRUE DeliverOn:Control.Variable &= DeliverOn DeliverOn:Control.Attach(WindowHandler) !}}} !{{{ CHECK ?SetRecommendedDate 'Use recommended: date'... SetRecommendedDate:Control.ParentHandler &= DetailTab:Control SetRecommendedDate:Control.CType = CREATE:CHECK SetRecommendedDate:Control.ControlName = '?SetRecommendedDate' SetRecommendedDate:Control.DesignText = 'Use recommended: date' SetRecommendedDate:Control.FieldName = 'SetRecommendedDate' SetRecommendedDate:Control.Checked = TRUE SetRecommendedDate:Control.XPos = 167 SetRecommendedDate:Control.YPos = 132 SetRecommendedDate:Control.Width = 131 SetRecommendedDate:Control.Height = 10 SetRecommendedDate:Control.Help = TRUE SetRecommendedDate:Control.Variable &= SetRecommendedDate SetRecommendedDate:Control.Attach(WindowHandler) !}}} !{{{ PROMPT ?zvPricePrompt 'P&rice:'... zvPricePrompt:Control.ParentHandler &= DetailTab:Control zvPricePrompt:Control.CType = CREATE:PROMPT zvPricePrompt:Control.ControlName = '?zvPricePrompt' zvPricePrompt:Control.DesignText = 'P&rice:' zvPricePrompt:Control.FieldName = '?zvPricePrompt' zvPricePrompt:Control.XPos = 3 zvPricePrompt:Control.YPos = 147 zvPricePrompt:Control.Width = 59 zvPricePrompt:Control.Height = 10 zvPricePrompt:Control.Alignment = zwAlign:Right zvPricePrompt:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?zvPriceEditor '...'... zvPriceEditor:Control.ParentHandler &= DetailTab:Control zvPriceEditor:Control.CType = CREATE:BUTTON zvPriceEditor:Control.ControlName = '?zvPriceEditor' zvPriceEditor:Control.DesignText = '...' zvPriceEditor:Control.FieldName = '?zvPriceEditor' zvPriceEditor:Control.XPos = 63 zvPriceEditor:Control.YPos = 147 zvPriceEditor:Control.Width = 10 zvPriceEditor:Control.Height = 10 zvPriceEditor:Control.Attach(WindowHandler) !}}} !{{{ ENTRY ?UnitPrice @s64... UnitPrice:Control.ParentHandler &= DetailTab:Control UnitPrice:Control.CType = CREATE:SINGLELINE UnitPrice:Control.ControlName = '?UnitPrice' UnitPrice:Control.FieldName = 'UnitPrice' UnitPrice:Control.XPos = 75 UnitPrice:Control.YPos = 145 UnitPrice:Control.Width = 90 UnitPrice:Control.Height = 12 UnitPrice:Control.Help = TRUE UnitPrice:Control.Variable &= UnitPrice UnitPrice:Control.Attach(WindowHandler) !}}} !{{{ CHECK ?SetRecommendedPrice '&Use recommended: £x per y each... SetRecommendedPrice:Control.ParentHandler &= DetailTab:Control SetRecommendedPrice:Control.CType = CREATE:CHECK SetRecommendedPrice:Control.ControlName = '?SetRecommendedPrice' SetRecommendedPrice:Control.DesignText = '&Use recommended: £x per y each' SetRecommendedPrice:Control.FieldName = 'SetRecommendedPrice' SetRecommendedPrice:Control.Checked = TRUE SetRecommendedPrice:Control.XPos = 167 SetRecommendedPrice:Control.YPos = 146 SetRecommendedPrice:Control.Width = 132 SetRecommendedPrice:Control.Height = 10 SetRecommendedPrice:Control.Help = TRUE SetRecommendedPrice:Control.Variable &= SetRecommendedPrice SetRecommendedPrice:Control.Attach(WindowHandler) !}}} !{{{ PROMPT ?MarginPr 'Margin:'... MarginPr:Control.ParentHandler &= DetailTab:Control MarginPr:Control.CType = CREATE:PROMPT MarginPr:Control.ControlName = '?MarginPr' MarginPr:Control.DesignText = 'Margin:' MarginPr:Control.FieldName = '?MarginPr' MarginPr:Control.XPos = 3 MarginPr:Control.YPos = 164 MarginPr:Control.Width = 59 MarginPr:Control.Height = 10 MarginPr:Control.Alignment = zwAlign:Right MarginPr:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?zvEditMargin '...'... zvEditMargin:Control.ParentHandler &= DetailTab:Control zvEditMargin:Control.CType = CREATE:BUTTON zvEditMargin:Control.ControlName = '?zvEditMargin' zvEditMargin:Control.DesignText = '...' zvEditMargin:Control.FieldName = '?zvEditMargin' zvEditMargin:Control.XPos = 63 zvEditMargin:Control.YPos = 164 zvEditMargin:Control.Width = 10 zvEditMargin:Control.Height = 10 zvEditMargin:Control.Attach(WindowHandler) !}}} !{{{ ENTRY ?ActualMarginStr @s16... ActualMarginStr:Control.ParentHandler &= DetailTab:Control ActualMarginStr:Control.CType = CREATE:SINGLELINE ActualMarginStr:Control.ControlName = '?ActualMarginStr' ActualMarginStr:Control.FieldName = 'ActualMarginStr' ActualMarginStr:Control.XPos = 75 ActualMarginStr:Control.YPos = 162 ActualMarginStr:Control.Width = 39 ActualMarginStr:Control.Height = 12 ActualMarginStr:Control.Help = TRUE ActualMarginStr:Control.Variable &= ActualMarginStr ActualMarginStr:Control.Attach(WindowHandler) !}}} !{{{ CHECK ?sol:CofCrequired 'C of C &Required'... sol:CofCrequired:Control.ParentHandler &= DetailTab:Control sol:CofCrequired:Control.CType = CREATE:CHECK sol:CofCrequired:Control.ControlName = '?sol:CofCrequired' sol:CofCrequired:Control.DesignText = 'C of C &Required' sol:CofCrequired:Control.FieldName = 'sol:CofCrequired' sol:CofCrequired:Control.Checked = TRUE sol:CofCrequired:Control.XPos = 230 sol:CofCrequired:Control.YPos = 118 sol:CofCrequired:Control.Width = 67 sol:CofCrequired:Control.Height = 10 sol:CofCrequired:Control.Help = TRUE sol:CofCrequired:Control.Transparent = TRUE sol:CofCrequired:Control.Variable &= sol:CofCrequired sol:CofCrequired:Control.Attach(WindowHandler) !}}} !{{{ STRING ?EstimatedProfitStr @s255... EstimatedProfitStr:Control.ParentHandler &= DetailTab:Control EstimatedProfitStr:Control.CType = CREATE:SSTRING EstimatedProfitStr:Control.ControlName = '?EstimatedProfitStr' EstimatedProfitStr:Control.DesignText = '@s255' EstimatedProfitStr:Control.FieldName = 'EstimatedProfitStr' EstimatedProfitStr:Control.XPos = 167 EstimatedProfitStr:Control.YPos = 161 EstimatedProfitStr:Control.Width = 129 EstimatedProfitStr:Control.Transparent = TRUE EstimatedProfitStr:Control.Variable &= EstimatedProfitStr EstimatedProfitStr:Control.Attach(WindowHandler) !}}} !{{{ PROMPT ?Prompt58 'This estimate is against STANDA... Prompt58:Control.ParentHandler &= DetailTab:Control Prompt58:Control.CType = CREATE:PROMPT Prompt58:Control.ControlName = '?Prompt58' Prompt58:Control.DesignText = 'This estimate is against STANDARD costs' Prompt58:Control.FieldName = '?Prompt58' Prompt58:Control.XPos = 167 Prompt58:Control.YPos = 168 Prompt58:Control.Width = 129 Prompt58:Control.Height = 10 Prompt58:Control.Transparent = TRUE Prompt58:Control.Attach(WindowHandler) !}}} !{{{ PROMPT ?zvPrompt:10 'Customer Notes:'... zvPrompt:10:Control.ParentHandler &= DetailTab:Control zvPrompt:10:Control.CType = CREATE:PROMPT zvPrompt:10:Control.ControlName = '?zvPrompt:10' zvPrompt:10:Control.DesignText = 'Customer Notes:' zvPrompt:10:Control.FieldName = '?zvPrompt:10' zvPrompt:10:Control.XPos = 3 zvPrompt:10:Control.YPos = 195 zvPrompt:10:Control.Width = 59 zvPrompt:10:Control.Height = 10 zvPrompt:10:Control.Alignment = zwAlign:Right zvPrompt:10:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?zvEditor:7 '```'... zvEditor:7:Control.ParentHandler &= DetailTab:Control zvEditor:7:Control.CType = CREATE:BUTTON zvEditor:7:Control.ControlName = '?zvEditor:7' zvEditor:7:Control.DesignText = '```' zvEditor:7:Control.FieldName = '?zvEditor:7' zvEditor:7:Control.XPos = 63 zvEditor:7:Control.YPos = 195 zvEditor:7:Control.Width = 10 zvEditor:7:Control.Height = 10 zvEditor:7:Control.Attach(WindowHandler) !}}} !{{{ ENTRY ?ExternalNotes:2 @s64... ExternalNotes:2:Control.ParentHandler &= DetailTab:Control ExternalNotes:2:Control.CType = CREATE:SINGLELINE ExternalNotes:2:Control.ControlName = '?ExternalNotes:2' ExternalNotes:2:Control.FieldName = 'ExternalNotes' ExternalNotes:2:Control.XPos = 75 ExternalNotes:2:Control.YPos = 193 ExternalNotes:2:Control.Width = 219 ExternalNotes:2:Control.Height = 12 ExternalNotes:2:Control.Help = TRUE ExternalNotes:2:Control.Variable &= ExternalNotes ExternalNotes:2:Control.Attach(WindowHandler) !}}} !{{{ PROMPT ?DiscountPr 'Discount:'... DiscountPr:Control.ParentHandler &= DetailTab:Control DiscountPr:Control.CType = CREATE:PROMPT DiscountPr:Control.ControlName = '?DiscountPr' DiscountPr:Control.DesignText = 'Discount:' DiscountPr:Control.FieldName = '?DiscountPr' DiscountPr:Control.XPos = 3 DiscountPr:Control.YPos = 178 DiscountPr:Control.Width = 59 DiscountPr:Control.Height = 10 DiscountPr:Control.Alignment = zwAlign:Right DiscountPr:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?zvEditDiscount '...'... zvEditDiscount:Control.ParentHandler &= DetailTab:Control zvEditDiscount:Control.CType = CREATE:BUTTON zvEditDiscount:Control.ControlName = '?zvEditDiscount' zvEditDiscount:Control.DesignText = '...' zvEditDiscount:Control.FieldName = '?zvEditDiscount' zvEditDiscount:Control.XPos = 63 zvEditDiscount:Control.YPos = 178 zvEditDiscount:Control.Width = 10 zvEditDiscount:Control.Height = 10 zvEditDiscount:Control.Attach(WindowHandler) !}}} !{{{ ENTRY ?ActualDiscountStr @s16... ActualDiscountStr:Control.ParentHandler &= DetailTab:Control ActualDiscountStr:Control.CType = CREATE:SINGLELINE ActualDiscountStr:Control.ControlName = '?ActualDiscountStr' ActualDiscountStr:Control.FieldName = 'ActualDiscountStr' ActualDiscountStr:Control.XPos = 75 ActualDiscountStr:Control.YPos = 176 ActualDiscountStr:Control.Width = 39 ActualDiscountStr:Control.Height = 12 ActualDiscountStr:Control.Help = TRUE ActualDiscountStr:Control.Variable &= ActualDiscountStr ActualDiscountStr:Control.Attach(WindowHandler) !}}} !{{{ CHECK ?sol:AllowExtraDiscount '&Apply extra discount'... sol:AllowExtraDiscount:Control.ParentHandler &= DetailTab:Control sol:AllowExtraDiscount:Control.CType = CREATE:CHECK sol:AllowExtraDiscount:Control.ControlName = '?sol:AllowExtraDiscount' sol:AllowExtraDiscount:Control.DesignText = '&Apply extra discount' sol:AllowExtraDiscount:Control.FieldName = 'sol:AllowExtraDiscount' sol:AllowExtraDiscount:Control.Checked = TRUE sol:AllowExtraDiscount:Control.XPos = 167 sol:AllowExtraDiscount:Control.YPos = 178 sol:AllowExtraDiscount:Control.Width = 131 sol:AllowExtraDiscount:Control.Height = 10 sol:AllowExtraDiscount:Control.Help = TRUE sol:AllowExtraDiscount:Control.Variable &= sol:AllowExtraDiscount sol:AllowExtraDiscount:Control.Attach(WindowHandler) !}}} !{{{ TAB ?Tab8 '&2 Notes/Consign'... Tab8:Control.ParentHandler &= Sheet1:Control Tab8:Control.CType = CREATE:TAB Tab8:Control.ControlName = '?Tab8' Tab8:Control.DesignText = '&2 Notes/Consign' Tab8:Control.FieldName = '?Tab8' Tab8:Control.Checked = TRUE Tab8:Control.Help = TRUE Tab8:Control.Attach(WindowHandler) !}}} !{{{ PROMPT ?PROMPT5 'Notes for Us:'... PROMPT5:Control.ParentHandler &= Tab8:Control PROMPT5:Control.CType = CREATE:PROMPT PROMPT5:Control.ControlName = '?PROMPT5' PROMPT5:Control.DesignText = 'Notes for Us:' PROMPT5:Control.FieldName = '?PROMPT5' PROMPT5:Control.XPos = 7 PROMPT5:Control.YPos = 97 PROMPT5:Control.Width = 75 PROMPT5:Control.Height = 10 PROMPT5:Control.Alignment = zwAlign:Right PROMPT5:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?EditInternalNotes '```'... EditInternalNotes:Control.ParentHandler &= Tab8:Control EditInternalNotes:Control.CType = CREATE:BUTTON EditInternalNotes:Control.ControlName = '?EditInternalNotes' EditInternalNotes:Control.DesignText = '```' EditInternalNotes:Control.FieldName = '?EditInternalNotes' EditInternalNotes:Control.XPos = 83 EditInternalNotes:Control.YPos = 97 EditInternalNotes:Control.Width = 10 EditInternalNotes:Control.Height = 10 EditInternalNotes:Control.Attach(WindowHandler) !}}} !{{{ ENTRY ?InternalNotes @s64... InternalNotes:Control.ParentHandler &= Tab8:Control InternalNotes:Control.CType = CREATE:SINGLELINE InternalNotes:Control.ControlName = '?InternalNotes' InternalNotes:Control.FieldName = 'InternalNotes' InternalNotes:Control.XPos = 95 InternalNotes:Control.YPos = 95 InternalNotes:Control.Width = 192 InternalNotes:Control.Height = 12 InternalNotes:Control.Help = TRUE InternalNotes:Control.Variable &= InternalNotes InternalNotes:Control.Attach(WindowHandler) !}}} !{{{ PROMPT ?PROMPT6 'Customer Notes:'... PROMPT6:Control.ParentHandler &= Tab8:Control PROMPT6:Control.CType = CREATE:PROMPT PROMPT6:Control.ControlName = '?PROMPT6' PROMPT6:Control.DesignText = 'Customer Notes:' PROMPT6:Control.FieldName = '?PROMPT6' PROMPT6:Control.XPos = 7 PROMPT6:Control.YPos = 83 PROMPT6:Control.Width = 75 PROMPT6:Control.Height = 10 PROMPT6:Control.Alignment = zwAlign:Right PROMPT6:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?EditExternalNotes '```'... EditExternalNotes:Control.ParentHandler &= Tab8:Control EditExternalNotes:Control.CType = CREATE:BUTTON EditExternalNotes:Control.ControlName = '?EditExternalNotes' EditExternalNotes:Control.DesignText = '```' EditExternalNotes:Control.FieldName = '?EditExternalNotes' EditExternalNotes:Control.XPos = 83 EditExternalNotes:Control.YPos = 83 EditExternalNotes:Control.Width = 10 EditExternalNotes:Control.Height = 10 EditExternalNotes:Control.Attach(WindowHandler) !}}} !{{{ ENTRY ?ExternalNotes @s64... ExternalNotes:Control.ParentHandler &= Tab8:Control ExternalNotes:Control.CType = CREATE:SINGLELINE ExternalNotes:Control.ControlName = '?ExternalNotes' ExternalNotes:Control.FieldName = 'ExternalNotes' ExternalNotes:Control.XPos = 95 ExternalNotes:Control.YPos = 81 ExternalNotes:Control.Width = 192 ExternalNotes:Control.Height = 12 ExternalNotes:Control.Help = TRUE ExternalNotes:Control.Variable &= ExternalNotes ExternalNotes:Control.Attach(WindowHandler) !}}} !{{{ PROMPT ?PROMPT7 'Cust Works Notes:'... PROMPT7:Control.ParentHandler &= Tab8:Control PROMPT7:Control.CType = CREATE:PROMPT PROMPT7:Control.ControlName = '?PROMPT7' PROMPT7:Control.DesignText = 'Cust Works Notes:' PROMPT7:Control.FieldName = '?PROMPT7' PROMPT7:Control.XPos = 7 PROMPT7:Control.YPos = 111 PROMPT7:Control.Width = 75 PROMPT7:Control.Height = 10 PROMPT7:Control.Alignment = zwAlign:Right PROMPT7:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?zvEditor:2 '```'... zvEditor:2:Control.ParentHandler &= Tab8:Control zvEditor:2:Control.CType = CREATE:BUTTON zvEditor:2:Control.ControlName = '?zvEditor:2' zvEditor:2:Control.DesignText = '```' zvEditor:2:Control.FieldName = '?zvEditor:2' zvEditor:2:Control.XPos = 83 zvEditor:2:Control.YPos = 111 zvEditor:2:Control.Width = 10 zvEditor:2:Control.Height = 10 zvEditor:2:Control.Attach(WindowHandler) !}}} !{{{ ENTRY ?WorksNotes @s64... WorksNotes:Control.ParentHandler &= Tab8:Control WorksNotes:Control.CType = CREATE:SINGLELINE WorksNotes:Control.ControlName = '?WorksNotes' WorksNotes:Control.FieldName = 'WorksNotes' WorksNotes:Control.XPos = 95 WorksNotes:Control.YPos = 109 WorksNotes:Control.Width = 176 WorksNotes:Control.Height = 12 WorksNotes:Control.Help = TRUE WorksNotes:Control.Variable &= WorksNotes WorksNotes:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?UpdateCustWorksNotes ... UpdateCustWorksNotes:Control.ParentHandler &= Tab8:Control UpdateCustWorksNotes:Control.CType = CREATE:BUTTON UpdateCustWorksNotes:Control.ControlName = '?UpdateCustWorksNotes' UpdateCustWorksNotes:Control.FieldName = '?UpdateCustWorksNotes' UpdateCustWorksNotes:Control.Checked = TRUE UpdateCustWorksNotes:Control.XPos = 273 UpdateCustWorksNotes:Control.YPos = 110 UpdateCustWorksNotes:Control.Width = 14 UpdateCustWorksNotes:Control.Height = 11 UpdateCustWorksNotes:Control.Attach(WindowHandler) !}}} !{{{ PROMPT ?PROMPT8 'Enquiry Line Notes:'... PROMPT8:Control.ParentHandler &= Tab8:Control PROMPT8:Control.CType = CREATE:PROMPT PROMPT8:Control.ControlName = '?PROMPT8' PROMPT8:Control.DesignText = 'Enquiry Line Notes:' PROMPT8:Control.FieldName = '?PROMPT8' PROMPT8:Control.XPos = 7 PROMPT8:Control.YPos = 125 PROMPT8:Control.Width = 75 PROMPT8:Control.Height = 10 PROMPT8:Control.Alignment = zwAlign:Right PROMPT8:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?zvEditor:3 '```'... zvEditor:3:Control.ParentHandler &= Tab8:Control zvEditor:3:Control.CType = CREATE:BUTTON zvEditor:3:Control.ControlName = '?zvEditor:3' zvEditor:3:Control.DesignText = '```' zvEditor:3:Control.FieldName = '?zvEditor:3' zvEditor:3:Control.XPos = 83 zvEditor:3:Control.YPos = 125 zvEditor:3:Control.Width = 10 zvEditor:3:Control.Height = 10 zvEditor:3:Control.Attach(WindowHandler) !}}} !{{{ ENTRY ?EnquiryLineNotes @s64... EnquiryLineNotes:Control.ParentHandler &= Tab8:Control EnquiryLineNotes:Control.CType = CREATE:SINGLELINE EnquiryLineNotes:Control.ControlName = '?EnquiryLineNotes' EnquiryLineNotes:Control.FieldName = 'EnquiryLineNotes' EnquiryLineNotes:Control.XPos = 95 EnquiryLineNotes:Control.YPos = 123 EnquiryLineNotes:Control.Width = 176 EnquiryLineNotes:Control.Height = 12 EnquiryLineNotes:Control.Help = TRUE EnquiryLineNotes:Control.Variable &= EnquiryLineNotes EnquiryLineNotes:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?UpdateEnqLineNotes ... UpdateEnqLineNotes:Control.ParentHandler &= Tab8:Control UpdateEnqLineNotes:Control.CType = CREATE:BUTTON UpdateEnqLineNotes:Control.ControlName = '?UpdateEnqLineNotes' UpdateEnqLineNotes:Control.FieldName = '?UpdateEnqLineNotes' UpdateEnqLineNotes:Control.Checked = TRUE UpdateEnqLineNotes:Control.XPos = 273 UpdateEnqLineNotes:Control.YPos = 124 UpdateEnqLineNotes:Control.Width = 14 UpdateEnqLineNotes:Control.Height = 11 UpdateEnqLineNotes:Control.Attach(WindowHandler) !}}} !{{{ PROMPT ?zvPrompt:12 'On Consignment:'... zvPrompt:12:Control.ParentHandler &= Tab8:Control zvPrompt:12:Control.CType = CREATE:PROMPT zvPrompt:12:Control.ControlName = '?zvPrompt:12' zvPrompt:12:Control.DesignText = 'On Consignment:' zvPrompt:12:Control.FieldName = '?zvPrompt:12' zvPrompt:12:Control.XPos = 7 zvPrompt:12:Control.YPos = 147 zvPrompt:12:Control.Width = 75 zvPrompt:12:Control.Height = 10 zvPrompt:12:Control.Alignment = zwAlign:Right zvPrompt:12:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?zvEditor:8 '...'... zvEditor:8:Control.ParentHandler &= Tab8:Control zvEditor:8:Control.CType = CREATE:BUTTON zvEditor:8:Control.ControlName = '?zvEditor:8' zvEditor:8:Control.DesignText = '...' zvEditor:8:Control.FieldName = '?zvEditor:8' zvEditor:8:Control.XPos = 83 zvEditor:8:Control.YPos = 147 zvEditor:8:Control.Width = 10 zvEditor:8:Control.Height = 10 zvEditor:8:Control.Attach(WindowHandler) !}}} !{{{ ENTRY ?ConsignmentFlag @s8... ConsignmentFlag:Control.ParentHandler &= Tab8:Control ConsignmentFlag:Control.CType = CREATE:SINGLELINE ConsignmentFlag:Control.ControlName = '?ConsignmentFlag' ConsignmentFlag:Control.FieldName = 'ConsignmentFlag' ConsignmentFlag:Control.XPos = 95 ConsignmentFlag:Control.YPos = 145 ConsignmentFlag:Control.Width = 43 ConsignmentFlag:Control.Height = 12 ConsignmentFlag:Control.Help = TRUE ConsignmentFlag:Control.Variable &= ConsignmentFlag ConsignmentFlag:Control.Attach(WindowHandler) !}}} !{{{ PROMPT ?zvPrompt:16 'Consignment Qty Used:'... zvPrompt:16:Control.ParentHandler &= Tab8:Control zvPrompt:16:Control.CType = CREATE:PROMPT zvPrompt:16:Control.ControlName = '?zvPrompt:16' zvPrompt:16:Control.DesignText = 'Consignment Qty Used:' zvPrompt:16:Control.FieldName = '?zvPrompt:16' zvPrompt:16:Control.XPos = 7 zvPrompt:16:Control.YPos = 161 zvPrompt:16:Control.Width = 75 zvPrompt:16:Control.Height = 10 zvPrompt:16:Control.Alignment = zwAlign:Right zvPrompt:16:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?zvEditor:9 '...'... zvEditor:9:Control.ParentHandler &= Tab8:Control zvEditor:9:Control.CType = CREATE:BUTTON zvEditor:9:Control.ControlName = '?zvEditor:9' zvEditor:9:Control.DesignText = '...' zvEditor:9:Control.FieldName = '?zvEditor:9' zvEditor:9:Control.XPos = 83 zvEditor:9:Control.YPos = 161 zvEditor:9:Control.Width = 10 zvEditor:9:Control.Height = 10 zvEditor:9:Control.Attach(WindowHandler) !}}} !{{{ ENTRY ?ConsignmentQty @s24... ConsignmentQty:Control.ParentHandler &= Tab8:Control ConsignmentQty:Control.CType = CREATE:SINGLELINE ConsignmentQty:Control.ControlName = '?ConsignmentQty' ConsignmentQty:Control.FieldName = 'ConsignmentQty' ConsignmentQty:Control.XPos = 95 ConsignmentQty:Control.YPos = 159 ConsignmentQty:Control.Width = 84 ConsignmentQty:Control.Height = 12 ConsignmentQty:Control.Help = TRUE ConsignmentQty:Control.Variable &= ConsignmentQty ConsignmentQty:Control.Attach(WindowHandler) !}}} !{{{ PROMPT ?zvPrompt:32 'Consignment Notes:'... zvPrompt:32:Control.ParentHandler &= Tab8:Control zvPrompt:32:Control.CType = CREATE:PROMPT zvPrompt:32:Control.ControlName = '?zvPrompt:32' zvPrompt:32:Control.DesignText = 'Consignment Notes:' zvPrompt:32:Control.FieldName = '?zvPrompt:32' zvPrompt:32:Control.XPos = 7 zvPrompt:32:Control.YPos = 175 zvPrompt:32:Control.Width = 75 zvPrompt:32:Control.Height = 10 zvPrompt:32:Control.Alignment = zwAlign:Right zvPrompt:32:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?zvEditor:10 '...'... zvEditor:10:Control.ParentHandler &= Tab8:Control zvEditor:10:Control.CType = CREATE:BUTTON zvEditor:10:Control.ControlName = '?zvEditor:10' zvEditor:10:Control.DesignText = '...' zvEditor:10:Control.FieldName = '?zvEditor:10' zvEditor:10:Control.XPos = 83 zvEditor:10:Control.YPos = 175 zvEditor:10:Control.Width = 10 zvEditor:10:Control.Height = 10 zvEditor:10:Control.Attach(WindowHandler) !}}} !{{{ ENTRY ?ConsignmentNotes @s64... ConsignmentNotes:Control.ParentHandler &= Tab8:Control ConsignmentNotes:Control.CType = CREATE:SINGLELINE ConsignmentNotes:Control.ControlName = '?ConsignmentNotes' ConsignmentNotes:Control.FieldName = 'ConsignmentNotes' ConsignmentNotes:Control.XPos = 95 ConsignmentNotes:Control.YPos = 173 ConsignmentNotes:Control.Width = 192 ConsignmentNotes:Control.Height = 12 ConsignmentNotes:Control.Help = TRUE ConsignmentNotes:Control.Variable &= ConsignmentNotes ConsignmentNotes:Control.Attach(WindowHandler) !}}} !{{{ TAB ?QualifiersTab '&3 Qualifiers'... QualifiersTab:Control.ParentHandler &= Sheet1:Control QualifiersTab:Control.CType = CREATE:TAB QualifiersTab:Control.ControlName = '?QualifiersTab' QualifiersTab:Control.DesignText = '&3 Qualifiers' QualifiersTab:Control.FieldName = '?QualifiersTab' QualifiersTab:Control.Checked = TRUE QualifiersTab:Control.Help = TRUE QualifiersTab:Control.Attach(WindowHandler) !}}} !{{{ TAB ?Tab7 '&4 Links'... Tab7:Control.ParentHandler &= Sheet1:Control Tab7:Control.CType = CREATE:TAB Tab7:Control.ControlName = '?Tab7' Tab7:Control.DesignText = '&4 Links' Tab7:Control.FieldName = '?Tab7' Tab7:Control.Checked = TRUE Tab7:Control.Help = TRUE Tab7:Control.Attach(WindowHandler) !}}} !{{{ GROUP ?Group3 'Quotation'... Group3:Control.ParentHandler &= Tab7:Control Group3:Control.CType = CREATE:GROUP Group3:Control.ControlName = '?Group3' Group3:Control.DesignText = 'Quotation' Group3:Control.FieldName = '?Group3' Group3:Control.Checked = TRUE Group3:Control.XPos = 7 Group3:Control.YPos = 72 Group3:Control.Width = 287 Group3:Control.Height = 64 Group3:Control.Boxed = TRUE Group3:Control.Attach(WindowHandler) !}}} !{{{ STRING ?String10 'If this order is the result of ... String10:Control.ParentHandler &= Group3:Control String10:Control.CType = CREATE:STRING String10:Control.ControlName = '?String10' String10:Control.DesignText = 'If this order is the result of a quotation, the links above connect this order line to the quote.' String10:Control.FieldName = '?String10' String10:Control.XPos = 13 String10:Control.YPos = 93 String10:Control.Width = 265 String10:Control.Height = 10 String10:Control.Transparent = TRUE String10:Control.Attach(WindowHandler) !}}} !{{{ STRING ?String11 'The quote linked to is consider... String11:Control.ParentHandler &= Group3:Control String11:Control.CType = CREATE:STRING String11:Control.ControlName = '?String11' String11:Control.DesignText = 'The quote linked to is considered to be ''won'' and is removed from your chase list.' String11:Control.FieldName = '?String11' String11:Control.XPos = 13 String11:Control.YPos = 100 String11:Control.Width = 247 String11:Control.Height = 10 String11:Control.Transparent = TRUE String11:Control.Attach(WindowHandler) !}}} !{{{ STRING ?String12 'This link is established automa... String12:Control.ParentHandler &= Group3:Control String12:Control.CType = CREATE:STRING String12:Control.ControlName = '?String12' String12:Control.DesignText = 'This link is established automatically by matching quotes against the order details as they' String12:Control.FieldName = '?String12' String12:Control.XPos = 13 String12:Control.YPos = 107 String12:Control.Width = 271 String12:Control.Height = 10 String12:Control.Transparent = TRUE String12:Control.Attach(WindowHandler) !}}} !{{{ STRING ?String13 'are entered here. You can overr... String13:Control.ParentHandler &= Group3:Control String13:Control.CType = CREATE:STRING String13:Control.ControlName = '?String13' String13:Control.DesignText = 'are entered here. You can override this by selecting a specific ''Of Quote'' above.' String13:Control.FieldName = '?String13' String13:Control.XPos = 13 String13:Control.YPos = 114 String13:Control.Width = 248 String13:Control.Height = 10 String13:Control.Transparent = TRUE String13:Control.Attach(WindowHandler) !}}} !{{{ CHECK ?LocalsoAutoInheritQuote 'If ticked the sales line detail... LocalsoAutoInheritQuote:Control.ParentHandler &= Group3:Control LocalsoAutoInheritQuote:Control.CType = CREATE:CHECK LocalsoAutoInheritQuote:Control.ControlName = '?LocalsoAutoInheritQuote' LocalsoAutoInheritQuote:Control.DesignText = 'If ticked the sales line details will be automatically set from the quote' LocalsoAutoInheritQuote:Control.FieldName = 'LocalsoAutoInheritQuote' LocalsoAutoInheritQuote:Control.Checked = TRUE LocalsoAutoInheritQuote:Control.XPos = 13 LocalsoAutoInheritQuote:Control.YPos = 123 LocalsoAutoInheritQuote:Control.Width = 213 LocalsoAutoInheritQuote:Control.Height = 10 LocalsoAutoInheritQuote:Control.Help = TRUE LocalsoAutoInheritQuote:Control.Skip = TRUE LocalsoAutoInheritQuote:Control.Transparent = TRUE LocalsoAutoInheritQuote:Control.Variable &= LocalsoAutoInheritQuote LocalsoAutoInheritQuote:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?SetQuote 'Set from Quote'... SetQuote:Control.ParentHandler &= Group3:Control SetQuote:Control.CType = CREATE:BUTTON SetQuote:Control.ControlName = '?SetQuote' SetQuote:Control.DesignText = 'Set from Quote' SetQuote:Control.FieldName = '?SetQuote' SetQuote:Control.Checked = TRUE SetQuote:Control.XPos = 231 SetQuote:Control.YPos = 122 SetQuote:Control.Width = 61 SetQuote:Control.Height = 12 SetQuote:Control.Help = TRUE SetQuote:Control.Attach(WindowHandler) !}}} !{{{ PROMPT ?PROMPT9 'Quote Li&ne:'... PROMPT9:Control.ParentHandler &= Tab7:Control PROMPT9:Control.CType = CREATE:PROMPT PROMPT9:Control.ControlName = '?PROMPT9' PROMPT9:Control.DesignText = 'Quote Li&ne:' PROMPT9:Control.FieldName = '?PROMPT9' PROMPT9:Control.XPos = 16 PROMPT9:Control.YPos = 81 PROMPT9:Control.Width = 52 PROMPT9:Control.Height = 10 PROMPT9:Control.Alignment = zwAlign:Right PROMPT9:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?EditQuoteLine '...'... EditQuoteLine:Control.ParentHandler &= Tab7:Control EditQuoteLine:Control.CType = CREATE:BUTTON EditQuoteLine:Control.ControlName = '?EditQuoteLine' EditQuoteLine:Control.DesignText = '...' EditQuoteLine:Control.FieldName = '?EditQuoteLine' EditQuoteLine:Control.XPos = 69 EditQuoteLine:Control.YPos = 81 EditQuoteLine:Control.Width = 10 EditQuoteLine:Control.Height = 10 EditQuoteLine:Control.Attach(WindowHandler) !}}} !{{{ ENTRY ?QuoteLine @s3... QuoteLine:Control.ParentHandler &= Tab7:Control QuoteLine:Control.CType = CREATE:SINGLELINE QuoteLine:Control.ControlName = '?QuoteLine' QuoteLine:Control.FieldName = 'QuoteLine' QuoteLine:Control.XPos = 81 QuoteLine:Control.YPos = 79 QuoteLine:Control.Width = 12 QuoteLine:Control.Height = 12 QuoteLine:Control.Help = TRUE QuoteLine:Control.Variable &= QuoteLine QuoteLine:Control.Attach(WindowHandler) !}}} !{{{ PROMPT ?PROMPT10 'Of Quote:'... PROMPT10:Control.ParentHandler &= Tab7:Control PROMPT10:Control.CType = CREATE:PROMPT PROMPT10:Control.ControlName = '?PROMPT10' PROMPT10:Control.DesignText = 'Of Quote:' PROMPT10:Control.FieldName = '?PROMPT10' PROMPT10:Control.XPos = 105 PROMPT10:Control.YPos = 81 PROMPT10:Control.Width = 42 PROMPT10:Control.Height = 10 PROMPT10:Control.Alignment = zwAlign:Right PROMPT10:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?EditQuoteRef '...'... EditQuoteRef:Control.ParentHandler &= Tab7:Control EditQuoteRef:Control.CType = CREATE:BUTTON EditQuoteRef:Control.ControlName = '?EditQuoteRef' EditQuoteRef:Control.DesignText = '...' EditQuoteRef:Control.FieldName = '?EditQuoteRef' EditQuoteRef:Control.XPos = 148 EditQuoteRef:Control.YPos = 81 EditQuoteRef:Control.Width = 10 EditQuoteRef:Control.Height = 10 EditQuoteRef:Control.Attach(WindowHandler) !}}} !{{{ ENTRY ?QuoteRef @s10... QuoteRef:Control.ParentHandler &= Tab7:Control QuoteRef:Control.CType = CREATE:SINGLELINE QuoteRef:Control.ControlName = '?QuoteRef' QuoteRef:Control.FieldName = 'QuoteRef' QuoteRef:Control.XPos = 160 QuoteRef:Control.YPos = 79 QuoteRef:Control.Width = 58 QuoteRef:Control.Height = 12 QuoteRef:Control.Help = TRUE QuoteRef:Control.Variable &= QuoteRef QuoteRef:Control.Attach(WindowHandler) !}}} !{{{ GROUP ?Group4 'Sales Contract'... Group4:Control.ParentHandler &= Tab7:Control Group4:Control.CType = CREATE:GROUP Group4:Control.ControlName = '?Group4' Group4:Control.DesignText = 'Sales Contract' Group4:Control.FieldName = '?Group4' Group4:Control.Checked = TRUE Group4:Control.XPos = 7 Group4:Control.YPos = 136 Group4:Control.Width = 287 Group4:Control.Height = 70 Group4:Control.Boxed = TRUE Group4:Control.Attach(WindowHandler) !}}} !{{{ STRING ?String14 'If this order is a call-off fro... String14:Control.ParentHandler &= Group4:Control String14:Control.CType = CREATE:STRING String14:Control.ControlName = '?String14' String14:Control.DesignText = 'If this order is a call-off from a sales contract, the links above connect this order line to the' String14:Control.FieldName = '?String14' String14:Control.XPos = 13 String14:Control.YPos = 156 String14:Control.Transparent = TRUE String14:Control.Attach(WindowHandler) !}}} !{{{ STRING ?String15 'contract. The contract linked t... String15:Control.ParentHandler &= Group4:Control String15:Control.CType = CREATE:STRING String15:Control.ControlName = '?String15' String15:Control.DesignText = 'contract. The contract linked to is considered to have ''drawn'' the quantity set in this order line.' String15:Control.FieldName = '?String15' String15:Control.XPos = 13 String15:Control.YPos = 163 String15:Control.Transparent = TRUE String15:Control.Attach(WindowHandler) !}}} !{{{ STRING ?String12:2 'This link is established automa... String12:2:Control.ParentHandler &= Group4:Control String12:2:Control.CType = CREATE:STRING String12:2:Control.ControlName = '?String12:2' String12:2:Control.DesignText = 'This link is established automatically by matching contracts against the order details as they' String12:2:Control.FieldName = '?String12:2' String12:2:Control.XPos = 13 String12:2:Control.YPos = 171 String12:2:Control.Transparent = TRUE String12:2:Control.Attach(WindowHandler) !}}} !{{{ STRING ?String13:2 'are entered here. You can overr... String13:2:Control.ParentHandler &= Group4:Control String13:2:Control.CType = CREATE:STRING String13:2:Control.ControlName = '?String13:2' String13:2:Control.DesignText = 'are entered here. You can override this by selecting a specific ''Of Contract'' above. When the' String13:2:Control.FieldName = '?String13:2' String13:2:Control.XPos = 13 String13:2:Control.YPos = 178 String13:2:Control.Transparent = TRUE String13:2:Control.Attach(WindowHandler) !}}} !{{{ STRING ?String18 '''drawn'' quantity meets or exc... String18:Control.ParentHandler &= Group4:Control String18:Control.CType = CREATE:STRING String18:Control.ControlName = '?String18' String18:Control.DesignText = '''drawn'' quantity meets or exceeds the contract quantity, the contract is completed.' String18:Control.FieldName = '?String18' String18:Control.XPos = 13 String18:Control.YPos = 184 String18:Control.Transparent = TRUE String18:Control.Attach(WindowHandler) !}}} !{{{ CHECK ?LocalsoAutoInheritContract 'If ticked the sales line detail... LocalsoAutoInheritContract:Control.ParentHandler &= Group4:Control LocalsoAutoInheritContract:Control.CType = CREATE:CHECK LocalsoAutoInheritContract:Control.ControlName = '?LocalsoAutoInheritContract' LocalsoAutoInheritContract:Control.DesignText = 'If ticked the sales line details will be automatically set from the contract' LocalsoAutoInheritContract:Control.FieldName = 'LocalsoAutoInheritContract' LocalsoAutoInheritContract:Control.Checked = TRUE LocalsoAutoInheritContract:Control.XPos = 13 LocalsoAutoInheritContract:Control.YPos = 193 LocalsoAutoInheritContract:Control.Width = 217 LocalsoAutoInheritContract:Control.Height = 10 LocalsoAutoInheritContract:Control.Help = TRUE LocalsoAutoInheritContract:Control.Skip = TRUE LocalsoAutoInheritContract:Control.Transparent = TRUE LocalsoAutoInheritContract:Control.Variable &= LocalsoAutoInheritContract LocalsoAutoInheritContract:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?SetContract 'Set from Contract'... SetContract:Control.ParentHandler &= Group4:Control SetContract:Control.CType = CREATE:BUTTON SetContract:Control.ControlName = '?SetContract' SetContract:Control.DesignText = 'Set from Contract' SetContract:Control.FieldName = '?SetContract' SetContract:Control.Checked = TRUE SetContract:Control.XPos = 231 SetContract:Control.YPos = 192 SetContract:Control.Width = 61 SetContract:Control.Height = 12 SetContract:Control.Help = TRUE SetContract:Control.Attach(WindowHandler) !}}} !{{{ PROMPT ?zvPrompt:22 'C&ontract Line:'... zvPrompt:22:Control.ParentHandler &= Tab7:Control zvPrompt:22:Control.CType = CREATE:PROMPT zvPrompt:22:Control.ControlName = '?zvPrompt:22' zvPrompt:22:Control.DesignText = 'C&ontract Line:' zvPrompt:22:Control.FieldName = '?zvPrompt:22' zvPrompt:22:Control.XPos = 16 zvPrompt:22:Control.YPos = 145 zvPrompt:22:Control.Width = 52 zvPrompt:22:Control.Height = 10 zvPrompt:22:Control.Alignment = zwAlign:Right zvPrompt:22:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?EditContractLine '...'... EditContractLine:Control.ParentHandler &= Tab7:Control EditContractLine:Control.CType = CREATE:BUTTON EditContractLine:Control.ControlName = '?EditContractLine' EditContractLine:Control.DesignText = '...' EditContractLine:Control.FieldName = '?EditContractLine' EditContractLine:Control.XPos = 69 EditContractLine:Control.YPos = 145 EditContractLine:Control.Width = 10 EditContractLine:Control.Height = 10 EditContractLine:Control.Attach(WindowHandler) !}}} !{{{ ENTRY ?ContractLine @s3... ContractLine:Control.ParentHandler &= Tab7:Control ContractLine:Control.CType = CREATE:SINGLELINE ContractLine:Control.ControlName = '?ContractLine' ContractLine:Control.FieldName = 'ContractLine' ContractLine:Control.XPos = 81 ContractLine:Control.YPos = 143 ContractLine:Control.Width = 12 ContractLine:Control.Height = 12 ContractLine:Control.Help = TRUE ContractLine:Control.Variable &= ContractLine ContractLine:Control.Attach(WindowHandler) !}}} !{{{ PROMPT ?zvPrompt:23 'Of Contract:'... zvPrompt:23:Control.ParentHandler &= Tab7:Control zvPrompt:23:Control.CType = CREATE:PROMPT zvPrompt:23:Control.ControlName = '?zvPrompt:23' zvPrompt:23:Control.DesignText = 'Of Contract:' zvPrompt:23:Control.FieldName = '?zvPrompt:23' zvPrompt:23:Control.XPos = 105 zvPrompt:23:Control.YPos = 145 zvPrompt:23:Control.Width = 42 zvPrompt:23:Control.Height = 10 zvPrompt:23:Control.Alignment = zwAlign:Right zvPrompt:23:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?zvEditor:5 '...'... zvEditor:5:Control.ParentHandler &= Tab7:Control zvEditor:5:Control.CType = CREATE:BUTTON zvEditor:5:Control.ControlName = '?zvEditor:5' zvEditor:5:Control.DesignText = '...' zvEditor:5:Control.FieldName = '?zvEditor:5' zvEditor:5:Control.XPos = 148 zvEditor:5:Control.YPos = 145 zvEditor:5:Control.Width = 10 zvEditor:5:Control.Height = 10 zvEditor:5:Control.Attach(WindowHandler) !}}} !{{{ ENTRY ?ContractRef @s16... ContractRef:Control.ParentHandler &= Tab7:Control ContractRef:Control.CType = CREATE:SINGLELINE ContractRef:Control.ControlName = '?ContractRef' ContractRef:Control.FieldName = 'ContractRef' ContractRef:Control.XPos = 160 ContractRef:Control.YPos = 143 ContractRef:Control.Width = 58 ContractRef:Control.Height = 12 ContractRef:Control.Help = TRUE ContractRef:Control.Variable &= ContractRef ContractRef:Control.Attach(WindowHandler) !}}} !{{{ TAB ?Tab6 '&5 Schedule'... Tab6:Control.ParentHandler &= Sheet1:Control Tab6:Control.CType = CREATE:TAB Tab6:Control.ControlName = '?Tab6' Tab6:Control.DesignText = '&5 Schedule' Tab6:Control.FieldName = '?Tab6' Tab6:Control.Checked = TRUE Tab6:Control.Help = TRUE Tab6:Control.Attach(WindowHandler) !}}} !{{{ PROMPT ?PROMPT11 'Scheduling Strategy:'... PROMPT11:Control.ParentHandler &= Tab6:Control PROMPT11:Control.CType = CREATE:PROMPT PROMPT11:Control.ControlName = '?PROMPT11' PROMPT11:Control.DesignText = 'Scheduling Strategy:' PROMPT11:Control.FieldName = '?PROMPT11' PROMPT11:Control.XPos = 5 PROMPT11:Control.YPos = 76 PROMPT11:Control.Width = 68 PROMPT11:Control.Height = 10 PROMPT11:Control.Alignment = zwAlign:Right PROMPT11:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?zvEditSchedulingStrategy '...'... zvEditSchedulingStrategy:Control.ParentHandler &= Tab6:Control zvEditSchedulingStrategy:Control.CType = CREATE:BUTTON zvEditSchedulingStrategy:Control.ControlName = '?zvEditSchedulingStrategy' zvEditSchedulingStrategy:Control.DesignText = '...' zvEditSchedulingStrategy:Control.FieldName = '?zvEditSchedulingStrategy' zvEditSchedulingStrategy:Control.XPos = 75 zvEditSchedulingStrategy:Control.YPos = 76 zvEditSchedulingStrategy:Control.Width = 10 zvEditSchedulingStrategy:Control.Height = 10 zvEditSchedulingStrategy:Control.Attach(WindowHandler) !}}} !{{{ ENTRY ?Strategy @s64... Strategy:Control.ParentHandler &= Tab6:Control Strategy:Control.CType = CREATE:SINGLELINE Strategy:Control.ControlName = '?Strategy' Strategy:Control.FieldName = 'Strategy' Strategy:Control.XPos = 87 Strategy:Control.YPos = 74 Strategy:Control.Width = 168 Strategy:Control.Height = 12 Strategy:Control.Help = TRUE Strategy:Control.Variable &= Strategy Strategy:Control.Attach(WindowHandler) !}}} !{{{ ENTRY ?sol:Rank @n6b... sol:Rank:Control.ParentHandler &= Tab6:Control sol:Rank:Control.CType = CREATE:ENTRY sol:Rank:Control.ControlName = '?sol:Rank' sol:Rank:Control.DesignText = '@n6b' sol:Rank:Control.FieldName = 'sol:Rank' sol:Rank:Control.Checked = TRUE sol:Rank:Control.XPos = 256 sol:Rank:Control.YPos = 74 sol:Rank:Control.Width = 33 sol:Rank:Control.Height = 12 sol:Rank:Control.ShowFlat = TRUE sol:Rank:Control.Help = TRUE sol:Rank:Control.Alignment = zwAlign:Right sol:Rank:Control.ReadOnly = TRUE sol:Rank:Control.Variable &= sol:Rank sol:Rank:Control.Attach(WindowHandler) !}}} !{{{ PROMPT ?zvPrompt:20 'Schedule Alerts:'... zvPrompt:20:Control.ParentHandler &= Tab6:Control zvPrompt:20:Control.CType = CREATE:PROMPT zvPrompt:20:Control.ControlName = '?zvPrompt:20' zvPrompt:20:Control.DesignText = 'Schedule Alerts:' zvPrompt:20:Control.FieldName = '?zvPrompt:20' zvPrompt:20:Control.XPos = 5 zvPrompt:20:Control.YPos = 89 zvPrompt:20:Control.Width = 68 zvPrompt:20:Control.Height = 10 zvPrompt:20:Control.Alignment = zwAlign:Right zvPrompt:20:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?zvEditor:4 '```'... zvEditor:4:Control.ParentHandler &= Tab6:Control zvEditor:4:Control.CType = CREATE:BUTTON zvEditor:4:Control.ControlName = '?zvEditor:4' zvEditor:4:Control.DesignText = '```' zvEditor:4:Control.FieldName = '?zvEditor:4' zvEditor:4:Control.XPos = 75 zvEditor:4:Control.YPos = 89 zvEditor:4:Control.Width = 10 zvEditor:4:Control.Height = 10 zvEditor:4:Control.Attach(WindowHandler) !}}} !{{{ ENTRY ?FormattedScheduleLog @s64... FormattedScheduleLog:Control.ParentHandler &= Tab6:Control FormattedScheduleLog:Control.CType = CREATE:SINGLELINE FormattedScheduleLog:Control.ControlName = '?FormattedScheduleLog' FormattedScheduleLog:Control.FieldName = 'FormattedScheduleLog' FormattedScheduleLog:Control.XPos = 87 FormattedScheduleLog:Control.YPos = 87 FormattedScheduleLog:Control.Width = 202 FormattedScheduleLog:Control.Height = 12 FormattedScheduleLog:Control.Help = TRUE FormattedScheduleLog:Control.Variable &= FormattedScheduleLog FormattedScheduleLog:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?ReSchedule '&Re-Schedule Now'... ReSchedule:Control.ParentHandler &= Tab6:Control ReSchedule:Control.CType = CREATE:BUTTON ReSchedule:Control.ControlName = '?ReSchedule' ReSchedule:Control.DesignText = '&Re-Schedule Now' ReSchedule:Control.FieldName = '?ReSchedule' ReSchedule:Control.Checked = TRUE ReSchedule:Control.XPos = 220 ReSchedule:Control.YPos = 101 ReSchedule:Control.Width = 70 ReSchedule:Control.Height = 12 ReSchedule:Control.Help = TRUE ReSchedule:Control.Attach(WindowHandler) !}}} !{{{ PROMPT ?zvQtyPrompt:2 'Ordered quantity:'... zvQtyPrompt:2:Control.ParentHandler &= Tab6:Control zvQtyPrompt:2:Control.CType = CREATE:PROMPT zvQtyPrompt:2:Control.ControlName = '?zvQtyPrompt:2' zvQtyPrompt:2:Control.DesignText = 'Ordered quantity:' zvQtyPrompt:2:Control.FieldName = '?zvQtyPrompt:2' zvQtyPrompt:2:Control.XPos = 5 zvQtyPrompt:2:Control.YPos = 116 zvQtyPrompt:2:Control.Width = 68 zvQtyPrompt:2:Control.Height = 10 zvQtyPrompt:2:Control.Alignment = zwAlign:Right zvQtyPrompt:2:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?zvEditOrderedQty3 '...'... zvEditOrderedQty3:Control.ParentHandler &= Tab6:Control zvEditOrderedQty3:Control.CType = CREATE:BUTTON zvEditOrderedQty3:Control.ControlName = '?zvEditOrderedQty3' zvEditOrderedQty3:Control.DesignText = '...' zvEditOrderedQty3:Control.FieldName = '?zvEditOrderedQty3' zvEditOrderedQty3:Control.XPos = 75 zvEditOrderedQty3:Control.YPos = 116 zvEditOrderedQty3:Control.Width = 10 zvEditOrderedQty3:Control.Height = 10 zvEditOrderedQty3:Control.Attach(WindowHandler) !}}} !{{{ ENTRY ?OrderedQty:2 @s128... OrderedQty:2:Control.ParentHandler &= Tab6:Control OrderedQty:2:Control.CType = CREATE:SINGLELINE OrderedQty:2:Control.ControlName = '?OrderedQty:2' OrderedQty:2:Control.FieldName = 'OrderedQty' OrderedQty:2:Control.XPos = 87 OrderedQty:2:Control.YPos = 114 OrderedQty:2:Control.Width = 92 OrderedQty:2:Control.Height = 12 OrderedQty:2:Control.Help = TRUE OrderedQty:2:Control.Variable &= OrderedQty OrderedQty:2:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?DatesHints '&Dates Hints'... DatesHints:Control.ParentHandler &= Tab6:Control DatesHints:Control.CType = CREATE:BUTTON DatesHints:Control.ControlName = '?DatesHints' DatesHints:Control.DesignText = '&Dates Hints' DatesHints:Control.FieldName = '?DatesHints' DatesHints:Control.Checked = TRUE DatesHints:Control.XPos = 220 DatesHints:Control.YPos = 113 DatesHints:Control.Width = 70 DatesHints:Control.Height = 11 DatesHints:Control.Help = TRUE DatesHints:Control.Attach(WindowHandler) !}}} !{{{ STRING ?String22 'Usually accept << ordered << de... String22:Control.ParentHandler &= Tab6:Control String22:Control.CType = CREATE:STRING String22:Control.ControlName = '?String22' String22:Control.DesignText = 'Usually accept << ordered << demand' String22:Control.FieldName = '?String22' String22:Control.XPos = 185 String22:Control.YPos = 128 String22:Control.Attach(WindowHandler) !}}} !{{{ PROMPT ?zvPrompt:25 '&Accept quantity:'... zvPrompt:25:Control.ParentHandler &= Tab6:Control zvPrompt:25:Control.CType = CREATE:PROMPT zvPrompt:25:Control.ControlName = '?zvPrompt:25' zvPrompt:25:Control.DesignText = '&Accept quantity:' zvPrompt:25:Control.FieldName = '?zvPrompt:25' zvPrompt:25:Control.XPos = 5 zvPrompt:25:Control.YPos = 103 zvPrompt:25:Control.Width = 68 zvPrompt:25:Control.Height = 10 zvPrompt:25:Control.Alignment = zwAlign:Right zvPrompt:25:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?zvEditAcceptQty '...'... zvEditAcceptQty:Control.ParentHandler &= Tab6:Control zvEditAcceptQty:Control.CType = CREATE:BUTTON zvEditAcceptQty:Control.ControlName = '?zvEditAcceptQty' zvEditAcceptQty:Control.DesignText = '...' zvEditAcceptQty:Control.FieldName = '?zvEditAcceptQty' zvEditAcceptQty:Control.XPos = 75 zvEditAcceptQty:Control.YPos = 103 zvEditAcceptQty:Control.Width = 10 zvEditAcceptQty:Control.Height = 10 zvEditAcceptQty:Control.Attach(WindowHandler) !}}} !{{{ ENTRY ?AcceptQty @s24... AcceptQty:Control.ParentHandler &= Tab6:Control AcceptQty:Control.CType = CREATE:SINGLELINE AcceptQty:Control.ControlName = '?AcceptQty' AcceptQty:Control.FieldName = 'AcceptQty' AcceptQty:Control.XPos = 87 AcceptQty:Control.YPos = 101 AcceptQty:Control.Width = 96 AcceptQty:Control.Height = 12 AcceptQty:Control.Help = TRUE AcceptQty:Control.Variable &= AcceptQty AcceptQty:Control.Attach(WindowHandler) !}}} !{{{ PROMPT ?zvPrompt:26 '&Demand quantity:'... zvPrompt:26:Control.ParentHandler &= Tab6:Control zvPrompt:26:Control.CType = CREATE:PROMPT zvPrompt:26:Control.ControlName = '?zvPrompt:26' zvPrompt:26:Control.DesignText = '&Demand quantity:' zvPrompt:26:Control.FieldName = '?zvPrompt:26' zvPrompt:26:Control.XPos = 5 zvPrompt:26:Control.YPos = 129 zvPrompt:26:Control.Width = 68 zvPrompt:26:Control.Height = 10 zvPrompt:26:Control.Alignment = zwAlign:Right zvPrompt:26:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?zvEditMakeQty '...'... zvEditMakeQty:Control.ParentHandler &= Tab6:Control zvEditMakeQty:Control.CType = CREATE:BUTTON zvEditMakeQty:Control.ControlName = '?zvEditMakeQty' zvEditMakeQty:Control.DesignText = '...' zvEditMakeQty:Control.FieldName = '?zvEditMakeQty' zvEditMakeQty:Control.XPos = 75 zvEditMakeQty:Control.YPos = 129 zvEditMakeQty:Control.Width = 10 zvEditMakeQty:Control.Height = 10 zvEditMakeQty:Control.Attach(WindowHandler) !}}} !{{{ ENTRY ?MakeQty @s24... MakeQty:Control.ParentHandler &= Tab6:Control MakeQty:Control.CType = CREATE:SINGLELINE MakeQty:Control.ControlName = '?MakeQty' MakeQty:Control.FieldName = 'MakeQty' MakeQty:Control.XPos = 87 MakeQty:Control.YPos = 127 MakeQty:Control.Width = 92 MakeQty:Control.Height = 12 MakeQty:Control.Help = TRUE MakeQty:Control.Variable &= MakeQty MakeQty:Control.Attach(WindowHandler) !}}} !{{{ PROMPT ?zvPrompt:29 'Plan start for:'... zvPrompt:29:Control.ParentHandler &= Tab6:Control zvPrompt:29:Control.CType = CREATE:PROMPT zvPrompt:29:Control.ControlName = '?zvPrompt:29' zvPrompt:29:Control.DesignText = 'Plan start for:' zvPrompt:29:Control.FieldName = '?zvPrompt:29' zvPrompt:29:Control.XPos = 8 zvPrompt:29:Control.YPos = 144 zvPrompt:29:Control.Width = 65 zvPrompt:29:Control.Height = 10 zvPrompt:29:Control.Alignment = zwAlign:Right zvPrompt:29:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?zvEditStartLimit '...'... zvEditStartLimit:Control.ParentHandler &= Tab6:Control zvEditStartLimit:Control.CType = CREATE:BUTTON zvEditStartLimit:Control.ControlName = '?zvEditStartLimit' zvEditStartLimit:Control.DesignText = '...' zvEditStartLimit:Control.FieldName = '?zvEditStartLimit' zvEditStartLimit:Control.XPos = 75 zvEditStartLimit:Control.YPos = 144 zvEditStartLimit:Control.Width = 10 zvEditStartLimit:Control.Height = 10 zvEditStartLimit:Control.Attach(WindowHandler) !}}} !{{{ ENTRY ?StartLimit @s8... StartLimit:Control.ParentHandler &= Tab6:Control StartLimit:Control.CType = CREATE:SINGLELINE StartLimit:Control.ControlName = '?StartLimit' StartLimit:Control.FieldName = 'StartLimit' StartLimit:Control.XPos = 87 StartLimit:Control.YPos = 142 StartLimit:Control.Width = 46 StartLimit:Control.Height = 12 StartLimit:Control.Help = TRUE StartLimit:Control.Variable &= StartLimit StartLimit:Control.Attach(WindowHandler) !}}} !{{{ PROMPT ?zvPrompt:34 'Plan end for:'... zvPrompt:34:Control.ParentHandler &= Tab6:Control zvPrompt:34:Control.CType = CREATE:PROMPT zvPrompt:34:Control.ControlName = '?zvPrompt:34' zvPrompt:34:Control.DesignText = 'Plan end for:' zvPrompt:34:Control.FieldName = '?zvPrompt:34' zvPrompt:34:Control.XPos = 135 zvPrompt:34:Control.YPos = 144 zvPrompt:34:Control.Width = 44 zvPrompt:34:Control.Height = 10 zvPrompt:34:Control.Alignment = zwAlign:Right zvPrompt:34:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?zvEditTargetDate '...'... zvEditTargetDate:Control.ParentHandler &= Tab6:Control zvEditTargetDate:Control.CType = CREATE:BUTTON zvEditTargetDate:Control.ControlName = '?zvEditTargetDate' zvEditTargetDate:Control.DesignText = '...' zvEditTargetDate:Control.FieldName = '?zvEditTargetDate' zvEditTargetDate:Control.XPos = 181 zvEditTargetDate:Control.YPos = 144 zvEditTargetDate:Control.Width = 10 zvEditTargetDate:Control.Height = 10 zvEditTargetDate:Control.Attach(WindowHandler) !}}} !{{{ ENTRY ?TargetDate @s8... TargetDate:Control.ParentHandler &= Tab6:Control TargetDate:Control.CType = CREATE:SINGLELINE TargetDate:Control.ControlName = '?TargetDate' TargetDate:Control.FieldName = 'TargetDate' TargetDate:Control.XPos = 193 TargetDate:Control.YPos = 142 TargetDate:Control.Width = 46 TargetDate:Control.Height = 12 TargetDate:Control.Help = TRUE TargetDate:Control.Variable &= TargetDate TargetDate:Control.Attach(WindowHandler) !}}} !{{{ GROUP ?HideWhenFullyDelivered 'HideWhenFullyDelivered'... HideWhenFullyDelivered:Control.ParentHandler &= Tab6:Control HideWhenFullyDelivered:Control.CType = CREATE:GROUP HideWhenFullyDelivered:Control.ControlName = '?HideWhenFullyDelivered' HideWhenFullyDelivered:Control.DesignText = 'HideWhenFullyDelivered' HideWhenFullyDelivered:Control.FieldName = '?HideWhenFullyDelivered' HideWhenFullyDelivered:Control.Checked = TRUE HideWhenFullyDelivered:Control.XPos = 5 HideWhenFullyDelivered:Control.YPos = 152 HideWhenFullyDelivered:Control.Width = 292 HideWhenFullyDelivered:Control.Height = 17 HideWhenFullyDelivered:Control.Transparent = TRUE HideWhenFullyDelivered:Control.Attach(WindowHandler) !}}} !{{{ PROMPT ?zvPrompt:19 'Planned Dispatch:'... zvPrompt:19:Control.ParentHandler &= HideWhenFullyDelivered:Control zvPrompt:19:Control.CType = CREATE:PROMPT zvPrompt:19:Control.ControlName = '?zvPrompt:19' zvPrompt:19:Control.DesignText = 'Planned Dispatch:' zvPrompt:19:Control.FieldName = '?zvPrompt:19' zvPrompt:19:Control.XPos = 8 zvPrompt:19:Control.YPos = 157 zvPrompt:19:Control.Width = 65 zvPrompt:19:Control.Height = 10 zvPrompt:19:Control.Alignment = zwAlign:Right zvPrompt:19:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?zvEditPlannedDelivery '...'... zvEditPlannedDelivery:Control.ParentHandler &= HideWhenFullyDelivered:Control zvEditPlannedDelivery:Control.CType = CREATE:BUTTON zvEditPlannedDelivery:Control.ControlName = '?zvEditPlannedDelivery' zvEditPlannedDelivery:Control.DesignText = '...' zvEditPlannedDelivery:Control.FieldName = '?zvEditPlannedDelivery' zvEditPlannedDelivery:Control.XPos = 75 zvEditPlannedDelivery:Control.YPos = 157 zvEditPlannedDelivery:Control.Width = 10 zvEditPlannedDelivery:Control.Height = 10 zvEditPlannedDelivery:Control.Attach(WindowHandler) !}}} !{{{ ENTRY ?PlannedDelivery @s8... PlannedDelivery:Control.ParentHandler &= HideWhenFullyDelivered:Control PlannedDelivery:Control.CType = CREATE:SINGLELINE PlannedDelivery:Control.ControlName = '?PlannedDelivery' PlannedDelivery:Control.FieldName = 'PlannedDelivery' PlannedDelivery:Control.XPos = 87 PlannedDelivery:Control.YPos = 155 PlannedDelivery:Control.Width = 46 PlannedDelivery:Control.Height = 12 PlannedDelivery:Control.Help = TRUE PlannedDelivery:Control.Variable &= PlannedDelivery PlannedDelivery:Control.Attach(WindowHandler) !}}} !{{{ STRING ?DaysLateMessage @s64... DaysLateMessage:Control.ParentHandler &= HideWhenFullyDelivered:Control DaysLateMessage:Control.CType = CREATE:SSTRING DaysLateMessage:Control.ControlName = '?DaysLateMessage' DaysLateMessage:Control.DesignText = '@s64' DaysLateMessage:Control.FieldName = 'DaysLateMessage' DaysLateMessage:Control.XPos = 136 DaysLateMessage:Control.YPos = 156 DaysLateMessage:Control.FontColour = COLOR:Red DaysLateMessage:Control.Variable &= DaysLateMessage DaysLateMessage:Control.Attach(WindowHandler) !}}} !{{{ PROMPT ?zvPrompt:11 '&Promised Date:'... zvPrompt:11:Control.ParentHandler &= Tab6:Control zvPrompt:11:Control.CType = CREATE:PROMPT zvPrompt:11:Control.ControlName = '?zvPrompt:11' zvPrompt:11:Control.DesignText = '&Promised Date:' zvPrompt:11:Control.FieldName = '?zvPrompt:11' zvPrompt:11:Control.XPos = 8 zvPrompt:11:Control.YPos = 170 zvPrompt:11:Control.Width = 65 zvPrompt:11:Control.Height = 10 zvPrompt:11:Control.Alignment = zwAlign:Right zvPrompt:11:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?zvEditPromisedDate '...'... zvEditPromisedDate:Control.ParentHandler &= Tab6:Control zvEditPromisedDate:Control.CType = CREATE:BUTTON zvEditPromisedDate:Control.ControlName = '?zvEditPromisedDate' zvEditPromisedDate:Control.DesignText = '...' zvEditPromisedDate:Control.FieldName = '?zvEditPromisedDate' zvEditPromisedDate:Control.XPos = 75 zvEditPromisedDate:Control.YPos = 170 zvEditPromisedDate:Control.Width = 10 zvEditPromisedDate:Control.Height = 10 zvEditPromisedDate:Control.Attach(WindowHandler) !}}} !{{{ ENTRY ?PromisedDate @s8... PromisedDate:Control.ParentHandler &= Tab6:Control PromisedDate:Control.CType = CREATE:SINGLELINE PromisedDate:Control.ControlName = '?PromisedDate' PromisedDate:Control.FieldName = 'PromisedDate' PromisedDate:Control.XPos = 87 PromisedDate:Control.YPos = 168 PromisedDate:Control.Width = 46 PromisedDate:Control.Height = 12 PromisedDate:Control.Help = TRUE PromisedDate:Control.Variable &= PromisedDate PromisedDate:Control.Attach(WindowHandler) !}}} !{{{ PROMPT ?String19 'If set, use this as the schedul... String19:Control.ParentHandler &= Tab6:Control String19:Control.CType = CREATE:PROMPT String19:Control.ControlName = '?String19' String19:Control.DesignText = 'If set, use this as the schedule target, else use the "To Deliver On" date. Lateness will become relative to this.' String19:Control.FieldName = '?String19' String19:Control.XPos = 137 String19:Control.YPos = 166 String19:Control.Width = 162 String19:Control.Height = 15 String19:Control.Attach(WindowHandler) !}}} !{{{ PROMPT ?zvPrompt 'To Deliver On:'... zvPrompt:Control.ParentHandler &= Tab6:Control zvPrompt:Control.CType = CREATE:PROMPT zvPrompt:Control.ControlName = '?zvPrompt' zvPrompt:Control.DesignText = 'To Deliver On:' zvPrompt:Control.FieldName = '?zvPrompt' zvPrompt:Control.XPos = 8 zvPrompt:Control.YPos = 183 zvPrompt:Control.Width = 65 zvPrompt:Control.Height = 10 zvPrompt:Control.Alignment = zwAlign:Right zvPrompt:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?zvEditDeliverOn3 '...'... zvEditDeliverOn3:Control.ParentHandler &= Tab6:Control zvEditDeliverOn3:Control.CType = CREATE:BUTTON zvEditDeliverOn3:Control.ControlName = '?zvEditDeliverOn3' zvEditDeliverOn3:Control.DesignText = '...' zvEditDeliverOn3:Control.FieldName = '?zvEditDeliverOn3' zvEditDeliverOn3:Control.XPos = 75 zvEditDeliverOn3:Control.YPos = 183 zvEditDeliverOn3:Control.Width = 10 zvEditDeliverOn3:Control.Height = 10 zvEditDeliverOn3:Control.Attach(WindowHandler) !}}} !{{{ ENTRY ?DeliverOn:2 @s8... DeliverOn:2:Control.ParentHandler &= Tab6:Control DeliverOn:2:Control.CType = CREATE:SINGLELINE DeliverOn:2:Control.ControlName = '?DeliverOn:2' DeliverOn:2:Control.FieldName = 'DeliverOn' DeliverOn:2:Control.XPos = 87 DeliverOn:2:Control.YPos = 181 DeliverOn:2:Control.Width = 46 DeliverOn:2:Control.Height = 12 DeliverOn:2:Control.Help = TRUE DeliverOn:2:Control.Variable &= DeliverOn DeliverOn:2:Control.Attach(WindowHandler) !}}} !{{{ STRING ?String20 'Date requested by the customer'... String20:Control.ParentHandler &= Tab6:Control String20:Control.CType = CREATE:STRING String20:Control.ControlName = '?String20' String20:Control.DesignText = 'Date requested by the customer' String20:Control.FieldName = '?String20' String20:Control.XPos = 137 String20:Control.YPos = 183 String20:Control.Attach(WindowHandler) !}}} !{{{ PROMPT ?zvPrompt:24 'Actually Delivered On:'... zvPrompt:24:Control.ParentHandler &= Tab6:Control zvPrompt:24:Control.CType = CREATE:PROMPT zvPrompt:24:Control.ControlName = '?zvPrompt:24' zvPrompt:24:Control.DesignText = 'Actually Delivered On:' zvPrompt:24:Control.FieldName = '?zvPrompt:24' zvPrompt:24:Control.XPos = 3 zvPrompt:24:Control.YPos = 196 zvPrompt:24:Control.Width = 70 zvPrompt:24:Control.Height = 10 zvPrompt:24:Control.Alignment = zwAlign:Right zvPrompt:24:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?zvEditDeliveredOn2 '...'... zvEditDeliveredOn2:Control.ParentHandler &= Tab6:Control zvEditDeliveredOn2:Control.CType = CREATE:BUTTON zvEditDeliveredOn2:Control.ControlName = '?zvEditDeliveredOn2' zvEditDeliveredOn2:Control.DesignText = '...' zvEditDeliveredOn2:Control.FieldName = '?zvEditDeliveredOn2' zvEditDeliveredOn2:Control.XPos = 75 zvEditDeliveredOn2:Control.YPos = 196 zvEditDeliveredOn2:Control.Width = 10 zvEditDeliveredOn2:Control.Height = 10 zvEditDeliveredOn2:Control.Attach(WindowHandler) !}}} !{{{ ENTRY ?DeliveredOn:2 @s8... DeliveredOn:2:Control.ParentHandler &= Tab6:Control DeliveredOn:2:Control.CType = CREATE:SINGLELINE DeliveredOn:2:Control.ControlName = '?DeliveredOn:2' DeliveredOn:2:Control.FieldName = 'DeliveredOn' DeliveredOn:2:Control.XPos = 87 DeliveredOn:2:Control.YPos = 194 DeliveredOn:2:Control.Width = 46 DeliveredOn:2:Control.Height = 12 DeliveredOn:2:Control.Help = TRUE DeliveredOn:2:Control.Variable &= DeliveredOn DeliveredOn:2:Control.Attach(WindowHandler) !}}} !{{{ STRING ?String21 'When set, the date you actually... String21:Control.ParentHandler &= Tab6:Control String21:Control.CType = CREATE:STRING String21:Control.ControlName = '?String21' String21:Control.DesignText = 'When set, the date you actually achieved' String21:Control.FieldName = '?String21' String21:Control.XPos = 137 String21:Control.YPos = 196 String21:Control.Attach(WindowHandler) !}}} !{{{ TAB ?LineCostTab '&6 Profit'... LineCostTab:Control.ParentHandler &= Sheet1:Control LineCostTab:Control.CType = CREATE:TAB LineCostTab:Control.ControlName = '?LineCostTab' LineCostTab:Control.DesignText = '&6 Profit' LineCostTab:Control.FieldName = '?LineCostTab' LineCostTab:Control.Checked = TRUE LineCostTab:Control.Help = TRUE LineCostTab:Control.Attach(WindowHandler) !}}} !{{{ STRING ?String23 'Before invoicing is complete, t... String23:Control.ParentHandler &= LineCostTab:Control String23:Control.CType = CREATE:STRING String23:Control.ControlName = '?String23' String23:Control.DesignText = 'Before invoicing is complete, the value is as ordered. Afterwards, its the actually invoiced value.' String23:Control.FieldName = '?String23' String23:Control.XPos = 9 String23:Control.YPos = 77 String23:Control.Attach(WindowHandler) !}}} !{{{ STRING ?String6 'Before delivery is completed, t... String6:Control.ParentHandler &= LineCostTab:Control String6:Control.CType = CREATE:STRING String6:Control.ControlName = '?String6' String6:Control.DesignText = 'Before delivery is completed, the costs and margins are estimated.' String6:Control.FieldName = '?String6' String6:Control.XPos = 9 String6:Control.YPos = 89 String6:Control.Attach(WindowHandler) !}}} !{{{ STRING ?String7 'After the line is fully deliver... String7:Control.ParentHandler &= LineCostTab:Control String7:Control.CType = CREATE:STRING String7:Control.ControlName = '?String7' String7:Control.DesignText = 'After the line is fully delivered the costs are based on the cost of what was dispatched.' String7:Control.FieldName = '?String7' String7:Control.XPos = 9 String7:Control.YPos = 98 String7:Control.Attach(WindowHandler) !}}} !{{{ PROMPT ?zvPrompt:8 'Line &Value:'... zvPrompt:8:Control.ParentHandler &= LineCostTab:Control zvPrompt:8:Control.CType = CREATE:PROMPT zvPrompt:8:Control.ControlName = '?zvPrompt:8' zvPrompt:8:Control.DesignText = 'Line &Value:' zvPrompt:8:Control.FieldName = '?zvPrompt:8' zvPrompt:8:Control.XPos = 13 zvPrompt:8:Control.YPos = 113 zvPrompt:8:Control.Width = 46 zvPrompt:8:Control.Height = 10 zvPrompt:8:Control.Alignment = zwAlign:Right zvPrompt:8:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?zvEditLineValue '...'... zvEditLineValue:Control.ParentHandler &= LineCostTab:Control zvEditLineValue:Control.CType = CREATE:BUTTON zvEditLineValue:Control.ControlName = '?zvEditLineValue' zvEditLineValue:Control.DesignText = '...' zvEditLineValue:Control.FieldName = '?zvEditLineValue' zvEditLineValue:Control.XPos = 61 zvEditLineValue:Control.YPos = 113 zvEditLineValue:Control.Width = 10 zvEditLineValue:Control.Height = 10 zvEditLineValue:Control.Attach(WindowHandler) !}}} !{{{ ENTRY ?LineValue @s24... LineValue:Control.ParentHandler &= LineCostTab:Control LineValue:Control.CType = CREATE:SINGLELINE LineValue:Control.ControlName = '?LineValue' LineValue:Control.FieldName = 'LineValue' LineValue:Control.XPos = 73 LineValue:Control.YPos = 111 LineValue:Control.Width = 92 LineValue:Control.Height = 12 LineValue:Control.Help = TRUE LineValue:Control.Variable &= LineValue LineValue:Control.Attach(WindowHandler) !}}} !{{{ CHECK ?LineIsInvoiced 'Line is fully invoiced'... LineIsInvoiced:Control.ParentHandler &= LineCostTab:Control LineIsInvoiced:Control.CType = CREATE:CHECK LineIsInvoiced:Control.ControlName = '?LineIsInvoiced' LineIsInvoiced:Control.DesignText = 'Line is fully invoiced' LineIsInvoiced:Control.FieldName = 'LineIsInvoiced' LineIsInvoiced:Control.Checked = TRUE LineIsInvoiced:Control.XPos = 169 LineIsInvoiced:Control.YPos = 113 LineIsInvoiced:Control.Help = TRUE LineIsInvoiced:Control.Skip = TRUE LineIsInvoiced:Control.Variable &= LineIsInvoiced LineIsInvoiced:Control.Attach(WindowHandler) !}}} !{{{ PROMPT ?zvPrompt:9 'Line C&ost:'... zvPrompt:9:Control.ParentHandler &= LineCostTab:Control zvPrompt:9:Control.CType = CREATE:PROMPT zvPrompt:9:Control.ControlName = '?zvPrompt:9' zvPrompt:9:Control.DesignText = 'Line C&ost:' zvPrompt:9:Control.FieldName = '?zvPrompt:9' zvPrompt:9:Control.XPos = 13 zvPrompt:9:Control.YPos = 127 zvPrompt:9:Control.Width = 46 zvPrompt:9:Control.Height = 10 zvPrompt:9:Control.Alignment = zwAlign:Right zvPrompt:9:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?zvEditLineCost '...'... zvEditLineCost:Control.ParentHandler &= LineCostTab:Control zvEditLineCost:Control.CType = CREATE:BUTTON zvEditLineCost:Control.ControlName = '?zvEditLineCost' zvEditLineCost:Control.DesignText = '...' zvEditLineCost:Control.FieldName = '?zvEditLineCost' zvEditLineCost:Control.XPos = 61 zvEditLineCost:Control.YPos = 127 zvEditLineCost:Control.Width = 10 zvEditLineCost:Control.Height = 10 zvEditLineCost:Control.Attach(WindowHandler) !}}} !{{{ ENTRY ?LineCost @s24... LineCost:Control.ParentHandler &= LineCostTab:Control LineCost:Control.CType = CREATE:SINGLELINE LineCost:Control.ControlName = '?LineCost' LineCost:Control.FieldName = 'LineCost' LineCost:Control.XPos = 73 LineCost:Control.YPos = 125 LineCost:Control.Width = 92 LineCost:Control.Height = 12 LineCost:Control.Help = TRUE LineCost:Control.Variable &= LineCost LineCost:Control.Attach(WindowHandler) !}}} !{{{ CHECK ?LineIsDispatched 'Line is fully delivered'... LineIsDispatched:Control.ParentHandler &= LineCostTab:Control LineIsDispatched:Control.CType = CREATE:CHECK LineIsDispatched:Control.ControlName = '?LineIsDispatched' LineIsDispatched:Control.DesignText = 'Line is fully delivered' LineIsDispatched:Control.FieldName = 'LineIsDispatched' LineIsDispatched:Control.Checked = TRUE LineIsDispatched:Control.XPos = 169 LineIsDispatched:Control.YPos = 127 LineIsDispatched:Control.Help = TRUE LineIsDispatched:Control.Skip = TRUE LineIsDispatched:Control.Variable &= LineIsDispatched LineIsDispatched:Control.Attach(WindowHandler) !}}} !{{{ PROMPT ?zvPrompt:21 '&Gross Profit:'... zvPrompt:21:Control.ParentHandler &= LineCostTab:Control zvPrompt:21:Control.CType = CREATE:PROMPT zvPrompt:21:Control.ControlName = '?zvPrompt:21' zvPrompt:21:Control.DesignText = '&Gross Profit:' zvPrompt:21:Control.FieldName = '?zvPrompt:21' zvPrompt:21:Control.XPos = 13 zvPrompt:21:Control.YPos = 141 zvPrompt:21:Control.Width = 46 zvPrompt:21:Control.Height = 10 zvPrompt:21:Control.Alignment = zwAlign:Right zvPrompt:21:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?zvEditGrossProfit '...'... zvEditGrossProfit:Control.ParentHandler &= LineCostTab:Control zvEditGrossProfit:Control.CType = CREATE:BUTTON zvEditGrossProfit:Control.ControlName = '?zvEditGrossProfit' zvEditGrossProfit:Control.DesignText = '...' zvEditGrossProfit:Control.FieldName = '?zvEditGrossProfit' zvEditGrossProfit:Control.XPos = 61 zvEditGrossProfit:Control.YPos = 141 zvEditGrossProfit:Control.Width = 10 zvEditGrossProfit:Control.Height = 10 zvEditGrossProfit:Control.Attach(WindowHandler) !}}} !{{{ ENTRY ?GrossProfit @s24... GrossProfit:Control.ParentHandler &= LineCostTab:Control GrossProfit:Control.CType = CREATE:SINGLELINE GrossProfit:Control.ControlName = '?GrossProfit' GrossProfit:Control.FieldName = 'GrossProfit' GrossProfit:Control.XPos = 73 GrossProfit:Control.YPos = 139 GrossProfit:Control.Width = 92 GrossProfit:Control.Height = 12 GrossProfit:Control.Help = TRUE GrossProfit:Control.Variable &= GrossProfit GrossProfit:Control.Attach(WindowHandler) !}}} !{{{ GROUP ?RecalcPriceFromCost 'Re-calculate price from actual ... RecalcPriceFromCost:Control.ParentHandler &= LineCostTab:Control RecalcPriceFromCost:Control.CType = CREATE:GROUP RecalcPriceFromCost:Control.ControlName = '?RecalcPriceFromCost' RecalcPriceFromCost:Control.DesignText = 'Re-calculate price from actual cost' RecalcPriceFromCost:Control.FieldName = '?RecalcPriceFromCost' RecalcPriceFromCost:Control.Checked = TRUE RecalcPriceFromCost:Control.XPos = 167 RecalcPriceFromCost:Control.YPos = 138 RecalcPriceFromCost:Control.Width = 127 RecalcPriceFromCost:Control.Height = 38 RecalcPriceFromCost:Control.Boxed = TRUE RecalcPriceFromCost:Control.Attach(WindowHandler) !}}} !{{{ PROMPT ?zvPrompt:30 'based on this Margin:'... zvPrompt:30:Control.ParentHandler &= RecalcPriceFromCost:Control zvPrompt:30:Control.CType = CREATE:PROMPT zvPrompt:30:Control.ControlName = '?zvPrompt:30' zvPrompt:30:Control.DesignText = 'based on this Margin:' zvPrompt:30:Control.FieldName = '?zvPrompt:30' zvPrompt:30:Control.XPos = 169 zvPrompt:30:Control.YPos = 150 zvPrompt:30:Control.Width = 67 zvPrompt:30:Control.Height = 10 zvPrompt:30:Control.Alignment = zwAlign:Right zvPrompt:30:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?EditCostPlusMargin '...'... EditCostPlusMargin:Control.ParentHandler &= RecalcPriceFromCost:Control EditCostPlusMargin:Control.CType = CREATE:BUTTON EditCostPlusMargin:Control.ControlName = '?EditCostPlusMargin' EditCostPlusMargin:Control.DesignText = '...' EditCostPlusMargin:Control.FieldName = '?EditCostPlusMargin' EditCostPlusMargin:Control.XPos = 237 EditCostPlusMargin:Control.YPos = 149 EditCostPlusMargin:Control.Width = 10 EditCostPlusMargin:Control.Height = 10 EditCostPlusMargin:Control.Attach(WindowHandler) !}}} !{{{ ENTRY ?ActualCostMargin @s16... ActualCostMargin:Control.ParentHandler &= RecalcPriceFromCost:Control ActualCostMargin:Control.CType = CREATE:SINGLELINE ActualCostMargin:Control.ControlName = '?ActualCostMargin' ActualCostMargin:Control.FieldName = 'ActualCostMargin' ActualCostMargin:Control.XPos = 249 ActualCostMargin:Control.YPos = 148 ActualCostMargin:Control.Width = 41 ActualCostMargin:Control.Height = 12 ActualCostMargin:Control.Help = TRUE ActualCostMargin:Control.Variable &= ActualCostMargin ActualCostMargin:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?UpdatePriceNow 'Update price now'... UpdatePriceNow:Control.ParentHandler &= RecalcPriceFromCost:Control UpdatePriceNow:Control.CType = CREATE:BUTTON UpdatePriceNow:Control.ControlName = '?UpdatePriceNow' UpdatePriceNow:Control.DesignText = 'Update price now' UpdatePriceNow:Control.FieldName = '?UpdatePriceNow' UpdatePriceNow:Control.Checked = TRUE UpdatePriceNow:Control.XPos = 170 UpdatePriceNow:Control.YPos = 162 UpdatePriceNow:Control.Width = 120 UpdatePriceNow:Control.Height = 11 UpdatePriceNow:Control.Help = TRUE UpdatePriceNow:Control.Attach(WindowHandler) !}}} !{{{ PROMPT ?Prompt43 'Actual Margin:'... Prompt43:Control.ParentHandler &= LineCostTab:Control Prompt43:Control.CType = CREATE:PROMPT Prompt43:Control.ControlName = '?Prompt43' Prompt43:Control.DesignText = 'Actual Margin:' Prompt43:Control.FieldName = '?Prompt43' Prompt43:Control.XPos = 13 Prompt43:Control.YPos = 157 Prompt43:Control.Width = 46 Prompt43:Control.Height = 10 Prompt43:Control.Attach(WindowHandler) !}}} !{{{ ENTRY ?AchievedMarginStr @s16... AchievedMarginStr:Control.ParentHandler &= LineCostTab:Control AchievedMarginStr:Control.CType = CREATE:SINGLELINE AchievedMarginStr:Control.ControlName = '?AchievedMarginStr' AchievedMarginStr:Control.FieldName = 'AchievedMarginStr' AchievedMarginStr:Control.Checked = TRUE AchievedMarginStr:Control.XPos = 73 AchievedMarginStr:Control.YPos = 155 AchievedMarginStr:Control.Width = 47 AchievedMarginStr:Control.Height = 12 AchievedMarginStr:Control.Help = TRUE AchievedMarginStr:Control.ReadOnly = TRUE AchievedMarginStr:Control.Variable &= AchievedMarginStr AchievedMarginStr:Control.Attach(WindowHandler) !}}} !{{{ GROUP ?Group2 'WARNING'... Group2:Control.ParentHandler &= LineCostTab:Control Group2:Control.CType = CREATE:GROUP Group2:Control.ControlName = '?Group2' Group2:Control.DesignText = 'WARNING' Group2:Control.FieldName = '?Group2' Group2:Control.Checked = TRUE Group2:Control.XPos = 9 Group2:Control.YPos = 175 Group2:Control.Width = 285 Group2:Control.Height = 30 Group2:Control.Boxed = TRUE Group2:Control.Attach(WindowHandler) !}}} !{{{ STRING ?String9 'If the line has not been schedu... String9:Control.ParentHandler &= Group2:Control String9:Control.CType = CREATE:STRING String9:Control.ControlName = '?String9' String9:Control.DesignText = 'If the line has not been scheduled the costs will not be accurate.' String9:Control.FieldName = '?String9' String9:Control.XPos = 19 String9:Control.YPos = 194 String9:Control.Transparent = TRUE String9:Control.Attach(WindowHandler) !}}} !{{{ STRING ?String8 'Before the line is fully dispat... String8:Control.ParentHandler &= LineCostTab:Control String8:Control.CType = CREATE:STRING String8:Control.ControlName = '?String8' String8:Control.DesignText = 'Before the line is fully dispatched the costs are based on the planned dispatches.' String8:Control.FieldName = '?String8' String8:Control.XPos = 19 String8:Control.YPos = 184 String8:Control.Transparent = TRUE String8:Control.Attach(WindowHandler) !}}} !{{{ TAB ?AuditTab '&7 Audit'... AuditTab:Control.ParentHandler &= Sheet1:Control AuditTab:Control.CType = CREATE:TAB AuditTab:Control.ControlName = '?AuditTab' AuditTab:Control.DesignText = '&7 Audit' AuditTab:Control.FieldName = '?AuditTab' AuditTab:Control.Checked = TRUE AuditTab:Control.Help = TRUE AuditTab:Control.Attach(WindowHandler) !}}} !{{{ PROMPT ?zvPrompt:5 'Dispatched Qty:'... zvPrompt:5:Control.ParentHandler &= AuditTab:Control zvPrompt:5:Control.CType = CREATE:PROMPT zvPrompt:5:Control.ControlName = '?zvPrompt:5' zvPrompt:5:Control.DesignText = 'Dispatched Qty:' zvPrompt:5:Control.FieldName = '?zvPrompt:5' zvPrompt:5:Control.XPos = 6 zvPrompt:5:Control.YPos = 77 zvPrompt:5:Control.Width = 62 zvPrompt:5:Control.Height = 10 zvPrompt:5:Control.Alignment = zwAlign:Right zvPrompt:5:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?EditDispatchedQty '...'... EditDispatchedQty:Control.ParentHandler &= AuditTab:Control EditDispatchedQty:Control.CType = CREATE:BUTTON EditDispatchedQty:Control.ControlName = '?EditDispatchedQty' EditDispatchedQty:Control.DesignText = '...' EditDispatchedQty:Control.FieldName = '?EditDispatchedQty' EditDispatchedQty:Control.XPos = 70 EditDispatchedQty:Control.YPos = 77 EditDispatchedQty:Control.Width = 10 EditDispatchedQty:Control.Height = 10 EditDispatchedQty:Control.Attach(WindowHandler) !}}} !{{{ ENTRY ?DispatchedQty @s24... DispatchedQty:Control.ParentHandler &= AuditTab:Control DispatchedQty:Control.CType = CREATE:SINGLELINE DispatchedQty:Control.ControlName = '?DispatchedQty' DispatchedQty:Control.FieldName = 'DispatchedQty' DispatchedQty:Control.XPos = 82 DispatchedQty:Control.YPos = 75 DispatchedQty:Control.Width = 103 DispatchedQty:Control.Height = 12 DispatchedQty:Control.Help = TRUE DispatchedQty:Control.Variable &= DispatchedQty DispatchedQty:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?Dispatches '&Dispatches'... Dispatches:Control.ParentHandler &= AuditTab:Control Dispatches:Control.CType = CREATE:BUTTON Dispatches:Control.ControlName = '?Dispatches' Dispatches:Control.DesignText = '&Dispatches' Dispatches:Control.FieldName = '?Dispatches' Dispatches:Control.Checked = TRUE Dispatches:Control.XPos = 199 Dispatches:Control.YPos = 76 Dispatches:Control.Width = 42 Dispatches:Control.Height = 11 Dispatches:Control.Help = TRUE Dispatches:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?Action 'Stock &Alloc'... Action:Control.ParentHandler &= AuditTab:Control Action:Control.CType = CREATE:BUTTON Action:Control.ControlName = '?Action' Action:Control.DesignText = 'Stock &Alloc' Action:Control.FieldName = '?Action' Action:Control.Checked = TRUE Action:Control.XPos = 243 Action:Control.YPos = 76 Action:Control.Width = 42 Action:Control.Height = 11 Action:Control.Help = TRUE Action:Control.Attach(WindowHandler) !}}} !{{{ PROMPT ?zvPrompt:2 'Returned Qty:'... zvPrompt:2:Control.ParentHandler &= AuditTab:Control zvPrompt:2:Control.CType = CREATE:PROMPT zvPrompt:2:Control.ControlName = '?zvPrompt:2' zvPrompt:2:Control.DesignText = 'Returned Qty:' zvPrompt:2:Control.FieldName = '?zvPrompt:2' zvPrompt:2:Control.XPos = 6 zvPrompt:2:Control.YPos = 90 zvPrompt:2:Control.Width = 62 zvPrompt:2:Control.Height = 10 zvPrompt:2:Control.Alignment = zwAlign:Right zvPrompt:2:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?EditRejectedQty '...'... EditRejectedQty:Control.ParentHandler &= AuditTab:Control EditRejectedQty:Control.CType = CREATE:BUTTON EditRejectedQty:Control.ControlName = '?EditRejectedQty' EditRejectedQty:Control.DesignText = '...' EditRejectedQty:Control.FieldName = '?EditRejectedQty' EditRejectedQty:Control.XPos = 70 EditRejectedQty:Control.YPos = 90 EditRejectedQty:Control.Width = 10 EditRejectedQty:Control.Height = 10 EditRejectedQty:Control.Attach(WindowHandler) !}}} !{{{ ENTRY ?RejectedQty @s24... RejectedQty:Control.ParentHandler &= AuditTab:Control RejectedQty:Control.CType = CREATE:SINGLELINE RejectedQty:Control.ControlName = '?RejectedQty' RejectedQty:Control.FieldName = 'RejectedQty' RejectedQty:Control.XPos = 82 RejectedQty:Control.YPos = 88 RejectedQty:Control.Width = 103 RejectedQty:Control.Height = 12 RejectedQty:Control.Help = TRUE RejectedQty:Control.Variable &= RejectedQty RejectedQty:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?Trace '&Trace'... Trace:Control.ParentHandler &= AuditTab:Control Trace:Control.CType = CREATE:BUTTON Trace:Control.ControlName = '?Trace' Trace:Control.DesignText = '&Trace' Trace:Control.FieldName = '?Trace' Trace:Control.Checked = TRUE Trace:Control.XPos = 199 Trace:Control.YPos = 89 Trace:Control.Width = 42 Trace:Control.Height = 11 Trace:Control.Help = TRUE Trace:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?Events 'E&vents'... Events:Control.ParentHandler &= AuditTab:Control Events:Control.CType = CREATE:BUTTON Events:Control.ControlName = '?Events' Events:Control.DesignText = 'E&vents' Events:Control.FieldName = '?Events' Events:Control.Checked = TRUE Events:Control.XPos = 243 Events:Control.YPos = 89 Events:Control.Width = 42 Events:Control.Height = 11 Events:Control.Help = TRUE Events:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?Invoices '&Invoices'... Invoices:Control.ParentHandler &= AuditTab:Control Invoices:Control.CType = CREATE:BUTTON Invoices:Control.ControlName = '?Invoices' Invoices:Control.DesignText = '&Invoices' Invoices:Control.FieldName = '?Invoices' Invoices:Control.Checked = TRUE Invoices:Control.XPos = 199 Invoices:Control.YPos = 103 Invoices:Control.Width = 42 Invoices:Control.Height = 11 Invoices:Control.Help = TRUE Invoices:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?BarChart 'Ba&r Chart'... BarChart:Control.ParentHandler &= AuditTab:Control BarChart:Control.CType = CREATE:BUTTON BarChart:Control.ControlName = '?BarChart' BarChart:Control.DesignText = 'Ba&r Chart' BarChart:Control.FieldName = '?BarChart' BarChart:Control.Checked = TRUE BarChart:Control.XPos = 243 BarChart:Control.YPos = 103 BarChart:Control.Width = 42 BarChart:Control.Height = 11 BarChart:Control.Help = TRUE BarChart:Control.Attach(WindowHandler) !}}} !{{{ PROMPT ?zvPrompt:3 'Invoiced Qty:'... zvPrompt:3:Control.ParentHandler &= AuditTab:Control zvPrompt:3:Control.CType = CREATE:PROMPT zvPrompt:3:Control.ControlName = '?zvPrompt:3' zvPrompt:3:Control.DesignText = 'Invoiced Qty:' zvPrompt:3:Control.FieldName = '?zvPrompt:3' zvPrompt:3:Control.XPos = 6 zvPrompt:3:Control.YPos = 104 zvPrompt:3:Control.Width = 62 zvPrompt:3:Control.Height = 10 zvPrompt:3:Control.Alignment = zwAlign:Right zvPrompt:3:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?EditInvoicedQty '...'... EditInvoicedQty:Control.ParentHandler &= AuditTab:Control EditInvoicedQty:Control.CType = CREATE:BUTTON EditInvoicedQty:Control.ControlName = '?EditInvoicedQty' EditInvoicedQty:Control.DesignText = '...' EditInvoicedQty:Control.FieldName = '?EditInvoicedQty' EditInvoicedQty:Control.XPos = 70 EditInvoicedQty:Control.YPos = 104 EditInvoicedQty:Control.Width = 10 EditInvoicedQty:Control.Height = 10 EditInvoicedQty:Control.Attach(WindowHandler) !}}} !{{{ ENTRY ?InvoicedQty @s24... InvoicedQty:Control.ParentHandler &= AuditTab:Control InvoicedQty:Control.CType = CREATE:SINGLELINE InvoicedQty:Control.ControlName = '?InvoicedQty' InvoicedQty:Control.FieldName = 'InvoicedQty' InvoicedQty:Control.XPos = 82 InvoicedQty:Control.YPos = 102 InvoicedQty:Control.Width = 103 InvoicedQty:Control.Height = 12 InvoicedQty:Control.Help = TRUE InvoicedQty:Control.Variable &= InvoicedQty InvoicedQty:Control.Attach(WindowHandler) !}}} !{{{ PROMPT ?zvPrompt:4 'Credited Qty:'... zvPrompt:4:Control.ParentHandler &= AuditTab:Control zvPrompt:4:Control.CType = CREATE:PROMPT zvPrompt:4:Control.ControlName = '?zvPrompt:4' zvPrompt:4:Control.DesignText = 'Credited Qty:' zvPrompt:4:Control.FieldName = '?zvPrompt:4' zvPrompt:4:Control.XPos = 6 zvPrompt:4:Control.YPos = 118 zvPrompt:4:Control.Width = 62 zvPrompt:4:Control.Height = 10 zvPrompt:4:Control.Alignment = zwAlign:Right zvPrompt:4:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?EditCreditedQty '...'... EditCreditedQty:Control.ParentHandler &= AuditTab:Control EditCreditedQty:Control.CType = CREATE:BUTTON EditCreditedQty:Control.ControlName = '?EditCreditedQty' EditCreditedQty:Control.DesignText = '...' EditCreditedQty:Control.FieldName = '?EditCreditedQty' EditCreditedQty:Control.XPos = 70 EditCreditedQty:Control.YPos = 118 EditCreditedQty:Control.Width = 10 EditCreditedQty:Control.Height = 10 EditCreditedQty:Control.Attach(WindowHandler) !}}} !{{{ ENTRY ?CreditedQty @s24... CreditedQty:Control.ParentHandler &= AuditTab:Control CreditedQty:Control.CType = CREATE:SINGLELINE CreditedQty:Control.ControlName = '?CreditedQty' CreditedQty:Control.FieldName = 'CreditedQty' CreditedQty:Control.XPos = 82 CreditedQty:Control.YPos = 116 CreditedQty:Control.Width = 103 CreditedQty:Control.Height = 12 CreditedQty:Control.Help = TRUE CreditedQty:Control.Variable &= CreditedQty CreditedQty:Control.Attach(WindowHandler) !}}} !{{{ CHECK ?sol:Edited 'Line Edited'... sol:Edited:Control.ParentHandler &= AuditTab:Control sol:Edited:Control.CType = CREATE:CHECK sol:Edited:Control.ControlName = '?sol:Edited' sol:Edited:Control.DesignText = 'Line Edited' sol:Edited:Control.FieldName = 'sol:Edited' sol:Edited:Control.Checked = TRUE sol:Edited:Control.XPos = 126 sol:Edited:Control.YPos = 194 sol:Edited:Control.Width = 51 sol:Edited:Control.Height = 10 sol:Edited:Control.Help = TRUE sol:Edited:Control.Skip = TRUE sol:Edited:Control.Transparent = TRUE sol:Edited:Control.Variable &= sol:Edited sol:Edited:Control.Attach(WindowHandler) !}}} !{{{ PROMPT ?zvPrompt:14 'Cancelled On:'... zvPrompt:14:Control.ParentHandler &= AuditTab:Control zvPrompt:14:Control.CType = CREATE:PROMPT zvPrompt:14:Control.ControlName = '?zvPrompt:14' zvPrompt:14:Control.DesignText = 'Cancelled On:' zvPrompt:14:Control.FieldName = '?zvPrompt:14' zvPrompt:14:Control.XPos = 6 zvPrompt:14:Control.YPos = 134 zvPrompt:14:Control.Width = 62 zvPrompt:14:Control.Height = 10 zvPrompt:14:Control.Alignment = zwAlign:Right zvPrompt:14:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?zvEditCancelledOn '...'... zvEditCancelledOn:Control.ParentHandler &= AuditTab:Control zvEditCancelledOn:Control.CType = CREATE:BUTTON zvEditCancelledOn:Control.ControlName = '?zvEditCancelledOn' zvEditCancelledOn:Control.DesignText = '...' zvEditCancelledOn:Control.FieldName = '?zvEditCancelledOn' zvEditCancelledOn:Control.XPos = 70 zvEditCancelledOn:Control.YPos = 134 zvEditCancelledOn:Control.Width = 10 zvEditCancelledOn:Control.Height = 10 zvEditCancelledOn:Control.Attach(WindowHandler) !}}} !{{{ ENTRY ?CancelledOn @s8... CancelledOn:Control.ParentHandler &= AuditTab:Control CancelledOn:Control.CType = CREATE:SINGLELINE CancelledOn:Control.ControlName = '?CancelledOn' CancelledOn:Control.FieldName = 'CancelledOn' CancelledOn:Control.XPos = 82 CancelledOn:Control.YPos = 132 CancelledOn:Control.Width = 42 CancelledOn:Control.Height = 12 CancelledOn:Control.Help = TRUE CancelledOn:Control.Variable &= CancelledOn CancelledOn:Control.Attach(WindowHandler) !}}} !{{{ PROMPT ?zvPrompt:17 'Price Basis:'... zvPrompt:17:Control.ParentHandler &= AuditTab:Control zvPrompt:17:Control.CType = CREATE:PROMPT zvPrompt:17:Control.ControlName = '?zvPrompt:17' zvPrompt:17:Control.DesignText = 'Price Basis:' zvPrompt:17:Control.FieldName = '?zvPrompt:17' zvPrompt:17:Control.XPos = 190 zvPrompt:17:Control.YPos = 164 zvPrompt:17:Control.Width = 42 zvPrompt:17:Control.Height = 10 zvPrompt:17:Control.Alignment = zwAlign:Right zvPrompt:17:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?zvEditPriceBasis '...'... zvEditPriceBasis:Control.ParentHandler &= AuditTab:Control zvEditPriceBasis:Control.CType = CREATE:BUTTON zvEditPriceBasis:Control.ControlName = '?zvEditPriceBasis' zvEditPriceBasis:Control.DesignText = '...' zvEditPriceBasis:Control.FieldName = '?zvEditPriceBasis' zvEditPriceBasis:Control.XPos = 234 zvEditPriceBasis:Control.YPos = 164 zvEditPriceBasis:Control.Width = 10 zvEditPriceBasis:Control.Height = 10 zvEditPriceBasis:Control.Attach(WindowHandler) !}}} !{{{ ENTRY ?PriceBasis @s32... PriceBasis:Control.ParentHandler &= AuditTab:Control PriceBasis:Control.CType = CREATE:SINGLELINE PriceBasis:Control.ControlName = '?PriceBasis' PriceBasis:Control.FieldName = 'PriceBasis' PriceBasis:Control.XPos = 246 PriceBasis:Control.YPos = 162 PriceBasis:Control.Width = 46 PriceBasis:Control.Height = 12 PriceBasis:Control.Help = TRUE PriceBasis:Control.Variable &= PriceBasis PriceBasis:Control.Attach(WindowHandler) !}}} !{{{ PROMPT ?zvPrompt:15 'Cancelled By:'... zvPrompt:15:Control.ParentHandler &= AuditTab:Control zvPrompt:15:Control.CType = CREATE:PROMPT zvPrompt:15:Control.ControlName = '?zvPrompt:15' zvPrompt:15:Control.DesignText = 'Cancelled By:' zvPrompt:15:Control.FieldName = '?zvPrompt:15' zvPrompt:15:Control.XPos = 6 zvPrompt:15:Control.YPos = 148 zvPrompt:15:Control.Width = 62 zvPrompt:15:Control.Height = 10 zvPrompt:15:Control.Alignment = zwAlign:Right zvPrompt:15:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?zvEditCancelledBy '...'... zvEditCancelledBy:Control.ParentHandler &= AuditTab:Control zvEditCancelledBy:Control.CType = CREATE:BUTTON zvEditCancelledBy:Control.ControlName = '?zvEditCancelledBy' zvEditCancelledBy:Control.DesignText = '...' zvEditCancelledBy:Control.FieldName = '?zvEditCancelledBy' zvEditCancelledBy:Control.XPos = 70 zvEditCancelledBy:Control.YPos = 148 zvEditCancelledBy:Control.Width = 10 zvEditCancelledBy:Control.Height = 10 zvEditCancelledBy:Control.Attach(WindowHandler) !}}} !{{{ ENTRY ?CancelledBy @s8... CancelledBy:Control.ParentHandler &= AuditTab:Control CancelledBy:Control.CType = CREATE:SINGLELINE CancelledBy:Control.ControlName = '?CancelledBy' CancelledBy:Control.FieldName = 'CancelledBy' CancelledBy:Control.XPos = 82 CancelledBy:Control.YPos = 146 CancelledBy:Control.Width = 103 CancelledBy:Control.Height = 12 CancelledBy:Control.Help = TRUE CancelledBy:Control.Variable &= CancelledBy CancelledBy:Control.Attach(WindowHandler) !}}} !{{{ PROMPT ?zvPrompt:33 'VAT Code:'... zvPrompt:33:Control.ParentHandler &= AuditTab:Control zvPrompt:33:Control.CType = CREATE:PROMPT zvPrompt:33:Control.ControlName = '?zvPrompt:33' zvPrompt:33:Control.DesignText = 'VAT Code:' zvPrompt:33:Control.FieldName = '?zvPrompt:33' zvPrompt:33:Control.XPos = 190 zvPrompt:33:Control.YPos = 148 zvPrompt:33:Control.Width = 42 zvPrompt:33:Control.Height = 10 zvPrompt:33:Control.Alignment = zwAlign:Right zvPrompt:33:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?zvEditor:11 '...'... zvEditor:11:Control.ParentHandler &= AuditTab:Control zvEditor:11:Control.CType = CREATE:BUTTON zvEditor:11:Control.ControlName = '?zvEditor:11' zvEditor:11:Control.DesignText = '...' zvEditor:11:Control.FieldName = '?zvEditor:11' zvEditor:11:Control.XPos = 234 zvEditor:11:Control.YPos = 148 zvEditor:11:Control.Width = 10 zvEditor:11:Control.Height = 10 zvEditor:11:Control.Attach(WindowHandler) !}}} !{{{ ENTRY ?VATCode @s16... VATCode:Control.ParentHandler &= AuditTab:Control VATCode:Control.CType = CREATE:SINGLELINE VATCode:Control.ControlName = '?VATCode' VATCode:Control.FieldName = 'VATCode' VATCode:Control.XPos = 246 VATCode:Control.YPos = 146 VATCode:Control.Width = 46 VATCode:Control.Height = 12 VATCode:Control.Help = TRUE VATCode:Control.Variable &= VATCode VATCode:Control.Attach(WindowHandler) !}}} !{{{ PROMPT ?zvPrompt:27 'Cost Centre:'... zvPrompt:27:Control.ParentHandler &= AuditTab:Control zvPrompt:27:Control.CType = CREATE:PROMPT zvPrompt:27:Control.ControlName = '?zvPrompt:27' zvPrompt:27:Control.DesignText = 'Cost Centre:' zvPrompt:27:Control.FieldName = '?zvPrompt:27' zvPrompt:27:Control.XPos = 190 zvPrompt:27:Control.YPos = 178 zvPrompt:27:Control.Width = 42 zvPrompt:27:Control.Height = 10 zvPrompt:27:Control.Alignment = zwAlign:Right zvPrompt:27:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?zvEditor '...'... zvEditor:Control.ParentHandler &= AuditTab:Control zvEditor:Control.CType = CREATE:BUTTON zvEditor:Control.ControlName = '?zvEditor' zvEditor:Control.DesignText = '...' zvEditor:Control.FieldName = '?zvEditor' zvEditor:Control.XPos = 234 zvEditor:Control.YPos = 178 zvEditor:Control.Width = 10 zvEditor:Control.Height = 10 zvEditor:Control.Attach(WindowHandler) !}}} !{{{ ENTRY ?CostCentre @s64... CostCentre:Control.ParentHandler &= AuditTab:Control CostCentre:Control.CType = CREATE:SINGLELINE CostCentre:Control.ControlName = '?CostCentre' CostCentre:Control.FieldName = 'CostCentre' CostCentre:Control.XPos = 246 CostCentre:Control.YPos = 176 CostCentre:Control.Width = 46 CostCentre:Control.Height = 12 CostCentre:Control.Help = TRUE CostCentre:Control.Variable &= CostCentre CostCentre:Control.Attach(WindowHandler) !}}} !{{{ PROMPT ?zvPrompt:6 'Fully Dispatched On:'... zvPrompt:6:Control.ParentHandler &= AuditTab:Control zvPrompt:6:Control.CType = CREATE:PROMPT zvPrompt:6:Control.ControlName = '?zvPrompt:6' zvPrompt:6:Control.DesignText = 'Fully Dispatched On:' zvPrompt:6:Control.FieldName = '?zvPrompt:6' zvPrompt:6:Control.XPos = 6 zvPrompt:6:Control.YPos = 164 zvPrompt:6:Control.Width = 62 zvPrompt:6:Control.Height = 10 zvPrompt:6:Control.Alignment = zwAlign:Right zvPrompt:6:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?EditDeliveredOn '...'... EditDeliveredOn:Control.ParentHandler &= AuditTab:Control EditDeliveredOn:Control.CType = CREATE:BUTTON EditDeliveredOn:Control.ControlName = '?EditDeliveredOn' EditDeliveredOn:Control.DesignText = '...' EditDeliveredOn:Control.FieldName = '?EditDeliveredOn' EditDeliveredOn:Control.XPos = 70 EditDeliveredOn:Control.YPos = 164 EditDeliveredOn:Control.Width = 10 EditDeliveredOn:Control.Height = 10 EditDeliveredOn:Control.Attach(WindowHandler) !}}} !{{{ ENTRY ?DeliveredOn @s8... DeliveredOn:Control.ParentHandler &= AuditTab:Control DeliveredOn:Control.CType = CREATE:SINGLELINE DeliveredOn:Control.ControlName = '?DeliveredOn' DeliveredOn:Control.FieldName = 'DeliveredOn' DeliveredOn:Control.XPos = 82 DeliveredOn:Control.YPos = 162 DeliveredOn:Control.Width = 42 DeliveredOn:Control.Height = 12 DeliveredOn:Control.Help = TRUE DeliveredOn:Control.Variable &= DeliveredOn DeliveredOn:Control.Attach(WindowHandler) !}}} !{{{ CHECK ?SetDispatched 'Fully Dispatched'... SetDispatched:Control.ParentHandler &= AuditTab:Control SetDispatched:Control.CType = CREATE:CHECK SetDispatched:Control.ControlName = '?SetDispatched' SetDispatched:Control.DesignText = 'Fully Dispatched' SetDispatched:Control.FieldName = 'SetDispatched' SetDispatched:Control.Checked = TRUE SetDispatched:Control.XPos = 126 SetDispatched:Control.YPos = 164 SetDispatched:Control.Width = 61 SetDispatched:Control.Height = 10 SetDispatched:Control.Help = TRUE SetDispatched:Control.Variable &= SetDispatched SetDispatched:Control.Attach(WindowHandler) !}}} !{{{ PROMPT ?zvPrompt:7 'Fully Invoiced On:'... zvPrompt:7:Control.ParentHandler &= AuditTab:Control zvPrompt:7:Control.CType = CREATE:PROMPT zvPrompt:7:Control.ControlName = '?zvPrompt:7' zvPrompt:7:Control.DesignText = 'Fully Invoiced On:' zvPrompt:7:Control.FieldName = '?zvPrompt:7' zvPrompt:7:Control.XPos = 6 zvPrompt:7:Control.YPos = 178 zvPrompt:7:Control.Width = 62 zvPrompt:7:Control.Height = 10 zvPrompt:7:Control.Alignment = zwAlign:Right zvPrompt:7:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?EditInvoicedOn '...'... EditInvoicedOn:Control.ParentHandler &= AuditTab:Control EditInvoicedOn:Control.CType = CREATE:BUTTON EditInvoicedOn:Control.ControlName = '?EditInvoicedOn' EditInvoicedOn:Control.DesignText = '...' EditInvoicedOn:Control.FieldName = '?EditInvoicedOn' EditInvoicedOn:Control.XPos = 70 EditInvoicedOn:Control.YPos = 178 EditInvoicedOn:Control.Width = 10 EditInvoicedOn:Control.Height = 10 EditInvoicedOn:Control.Attach(WindowHandler) !}}} !{{{ ENTRY ?InvoicedOn @s8... InvoicedOn:Control.ParentHandler &= AuditTab:Control InvoicedOn:Control.CType = CREATE:SINGLELINE InvoicedOn:Control.ControlName = '?InvoicedOn' InvoicedOn:Control.FieldName = 'InvoicedOn' InvoicedOn:Control.XPos = 82 InvoicedOn:Control.YPos = 176 InvoicedOn:Control.Width = 42 InvoicedOn:Control.Height = 12 InvoicedOn:Control.Help = TRUE InvoicedOn:Control.Variable &= InvoicedOn InvoicedOn:Control.Attach(WindowHandler) !}}} !{{{ CHECK ?SetInvoiced 'Fully Invoiced'... SetInvoiced:Control.ParentHandler &= AuditTab:Control SetInvoiced:Control.CType = CREATE:CHECK SetInvoiced:Control.ControlName = '?SetInvoiced' SetInvoiced:Control.DesignText = 'Fully Invoiced' SetInvoiced:Control.FieldName = 'SetInvoiced' SetInvoiced:Control.Checked = TRUE SetInvoiced:Control.XPos = 126 SetInvoiced:Control.YPos = 177 SetInvoiced:Control.Help = TRUE SetInvoiced:Control.Variable &= SetInvoiced SetInvoiced:Control.Attach(WindowHandler) !}}} !{{{ PROMPT ?zvPrompt:28 'Department:'... zvPrompt:28:Control.ParentHandler &= AuditTab:Control zvPrompt:28:Control.CType = CREATE:PROMPT zvPrompt:28:Control.ControlName = '?zvPrompt:28' zvPrompt:28:Control.DesignText = 'Department:' zvPrompt:28:Control.FieldName = '?zvPrompt:28' zvPrompt:28:Control.XPos = 190 zvPrompt:28:Control.YPos = 195 zvPrompt:28:Control.Width = 42 zvPrompt:28:Control.Height = 10 zvPrompt:28:Control.Alignment = zwAlign:Right zvPrompt:28:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?zvEditor:6 '...'... zvEditor:6:Control.ParentHandler &= AuditTab:Control zvEditor:6:Control.CType = CREATE:BUTTON zvEditor:6:Control.ControlName = '?zvEditor:6' zvEditor:6:Control.DesignText = '...' zvEditor:6:Control.FieldName = '?zvEditor:6' zvEditor:6:Control.XPos = 234 zvEditor:6:Control.YPos = 195 zvEditor:6:Control.Width = 10 zvEditor:6:Control.Height = 10 zvEditor:6:Control.Attach(WindowHandler) !}}} !{{{ ENTRY ?Department @s64... Department:Control.ParentHandler &= AuditTab:Control Department:Control.CType = CREATE:SINGLELINE Department:Control.ControlName = '?Department' Department:Control.FieldName = 'Department' Department:Control.XPos = 246 Department:Control.YPos = 193 Department:Control.Width = 46 Department:Control.Height = 12 Department:Control.Help = TRUE Department:Control.Variable &= Department Department:Control.Attach(WindowHandler) !}}} !{{{ PROMPT ?zvPrompt:18 'Issue Number:'... zvPrompt:18:Control.ParentHandler &= AuditTab:Control zvPrompt:18:Control.CType = CREATE:PROMPT zvPrompt:18:Control.ControlName = '?zvPrompt:18' zvPrompt:18:Control.DesignText = 'Issue Number:' zvPrompt:18:Control.FieldName = '?zvPrompt:18' zvPrompt:18:Control.XPos = 13 zvPrompt:18:Control.YPos = 195 zvPrompt:18:Control.Width = 55 zvPrompt:18:Control.Height = 10 zvPrompt:18:Control.Alignment = zwAlign:Right zvPrompt:18:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?zvEditIssue '...'... zvEditIssue:Control.ParentHandler &= AuditTab:Control zvEditIssue:Control.CType = CREATE:BUTTON zvEditIssue:Control.ControlName = '?zvEditIssue' zvEditIssue:Control.DesignText = '...' zvEditIssue:Control.FieldName = '?zvEditIssue' zvEditIssue:Control.XPos = 70 zvEditIssue:Control.YPos = 195 zvEditIssue:Control.Width = 10 zvEditIssue:Control.Height = 10 zvEditIssue:Control.Attach(WindowHandler) !}}} !{{{ ENTRY ?Issue @s8... Issue:Control.ParentHandler &= AuditTab:Control Issue:Control.CType = CREATE:SINGLELINE Issue:Control.ControlName = '?Issue' Issue:Control.FieldName = 'Issue' Issue:Control.XPos = 82 Issue:Control.YPos = 193 Issue:Control.Width = 42 Issue:Control.Height = 12 Issue:Control.Help = TRUE Issue:Control.Variable &= Issue Issue:Control.Attach(WindowHandler) !}}} !{{{ TAB ?Actions '&8 Actions'... Actions:Control.ParentHandler &= Sheet1:Control Actions:Control.CType = CREATE:TAB Actions:Control.ControlName = '?Actions' Actions:Control.DesignText = '&8 Actions' Actions:Control.FieldName = '?Actions' Actions:Control.Checked = TRUE Actions:Control.Help = TRUE Actions:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?DispatchSchedule '&Dispatch schedule...'... DispatchSchedule:Control.ParentHandler &= Actions:Control DispatchSchedule:Control.CType = CREATE:BUTTON DispatchSchedule:Control.ControlName = '?DispatchSchedule' DispatchSchedule:Control.DesignText = '&Dispatch schedule...' DispatchSchedule:Control.FieldName = '?DispatchSchedule' DispatchSchedule:Control.Checked = TRUE DispatchSchedule:Control.XPos = 11 DispatchSchedule:Control.YPos = 139 DispatchSchedule:Control.Width = 76 DispatchSchedule:Control.Height = 11 DispatchSchedule:Control.Help = TRUE DispatchSchedule:Control.Attach(WindowHandler) !}}} !{{{ STRING ?String24 'Short-cut to the sales lines di... String24:Control.ParentHandler &= Actions:Control String24:Control.CType = CREATE:STRING String24:Control.ControlName = '?String24' String24:Control.DesignText = 'Short-cut to the sales lines dispatch schedule' String24:Control.FieldName = '?String24' String24:Control.XPos = 95 String24:Control.YPos = 140 String24:Control.Width = 174 String24:Control.Height = 10 String24:Control.Attach(WindowHandler) !}}} !{{{ STRING ?String24:2 'Short-cut to the raise sales in... String24:2:Control.ParentHandler &= Actions:Control String24:2:Control.CType = CREATE:STRING String24:2:Control.ControlName = '?String24:2' String24:2:Control.DesignText = 'Short-cut to the raise sales invoice schedule' String24:2:Control.FieldName = '?String24:2' String24:2:Control.XPos = 95 String24:2:Control.YPos = 155 String24:2:Control.Width = 181 String24:2:Control.Height = 10 String24:2:Control.Attach(WindowHandler) !}}} !{{{ GROUP ?WizardGroup 'Via Wizard'... WizardGroup:Control.ParentHandler &= Actions:Control WizardGroup:Control.CType = CREATE:GROUP WizardGroup:Control.ControlName = '?WizardGroup' WizardGroup:Control.DesignText = 'Via Wizard' WizardGroup:Control.FieldName = '?WizardGroup' WizardGroup:Control.Checked = TRUE WizardGroup:Control.XPos = 49 WizardGroup:Control.YPos = 169 WizardGroup:Control.Width = 191 WizardGroup:Control.Height = 37 WizardGroup:Control.Boxed = TRUE WizardGroup:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?WizardAdd 'Add'... WizardAdd:Control.ParentHandler &= WizardGroup:Control WizardAdd:Control.CType = CREATE:BUTTON WizardAdd:Control.ControlName = '?WizardAdd' WizardAdd:Control.DesignText = 'Add' WizardAdd:Control.FieldName = '?WizardAdd' WizardAdd:Control.Checked = TRUE WizardAdd:Control.XPos = 54 WizardAdd:Control.YPos = 179 WizardAdd:Control.Width = 32 WizardAdd:Control.Height = 11 WizardAdd:Control.Help = TRUE WizardAdd:Control.Attach(WindowHandler) !}}} !{{{ PROMPT ?Prompt59 'Create another line on this ord... Prompt59:Control.ParentHandler &= WizardGroup:Control Prompt59:Control.CType = CREATE:PROMPT Prompt59:Control.ControlName = '?Prompt59' Prompt59:Control.DesignText = 'Create another line on this order via a wizard' Prompt59:Control.FieldName = '?Prompt59' Prompt59:Control.XPos = 95 Prompt59:Control.YPos = 180 Prompt59:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?WizardEdit 'Edit'... WizardEdit:Control.ParentHandler &= WizardGroup:Control WizardEdit:Control.CType = CREATE:BUTTON WizardEdit:Control.ControlName = '?WizardEdit' WizardEdit:Control.DesignText = 'Edit' WizardEdit:Control.FieldName = '?WizardEdit' WizardEdit:Control.Checked = TRUE WizardEdit:Control.XPos = 54 WizardEdit:Control.YPos = 191 WizardEdit:Control.Width = 32 WizardEdit:Control.Height = 11 WizardEdit:Control.Help = TRUE WizardEdit:Control.Attach(WindowHandler) !}}} !{{{ PROMPT ?Prompt60 'Edit this line via a wizard'... Prompt60:Control.ParentHandler &= WizardGroup:Control Prompt60:Control.CType = CREATE:PROMPT Prompt60:Control.ControlName = '?Prompt60' Prompt60:Control.DesignText = 'Edit this line via a wizard' Prompt60:Control.FieldName = '?Prompt60' Prompt60:Control.XPos = 95 Prompt60:Control.YPos = 192 Prompt60:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?ReCost 'Re-Est&imate Costs'... ReCost:Control.ParentHandler &= Actions:Control ReCost:Control.CType = CREATE:BUTTON ReCost:Control.ControlName = '?ReCost' ReCost:Control.DesignText = 'Re-Est&imate Costs' ReCost:Control.FieldName = '?ReCost' ReCost:Control.Checked = TRUE ReCost:Control.XPos = 11 ReCost:Control.YPos = 102 ReCost:Control.Width = 76 ReCost:Control.Height = 11 ReCost:Control.Help = TRUE ReCost:Control.Attach(WindowHandler) !}}} !{{{ STRING ?String28 'Press this to re-calculate esti... String28:Control.ParentHandler &= Actions:Control String28:Control.CType = CREATE:STRING String28:Control.ControlName = '?String28' String28:Control.DesignText = 'Press this to re-calculate estimated costs for this part' String28:Control.FieldName = '?String28' String28:Control.XPos = 95 String28:Control.YPos = 103 String28:Control.Width = 195 String28:Control.Height = 10 String28:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?Schedule 'What if Schedule?'... Schedule:Control.ParentHandler &= Actions:Control Schedule:Control.CType = CREATE:BUTTON Schedule:Control.ControlName = '?Schedule' Schedule:Control.DesignText = 'What if Schedule?' Schedule:Control.FieldName = '?Schedule' Schedule:Control.Checked = TRUE Schedule:Control.XPos = 11 Schedule:Control.YPos = 84 Schedule:Control.Width = 76 Schedule:Control.Height = 11 Schedule:Control.Help = TRUE Schedule:Control.Attach(WindowHandler) !}}} !{{{ STRING ?String26 'Perform a tentative schedule to... String26:Control.ParentHandler &= Actions:Control String26:Control.CType = CREATE:STRING String26:Control.ControlName = '?String26' String26:Control.DesignText = 'Perform a tentative schedule to estimate price and/or duration' String26:Control.FieldName = '?String26' String26:Control.XPos = 95 String26:Control.YPos = 85 String26:Control.Width = 198 String26:Control.Height = 10 String26:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?RaiseTender '&Tender Product'... RaiseTender:Control.ParentHandler &= Actions:Control RaiseTender:Control.CType = CREATE:BUTTON RaiseTender:Control.ControlName = '?RaiseTender' RaiseTender:Control.DesignText = '&Tender Product' RaiseTender:Control.FieldName = '?RaiseTender' RaiseTender:Control.Checked = TRUE RaiseTender:Control.XPos = 11 RaiseTender:Control.YPos = 118 RaiseTender:Control.Width = 76 RaiseTender:Control.Height = 11 RaiseTender:Control.Help = TRUE RaiseTender:Control.Attach(WindowHandler) !}}} !{{{ STRING ?String27 'Raise a tender to get supplier ... String27:Control.ParentHandler &= Actions:Control String27:Control.CType = CREATE:STRING String27:Control.ControlName = '?String27' String27:Control.DesignText = 'Raise a tender to get supplier prices for this part' String27:Control.FieldName = '?String27' String27:Control.XPos = 95 String27:Control.YPos = 119 String27:Control.Width = 183 String27:Control.Height = 10 String27:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?InvoiceSchedule '&Invoice schedule...'... InvoiceSchedule:Control.ParentHandler &= Actions:Control InvoiceSchedule:Control.CType = CREATE:BUTTON InvoiceSchedule:Control.ControlName = '?InvoiceSchedule' InvoiceSchedule:Control.DesignText = '&Invoice schedule...' InvoiceSchedule:Control.FieldName = '?InvoiceSchedule' InvoiceSchedule:Control.Checked = TRUE InvoiceSchedule:Control.XPos = 11 InvoiceSchedule:Control.YPos = 154 InvoiceSchedule:Control.Width = 76 InvoiceSchedule:Control.Height = 11 InvoiceSchedule:Control.Help = TRUE InvoiceSchedule:Control.Attach(WindowHandler) !}}} !{{{ PROMPT ?PROMPT12 'Sales Order:'... PROMPT12:Control.ParentHandler &= NULL PROMPT12:Control.CType = CREATE:PROMPT PROMPT12:Control.ControlName = '?PROMPT12' PROMPT12:Control.DesignText = 'Sales Order:' PROMPT12:Control.FieldName = '?PROMPT12' PROMPT12:Control.XPos = 0 PROMPT12:Control.YPos = 5 PROMPT12:Control.Width = 58 PROMPT12:Control.Height = 10 PROMPT12:Control.Alignment = zwAlign:Right PROMPT12:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?zvEditSalesOrder '...'... zvEditSalesOrder:Control.ParentHandler &= NULL zvEditSalesOrder:Control.CType = CREATE:BUTTON zvEditSalesOrder:Control.ControlName = '?zvEditSalesOrder' zvEditSalesOrder:Control.DesignText = '...' zvEditSalesOrder:Control.FieldName = '?zvEditSalesOrder' zvEditSalesOrder:Control.XPos = 61 zvEditSalesOrder:Control.YPos = 5 zvEditSalesOrder:Control.Width = 10 zvEditSalesOrder:Control.Height = 10 zvEditSalesOrder:Control.Attach(WindowHandler) !}}} !{{{ ENTRY ?SalesOrderNum @s16... SalesOrderNum:Control.ParentHandler &= NULL SalesOrderNum:Control.CType = CREATE:SINGLELINE SalesOrderNum:Control.ControlName = '?SalesOrderNum' SalesOrderNum:Control.FieldName = 'SalesOrderNum' SalesOrderNum:Control.XPos = 73 SalesOrderNum:Control.YPos = 3 SalesOrderNum:Control.Width = 58 SalesOrderNum:Control.Height = 12 SalesOrderNum:Control.Help = TRUE SalesOrderNum:Control.Variable &= SalesOrderNum SalesOrderNum:Control.Attach(WindowHandler) !}}} !{{{ PROMPT ?soh:TheirOrderNum:Prompt 'Their#:'... soh:TheirOrderNum:Prompt:Control.ParentHandler &= NULL soh:TheirOrderNum:Prompt:Control.CType = CREATE:PROMPT soh:TheirOrderNum:Prompt:Control.ControlName = '?soh:TheirOrderNum:Prompt' soh:TheirOrderNum:Prompt:Control.DesignText = 'Their#:' soh:TheirOrderNum:Prompt:Control.FieldName = '?soh:TheirOrderNum:Prompt' soh:TheirOrderNum:Prompt:Control.XPos = 133 soh:TheirOrderNum:Prompt:Control.YPos = 5 soh:TheirOrderNum:Prompt:Control.Width = 24 soh:TheirOrderNum:Prompt:Control.Height = 10 soh:TheirOrderNum:Prompt:Control.Alignment = zwAlign:Right soh:TheirOrderNum:Prompt:Control.Attach(WindowHandler) !}}} !{{{ ENTRY ?soh:TheirOrderNum @s32... soh:TheirOrderNum:Control.ParentHandler &= NULL soh:TheirOrderNum:Control.CType = CREATE:SINGLELINE soh:TheirOrderNum:Control.ControlName = '?soh:TheirOrderNum' soh:TheirOrderNum:Control.FieldName = 'soh:TheirOrderNum' soh:TheirOrderNum:Control.Checked = TRUE soh:TheirOrderNum:Control.XPos = 158 soh:TheirOrderNum:Control.YPos = 3 soh:TheirOrderNum:Control.Width = 71 soh:TheirOrderNum:Control.Height = 12 soh:TheirOrderNum:Control.Help = TRUE soh:TheirOrderNum:Control.ReadOnly = TRUE soh:TheirOrderNum:Control.Variable &= soh:TheirOrderNum soh:TheirOrderNum:Control.Attach(WindowHandler) !}}} !{{{ PROMPT ?Prompt38 'State:'... Prompt38:Control.ParentHandler &= NULL Prompt38:Control.CType = CREATE:PROMPT Prompt38:Control.ControlName = '?Prompt38' Prompt38:Control.DesignText = 'State:' Prompt38:Control.FieldName = '?Prompt38' Prompt38:Control.XPos = 229 Prompt38:Control.YPos = 5 Prompt38:Control.Width = 21 Prompt38:Control.Height = 10 Prompt38:Control.Alignment = zwAlign:Right Prompt38:Control.Attach(WindowHandler) !}}} !{{{ ENTRY ?OrderState @s16... OrderState:Control.ParentHandler &= NULL OrderState:Control.CType = CREATE:SINGLELINE OrderState:Control.ControlName = '?OrderState' OrderState:Control.FieldName = 'OrderState' OrderState:Control.Checked = TRUE OrderState:Control.XPos = 251 OrderState:Control.YPos = 3 OrderState:Control.Width = 47 OrderState:Control.Height = 12 OrderState:Control.Help = TRUE OrderState:Control.ReadOnly = TRUE OrderState:Control.Variable &= OrderState OrderState:Control.Attach(WindowHandler) !}}} !{{{ PROMPT ?sol:Line:Prompt 'Line Number:'... sol:Line:Prompt:Control.ParentHandler &= NULL sol:Line:Prompt:Control.CType = CREATE:PROMPT sol:Line:Prompt:Control.ControlName = '?sol:Line:Prompt' sol:Line:Prompt:Control.DesignText = 'Line Number:' sol:Line:Prompt:Control.FieldName = '?sol:Line:Prompt' sol:Line:Prompt:Control.XPos = 0 sol:Line:Prompt:Control.YPos = 19 sol:Line:Prompt:Control.Width = 58 sol:Line:Prompt:Control.Height = 10 sol:Line:Prompt:Control.Alignment = zwAlign:Right sol:Line:Prompt:Control.Attach(WindowHandler) !}}} !{{{ ENTRY ?sol:Line @n3... sol:Line:Control.ParentHandler &= NULL sol:Line:Control.CType = CREATE:ENTRY sol:Line:Control.ControlName = '?sol:Line' sol:Line:Control.DesignText = '@n3' sol:Line:Control.FieldName = 'sol:Line' sol:Line:Control.Checked = TRUE sol:Line:Control.XPos = 73 sol:Line:Control.YPos = 17 sol:Line:Control.Width = 22 sol:Line:Control.Height = 12 sol:Line:Control.ShowFlat = TRUE sol:Line:Control.Help = TRUE sol:Line:Control.ReadOnly = TRUE sol:Line:Control.Variable &= sol:Line sol:Line:Control.Attach(WindowHandler) !}}} !{{{ CHECK ?IsContainer 'Is Container'... IsContainer:Control.ParentHandler &= NULL IsContainer:Control.CType = CREATE:CHECK IsContainer:Control.ControlName = '?IsContainer' IsContainer:Control.DesignText = 'Is Container' IsContainer:Control.FieldName = 'IsContainer' IsContainer:Control.Checked = TRUE IsContainer:Control.XPos = 99 IsContainer:Control.YPos = 19 IsContainer:Control.Help = TRUE IsContainer:Control.Skip = TRUE IsContainer:Control.Transparent = TRUE IsContainer:Control.Variable &= IsContainer IsContainer:Control.Attach(WindowHandler) !}}} !{{{ CHECK ?IsMultipleOutput 'Is Multiple Output'... IsMultipleOutput:Control.ParentHandler &= NULL IsMultipleOutput:Control.CType = CREATE:CHECK IsMultipleOutput:Control.ControlName = '?IsMultipleOutput' IsMultipleOutput:Control.DesignText = 'Is Multiple Output' IsMultipleOutput:Control.FieldName = 'IsMultipleOutput' IsMultipleOutput:Control.Checked = TRUE IsMultipleOutput:Control.XPos = 99 IsMultipleOutput:Control.YPos = 19 IsMultipleOutput:Control.Help = TRUE IsMultipleOutput:Control.Skip = TRUE IsMultipleOutput:Control.Transparent = TRUE IsMultipleOutput:Control.Variable &= IsMultipleOutput IsMultipleOutput:Control.Attach(WindowHandler) !}}} !{{{ PROMPT ?PROMPT13 'Cus Line Ref:'... PROMPT13:Control.ParentHandler &= NULL PROMPT13:Control.CType = CREATE:PROMPT PROMPT13:Control.ControlName = '?PROMPT13' PROMPT13:Control.DesignText = 'Cus Line Ref:' PROMPT13:Control.FieldName = '?PROMPT13' PROMPT13:Control.XPos = 0 PROMPT13:Control.YPos = 33 PROMPT13:Control.Width = 58 PROMPT13:Control.Height = 10 PROMPT13:Control.Alignment = zwAlign:Right PROMPT13:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?EditRef '...'... EditRef:Control.ParentHandler &= NULL EditRef:Control.CType = CREATE:BUTTON EditRef:Control.ControlName = '?EditRef' EditRef:Control.DesignText = '...' EditRef:Control.FieldName = '?EditRef' EditRef:Control.XPos = 61 EditRef:Control.YPos = 33 EditRef:Control.Width = 10 EditRef:Control.Height = 10 EditRef:Control.Attach(WindowHandler) !}}} !{{{ ENTRY ?CustomerRef @s32... CustomerRef:Control.ParentHandler &= NULL CustomerRef:Control.CType = CREATE:SINGLELINE CustomerRef:Control.ControlName = '?CustomerRef' CustomerRef:Control.FieldName = 'CustomerRef' CustomerRef:Control.XPos = 73 CustomerRef:Control.YPos = 31 CustomerRef:Control.Width = 122 CustomerRef:Control.Height = 12 CustomerRef:Control.Help = TRUE CustomerRef:Control.Variable &= CustomerRef CustomerRef:Control.Attach(WindowHandler) !}}} !{{{ PROMPT ?PROMPT14 'Custo&mer:'... PROMPT14:Control.ParentHandler &= NULL PROMPT14:Control.CType = CREATE:PROMPT PROMPT14:Control.ControlName = '?PROMPT14' PROMPT14:Control.DesignText = 'Custo&mer:' PROMPT14:Control.FieldName = '?PROMPT14' PROMPT14:Control.XPos = 7 PROMPT14:Control.YPos = 47 PROMPT14:Control.Width = 52 PROMPT14:Control.Height = 10 PROMPT14:Control.Alignment = zwAlign:Right PROMPT14:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?EditCustomer '...'... EditCustomer:Control.ParentHandler &= NULL EditCustomer:Control.CType = CREATE:BUTTON EditCustomer:Control.ControlName = '?EditCustomer' EditCustomer:Control.DesignText = '...' EditCustomer:Control.FieldName = '?EditCustomer' EditCustomer:Control.XPos = 61 EditCustomer:Control.YPos = 47 EditCustomer:Control.Width = 10 EditCustomer:Control.Height = 10 EditCustomer:Control.Attach(WindowHandler) !}}} !{{{ ENTRY ?Customer @s32... Customer:Control.ParentHandler &= NULL Customer:Control.CType = CREATE:SINGLELINE Customer:Control.ControlName = '?Customer' Customer:Control.FieldName = 'Customer' Customer:Control.XPos = 73 Customer:Control.YPos = 45 Customer:Control.Width = 122 Customer:Control.Height = 12 Customer:Control.Help = TRUE Customer:Control.Variable &= Customer Customer:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?History '&History'... History:Control.ParentHandler &= NULL History:Control.CType = CREATE:BUTTON History:Control.ControlName = '?History' History:Control.DesignText = '&History' History:Control.FieldName = '?History' History:Control.Checked = TRUE History:Control.XPos = 197 History:Control.YPos = 46 History:Control.Width = 36 History:Control.Height = 11 History:Control.Help = TRUE History:Control.Attach(WindowHandler) !}}} !{{{ CHECK ?sol:CancelledOn 'Line Cancelled'... sol:CancelledOn:Control.ParentHandler &= NULL sol:CancelledOn:Control.CType = CREATE:CHECK sol:CancelledOn:Control.ControlName = '?sol:CancelledOn' sol:CancelledOn:Control.DesignText = 'Line Cancelled' sol:CancelledOn:Control.FieldName = 'sol:CancelledOn' sol:CancelledOn:Control.Checked = TRUE sol:CancelledOn:Control.XPos = 223 sol:CancelledOn:Control.YPos = 15 sol:CancelledOn:Control.Help = TRUE sol:CancelledOn:Control.Skip = TRUE sol:CancelledOn:Control.Transparent = TRUE sol:CancelledOn:Control.Variable &= sol:CancelledOn sol:CancelledOn:Control.Attach(WindowHandler) !}}} !{{{ CHECK ?sol:DeliveredOn 'Line Fully Dispatched'... sol:DeliveredOn:Control.ParentHandler &= NULL sol:DeliveredOn:Control.CType = CREATE:CHECK sol:DeliveredOn:Control.ControlName = '?sol:DeliveredOn' sol:DeliveredOn:Control.DesignText = 'Line Fully Dispatched' sol:DeliveredOn:Control.FieldName = 'sol:DeliveredOn' sol:DeliveredOn:Control.Checked = TRUE sol:DeliveredOn:Control.XPos = 223 sol:DeliveredOn:Control.YPos = 22 sol:DeliveredOn:Control.Help = TRUE sol:DeliveredOn:Control.Skip = TRUE sol:DeliveredOn:Control.Transparent = TRUE sol:DeliveredOn:Control.Variable &= sol:DeliveredOn sol:DeliveredOn:Control.Attach(WindowHandler) !}}} !{{{ CHECK ?sol:InvoicedOn 'Line Fully Invoiced'... sol:InvoicedOn:Control.ParentHandler &= NULL sol:InvoicedOn:Control.CType = CREATE:CHECK sol:InvoicedOn:Control.ControlName = '?sol:InvoicedOn' sol:InvoicedOn:Control.DesignText = 'Line Fully Invoiced' sol:InvoicedOn:Control.FieldName = 'sol:InvoicedOn' sol:InvoicedOn:Control.Checked = TRUE sol:InvoicedOn:Control.XPos = 223 sol:InvoicedOn:Control.YPos = 29 sol:InvoicedOn:Control.Help = TRUE sol:InvoicedOn:Control.Skip = TRUE sol:InvoicedOn:Control.Transparent = TRUE sol:InvoicedOn:Control.Variable &= sol:InvoicedOn sol:InvoicedOn:Control.Attach(WindowHandler) !}}} !{{{ CHECK ?CustomerApproved 'Customer Approved?'... CustomerApproved:Control.ParentHandler &= NULL CustomerApproved:Control.CType = CREATE:CHECK CustomerApproved:Control.ControlName = '?CustomerApproved' CustomerApproved:Control.DesignText = 'Customer Approved?' CustomerApproved:Control.FieldName = 'CustomerApproved' CustomerApproved:Control.Checked = TRUE CustomerApproved:Control.XPos = 223 CustomerApproved:Control.YPos = 36 CustomerApproved:Control.Help = TRUE CustomerApproved:Control.Skip = TRUE CustomerApproved:Control.Transparent = TRUE CustomerApproved:Control.Variable &= CustomerApproved CustomerApproved:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?BackOne '<<&Back'... BackOne:Control.ParentHandler &= NULL BackOne:Control.CType = CREATE:BUTTON BackOne:Control.ControlName = '?BackOne' BackOne:Control.DesignText = '<<&Back' BackOne:Control.FieldName = '?BackOne' BackOne:Control.Checked = TRUE BackOne:Control.XPos = 131 BackOne:Control.YPos = 211 BackOne:Control.Width = 24 BackOne:Control.Height = 11 BackOne:Control.Help = TRUE BackOne:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?NextOne 'Ne&xt>'... NextOne:Control.ParentHandler &= NULL NextOne:Control.CType = CREATE:BUTTON NextOne:Control.ControlName = '?NextOne' NextOne:Control.DesignText = 'Ne&xt>' NextOne:Control.FieldName = '?NextOne' NextOne:Control.Checked = TRUE NextOne:Control.XPos = 155 NextOne:Control.YPos = 211 NextOne:Control.Width = 24 NextOne:Control.Height = 11 NextOne:Control.Help = TRUE NextOne:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?NewOne 'Ne&w'... NewOne:Control.ParentHandler &= NULL NewOne:Control.CType = CREATE:BUTTON NewOne:Control.ControlName = '?NewOne' NewOne:Control.DesignText = 'Ne&w' NewOne:Control.FieldName = '?NewOne' NewOne:Control.Checked = TRUE NewOne:Control.XPos = 179 NewOne:Control.YPos = 211 NewOne:Control.Width = 24 NewOne:Control.Height = 11 NewOne:Control.Help = TRUE NewOne:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?ResetRecord 'Reset'... ResetRecord:Control.ParentHandler &= NULL ResetRecord:Control.CType = CREATE:BUTTON ResetRecord:Control.ControlName = '?ResetRecord' ResetRecord:Control.DesignText = 'Reset' ResetRecord:Control.FieldName = '?ResetRecord' ResetRecord:Control.Checked = TRUE ResetRecord:Control.XPos = 203 ResetRecord:Control.YPos = 211 ResetRecord:Control.Width = 24 ResetRecord:Control.Height = 11 ResetRecord:Control.Help = TRUE ResetRecord:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?DelOne 'D&el'... DelOne:Control.ParentHandler &= NULL DelOne:Control.CType = CREATE:BUTTON DelOne:Control.ControlName = '?DelOne' DelOne:Control.DesignText = 'D&el' DelOne:Control.FieldName = '?DelOne' DelOne:Control.Checked = TRUE DelOne:Control.XPos = 227 DelOne:Control.YPos = 211 DelOne:Control.Width = 24 DelOne:Control.Height = 11 DelOne:Control.Help = TRUE DelOne:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?OK '&Save'... OK:Control.ParentHandler &= NULL OK:Control.CType = CREATE:BUTTON OK:Control.ControlName = '?OK' OK:Control.DesignText = '&Save' OK:Control.FieldName = '?OK' OK:Control.Checked = TRUE OK:Control.XPos = 251 OK:Control.YPos = 211 OK:Control.Width = 24 OK:Control.Height = 11 OK:Control.Help = TRUE OK:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?Cancel '&Close'... Cancel:Control.ParentHandler &= NULL Cancel:Control.CType = CREATE:BUTTON Cancel:Control.ControlName = '?Cancel' Cancel:Control.DesignText = '&Close' Cancel:Control.FieldName = '?Cancel' Cancel:Control.Checked = TRUE Cancel:Control.XPos = 275 Cancel:Control.YPos = 211 Cancel:Control.Width = 24 Cancel:Control.Height = 11 Cancel:Control.Help = TRUE Cancel:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?FormPrint ... FormPrint:Control.ParentHandler &= NULL FormPrint:Control.CType = CREATE:BUTTON FormPrint:Control.ControlName = '?FormPrint' FormPrint:Control.FieldName = '?FormPrint' FormPrint:Control.Checked = TRUE FormPrint:Control.XPos = 18 FormPrint:Control.YPos = 211 FormPrint:Control.Width = 14 FormPrint:Control.Height = 11 FormPrint:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?Refresh ... Refresh:Control.ParentHandler &= NULL Refresh:Control.CType = CREATE:BUTTON Refresh:Control.ControlName = '?Refresh' Refresh:Control.FieldName = '?Refresh' Refresh:Control.Checked = TRUE Refresh:Control.XPos = 32 Refresh:Control.YPos = 211 Refresh:Control.Width = 14 Refresh:Control.Height = 11 Refresh:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?Defaults ... Defaults:Control.ParentHandler &= NULL Defaults:Control.CType = CREATE:BUTTON Defaults:Control.ControlName = '?Defaults' Defaults:Control.FieldName = '?Defaults' Defaults:Control.Checked = TRUE Defaults:Control.XPos = 46 Defaults:Control.YPos = 211 Defaults:Control.Width = 14 Defaults:Control.Height = 11 Defaults:Control.Attach(WindowHandler) !}}} !{{{ BUTTON ?Help ... Help:Control.ParentHandler &= NULL Help:Control.CType = CREATE:BUTTON Help:Control.ControlName = '?Help' Help:Control.FieldName = '?Help' Help:Control.Checked = TRUE Help:Control.XPos = 4 Help:Control.YPos = 211 Help:Control.Width = 14 Help:Control.Height = 11 Help:Control.Attach(WindowHandler) !}}} !}}} !{{{ SheetHandlers !{{{ Sheet1 Sheet1:Handler.Attach(WindowHandler) !}}} !}}} !{{{ FormHandler FormHandler.EnableChangeDetection = 1 FormHandler.ForceRefreshOnChange = 1 FormHandler.Attach(WindowHandler) !{{{ add controls !{{{ AcceptQty AcceptQty:Field.Attach(FormHandler) AcceptQty:Field.AddVar(1,sol:AcceptQty) !}}} !{{{ ActualCostMargin ActualCostMargin:Field.Attach(FormHandler) ActualCostMargin:Field.AddVar(1,RawActualCostMargin) !}}} !{{{ ActualDiscountStr ActualDiscountStr:Field.Passive = TRUE ActualDiscountStr:Field.Attach(FormHandler) ActualDiscountStr:Field.AddVar(1,ActualDiscount) !}}} !{{{ ActualMarginStr ActualMarginStr:Field.Passive = TRUE ActualMarginStr:Field.Attach(FormHandler) ActualMarginStr:Field.AddVar(1,ActualMargin) !}}} !{{{ ConsignmentFlag ConsignmentFlag:Field.Attach(FormHandler) ConsignmentFlag:Field.AddVar(1,sol:ConsignmentFlag) !}}} !{{{ ConsignmentNotes ConsignmentNotes:Field.Attach(FormHandler) !sol:ConsignmentNotes is a memo - see ConsignmentNotes:Field.RefreshVars !}}} !{{{ ConsignmentQty ConsignmentQty:Field.Attach(FormHandler) ConsignmentQty:Field.AddVar(1,sol:ConsignmentQty) !}}} !{{{ ContractLine ContractLine:Field.Attach(FormHandler) ContractLine:Field.AddVar(1,sol:ContractLine) !}}} !{{{ ContractRef ContractRef:Field.Passive = TRUE ContractRef:Field.Attach(FormHandler) ContractRef:Field.AddVar(1,RawContractRef) !}}} !{{{ CostCentre CostCentre:Field.Attach(FormHandler) CostCentre:Field.AddVar(1,sol:CostCentre) !}}} !{{{ CustomerApproved CustomerApproved:Field.Passive = TRUE CustomerApproved:Field.Attach(FormHandler) CustomerApproved:Field.AddVar(1,CustomerApproved) !}}} !{{{ CustomerRef CustomerRef:Field.Attach(FormHandler) CustomerRef:Field.AddVar(1,sol:LineItemReference) !}}} !{{{ DeliverOn DeliverOn:Field.Attach(FormHandler) DeliverOn:Field.AddVar(1,sol:DeliverOn) !}}} !{{{ Department Department:Field.Attach(FormHandler) Department:Field.AddVar(1,sol:Department) !}}} !{{{ EnquiryLineNotes EnquiryLineNotes:Field.Attach(FormHandler) !sol:enqExternalNotes is a memo - see EnquiryLineNotes:Field.RefreshVars !}}} !{{{ ExternalNotes ExternalNotes:Field.Attach(FormHandler) !sol:ExternalNotes is a memo - see ExternalNotes:Field.RefreshVars !}}} !{{{ InternalNotes InternalNotes:Field.Attach(FormHandler) !sol:InternalNotes is a memo - see InternalNotes:Field.RefreshVars !}}} !{{{ IsContainer IsContainer:Field.Passive = TRUE IsContainer:Field.Attach(FormHandler) IsContainer:Field.AddVar(1,IsContainer) !}}} !{{{ IsMultipleOutput IsMultipleOutput:Field.Passive = TRUE IsMultipleOutput:Field.Attach(FormHandler) IsMultipleOutput:Field.AddVar(1,IsMultipleOutput) !}}} !{{{ Issue Issue:Field.Attach(FormHandler) Issue:Field.AddVar(1,sol:Issue) !}}} !{{{ LineIsDispatched LineIsDispatched:Field.Passive = TRUE LineIsDispatched:Field.Attach(FormHandler) LineIsDispatched:Field.AddVar(1,LineIsDispatched) !}}} !{{{ LineIsInvoiced LineIsInvoiced:Field.Passive = TRUE LineIsInvoiced:Field.Attach(FormHandler) LineIsInvoiced:Field.AddVar(1,LineIsInvoiced) !}}} !{{{ LocalsoAutoInheritContract LocalsoAutoInheritContract:Field.Attach(FormHandler) LocalsoAutoInheritContract:Field.AddVar(1,LocalsoAutoInheritContract) !}}} !{{{ LocalsoAutoInheritQuote LocalsoAutoInheritQuote:Field.Attach(FormHandler) LocalsoAutoInheritQuote:Field.AddVar(1,LocalsoAutoInheritQuote) !}}} !{{{ MakeQty MakeQty:Field.Attach(FormHandler) MakeQty:Field.AddVar(1,sol:MakeQty) !}}} !{{{ OrderedQty OrderedQty:Field.Attach(FormHandler) OrderedQty:Field.AddVar(1,sol:Height) OrderedQty:Field.AddVar(2,sol:Length) OrderedQty:Field.AddVar(3,sol:OrderedQty) OrderedQty:Field.AddVar(4,sol:Width) !}}} !{{{ OurPartNum OurPartNum:Field.Attach(FormHandler) OurPartNum:Field.AddVar(1,sol:OurPartNum) !}}} !{{{ PromisedDate PromisedDate:Field.Attach(FormHandler) PromisedDate:Field.AddVar(1,sol:PromisedOn) !}}} !{{{ QuoteLine QuoteLine:Field.Attach(FormHandler) QuoteLine:Field.AddVar(1,sol:QuoteLine) !}}} !{{{ QuoteRef QuoteRef:Field.Passive = TRUE QuoteRef:Field.Attach(FormHandler) QuoteRef:Field.AddVar(1,RawQuoteRef) !}}} !{{{ SelectViaOurPartNum SelectViaOurPartNum:Field.Passive = TRUE SelectViaOurPartNum:Field.Attach(FormHandler) SelectViaOurPartNum:Field.AddVar(1,SelectViaOurPartNum) !}}} !{{{ SelectViaTheirPartNum SelectViaTheirPartNum:Field.Passive = TRUE SelectViaTheirPartNum:Field.Attach(FormHandler) SelectViaTheirPartNum:Field.AddVar(1,SelectViaTheirPartNum) !}}} !{{{ SetDispatched SetDispatched:Field.Passive = TRUE SetDispatched:Field.Attach(FormHandler) SetDispatched:Field.AddVar(1,SetDispatched) !}}} !{{{ SetInvoiced SetInvoiced:Field.Passive = TRUE SetInvoiced:Field.Attach(FormHandler) SetInvoiced:Field.AddVar(1,SetInvoiced) !}}} !{{{ SetRecommendedDate SetRecommendedDate:Field.Passive = TRUE SetRecommendedDate:Field.Attach(FormHandler) SetRecommendedDate:Field.AddVar(1,SetRecommendedDate) !}}} !{{{ SetRecommendedPrice SetRecommendedPrice:Field.Passive = TRUE SetRecommendedPrice:Field.Attach(FormHandler) SetRecommendedPrice:Field.AddVar(1,SetRecommendedPrice) !}}} !{{{ StartLimit StartLimit:Field.Attach(FormHandler) StartLimit:Field.AddVar(1,sol:StartLimit) !}}} !{{{ Strategy Strategy:Field.Attach(FormHandler) Strategy:Field.AddVar(1,sol:Strategy) !}}} !{{{ TargetDate TargetDate:Field.Attach(FormHandler) TargetDate:Field.AddVar(1,sol:TargetDate) !}}} !{{{ TheirPartNum TheirPartNum:Field.Attach(FormHandler) TheirPartNum:Field.AddVar(1,sol:TheirPartNum) !}}} !{{{ UnitPrice UnitPrice:Field.Attach(FormHandler) UnitPrice:Field.AddVar(1,sol:UnitPrice) UnitPrice:Field.AddVar(2,sol:UnitQty) !}}} !{{{ WorksNotes WorksNotes:Field.Attach(FormHandler) !sol:WorksNotes is a memo - see WorksNotes:Field.RefreshVars !}}} !{{{ sol:AllowExtraDiscount sol:AllowExtraDiscount:Field.Attach(FormHandler) sol:AllowExtraDiscount:Field.AddVar(1,sol:AllowExtraDiscount) !}}} !{{{ sol:CancelledOn sol:CancelledOn:Field.Attach(FormHandler) sol:CancelledOn:Field.AddVar(1,sol:CancelledOn) !}}} !{{{ sol:CofCrequired sol:CofCrequired:Field.Attach(FormHandler) sol:CofCrequired:Field.AddVar(1,sol:CofCrequired) !}}} !{{{ sol:DeliveredOn sol:DeliveredOn:Field.Attach(FormHandler) sol:DeliveredOn:Field.AddVar(1,sol:DeliveredOn) !}}} !{{{ sol:Edited sol:Edited:Field.Attach(FormHandler) sol:Edited:Field.AddVar(1,sol:Edited) !}}} !{{{ sol:InvoicedOn sol:InvoicedOn:Field.Attach(FormHandler) sol:InvoicedOn:Field.AddVar(1,sol:InvoicedOn) !}}} !}}} !}}} !{{{ attach objects !{{{ SaveHandler !{{{ set static options !Static options are those not dependent on the Window being declared or open. !They reflect design-time functional decisions. SaveHandler.FileNo = sol::Id SaveHandler.InsertAllowed = TRUE SaveHandler.ChangeAllowed = TRUE SaveHandler.ConditionalSave = TRUE SaveHandler.DeleteAllowed = TRUE SaveHandler.StickyForm = TRUE SaveHandler.BackPropagateRecNo = TRUE SaveHandler.AccessChecks = TRUE !}}} SaveHandler.Attach (WindowHandler) SaveHandler.AddForm(FormHandler) SaveHandler.AddVCR (solOrderRefLineKey,solOrderRef,1) !}}} !{{{ zvTypeEdit - soh:Customer:Handler:4 soh:Customer:Handler:4.Attach(WindowHandler) !}}} !{{{ zvTypeEdit - RawQuoteRef:Handler:5 RawQuoteRef:Handler:5.Attach(WindowHandler) !}}} !{{{ zvTypeEdit - sol:QuoteLine:Handler:6 sol:QuoteLine:Handler:6.Attach(WindowHandler) !}}} !{{{ zvTypeEdit - sol:OurPartNum:Handler:7 sol:OurPartNum:Handler:7.Attach(WindowHandler) !}}} !{{{ zvTypeEdit - sol:InternalNotes:Handler:11 sol:InternalNotes:Handler:11.Attach(WindowHandler) !}}} !{{{ zvTypeEdit - sol:ExternalNotes:Handler:12 sol:ExternalNotes:Handler:12.Attach(WindowHandler) !}}} !{{{ zvTypeEdit - sol:DeliverOn:Handler:20 sol:DeliverOn:Handler:20.Attach(WindowHandler) !}}} !{{{ zvTypeEdit - sol:TheirPartNum:Handler:25 sol:TheirPartNum:Handler:25.Attach(WindowHandler) !}}} !{{{ zvTypeEdit - RawReturnedQty:Handler:18 RawReturnedQty:Handler:18.Attach(WindowHandler) !}}} !{{{ zvTypeEdit - RawInvoicedQty:Handler:22 RawInvoicedQty:Handler:22.Attach(WindowHandler) !}}} !{{{ zvTypeEdit - RawCreditedQty:Handler:29 RawCreditedQty:Handler:29.Attach(WindowHandler) !}}} !{{{ zvTypeEdit - RawDispatchedQty:Handler:30 RawDispatchedQty:Handler:30.Attach(WindowHandler) !}}} !{{{ zvTypeEdit - sol:DeliveredOn:Handler:31 sol:DeliveredOn:Handler:31.Attach(WindowHandler) !}}} !{{{ zvTypeEdit - sol:InvoicedOn:Handler:32 sol:InvoicedOn:Handler:32.Attach(WindowHandler) !}}} !{{{ zvTypeEdit - sol:Strategy:Handler:44 sol:Strategy:Handler:44.Attach(WindowHandler) !}}} !{{{ zvTypeEdit - sol:OrderRef:Handler:45 sol:OrderRef:Handler:45.Attach(WindowHandler) !}}} !{{{ zvTypeEdit - sol:CancelledOn:Handler:46 sol:CancelledOn:Handler:46.Attach(WindowHandler) !}}} !{{{ zvTypeEdit - sol:CancelledBy:Handler:47 sol:CancelledBy:Handler:47.Attach(WindowHandler) !}}} !{{{ zvTypeEdit - RawPriceBasis:Handler:26 RawPriceBasis:Handler:26.Attach(WindowHandler) !}}} !{{{ zvTypeEdit - sol:Issue:Handler:27 sol:Issue:Handler:27.Attach(WindowHandler) !}}} !{{{ zvTypeEdit - sol:WorksNotes:Handler:28 sol:WorksNotes:Handler:28.Attach(WindowHandler) !}}} !{{{ zvTypeEdit - sol:LineItemReference:Handler:43 sol:LineItemReference:Handler:43.Attach(WindowHandler) !}}} !{{{ zvTypeEdit - sol:enqExternalNotes:Handler:51 sol:enqExternalNotes:Handler:51.Attach(WindowHandler) !}}} !{{{ zvTypeEdit - RawPlannedDelivery:Handler:33 RawPlannedDelivery:Handler:33.Attach(WindowHandler) !}}} !{{{ zvTypeEdit - sol:ScheduleLog:Handler:53 sol:ScheduleLog:Handler:53.Attach(WindowHandler) !}}} !{{{ zvTypeEdit - RawLineValue:Handler:8 RawLineValue:Handler:8.Attach(WindowHandler) !}}} !{{{ zvTypeEdit - RawLineCost:Handler:35 RawLineCost:Handler:35.Attach(WindowHandler) !}}} !{{{ zvTypeEdit - RawGrossProfit:Handler:36 RawGrossProfit:Handler:36.Attach(WindowHandler) !}}} !{{{ zvTypeEdit - sol:ContractLine:Handler:14 sol:ContractLine:Handler:14.Attach(WindowHandler) !}}} !{{{ zvTypeEdit - RawContractRef:Handler:15 RawContractRef:Handler:15.Attach(WindowHandler) !}}} !{{{ zvTypeEdit - sol:PromisedOn:Handler:61 sol:PromisedOn:Handler:61.Attach(WindowHandler) !}}} !{{{ zvTypeEdit - sol:DeliverOn:Handler:9 sol:DeliverOn:Handler:9.Attach(WindowHandler) !}}} !{{{ zvTypeEdit - sol:DeliveredOn:Handler:10 sol:DeliveredOn:Handler:10.Attach(WindowHandler) !}}} !{{{ zvTypeEdit - sol:AcceptQty:Handler:19 sol:AcceptQty:Handler:19.Attach(WindowHandler) !}}} !{{{ zvTypeEdit - sol:MakeQty:Handler:64 sol:MakeQty:Handler:64.Attach(WindowHandler) !}}} !{{{ zvTypeEdit - ActualMargin:Handler:67 ActualMargin:Handler:67.Attach(WindowHandler) !}}} !{{{ zvTypeEdit - ActualDiscount:Handler:68 ActualDiscount:Handler:68.Attach(WindowHandler) !}}} !{{{ zvTypeEdit - sol:CostCentre:Handler:69 sol:CostCentre:Handler:69.Attach(WindowHandler) !}}} !{{{ zvTypeEdit - sol:Department:Handler:70 sol:Department:Handler:70.Attach(WindowHandler) !}}} !{{{ zvTypeEdit - sol:StartLimit:Handler:73 sol:StartLimit:Handler:73.Attach(WindowHandler) !}}} !{{{ zvTypeEdit - RawActualCostMargin:Handler:74 RawActualCostMargin:Handler:74.Attach(WindowHandler) !}}} !{{{ zvTypeEdit - sol:ExternalNotes:Handler:24 sol:ExternalNotes:Handler:24.Attach(WindowHandler) !}}} !{{{ zvTypeEdit - sol:ConsignmentFlag:Handler:37 sol:ConsignmentFlag:Handler:37.Attach(WindowHandler) !}}} !{{{ zvTypeEdit - sol:ConsignmentQty:Handler:39 sol:ConsignmentQty:Handler:39.Attach(WindowHandler) !}}} !{{{ zvTypeEdit - sol:ConsignmentNotes:Handler:41 sol:ConsignmentNotes:Handler:41.Attach(WindowHandler) !}}} !{{{ zvTypeEdit - RawVatCode:Handler:76 RawVatCode:Handler:76.Attach(WindowHandler) !}}} !{{{ zvTypeEdit - sol:TargetDate:Handler:77 sol:TargetDate:Handler:77.Attach(WindowHandler) !}}} !{{{ zvQtyEdit - OrderedQty:Handler:34 OrderedQty:Handler:34.Attach(WindowHandler) !}}} !{{{ zvQtyEdit - OrderedQty:Handler:65 OrderedQty:Handler:65.Attach(WindowHandler) !}}} !{{{ zvPriceEdit - UnitPrice:Handler:62 UnitPrice:Handler:62.Attach(WindowHandler) !}}} !{{{ QualifiersTab QualifiersTab:Handler.Attach (WindowHandler) QualifiersTab:Handler.AddForm(FormHandler) QualifiersTab:Handler.AddSave(SaveHandler) !}}} !{{{ Schedule:Handler - FormButton Schedule:Handler.ActionType = zwActionType:Form Schedule:Handler.ForceRefreshOnReturn = TRUE Schedule:Handler.Attach (WindowHandler) Schedule:Handler.AddForm(FormHandler) Schedule:Handler.AddSave(SaveHandler) !}}} !{{{ Dispatches:Handler - FormButton Dispatches:Handler.ActionType = zwActionType:Form Dispatches:Handler.ReloadSaveRecord = sol::Id Dispatches:Handler.ForceRefreshOnReturn = TRUE Dispatches:Handler.Attach (WindowHandler) Dispatches:Handler.AddForm(FormHandler) Dispatches:Handler.AddSave(SaveHandler) !}}} !{{{ Invoices:Handler - FormButton Invoices:Handler.ActionType = zwActionType:Form Invoices:Handler.ReloadSaveRecord = sol::Id Invoices:Handler.ForceRefreshOnReturn = TRUE Invoices:Handler.Attach (WindowHandler) Invoices:Handler.AddForm(FormHandler) Invoices:Handler.AddSave(SaveHandler) !}}} !{{{ Trace:Handler - FormButton Trace:Handler.ActionType = zwActionType:Form Trace:Handler.ReloadSaveRecord = sol::Id Trace:Handler.ForceRefreshOnReturn = TRUE Trace:Handler.Attach (WindowHandler) Trace:Handler.AddForm(FormHandler) Trace:Handler.AddSave(SaveHandler) !}}} !{{{ ReSchedule:Handler - FormButton ReSchedule:Handler.ActionType = zwActionType:Form ReSchedule:Handler.ReloadSaveRecord = sol::Id ReSchedule:Handler.ForceRefreshOnReturn = TRUE ReSchedule:Handler.Attach (WindowHandler) ReSchedule:Handler.AddForm(FormHandler) ReSchedule:Handler.AddSave(SaveHandler) !}}} !{{{ Events:Handler - FormButton Events:Handler.ActionType = zwActionType:Form Events:Handler.ReloadSaveRecord = sol::Id Events:Handler.ForceRefreshOnReturn = TRUE Events:Handler.Attach (WindowHandler) Events:Handler.AddForm(FormHandler) Events:Handler.AddSave(SaveHandler) !}}} !{{{ RaiseTender:Handler - FormButton RaiseTender:Handler.ActionType = zwActionType:Form RaiseTender:Handler.ReloadSaveRecord = sol::Id RaiseTender:Handler.ForceRefreshOnReturn = TRUE RaiseTender:Handler.Attach (WindowHandler) RaiseTender:Handler.AddForm(FormHandler) RaiseTender:Handler.AddSave(SaveHandler) !}}} !{{{ Action:Handler - FormButton Action:Handler.ActionType = zwActionType:Form Action:Handler.Attach (WindowHandler) Action:Handler.AddForm(FormHandler) Action:Handler.AddSave(SaveHandler) !}}} !{{{ AddAllOutputs:Handler - FormButton AddAllOutputs:Handler.ActionType = zwActionType:Form AddAllOutputs:Handler.ReloadSaveRecord = sol::Id AddAllOutputs:Handler.ForceRefreshOnReturn = TRUE AddAllOutputs:Handler.Attach (WindowHandler) AddAllOutputs:Handler.AddForm(FormHandler) AddAllOutputs:Handler.AddSave(SaveHandler) !}}} !{{{ ReplaceByAllOutputs:Handler - FormButton ReplaceByAllOutputs:Handler.ActionType = zwActionType:Form ReplaceByAllOutputs:Handler.ReloadSaveRecord = sol::Id ReplaceByAllOutputs:Handler.ForceRefreshOnReturn = TRUE ReplaceByAllOutputs:Handler.Attach (WindowHandler) ReplaceByAllOutputs:Handler.AddForm(FormHandler) ReplaceByAllOutputs:Handler.AddSave(SaveHandler) !}}} !{{{ AddContainer:Handler - FormButton AddContainer:Handler.ActionType = zwActionType:Form AddContainer:Handler.ReloadSaveRecord = sol::Id AddContainer:Handler.ForceRefreshOnReturn = TRUE AddContainer:Handler.Attach (WindowHandler) AddContainer:Handler.AddForm(FormHandler) AddContainer:Handler.AddSave(SaveHandler) !}}} !{{{ ReplaceAllOutputsByC:Handler - FormButton ReplaceAllOutputsByC:Handler.ActionType = zwActionType:Form ReplaceAllOutputsByC:Handler.ReloadSaveRecord = sol::Id ReplaceAllOutputsByC:Handler.ForceRefreshOnReturn = TRUE ReplaceAllOutputsByC:Handler.Attach (WindowHandler) ReplaceAllOutputsByC:Handler.AddForm(FormHandler) ReplaceAllOutputsByC:Handler.AddSave(SaveHandler) !}}} !{{{ BarChart:Handler - FormButton BarChart:Handler.ActionType = zwActionType:Form BarChart:Handler.ReloadSaveRecord = sol::Id BarChart:Handler.ForceRefreshOnReturn = TRUE BarChart:Handler.Attach (WindowHandler) BarChart:Handler.AddForm(FormHandler) BarChart:Handler.AddSave(SaveHandler) !}}} !{{{ DispatchSchedule:Handler - FormButton DispatchSchedule:Handler.ActionType = zwActionType:Form DispatchSchedule:Handler.ReloadSaveRecord = sol::Id DispatchSchedule:Handler.ForceRefreshOnReturn = TRUE DispatchSchedule:Handler.Attach (WindowHandler) DispatchSchedule:Handler.AddForm(FormHandler) DispatchSchedule:Handler.AddSave(SaveHandler) !}}} !{{{ InvoiceSchedule:Handler - FormButton InvoiceSchedule:Handler.ActionType = zwActionType:Form InvoiceSchedule:Handler.ReloadSaveRecord = sol::Id InvoiceSchedule:Handler.ForceRefreshOnReturn = TRUE InvoiceSchedule:Handler.Attach (WindowHandler) InvoiceSchedule:Handler.AddForm(FormHandler) InvoiceSchedule:Handler.AddSave(SaveHandler) !}}} !{{{ WizardAdd:Handler - FormButton WizardAdd:Handler.ActionType = zwActionType:Form WizardAdd:Handler.ReloadSaveRecord = sol::Id WizardAdd:Handler.ForceRefreshOnReturn = TRUE WizardAdd:Handler.Attach (WindowHandler) WizardAdd:Handler.AddForm(FormHandler) WizardAdd:Handler.AddSave(SaveHandler) !}}} !{{{ WizardEdit:Handler - FormButton WizardEdit:Handler.ActionType = zwActionType:Form WizardEdit:Handler.ReloadSaveRecord = sol::Id WizardEdit:Handler.ForceRefreshOnReturn = TRUE WizardEdit:Handler.Attach (WindowHandler) WizardEdit:Handler.AddForm(FormHandler) WizardEdit:Handler.AddSave(SaveHandler) !}}} !{{{ DatesHints:Handler - ActionButton DatesHints:Handler.ActionType = zwActionType:Generic DatesHints:Handler.Attach (WindowHandler) DatesHints:Handler.AddForm(FormHandler) !}}} !}}} !{{{ DIY buttons !{{{ Design:Handler - DIY button Design:Handler.ActionType = zwActionType:Generic Design:Handler.Attach (WindowHandler) Design:Handler.AddForm(FormHandler) !}}} !{{{ UpdateCustWorksNotes:Handler - DIY button UpdateCustWorksNotes:Handler.ActionType = zwActionType:Generic UpdateCustWorksNotes:Handler.Attach (WindowHandler) UpdateCustWorksNotes:Handler.AddForm(FormHandler) !}}} !{{{ UpdateEnqLineNotes:Handler - DIY button UpdateEnqLineNotes:Handler.ActionType = zwActionType:Generic UpdateEnqLineNotes:Handler.Attach (WindowHandler) UpdateEnqLineNotes:Handler.AddForm(FormHandler) !}}} !{{{ SetQuote:Handler - DIY button SetQuote:Handler.ActionType = zwActionType:Generic SetQuote:Handler.Attach (WindowHandler) SetQuote:Handler.AddForm(FormHandler) !}}} !{{{ SetContract:Handler - DIY button SetContract:Handler.ActionType = zwActionType:Generic SetContract:Handler.Attach (WindowHandler) SetContract:Handler.AddForm(FormHandler) !}}} !{{{ UpdatePriceNow:Handler - DIY button UpdatePriceNow:Handler.ActionType = zwActionType:Generic UpdatePriceNow:Handler.Attach (WindowHandler) UpdatePriceNow:Handler.AddForm(FormHandler) !}}} !{{{ ReCost:Handler - DIY button ReCost:Handler.ActionType = zwActionType:Generic ReCost:Handler.Attach (WindowHandler) ReCost:Handler.AddForm(FormHandler) !}}} !{{{ History:Handler - DIY button History:Handler.ActionType = zwActionType:Generic History:Handler.Attach (WindowHandler) History:Handler.AddForm(FormHandler) !}}} !}}} !}}} !{{{ PrepareHandlers ROUTINE PrepareHandlers ROUTINE !{{{ WindowHandler WindowHandler.DefaultControl = ?OK !}}} !{{{ FormHandler FormHandler.SetControls(?OK) !{{{ add all fields !{{{ AcceptQty AcceptQty:Field.SetControls(?AcceptQty,'AcceptQty') AcceptQty:Field.AddPrompt(?zvPrompt:25) !}}} !{{{ ActualCostMargin ActualCostMargin:Field.SetControls(?ActualCostMargin,'ActualCostMargin') ActualCostMargin:Field.AddPrompt(?zvPrompt:30) !}}} !{{{ ActualDiscountStr ActualDiscountStr:Field.SetControls(?ActualDiscountStr,'ActualDiscountStr') ActualDiscountStr:Field.AddPrompt(?DiscountPr) !}}} !{{{ ActualMarginStr ActualMarginStr:Field.SetControls(?ActualMarginStr,'ActualMarginStr') ActualMarginStr:Field.AddPrompt(?MarginPr) !}}} !{{{ ConsignmentFlag ConsignmentFlag:Field.SetControls(?ConsignmentFlag,'ConsignmentFlag') ConsignmentFlag:Field.AddPrompt(?zvPrompt:12) !}}} !{{{ ConsignmentNotes ConsignmentNotes:Field.SetControls(?ConsignmentNotes,'ConsignmentNotes') ConsignmentNotes:Field.AddPrompt(?zvPrompt:32) !}}} !{{{ ConsignmentQty ConsignmentQty:Field.SetControls(?ConsignmentQty,'ConsignmentQty') ConsignmentQty:Field.AddPrompt(?zvPrompt:16) !}}} !{{{ ContractLine ContractLine:Field.SetControls(?ContractLine,'ContractLine') ContractLine:Field.AddPrompt(?zvPrompt:22) !}}} !{{{ ContractRef ContractRef:Field.SetControls(?ContractRef,'ContractRef') ContractRef:Field.AddPrompt(?zvPrompt:23) !}}} !{{{ CostCentre CostCentre:Field.SetControls(?CostCentre,'CostCentre') CostCentre:Field.AddPrompt(?zvPrompt:27) !}}} !{{{ CustomerApproved CustomerApproved:Field.SetControls(?CustomerApproved,'CustomerApproved') CustomerApproved:Field.Protect() !}}} !{{{ CustomerRef CustomerRef:Field.SetControls(?CustomerRef,'CustomerRef') CustomerRef:Field.AddPrompt(?PROMPT13) !}}} !{{{ DeliverOn DeliverOn:Field.SetControls(?DeliverOn,'DeliverOn') DeliverOn:Field.AddPrompt(?PROMPT4) DeliverOn:Field.AddPrompt(?zvPrompt) !}}} !{{{ Department Department:Field.SetControls(?Department,'Department') Department:Field.AddPrompt(?zvPrompt:28) !}}} !{{{ EnquiryLineNotes EnquiryLineNotes:Field.SetControls(?EnquiryLineNotes,'EnquiryLineNotes') EnquiryLineNotes:Field.AddPrompt(?PROMPT8) !}}} !{{{ ExternalNotes ExternalNotes:Field.SetControls(?ExternalNotes:2,'ExternalNotes') ExternalNotes:Field.AddPrompt(?PROMPT6) ExternalNotes:Field.AddPrompt(?zvPrompt:10) !}}} !{{{ InternalNotes InternalNotes:Field.SetControls(?InternalNotes,'InternalNotes') InternalNotes:Field.AddPrompt(?PROMPT5) !}}} !{{{ IsContainer IsContainer:Field.SetControls(?IsContainer,'IsContainer') IsContainer:Field.Protect() !}}} !{{{ IsMultipleOutput IsMultipleOutput:Field.SetControls(?IsMultipleOutput,'IsMultipleOutput') IsMultipleOutput:Field.Protect() !}}} !{{{ Issue Issue:Field.SetControls(?Issue,'Issue') Issue:Field.AddPrompt(?zvPrompt:18) !}}} !{{{ LineIsDispatched LineIsDispatched:Field.SetControls(?LineIsDispatched,'LineIsDispatched') LineIsDispatched:Field.Protect() !}}} !{{{ LineIsInvoiced LineIsInvoiced:Field.SetControls(?LineIsInvoiced,'LineIsInvoiced') LineIsInvoiced:Field.Protect() !}}} !{{{ LocalsoAutoInheritContract LocalsoAutoInheritContract:Field.SetControls(?LocalsoAutoInheritContract,'LocalsoAutoInheritContract') LocalsoAutoInheritContract:Field.Protect() !}}} !{{{ LocalsoAutoInheritQuote LocalsoAutoInheritQuote:Field.SetControls(?LocalsoAutoInheritQuote,'LocalsoAutoInheritQuote') LocalsoAutoInheritQuote:Field.Protect() !}}} !{{{ MakeQty MakeQty:Field.SetControls(?MakeQty,'MakeQty') MakeQty:Field.AddPrompt(?zvPrompt:26) !}}} !{{{ OrderedQty OrderedQty:Field.SetControls(?OrderedQty,'OrderedQty') OrderedQty:Field.AddPrompt(?PROMPT3) OrderedQty:Field.AddPrompt(?zvQtyPrompt:2) !}}} !{{{ OurPartNum OurPartNum:Field.SetControls(?OurPartNum,'OurPartNum') OurPartNum:Field.AddPrompt(?PROMPT2) !}}} !{{{ PromisedDate PromisedDate:Field.SetControls(?PromisedDate,'PromisedDate') PromisedDate:Field.AddPrompt(?zvPrompt:11) !}}} !{{{ QuoteLine QuoteLine:Field.SetControls(?QuoteLine,'QuoteLine') QuoteLine:Field.AddPrompt(?PROMPT9) !}}} !{{{ QuoteRef QuoteRef:Field.SetControls(?QuoteRef,'QuoteRef') QuoteRef:Field.AddPrompt(?PROMPT10) !}}} !{{{ SelectViaOurPartNum SelectViaOurPartNum:Field.SetControls(?SelectViaOurPartNum,'SelectViaOurPartNum') !}}} !{{{ SelectViaTheirPartNum SelectViaTheirPartNum:Field.SetControls(?SelectViaTheirPartNum,'SelectViaTheirPartNum') !}}} !{{{ SetDispatched SetDispatched:Field.SetControls(?SetDispatched,'SetDispatched') !}}} !{{{ SetInvoiced SetInvoiced:Field.SetControls(?SetInvoiced,'SetInvoiced') !}}} !{{{ SetRecommendedDate SetRecommendedDate:Field.SetControls(?SetRecommendedDate,'SetRecommendedDate') !}}} !{{{ SetRecommendedPrice SetRecommendedPrice:Field.SetControls(?SetRecommendedPrice,'SetRecommendedPrice') !}}} !{{{ StartLimit StartLimit:Field.SetControls(?StartLimit,'StartLimit') StartLimit:Field.AddPrompt(?zvPrompt:29) !}}} !{{{ Strategy Strategy:Field.SetControls(?Strategy,'Strategy') Strategy:Field.AddPrompt(?PROMPT11) !}}} !{{{ TargetDate TargetDate:Field.SetControls(?TargetDate,'TargetDate') TargetDate:Field.AddPrompt(?zvPrompt:34) !}}} !{{{ TheirPartNum TheirPartNum:Field.SetControls(?TheirPartNum,'TheirPartNum') TheirPartNum:Field.AddPrompt(?PROMPT1) !}}} !{{{ UnitPrice UnitPrice:Field.SetControls(?UnitPrice,'UnitPrice') UnitPrice:Field.AddPrompt(?zvPricePrompt) !}}} !{{{ WorksNotes WorksNotes:Field.SetControls(?WorksNotes,'WorksNotes') WorksNotes:Field.AddPrompt(?PROMPT7) !}}} !{{{ sol:AllowExtraDiscount sol:AllowExtraDiscount:Field.SetControls(?sol:AllowExtraDiscount,'sol:AllowExtraDiscount') !}}} !{{{ sol:CancelledOn sol:CancelledOn:Field.SetControls(?sol:CancelledOn,'sol:CancelledOn') sol:CancelledOn:Field.Protect() !}}} !{{{ sol:CofCrequired sol:CofCrequired:Field.SetControls(?sol:CofCrequired,'sol:CofCrequired') !}}} !{{{ sol:DeliveredOn sol:DeliveredOn:Field.SetControls(?sol:DeliveredOn,'sol:DeliveredOn') sol:DeliveredOn:Field.Protect() !}}} !{{{ sol:Edited sol:Edited:Field.SetControls(?sol:Edited,'sol:Edited') sol:Edited:Field.Protect() !}}} !{{{ sol:InvoicedOn sol:InvoicedOn:Field.SetControls(?sol:InvoicedOn,'sol:InvoicedOn') sol:InvoicedOn:Field.Protect() !}}} !}}} !}}} !{{{ SheetHandlers Sheet1:Handler.SetControls(?Sheet1) !}}} !{{{ DIY buttons !{{{ Design:Handler - DIY button Design:Handler.SetControls(?Design) !}}} !{{{ UpdateCustWorksNotes:Handler - DIY button UpdateCustWorksNotes:Handler.SetControls(?UpdateCustWorksNotes,,ICON:Copy,) !}}} !{{{ UpdateEnqLineNotes:Handler - DIY button UpdateEnqLineNotes:Handler.SetControls(?UpdateEnqLineNotes,,ICON:Copy,) !}}} !{{{ SetQuote:Handler - DIY button SetQuote:Handler.SetControls(?SetQuote) !}}} !{{{ SetContract:Handler - DIY button SetContract:Handler.SetControls(?SetContract) !}}} !{{{ UpdatePriceNow:Handler - DIY button UpdatePriceNow:Handler.SetControls(?UpdatePriceNow) !}}} !{{{ ReCost:Handler - DIY button ReCost:Handler.SetControls(?ReCost) !}}} !{{{ History:Handler - DIY button History:Handler.SetControls(?History) !}}} !}}} !{{{ SaveHandler SaveHandler.SetControls(?OK,?Cancel,?NewOne,?BackOne,?NextOne,?DelOne,?ResetRecord) !}}} !{{{ Schedule:Handler - FormButton Schedule:Handler.SetControls(?Schedule) !}}} !{{{ Dispatches:Handler - FormButton Dispatches:Handler.SetControls(?Dispatches) !}}} !{{{ Invoices:Handler - FormButton Invoices:Handler.SetControls(?Invoices) !}}} !{{{ Trace:Handler - FormButton Trace:Handler.SetControls(?Trace) !}}} !{{{ ReSchedule:Handler - FormButton ReSchedule:Handler.SetControls(?ReSchedule) !}}} !{{{ Events:Handler - FormButton Events:Handler.SetControls(?Events) !}}} !{{{ RaiseTender:Handler - FormButton RaiseTender:Handler.SetControls(?RaiseTender) !}}} !{{{ Action:Handler - FormButton Action:Handler.SetControls(?Action) !}}} !{{{ AddAllOutputs:Handler - FormButton AddAllOutputs:Handler.SetControls(?AddAllOutputs) !}}} !{{{ ReplaceByAllOutputs:Handler - FormButton ReplaceByAllOutputs:Handler.SetControls(?ReplaceByAllOutputs) !}}} !{{{ AddContainer:Handler - FormButton AddContainer:Handler.SetControls(?AddContainer) !}}} !{{{ ReplaceAllOutputsByC:Handler - FormButton ReplaceAllOutputsByC:Handler.SetControls(?ReplaceAllOutputsByCont) !}}} !{{{ BarChart:Handler - FormButton BarChart:Handler.SetControls(?BarChart) !}}} !{{{ DispatchSchedule:Handler - FormButton DispatchSchedule:Handler.SetControls(?DispatchSchedule) !}}} !{{{ InvoiceSchedule:Handler - FormButton InvoiceSchedule:Handler.SetControls(?InvoiceSchedule) !}}} !{{{ WizardAdd:Handler - FormButton WizardAdd:Handler.SetControls(?WizardAdd) !}}} !{{{ WizardEdit:Handler - FormButton WizardEdit:Handler.SetControls(?WizardEdit) !}}} !{{{ QualifiersTab QualifiersTab:Handler.SetInstance (sol::Id,sol:RecNo) QualifiersTab:Handler.SetCondition(,FALSE) QualifiersTab:Handler.SetControls (?Sheet1,?QualifiersTab) !}}} !{{{ zvTypeEdit - soh:Customer:Handler:4 !{{{ set options soh:Customer:Handler:4.FieldName = 'soh:Customer' soh:Customer:Handler:4.LType = zvCustomer soh:Customer:Handler:4.PackedVal &= Null soh:Customer:Handler:4.NativeVal &= soh:Customer soh:Customer:Handler:4.Formatted &= Customer soh:Customer:Handler:4.Protected = 1 soh:Customer:Handler:4.SilentDeformatError = 1 soh:Customer:Handler:4.EditOnDeformatError = 1 soh:Customer:Handler:4.Checked = 1 !}}} soh:Customer:Handler:4.SetControls(?PROMPT14,?EditCustomer,?Customer) !}}} !{{{ zvTypeEdit - RawQuoteRef:Handler:5 !{{{ set options RawQuoteRef:Handler:5.FieldName = 'RawQuoteRef' RawQuoteRef:Handler:5.LType = zvEnquiry RawQuoteRef:Handler:5.PackedVal &= Null RawQuoteRef:Handler:5.NativeVal &= RawQuoteRef RawQuoteRef:Handler:5.Formatted &= QuoteRef RawQuoteRef:Handler:5.AllowNulls = 1 RawQuoteRef:Handler:5.SilentDeformatError = 1 RawQuoteRef:Handler:5.EditOnDeformatError = 1 RawQuoteRef:Handler:5.Checked = 1 !}}} RawQuoteRef:Handler:5.SetControls(?PROMPT10,?EditQuoteRef,?QuoteRef) !}}} !{{{ zvTypeEdit - sol:QuoteLine:Handler:6 !{{{ set options sol:QuoteLine:Handler:6.FieldName = 'sol:QuoteLine' sol:QuoteLine:Handler:6.LType = zvQLine sol:QuoteLine:Handler:6.PackedVal &= Null sol:QuoteLine:Handler:6.NativeVal &= sol:QuoteLine sol:QuoteLine:Handler:6.Formatted &= QuoteLine sol:QuoteLine:Handler:6.AllowNulls = 1 sol:QuoteLine:Handler:6.Context = RawQuoteRef sol:QuoteLine:Handler:6.SilentDeformatError = 1 sol:QuoteLine:Handler:6.EditOnDeformatError = 1 sol:QuoteLine:Handler:6.Checked = 1 !}}} sol:QuoteLine:Handler:6.SetControls(?PROMPT9,?EditQuoteLine,?QuoteLine) !}}} !{{{ zvTypeEdit - sol:OurPartNum:Handler:7 !{{{ set options sol:OurPartNum:Handler:7.FieldName = 'sol:OurPartNum' sol:OurPartNum:Handler:7.LType = zvSellable sol:OurPartNum:Handler:7.PackedVal &= Null sol:OurPartNum:Handler:7.NativeVal &= sol:OurPartNum sol:OurPartNum:Handler:7.Formatted &= OurPartNum sol:OurPartNum:Handler:7.AllowNulls = 1 sol:OurPartNum:Handler:7.Protected = OurPartNumProtected sol:OurPartNum:Handler:7.SilentDeformatError = 1 sol:OurPartNum:Handler:7.EditOnDeformatError = 1 sol:OurPartNum:Handler:7.Checked = 1 !}}} sol:OurPartNum:Handler:7.SetControls(?PROMPT2,?EditOurPartNum,?OurPartNum) !}}} !{{{ zvTypeEdit - sol:InternalNotes:Handler:11 !{{{ set options sol:InternalNotes:Handler:11.FieldName = 'sol:InternalNotes' sol:InternalNotes:Handler:11.LType = zvNotes sol:InternalNotes:Handler:11.PackedVal &= Null sol:InternalNotes:Handler:11.NativeVal &= sol:InternalNotes sol:InternalNotes:Handler:11.Formatted &= InternalNotes sol:InternalNotes:Handler:11.AllowNulls = 1 sol:InternalNotes:Handler:11.EditTitle = 'Notes for Us' sol:InternalNotes:Handler:11.SilentDeformatError = 1 sol:InternalNotes:Handler:11.EditOnDeformatError = 1 sol:InternalNotes:Handler:11.Checked = 1 !}}} sol:InternalNotes:Handler:11.SetControls(?PROMPT5,?EditInternalNotes,?InternalNotes) !}}} !{{{ zvTypeEdit - sol:ExternalNotes:Handler:12 !{{{ set options sol:ExternalNotes:Handler:12.FieldName = 'sol:ExternalNotes' sol:ExternalNotes:Handler:12.LType = zvNotes sol:ExternalNotes:Handler:12.PackedVal &= Null sol:ExternalNotes:Handler:12.NativeVal &= sol:ExternalNotes sol:ExternalNotes:Handler:12.Formatted &= ExternalNotes sol:ExternalNotes:Handler:12.EditTitle = 'Notes for Customer' sol:ExternalNotes:Handler:12.SilentDeformatError = 1 sol:ExternalNotes:Handler:12.EditOnDeformatError = 1 sol:ExternalNotes:Handler:12.Checked = 1 !}}} sol:ExternalNotes:Handler:12.SetControls(?PROMPT6,?EditExternalNotes,?ExternalNotes) !}}} !{{{ zvTypeEdit - sol:DeliverOn:Handler:20 !{{{ set options sol:DeliverOn:Handler:20.FieldName = 'sol:DeliverOn' sol:DeliverOn:Handler:20.LType = zvDate sol:DeliverOn:Handler:20.PackedVal &= Null sol:DeliverOn:Handler:20.NativeVal &= sol:DeliverOn sol:DeliverOn:Handler:20.Formatted &= DeliverOn sol:DeliverOn:Handler:20.Protected = ProtectDate sol:DeliverOn:Handler:20.SilentDeformatError = 1 sol:DeliverOn:Handler:20.EditOnDeformatError = 1 sol:DeliverOn:Handler:20.Checked = 1 !}}} sol:DeliverOn:Handler:20.SetControls(?PROMPT4,?zvEditDeliverOn,?DeliverOn) !}}} !{{{ zvTypeEdit - sol:TheirPartNum:Handler:25 !{{{ set options sol:TheirPartNum:Handler:25.FieldName = 'sol:TheirPartNum' sol:TheirPartNum:Handler:25.LType = TheirPartType sol:TheirPartNum:Handler:25.PackedVal &= Null sol:TheirPartNum:Handler:25.NativeVal &= sol:TheirPartNum sol:TheirPartNum:Handler:25.Formatted &= TheirPartNum sol:TheirPartNum:Handler:25.AllowNoType = 1 sol:TheirPartNum:Handler:25.AllowNulls = 1 sol:TheirPartNum:Handler:25.Protected = TheirPartNumProtected sol:TheirPartNum:Handler:25.Context = TheirPartContext sol:TheirPartNum:Handler:25.SilentDeformatError = 1 sol:TheirPartNum:Handler:25.EditOnDeformatError = 1 sol:TheirPartNum:Handler:25.Checked = 1 !}}} sol:TheirPartNum:Handler:25.SetControls(?PROMPT1,?EditTheirPartNum,?TheirPartNum) !}}} !{{{ zvTypeEdit - RawReturnedQty:Handler:18 !{{{ set options RawReturnedQty:Handler:18.FieldName = 'RawReturnedQty' RawReturnedQty:Handler:18.LType = zvMeasure RawReturnedQty:Handler:18.PackedVal &= Null RawReturnedQty:Handler:18.NativeVal &= RawReturnedQty RawReturnedQty:Handler:18.Formatted &= RejectedQty RawReturnedQty:Handler:18.Protected = 1 RawReturnedQty:Handler:18.SilentDeformatError = 1 RawReturnedQty:Handler:18.EditOnDeformatError = 1 RawReturnedQty:Handler:18.Checked = 1 !}}} RawReturnedQty:Handler:18.SetControls(?zvPrompt:2,?EditRejectedQty,?RejectedQty) !}}} !{{{ zvTypeEdit - RawInvoicedQty:Handler:22 !{{{ set options RawInvoicedQty:Handler:22.FieldName = 'RawInvoicedQty' RawInvoicedQty:Handler:22.LType = zvMeasure RawInvoicedQty:Handler:22.PackedVal &= Null RawInvoicedQty:Handler:22.NativeVal &= RawInvoicedQty RawInvoicedQty:Handler:22.Formatted &= InvoicedQty RawInvoicedQty:Handler:22.Protected = 1 RawInvoicedQty:Handler:22.SilentDeformatError = 1 RawInvoicedQty:Handler:22.EditOnDeformatError = 1 RawInvoicedQty:Handler:22.Checked = 1 !}}} RawInvoicedQty:Handler:22.SetControls(?zvPrompt:3,?EditInvoicedQty,?InvoicedQty) !}}} !{{{ zvTypeEdit - RawCreditedQty:Handler:29 !{{{ set options RawCreditedQty:Handler:29.FieldName = 'RawCreditedQty' RawCreditedQty:Handler:29.LType = zvMeasure RawCreditedQty:Handler:29.PackedVal &= Null RawCreditedQty:Handler:29.NativeVal &= RawCreditedQty RawCreditedQty:Handler:29.Formatted &= CreditedQty RawCreditedQty:Handler:29.Protected = 1 RawCreditedQty:Handler:29.SilentDeformatError = 1 RawCreditedQty:Handler:29.EditOnDeformatError = 1 RawCreditedQty:Handler:29.Checked = 1 !}}} RawCreditedQty:Handler:29.SetControls(?zvPrompt:4,?EditCreditedQty,?CreditedQty) !}}} !{{{ zvTypeEdit - RawDispatchedQty:Handler:30 !{{{ set options RawDispatchedQty:Handler:30.FieldName = 'RawDispatchedQty' RawDispatchedQty:Handler:30.LType = zvMeasure RawDispatchedQty:Handler:30.PackedVal &= Null RawDispatchedQty:Handler:30.NativeVal &= RawDispatchedQty RawDispatchedQty:Handler:30.Formatted &= DispatchedQty RawDispatchedQty:Handler:30.Protected = 1 RawDispatchedQty:Handler:30.SilentDeformatError = 1 RawDispatchedQty:Handler:30.EditOnDeformatError = 1 RawDispatchedQty:Handler:30.Checked = 1 !}}} RawDispatchedQty:Handler:30.SetControls(?zvPrompt:5,?EditDispatchedQty,?DispatchedQty) !}}} !{{{ zvTypeEdit - sol:DeliveredOn:Handler:31 !{{{ set options sol:DeliveredOn:Handler:31.FieldName = 'sol:DeliveredOn' sol:DeliveredOn:Handler:31.LType = zvDate sol:DeliveredOn:Handler:31.PackedVal &= Null sol:DeliveredOn:Handler:31.NativeVal &= sol:DeliveredOn sol:DeliveredOn:Handler:31.Formatted &= DeliveredOn sol:DeliveredOn:Handler:31.Protected = 1 sol:DeliveredOn:Handler:31.SilentDeformatError = 1 sol:DeliveredOn:Handler:31.EditOnDeformatError = 1 sol:DeliveredOn:Handler:31.Checked = 1 !}}} sol:DeliveredOn:Handler:31.SetControls(?zvPrompt:6,?EditDeliveredOn,?DeliveredOn) !}}} !{{{ zvTypeEdit - sol:InvoicedOn:Handler:32 !{{{ set options sol:InvoicedOn:Handler:32.FieldName = 'sol:InvoicedOn' sol:InvoicedOn:Handler:32.LType = zvDate sol:InvoicedOn:Handler:32.PackedVal &= Null sol:InvoicedOn:Handler:32.NativeVal &= sol:InvoicedOn sol:InvoicedOn:Handler:32.Formatted &= InvoicedOn sol:InvoicedOn:Handler:32.Protected = 1 sol:InvoicedOn:Handler:32.SilentDeformatError = 1 sol:InvoicedOn:Handler:32.EditOnDeformatError = 1 sol:InvoicedOn:Handler:32.Checked = 1 !}}} sol:InvoicedOn:Handler:32.SetControls(?zvPrompt:7,?EditInvoicedOn,?InvoicedOn) !}}} !{{{ zvTypeEdit - sol:Strategy:Handler:44 !{{{ set options sol:Strategy:Handler:44.FieldName = 'sol:Strategy' sol:Strategy:Handler:44.LType = zvSSmask sol:Strategy:Handler:44.PackedVal &= Null sol:Strategy:Handler:44.NativeVal &= sol:Strategy sol:Strategy:Handler:44.Formatted &= Strategy sol:Strategy:Handler:44.AllowNulls = 1 sol:Strategy:Handler:44.SilentDeformatError = 1 sol:Strategy:Handler:44.EditOnDeformatError = 1 sol:Strategy:Handler:44.Checked = 1 !}}} sol:Strategy:Handler:44.SetControls(?PROMPT11,?zvEditSchedulingStrategy,?Strategy) !}}} !{{{ zvTypeEdit - sol:OrderRef:Handler:45 !{{{ set options sol:OrderRef:Handler:45.FieldName = 'sol:OrderRef' sol:OrderRef:Handler:45.LType = zvSOrder sol:OrderRef:Handler:45.PackedVal &= Null sol:OrderRef:Handler:45.NativeVal &= sol:OrderRef sol:OrderRef:Handler:45.Formatted &= SalesOrderNum sol:OrderRef:Handler:45.Protected = 1 sol:OrderRef:Handler:45.SilentDeformatError = 1 sol:OrderRef:Handler:45.EditOnDeformatError = 1 sol:OrderRef:Handler:45.Checked = 1 !}}} sol:OrderRef:Handler:45.SetControls(?PROMPT12,?zvEditSalesOrder,?SalesOrderNum) !}}} !{{{ zvTypeEdit - sol:CancelledOn:Handler:46 !{{{ set options sol:CancelledOn:Handler:46.FieldName = 'sol:CancelledOn' sol:CancelledOn:Handler:46.LType = zvDate sol:CancelledOn:Handler:46.PackedVal &= Null sol:CancelledOn:Handler:46.NativeVal &= sol:CancelledOn sol:CancelledOn:Handler:46.Formatted &= CancelledOn sol:CancelledOn:Handler:46.Protected = 1 sol:CancelledOn:Handler:46.SilentDeformatError = 1 sol:CancelledOn:Handler:46.EditOnDeformatError = 1 sol:CancelledOn:Handler:46.Checked = 1 !}}} sol:CancelledOn:Handler:46.SetControls(?zvPrompt:14,?zvEditCancelledOn,?CancelledOn) !}}} !{{{ zvTypeEdit - sol:CancelledBy:Handler:47 !{{{ set options sol:CancelledBy:Handler:47.FieldName = 'sol:CancelledBy' sol:CancelledBy:Handler:47.LType = zvUserNo sol:CancelledBy:Handler:47.PackedVal &= Null sol:CancelledBy:Handler:47.NativeVal &= sol:CancelledBy sol:CancelledBy:Handler:47.Formatted &= CancelledBy sol:CancelledBy:Handler:47.Protected = 1 sol:CancelledBy:Handler:47.SilentDeformatError = 1 sol:CancelledBy:Handler:47.EditOnDeformatError = 1 sol:CancelledBy:Handler:47.Checked = 1 !}}} sol:CancelledBy:Handler:47.SetControls(?zvPrompt:15,?zvEditCancelledBy,?CancelledBy) !}}} !{{{ zvTypeEdit - RawPriceBasis:Handler:26 !{{{ set options RawPriceBasis:Handler:26.FieldName = 'RawPriceBasis' RawPriceBasis:Handler:26.LType = zvKode RawPriceBasis:Handler:26.PackedVal &= Null RawPriceBasis:Handler:26.NativeVal &= RawPriceBasis RawPriceBasis:Handler:26.Formatted &= PriceBasis RawPriceBasis:Handler:26.Protected = 1 RawPriceBasis:Handler:26.SilentDeformatError = 1 RawPriceBasis:Handler:26.EditOnDeformatError = 1 RawPriceBasis:Handler:26.Checked = 1 !}}} RawPriceBasis:Handler:26.SetControls(?zvPrompt:17,?zvEditPriceBasis,?PriceBasis) !}}} !{{{ zvTypeEdit - sol:Issue:Handler:27 !{{{ set options sol:Issue:Handler:27.FieldName = 'sol:Issue' sol:Issue:Handler:27.LType = zvInt sol:Issue:Handler:27.PackedVal &= Null sol:Issue:Handler:27.NativeVal &= sol:Issue sol:Issue:Handler:27.Formatted &= Issue sol:Issue:Handler:27.AllowNulls = 1 sol:Issue:Handler:27.SilentDeformatError = 1 sol:Issue:Handler:27.EditOnDeformatError = 1 sol:Issue:Handler:27.Checked = 1 !}}} sol:Issue:Handler:27.SetControls(?zvPrompt:18,?zvEditIssue,?Issue) !}}} !{{{ zvTypeEdit - sol:WorksNotes:Handler:28 !{{{ set options sol:WorksNotes:Handler:28.FieldName = 'sol:WorksNotes' sol:WorksNotes:Handler:28.LType = zvNotes sol:WorksNotes:Handler:28.PackedVal &= Null sol:WorksNotes:Handler:28.NativeVal &= sol:WorksNotes sol:WorksNotes:Handler:28.Formatted &= WorksNotes sol:WorksNotes:Handler:28.AllowNulls = 1 sol:WorksNotes:Handler:28.EditTitle = 'Notes for Works' sol:WorksNotes:Handler:28.SilentDeformatError = 1 sol:WorksNotes:Handler:28.EditOnDeformatError = 1 sol:WorksNotes:Handler:28.Checked = 1 !}}} sol:WorksNotes:Handler:28.SetControls(?PROMPT7,?zvEditor:2,?WorksNotes) !}}} !{{{ zvTypeEdit - sol:LineItemReference:Handler:43 !{{{ set options sol:LineItemReference:Handler:43.FieldName = 'sol:LineItemReference' sol:LineItemReference:Handler:43.LType = zvStr sol:LineItemReference:Handler:43.PackedVal &= Null sol:LineItemReference:Handler:43.NativeVal &= sol:LineItemReference sol:LineItemReference:Handler:43.Formatted &= CustomerRef sol:LineItemReference:Handler:43.SilentDeformatError = 1 sol:LineItemReference:Handler:43.EditOnDeformatError = 1 sol:LineItemReference:Handler:43.Checked = 1 !}}} sol:LineItemReference:Handler:43.SetControls(?PROMPT13,?EditRef,?CustomerRef) !}}} !{{{ zvTypeEdit - sol:enqExternalNotes:Handler:51 !{{{ set options sol:enqExternalNotes:Handler:51.FieldName = 'sol:enqExternalNotes' sol:enqExternalNotes:Handler:51.LType = zvNotes sol:enqExternalNotes:Handler:51.PackedVal &= Null sol:enqExternalNotes:Handler:51.NativeVal &= sol:enqExternalNotes sol:enqExternalNotes:Handler:51.Formatted &= EnquiryLineNotes sol:enqExternalNotes:Handler:51.AllowNulls = 1 sol:enqExternalNotes:Handler:51.EditTitle = 'Enquiry Line Notes' sol:enqExternalNotes:Handler:51.SilentDeformatError = 1 sol:enqExternalNotes:Handler:51.EditOnDeformatError = 1 sol:enqExternalNotes:Handler:51.Checked = 1 !}}} sol:enqExternalNotes:Handler:51.SetControls(?PROMPT8,?zvEditor:3,?EnquiryLineNotes) !}}} !{{{ zvTypeEdit - RawPlannedDelivery:Handler:33 !{{{ set options RawPlannedDelivery:Handler:33.FieldName = 'RawPlannedDelivery' RawPlannedDelivery:Handler:33.LType = zvDate RawPlannedDelivery:Handler:33.PackedVal &= Null RawPlannedDelivery:Handler:33.NativeVal &= RawPlannedDelivery RawPlannedDelivery:Handler:33.Formatted &= PlannedDelivery RawPlannedDelivery:Handler:33.Protected = 1 RawPlannedDelivery:Handler:33.SilentDeformatError = 1 RawPlannedDelivery:Handler:33.EditOnDeformatError = 1 RawPlannedDelivery:Handler:33.Checked = 1 !}}} RawPlannedDelivery:Handler:33.SetControls(?zvPrompt:19,?zvEditPlannedDelivery,?PlannedDelivery) !}}} !{{{ zvTypeEdit - sol:ScheduleLog:Handler:53 !{{{ set options sol:ScheduleLog:Handler:53.FieldName = 'sol:ScheduleLog' sol:ScheduleLog:Handler:53.LType = zvNotes sol:ScheduleLog:Handler:53.PackedVal &= Null sol:ScheduleLog:Handler:53.NativeVal &= sol:ScheduleLog sol:ScheduleLog:Handler:53.Formatted &= FormattedScheduleLog sol:ScheduleLog:Handler:53.AllowNulls = 1 sol:ScheduleLog:Handler:53.Protected = 1 sol:ScheduleLog:Handler:53.SilentDeformatError = 1 sol:ScheduleLog:Handler:53.EditOnDeformatError = 1 sol:ScheduleLog:Handler:53.Checked = 1 !}}} sol:ScheduleLog:Handler:53.SetControls(?zvPrompt:20,?zvEditor:4,?FormattedScheduleLog) !}}} !{{{ zvTypeEdit - RawLineValue:Handler:8 !{{{ set options RawLineValue:Handler:8.FieldName = 'RawLineValue' RawLineValue:Handler:8.LType = zvMoney RawLineValue:Handler:8.PackedVal &= Null RawLineValue:Handler:8.NativeVal &= RawLineValue RawLineValue:Handler:8.Formatted &= LineValue RawLineValue:Handler:8.Protected = 1 RawLineValue:Handler:8.SilentDeformatError = 1 RawLineValue:Handler:8.EditOnDeformatError = 1 RawLineValue:Handler:8.Checked = 1 !}}} RawLineValue:Handler:8.SetControls(?zvPrompt:8,?zvEditLineValue,?LineValue) !}}} !{{{ zvTypeEdit - RawLineCost:Handler:35 !{{{ set options RawLineCost:Handler:35.FieldName = 'RawLineCost' RawLineCost:Handler:35.LType = zvMoney RawLineCost:Handler:35.PackedVal &= Null RawLineCost:Handler:35.NativeVal &= RawLineCost RawLineCost:Handler:35.Formatted &= LineCost RawLineCost:Handler:35.Protected = 1 RawLineCost:Handler:35.SilentDeformatError = 1 RawLineCost:Handler:35.EditOnDeformatError = 1 RawLineCost:Handler:35.Checked = 1 !}}} RawLineCost:Handler:35.SetControls(?zvPrompt:9,?zvEditLineCost,?LineCost) !}}} !{{{ zvTypeEdit - RawGrossProfit:Handler:36 !{{{ set options RawGrossProfit:Handler:36.FieldName = 'RawGrossProfit' RawGrossProfit:Handler:36.LType = zvMoney RawGrossProfit:Handler:36.PackedVal &= Null RawGrossProfit:Handler:36.NativeVal &= RawGrossProfit RawGrossProfit:Handler:36.Formatted &= GrossProfit RawGrossProfit:Handler:36.Protected = 1 RawGrossProfit:Handler:36.SilentDeformatError = 1 RawGrossProfit:Handler:36.EditOnDeformatError = 1 RawGrossProfit:Handler:36.Checked = 1 !}}} RawGrossProfit:Handler:36.SetControls(?zvPrompt:21,?zvEditGrossProfit,?GrossProfit) !}}} !{{{ zvTypeEdit - sol:ContractLine:Handler:14 !{{{ set options sol:ContractLine:Handler:14.FieldName = 'sol:ContractLine' sol:ContractLine:Handler:14.LType = zvSConLine sol:ContractLine:Handler:14.PackedVal &= Null sol:ContractLine:Handler:14.NativeVal &= sol:ContractLine sol:ContractLine:Handler:14.Formatted &= ContractLine sol:ContractLine:Handler:14.AllowNulls = 1 sol:ContractLine:Handler:14.Context = RawContractRef sol:ContractLine:Handler:14.SilentDeformatError = 1 sol:ContractLine:Handler:14.EditOnDeformatError = 1 sol:ContractLine:Handler:14.Checked = 1 !}}} sol:ContractLine:Handler:14.SetControls(?zvPrompt:22,?EditContractLine,?ContractLine) !}}} !{{{ zvTypeEdit - RawContractRef:Handler:15 !{{{ set options RawContractRef:Handler:15.FieldName = 'RawContractRef' RawContractRef:Handler:15.LType = zvSContract RawContractRef:Handler:15.PackedVal &= Null RawContractRef:Handler:15.NativeVal &= RawContractRef RawContractRef:Handler:15.Formatted &= ContractRef RawContractRef:Handler:15.AllowNulls = 1 RawContractRef:Handler:15.SilentDeformatError = 1 RawContractRef:Handler:15.EditOnDeformatError = 1 RawContractRef:Handler:15.Checked = 1 !}}} RawContractRef:Handler:15.SetControls(?zvPrompt:23,?zvEditor:5,?ContractRef) !}}} !{{{ zvTypeEdit - sol:PromisedOn:Handler:61 !{{{ set options sol:PromisedOn:Handler:61.FieldName = 'sol:PromisedOn' sol:PromisedOn:Handler:61.LType = zvDate sol:PromisedOn:Handler:61.PackedVal &= Null sol:PromisedOn:Handler:61.NativeVal &= sol:PromisedOn sol:PromisedOn:Handler:61.Formatted &= PromisedDate sol:PromisedOn:Handler:61.SilentDeformatError = 1 sol:PromisedOn:Handler:61.EditOnDeformatError = 1 sol:PromisedOn:Handler:61.Checked = 1 !}}} sol:PromisedOn:Handler:61.SetControls(?zvPrompt:11,?zvEditPromisedDate,?PromisedDate) !}}} !{{{ zvTypeEdit - sol:DeliverOn:Handler:9 !{{{ set options sol:DeliverOn:Handler:9.FieldName = 'sol:DeliverOn' sol:DeliverOn:Handler:9.LType = zvDate sol:DeliverOn:Handler:9.PackedVal &= Null sol:DeliverOn:Handler:9.NativeVal &= sol:DeliverOn sol:DeliverOn:Handler:9.Formatted &= DeliverOn sol:DeliverOn:Handler:9.Protected = sol:DeliveredOn sol:DeliverOn:Handler:9.SilentDeformatError = 1 sol:DeliverOn:Handler:9.EditOnDeformatError = 1 sol:DeliverOn:Handler:9.Checked = 1 !}}} sol:DeliverOn:Handler:9.SetControls(?zvPrompt,?zvEditDeliverOn3,?DeliverOn:2) !}}} !{{{ zvTypeEdit - sol:DeliveredOn:Handler:10 !{{{ set options sol:DeliveredOn:Handler:10.FieldName = 'sol:DeliveredOn' sol:DeliveredOn:Handler:10.LType = zvDate sol:DeliveredOn:Handler:10.PackedVal &= Null sol:DeliveredOn:Handler:10.NativeVal &= sol:DeliveredOn sol:DeliveredOn:Handler:10.Formatted &= DeliveredOn sol:DeliveredOn:Handler:10.Protected = 1 sol:DeliveredOn:Handler:10.SilentDeformatError = 1 sol:DeliveredOn:Handler:10.EditOnDeformatError = 1 sol:DeliveredOn:Handler:10.Checked = 1 !}}} sol:DeliveredOn:Handler:10.SetControls(?zvPrompt:24,?zvEditDeliveredOn2,?DeliveredOn:2) !}}} !{{{ zvTypeEdit - sol:AcceptQty:Handler:19 !{{{ set options sol:AcceptQty:Handler:19.FieldName = 'sol:AcceptQty' sol:AcceptQty:Handler:19.LType = zvMeasure sol:AcceptQty:Handler:19.PackedVal &= Null sol:AcceptQty:Handler:19.NativeVal &= sol:AcceptQty sol:AcceptQty:Handler:19.Formatted &= AcceptQty sol:AcceptQty:Handler:19.AllowNulls = 1 sol:AcceptQty:Handler:19.Context = OrderUnits sol:AcceptQty:Handler:19.SilentDeformatError = 1 sol:AcceptQty:Handler:19.EditOnDeformatError = 1 sol:AcceptQty:Handler:19.Checked = 1 !}}} sol:AcceptQty:Handler:19.SetControls(?zvPrompt:25,?zvEditAcceptQty,?AcceptQty) !}}} !{{{ zvTypeEdit - sol:MakeQty:Handler:64 !{{{ set options sol:MakeQty:Handler:64.FieldName = 'sol:MakeQty' sol:MakeQty:Handler:64.LType = zvMeasure sol:MakeQty:Handler:64.PackedVal &= Null sol:MakeQty:Handler:64.NativeVal &= sol:MakeQty sol:MakeQty:Handler:64.Formatted &= MakeQty sol:MakeQty:Handler:64.AllowNulls = 1 sol:MakeQty:Handler:64.Context = OrderUnits sol:MakeQty:Handler:64.SilentDeformatError = 1 sol:MakeQty:Handler:64.EditOnDeformatError = 1 sol:MakeQty:Handler:64.Checked = 1 !}}} sol:MakeQty:Handler:64.SetControls(?zvPrompt:26,?zvEditMakeQty,?MakeQty) !}}} !{{{ zvTypeEdit - ActualMargin:Handler:67 !{{{ set options ActualMargin:Handler:67.FieldName = 'ActualMargin' ActualMargin:Handler:67.LType = zvPercent ActualMargin:Handler:67.PackedVal &= Null ActualMargin:Handler:67.NativeVal &= ActualMargin ActualMargin:Handler:67.Formatted &= ActualMarginStr ActualMargin:Handler:67.AllowNulls = 1 ActualMargin:Handler:67.Protected = ProtectPrice ActualMargin:Handler:67.SilentDeformatError = 1 ActualMargin:Handler:67.EditOnDeformatError = 1 ActualMargin:Handler:67.Checked = 1 !}}} ActualMargin:Handler:67.SetControls(?MarginPr,?zvEditMargin,?ActualMarginStr) !}}} !{{{ zvTypeEdit - ActualDiscount:Handler:68 !{{{ set options ActualDiscount:Handler:68.FieldName = 'ActualDiscount' ActualDiscount:Handler:68.LType = zvPercent ActualDiscount:Handler:68.PackedVal &= Null ActualDiscount:Handler:68.NativeVal &= ActualDiscount ActualDiscount:Handler:68.Formatted &= ActualDiscountStr ActualDiscount:Handler:68.Protected = ProtectPrice ActualDiscount:Handler:68.SilentDeformatError = 1 ActualDiscount:Handler:68.EditOnDeformatError = 1 ActualDiscount:Handler:68.Checked = 1 !}}} ActualDiscount:Handler:68.SetControls(?DiscountPr,?zvEditDiscount,?ActualDiscountStr) !}}} !{{{ zvTypeEdit - sol:CostCentre:Handler:69 !{{{ set options sol:CostCentre:Handler:69.FieldName = 'sol:CostCentre' sol:CostCentre:Handler:69.LType = zvKode sol:CostCentre:Handler:69.PackedVal &= Null sol:CostCentre:Handler:69.NativeVal &= sol:CostCentre sol:CostCentre:Handler:69.Formatted &= CostCentre sol:CostCentre:Handler:69.AllowNulls = 1 sol:CostCentre:Handler:69.Context = CostCentreContext sol:CostCentre:Handler:69.SilentDeformatError = 1 sol:CostCentre:Handler:69.EditOnDeformatError = 1 sol:CostCentre:Handler:69.Checked = 1 !}}} sol:CostCentre:Handler:69.SetControls(?zvPrompt:27,?zvEditor,?CostCentre) !}}} !{{{ zvTypeEdit - sol:Department:Handler:70 !{{{ set options sol:Department:Handler:70.FieldName = 'sol:Department' sol:Department:Handler:70.LType = zvKode sol:Department:Handler:70.PackedVal &= Null sol:Department:Handler:70.NativeVal &= sol:Department sol:Department:Handler:70.Formatted &= Department sol:Department:Handler:70.AllowNulls = 1 sol:Department:Handler:70.Context = DepartmentContext sol:Department:Handler:70.SilentDeformatError = 1 sol:Department:Handler:70.EditOnDeformatError = 1 sol:Department:Handler:70.Checked = 1 !}}} sol:Department:Handler:70.SetControls(?zvPrompt:28,?zvEditor:6,?Department) !}}} !{{{ zvTypeEdit - sol:StartLimit:Handler:73 !{{{ set options sol:StartLimit:Handler:73.FieldName = 'sol:StartLimit' sol:StartLimit:Handler:73.LType = zvDate sol:StartLimit:Handler:73.PackedVal &= Null sol:StartLimit:Handler:73.NativeVal &= sol:StartLimit sol:StartLimit:Handler:73.Formatted &= StartLimit sol:StartLimit:Handler:73.SilentDeformatError = 1 sol:StartLimit:Handler:73.EditOnDeformatError = 1 sol:StartLimit:Handler:73.Checked = 1 !}}} sol:StartLimit:Handler:73.SetControls(?zvPrompt:29,?zvEditStartLimit,?StartLimit) !}}} !{{{ zvTypeEdit - RawActualCostMargin:Handler:74 !{{{ set options RawActualCostMargin:Handler:74.FieldName = 'RawActualCostMargin' RawActualCostMargin:Handler:74.LType = zvPercent RawActualCostMargin:Handler:74.PackedVal &= Null RawActualCostMargin:Handler:74.NativeVal &= RawActualCostMargin RawActualCostMargin:Handler:74.Formatted &= ActualCostMargin RawActualCostMargin:Handler:74.AllowNulls = 1 RawActualCostMargin:Handler:74.SilentDeformatError = 1 RawActualCostMargin:Handler:74.EditOnDeformatError = 1 RawActualCostMargin:Handler:74.Checked = 1 !}}} RawActualCostMargin:Handler:74.SetControls(?zvPrompt:30,?EditCostPlusMargin,?ActualCostMargin) !}}} !{{{ zvTypeEdit - sol:ExternalNotes:Handler:24 !{{{ set options sol:ExternalNotes:Handler:24.FieldName = 'sol:ExternalNotes' sol:ExternalNotes:Handler:24.LType = zvNotes sol:ExternalNotes:Handler:24.PackedVal &= Null sol:ExternalNotes:Handler:24.NativeVal &= sol:ExternalNotes sol:ExternalNotes:Handler:24.Formatted &= ExternalNotes sol:ExternalNotes:Handler:24.EditTitle = 'Notes for Customer' sol:ExternalNotes:Handler:24.SilentDeformatError = 1 sol:ExternalNotes:Handler:24.EditOnDeformatError = 1 sol:ExternalNotes:Handler:24.Checked = 1 !}}} sol:ExternalNotes:Handler:24.SetControls(?zvPrompt:10,?zvEditor:7,?ExternalNotes:2) !}}} !{{{ zvTypeEdit - sol:ConsignmentFlag:Handler:37 !{{{ set options sol:ConsignmentFlag:Handler:37.FieldName = 'sol:ConsignmentFlag' sol:ConsignmentFlag:Handler:37.LType = zvFlag sol:ConsignmentFlag:Handler:37.PackedVal &= Null sol:ConsignmentFlag:Handler:37.NativeVal &= sol:ConsignmentFlag sol:ConsignmentFlag:Handler:37.Formatted &= ConsignmentFlag sol:ConsignmentFlag:Handler:37.SilentDeformatError = 1 sol:ConsignmentFlag:Handler:37.EditOnDeformatError = 1 sol:ConsignmentFlag:Handler:37.Checked = 1 !}}} sol:ConsignmentFlag:Handler:37.SetControls(?zvPrompt:12,?zvEditor:8,?ConsignmentFlag) !}}} !{{{ zvTypeEdit - sol:ConsignmentQty:Handler:39 !{{{ set options sol:ConsignmentQty:Handler:39.FieldName = 'sol:ConsignmentQty' sol:ConsignmentQty:Handler:39.LType = zvMeasure sol:ConsignmentQty:Handler:39.PackedVal &= Null sol:ConsignmentQty:Handler:39.NativeVal &= sol:ConsignmentQty sol:ConsignmentQty:Handler:39.Formatted &= ConsignmentQty sol:ConsignmentQty:Handler:39.Protected = ConsignmentProtect sol:ConsignmentQty:Handler:39.SilentDeformatError = 1 sol:ConsignmentQty:Handler:39.EditOnDeformatError = 1 sol:ConsignmentQty:Handler:39.Checked = 1 !}}} sol:ConsignmentQty:Handler:39.SetControls(?zvPrompt:16,?zvEditor:9,?ConsignmentQty) !}}} !{{{ zvTypeEdit - sol:ConsignmentNotes:Handler:41 !{{{ set options sol:ConsignmentNotes:Handler:41.FieldName = 'sol:ConsignmentNotes' sol:ConsignmentNotes:Handler:41.LType = zvNotes sol:ConsignmentNotes:Handler:41.PackedVal &= Null sol:ConsignmentNotes:Handler:41.NativeVal &= sol:ConsignmentNotes sol:ConsignmentNotes:Handler:41.Formatted &= ConsignmentNotes sol:ConsignmentNotes:Handler:41.Protected = ConsignmentProtect sol:ConsignmentNotes:Handler:41.SilentDeformatError = 1 sol:ConsignmentNotes:Handler:41.EditOnDeformatError = 1 sol:ConsignmentNotes:Handler:41.Checked = 1 !}}} sol:ConsignmentNotes:Handler:41.SetControls(?zvPrompt:32,?zvEditor:10,?ConsignmentNotes) !}}} !{{{ zvTypeEdit - RawVatCode:Handler:76 !{{{ set options RawVatCode:Handler:76.FieldName = 'RawVatCode' RawVatCode:Handler:76.LType = zvVatCode RawVatCode:Handler:76.PackedVal &= Null RawVatCode:Handler:76.NativeVal &= RawVatCode RawVatCode:Handler:76.Formatted &= VATCode RawVatCode:Handler:76.AllowNulls = 1 RawVatCode:Handler:76.Protected = 1 RawVatCode:Handler:76.SilentDeformatError = 1 RawVatCode:Handler:76.EditOnDeformatError = 1 RawVatCode:Handler:76.Checked = 1 !}}} RawVatCode:Handler:76.SetControls(?zvPrompt:33,?zvEditor:11,?VATCode) !}}} !{{{ zvTypeEdit - sol:TargetDate:Handler:77 !{{{ set options sol:TargetDate:Handler:77.FieldName = 'sol:TargetDate' sol:TargetDate:Handler:77.LType = zvDate sol:TargetDate:Handler:77.PackedVal &= Null sol:TargetDate:Handler:77.NativeVal &= sol:TargetDate sol:TargetDate:Handler:77.Formatted &= TargetDate sol:TargetDate:Handler:77.SilentDeformatError = 1 sol:TargetDate:Handler:77.EditOnDeformatError = 1 sol:TargetDate:Handler:77.Checked = 1 !}}} sol:TargetDate:Handler:77.SetControls(?zvPrompt:34,?zvEditTargetDate,?TargetDate) !}}} !{{{ HelpButton WindowHandler.HelpControl = ?Help !}}} !{{{ ?FormPrint WindowHandler.PrintControl = ?FormPrint !}}} !{{{ RefreshButton WindowHandler.RefreshControl = ?Refresh !}}} !{{{ DefaultsButton WindowHandler.DefaultsControl = ?Defaults !}}} !{{{ zvQtyEdit - OrderedQty:Handler:34 !{{{ set options OrderedQty:Handler:34.FieldName = 'sol:OrderedQty' OrderedQty:Handler:34.LType = zvQuantity OrderedQty:Handler:34.PackedVal &= Null OrderedQty:Handler:34.NativeVal &= Null OrderedQty:Handler:34.Formatted &= OrderedQty OrderedQty:Handler:34.FileID = sol::Id OrderedQty:Handler:34.Material &= Null OrderedQty:Handler:34.Magnitude &= Null OrderedQty:Handler:34.Length &= Null OrderedQty:Handler:34.Width &= Null OrderedQty:Handler:34.Height &= Null OrderedQty:Handler:34.Protected = sol:DeliveredOn OrderedQty:Handler:34.Context = 0 OrderedQty:Handler:34.SilentDeformatError = 1 OrderedQty:Handler:34.EditOnDeformatError = 1 OrderedQty:Handler:34.Checked = 1 OrderedQty:Handler:34.MyHelp = FALSE OrderedQty:Handler:34.MyHelpText &= NULL !}}} OrderedQty:Handler:34.SetControls(?PROMPT3,?EditOrderedQty,?OrderedQty) !}}} !{{{ zvQtyEdit - OrderedQty:Handler:65 !{{{ set options OrderedQty:Handler:65.FieldName = 'sol:OrderedQty' OrderedQty:Handler:65.LType = zvQuantity OrderedQty:Handler:65.PackedVal &= Null OrderedQty:Handler:65.NativeVal &= Null OrderedQty:Handler:65.Formatted &= OrderedQty OrderedQty:Handler:65.FileID = sol::Id OrderedQty:Handler:65.Material &= Null OrderedQty:Handler:65.Magnitude &= Null OrderedQty:Handler:65.Length &= Null OrderedQty:Handler:65.Width &= Null OrderedQty:Handler:65.Height &= Null OrderedQty:Handler:65.Protected = sol:DeliveredOn OrderedQty:Handler:65.Context = 0 OrderedQty:Handler:65.SilentDeformatError = 1 OrderedQty:Handler:65.EditOnDeformatError = 1 OrderedQty:Handler:65.Checked = 1 OrderedQty:Handler:65.MyHelp = FALSE OrderedQty:Handler:65.MyHelpText &= NULL !}}} OrderedQty:Handler:65.SetControls(?zvQtyPrompt:2,?zvEditOrderedQty3,?OrderedQty:2) !}}} !{{{ zvPriceEdit - UnitPrice:Handler:62 !{{{ set options UnitPrice:Handler:62.FieldName = 'sol:UnitPrice' UnitPrice:Handler:62.LType = zvPrice UnitPrice:Handler:62.PackedVal &= Null UnitPrice:Handler:62.NativeVal &= Null UnitPrice:Handler:62.Formatted &= UnitPrice UnitPrice:Handler:62.FileID = sol::Id UnitPrice:Handler:62.Material &= Null UnitPrice:Handler:62.Price &= Null UnitPrice:Handler:62.Unit &= Null UnitPrice:Handler:62.Protected = ProtectPrice UnitPrice:Handler:62.Context = 0 UnitPrice:Handler:62.SilentDeformatError = 1 UnitPrice:Handler:62.EditOnDeformatError = 1 UnitPrice:Handler:62.Checked = 1 UnitPrice:Handler:62.MyHelp = FALSE UnitPrice:Handler:62.MyHelpText &= NULL !}}} UnitPrice:Handler:62.SetControls(?zvPricePrompt,?zvPriceEditor,?UnitPrice) !}}} !{{{ DatesHints:Handler - ActionButton DatesHints:Handler.SetControls(?DatesHints) !}}} !}}} !{{{ BeforeOpenFiles ROUTINE BeforeOpenFiles ROUTINE !{{{ set kode contexts CostCentreContext = kdFirstInClass(kdCostCentreClass) DepartmentContext = kdFirstInClass(kdDepartmentClass) !}}} !}}} !{{{ AfterOpenFiles ROUTINE AfterOpenFiles ROUTINE !{{{ lookup soh:RecNo using sol:OrderRef soh:RecNo = sol:OrderRef:AsRecNo:16 !Prime the lookup key IF zfGet(soh::Id,sohRecNoKey,zf:+zf:NoMemo+zf:Callback) !Get record from file (silent if fails) zfClearRecord(soh::Id) !Did not get it, clear buffer IF sol:OrderRef:AsRecNo:16 > 0 soh:RecNo = sol:OrderRef:AsRecNo:16 !..put the RecNo back END END !}}} CustomerDefaults = vdLoad(csh::Id,soh:Customer) !}}} !{{{ BeforeAcceptLate ROUTINE BeforeAcceptLate ROUTINE !{{{ init auto inherit vars LocalsoAutoInheritQuote = soAutoInheritQuote() LocalsoAutoInheritContract = soAutoInheritContract() !}}} !{{{ set initial part selection method IF soh:CommittedOn AND (LocalRequest <> InsertRecord) SelectViaTheirPartNum = FALSE SelectViaOurPartNum = FALSE TheirPartType = zvStdPart TheirPartContext = sol:OurPartNum ELSIF soPickByTheirPartNum() SelectViaTheirPartNum = TRUE SelectViaOurPartNum = FALSE TheirPartType = zvCusPart TheirPartContext = soh:Customer ELSE SelectViaTheirPartNum = FALSE SelectViaOurPartNum = TRUE TheirPartType = zvCusPart TheirPartContext = soh:Customer END !}}} DO ResetScheduledCosts !}}} !{{{ RefreshWindowForced ROUTINE RefreshWindowForced ROUTINE !{{{ get order state soGetOrderStatus(soh:RecNo,OrderState) !}}} !{{{ get audit quantities soGetLineStatus(sol:RecNo,,RawDispatchedQty,RawReadyQty, | RawInProgressQty,RawPlannedQty, | RawReturnedQty,, | !don't want SDD pending qty RawCreditedQty,RawInvoicedQty,,,TRUE) !use order units !}}} !{{{ sort out pick methods - MUST be before SyncOurTheirPartNum IF soh:CommittedOn AND (LocalRequest <> InsertRecord) Hide(?SelectViaOurPartNum) SelectViaOurPartNum = FALSE TheirPartType = zvStdPart TheirPartContext = sol:OurPartNum SelectViaTheirPartNum:Control.SetText('Change Their Num') ELSE UnHide(?SelectViaOurPartNum) TheirPartType = zvCusPart TheirPartContext = soh:Customer SelectViaTheirPartNum:Control.SetText('Pick by Their Num') END IF SelectViaTheirPartNum TheirPartNumProtected = FALSE OurPartNumProtected = TRUE ELSIF SelectViaOurPartNum TheirPartNumProtected = TRUE OurPartNumProtected = FALSE ELSE TheirPartNumProtected = TRUE OurPartNumProtected = TRUE END !}}} DO SyncOurTheirPartNum !{{{ if our part num or dimensions changed - re-sync with contract or quote !NB: The price is setup by SetRecommendedPrice ! The delivery date is setup by SetEarliestDeliveryDate IF (~soh:CommittedOn OR LocalRequest = InsertRecord) AND (sol:OurPartNum OR sol:TheirPartNum ) !Override usual with the contract or quote second (if enabled) (NB: Typical dimensions now set) IF sol:TheirPartNum <> TheirPartNum:Field.GetOldVar() !TheirPartNum has changed DimsHaveChanged = TRUE ELSIF sol:OurPartNum <> OurPartNum:Field.GetOldVar() !OurPartNum has changed DimsHaveChanged = TRUE ELSE DO HasDimsChanged END IF DimsHaveChanged !Part# or dims have changed, re-sync contract and quote, contract takes priority over a quote sol:ContractLine = 0 !force a re-look for the contract (if there is one) sol:QuoteLine = 0 !force a re-look for the quote (if there is one) DO SetContractContext !go get contract IF sol:ContractLine !Found a contract, use that DO SetOrderFromContract !NB: Clears change flags if OK ELSE !No contract, look for a quote DO SetQuoteContext !go get quote DO SetOrderFromQuote !NB: Clears change flags if OK END END END !}}} DO SetContractContext DO SetQuoteContext DO GetRecommendedTheirPart DO SetRecommendedPrice DO SetEarliestDeliveryDate DO SetMargins DO SetProfit DO SetContainerFeedback !{{{ setup customer approved flag IF sol:TheirPartNum CustomerApproved = mcIsCustomerApproved(sol:TheirPartNum) ELSE CustomerApproved = csIsApproved(sol:Customer) END !}}} !{{{ sort out design/re-cost enable/disable IF sol:OurPartNum = 0 Disable(?ReCost) IF soh:CommittedOn AND (LocalRequest <> InsertRecord) Disable(?Design) ELSE Enable(?Design) END ELSE Enable(?ReCost) Disable(?Design) END !}}} !{{{ sort out set form quote/contract disables IF (soh:CommittedOn AND (LocalRequest <> InsertRecord)) OR ~sol:QuoteLine Disable(?SetQuote) ELSE Enable(?SetQuote) END IF (soh:CommittedOn AND (LocalRequest <> InsertRecord)) OR ~sol:ContractLine Disable(?SetContract) ELSE Enable(?SetContract) END !}}} !{{{ sort out re-schedule enable IF (soStrictReviews() AND NOT gxSubSSetPresent(soh:ReviewMask,soEnabledReviews(),soRequiredReviews())) | OR sol:OurPartNum = 0 | OR sol:DeliveredOn | OR sol:CancelledOn | OR soh:CommittedOn = 0 THEN Disable(?ReSchedule) ELSE Enable(?ReSchedule) END !}}} !{{{ show planned delivery date when applic !If the order is approved and not fully delivered, so the planned !delivery date and indicate if its late. IF soh:CommittedOn AND NOT sol:DeliveredOn AND (LocalRequest <> InsertRecord) UnHide(?HideWhenFullyDelivered) msDispatchDate(sol::Id,sol:RecNo,RawPlannedDelivery) IF gxIsDateDefined(sol:PromisedOn) TargetDate# = csDispatchDate(soh:Customer,soh:Carriage,sol:PromisedOn) ELSE TargetDate# = csDispatchDate(soh:Customer,soh:Carriage,sol:DeliverOn) END IF gxIsDateDefined(RawPlannedDelivery) IF gxOlder(TargetDate#,,Today()) !Missed it DaysLateMessage = '**OVERDUE**' ELSIF gxOlder(TargetDate#,,RawPlannedDelivery) AND Targetdate# <> gxDateASAP !Its late DaysLateMessage = RawPlannedDelivery - TargetDate# & ' days late' ELSE !Its OK DaysLateMessage = '' END ELSE !no plan DaysLateMessage = 'This order is not planned.' END ELSE Hide(?HideWhenFullyDelivered) END !}}} !{{{ sort out setdispatched/setinvoiced controls !They're only allowed if the order is committed. IF soh:CommittedOn AND (LocalRequest <> InsertRecord) Enable(?SetDispatched) Enable(?SetInvoiced) ELSE Disable(?SetDispatched) Disable(?SetInvoiced) END IF sol:DeliveredOn THEN SetDispatched = TRUE ELSE SetDispatched = FALSE. IF sol:InvoicedOn THEN SetInvoiced = TRUE ELSE SetInvoiced = FALSE. LineIsDispatched = SetDispatched LineIsInvoiced = SetInvoiced !}}} !{{{ disable line cost tab if order is not approved IF soh:CommittedOn Enable(?LineCostTab) ELSE Disable(?LineCostTab) END !}}} OrderUnits = umUnitsOf(sol:OrderedQty) !context for accept and make qty RawVatCode = mcGetSellVatCode(sol:OurPartNum,sol:TheirPartNum) !}}} !{{{ RefreshWindowEarly ROUTINE RefreshWindowEarly ROUTINE !{{{ enable/disable etc IF sol:ConsignmentFlag ConsignmentProtect = FALSE ELSE ConsignmentProtect = TRUE END IF soh:CommittedOn AND (LocalRequest <> InsertRecord) Disable(?SetRecommendedPrice) Disable(?SetRecommendedDate) ELSE Enable(?SetRecommendedPrice) Enable(?SetRecommendedDate) END IF ~RawEarliestPossibleDate !19/10/10 DCN Don't do this else can't set a date when no OPN-->Disable(?SetRecommendedDate) END IF sol:DeliveredOn OR SetRecommendedDate ProtectDate=TRUE ELSE ProtectDate=FALSE END IF sol:InvoicedOn OR SetRecommendedPrice ProtectPrice=TRUE ELSE ProtectPrice=FALSE END IF ProtectPrice Disable(?sol:AllowExtraDiscount) ELSE Enable(?sol:AllowExtraDiscount) END !Apparently customers ask for CofC after delivery !IF sol:DeliveredOn ! Disable(?sol:CofCRequired) !ELSE ! Enable(?sol:CofCRequired) !END !}}} !}}} !{{{ RefreshWindowLate ROUTINE RefreshWindowLate ROUTINE !{{{ set strings IF RawEarliestPossibleDate SetRecommendedDate:Control.SetText('Use recommen&ded: ' & gxFormat('@lDate@',RawEarliestPossibleDate)) ELSE SetRecommendedDate:Control.SetText('Use recommen&ded: ' & 'not known') END SetRecommendedPrice:Control.SetText('&Use recommended: ' & gxFormat('@lMoney@ per @lMeasure@',RawRecommendedPrice,RawUnitQty)) IF sohDiscountStr sol:AllowExtraDiscount:Control.SetText('Apply e&xtra discount of ' & sohDiscountStr) ELSE sol:AllowExtraDiscount:Control.SetText('Apply e&xtra discount of ' & 'nil') Disable(?sol:AllowExtraDiscount) END IF ~umIsZero(RawEstimatedProfit) EstimatedProfitStr = 'Est line profit is ' & gxFormat('@lMoney@',RawEstimatedProfit) ELSE EstimatedProfitStr = 'Est line profit is ' & Clip('nil') END IF PriceBasis EstimatedProfitStr = Clip(EstimatedProfitStr) & ' (' & Clip(PriceBasis) & ')' END !}}} !}}} !{{{ EndOfProcedure ROUTINE EndOfProcedure ROUTINE vdUnLoad(CustomerDefaults) !}}} !}}} !{{{ FormHandler ROUTINES !{{{ ActualDiscountStr !NB: The logic here is concerned with the USE() variable and the not the FEQ. ! If there are multiple FEQs all relating to the same USE() variable, there ! will only be one set of ROUTINEs here for all the FEQs. !{{{ ActualDiscountStr:OnChange ROUTINE ActualDiscountStr:OnChange ROUTINE DATA CycleExit LONG,AUTO CODE WindowHandler.BreakExit = FALSE WindowHandler.CycleExit = FALSE CycleExit = FALSE LOOP IF CycleExit THEN WindowHandler.CycleExit = TRUE; EXIT. CycleExit = TRUE !{{{ user has changed margin IF ~umIsZero(RawFullPrice) AND ~umIsInfinity(RawFullPrice) sol:UnitPrice = umApplyDiscount(RawFullPrice,ActualDiscount) sol:UnitPrice = umRoundToPicture(umMeasureAs(sol:UnitPrice,csNativeCurrency()),umPicture:Item) ELSE gxMessage('The full price is Nil or undefined, so specifying a discount here will not affect the price.') END !}}} EXIT END WindowHandler.BreakExit = TRUE !}}} !}}} !{{{ ActualMarginStr !NB: The logic here is concerned with the USE() variable and the not the FEQ. ! If there are multiple FEQs all relating to the same USE() variable, there ! will only be one set of ROUTINEs here for all the FEQs. !{{{ ActualMarginStr:OnChange ROUTINE ActualMarginStr:OnChange ROUTINE DATA CycleExit LONG,AUTO CODE WindowHandler.BreakExit = FALSE WindowHandler.CycleExit = FALSE CycleExit = FALSE LOOP IF CycleExit THEN WindowHandler.CycleExit = TRUE; EXIT. CycleExit = TRUE !{{{ user has changed margin IF ~umIsZero(RawUnitCost) AND ~umIsInfinity(RawUnitCost) sol:UnitPrice = umApplyMargin(RawUnitCost,ActualMargin) sol:UnitPrice = umRoundToPicture(umMeasureAs(sol:UnitPrice,csNativeCurrency()),umPicture:Item) ELSE gxMessage('The unit cost is Nil or undefined, so specifying a margin here will not affect the price.') END !}}} EXIT END WindowHandler.BreakExit = TRUE !}}} !}}} !{{{ ContractLine !NB: The logic here is concerned with the USE() variable and the not the FEQ. ! If there are multiple FEQs all relating to the same USE() variable, there ! will only be one set of ROUTINEs here for all the FEQs. !{{{ ContractLine:OnChange ROUTINE ContractLine:OnChange ROUTINE DATA CycleExit LONG,AUTO CODE WindowHandler.BreakExit = FALSE WindowHandler.CycleExit = FALSE CycleExit = FALSE LOOP IF CycleExit THEN WindowHandler.CycleExit = TRUE; EXIT. CycleExit = TRUE IF ~soh:CommittedOn OR (LocalRequest = InsertRecord) THEN DO SetOrderFromContract. EXIT END WindowHandler.BreakExit = TRUE !}}} !}}} !{{{ ContractRef !NB: The logic here is concerned with the USE() variable and the not the FEQ. ! If there are multiple FEQs all relating to the same USE() variable, there ! will only be one set of ROUTINEs here for all the FEQs. !{{{ ContractRef:OnChange ROUTINE ContractRef:OnChange ROUTINE DATA CycleExit LONG,AUTO CODE WindowHandler.BreakExit = FALSE WindowHandler.CycleExit = FALSE CycleExit = FALSE LOOP IF CycleExit THEN WindowHandler.CycleExit = TRUE; EXIT. CycleExit = TRUE !{{{ assume the user wants to change the contract ref !Force a line selection on the new contract sol:ContractLine = 0 POST(Event:Accepted,?EditContractLine) CYCLE !}}} EXIT END WindowHandler.BreakExit = TRUE !}}} !}}} !{{{ DeliverOn !NB: The logic here is concerned with the USE() variable and the not the FEQ. ! If there are multiple FEQs all relating to the same USE() variable, there ! will only be one set of ROUTINEs here for all the FEQs. !{{{ DeliverOn:OnChange ROUTINE DeliverOn:OnChange ROUTINE DATA CycleExit LONG,AUTO CODE WindowHandler.BreakExit = FALSE WindowHandler.CycleExit = FALSE CycleExit = FALSE LOOP IF CycleExit THEN WindowHandler.CycleExit = TRUE; EXIT. CycleExit = TRUE !{{{ warn if delivery date earlier than today or earlier than carrier can achieve IF sol:DeliverOn = gxDateTBD Beep IF NOT gxConfirm('WARNING: Setting a delivery date of ''TBD'' (To Be Defined) means the order ' & | 'line will be ignored by the planning system. This is intended to be used when ' & | 'you want to approve an order but you do not want to plan any work for it.<10><10>' & | 'Are you sure you want to a delivery date of ''TBD''?') sol:DeliverOn = DeliverOn:Field.GetOldVar() Select(?) Cycle END ELSIF gxLatest(sol:DeliverOn,Today()-1) = Today()-1 Beep IF NOT gxConfirm('WARNING: The delivery date you have set is earlier than today<10><10>' & | 'Are you sure you want a delivery date of ' & Format(sol:DeliverOn,@d5b)) sol:DeliverOn = DeliverOn:Field.GetOldVar() Select(?) Cycle END ELSIF soh:Customer AND soh:Carriage AND sol:DeliverOn AND sol:DeliverOn <> gxDateASAP IF csDispatchDate(soh:Customer,soh:Carriage,sol:DeliverOn) < Today() Beep IF NOT gxConfirm('WARNING: The delivery date you have set is earlier than the carriage method can achieve.<10><10>' & | 'Are you sure you want a delivery date of ' & Format(sol:DeliverOn,@d5b)) sol:DeliverOn = DeliverOn:Field.GetOldVar() Select(?) Cycle END END END !}}} !{{{ warn if changing date after committed IF soh:CommittedOn AND (LocalRequest <> InsertRecord) IF gxConfirm('WARNING: You are changing the delivery date of an approved order.<10><10>' & | 'It is YOUR responsibility to ensure this date can be achieved. You should ' & | 'also takes steps to get confirmation IN WRITING from your customer. Also, ' & | 'consider re-generating the order acknowledgement letter and send it to ' & | 'your customer.<10><10>' & | 'Are you sure you want to change the delivery date?' ) !let it happen ELSE sol:DeliverOn = DeliverOn:Field.GetOldVar() Select(?) Cycle END END !}}} SetRecommendedDate = FALSE DO ResetScheduledCosts EXIT END WindowHandler.BreakExit = TRUE !}}} !}}} !{{{ LineIsDispatched !NB: The logic here is concerned with the USE() variable and the not the FEQ. ! If there are multiple FEQs all relating to the same USE() variable, there ! will only be one set of ROUTINEs here for all the FEQs. !{{{ LineIsDispatched:OnChange ROUTINE LineIsDispatched:OnChange ROUTINE DATA CycleExit LONG,AUTO CODE WindowHandler.BreakExit = FALSE WindowHandler.CycleExit = FALSE CycleExit = FALSE LOOP IF CycleExit THEN WindowHandler.CycleExit = TRUE; EXIT. CycleExit = TRUE LineIsDispatched = SetDispatched:Field.GetOldVar() !Its just feedback from here EXIT END WindowHandler.BreakExit = TRUE !}}} !}}} !{{{ LineIsInvoiced !NB: The logic here is concerned with the USE() variable and the not the FEQ. ! If there are multiple FEQs all relating to the same USE() variable, there ! will only be one set of ROUTINEs here for all the FEQs. !{{{ LineIsInvoiced:OnChange ROUTINE LineIsInvoiced:OnChange ROUTINE DATA CycleExit LONG,AUTO CODE WindowHandler.BreakExit = FALSE WindowHandler.CycleExit = FALSE CycleExit = FALSE LOOP IF CycleExit THEN WindowHandler.CycleExit = TRUE; EXIT. CycleExit = TRUE LineIsInvoiced = SetInvoiced:Field.GetOldVar() !Its just feedback from here EXIT END WindowHandler.BreakExit = TRUE !}}} !}}} !{{{ LocalsoAutoInheritContract !NB: The logic here is concerned with the USE() variable and the not the FEQ. ! If there are multiple FEQs all relating to the same USE() variable, there ! will only be one set of ROUTINEs here for all the FEQs. !{{{ LocalsoAutoInheritContract:OnAcceptEarly ROUTINE LocalsoAutoInheritContract:OnAcceptEarly ROUTINE DATA CycleExit LONG,AUTO CODE WindowHandler.BreakExit = FALSE WindowHandler.CycleExit = FALSE CycleExit = FALSE LOOP IF CycleExit THEN WindowHandler.CycleExit = TRUE; EXIT. CycleExit = TRUE LocalsoAutoInheritContract = soAutoInheritContract() EXIT END WindowHandler.BreakExit = TRUE !}}} !}}} !{{{ LocalsoAutoInheritQuote !NB: The logic here is concerned with the USE() variable and the not the FEQ. ! If there are multiple FEQs all relating to the same USE() variable, there ! will only be one set of ROUTINEs here for all the FEQs. !{{{ LocalsoAutoInheritQuote:OnAcceptEarly ROUTINE LocalsoAutoInheritQuote:OnAcceptEarly ROUTINE DATA CycleExit LONG,AUTO CODE WindowHandler.BreakExit = FALSE WindowHandler.CycleExit = FALSE CycleExit = FALSE LOOP IF CycleExit THEN WindowHandler.CycleExit = TRUE; EXIT. CycleExit = TRUE LocalsoAutoInheritQuote = soAutoInheritQuote() EXIT END WindowHandler.BreakExit = TRUE !}}} !}}} !{{{ OrderedQty !NB: The logic here is concerned with the USE() variable and the not the FEQ. ! If there are multiple FEQs all relating to the same USE() variable, there ! will only be one set of ROUTINEs here for all the FEQs. !{{{ OrderedQty:OnAcceptLate ROUTINE OrderedQty:OnAcceptLate ROUTINE DATA CycleExit LONG,AUTO CODE WindowHandler.BreakExit = FALSE WindowHandler.CycleExit = FALSE CycleExit = FALSE LOOP IF CycleExit THEN WindowHandler.CycleExit = TRUE; EXIT. CycleExit = TRUE !{{{ quantity must be >0 IF ~umIsPositive(sol:OrderedQty) Beep gxMessage('The ordered quantity must be greater than 0') Select(?) Cycle END !}}} EXIT END WindowHandler.BreakExit = TRUE !}}} !{{{ OrderedQty:OnChange ROUTINE OrderedQty:OnChange ROUTINE DATA CycleExit LONG,AUTO CODE WindowHandler.BreakExit = FALSE WindowHandler.CycleExit = FALSE CycleExit = FALSE LOOP IF CycleExit THEN WindowHandler.CycleExit = TRUE; EXIT. CycleExit = TRUE !{{{ warn if changing quantity after committed IF soh:CommittedOn AND (LocalRequest <> InsertRecord) IF gxConfirm('WARNING: You are changing the quantity of an approved order.<10><10>' & | 'It is YOUR responsibility to ensure this quantity can be achieved. You should' & | ' also takes steps to get confirmation IN WRITING from your customer. Also, ' & | 'consider re-generating the order acknowledgement letter and send it to your ' & | 'customer.<10><10>' & | 'Are you sure you want to change the quantity?' ) !let it happen ELSE OrderedQty:Field.ResetOld() !put it back Select(?) Cycle END END !}}} !{{{ invalidate price if dimensions changing DO HasDimsChanged IF DimsHaveChanged sol:QuoteLine = 0 sol:ContractLine = 0 sol:UnitPrice = umLike(sol:UnitPrice) END !}}} DO ResetScheduledCosts EXIT END WindowHandler.BreakExit = TRUE !}}} !}}} !{{{ OurPartNum !NB: The logic here is concerned with the USE() variable and the not the FEQ. ! If there are multiple FEQs all relating to the same USE() variable, there ! will only be one set of ROUTINEs here for all the FEQs. !{{{ OurPartNum:OnChange ROUTINE OurPartNum:OnChange ROUTINE DATA CycleExit LONG,AUTO CODE WindowHandler.BreakExit = FALSE WindowHandler.CycleExit = FALSE CycleExit = FALSE LOOP IF CycleExit THEN WindowHandler.CycleExit = TRUE; EXIT. CycleExit = TRUE IF sol:OurPartNum THEN sol:QuoteLine = 0. !invalidated quote IF sol:OurPartNum THEN sol:ContractLine = 0. !invalidated contract IF sol:OurPartNum THEN sol:UnitPrice = umLike(sol:UnitPrice). !invalidated price DO ResetScheduledCosts DO MakeTheirPart EXIT END WindowHandler.BreakExit = TRUE !}}} !}}} !{{{ QuoteLine !NB: The logic here is concerned with the USE() variable and the not the FEQ. ! If there are multiple FEQs all relating to the same USE() variable, there ! will only be one set of ROUTINEs here for all the FEQs. !{{{ QuoteLine:OnChange ROUTINE QuoteLine:OnChange ROUTINE DATA CycleExit LONG,AUTO CODE WindowHandler.BreakExit = FALSE WindowHandler.CycleExit = FALSE CycleExit = FALSE LOOP IF CycleExit THEN WindowHandler.CycleExit = TRUE; EXIT. CycleExit = TRUE IF ~soh:CommittedOn OR (LocalRequest = InsertRecord) THEN DO SetOrderFromQuote. EXIT END WindowHandler.BreakExit = TRUE !}}} !}}} !{{{ QuoteRef !NB: The logic here is concerned with the USE() variable and the not the FEQ. ! If there are multiple FEQs all relating to the same USE() variable, there ! will only be one set of ROUTINEs here for all the FEQs. !{{{ QuoteRef:OnChange ROUTINE QuoteRef:OnChange ROUTINE DATA CycleExit LONG,AUTO CODE WindowHandler.BreakExit = FALSE WindowHandler.CycleExit = FALSE CycleExit = FALSE LOOP IF CycleExit THEN WindowHandler.CycleExit = TRUE; EXIT. CycleExit = TRUE !{{{ assume user wants to change the quote link !Force a line selection on the new quote sol:QuoteLine = 0 POST(Event:Accepted,?EditQuoteLine) CYCLE !}}} EXIT END WindowHandler.BreakExit = TRUE !}}} !}}} !{{{ SelectViaOurPartNum !NB: The logic here is concerned with the USE() variable and the not the FEQ. ! If there are multiple FEQs all relating to the same USE() variable, there ! will only be one set of ROUTINEs here for all the FEQs. !{{{ SelectViaOurPartNum:OnChange ROUTINE SelectViaOurPartNum:OnChange ROUTINE DATA CycleExit LONG,AUTO CODE WindowHandler.BreakExit = FALSE WindowHandler.CycleExit = FALSE CycleExit = FALSE LOOP IF CycleExit THEN WindowHandler.CycleExit = TRUE; EXIT. CycleExit = TRUE SelectViaTheirPartNum = gxNot(SelectViaOurPartNum) EXIT END WindowHandler.BreakExit = TRUE !}}} !}}} !{{{ SelectViaTheirPartNum !NB: The logic here is concerned with the USE() variable and the not the FEQ. ! If there are multiple FEQs all relating to the same USE() variable, there ! will only be one set of ROUTINEs here for all the FEQs. !{{{ SelectViaTheirPartNum:OnChange ROUTINE SelectViaTheirPartNum:OnChange ROUTINE DATA CycleExit LONG,AUTO CODE WindowHandler.BreakExit = FALSE WindowHandler.CycleExit = FALSE CycleExit = FALSE LOOP IF CycleExit THEN WindowHandler.CycleExit = TRUE; EXIT. CycleExit = TRUE SelectViaOurPartNum = gxNot(SelectViaTheirPartNum) EXIT END WindowHandler.BreakExit = TRUE !}}} !}}} !{{{ SetDispatched !NB: The logic here is concerned with the USE() variable and the not the FEQ. ! If there are multiple FEQs all relating to the same USE() variable, there ! will only be one set of ROUTINEs here for all the FEQs. !{{{ SetDispatched:OnChange ROUTINE SetDispatched:OnChange ROUTINE DATA CycleExit LONG,AUTO CODE WindowHandler.BreakExit = FALSE WindowHandler.CycleExit = FALSE CycleExit = FALSE LOOP IF CycleExit THEN WindowHandler.CycleExit = TRUE; EXIT. CycleExit = TRUE !{{{ confirm then do it DO SaveChanges IF RecordChanged THEN SetDispatched = gxNot(SetDispatched);CYCLE. Wimpout# = FALSE IF NOT SetDispatched IF NOT gxConfirm('This action will mark the order line as not fully dispatched. ' & | 'You will be able to make more dispatches against this line ' & | 'after you have done this.<10><10>' & | 'WARNING:<10>If the ordered quantity has already been dispatched the ' & | 'system may re-mark it as fully dispatched if you do actions involving ' & | 'this order line. You should do whatever it is you want straight away.<10><10>' & | 'Mark this order line as NOT fully dispatched?') SetDispatched = gxNot(SetDispatched) Wimpout# = TRUE END ELSE IF NOT gxConfirm('This action will mark the order line as fully dispatched. ' & | 'You will be NOT able to make more dispatches against this line ' & | 'after you have done this.<10><10>' & | 'WARNING:<10>If the ordered quantity has not been dispatched, the remaining ' & | 'order quantity will be cancelled. It is YOUR RESPONSIBILITY to ensure ' & | 'this does not prejudice your delivery committments.<10><10>' & | 'Mark this order line as fully dispatched?') SetDispatched = gxNot(SetDispatched) Wimpout# = TRUE END END IF ~Wimpout# IF soSetLineDispatched(sol:RecNo,SetDispatched). IF zfLoad(sol::Id,sol:RecNo,,FALSE). DO KeepChanges END !}}} EXIT END WindowHandler.BreakExit = TRUE !}}} !}}} !{{{ SetInvoiced !NB: The logic here is concerned with the USE() variable and the not the FEQ. ! If there are multiple FEQs all relating to the same USE() variable, there ! will only be one set of ROUTINEs here for all the FEQs. !{{{ SetInvoiced:OnChange ROUTINE SetInvoiced:OnChange ROUTINE DATA CycleExit LONG,AUTO CODE WindowHandler.BreakExit = FALSE WindowHandler.CycleExit = FALSE CycleExit = FALSE LOOP IF CycleExit THEN WindowHandler.CycleExit = TRUE; EXIT. CycleExit = TRUE !{{{ confirm then do it DO SaveChanges IF RecordChanged THEN SetInvoiced = gxNot(SetInvoiced);CYCLE. Wimpout# = FALSE IF NOT SetInvoiced IF NOT gxConfirm('This action will mark the order line as not fully invoiced. ' & | 'You will be able to raise more invoices against this line ' & | 'after you have done this.<10><10>' & | 'WARNING:<10>If the ordered quantity has already been invoiced the ' & | 'system may re-mark it as fully invoiced if you do actions involving ' & | 'this order line. You should do whatever it is you want straight away.<10><10>' & | 'Mark this order line as NOT fully invoiced?') SetInvoiced = gxNot(SetInvoiced) Wimpout# = TRUE END ELSE IF NOT gxConfirm('This action will mark the order line as fully invoiced. ' & | 'You will be NOT able to raise more invoices against this line ' & | 'after you have done this.<10><10>' & | 'Mark this order line as fully invoiced?') SetInvoiced = gxNot(SetInvoiced) Wimpout# = TRUE END END IF ~Wimpout# IF soSetLineInvoiced(sol:RecNo,SetInvoiced). IF zfLoad(sol::Id,sol:RecNo,,FALSE). DO KeepChanges END !}}} EXIT END WindowHandler.BreakExit = TRUE !}}} !}}} !{{{ TheirPartNum !NB: The logic here is concerned with the USE() variable and the not the FEQ. ! If there are multiple FEQs all relating to the same USE() variable, there ! will only be one set of ROUTINEs here for all the FEQs. !{{{ TheirPartNum:OnChange ROUTINE TheirPartNum:OnChange ROUTINE DATA CycleExit LONG,AUTO CODE WindowHandler.BreakExit = FALSE WindowHandler.CycleExit = FALSE CycleExit = FALSE LOOP IF CycleExit THEN WindowHandler.CycleExit = TRUE; EXIT. CycleExit = TRUE IF sol:TheirPartNum THEN sol:QuoteLine = 0. !invalidated quote IF sol:TheirPartNum THEN sol:ContractLine = 0. !invalidated contract IF sol:TheirPartNum THEN sol:UnitPrice = umLike(sol:UnitPrice). !invalidated price DO ResetScheduledCosts EXIT END WindowHandler.BreakExit = TRUE !}}} !}}} !{{{ UnitPrice !NB: The logic here is concerned with the USE() variable and the not the FEQ. ! If there are multiple FEQs all relating to the same USE() variable, there ! will only be one set of ROUTINEs here for all the FEQs. !{{{ UnitPrice:OnChange ROUTINE UnitPrice:OnChange ROUTINE DATA CycleExit LONG,AUTO CODE WindowHandler.BreakExit = FALSE WindowHandler.CycleExit = FALSE CycleExit = FALSE LOOP IF CycleExit THEN WindowHandler.CycleExit = TRUE; EXIT. CycleExit = TRUE !{{{ warn if changing price after committed IF soh:CommittedOn AND (LocalRequest <> InsertRecord) IF gxConfirm('WARNING: You are changing the unit price of an approved order.<10><10>' & | 'It is YOUR responsibility to get aproval IN WRITING from your customer. Also, ' & | 'consider re-generating the order acknowledgement letter and send it to your ' & | 'customer.<10><10>' & | 'Are you sure you want to change the unit price?' ) !let it happen ELSE UnitPrice:Field.ResetOriginal() Select(?) Cycle END END !}}} SetRecommendedPrice = FALSE EXIT END WindowHandler.BreakExit = TRUE !}}} !}}} !{{{ WorksNotes !NB: The logic here is concerned with the USE() variable and the not the FEQ. ! If there are multiple FEQs all relating to the same USE() variable, there ! will only be one set of ROUTINEs here for all the FEQs. !{{{ WorksNotes:OnAcceptEarly ROUTINE WorksNotes:OnAcceptEarly ROUTINE DATA CycleExit LONG,AUTO CODE WindowHandler.BreakExit = FALSE WindowHandler.CycleExit = FALSE CycleExit = FALSE LOOP IF CycleExit THEN WindowHandler.CycleExit = TRUE; EXIT. CycleExit = TRUE !{{{ check got customer works notes IF solGetOurPartNum() AND ~sol:WorksNotes AND mcMustAddWorksNotes(solGetOurPartNum()) gxMessage('The customer works notes must specify this part.') Select(?) CYCLE END !}}} EXIT END WindowHandler.BreakExit = TRUE !}}} !}}} !{{{ sol:CancelledOn !NB: The logic here is concerned with the USE() variable and the not the FEQ. ! If there are multiple FEQs all relating to the same USE() variable, there ! will only be one set of ROUTINEs here for all the FEQs. !{{{ sol:CancelledOn:OnChange ROUTINE sol:CancelledOn:OnChange ROUTINE DATA CycleExit LONG,AUTO CODE WindowHandler.BreakExit = FALSE WindowHandler.CycleExit = FALSE CycleExit = FALSE LOOP IF CycleExit THEN WindowHandler.CycleExit = TRUE; EXIT. CycleExit = TRUE sol:CancelledOn = sol:CancelledOn:Field.GetOldVar() EXIT END WindowHandler.BreakExit = TRUE !}}} !}}} !{{{ sol:DeliveredOn !NB: The logic here is concerned with the USE() variable and the not the FEQ. ! If there are multiple FEQs all relating to the same USE() variable, there ! will only be one set of ROUTINEs here for all the FEQs. !{{{ sol:DeliveredOn:OnChange ROUTINE sol:DeliveredOn:OnChange ROUTINE DATA CycleExit LONG,AUTO CODE WindowHandler.BreakExit = FALSE WindowHandler.CycleExit = FALSE CycleExit = FALSE LOOP IF CycleExit THEN WindowHandler.CycleExit = TRUE; EXIT. CycleExit = TRUE sol:DeliveredOn = sol:DeliveredOn:Field.GetOldVar() EXIT END WindowHandler.BreakExit = TRUE !}}} !}}} !{{{ sol:Edited !NB: The logic here is concerned with the USE() variable and the not the FEQ. ! If there are multiple FEQs all relating to the same USE() variable, there ! will only be one set of ROUTINEs here for all the FEQs. !{{{ sol:Edited:OnChange ROUTINE sol:Edited:OnChange ROUTINE DATA CycleExit LONG,AUTO CODE WindowHandler.BreakExit = FALSE WindowHandler.CycleExit = FALSE CycleExit = FALSE LOOP IF CycleExit THEN WindowHandler.CycleExit = TRUE; EXIT. CycleExit = TRUE sol:Edited = sol:Edited:Field.GetOldVar() EXIT END WindowHandler.BreakExit = TRUE !}}} !}}} !{{{ sol:InvoicedOn !NB: The logic here is concerned with the USE() variable and the not the FEQ. ! If there are multiple FEQs all relating to the same USE() variable, there ! will only be one set of ROUTINEs here for all the FEQs. !{{{ sol:InvoicedOn:OnChange ROUTINE sol:InvoicedOn:OnChange ROUTINE DATA CycleExit LONG,AUTO CODE WindowHandler.BreakExit = FALSE WindowHandler.CycleExit = FALSE CycleExit = FALSE LOOP IF CycleExit THEN WindowHandler.CycleExit = TRUE; EXIT. CycleExit = TRUE sol:InvoicedOn = sol:InvoicedOn:Field.GetOldVar() EXIT END WindowHandler.BreakExit = TRUE !}}} !}}} !}}} !{{{ DIY buttons ROUTINES !{{{ Design:Handler - DIY button Design:ActionAllow ROUTINE Design:Handler.ReturnAction = zwAction:Continue LOOP IF Design:Handler.ReturnAction = zwAction:Cycle THEN EXIT. Design:Handler.ReturnAction = zwAction:Cycle sol:OurPartNum = mcCreateProduct(sol:TheirPartNum,soDesignWizard()) ForceRefresh = TRUE Design:Handler.ReturnAction = zwAction:Continue EXIT END Design:Handler.ReturnAction = zwAction:Break !}}} !{{{ UpdateCustWorksNotes:Handler - DIY button UpdateCustWorksNotes:ActionAllow ROUTINE UpdateCustWorksNotes:Handler.ReturnAction = zwAction:Continue LOOP IF UpdateCustWorksNotes:Handler.ReturnAction = zwAction:Cycle THEN EXIT. UpdateCustWorksNotes:Handler.ReturnAction = zwAction:Cycle solUpdateNotes(TRUE,FALSE,TRUE);ForceRefresh=TRUE UpdateCustWorksNotes:Handler.ReturnAction = zwAction:Continue EXIT END UpdateCustWorksNotes:Handler.ReturnAction = zwAction:Break !}}} !{{{ UpdateEnqLineNotes:Handler - DIY button UpdateEnqLineNotes:ActionAllow ROUTINE UpdateEnqLineNotes:Handler.ReturnAction = zwAction:Continue LOOP IF UpdateEnqLineNotes:Handler.ReturnAction = zwAction:Cycle THEN EXIT. UpdateEnqLineNotes:Handler.ReturnAction = zwAction:Cycle solUpdateNotes(TRUE,TRUE,FALSE);ForceRefresh=TRUE UpdateEnqLineNotes:Handler.ReturnAction = zwAction:Continue EXIT END UpdateEnqLineNotes:Handler.ReturnAction = zwAction:Break !}}} !{{{ SetQuote:Handler - DIY button SetQuote:ActionAllow ROUTINE SetQuote:Handler.ReturnAction = zwAction:Continue LOOP IF SetQuote:Handler.ReturnAction = zwAction:Cycle THEN EXIT. SetQuote:Handler.ReturnAction = zwAction:Cycle !{{{ set SOL details from quote LocalsoAutoInheritQuote = TRUE DO SetOrderFromQuote LocalsoAutoInheritQuote = soAutoInheritQuote() !}}} SetQuote:Handler.ReturnAction = zwAction:Continue EXIT END SetQuote:Handler.ReturnAction = zwAction:Break !}}} !{{{ SetContract:Handler - DIY button SetContract:ActionAllow ROUTINE SetContract:Handler.ReturnAction = zwAction:Continue LOOP IF SetContract:Handler.ReturnAction = zwAction:Cycle THEN EXIT. SetContract:Handler.ReturnAction = zwAction:Cycle !{{{ set SOL details from contract LocalsoAutoInheritContract = TRUE DO SetOrderFromContract LocalsoAutoInheritContract = soAutoInheritContract() !}}} SetContract:Handler.ReturnAction = zwAction:Continue EXIT END SetContract:Handler.ReturnAction = zwAction:Break !}}} !{{{ UpdatePriceNow:Handler - DIY button UpdatePriceNow:ActionAllow ROUTINE UpdatePriceNow:Handler.ReturnAction = zwAction:Continue LOOP IF UpdatePriceNow:Handler.ReturnAction = zwAction:Cycle THEN EXIT. UpdatePriceNow:Handler.ReturnAction = zwAction:Cycle !{{{ confirm then update price IF gxConfirm('This action will re-calculate a selling price based on the actual costs ' & | 'and the margin you have set here (' & RawActualCostMargin & '%). This is only meaningful after you have ' & | 'completed the work and logged all the costs involved (time loggings & supplier ' & | 'invoices) and signed-off any works orders involved. Its only then that your ' & | 'actual costs are accurate.<13><10><13><10>' & | 'Are you sure you want to re-calculate the price now?') sol:UnitPrice = soGetPriceFromCost(,RawActualCostMargin) ForceRefresh = TRUE END !}}} UpdatePriceNow:Handler.ReturnAction = zwAction:Continue EXIT END UpdatePriceNow:Handler.ReturnAction = zwAction:Break !}}} !{{{ ReCost:Handler - DIY button ReCost:ActionAllow ROUTINE ReCost:Handler.ReturnAction = zwAction:Continue LOOP IF ReCost:Handler.ReturnAction = zwAction:Cycle THEN EXIT. ReCost:Handler.ReturnAction = zwAction:Cycle IF mcReCalcCost(solGetOurPartNum()) = 0 THEN ForceRefresh = TRUE. ReCost:Handler.ReturnAction = zwAction:Continue EXIT END ReCost:Handler.ReturnAction = zwAction:Break !}}} !{{{ History:Handler - DIY button History:ActionAllow ROUTINE History:Handler.ReturnAction = zwAction:Continue LOOP IF History:Handler.ReturnAction = zwAction:Cycle THEN EXIT. History:Handler.ReturnAction = zwAction:Cycle csCustomerHistory(soh:Customer,sol:OurPartNum) History:Handler.ReturnAction = zwAction:Continue EXIT END History:Handler.ReturnAction = zwAction:Break !}}} !}}} !{{{ Service required ROUTINES !{{{ SaveHandler !{{{ GetContext SaveHandler:GetContext ROUTINE DATA InsertDisabled BYTE(FALSE) ChangeDisabled BYTE(FALSE) DeleteDisabled BYTE(FALSE) CODE IF soh:CancelledOn OR (soh:CommittedOn AND ~asUseAllowed('soApproveOrder')) InsertDisabled = TRUE END IF soh:CommittedOn AND ~asUseAllowed('soApproveOrder') ChangeDisabled = TRUE END IF sol:CancelledOn OR soh:CancelledOn OR (soh:CommittedOn AND ~asUseAllowed('soApproveOrder')) DeleteDisabled = TRUE END SaveHandler.SetContext(InsertDisabled,ChangeDisabled,DeleteDisabled) !}}} !{{{ Prepared SaveHandler:Prepared ROUTINE !{{{ hide/unhide recalc price from cost IF sol:InvoicedOn Hide(?RecalcPriceFromCost) ELSE UnHide(?RecalcPriceFromCost) END !}}} !{{{ get default actual cost margin IF solGetOurPartNum() RawActualCostMargin = mcGetMargin(sol:TheirPartNum,solGetOurPartNum(),sol:OrderedQty,sol:Length,sol:Width,sol:Height,,sol:Customer) ELSE RawActualCostMargin = mcUsualMargin() END !}}} !{{{ turn off set recommended when not doing an insert IF LocalRequest <> InsertRecord SetRecommendedPrice = FALSE SetRecommendedDate = FALSE END !}}} !}}} !{{{ ReserveLate SaveHandler:ReserveLate ROUTINE sol:LineItemReference = gxFormat(Clip(soItemRefText()),sol:Line) !default is gxFormat compatible string !{{{ reset dates sol:DeliveredOn = 0 sol:InvoicedOn = 0 sol:CancelledOn = 0 sol:CancelledBy = 0 !}}} SetRecommendedDate = csUseRecommendedDate() SetRecommendedPrice = csUseRecommendedPrice() IF qaAssign(sol::Id,sol:RecNo,mch::Id,sol:OurPartNum,mck::Id,sol:TheirPartNum,QualifiersTab:Handle). !}}} !{{{ InsertLate SaveHandler:InsertLate ROUTINE DATA Action LIKE(SaveHandler:Action),AUTO !NB: Local needed in case embed cycles after recursing CODE Action = zwAction:Continue LOOP IF Action = zwAction:Cycle THEN SaveHandler:Action = Action; EXIT. Action = zwAction:Cycle IF sol:OrderRef THEN Err# = soSetOrderState(sol:OrderRef). SaveHandler:Action = zwAction:Continue EXIT END SaveHandler:Action = zwAction:Break !}}} !{{{ ChangeEarly SaveHandler:ChangeEarly ROUTINE DATA Action LIKE(SaveHandler:Action),AUTO !NB: Local needed in case embed cycles after recursing CODE Action = zwAction:Continue LOOP IF Action = zwAction:Cycle THEN SaveHandler:Action = Action; EXIT. Action = zwAction:Cycle !{{{ set the edited flag !NB: The Save button is not enabled unless something has changed. ! So to get here something must have been changed. sol:Edited = TRUE !}}} SaveHandler:Action = zwAction:Continue EXIT END SaveHandler:Action = zwAction:Break !}}} !{{{ ChangeLate SaveHandler:ChangeLate ROUTINE DATA Action LIKE(SaveHandler:Action),AUTO !NB: Local needed in case embed cycles after recursing CODE Action = zwAction:Continue LOOP IF Action = zwAction:Cycle THEN SaveHandler:Action = Action; EXIT. Action = zwAction:Cycle IF soh:CommittedOn AND (~sol:DeliveredOn OR ~sol:InvoicedOn) THEN Err# = soSetLineState(sol:RecNo,TRUE,TRUE). IF ~Err# AND sol:OrderRef THEN Err# = soSetOrderState(sol:OrderRef). SaveHandler:Action = zwAction:Continue EXIT END SaveHandler:Action = zwAction:Break !}}} !{{{ DeleteLate SaveHandler:DeleteLate ROUTINE DATA Action LIKE(SaveHandler:Action),AUTO !NB: Local needed in case embed cycles after recursing CODE Action = zwAction:Continue LOOP IF Action = zwAction:Cycle THEN SaveHandler:Action = Action; EXIT. Action = zwAction:Cycle IF sol:OrderRef THEN Err# = soSetOrderState(sol:OrderRef). SaveHandler:Action = zwAction:Continue EXIT END SaveHandler:Action = zwAction:Break !}}} !{{{ CompletedEarly SaveHandler:CompletedEarly ROUTINE DATA Action LIKE(SaveHandler:Action),AUTO !NB: Local needed in case embed cycles after recursing CODE Action = zwAction:Continue LOOP IF Action = zwAction:Cycle THEN SaveHandler:Action = Action; EXIT. Action = zwAction:Cycle !{{{ warn if unit price is 0 IF LocalRequest <> DeleteRecord IF ~umIsPositive(sol:UnitPrice) AND NOT ActionPending | AND NOT gxConfirm('You have not set a unit price.<10><10>' & | 'Do you wish to proceed?' ) Select(?UnitPrice) Cycle END IF umIsInfinity(sol:UnitPrice) AND NOT ActionPending | AND NOT gxConfirm('You have not set a unit price.<10><10>' & | 'Do you wish to proceed?' ) Select(?UnitPrice) Cycle END END !}}} SaveHandler:Action = zwAction:Continue EXIT END SaveHandler:Action = zwAction:Break !}}} !}}} !{{{ Schedule:Handler - FormButton Schedule:ActionEarly ROUTINE IF soTentativeSchedule(ScheduledQty,ScheduledDate,ScheduledCost). !Schedule !}}} !{{{ Dispatches:Handler - FormButton Dispatches:ActionEarly ROUTINE sdaView:Generic(sol:RecNo) !}}} !{{{ Invoices:Handler - FormButton Invoices:ActionEarly ROUTINE sdiView:ForSOL(sol:RecNo) !}}} !{{{ Trace:Handler - FormButton Trace:ActionEarly ROUTINE msTrace(sol::id,sol:RecNo,'Sales Line') !}}} !{{{ ReSchedule:Handler - FormButton ReSchedule:ActionAllow ROUTINE ReSchedule:Handler.ReturnAction = zwAction:Continue LOOP IF ReSchedule:Handler.ReturnAction = zwAction:Cycle THEN EXIT. ReSchedule:Handler.ReturnAction = zwAction:Cycle !{{{ confirm IF xpGetRank(sol::Id,sol:RecNo) gxMessage('This line is already in the rescheduler list!') Cycle END IF NOT gxConfirm('This action will place the selected SO line in the re-schedulers list.<10><10>' & | 'From there, you can edit and re-schedule it.<10><10>' & | 'Place in reschedule list now?') Cycle END !}}} ReSchedule:Handler.ReturnAction = zwAction:Continue EXIT END ReSchedule:Handler.ReturnAction = zwAction:Break ReSchedule:ActionEarly ROUTINE !{{{ add line to re-sched list and fire up re-scheduler IF soAddLine(sol::Id,sol:RecNo). zxRunProcess('xpReschedule') !}}} !}}} !{{{ Events:Handler - FormButton Events:ActionEarly ROUTINE jsTickleTrace(sol::Id,sol:RecNo) !}}} !{{{ RaiseTender:Handler - FormButton RaiseTender:ActionEarly ROUTINE enMakeTender(solGetOurPartNum(),,,,sol:OrderedQty,sol:Length,sol:Width,sol:Height,sol:DeliverOn) !}}} !{{{ Action:Handler - FormButton Action:ActionEarly ROUTINE msiView:Dispatches(sol::Id,sol:RecNo,solGetOurPartNum(),soh:CommittedOn) !}}} !{{{ AddAllOutputs:Handler - FormButton AddAllOutputs:ActionEarly ROUTINE !{{{ AddAllOutputs - confirm then do it IF gxConfirm('This action will add a sales line for each of the outputs created by the container ' & | 'selected. This is a short-cut to adding all the outputs by hand one at ' & | 'a time. Outputs already in the order will not be added again.' & | '<10><10>Add all the outputs created by this container now?') IF soDoOutputs(mcIsMultipleOutput(solGetOurPartNum()),InsertRecord). IF sol:RecNo = 0 THEN ProcedureExit = TRUE; EXIT ELSE DO PrepareAction. END !}}} !}}} !{{{ ReplaceByAllOutputs:Handler - FormButton ReplaceByAllOutputs:ActionEarly ROUTINE !{{{ ReplaceByAllOutputs - confirm then do it IF gxConfirm('This action will replace the sales line you are currently looking at ' & | 'with a sales line for each of the outputs created by the container ' & | 'selected. The container itself will be removed from the order. This ' & | 'is a short-cut to adding all the outputs by hand one at ' & | 'a time. Outputs already in the order will not be added again.' & | '<10><10>Replace this container by all its outputs now?') IF soDoOutputs(solGetOurPartNum(),InsertRecord,TRUE). IF sol:RecNo = 0 THEN ProcedureExit = TRUE; EXIT ELSE DO PrepareAction. END !}}} !}}} !{{{ AddContainer:Handler - FormButton AddContainer:ActionEarly ROUTINE !{{{ AddContainer - confirm then do it IF gxConfirm('This action will add a sales line for the container creating the output you ' & | 'are looking at. The container will not be added if it is already in the order.' & | '<10><10>Add the container creating this output now?') IF soDoContainer(mcIsMultipleOutput(solGetOurPartNum()),InsertRecord). IF sol:RecNo = 0 THEN ProcedureExit = TRUE; EXIT ELSE DO PrepareAction. END !}}} !AddContainer !}}} !{{{ ReplaceAllOutputsByC:Handler - FormButton ReplaceAllOutputsByC:ActionEarly ROUTINE !{{{ ReplaceAllOutputsByContainer - confirm then do it IF gxConfirm('This action will replace the sales line you are currently looking at ' & | 'with a sales line for the container creating this output. All other sales ' & | 'lines in this order that are also outputs of the same container will also ' & | 'be removed. The container will not be added if it is already in the order, ' & | 'but its outputs will still be removed.' & | '<10><10>Replace all outputs by their container now?') IF soDoContainer(mcIsMultipleOutput(solGetOurPartNum()),InsertRecord,TRUE) = 0 !NB: SOL is now the container IF soDoOutputs(solGetOurPartNum(),DeleteRecord). END IF sol:RecNo = 0 THEN ProcedureExit = TRUE; EXIT ELSE DO PrepareAction. END !}}} !ReplaceAllOutputsByContainer !}}} !{{{ BarChart:Handler - FormButton BarChart:ActionEarly ROUTINE rsShowLoading:Generic(,,,,,sol:RecNo) !}}} !{{{ DispatchSchedule:Handler - FormButton DispatchSchedule:ActionEarly ROUTINE sddSchedule !}}} !{{{ InvoiceSchedule:Handler - FormButton InvoiceSchedule:ActionEarly ROUTINE sdcSchedule !}}} !{{{ WizardAdd:Handler - FormButton WizardAdd:ActionEarly ROUTINE !{{{ Wizard:Add - set registers for an insert and call the wizard drTemplateParam('Create') Registers:Type[1] = zvVoid Registers:Type[2] = zvSOrder zvPack(zvVoid ,Zero# ,Registers:Value[1]) zvPack(zvSOrder,soh:RecNo,Registers:Value[2]) IF drCreateProduct(sol::Id,soOrderLineEditor(),Registers). !}}} !}}} !{{{ WizardEdit:Handler - FormButton WizardEdit:ActionEarly ROUTINE !{{{ Wizard:Edit - set registers for a change and call the wizard drTemplateParam('Edit') Registers:Type[1] = zvSLine zvPack(zvSLine,sol:RecNo,Registers:Value[1]) Registers:Type[2] = zvSOrder zvPack(zvSOrder,sol:OrderRef,Registers:Value[2]) IF drCreateProduct(sol::Id,soOrderLineEditor(),Registers). !}}} !}}} !{{{ zvTypeEdit - sol:QuoteLine:Handler:6 !{{{ GetContext sol:QuoteLine:Handler:6:GetContext ROUTINE sol:QuoteLine:Handler:6.SetContext(,,RawQuoteRef) !}}} !}}} !{{{ zvTypeEdit - sol:OurPartNum:Handler:7 !{{{ GetContext sol:OurPartNum:Handler:7:GetContext ROUTINE sol:OurPartNum:Handler:7.SetContext(zvSellable,OurPartNumProtected,) !}}} !}}} !{{{ zvTypeEdit - sol:InternalNotes:Handler:11 !{{{ GetContext sol:InternalNotes:Handler:11:GetContext ROUTINE zfIsOpen(sol::Id) !Make sure the file is open (else field ref is invalid) sol:InternalNotes:Handler:11.NativeVal &= sol:InternalNotes !Refresh buffer address in case its moved !}}} !}}} !{{{ zvTypeEdit - sol:ExternalNotes:Handler:12 !{{{ GetContext sol:ExternalNotes:Handler:12:GetContext ROUTINE zfIsOpen(sol::Id) !Make sure the file is open (else field ref is invalid) sol:ExternalNotes:Handler:12.NativeVal &= sol:ExternalNotes !Refresh buffer address in case its moved !}}} !}}} !{{{ zvTypeEdit - sol:DeliverOn:Handler:20 !{{{ GetContext sol:DeliverOn:Handler:20:GetContext ROUTINE sol:DeliverOn:Handler:20.SetContext(zvDate,ProtectDate,) !}}} !}}} !{{{ zvTypeEdit - sol:TheirPartNum:Handler:25 !{{{ GetContext sol:TheirPartNum:Handler:25:GetContext ROUTINE sol:TheirPartNum:Handler:25.SetContext(TheirPartType,TheirPartNumProtected,TheirPartContext) !}}} !}}} !{{{ zvTypeEdit - sol:WorksNotes:Handler:28 !{{{ GetContext sol:WorksNotes:Handler:28:GetContext ROUTINE zfIsOpen(sol::Id) !Make sure the file is open (else field ref is invalid) sol:WorksNotes:Handler:28.NativeVal &= sol:WorksNotes !Refresh buffer address in case its moved !}}} !}}} !{{{ zvTypeEdit - sol:enqExternalNotes:Handler:51 !{{{ GetContext sol:enqExternalNotes:Handler:51:GetContext ROUTINE zfIsOpen(sol::Id) !Make sure the file is open (else field ref is invalid) sol:enqExternalNotes:Handler:51.NativeVal &= sol:enqExternalNotes !Refresh buffer address in case its moved !}}} !}}} !{{{ zvTypeEdit - sol:ScheduleLog:Handler:53 !{{{ GetContext sol:ScheduleLog:Handler:53:GetContext ROUTINE zfIsOpen(sol::Id) !Make sure the file is open (else field ref is invalid) sol:ScheduleLog:Handler:53.NativeVal &= sol:ScheduleLog !Refresh buffer address in case its moved !}}} !}}} !{{{ zvTypeEdit - sol:ContractLine:Handler:14 !{{{ GetContext sol:ContractLine:Handler:14:GetContext ROUTINE sol:ContractLine:Handler:14.SetContext(,,RawContractRef) !}}} !}}} !{{{ zvTypeEdit - sol:DeliverOn:Handler:9 !{{{ GetContext sol:DeliverOn:Handler:9:GetContext ROUTINE sol:DeliverOn:Handler:9.SetContext(zvDate,sol:DeliveredOn,) !}}} !}}} !{{{ zvTypeEdit - sol:AcceptQty:Handler:19 !{{{ GetContext sol:AcceptQty:Handler:19:GetContext ROUTINE sol:AcceptQty:Handler:19.SetContext(,,OrderUnits) !}}} !}}} !{{{ zvTypeEdit - sol:MakeQty:Handler:64 !{{{ GetContext sol:MakeQty:Handler:64:GetContext ROUTINE sol:MakeQty:Handler:64.SetContext(,,OrderUnits) !}}} !}}} !{{{ zvTypeEdit - ActualMargin:Handler:67 !{{{ GetContext ActualMargin:Handler:67:GetContext ROUTINE ActualMargin:Handler:67.SetContext(zvPercent,ProtectPrice,) !}}} !}}} !{{{ zvTypeEdit - ActualDiscount:Handler:68 !{{{ GetContext ActualDiscount:Handler:68:GetContext ROUTINE ActualDiscount:Handler:68.SetContext(zvPercent,ProtectPrice,) !}}} !}}} !{{{ zvTypeEdit - sol:CostCentre:Handler:69 !{{{ GetContext sol:CostCentre:Handler:69:GetContext ROUTINE sol:CostCentre:Handler:69.SetContext(,,CostCentreContext) !}}} !}}} !{{{ zvTypeEdit - sol:Department:Handler:70 !{{{ GetContext sol:Department:Handler:70:GetContext ROUTINE sol:Department:Handler:70.SetContext(,,DepartmentContext) !}}} !}}} !{{{ zvTypeEdit - sol:ExternalNotes:Handler:24 !{{{ GetContext sol:ExternalNotes:Handler:24:GetContext ROUTINE zfIsOpen(sol::Id) !Make sure the file is open (else field ref is invalid) sol:ExternalNotes:Handler:24.NativeVal &= sol:ExternalNotes !Refresh buffer address in case its moved !}}} !}}} !{{{ zvTypeEdit - sol:ConsignmentQty:Handler:39 !{{{ GetContext sol:ConsignmentQty:Handler:39:GetContext ROUTINE sol:ConsignmentQty:Handler:39.SetContext(zvMeasure,ConsignmentProtect,) !}}} !}}} !{{{ zvTypeEdit - sol:ConsignmentNotes:Handler:41 !{{{ GetContext sol:ConsignmentNotes:Handler:41:GetContext ROUTINE zfIsOpen(sol::Id) !Make sure the file is open (else field ref is invalid) sol:ConsignmentNotes:Handler:41.NativeVal &= sol:ConsignmentNotes !Refresh buffer address in case its moved sol:ConsignmentNotes:Handler:41.SetContext(zvNotes,ConsignmentProtect,) !}}} !}}} !{{{ zvTypeEdit - OrderedQty:Handler:34 !{{{ GetContext OrderedQty:Handler:34:GetContext ROUTINE OrderedQty:Handler:34.SetContext(,sol:DeliveredOn,0) !}}} !}}} !{{{ zvTypeEdit - OrderedQty:Handler:65 !{{{ GetContext OrderedQty:Handler:65:GetContext ROUTINE OrderedQty:Handler:65.SetContext(,sol:DeliveredOn,0) !}}} !}}} !{{{ zvTypeEdit - UnitPrice:Handler:62 !{{{ GetContext UnitPrice:Handler:62:GetContext ROUTINE UnitPrice:Handler:62.SetContext(,ProtectPrice,0) !}}} !}}} !{{{ DatesHints:Handler - ActionButton DatesHints:ActionEarly ROUTINE !{{{ explain the date meaings gxMessage(| 'There are five dates associated with a sales line that affect how it is scheduled. They are:|'&| ' Taken On|'&| ' To Delivery On|'&| ' Promised Date|'&| ' Plan Start For|'&| ' Plan End For|'&| '|'&| 'The scheduler is given two dates:|'&| ' A start limit date|'&| ' A target date|'&| '|'&| 'When planning ASAP, the scheduler works forwards from the start limit date and calculates its'&| ' ''lateness'' relative to the target date. If the ASAP schedule is late and the start limit is'&| ' not ''now'', it''ll switch to JIT mode from the target date.|'&| '|'&| 'When planning JIT, the scheduler works backwards from the target date. If this fails, it then'&| ' starts again in ASAP mode with a start limit of ''now''.|'&| '|'&| 'Of the five dates in the sales line the ''active'' ones (those passed to the scheduler) are'&| ' determined as follows:|'&| ' Start limit|'&| ' if plan start for is set, use that, otherwise|'&| ' use the taken on date|'&| ' Target date|'&| ' if plan end for is set, use that, otherwise|'&| ' if promised date is set, use that, otherwise|'&| ' use to deliver on|'&| '|'&| 'Its important to note that dates and priorities are independent. Unless you use one of the'&| ' re-rank options in the re-scheduler, priorities are set on a ''first-come first-served'' basis.'&| ' Orders taken later have a lower priority than those taken earlier, unless you change them.',| 'Sales Line Schedule Dates') !}}} !}}} !}}} !{{{ Context demanded ROUTINEs !These are helper ROUTINEs provided on demand by the host procedure. !They just provide an interface, with conventional names, to other !ROUTINEs or methods in the procedure. !{{{ FormatTypes ROUTINE FormatTypes ROUTINE IF WindowHandler.FormatTypes() THEN ProcedureExit = TRUE; EXIT. !}}} !{{{ KeepChanges ROUTINE KeepChanges ROUTINE IF FormHandler.KeepChanges() = zwAction:Exit ProcedureExit = TRUE END !}}} !{{{ SaveHandler !{{{ SaveChanges ROUTINE SaveChanges ROUTINE IF SaveHandler.SaveChanges() = zwAction:Exit ProcedureExit = TRUE END !}}} !{{{ PrepareAction ROUTINE PrepareAction ROUTINE IF SaveHandler.PrepareAction() = zwAction:Exit ProcedureExit = TRUE END !}}} !}}} !}}} !{{{ AddFiles ROUTINE !Add all the files used by this window (if any). AddFiles ROUTINE DATA Checked EQUATE(TRUE) !AddFile P2 NoOpen EQUATE(TRUE) ! P3 NoSuspend EQUATE(TRUE) ! P4 NoNotify EQUATE(TRUE) ! P5 Notify EQUATE(FALSE) ! ..P5 NoAccess EQUATE(TRUE) ! P6 CODE windowHandler.AddFile(soh::Id,,,,) windowHandler.AddFile(sol::Id,Checked,,NoSuspend,) !}}} !{{{ local derived PROCEDURES !{{{ WindowHandler !{{{ WindowHandler.SetOptions PROCEDURE WindowHandler.SetOptions PROCEDURE CODE DO SetWindowOptions RETURN ProcedureExit !}}} !{{{ WindowHandler.AttachHandlers PROCEDURE WindowHandler.AttachHandlers PROCEDURE CODE DO AttachHandlers RETURN ProcedureExit !}}} !{{{ WindowHandler.PrepareHandlers PROCEDURE WindowHandler.PrepareHandlers PROCEDURE CODE DO PrepareHandlers RETURN ProcedureExit !}}} !{{{ WindowHandler.BeforeOpenFiles PROCEDURE WindowHandler.BeforeOpenFiles PROCEDURE CODE DO BeforeOpenFiles RETURN ProcedureExit !}}} !{{{ WindowHandler.AfterOpenFiles PROCEDURE WindowHandler.AfterOpenFiles PROCEDURE CODE DO AfterOpenFiles RETURN ProcedureExit !}}} !{{{ WindowHandler.BeforeAcceptLate PROCEDURE WindowHandler.BeforeAcceptLate PROCEDURE CODE DO BeforeAcceptLate RETURN ProcedureExit !}}} !{{{ WindowHandler.RefreshForced PROCEDURE WindowHandler.RefreshForced PROCEDURE CODE DO RefreshWindowForced RETURN ProcedureExit !}}} !{{{ WindowHandler.RefreshEarly PROCEDURE WindowHandler.RefreshEarly PROCEDURE CODE DO RefreshWindowEarly RETURN ProcedureExit !}}} !{{{ WindowHandler.RefreshLate PROCEDURE WindowHandler.RefreshLate PROCEDURE CODE DO RefreshWindowLate RETURN ProcedureExit !}}} !{{{ WindowHandler.EndOfProcedure PROCEDURE WindowHandler.EndOfProcedure PROCEDURE CODE DO EndOfProcedure RETURN ProcedureExit !}}} !}}} !{{{ FormHandler !NB: The form handler is concerned with USE() variables, not control FEQs. ! This means if the same variable is being used by several controls, it ! will only appear here once. If more than one are populated in the IDE ! the extras will appear as orphans. !{{{ ActualDiscountStr ActualDiscountStr:Field.OnChange PROCEDURE CODE DO ActualDiscountStr:OnChange RETURN ProcedureExit !}}} !{{{ ActualMarginStr ActualMarginStr:Field.OnChange PROCEDURE CODE DO ActualMarginStr:OnChange RETURN ProcedureExit !}}} !{{{ ConsignmentNotes ConsignmentNotes:Field.RefreshVars PROCEDURE CODE ConsignmentNotes:Field.AddVar(1,sol:ConsignmentNotes) RETURN FALSE !}}} !{{{ ContractLine ContractLine:Field.OnChange PROCEDURE CODE DO ContractLine:OnChange RETURN ProcedureExit !}}} !{{{ ContractRef ContractRef:Field.OnChange PROCEDURE CODE DO ContractRef:OnChange RETURN ProcedureExit !}}} !{{{ DeliverOn DeliverOn:Field.OnChange PROCEDURE CODE DO DeliverOn:OnChange RETURN ProcedureExit !}}} !{{{ EnquiryLineNotes EnquiryLineNotes:Field.RefreshVars PROCEDURE CODE EnquiryLineNotes:Field.AddVar(1,sol:enqExternalNotes) RETURN FALSE !}}} !{{{ ExternalNotes ExternalNotes:Field.RefreshVars PROCEDURE CODE ExternalNotes:Field.AddVar(1,sol:ExternalNotes) RETURN FALSE !}}} !{{{ InternalNotes InternalNotes:Field.RefreshVars PROCEDURE CODE InternalNotes:Field.AddVar(1,sol:InternalNotes) RETURN FALSE !}}} !{{{ LineIsDispatched LineIsDispatched:Field.OnChange PROCEDURE CODE DO LineIsDispatched:OnChange RETURN ProcedureExit !}}} !{{{ LineIsInvoiced LineIsInvoiced:Field.OnChange PROCEDURE CODE DO LineIsInvoiced:OnChange RETURN ProcedureExit !}}} !{{{ LocalsoAutoInheritContract LocalsoAutoInheritContract:Field.OnAcceptEarly PROCEDURE CODE DO LocalsoAutoInheritContract:OnAcceptEarly RETURN ProcedureExit !}}} !{{{ LocalsoAutoInheritQuote LocalsoAutoInheritQuote:Field.OnAcceptEarly PROCEDURE CODE DO LocalsoAutoInheritQuote:OnAcceptEarly RETURN ProcedureExit !}}} !{{{ OrderedQty OrderedQty:Field.OnAcceptLate PROCEDURE CODE DO OrderedQty:OnAcceptLate RETURN ProcedureExit OrderedQty:Field.OnChange PROCEDURE CODE DO OrderedQty:OnChange RETURN ProcedureExit !}}} !{{{ OurPartNum OurPartNum:Field.OnChange PROCEDURE CODE DO OurPartNum:OnChange RETURN ProcedureExit !}}} !{{{ QuoteLine QuoteLine:Field.OnChange PROCEDURE CODE DO QuoteLine:OnChange RETURN ProcedureExit !}}} !{{{ QuoteRef QuoteRef:Field.OnChange PROCEDURE CODE DO QuoteRef:OnChange RETURN ProcedureExit !}}} !{{{ SelectViaOurPartNum SelectViaOurPartNum:Field.OnChange PROCEDURE CODE DO SelectViaOurPartNum:OnChange RETURN ProcedureExit !}}} !{{{ SelectViaTheirPartNum SelectViaTheirPartNum:Field.OnChange PROCEDURE CODE DO SelectViaTheirPartNum:OnChange RETURN ProcedureExit !}}} !{{{ SetDispatched SetDispatched:Field.OnChange PROCEDURE CODE DO SetDispatched:OnChange RETURN ProcedureExit !}}} !{{{ SetInvoiced SetInvoiced:Field.OnChange PROCEDURE CODE DO SetInvoiced:OnChange RETURN ProcedureExit !}}} !{{{ TheirPartNum TheirPartNum:Field.OnChange PROCEDURE CODE DO TheirPartNum:OnChange RETURN ProcedureExit !}}} !{{{ UnitPrice UnitPrice:Field.OnChange PROCEDURE CODE DO UnitPrice:OnChange RETURN ProcedureExit !}}} !{{{ WorksNotes WorksNotes:Field.OnAcceptEarly PROCEDURE CODE DO WorksNotes:OnAcceptEarly RETURN ProcedureExit WorksNotes:Field.RefreshVars PROCEDURE CODE WorksNotes:Field.AddVar(1,sol:WorksNotes) RETURN FALSE !}}} !{{{ sol:CancelledOn sol:CancelledOn:Field.OnChange PROCEDURE CODE DO sol:CancelledOn:OnChange RETURN ProcedureExit !}}} !{{{ sol:DeliveredOn sol:DeliveredOn:Field.OnChange PROCEDURE CODE DO sol:DeliveredOn:OnChange RETURN ProcedureExit !}}} !{{{ sol:Edited sol:Edited:Field.OnChange PROCEDURE CODE DO sol:Edited:OnChange RETURN ProcedureExit !}}} !{{{ sol:InvoicedOn sol:InvoicedOn:Field.OnChange PROCEDURE CODE DO sol:InvoicedOn:OnChange RETURN ProcedureExit !}}} !}}} !{{{ DIY buttons !{{{ Design:Handler - DIY button Design:Handler.ActionAllow PROCEDURE CODE DO Design:ActionAllow IF ProcedureExit THEN self.ReturnAction = zwAction:Break. RETURN self.ReturnAction !}}} !{{{ UpdateCustWorksNotes:Handler - DIY button UpdateCustWorksNotes:Handler.ActionAllow PROCEDURE CODE DO UpdateCustWorksNotes:ActionAllow IF ProcedureExit THEN self.ReturnAction = zwAction:Break. RETURN self.ReturnAction !}}} !{{{ UpdateEnqLineNotes:Handler - DIY button UpdateEnqLineNotes:Handler.ActionAllow PROCEDURE CODE DO UpdateEnqLineNotes:ActionAllow IF ProcedureExit THEN self.ReturnAction = zwAction:Break. RETURN self.ReturnAction !}}} !{{{ SetQuote:Handler - DIY button SetQuote:Handler.ActionAllow PROCEDURE CODE DO SetQuote:ActionAllow IF ProcedureExit THEN self.ReturnAction = zwAction:Break. RETURN self.ReturnAction !}}} !{{{ SetContract:Handler - DIY button SetContract:Handler.ActionAllow PROCEDURE CODE DO SetContract:ActionAllow IF ProcedureExit THEN self.ReturnAction = zwAction:Break. RETURN self.ReturnAction !}}} !{{{ UpdatePriceNow:Handler - DIY button UpdatePriceNow:Handler.ActionAllow PROCEDURE CODE DO UpdatePriceNow:ActionAllow IF ProcedureExit THEN self.ReturnAction = zwAction:Break. RETURN self.ReturnAction !}}} !{{{ ReCost:Handler - DIY button ReCost:Handler.ActionAllow PROCEDURE CODE DO ReCost:ActionAllow IF ProcedureExit THEN self.ReturnAction = zwAction:Break. RETURN self.ReturnAction !}}} !{{{ History:Handler - DIY button History:Handler.ActionAllow PROCEDURE CODE DO History:ActionAllow IF ProcedureExit THEN self.ReturnAction = zwAction:Break. RETURN self.ReturnAction !}}} !}}} !{{{ SaveHandler !{{{ GetContext SaveHandler.GetContext PROCEDURE CODE DO SaveHandler:GetContext RETURN zwAction:Continue !}}} !{{{ Prepared SaveHandler.Prepared PROCEDURE CODE DO SaveHandler:Prepared IF ProcedureExit THEN RETURN zwAction:Exit ELSE RETURN SaveHandler:Action. !}}} !{{{ ReserveLate SaveHandler.ReserveLate PROCEDURE CODE DO SaveHandler:ReserveLate IF ProcedureExit THEN RETURN zwAction:Exit ELSE RETURN SaveHandler:Action. !}}} !{{{ InsertLate SaveHandler.InsertLate PROCEDURE CODE DO SaveHandler:InsertLate IF ProcedureExit THEN RETURN zwAction:Exit ELSE RETURN SaveHandler:Action. !}}} !{{{ ChangeEarly SaveHandler.ChangeEarly PROCEDURE CODE DO SaveHandler:ChangeEarly IF ProcedureExit THEN RETURN zwAction:Exit ELSE RETURN SaveHandler:Action. !}}} !{{{ ChangeLate SaveHandler.ChangeLate PROCEDURE CODE DO SaveHandler:ChangeLate IF ProcedureExit THEN RETURN zwAction:Exit ELSE RETURN SaveHandler:Action. !}}} !{{{ DeleteLate SaveHandler.DeleteLate PROCEDURE CODE DO SaveHandler:DeleteLate IF ProcedureExit THEN RETURN zwAction:Exit ELSE RETURN SaveHandler:Action. !}}} !{{{ CompletedEarly SaveHandler.CompletedEarly PROCEDURE CODE DO SaveHandler:CompletedEarly IF ProcedureExit THEN RETURN zwAction:Exit ELSE RETURN SaveHandler:Action. !}}} !}}} !{{{ Schedule:Handler - FormButton Schedule:Handler.ActionEarly PROCEDURE CODE DO Schedule:ActionEarly RETURN ProcedureExit !}}} !{{{ Dispatches:Handler - FormButton Dispatches:Handler.ActionEarly PROCEDURE CODE DO Dispatches:ActionEarly RETURN ProcedureExit !}}} !{{{ Invoices:Handler - FormButton Invoices:Handler.ActionEarly PROCEDURE CODE DO Invoices:ActionEarly RETURN ProcedureExit !}}} !{{{ Trace:Handler - FormButton Trace:Handler.ActionEarly PROCEDURE CODE DO Trace:ActionEarly RETURN ProcedureExit !}}} !{{{ ReSchedule:Handler - FormButton ReSchedule:Handler.ActionAllow PROCEDURE CODE DO ReSchedule:ActionAllow IF ProcedureExit THEN self.ReturnAction = zwAction:Break. RETURN self.ReturnAction ReSchedule:Handler.ActionEarly PROCEDURE CODE DO ReSchedule:ActionEarly RETURN ProcedureExit !}}} !{{{ Events:Handler - FormButton Events:Handler.ActionEarly PROCEDURE CODE DO Events:ActionEarly RETURN ProcedureExit !}}} !{{{ RaiseTender:Handler - FormButton RaiseTender:Handler.ActionEarly PROCEDURE CODE DO RaiseTender:ActionEarly RETURN ProcedureExit !}}} !{{{ Action:Handler - FormButton Action:Handler.ActionEarly PROCEDURE CODE DO Action:ActionEarly RETURN ProcedureExit !}}} !{{{ AddAllOutputs:Handler - FormButton AddAllOutputs:Handler.ActionEarly PROCEDURE CODE DO AddAllOutputs:ActionEarly RETURN ProcedureExit !}}} !{{{ ReplaceByAllOutputs:Handler - FormButton ReplaceByAllOutputs:Handler.ActionEarly PROCEDURE CODE DO ReplaceByAllOutputs:ActionEarly RETURN ProcedureExit !}}} !{{{ AddContainer:Handler - FormButton AddContainer:Handler.ActionEarly PROCEDURE CODE DO AddContainer:ActionEarly RETURN ProcedureExit !}}} !{{{ ReplaceAllOutputsByC:Handler - FormButton ReplaceAllOutputsByC:Handler.ActionEarly PROCEDURE CODE DO ReplaceAllOutputsByC:ActionEarly RETURN ProcedureExit !}}} !{{{ BarChart:Handler - FormButton BarChart:Handler.ActionEarly PROCEDURE CODE DO BarChart:ActionEarly RETURN ProcedureExit !}}} !{{{ DispatchSchedule:Handler - FormButton DispatchSchedule:Handler.ActionEarly PROCEDURE CODE DO DispatchSchedule:ActionEarly RETURN ProcedureExit !}}} !{{{ InvoiceSchedule:Handler - FormButton InvoiceSchedule:Handler.ActionEarly PROCEDURE CODE DO InvoiceSchedule:ActionEarly RETURN ProcedureExit !}}} !{{{ WizardAdd:Handler - FormButton WizardAdd:Handler.ActionEarly PROCEDURE CODE DO WizardAdd:ActionEarly RETURN ProcedureExit !}}} !{{{ WizardEdit:Handler - FormButton WizardEdit:Handler.ActionEarly PROCEDURE CODE DO WizardEdit:ActionEarly RETURN ProcedureExit !}}} !{{{ zvTypeEdit - sol:QuoteLine:Handler:6 !{{{ GetContext sol:QuoteLine:Handler:6.GetContext PROCEDURE CODE DO sol:QuoteLine:Handler:6:GetContext RETURN zwAction:Continue !}}} !}}} !{{{ zvTypeEdit - sol:OurPartNum:Handler:7 !{{{ GetContext sol:OurPartNum:Handler:7.GetContext PROCEDURE CODE DO sol:OurPartNum:Handler:7:GetContext RETURN zwAction:Continue !}}} !}}} !{{{ zvTypeEdit - sol:InternalNotes:Handler:11 !{{{ GetContext sol:InternalNotes:Handler:11.GetContext PROCEDURE CODE DO sol:InternalNotes:Handler:11:GetContext RETURN zwAction:Continue !}}} !}}} !{{{ zvTypeEdit - sol:ExternalNotes:Handler:12 !{{{ GetContext sol:ExternalNotes:Handler:12.GetContext PROCEDURE CODE DO sol:ExternalNotes:Handler:12:GetContext RETURN zwAction:Continue !}}} !}}} !{{{ zvTypeEdit - sol:DeliverOn:Handler:20 !{{{ GetContext sol:DeliverOn:Handler:20.GetContext PROCEDURE CODE DO sol:DeliverOn:Handler:20:GetContext RETURN zwAction:Continue !}}} !}}} !{{{ zvTypeEdit - sol:TheirPartNum:Handler:25 !{{{ GetContext sol:TheirPartNum:Handler:25.GetContext PROCEDURE CODE DO sol:TheirPartNum:Handler:25:GetContext RETURN zwAction:Continue !}}} !}}} !{{{ zvTypeEdit - sol:WorksNotes:Handler:28 !{{{ GetContext sol:WorksNotes:Handler:28.GetContext PROCEDURE CODE DO sol:WorksNotes:Handler:28:GetContext RETURN zwAction:Continue !}}} !}}} !{{{ zvTypeEdit - sol:enqExternalNotes:Handler:51 !{{{ GetContext sol:enqExternalNotes:Handler:51.GetContext PROCEDURE CODE DO sol:enqExternalNotes:Handler:51:GetContext RETURN zwAction:Continue !}}} !}}} !{{{ zvTypeEdit - sol:ScheduleLog:Handler:53 !{{{ GetContext sol:ScheduleLog:Handler:53.GetContext PROCEDURE CODE DO sol:ScheduleLog:Handler:53:GetContext RETURN zwAction:Continue !}}} !}}} !{{{ zvTypeEdit - sol:ContractLine:Handler:14 !{{{ GetContext sol:ContractLine:Handler:14.GetContext PROCEDURE CODE DO sol:ContractLine:Handler:14:GetContext RETURN zwAction:Continue !}}} !}}} !{{{ zvTypeEdit - sol:DeliverOn:Handler:9 !{{{ GetContext sol:DeliverOn:Handler:9.GetContext PROCEDURE CODE DO sol:DeliverOn:Handler:9:GetContext RETURN zwAction:Continue !}}} !}}} !{{{ zvTypeEdit - sol:AcceptQty:Handler:19 !{{{ GetContext sol:AcceptQty:Handler:19.GetContext PROCEDURE CODE DO sol:AcceptQty:Handler:19:GetContext RETURN zwAction:Continue !}}} !}}} !{{{ zvTypeEdit - sol:MakeQty:Handler:64 !{{{ GetContext sol:MakeQty:Handler:64.GetContext PROCEDURE CODE DO sol:MakeQty:Handler:64:GetContext RETURN zwAction:Continue !}}} !}}} !{{{ zvTypeEdit - ActualMargin:Handler:67 !{{{ GetContext ActualMargin:Handler:67.GetContext PROCEDURE CODE DO ActualMargin:Handler:67:GetContext RETURN zwAction:Continue !}}} !}}} !{{{ zvTypeEdit - ActualDiscount:Handler:68 !{{{ GetContext ActualDiscount:Handler:68.GetContext PROCEDURE CODE DO ActualDiscount:Handler:68:GetContext RETURN zwAction:Continue !}}} !}}} !{{{ zvTypeEdit - sol:CostCentre:Handler:69 !{{{ GetContext sol:CostCentre:Handler:69.GetContext PROCEDURE CODE DO sol:CostCentre:Handler:69:GetContext RETURN zwAction:Continue !}}} !}}} !{{{ zvTypeEdit - sol:Department:Handler:70 !{{{ GetContext sol:Department:Handler:70.GetContext PROCEDURE CODE DO sol:Department:Handler:70:GetContext RETURN zwAction:Continue !}}} !}}} !{{{ zvTypeEdit - sol:ExternalNotes:Handler:24 !{{{ GetContext sol:ExternalNotes:Handler:24.GetContext PROCEDURE CODE DO sol:ExternalNotes:Handler:24:GetContext RETURN zwAction:Continue !}}} !}}} !{{{ zvTypeEdit - sol:ConsignmentQty:Handler:39 !{{{ GetContext sol:ConsignmentQty:Handler:39.GetContext PROCEDURE CODE DO sol:ConsignmentQty:Handler:39:GetContext RETURN zwAction:Continue !}}} !}}} !{{{ zvTypeEdit - sol:ConsignmentNotes:Handler:41 !{{{ GetContext sol:ConsignmentNotes:Handler:41.GetContext PROCEDURE CODE DO sol:ConsignmentNotes:Handler:41:GetContext RETURN zwAction:Continue !}}} !}}} !{{{ zvTypeEdit - OrderedQty:Handler:34 !{{{ GetContext OrderedQty:Handler:34.GetContext PROCEDURE CODE DO OrderedQty:Handler:34:GetContext RETURN zwAction:Continue !}}} !}}} !{{{ zvTypeEdit - OrderedQty:Handler:65 !{{{ GetContext OrderedQty:Handler:65.GetContext PROCEDURE CODE DO OrderedQty:Handler:65:GetContext RETURN zwAction:Continue !}}} !}}} !{{{ zvTypeEdit - UnitPrice:Handler:62 !{{{ GetContext UnitPrice:Handler:62.GetContext PROCEDURE CODE DO UnitPrice:Handler:62:GetContext RETURN zwAction:Continue !}}} !}}} !{{{ DatesHints:Handler - ActionButton DatesHints:Handler.ActionEarly PROCEDURE CODE DO DatesHints:ActionEarly RETURN ProcedureExit !}}} !}}} !}}}