From 053841cfdb3fc4ca4dd70d8bfe359bd0b98c6afe Mon Sep 17 00:00:00 2001 From: Kibexd Date: Wed, 19 Jun 2024 14:45:29 +0300 Subject: [PATCH] "Implemented query to fetch top 5 consumers in Dynamics 365 Business Central - Created a new query 'Top 5 Consumers' with a normal query type - Defined query properties: caption, order by, and top number of rows - Utilized dataitem 'Cust. Ledger Entry' with filters and columns for customer information and sales - Implemented aggregate function 'Average' for sales - Organized code with clear variable declarations and trigger sections - Improved code readability by using descriptive names and proper indentation" --- .vscode/launch.json | 4 +-- Default Publisher_ALM_1.0.0.0.app | Bin 8643 -> 9310 bytes HelloWorld.al | 2 +- Que50106.ListofAttachees.al | 45 ++++++++++++++++++++++++++++++ QueryTop 5 Consumers.al | 41 +++++++++++++++++++++++++++ 5 files changed, 89 insertions(+), 3 deletions(-) create mode 100644 Que50106.ListofAttachees.al create mode 100644 QueryTop 5 Consumers.al diff --git a/.vscode/launch.json b/.vscode/launch.json index 0cc2d13..d39b796 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -9,8 +9,8 @@ "server": "http://localhost:8080/BC210/", "serverInstance": "BC210", "authentication": "Windows", - "startupObjectId": 50106, - "startupObjectType": "Query", + "startupObjectId": 22, + "startupObjectType": "Page", "breakOnError": "All", "launchBrowser": true, "enableLongRunningSqlStatements": true, diff --git a/Default Publisher_ALM_1.0.0.0.app b/Default Publisher_ALM_1.0.0.0.app index c0ac0c2b0a28a6ac8e20f4235e10668d0f48bed8..c0cf86ccbb5196002bf29bc16a547ef4d1486b13 100644 GIT binary patch delta 4870 zcmaJ_2UJr_w@#>`h29f77@81}4$=haQbI2R0)m3{BE?Wc6@}15X$DY{B2}sih*G3U z4c&+|>4c()yuiKh_rG_&^=7Se&Ym+fd(Z6oX4d|8r{kKc&ZplXe9nxZH*X*Us(z(rdx#N>UR zG+$1n054ubfk=_nZbkSqyIHErwGl?9E5TISnWMXo%?Or!o`Rba_?Re5x^{3OO@72F zYRJVQ3pVg9gwD+xU^2%Jd0IH~?9v+b$#5ZhI6rwvtT&9UEuE+|+OPm)_n zmOebpa>1_U2GLJ!1-+WOWR?_Z_(y4{*coY!XPx=c|K zjADbSu?7GB5up-%KpKLbA|2kYY>ct2&APhk*^#KAWB$u>U@lww7L}}_a{Z>4AhmyR zGDI&?F}mXQVofi6DsOS3)S-9ggPA!{d(Jh)_l+P9)T|zyB5Tm~tFr``xxxcYH_6NEL^7#nu1T_osa(lo)NQOKGED|1#NNH@-&p8j?;hM}F>? z?NE&=Q~qGdXqIqV5OE;q3F-dai;tC?$br$t*X}0pe2mscZ2WkTai-bH9yZd)<|jRV z9Zakmo)ld)n`e)aEq=8NI(ap}gE5lSi*baYzB*3UKLsCS=C+cz*~kO4T{@*#4vy2j z6D!A-TOYMX$-l+R?NriwAJG022Mn#FcSZ;Zxd;RR=m7w90?`&R0Ux!Y#4_NCV{Rpl5k1civ}M40p4!v0Rc`o++AJ$FFJYVrMDY(N>Zb? z&<9`(2~qN5-$?x~r(~*_Gd4*y;L@2(*Bx%8&RUoemS(A-}5)ZtE_2Bu*TsdSIOE+tGU~cB8!wf z^hXjC+NeA&+BD`3e<(+t4rIwTR6+Ztm4~*iLkhFqXutPZ2OY-O?G<8kYWxO>S)f|d z4jy5D(@Ktx%DGn|woNLDqnsxZqFr$}u@ zjxW|8X6n9;_n&sFLoze1-|x+D3JCT`w{0p~e_`C%Sy#>vEtVRddo_Zu9UJXMC2w*5 z)6*KgxFrLEBaa9NmH&?;{q7>XeFUXsq$Fj|-ZwC$Z7)8=}^G}bM4Ku0(X3LFvZLa)KC~TtmTGMg~>XiI(elQzOB~YFAVs+8gu%0W$xPR0n*MyT`3_zS&ATHpf}65$d&NB)?|!pq&-i@ZvogrY5x4g(Fq4+@a37u3PP|5M8XkBx_qX)N zo|w&wotV`_lS}q9g*QJrlNB>;uxNgWx}wVG$)tyfk%YF1!!rT?_ zsiEt@Jv&%6?qp39+i4|{q2!iK~;ERoMkzvgqJ%#gTxq)w~S9CXX@WN%`=pd?v& zAR1)PpH3#91s3p!>4$yJRH8BwfwmrtwSkRSvQHhv83JOL)FCdU+c#H7@6+)Zex;s8 z^75%{>MoO9NN`b)i`YOZ#5H!ryF;2iI6e_Cc7mCg(jGUhw=J`{a39J~3Fv7Mt|v(q zocs+rYhuLFE^Ki7(g7&R_=)ZVxv9LL6$sFAdy6=idJzeyV6gcD_pdukYxs+g;k>dD4X>n{U?mHZD0)qkXp5r z>tI;)gHsw`eBo!W+X!ov@>Q1<%=`PS{g0{_F#NIINv&DONn>ywbWBl(K|$dnVc2y21t>%NlQI@Tde7yf4>ecud|`P_Zf9IhV;GeAi4h7w;T--m zDN%`bvKqd>y=X3KUN`E0SgAM(PnC}D-2LJO_)hLPL*pIg+-aL2Gx)sl9$Q?I@uGmP z75iWU&tYFuDb*s)Jk_&(2i$gv>4gFY4siA_Y(}8%c*rZ(*O*Z`s%d_t;eK{QZH^6N zLn=|5i#aom!RJc|F5kF~ARbRk;RYemWWSTtu^MQfPrzexsyFPUx0tt?OzD^_3!ko( zdU2$7^naykzx%l$+KmlW`eNpSijROr_XFjmCLHp+#F&NQ^|`O{Q%y?dA<#l{F#J9b zs7}jcQnZ8JP<{6M2wt)gIZYD45>NHTSZwwZbQb;t7)|0FAhHIWmO>b-NU$GkRvlt zCG4q+0wLpj{7^1@G_aUiiga7sI0Vl4*6GJzd`r{06>BxZr>swrZ#Lzd-K>&MPRJvy zrMyffOHxm`S^6*7sMLVW35HioJJeDm&K8F8d?;;bOMSC+a=yPb7s} z)yyvG2SKnb1Did}9Quv(CUF)Mbbafx=I%3A*?o%Rh1V`e0ZoHn+!3+!i?6B07IgQ) zwAdKFfan`cS{jhrP6^0P0etpNlGbgfI+*ZeJ*1`H^XecaGQqAzV1ZR6!VNI?*d4f4 z=41#rVw-P)Kh{oh-r{0hdjr!hUTCnp2sOC7OYQtpIQ2v0L}k1i8*&9*$AhvJ8hxZO z-1RE>VWIHhhC^d2W6R#4Bm-KC8R15$3gP0@Y zq-VYb11d|> z>v&*U#6`0(_uBSLk82jq$cE$$tM6b@1)V#gut~m7J^xQ3<1*N?JN^$A1kI1cO z`FV(0Bl&Y!if_)Q@)$U^P0U`lx5#S(JL#jj_BrhaYG2+sb*kX9A7Mw zY$yTAX&!MKi*~OmpOW$>oebp{aW8b6D1HrU7Tg=CuQa5-O4y3p`>ZM} zuXis|LS0%_L|;X9n4gUJbpu&|rM9z!|+TFTL1bM5@Jufs$OqmL+tG z$~ti4z)UXb#Jz-Dg`vtFSmE9Q`z_5tB)_3YCooL`p)w{NE>1_P6&IdpHDDL|8c{ah z6twT9E*sQ|SJWYvM2m(;pR`_LRs5>UAd=zoy!KJF0dhX)aqpYWyGw6qSdWgSuVF;z zKH+7G)>JPSeJmL4;AtbrJnc+xdK{09d`sL{uBwGVNu6YJos#~E2+jkiWcFf;v%o3k zdY7stTAl-j)at1bv!bBB07{yw9G2IrV&bl$Ok~heOf|vxg|1xKXVueB-5~Mh)*0qh z=$p;M@*aGAz15j~Tt*VC@%X8QFn&;yM58*FRpi>2UOlGHo0HUjbO2@|aJ%jumXI ziXMF+o#ng!K8n4fL9x7KKy7Ges^3#l_siHiQg)V<`zfYWm}I=sE^fIBO!sgIH5Ecnvk3~fl0m@zU=h8n!iV<80Q?!4XwSc z?E-Kit?#B);n@!hS<@Wp;w0n_f7lE@Qo;w#1&Q7aR$6}ozU(=)lU`;Qu=s{Q<-a^|;kd~Jy{)5hjR0H0DrP2|K@H4`u2BuPx>E9{QodH&wne7eR0CpPEhfj zh~Y0<{lEGE026ZbWinp03Kuoc*@UYrZ~W{bP!3hHe|NkFLIb(Q&sPWM<|HzwL>v8G zy+^3tr6yEa(BV`dbQAYqs(z1u`xZ@5HDt@=%|vMC}EA@{~84VXhYC;ypZ!rh4FF{^>Cqcc%fiA03F~y2_ai?mXHAa56v2( Ah5!Hn delta 4290 zcmai11yoesw;zV?k>NvNs38PtBm@DayK@kb974LAK~iZL7%4%(K|;Dq7zxP_rMm

