Dear Amit, I am not criticizing you. You are doing a good job. I want to ask you only one question. Why are you posting your new developments in Free Source Codes Section, and there will be no source codes? By asking this question you may think that I also want codes. Just a question. Pawan
well there are 3 section....developers, requests and free source........ so i select any one...... lately i am selecting free source...as they have more traffic....... so more people can see........ get ideas and then make on their own........if they want to or care to make one............ there are no hard bound rules..... that free source means free codes, or requests is for requests only...... the lines have been blurred.........and I am just selecting randomly.
You are correct, there is no bound rules. But the best will be Knowledge Base Because you are sharing your knowledge. As far as traffic is concern, people will follow the section where they see your post. My thinking. May be I am wrong.
Knowledge Base -- is not about TDL modules......... it covers new updates, releases, new methods, new structures etc in connection with the Tally developer environment. (TDE) I've deleted or moved -- most of the threads and posts -- of past which were not connected with core Developer issues. There are still some, but old.
for Learners and Developers.......... This is a BARE-BONE skeleton structure...........fill up the relevant details like formulas, UDFs, formatting etc. You can make it and design it as per your needs/requirements and skillsets. Code: [#Menu : Gateway of Tally] Key Item : Target Versus Achieved : G : Display : VR : NOT $$IsEmpty:$$SelectedCmps ;;***************************************************************************************************** ;;******************* STOCK ITEM TARGET DATABASE IN MASTER ******************************************** ;;***************************************************************************************************** [#Part : STKI Parent] Add : Line : At End : TargetSet [Line : TargetSet] Field : Short Prompt, TargetSet Local : Field : Short Prompt : Set as : "Set Dispatch Target" Local : Field : Short Prompt : Width : @@ShortNameWidth [Field : TargetSet] Use : Logical Field Set as : If $$IsEmpty:$$Value then "No" else $$Value Set always : Yes Subform : VRTargetApplicable : $$Value = "Yes" [Report : VRTargetApplicable] Form : VRTargetApplicable Object : Company [Form : VRTargetApplicable] Parts : VRTrgtAppTitle1, VRTrgtAppTitle2, VRTrgtAppTitle3, VRTrgtAppTitle4, VRTargetApplicable Space Top : 1 Space Bottom : 1 Space Left : 1 Space Right : 1 Height : 75% Screen Width : 40% Screen [Part : VRTrgtAppTitle1] Line : VRTrgtAppTitle1 [Line : VRTrgtAppTitle1] Field : VRTrgtAppTitleFld1 Space Bottom : .25 [Field : VRTrgtAppTitleFld1] Use : Name Field Set As : "Target Quantity for : " + $StockitemName Full Width : Yes Align : Centre Style : Normal Bold Skip : Yes [Part : VRTrgtAppTitle2] Line : VRTrgtAppTitle2 [Line : VRTrgtAppTitle2] Field : VRTrgtAppTitleFld2 Space Bottom : 1 [Field : VRTrgtAppTitleFld2] Use : Name Field Set As : "Base Measurement Unit is : '" + $BaseUnits + "'" Full Width : Yes Align : Centre Style : Normal Bold Skip : Yes [Part : VRTrgtAppTitle3] Line : VRTrgtAppTitle3 [Line : VRTrgtAppTitle3] Field : VRTrgtAppMonthFrom, VRTrgtAppMonthTo, VRTrgtAppMonthQTY [Field : VRTrgtAppMonthFrom] Use : Name Field Set As : "Applicable" Align : Centre Skip : Yes [Field : VRTrgtAppMonthTo] Use : Name Field Set As : "Applicable" Align : Centre Skip : Yes [Field : VRTrgtAppMonthQTY] Use : VRTrgtAppMonthFrom Set As : "Target Quantity" [Part : VRTrgtAppTitle4] Line : VRTrgtAppTitle4 [Line : VRTrgtAppTitle4] Field : VRTrgtAppMonthFrom, VRTrgtAppMonthTo, VRTrgtAppMonthQTY Local : Field : VRTrgtAppMonthFrom : Set As : "From" Local : Field : VRTrgtAppMonthTo : Set As : "Upto" Local : Field : VRTrgtAppMonthQTY : Set As : "(Monthly Basis)" Local : Field : VRTrgtAppMonthQTY : Style : Tiny Bold Italic Space Bottom : .5 [Part : VRTargetApplicable] Lines : TrgtAppRestart Repeat : TrgtAppRestart : VRTrgtDateA Break On : $$IsEmpty:#TrgtAppDateFrom Scroll : Vertical [Line : TrgtAppRestart] Field : TrgtAppDateFrom, TrgtAppDateTo, TrgtQuantity [Field : TrgtAppDateFrom] Use : Uni Date Field Set as : $$Value ;â–º Use conditional value here Set Always : Yes Storage : VRTrgtDateFrom Control : ;â–º Use Controlled parameters here Align : Centre [Field : TrgtAppDateTo] Use : Uni Date Field Set as : ;â–º Compute your date here Storage : VRTrgtDateTo Align : Centre Skip : Yes [Field : TrgtQuantity] Use : Number Field Storage : VRTrgtQty ; Set as : 1 Align : Centre Skip : $$IsEmpty:#TrgtAppDateFrom [System : UDF] VRTrgtDateA : ;â–º Specify UDF details VRTrgtDateFrom : ;â–º Specify UDF details VRTrgtDateTo : ;â–º Specify UDF details VRTrgtQty : ;â–º Specify UDF details ;;***************************************************************************************************** ;;******************* REPORT TITLE ******************************************************************** ;;***************************************************************************************************** [Report : VR] Use : DSP Template Form : VR Title : "Month Wise Sales Variance Report" PrintSet : Report Title : "Month Wise Item Wise Total Target Versus Achieved" Variable : SV Print Orientation : String Variable : SVFromDate, SVToDate Set : SVFromDate : $$FinYearBeg:##SVCurrentDate:$StartingFrom:Company:##SVCurrentCompany Set : SVToDate : $LastVoucherDate:Company:##SVCurrentCompany [Form : VR] Use : DSP Template Parts : VRMainTitle, VRMain Delete : Buttons : ExplodeFlag Delete : Bottom Buttons : DSPAutoColumns, BudgetAnalysis, ReportConfig Button : Print Button, Export Button Set Always : SV Print Orientation : "Landscape" Bottom Toolbar Buttons : BottomToolBarBtn8, BottomToolBarBtn9, BottomToolBarBtn10 Space Top : 0 [Part : VRMainTitle] Line : VRMainTitle Space Bottom: 0.1 [Line : VRMainTitle] Field : Simple Field Right Field : Name Field Local : Field : Name Field : Info : @@DSPDateStr Local : Field : Simple Field : Info : "MonthWise Sales Variance Report (Dispatch against Target)" ;;***************************************************************************************************** ;;******************* REPORT TITLES ******************************************************************* ;;***************************************************************************************************** [Part : VRMain] Part : VRBodyTitles, VRBody Vertical : Yes [Part : VRBodyTitles] Lines : VRT [Line : VRT] Fields : VRItemStrT, VRSubTStrT, TotalDateStrT, AprDateStrT, MayDateStrT, JunDateStrT, JulDateStrT, + AugDateStrT, SepDateStrT, OctDateStrT, NovDateStrT, DecDateStrT, JanDateStrT, FebDateStrT, MarDateStrT, Local : Field : Default : Align : Centre Local : Field : Default : Style : Small Bold Local : Field : VRItemStrT : Set as : "Stock Item Name" Local : Field : VRSubTStrT : Set as : "Sub-Titles" Local : Field : AprDateStrT : Set as : "Apr-" + $$String:@@VRYearBeg Local : Field : MayDateStrT : Set as : "May-" + $$String:@@VRYearBeg Local : Field : JunDateStrT : Set as : "Jun-" + $$String:@@VRYearBeg Local : Field : JulDateStrT : Set as : "Jul-" + $$String:@@VRYearBeg Local : Field : AugDateStrT : Set as : "Aug-" + $$String:@@VRYearBeg Local : Field : SepDateStrT : Set as : "Sep-" + $$String:@@VRYearBeg Local : Field : OctDateStrT : Set as : "Oct-" + $$String:@@VRYearBeg Local : Field : NovDateStrT : Set as : "Nov-" + $$String:@@VRYearBeg Local : Field : DecDateStrT : Set as : "Dec-" + $$String:@@VRYearBeg Local : Field : JanDateStrT : Set as : "Jan-" + $$String:@@VRYearEnd Local : Field : FebDateStrT : Set as : "Feb-" + $$String:@@VRYearEnd Local : Field : MarDateStrT : Set as : "Mar-" + $$String:@@VRYearEnd Local : Field : TotalDateStrT : Set as : "TOTAL" Local : Field : TotalDateStrT : Border : Thin Left Local : Field : TotalDateStrT : Widespaced: Yes Border : column Titles [Field : VRItemStrT] Use : Name Field [Field : VRSubTStrT] Use : Name Field [Field : VRStrDefaultT] Use : Name Field Style : Small Format : "No Zero" Align : Centre Border : Thin Left Right [Field : AprDateStrT] Use : VRStrDefaultT [Field : MayDateStrT] Use : VRStrDefaultT [Field : JunDateStrT] Use : VRStrDefaultT [Field : JulDateStrT] Use : VRStrDefaultT [Field : AugDateStrT] Use : VRStrDefaultT [Field : SepDateStrT] Use : VRStrDefaultT [Field : OctDateStrT] Use : VRStrDefaultT [Field : NovDateStrT] Use : VRStrDefaultT [Field : DecDateStrT] Use : VRStrDefaultT [Field : JanDateStrT] Use : VRStrDefaultT [Field : FebDateStrT] Use : VRStrDefaultT [Field : MarDateStrT] Use : VRStrDefaultT [Field : TotalDateStrT] Use : VRStrDefaultT [System : Formula] VRYearBeg : $$Number:$$YearOfDate:##SVFromDate VRYearEnd : $$Number:$$YearOfDate:##SVFromDate + 1 AprString : "01-" + "Apr-" + "-" + $$String:@@VRYearBeg AprDateStr : $$Date:@@AprString MayString : "01-" + "May-" + "-" + $$String:@@VRYearBeg MayDateStr : $$Date:@@MayString JunString : "01-" + "Jun-" + "-" + $$String:@@VRYearBeg JunDateStr : $$Date:@@JunString JulString : "01-" + "Jul-" + "-" + $$String:@@VRYearBeg JulDateStr : $$Date:@@JulString AugString : "01-" + "Aug-" + "-" + $$String:@@VRYearBeg AugDateStr : $$Date:@@AugString SepString : "01-" + "Sep-" + "-" + $$String:@@VRYearBeg SepDateStr : $$Date:@@SepString OctString : "01-" + "Oct-" + "-" + $$String:@@VRYearBeg OctDateStr : $$Date:@@OctString NovString : "01-" + "Nov-" + "-" + $$String:@@VRYearBeg NovDateStr : $$Date:@@NovString DecString : "01-" + "Dec-" + "-" + $$String:@@VRYearBeg DecDateStr : $$Date:@@DecString JanString : "01-" + "Jan-" + "-" + $$String:@@VRYearEnd JanDateStr : $$Date:@@JanString FebString : "01-" + "Feb-" + "-" + $$String:@@VRYearEnd FebDateStr : $$Date:@@FebString MarString : "01-" + "Mar-" + "-" + $$String:@@VRYearEnd MarDateStr : $$Date:@@MarString ;;***************************************************************************************************** ;;******************* REPORT MAIN BODY **************************************************************** ;;***************************************************************************************************** [Part : VRBody] Line : VRMain Repeat : VRMain : GeneralCollVR Scroll : Vertical Common Borders : Yes [Line : VRMain] Fields : ItemNameVR, VRSubtitle, TotalAchieve, AprAchieve, MayAchieve, JunAchieve, JulAchieve, + AugAchieve, SepAchieve, OctAchieve, NovAchieve, DecAchieve, JanAchieve, FebAchieve, MarAchieve, Option : AlterOnEnter Explode : VRMainB Explode : VRMainC Explode : VRMainD Space Top : 0.5 [Field : ItemNameVR] Use : Name Field Set As : $Stockitem Style : Normal Bold [Field : VRSubTitle] Use : Name Field Set As : "Achieved" Align : Right Space Right : 1 Style : Small Bold Italic [Field : VRDefault1] Use : Qty Primary Field Style : Small Format : "No Zero" Align : Centre [Field : AprAchieve] Use : VRDefault1 Set as : $AprAchieve [Field : MayAchieve] Use : VRDefault1 Set As : $MayAchieve [Field : JunAchieve] Use : VRDefault1 Set As : $JunAchieve [Field : JulAchieve] Use : VRDefault1 Set As : $JulAchieve [Field : AugAchieve] Use : VRDefault1 Set As : $AugAchieve [Field : SepAchieve] Use : VRDefault1 Set As : $SepAchieve [Field : OctAchieve] Use : VRDefault1 Set As : $OctAchieve [Field : NovAchieve] Use : VRDefault1 Set As : $NovAchieve [Field : DecAchieve] Use : VRDefault1 Set As : $DecAchieve [Field : JanAchieve] Use : VRDefault1 Set As : $JanAchieve [Field : FebAchieve] Use : VRDefault1 Set As : $FebAchieve [Field : MarAchieve] Use : VRDefault1 Set As : $MarAchieve [Field : TotalAchieve] Use : VRDefault1 Set As : $TotalAchieve Style : Small Bold [Part : VRMainB] Line : VRMainB ; Scroll : Both Common Borders : Yes [Line : VRMainB] Fields : ItemNameVR, VRSubtitle, TotalAchieve, AprAchieve, MayAchieve, JunAchieve, JulAchieve, + AugAchieve, SepAchieve, OctAchieve, NovAchieve, DecAchieve, JanAchieve, FebAchieve, MarAchieve, Local : Field : Default : Type : Number Local : Field : Default : Align : Center Local : Field : Default : Style : Small Italic Local : Field : ItemNameVR : Align : Left Local : Field : ItemNameVR : Type : String Local : Field : ItemNameVR : Set as : "" Local : Field : VRSubTitle : Type : String Local : Field : VRSubTitle : Set as : "Target" Local : Field : VRSubTitle : Space Right: 1 Local : Field : VRSubTitle : Style : Small Bold Italic Local : Field : VRSubTitle : Align : Right Local : Field : AprAchieve : Set as : "â–º make your own" Local : Field : MayAchieve : Set as : "â–º make your own" Local : Field : JunAchieve : Set as : "â–º make your own" Local : Field : JulAchieve : Set as : "â–º make your own" Local : Field : AugAchieve : Set as : "â–º make your own" Local : Field : SepAchieve : Set as : "â–º make your own" Local : Field : OctAchieve : Set as : "â–º make your own" Local : Field : NovAchieve : Set as : "â–º make your own" Local : Field : DecAchieve : Set as : "â–º make your own" Local : Field : JanAchieve : Set as : "â–º make your own" Local : Field : FebAchieve : Set as : "â–º make your own" Local : Field : MarAchieve : Set as : "â–º make your own" Local : Field : TotalAchieve : Set as : "â–º make your own" Local : Field : TotalAchieve : Style : Small Bold [Part : VRMainC] Line : VRMainC ; Scroll : Both Common Borders : Yes [Line : VRMainC] Fields : ItemNameVR, VRSubtitle, TotalAchieve, AprAchieve, MayAchieve, JunAchieve, JulAchieve, + AugAchieve, SepAchieve, OctAchieve, NovAchieve, DecAchieve, JanAchieve, FebAchieve, MarAchieve, Local : Field : Default : Type : String Local : Field : Default : Align : Center Local : Field : ItemNameVR : Align : Left Local : Field : ItemNameVR : Set as : "" Local : Field : VRSubTitle : Set as : "Variance" Local : Field : VRSubTitle : Space Right: 1 Local : Field : VRSubTitle : Style : Small Bold Italic Local : Field : VRSubTitle : Align : Right Local : Field : AprAchieve : Set as : "â–º make your own" Local : Field : MayAchieve : Set as : "â–º make your own" Local : Field : JunAchieve : Set as : "â–º make your own" Local : Field : JulAchieve : Set as : "â–º make your own" Local : Field : AugAchieve : Set as : "â–º make your own" Local : Field : SepAchieve : Set as : "â–º make your own" Local : Field : OctAchieve : Set as : "â–º make your own" Local : Field : NovAchieve : Set as : "â–º make your own" Local : Field : DecAchieve : Set as : "â–º make your own" Local : Field : JanAchieve : Set as : "â–º make your own" Local : Field : FebAchieve : Set as : "â–º make your own" Local : Field : MarAchieve : Set as : "â–º make your own" Local : Field : TotalAchieve : Set as : "â–º make your own" Local : Field : TotalAchieve : Style : Small Bold [Part : VRMainD] Line : VRMainD ; Scroll : Both Common Borders : Yes [Line : VRMainD] Fields : ItemNameVR, VRSubtitle, TotalAchieve, AprAchieve, MayAchieve, JunAchieve, JulAchieve, + AugAchieve, SepAchieve, OctAchieve, NovAchieve, DecAchieve, JanAchieve, FebAchieve, MarAchieve, Local : Field : Default : Type : Number Local : Field : Default : Align : Center Local : Field : Default : Format : "Percentage" Local : Field : ItemNameVR : Align : Left Local : Field : ItemNameVR : Set as : "" Local : Field : ItemNameVR : Type : String Local : Field : VRSubTitle : Set as : "%age" Local : Field : VRSubTitle : Space Right: 1 Local : Field : VRSubTitle : Style : Small Bold Italic Local : Field : VRSubTitle : Type : String Local : Field : VRSubTitle : Align : Right Local : Field : AprAchieve : Set as : "â–º make your own" Local : Field : MayAchieve : Set as : "â–º make your own" Local : Field : JunAchieve : Set as : "â–º make your own" Local : Field : JulAchieve : Set as : "â–º make your own" Local : Field : AugAchieve : Set as : "â–º make your own" Local : Field : SepAchieve : Set as : "â–º make your own" Local : Field : OctAchieve : Set as : "â–º make your own" Local : Field : NovAchieve : Set as : "â–º make your own" Local : Field : DecAchieve : Set as : "â–º make your own" Local : Field : JanAchieve : Set as : "â–º make your own" Local : Field : FebAchieve : Set as : "â–º make your own" Local : Field : MarAchieve : Set as : "â–º make your own" Local : Field : TotalAchieve : Set as : "â–º make your own" Local : Field : TotalAchieve : Style : Small Bold Space Bottom : 0.5 [Collection : VCHCollectionVRGeneral] Type : Vouchers : VoucherType Child of : $$VchTypeSales Belongs to : yes Fetch : date, All Inventory Entries [Collection : GeneralCollVR] Source Collection : VCHCollectionVRGeneral Walk : All Inventory Entries By : Stockitem : $StockItemName Aggr Compute : AprAchieve : Sum : If @@VRSaleVr and @@AprMonth Then $BilledQty Else 0 Aggr Compute : MayAchieve : Sum : If @@VRSaleVr and @@MayMonth Then $BilledQty Else 0 Aggr Compute : JunAchieve : Sum : If @@VRSaleVr and @@JunMonth Then $BilledQty Else 0 Aggr Compute : JulAchieve : Sum : If @@VRSaleVr and @@JulMonth Then $BilledQty Else 0 Aggr Compute : AugAchieve : Sum : If @@VRSaleVr and @@AugMonth Then $BilledQty Else 0 Aggr Compute : SepAchieve : Sum : If @@VRSaleVr and @@SepMonth Then $BilledQty Else 0 Aggr Compute : OctAchieve : Sum : If @@VRSaleVr and @@OctMonth Then $BilledQty Else 0 Aggr Compute : NovAchieve : Sum : If @@VRSaleVr and @@NovMonth Then $BilledQty Else 0 Aggr Compute : DecAchieve : Sum : If @@VRSaleVr and @@DecMonth Then $BilledQty Else 0 Aggr Compute : JanAchieve : Sum : If @@VRSaleVr and @@JanMonth Then $BilledQty Else 0 Aggr Compute : FebAchieve : Sum : If @@VRSaleVr and @@FebMonth Then $BilledQty Else 0 Aggr Compute : MarAchieve : Sum : If @@VRSaleVr and @@MarMonth Then $BilledQty Else 0 Aggr Compute : TotalAchieve : Sum : If @@VRSaleVr Then $BilledQty Else 0 compute : TarAprday1 : @@GetAprTrgt compute : TarMayday1 : @@GetMayTrgt compute : TarJunday1 : @@GetJunTrgt compute : TarJulday1 : @@GetJulTrgt compute : TarAugday1 : @@GetAugTrgt compute : TarSepday1 : @@GetSepTrgt compute : TarOctday1 : @@GetOctTrgt compute : TarNovday1 : @@GetNovTrgt compute : TarDecday1 : @@GetDecTrgt compute : TarJanday1 : @@GetJanTrgt compute : TarFebday1 : @@GetFebTrgt compute : TarMarday1 : @@GetMarTrgt Sort : @@Default : $StockItem Filter : noschfilter [System : Formula] noschfilter : $AllTotals<>0 AllTotals : $TarAprday1+$TarMayday1+$TarJunday1+$TarJulday1+$TarAugday1+$TarSepday1+$TarOctday1+$TarNovday1+$TarDecday1+$TarJanday1+$TarFebday1+$TarMarday1 TargetTotal : "â–º Calculate your own formula" ; **** for Compute Conditions VRSaleVr : $$IsSales:$VoucherTypeName AprMonth : $$MonthOfDate:$Date=4 MayMonth : $$MonthOfDate:$Date=5 JunMonth : $$MonthOfDate:$Date=6 JulMonth : $$MonthOfDate:$Date=7 AugMonth : $$MonthOfDate:$Date=8 SepMonth : $$MonthOfDate:$Date=9 OctMonth : $$MonthOfDate:$Date=10 NovMonth : $$MonthOfDate:$Date=11 DecMonth : $$MonthOfDate:$Date=12 JanMonth : $$MonthOfDate:$Date=1 FebMonth : $$MonthOfDate:$Date=2 MarMonth : $$MonthOfDate:$Date=3
in general, all your reports are soothing to eyes.. You can refer to my earlier comments.. any doubt ?? Ha Ha
Yes....I know and sincerely appreciate your help in critical areas .....once during Depreciation and now for this module. As for design layout and placements -- I really do spend some time in planning and executing. I put my 30+ years of experience and know what the management would want from the report and I plan it accordingly. For Colors I refer to https://www.color-hex.com/ ... It gives me options for Triadic colors, Analogous colors, monochromatic colors and complimentary colors...plus other pastel colors. And that really helps the so called soothing effect on the eyes. My earlier TDLs were too bright in colors. And one tends to learn on the go ....
Completely restructured...with regards to Collections, Tabulations and Formulas. Earlier was giving lots of problems in calculations and year-wise data representation. Hence completely revised the same. Also added Buttons for a. Financial Year change b. StockItem Filter c. Alter Target of StockItem d. Display Target of StockItem