Hello, how can I achieve a dual body Invoice ? On repeating the collection over the right Line/part The Items are duplicated, Any way I can continue the Items on the right side from the left and onto the next page without duplicating? Using Page break is not helping. Code: [#Form: SV Print Config] Option:Plmbttn:@@InvSimple And @@IsSales Or @@IsSalesOrder AND @@InvSimple [!Form:Plmbttn] Add: Button:At Beginning:Plmbinvbttn [Button: Plmbinvbttn] Key : Alt+P Action : Set : SVPlmbInv : NOT ##SVPlmbInv Title : if ##SVPlmbInv then $$LocaleString:"Normal" else $$LocaleString:"Dual Body" Inactive : NOT @@SVPixelMode [System: Variable] SVPlmbInv : No [Variable: SVPlmbInv] Type : Logical Persistent : Yes [#Form : Simple Printed Invoice] Option:PlmbSwitch: @@IsSales AND ##SVplmbinv or @@IsSalesOrder AND ##SVplmbinv [!Form :PlmbSwitch] Delete : Parts Delete : Bottom Parts Delete : PageBreak Space Bottom: 0.8 cm Space Left : 0.8 cm Space Right : 0.8 cm Add : Parts : PLMBINVTop Add : Parts : PLMBINVBody Add : Bottom Parts : PLMBINVBottom [Part : PLMBINVTop] Lines :PLMBINVTitle,PLMBINVVCHDate;,PLMBINVColumnTitles ;Repeat : PLMBINVPartyAdd1 : PartyAddress Space Bottom: 0.7 cm Space Left : 0.8 cm Space Right : 0.8 cm Space Top : 0.7 cm [Line :PLMBINVTitle] Field:PLMBINVTitle [Field : PLMBINVTitle] Use : Name Field Set as : "Estimate" FullWidth : Yes Align : Centre [Line: PLMBINVVCHDate] Fields : Short Prompt, PLMBINVPartyName Right Fields: Name field, PLMBINVVCHDate Local : Field: Short Prompt : Set as : "Party : " Local : Field: Short Prompt : Width : 7 Local : Field: Name field : Set as : "Date: " Local : Field: Name Field : Width : @@DueDateWidth [Field: PLMBINVVCHDate] Use : Short Date Field Set as : $Date Width : 9 [Field: PLMBINVPartyName] Use : Name Field Set as : $PartyLedgerName [Line: PLMBINVColumn Titles] Use : PLMDetailsLeft Local: Field: Default : Align : Center Local: Field: Default : Lines : 2 Local: Field: Default : Type : String Local: Field: Default : Style : Normal Bold ;Local: Field: PLMSrNo : Set as : "Sr No" Local: Field: PLMLSiName : Set as : "Particulars" Local: Field: PLMLQty : Set as : "Quantity" Local: Field: PLMLRate : Set as : "Rate" ;Local: Field: PLMDiscount : Set as : "Disc Amt" Local: Field: PLMLAmount : Set as : "Amount" Border : Column Titles [Part: PLMBINVBody] Parts : PLMDetails;, PLMLE Details ;Right Parts : PLMDetails2 Vertical : Yes Scroll:Flow ;Common Border: Yes Space Left :0.8 cm Space Right :0.8 cm [Part: PLMDetails] Left Part : PLMDetailsleft Right Part : Plmdetailsright [Part : PLMDetailsleft] Line : PLMBINVColumnTitles,PLMDetailsLeft Repeat : PLMDetailsLeft : Inventory Entries ;Repeat : PLMDetails : Inventory Entries Total : PLMQty, PLMAmount Page Break : DSP ClPageBreak /* Break : $$NumItems:iNVENTORYENTRIES < 8 Page Break :PlMBRK*/ [Line: PLMDetailsLeft] Fields : PLMLSiName,PLMLQty, PLMLRate, PLMLAmount ;Right Fields: PLMLSiName ,PLMLQty, PLMLRate, PLMLAmount /* [Field: PLMLSrNo] Use : Short Name Field Set as : $$Line Border : Thin Left Width : 0.5 cm*/ [Field: PLMLSIName] Use : Name Field Set as : $StockItemName Border : Thin Left FullWIdth : Yes Width : 6 CM [Field: PLMLQty] Use : Number Field Set as : $BilledQty Border : Thin Left Format : "NoSymbol" Align : Right Width : 2.8 CM [Field: PLMLRate] Use : Rate Price Field Set as : $Rate Border : Thin Left Width : 3.5 CM /* [Field: PLMLDiscount] Use : Amount Forex Field Set as : $$AsAmount:$Discount Border : Thin Left*/ [Field: PLMLAmount] Use : Amount Field Set as : $Amount Border : Thin Left Right Format : "NoComma, NoZero" Width : 3.5 cm [Part : PLMDetailsright] Line : PLMBINVColumnTitles,PLMDetailsright Repeat : PLMDetailsright : Inventory Entries Total : PLMQty, PLMAmount /* Break : $$NumItems:iNVENTORYENTRIES < 8 Page Break :PlMBRK*/ [Line: PLMDetailsright] Fields : PLMRSiName,PLMRQty, PLMRRate, PLMRAmount Remove if : #PLMLSIName = $StockItemName ;Right Fields: PLMRSiName ,PLMRQty, PLMRRate, PLMRAmount /* [Field: PLMRSrNo] Use : Short Name Field Set as : $$Line Border : Thin Left Width : 0.5 cm*/ [Field: PLMRSIName] Use : Name Field Set as : $StockItemName Border : Thin Left FullWIdth : Yes Width : 6 CM [Field: PLMRQty] Use : Number Field Set as : $BilledQty Border : Thin Left Format : "NoSymbol" Align : Right Width : 2.8 CM [Field: PLMRRate] Use : Rate Price Field Set as : $Rate Border : Thin Left Width : 3.5 CM /* [Field: PLMRDiscount] Use : Amount Forex Field Set as : $$AsAmount:$Discount Border : Thin Left*/ [Field: PLMRAmount] Use : Amount Field Set as : $Amount Border : Thin Left Right Format : "NoComma, NoZero" Width : 3.5 cm [Part: PLMBInvBottom] Lines : PLMBTotal Line Common Borders:Yes [Line: PLMBTotal Line] Use : PLMDetailsleft Local: Field: Default : Style : Normal Bold Local: Field: PLMLSrNo : Set as : "" Local: Field: PLMLSiName : Set as : "Totals" Local: Field: PLMLQty : Set as : $$Total:PLMLQty Local: Field: PLMLRate : Set as : "" ;Local: Field: IE Discount : Set as : $$Total:IEDiscount Local: Field: PLMLAmount : Set as : $$Total:PLMLAmount Border : Totals [Part: PlMBRK] Line : PlMBRK [Line: PlMBRK] Right Field : PlMBRK [Field: PlMBRK] Set As : "Continued.........."
No experts have any Idea? I have tried using "remove if" at the line level, but that too isn't working.
It won't be possible, coz when you define left side and right side, it is a separate Part and hence the cycle will be from beginning as per the collection.
is there a way we can start a collection at a specific number of object? This way we can omit the data already repeated in previous parts.
As far as my limited knowledge goes, I think not. Let other experts have their say, if they know a way.