1`0l+qppQ!Dt9Dy5GfTDBO_%7QGQ+YCK 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 WCjmZ|bprsD*y|n^AoXi83HUEw+`KXX diff --git a/HelloWorld.al b/HelloWorld.al index 792416e..aafcf9f 100644 --- a/HelloWorld.al +++ b/HelloWorld.al @@ -6,6 +6,6 @@ pageextension 50100 CustomerListExt extends "Customer List" { trigger OnOpenPage(); begin - Message('App published: Enock first Al programming '); + Message('Enock first Al programming Learning in Coretec LTD '); end; } \ No newline at end of file diff --git a/Que50106.ListofAttachees.al b/Que50106.ListofAttachees.al new file mode 100644 index 0000000..6e9feba --- /dev/null +++ b/Que50106.ListofAttachees.al @@ -0,0 +1,45 @@ +query 50106 "List of Attachees" +{ + Caption = 'List of Attachees'; + QueryType = Normal; + QueryCategory = 'Customer List'; + + elements + { + dataitem(Customer; Customer) + { + column(Address; Address) + { + } + column(Amount; Amount) + { + } + column(Balance; Balance) + { + } + column(City; City) + { + } + column(Contact; Contact) + { + } + column(Comment; Comment) + { + } + column(County; County) + { + } + column(EMail; "E-Mail") + { + } + column(Name; Name) + { + } + } + } + + trigger OnBeforeOpen() + begin + + end; +} diff --git a/QueryTop 5 Consumers.al b/QueryTop 5 Consumers.al new file mode 100644 index 0000000..f9e71c0 --- /dev/null +++ b/QueryTop 5 Consumers.al @@ -0,0 +1,41 @@ +query 50107 "Top 5 Consumers" +{ + QueryType = Normal; //This is a normal query + Caption = 'Top 5 Consumers'; //Obvious, the caption + OrderBy = descending(Sales__LCY_); //Query is sorted in the descending order + TopNumberOfRows = 5; //This now returns the top 5 rows + QueryCategory = 'Customer List'; //This will add this query in the CustomerList dropdown + + elements + { + dataitem(Cust__Ledger_Entry; "Cust. Ledger Entry") //This is defining a data item whereby the query will retrieve data from + { + filter(Posting_Date; "Posting Date") //This filter is not actually doing anything, but it acts a s a placeholder for a filter for Posting field + { + + } + //Columns below are defined and therefore inculded in the query result + + column(Customer_No_; "Customer No.") + { + + } + column(Customer_Name; "Customer Name") + { + + } + column(Sales__LCY_; "Sales (LCY)") + { + Method = Average; //This specifies that the sales(LCY) column should be calculated using the average method + } + } + } + + var + myInt: Integer; + + trigger OnBeforeOpen() + begin + + end; +} \ No newline at end of file