From 1d0daa7f84b247a3699ddf9cd932f5f04a2b36c3 Mon Sep 17 00:00:00 2001 From: roberto Date: Thu, 12 Dec 2013 17:42:50 +0000 Subject: [PATCH] Subida final de facturas proforma git-svn-id: https://192.168.0.254/svn/Proyectos.LuisLeon_FactuGES2/trunk@201 b2cfbe5a-eba1-4a0c-8b32-7feea0a119f2 --- Build/Build.fbl6 | Bin 3342336 -> 3670016 bytes Build/Build.fbpInf | 8 +- Build/Build.fbz6 | Bin 65840 -> 66120 bytes Source/Base/Base.dproj | 106 +- Source/Cliente/uBootStrap.pas | 2 +- Source/Informes/1/InfFacturaProforma.fr3 | 65 + Source/Informes/2/InfFacturaProforma.fr3 | 63 + Source/Informes/5/InfFacturaProforma.fr3 | 64 + Source/Informes/6/InfFacturaProforma.fr3 | 64 + Source/Informes/8/InfFacturaProforma.fr3 | 66 + .../Contactos/Views/Contactos_view.res | Bin 4748 -> 384 bytes .../Data/uDataModuleFacturasProforma.dfm | 20 +- .../Data/uDataModuleFacturasProforma.pas | 8 +- .../FacturasProforma_Group.groupproj | 36 +- .../Model/schFacturasProformaClient_Intf.pas | 156 +- .../Model/schFacturasProformaServer_Intf.pas | 184 +- .../Plugin/FacturasProforma_plugin.drc | 2 +- .../Reports/uRptFacturasProforma_Server.dfm | 3462 ++--------------- .../Reports/uRptFacturasProforma_Server.pas | 875 +---- .../Servidor/srvFacturasProforma_Impl.dfm | 74 +- .../Servidor/srvFacturasProforma_Impl.pas | 15 +- .../Views/FacturasProforma_view.dpk | 3 +- .../Views/FacturasProforma_view.dproj | 1 + .../Views/uEditorFacturaProforma.dfm | 83 +- .../Views/uEditorFacturaProforma.pas | 4 +- .../Views/uEditorFacturasProforma.dfm | 33 + .../Views/uEditorFacturasProforma.pas | 24 +- .../Views/uFacturasProformaViewRegister.pas | 2 +- .../Views/uViewFacturaProforma.dfm | 36 +- .../Views/uViewFacturasProforma.dfm | 21 + .../Views/uViewFacturasProforma.pas | 3 + .../Data/InfMargenArticulo_data.drc | 2 +- .../Model/InfMargenArticulo_model.drc | 2 +- .../Views/InfMargenArticulo_view.drc | 2 +- .../Data/InfVentasArticulo_data.drc | 2 +- .../Model/InfVentasArticulo_model.drc | 2 +- .../Views/InfVentasArticulo_view.drc | 2 +- .../Controller/InformesBase_controller.drc | 2 +- .../Informes base/Data/Informes_data.drc | 2 +- .../Informes base/Model/Informes_model.drc | 2 +- .../Informes base/Views/Informes_view.drc | 2 +- .../Controller/PedidosCliente_controller.drc | 2 +- .../Data/PedidosCliente_data.drc | 2 +- .../Model/PedidosCliente_model.drc | 2 +- .../PedidosCliente_Group.groupproj | 26 +- .../Plugin/PedidosCliente_plugin.drc | 2 +- .../Views/PedidosCliente_view.dpk | 3 +- .../Views/PedidosCliente_view.dproj | 127 +- .../Views/PedidosCliente_view.drc | 2 +- .../Views/uEditorPedidosCliente.dfm | 71 +- .../Views/uEditorPedidosCliente.pas | 33 +- .../ProcesoPresupuestosCliente_controller.dpk | Bin 1141 -> 1200 bytes ...rocesoPresupuestosCliente_controller.dproj | 2 + .../ProcesoPresupuestosCliente_controller.drc | 4 +- .../uIEditorProcesoPresupuestosCliente.pas | 6 +- .../uProcesoPresupuestosClienteController.pas | 50 +- .../ProcesoPresupuestosCliente_plugin.drc | 4 +- .../Views/ProcesoPresupuestosCliente_view.dpk | 3 +- .../ProcesoPresupuestosCliente_view.dproj | 17 +- .../Views/ProcesoPresupuestosCliente_view.drc | 4 +- .../uEditorProcesoPresupuestosCliente.pas | 27 +- .../Views/uViewProcesoPresupuestosCliente.dfm | 48 + .../Views/uViewProcesoPresupuestosCliente.pas | 40 +- .../FacProforma_FacCli_relation.dpk | 49 + .../FacProforma_FacCli_relation.dproj | 1026 +++++ .../FacProforma_FacCli_relation.rc | 22 + .../uEditorFechaFacturaFinal.dfm | 60 + .../uEditorFechaFacturaFinal.pas | 35 + .../uGenerarFacProformaFacCliUtils.dfm | 5 + .../uGenerarFacProformaFacCliUtils.pas | 95 + .../uGenerarFacturasCliFacProformaUtils.dfm | 311 ++ .../uGenerarFacturasCliFacProformaUtils.pas | 317 ++ .../PedCli_FacProforma_relation.dpk | 40 + .../PedCli_FacProforma_relation.dproj | 654 ++++ .../PedCli_FacProforma_relation.rc | 22 + .../uGenerarFacturasProformaUtils.dfm | 313 ++ .../uGenerarFacturasProformaUtils.pas | 261 ++ .../Tienda web/Data/TiendaWeb_data.drc | 2 +- Source/Servidor/FactuGES_Server.RES | Bin 23208 -> 23208 bytes Source/Servidor/FactuGES_Server.dpr | 7 +- Source/Servidor/FactuGES_Server.dproj | 4 + Source/Servidor/FactuGES_Server.rc | 2 +- 82 files changed, 4701 insertions(+), 4499 deletions(-) create mode 100644 Source/Informes/1/InfFacturaProforma.fr3 create mode 100644 Source/Informes/2/InfFacturaProforma.fr3 create mode 100644 Source/Informes/5/InfFacturaProforma.fr3 create mode 100644 Source/Informes/6/InfFacturaProforma.fr3 create mode 100644 Source/Informes/8/InfFacturaProforma.fr3 create mode 100644 Source/Modulos/Relaciones/Facturas proforma - Facturas de cliente/FacProforma_FacCli_relation.dpk create mode 100644 Source/Modulos/Relaciones/Facturas proforma - Facturas de cliente/FacProforma_FacCli_relation.dproj create mode 100644 Source/Modulos/Relaciones/Facturas proforma - Facturas de cliente/FacProforma_FacCli_relation.rc create mode 100644 Source/Modulos/Relaciones/Facturas proforma - Facturas de cliente/uEditorFechaFacturaFinal.dfm create mode 100644 Source/Modulos/Relaciones/Facturas proforma - Facturas de cliente/uEditorFechaFacturaFinal.pas create mode 100644 Source/Modulos/Relaciones/Facturas proforma - Facturas de cliente/uGenerarFacProformaFacCliUtils.dfm create mode 100644 Source/Modulos/Relaciones/Facturas proforma - Facturas de cliente/uGenerarFacProformaFacCliUtils.pas create mode 100644 Source/Modulos/Relaciones/Facturas proforma - Facturas de cliente/uGenerarFacturasCliFacProformaUtils.dfm create mode 100644 Source/Modulos/Relaciones/Facturas proforma - Facturas de cliente/uGenerarFacturasCliFacProformaUtils.pas create mode 100644 Source/Modulos/Relaciones/Pedidos de cliente - Facturas proforma/PedCli_FacProforma_relation.dpk create mode 100644 Source/Modulos/Relaciones/Pedidos de cliente - Facturas proforma/PedCli_FacProforma_relation.dproj create mode 100644 Source/Modulos/Relaciones/Pedidos de cliente - Facturas proforma/PedCli_FacProforma_relation.rc create mode 100644 Source/Modulos/Relaciones/Pedidos de cliente - Facturas proforma/uGenerarFacturasProformaUtils.dfm create mode 100644 Source/Modulos/Relaciones/Pedidos de cliente - Facturas proforma/uGenerarFacturasProformaUtils.pas diff --git a/Build/Build.fbl6 b/Build/Build.fbl6 index a9036f4b23ef62d760dfccc1afbd0c86017204c4..5871df2249b64cf2c64253ac2bed1729b926c131 100644 GIT binary patch literal 3670016 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�ft7;1!6uC?v+a);&O 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%0A%{p1kOnTo$?@txMMu7Bq^%nb3dsr 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

T{+;&omXtRV#yW5uh=nh)5Ikchfe%> z!oCSRC#;$qeCd`; zS6({t($SahAGc%Nx^bh%4H)5?Irym#@IiJC|<_w=p$Mt!wz=|lBB+IDS)_Obe& zxf5#gsT&93Z}TQQ{)&BI%-G z7ri%T)0p-#&0_|SStlI4Fm>U(7mU7O{rUaQ-!ppiXleA2(fvk$c;3eIy3ZST-thDG zHZ?bmZu=M68Pm?N&KP~h-qYVYeZ}eXP9Jgl!P9n})_z*^Y2!{Cb=sa`TZb(l zHfPwdVIQCR&Z&u0ty85_hn@P~DVt7dKc)GU!KbV{`QXsh(DzQ-a?d3^A!japL*l@&}Bf5_ej_7y9jscqoqy`-5Kd1jY zhg*klK5W%t(+=C!@2!5D`mN~~>o=_5-oQJ7Re@AsXy8YG4+IV#PV$1uS4Ss|g8yIq zKp{&Q4gWhE{)+H-V_-|*AJu=(`t%?D3SZ{`*3|;P+kNN8i#L7Q+Om7*qThdU*b7a! z#KLhYDq4mhM^#x+^@t&a!&Y3-t*9wkW-MyO%oXHT!JmQ9-`bIarD_Ys%6|ut{hB%} zKW*4@4t{f2?LDwK2G32N_c6A;wRk+DE3ud$hAmN0!!biJH7g{<;*uIuW0ANLQEK(? zNwC0L0~>ou-puwtuG{;FST>uOX9l)+uMH;>;n*gF~ziE%9w7Nl@Y z6;vZ06~ZCI6yioK8dG#wLpU1e@tZOvR`_9misYbFouAav-aLMLYi}OEy|p)w-!<4< zH;k~PMGe7-gbYEAhvGt5wZcM7H55Y?<#u7HtzrD40qsQ-~D03t6yN>?N<2PmS9F(f#iJ^#^s)iy$SdleBmDP|CmK0f# zq9HjF(&LtF$UJ^ihQtb8`Qc2P=HSRxd-M2h+nOBY;IFIpZuIzFQ~q7Yc*5g1aclce z4vwn*TT(-!6cbHBi|WvSVumfjl)@0dBU&h`i%JBxC+6|nHeyc)Z__XbMOW?3<2Pk+ z*X`Zt@td+XR$taJp78ihS)A?PRwQN^aYYkkEe`p&CBpcnteZke48b&%xTVJ8Q69f3 zLt=$zkEDp}_U7^1TYK~P?XA6e{I0>?O4t;|kg5wIDI!7q)u7HtzrD3LkKeV}I|3t=ssi&* zbeZ&jiyFMY6Ey`n2BVi+I24l=k@ufahQtc@9YK*Clo;`(e)i_^+gp1#di<_1RXKlw>5@6XrK-aLML?B5N(e$@cV+{k?UI{J5`$M2f@tE{N3MPeaE zfMu*8|Bl8Yf?>%LOh-{7mafY2c+}$k-?ZlkKdGcW8=l5DO;)-v4l9hED!Np(FG$6lfc8# z5bT9v!K`qDuRmB}Nu)Tkmj3TL+MCC3>PFe^Yiu3$65kLk_-J9Z%|LZyvv?Tj9FB z8$Etg*2eO|I{G({-;~AK{v9Xtz75!QM^d9Oei?(QgW)*r-vG=m+MDO!-rAeT?;7kaX+}J5gyVu4lVJZeOV$Nb zjp~A>nKEq21M3l*{QXPHj%cB#@yj~eo5yeJR^*^m-CtEldpCOgu4(+Tj`rs9yB7b} zW1?*7k`M_?r2j-#A(G3MAj+yrcHhx}@%bl|A+f>@wXA<4)z98Mep7cM2PH=QuAjXd zJ$?_Q%#Dm+*3rKkJ$~0zUz&<48j(13m}qJo=AXbOn1&4FmvKENS)vrxES1kcp&b`1 zy;)2DcOC7`<2Q9Da!{&{-*vQiqsMQ`+F1X09qrxd@w+B_hvRx&7L~XViIe#!WG6L4 zR-ijv)D=mNhazT(&;PElBvRZ%f1ZP4bv&t~y?Okm4DPzUdHnX)-aLNSU~fwdnYt3w z;H^t|bw`B}OTjQ;5fs?e7&bPJgkuKZf1WZUUYK=m+MCC3Z|%+F zcMbM7tgso^L$V-?Fl$iNVe1A<({w>GL|A=LjmA}tuU|#k5iKmCNe+tD@w<-p=JA^{ zxa;=j@!MN_^Y~qZy0&J%}@^1qc0XGde3hS_nRR|UzG)kKZ-f+tlK5Ii^MhQ3=8LWjLh6(p7Oy5VZ(&hDX%666O6T6_!Mb z%jpJB4!%|$zw2mk9>1v@;kvyWJ$~1e57yDYdHk-yzu^UWJtC`NSpNhT0f#kEB7&)F zvLJ=S(0>AN*GnQ_|Aew5T3AVw92BeLcOC7`<2Pk+*X`Zt@td+XmVejLzZ*S%)9E16 zUlj{QWnD8vLezk_cGQ>|6HFOi;(>|ax*8?ZPox;{KdEqCcJYB)){m{Dy?Okm?n4er z)%9f^?akx2xAt!I_)S?Gt1shvMAVd+B8XA4e?u5v!ZcvzSa^R&wZfJRn>vJe{I0Mh zQXF{%1#(cTjwf}rH;>=m+MCC3Z|%+FcMbNIe%I07JbqIKcirBN9=|DT zW9|7m`Ztf?l*QTp9fyoN9MNF^G?A=-B8AELCG?~~&$n*s5!il5;`2`^JEDbkG;!VD zJbqIKcirARetTgeA*e%IjNO5BL+hHMCNBccn?eF7_4!Mi&` z$ck!lU9&_}<@;Y!c0>zHX_A9tb^NZQy?Okm4DPzU8$Etg*2elz>geA*ep41_`*%#2 zLQ!3h2r*TK_#M+={i-l5LKs#J#j>JuG#b)*|2JhwtnfcHaNXWKep3c_-QGNYSJ|6< z5P5pp6&vnYCT8D%=KD>zgd-7Cv}94xVFO**ParM|VN;0;l4Qu5Y^aJJWZa>!-57I@Id^AH+d`zUZ=NA%T&X%PTrvB z{U?+mvBHZq$U(6>p48FaJbqIKcirBN9=|DTWAVF={>|ezWpTEDE1^(C3B!bMO^2>3 zHAL1w5k*S~!DqS|)=gRA@td+ETIf$FD6ZR^$8YLZxNdJAzrD3LkKZ-eTav;{_D;hm zldq0WI2ZnZ@dFgj7y1Wa(&1mKKkw@&WD5!B_}%S8{&L(ue*L5Hz(}UOBh{A7vQONH znqWcxOdr6%q*t^Lngb@K(#g*JS!(@f_VGu;S3iKiBopk5=7dzb>(Dem0;Pf`SzfXa znthH!AAsHv`1_kT2S=a#iTLTWzn%A$z*n08aQ;u-xSuj86@JeFebemA{oG7^=L7hA zL?1N|{eIpBN(D{gOMS3yAMPiyXhD+b{a)R=4AAA2s`MKfh?l+rDZZ`tw(nF?}?tO6~s>RL35}NnkW09d5RC3r~05d%m+<+2X1dJ;B;?fD3vp)k~f9n z-pEiYXHq3^3TJsEL#YI*k~f8l>2IEhj`T!@7CDsJ8YN`*K znh%<~51Jt#Gz}j#O&>JJ`k;BS51N&?5Q4I{G8mOINtAP%Us}^+&FMGRbv? zYJukJk6iy`vg-=f0#m9#a{ZI3t}9dvOsoFL^-rd|u23y7qxvJ)Kbh&eLbbrG>W^Ii zAz^`}VoV}eg(c2eX;DuSSE}XcBQ?~TL+(NBxow$edCVOCRp@nXpxQFvD z>Vdh17Q1!g9?qNUfw_flaO=c9ocG2am|LjLtrPcf-u51tTZp`0;q{-4*Mgwe;e+N9 zA2hQ*Xm!F}FI*-H1@N8TMg;GLAMw8lR2?%+Z1q->>!>?7|E9`;Vk zR$6Nxd3W%LcT%>}qxO+^2akCtWhp0!X{&wY-N6^Vld_e*WFL8V@MZ6$Y^AsCBkvBr;+>SO^tOHE-N9GA zld_ez*+4X`^dY4?|LU?D}B#C^6udK-bvX?JM1Ix4u0UBl&$nb`^dY4 zA9*KbEA6z8ygT@3@1$&{f3c6eJNQ@cq->@4>?7|E-uF(*R{F7h=<_K|l7zw}PZR{E8F z47 z`^dY4KX@l)EB(4d`^dY4zj-HREB)O*^6ucjy_2$)KCzFyJNO^(q->@CwU4|z_&@KY zY^8(tk#`55dM9No{lh-;@SvZET1BaTK4>21gXZBrX!iF(bAS(;NBE$5qz{?{eb5}_ zgXU2_Xddl@<}p5K4)#IwSRXWx^Fi}?A2f&fpm~B1nkV|8d6EyBLw(RZ*$2&2e9%1A z2hCwVXrAVS=IK6Yp5cS$a33_!^g;71A2fqLXpZnfbEFTNXZxUejt`one9%1C2hAoQ zG|%%vbF>ed=lh^}fe)G&`k*QJpgG0|&5L}{6n)T?e9)AA&{TZTRDICYe9+W=&@0Q6Ds8K4`{$&>ZiB z<^&%!C;Fgyg%6rn`k*<<2hC<5G$;F@ImHLfsXk~<^FedE51KQ4(46Um<}4pHukt~2 zwhx+D`=B|;2hD4I(7e_M&AC2k&htU@Iv+IW`=EKf51I)dG#B`w+2Vs{s}Gt_Ca&0 z51Kdmpt;Nk&E-C5-t2?sEk0;|&IipEK4{+RgXV2MXx{FF=1Lzl@9;tMP9HSy@wVCC$_LG-eb9Wy2h9yWXg=$M=5s!1KJSC(Mjtd^@ImuM zA2eU`L35K2nlJmH`FS5SU-3b6vk#iD`k?um51Oz0pt;2d%`f<%`GyagZ~CCQ)d$Tl z`k?tGA2h%0gXUX4Xnw^9&9{Bf{HhO{+kDXcnh%;^_d)ZYe9+wPgXTAU(EO$knmHdd z-|<27TRv!h+Xv0>_@Mc&51QZgLGyb)Xnx-Z%^f~y{=f&#ANrvABOf$(`k?vGK4|`n z51Rk#gXViaXuj`*=8t{Q{D}{myL{06Hy<>A>VxLL`=Gho2hE@Pp!stjG=JfP<{lq3 zf9ZqfuYAz_zz5B}K4|{h2hIQRLGw30Xzuet^S3@|{>}%@-}|8Xp%0pW@ImvBK4|{Q z2hIIHX#Uv;&Hwa4^DjPV9`Hf)uRdsg`T{^B5mA2m7FTtPh&U`Jj2c51K=K&^*Bh%@cjlJjn;mp+0Dy?1SbhK4_lm zgXS6H&+tKWxDT3V`k;B151K(AG)MTLInoEsvwhG!#|O<(K4_lngJzQt zn&eb5wq&>Z7~=0!eeiauycK4{85XevHvsy=9XKLQX4+zO(T zubw!e3I2ca1BEL%8~*q8)wx0cDE>KZK>z&k#HTlXGcx|77w*2|?gx*)b6Mbf`Ekq< z@Z~B%jK>6rW1v3<24LU_3>=ApffyKsfuk^RGzN~rz+emvXKdGwe+aSjGXVc=X0 zkVl=VaUKRnW8i!YT!4WKF(6=I3EMSQrRnAcBD?24Wb9V_-Z6CSYJ92Cl%sl^B?Wfo2R$#=sN|OvS)7 z3{1zs3=GV~z$^@0g@M@^xEcd&C#=uex+=PK;7+8*hn=x<; z20n*@6&N5b4rcms8wPI2z)B32I+=GF8F|Zl~_hI0E3_O5=H5hmh z0}o-~VGOLrz#|xV6a$Z8U>yb?$G{U9coGBaG4K=yp2om47}$V;XEE>`2A;>jMhv`w zffq6G5(YM5;AISa9s{pnU^50@#lUMAcpU>1mrPb0`eFz0eK9VfIJ3FKpq1oAddkPkjH=t$Ya0+ z<@j!5BCe1IJJo#=t2UI28lKFmM_MPRGC*7#NO$Gcj-$27(wEfq{`2AdeaI zi8==ZqcCtT2AVK%9tOx2F|X=;3|xSL3o#&IU!hnbY2?H_)6bz^s&@iB5AcO$} z111K>V&Gy7T!Mjd7`PMzmto*?3|JTlV<3WoCgUcU&d3og451xvWDwRCapH>1=r7{7jQkj5MsZ1~c1Efl2{sgH~ znSfNOOhBqsCO8TMq)KJ}1gTP)fK;hWK&n(GAXO?8kSdi4NR`S2q)KH1Ql&BhsZyDM zRH;lrs#GQ*RVovZDwPRHmC6L9N@W64r7{7jQkj5MsZ2nsR3;!*DiZ`TK&n*cPmn5= z2}qU71f)u30`egfkSdi4NR`S2q)KH1Qk^mZi3&_Ws#GQ*RVovZDwPRHmC6L9N@W64 zr7{7jQkj5MsZ2nsR3;!*Die?@l?h0d$^@iJWdc&AG6AVlnSfNOOhBqsCLmQR6ObyE z2}qU71f)u3g3B>Ls#NArkSdi4NR`S2q)KIi7zRj{%KQmZr82<;3{1qp6&Sb@1Cub& zjDg7*n1X?+7?_5E=@^)SfteVXg@LOuFdG9`V_*&juED^y7?_KJc^J431M@L(Jq8jO zSb%{R476e(iGhU}ScHMa7)W8@1`OPYfi?`ZV<3%z32}n-O1SF?s0+LfR!2k@9oSOL)B&TKql2bDQ$*Gxu z*Q; zW&)B^GXcq|nSkWfOh9sKCLlRA6Of#m2}n-O1SF?sf*=OSx0ydda%v_ZIW-fIoSF$p z?au@xr)C0@Q!@d{shNP})J#BfY9=5#H4~7Wnh8iw%>*Q;W&)B^GXcq|nSkWfOh9sK zCLlRA6Of#m2}n-O1SF?s0+LfR0m-SEfaKInKyqp(AUQP?ker$cNKVZJB&TKql2bFm z*Q;W&)B^GXcq|nSkWfOh9sKCLlRA z6Of#m2}n-O1SF?s0+LfR!SxtOV1VS*%u|t^nh8iw%>*Q;W&)B^GXcq|nSkWfOh9sK zCLlRA6Of#m2}n-O1SF?s0+LfR0m-SEfaKInKyqp(AUQP?ker$cNKVZJ-56MkftxU} z3U{j7`OuicVgf!46MSy-59tB1NUNJH3sg(!2K9_ z00V0<@E`^r!ob5ASc`#2Fz_e_9>c&o3_Om3Cou3N2G(QXDGWS~foCwV0Rzus;5iID zkAaOCcmV@1V&EkVY{J0H82CH}Ucta-47`eg*D&xp2DV_}3mA9<18-trD+c-j7zKZs z9Vtw3IQA3$F)#oFM_}Mc3=G7;APgLZfuk{S3d) z7&sXNr(obz3=G4-X&5*i17~1hI0nwdz*!gwVt`~y%*S9P2F}L7IT#@4XKI{_fhG)` zhk?-;I3EKSVBkUw2pAZHfr~I8VnD)xi~$7$Dh4zR=okoLz`%fsfw3647z3AJU>pW6 z#lU44xEuo(2ErJKU?7Tt7zW}P7>|Jo7?_BGD==^+1}0&k83U6sFa-lsF)$4S(=jju z12Zu&3j#=sm5T!VpYF)$Yc^DuB72IgbndJH5mumA%s7-+>n5(5h{um}T- zF_6N*4H&o)18o>+$3Pkb84Pq_U_&J@Y3>LeB&wp=Sb;&@%x^=$U{d^h`h!dL|$VJrf*@0g})&e}W|ROh6KP zCLjqt6Oe?S2}nZE1SFwn0+P@(0ZHhYfF$%xKoWW;APGGakc6HINJ7s9B%x;llF%~& zN$8m%hyn6#=1-7>o(V`o&jci)X9AMUGXY8HnSdnpOh6KPCLjqt6Oe?S2}nZE1SFwn z0+P@(0f{_JKoWW;APGGakc6HINJ7s9B%x;llF%~&N$8n?B=k%`5_%>e2|W{#*ve2|W{#gq{hm$3OxDB%x=XiX`+* zKoWW;APGGakc6HINJ7s9B%x;llF%~&N$8n?B=k%`5_%>e2|W{}F+dV}=1-7>o(V`o z&jci)X9AMYGXY8HnSdnpOt2IKH(_8I29{&sW(?edfzM%J1qN=#z-<_~9Rn*da0dqN z#K2t`ScQSRF>ntC?!~}r4BUr-`!VnU2G(HUK@2>Efrl}$76Xr9;86@bhJke$cpL*y zVBkp%tjEAp7NPY{9@6Fz^Nj-o(IG4D?itTU;qY=z`&6h7>I#E7&r<8M`Pd^ z3=GD=u^2cG1IL%ZBVT>-Xmm-ALNC zBjE3+mEbT8kajKeCrG=N2}rw^2}rw^2}rw^2}rw^2}rw^2}rw^2}rw^2}rw^2}rw^ z368}8Y1cA;g0yRyUo>lPQk#b7#N0u(=c#42F}31a15M@fwM3W z!~nTT%o{Zl17~C491M`|Bc{f=7-+)4c^DXtf%7qN0R}F_fPeuKd6>W8MHmn9nHZRbfvYeu8v|EkU=9YZ!N9c`n2UjV z7`P4t^D%He1`-%pfPoeav|=EMfrS`Ygn`8vNMYax4BUu;HVm|5AdP_x20AdX1Or(N zbYh?j1Kk){ih-LjunYssF>o^mZo$CkFt7pxw_@Nn4BU=^l^D1K19xKJE)1-~z}*T!G7+8yeM=TFf!8qbItI32;0qXd z0|RejU@Hdt0XQ4}GCNY3;Bf3G`eR@K29ChMkr)_=fk7BJ3Ij)D;1~=H#=x-{I1U5H zV_*mdPQbv47&r+7LoskN22R1isTdfBfzvQ>ItI?bz;FzliGi~)5X8U;42;A8d1#mq z&N&zug@JQ1(1d~WFfbYe=VRak3|xo-0Rv+&a1jPX3`iJ|F`!^T#ejwZ9Rnc@7#J`y zFct$BW8e}DjKjdC7`O}rmt(-fKo|oN3`8*y!$2GZ<1sJ+0~0ZD1qQCfz$6SbV_-4{ zreI(y2Bu+PItFH7U?v7;Vc;qZ%*Mdg7?^{BYcOyv2IgX59tN(%z=Lhk+FsxD^ApVc>QQti-?_7`PJycVS=^2JXhdJs7wb1FJD`9|rEn zzylaqgMkMz@DK(b#=u$(Jc5BoG4L1$)?wgr3_O8>Co!-d15aV#X$(ArfejdV76Z>= z;CT#e#J~#}co73HVPF#mUdF)ZG4KioHe=vb47`Sc*D<}lqcLy{21u5{`~^vt!2~4BU;>h5Fu@QE zoPdE7F>n$FhGO7k44i_2Q!y|M1E*o&bPSwqAc%nx7#N8Gk|Q#2?Kv1A z-)8;<$wQf-2?OV0U^E8K$G`;`xDW#Z2F76EA`FNakT4))K*4~D0SyB>20|DxFkoU} zECw#dz$F+Mhk;8ma2WCxz+?e#lTG%ScZY+ z7`Pb&w_xCN7+8UUTQP7O25!f|N(|hAfjcp97Y0^g;BE}ugMoW7uo?sRVc>oYJb-~U z71~y^fWej{C1Fv9UGX`G8z-t(I9Rpi1@C6LKfq^$MuoVNN0gQpaRUIkk zW8eY|T!;Yy14Ni9eh~&l3`iIt4J@VxX<#t{X<#t{X<#t{X<#t{X<#t{X<#t{X<#t{ zX<#t{X<#t{X<#t{X<#t{X<#t{X<#wIL1{M>L1{M>L1{M>L1{M>L z1{M>L1{M=c#K098xDo@CFwl&F$rzY|fvFgnh5^#RV*ci&fyD%*fyD%*fyD%*fyD%* zfyD%*fyD%*fyD%*fyD%*fyD%*fyD%*fyD%*fyD%*fyD&ZV}LZUm_I=pSWG|~SWG|~ zSWG|~SWG|~SWG|~SWG|~SWJ+@zzrC<5d&=)XvaVr0~ri-U|6OaZL z6OaZL6OaZL6OaZL6OaZL6OaZL6OaZL6OaZL6OaZL6OaZL6OaZL6OaZL6Wopg(!gT= z1ZiL~0cl_{0cl_{0cl_{0cl_{0cl_{0cl_{!D23Z^wf;;Eib=+#iq%Ji@T2c^3C?kKpb$BaA)|GKL-3U;Ew@+40r{}Q-c714E%Wv z{w{X>-w_|&KmN5x@A;>-|8vztcDEr1+$7u?KIM-Ae+>9zz#ju%LGsifz#jwt81Tn{ zKL)(H#2bn*qR86@ylueS2K+JLNfA$qcx}LwBAyiSq=*lt{C{N-3El_df9h@lvU2_8 zt0zRyga4~!U3mC&D*U}+VE^Dv$pv$pGp)(Cx!vK^%`;QUbZcUEa>0ybc4;y@rX$gL zo@9;=&Q4_0sq~_;!P$~1>cLs*R9CPmYE4hJXS$N)yQ!As{E6)yZB4;cXRtNdkxjNF zx{|GfkBW?)8_Be$7G>tn$aH60l0>Y#Ez>!-AXTA1rL!f{-Px6CPi7rgpeUYRfz{fY zO?GyMGnpG57vZrPniJ{ng^8A~?ksHz*;7+Y&BEPk>2jDs(LKF@DcM#pe*cN-g_&%7 zGPpFE?n-n9J2Kf|BHNW}0Z*Nqckk9rc5Y{ODSYp${8y|Z%{zVJF_A)}gA-EeuCc)h zvZSlQs}k8%VnJIn*knZ$U5TlQY@$8cmCP0&k(RbZHrX0n(A^bGC*fHOc6UNCl@2z| zWC@LFUOua%6`m<_uBINItJ1I1p2#jrrhEKVn)6>_{3^16{wk47I$i5;K%ali_+;0N zX_Mm9r!>2L{VIO_eYzDDzeugOBA$PKi9cmC#J>`bNLym?gyoUr5tC%8Y<@8m0#9n| zP6iX5ovB4>@R6oF!V4aXgzMSkzgEDOzxP5@KsQxHNCu%);Qp z?sQ96DpP#^D$fPZn@(mE+2Yd`OHYl)n}Y4BMT@(F3zEU^bZc^93U1CJ-Gmx1UefA& z@$Bo4LtJSa8;r}MVg@6b?zYxoI@1+w$tEG_1T)=T9T2G&rbs+1*XdL8AJ2^@7j!Qw z2gZyNFFJK{S+Z$ZV8EY?X~(9+1A%^UOwy5KkAZ&%2M!N+r`lS_EL?E29zF_= z=9bF^KC81E!YSFPDR5-qqoeyTEKUVyr_zcX z1V6bU+0r#HxG({yXdN^7s99Zb&^gzdFgufNHADHhF3XZwehQGsF;0HK>gb@KNA~GN zM?KNg>7tpI8crvfYOhxZiCH$)p2}98v3w&dlC$y2&iu2`nhdsPTDsfG1KL@>!B9bw zZ)C_Bi_r0~X^!xvs{fC@vksS|=(c`<5Q1BR%K?G}GRe3QB%=udk`RI5#7F`WNCE_R zcXxLP?moD?ySux?x7M6J@2Oss!^{1i)A#-{)ep^d{m#zr>Q&XdtE;Q46D=D|nS@ir zIl)>_{0g*Qy=4NzBkS4dakyBGo4FHW3a^T2KH_?a^NI~k6xZ0PyG^gf8rn|ZY228J z+fQu0T#gu49@a8x;`AB+aOw>mHy#GlrlMuqGG^+uY2)Nz>VGe`{;lm;vj4s4|7Vfd zY4!f6%0kWmw7c7Ooy1vRkG=79u4ORV2-7BxMJv2z*NM|+>@sRn3z`!XrjBiGF#N{@ zFSEQzqh=$TRi;iGJesweF@JO6+!@XO<|3BPzz!tOdmI9>XflaW)i7P27evB`;2kZ z(LNhHu2)MukxeJ-2;Cl|I7iO^^gf~4?7Pj?a9>pKZ5=vp(x@?L5901-$hfh%;;@$% zEj`|Pk86pv)T?(}<%d~u(nQ{s|EJ1NgA+C?dym~|$A5oQ)q3YVgALcArcRrLJAt-;FsAiBZ(8d=YWTC=-%V?2 z*>v2r>AZ_i^-f07K%KhN?$c^F>1&MX*%Hg;qNshjTn_gnX!xS7ixxjR`&y5xr6oUU zQcKNzdJB4h*#*wK!vEyj_A<6*@P^EJc~GgAZ&+Bi?e;R5*%8xuMEJMtFKO9`w?b>T zwDc*otlaMHR|uumXA`P1c3l5)qo%c3KGE@Hx5D)tqXV>6zF4+*s!_gdqE|c`&EQ~K z9W6NDF4iwnuRry=!du_zt^J}I^xoHRWZJpk4LYg&2;Tk1bLs!YkKQpSe8jSeXfhBy zvJyD{r*XiaNB%r&FY5i@ok!XK-f#48&Z9&u>YPXEw##rVo55Aty$JjBs290rspRI@g!}AD_P&?pyl!&IB^C)mVO5*9?Kb=R(ci4~Z7q5U$}t=a2ZoH}`@iIc`nn|*G(l&4LbI&J#w|JZ!A zibI|QYiN4UJz(OL8BHwroWVLpy@^88yX$77rcIeRWqcD$?kY~b=W5V9o+wswseC+= zC>LXqWHOhD6!OJHB$X_ba`9L`m5#>$WjvXCqlr_-HL=)dxN3LmM7=wQske{c0l}&F z++ph7?D0FGc5D6a5~kiheg_n?jk?M*y*gok%y?y*{(0kr6^=|g~&5NV6RIxoD*3jy=kKc~k zt=G%>8}v>_W0ia*T8tEP*?1(GD&u}WR;Wa>#Y8HbNuv>-kNWr>5VF0*F~L7nkz4?4 zuzq)--adW@1gG8$hN*Y6$M1mJt?`5{meA_AkKX~st4J-}pm)BULO)498!5%JnMg8L zLeo1}h(ek~knJVbW3+Bts@PlvYp{NIpx!=yw~39dD%M4@hNgG3 z$8UDNI!hJXi(w5-?`DtRe3;`bRctSgHK=zoovxJA$vB>(RdSJJp^}bdQ|JVbW=gSa zHWke!V@V&s9U0r-oErR770GT`L(|*G?||UcyL*^=H+%dJsNH(KTp~=pn>~KdM(-sX z^v;y9a379;s=GL7e#xl$yX%*7)ybcZJrm3Y2bEc*Bz5VF0*8jRL$ zOBI_fScCDq1NHXt8|t<#Rcx+=H8j1OJ$}!o{k?LSdN+IghPLifMPe1K!TOypCo7q9 zx)_P)66HuT9xp|5@l+uaucYJIY`$2CW&HC?SH||YuMghvRAJczYiN4=_#G$<>b+{1 zdN+Ig4p#44f7NPX>h0q<)NNa;*jycJFrMILon)p|iAUn`3dWyAONigOQYsQnMANZY zG!f5a{P@8(5&voHlVAm}!gdX;q3P}8cc3(=H{UxBO>ZB+8}#P8-J$92<9CDJYc=X! zh~;B=$1+kW=J5QolHvH1SUyrLM=|!KQpqHe{{5YRj_oGWjq$rzn0ov89Vm(_QjswA z_VK$x@7`hR?c;ZY-hCSME=6O}d@+`eB=8$a7KJ-6Qx)wCUVh4G3&>l1axdS z5pRs&oX8~DKIuTcef$m-MHQ)7n0hyR{GQGHC-E@#_VF9)wk=g`Ca?zMNwJi|c<+1? z0|pZ*#P4z}QYdFqk$57TODE!mWGt5Q&oA3l{D-Y08{>B}Ouc>l4irWesZ^MH`}p0U zcREbHef)0FJJX;y#-8L-xkNgWNv1I$UMiZz_>*EOQY>U*`9!9GH!ywwcR6DJ27 zC{-9{u?DY~9jLdD-+`i_-nlUKZua;cP`h>f;M!s8?c;Yq@hVb%8}u&5)!4le)H5#sAmC8k*ide%Exa|F4RT^|1!^j>SubOePzP6Nr}5@j@CMCPh58#G5QpM%~tfA@c<9D0b*s5aP0BdM^ zH+%e^P5XObn0hyR{N~4BoTZBG4Y3C6cP?IvMPvAMLm`i;2NA#V{(L5tjbKu%JZ2w_Yy?g{gP5$M4zbJ-9*d zN-P&oMpFpgl|0_ROy%G$wbkAQb}bn6L=h0rqgWj8lske{c4SH|Zpm!;k z#@BZexkxHiMkBnOiAJ*dN-~m(WwQBrwph*-{qxI!j_oFfbqV~biquG~!T8;Qdi(g@ zp!eos>fP+|J2*VH_Pk+>F!lEFyP*`Rkeok(QUnEIrWi5Jj+k|{;Fwipo7mW@VjYJy zG`)TNhPrJ_6`R{*4NY$!zuUydRu$`btUKNKALI8Min&NElZsZ- z#X>5c^5X}g+P_%hjpM&3;Gc!2w~ya}La8D(F-*OiJ$}!o|9gip^=|g~J)800J2vQD ziDy&UM6nWym!tUpPO6f?{IP`?zModAWJ`ruDv|K-??APGvCP{z{(BPsSulQgpx!=y z2MVQ%)Z{SrZua;ctlqWu;FK`+Zua;MZQZ4c#8j-ocoNUWW4Q{(pQH-4IZVBM{BF>DT9|tK_}!rQ z^aj0C$$YYssH7r%RR{BbW9q7G0iQE2l<-=8KAtEibH4vOpkup<{ksPKR7GkA)?obZ zK)rqZZqR#|F!gTs_#IHYwLf;(F!gTs_&uBcs@)p&&gF`QVx^lZ=Q2gSzk}|S zLL!?fm5b?OF74ajQgho$ejVghBxhm`#_tZ)+sE&K;M9BfF!lEFyFu?g!qmIj^}E^QcR=md`<;Co^iGz`xm21{4<;&jewoWBFn?7k zjq!tpWV~D~C!=XU{#%r6CwW$oSCQNgYp{NIpx!=yL*2Heip~A8hNicV-)&-JtBUmi ztfA@M?D2ax{U--D=v~5l^U)HfKFP+?{AvRtIliZs$NaIGQleOl#S_K2AO8*6{`<1x zf&rTx?Buu@VJ$?sjckA`?&<4HJnM5jGD8|w2 zok#ykHd>72)A3>?RY+B$iDao%iu(R#R2R}GV72Ahl4aV;d)Z52zNA1@7eR!C9 zH+%dJsNJgf5n<}><99&uDpE%_=v~gnOZjv<5lQDU>j}C{@cvGkUouYQim7BJ7fY1< z_>+K+?IunP4!Ezv@F=Xo_}zhe`}iFw3hI4yn0ov8-Jtg|Ve0MUcZ1%?Hs~Es#*&G6 z939?Kw7P5GPs``C#Yhpa?_|&}FJ|(-|2v>#yNQ{N^H&`grrth&2a2MK)bU~J-R$vu zHvO?DgsHcW-%z)0sbcd)tikpmzPJ-jr0~I=bT*IgUzTEcewogoC0@#;@gF{5oXPwC z?=}_xVe6LQ->OKSgf%q1ef$mxPQ6bKQ}1Sv-vPB-`%g{@Q*R%?1BzFXI<-OXbSavy z#L9(8Dpo-I8vz{i#};FeVmg`5CCimktmNlE3Fz2vVo>A!C#Qv}w~ya}qNpNudYF3q z_}!rQ8DZ+}<9CDJXEx}ajp6N`LJcJ3iy6nI+jQl)1`uce?A~%`-$7T1pZb<>O8E$_}zhe`}hrY+mumO~ilN8r%5&%ZtL)+sE%fX;hKAI842pJ$}z-{P!hc>h0q<)NNa;*t`^L zFn-7Kxk@2jjz=o^G7RSb#+MwjxlAmQ%VaPYN-0&z#r^v`Z6f~D*5|=LR*}36YiN4= z_#F_OdS4!<-pwAr18TRnzpn^W?`DtRv$O{J0D3D z^67Fmk)VtZ^cR=md z>*X~KdgpT~e5HXe%x5x~|D=SGDEVlr6e(BAm1HbiDW-D%`^BPUJIQYw`@gRZQ*R%? z0|ikFuwlfnuTFtn#7h?eB*g^yU+|(DZKh_#F%+PH%z^oJ$?t&Ztc&SuR-r<9?y|W7{!?`Ch$Hiz8;PF*h}#UrVTGg(fH2h z(msBRlIDoK96V~%Vhm{pn#6;CU#gY@TV$L3u6t|?+(=4$L|Kc z7YS2uAHN&)UNlU-ef)0Fd$9(+qw!capTki6O0?`DtR!Q1(o-b*y- zoiD`G(L^~NNo5lFo<=Dd#ivN|WxHHHTTWNvg>0eX`%j?SzgQj)+EkHT5^FGicc9)r zeg_1n-h2WPn%>PGzXNKw_Q&!Ij-lz@?D2axdUM2hQ14VF8;>W^Yf_A7(0_tC*dw`I zF2m{B@%R#5;T8Wrl?d5h@|MQ$AuSuG-adW@N}`I?a$)N2<9CDJ%ZI7AkKYY?uh5`( zESArvix`R@Pvi@1f0rfP+|dp7-5D>vw!#fZUVv{;P95wY<;EarpE=X02p zy%@{KvzcN!pY`vRk z0AWwTVnio3Lmx0#dFz6rjjY3U!@RD`SF7g?cXdP@ok;9rHak9u!g3$kKb)#W2=gl za~FiBceBUu+4P@8!qmIjN5sh%nMH4IJ zO4*|CKY?ohV)-R#Q$?~5)?hs8K)rqZ4hT-YqhadZ?D0FGcI)*r7N*|K9=~UEy^J^L zoyy^Rq?vRjQp{KQ{IXPzZB++r-9J6>Ao2XnHq$ z{O06$&Qis84r^$7H+%e^P5;T-4SE+ag>O2AuSi!iMYO;3@e-yUET!>LyIe7vs9=8I zY|_VX$oAitzk?=KB>Q3w*6$9~+sE&K;M9AaF!gTs_#IHY^?JE(n0hyR{GLt!$$AZX zm!h#sIaWaEF68k1GK=|RF&;b?DaG-jjcB4!&O~EAeoNJzeXPGzuTm)ZB_CA0@k43DNI?F%Ty|ndlZqR$ODM6 zy_-FL2dj7OdGUxa_4e@_>b5OaY;KA*7*7(>L@Ad_<|2to5`$3E2}JUEr5M3?cT$;r zDHbc2(>{K;srV0DTkz{IZA%rKn_&%2Zy&$g#Ku+?>qxAj>D}z{n;&0vmMXS4#~Pa6 zK7KoDx7P118uZR4qN!vugBRu#cxxva$4fkg7zUxlN||^O?`2{VLjV1=fR61ZW&{V^ zS7Ep%)?oeaK)rqZ4ip9T-YQJJn>~Kdrv1Hjn0ov84Rza=DmJ&l8jL4+>oOWEM{|)> zDUJS<96q9!ixm*Ri>XWrU*^GQ9en(56Y-z6ZVCReisZIfL(|*G?||UcdpoS5>D}z{ z8``={6^T(;L(|*GZ&&Wx{pIKez4OI#Hd{%gBJorO?eBb)-*3Qlgqdgt!%!;uWVurE z{U-q-+e@6&IRD_7F!lEFJ5Ul;q{fD+w~yZqdXEcJZy&!K^xnQf?*v}EjAoK)%zuKn zE|Ymo{ar}m`DMD0PsGxtWHO)g{oer{+f5u6{7V(d@mPcHlMd9|$M1mP)O$jhdi(g@ zp!dWu_4e_*LGK+J^iC#l4irTdsYzk#?c;ZY-jl=B+sE$)y{9zlUBna0WCG()(sA~GM^kuzr<9At z%XoU3DrCy>g#Z40K*x3yM|27NsfyH8tikqovg7pj@w-9qox;?++2eO`dWc$oEMHj* zt$sIq{GQG8;%N^WkB!$VVvZ+EomyP-N=S9hOlB+Kt_(K(`-LMAZcL(b2<9CDJGsD!|$L|Kc zcMnr~Kd9gw@$f3kO&dN+Igo=tz%J`H;3OYu~(oJmA5jTPG8 zrE(FUZivS)93@fAr<3tYrIh#M2ZJ@Yozz1?UPW?Wtikqo2kPzPcR+CJy&u-l^ltX} z4Q<_}ip2g{L(|*GZ&&Wx_40s5y~~AiIhiU&@Tqx@A1o#CCHfdXr&f+<^QnBQP|5iD zzXLk9o4Bt>;7?Vg4#X<;yW{ls@w-9qgTmC?$L|Kc4-QjrAHN&)KBPhKVmg(~;w7F) zIiAP+J4N(=7m}$2!Z|*OSuVsdqA=y#-vJ@pOYmWivsAHtDAr*7?m)eL{C3oCeV)c4 z_@U|D?D2ax;~@?YQ}1Sv-+|iQTECBI&^wxo=abQ5K2pKU@`&FFeEPD0LEwc_rd%%P zF)BRk=N}X$+exn6*#CWGn0ov89Vmz@Qb&cUceBUu;PgJV`}w28)Z52zsN1$wv3U&E zVEZIhiWf5RaynAZ$8(WnIUSE=OR;h!o=&G?7e}a!-X5)B%SxJ{;`Dm<^ z$|wE!lVHVdFLiBW|M!Jq>h0rqpd_kDT@~KdM(;}+^e$A= zm3TB!i4-dwf5I=RW#b8Shey+iSiF)c<}!Z#wDx}qMX88mw0t2i6@qkY!;KC;G@R)uyL_a&ie1q z2V`tNF=Cm(->OJmi8UC%J5X;QzZ>+P6{g-kemCfSRhWAF_}!rQ)eU-Q^Mza`ory={ zQH&Z)rt#^9d@7ZWB(hP=KA0?3k|{rbRY1pf6Pyg$S*qB+25T^Wcc9)remiQn-p^kf zrrth&H|Wjp2@D!p8n70A`|{-}TUM~&-t)>!KXn8D8&seg?0XIVu`#s-UKLDXGVsgr z&wALOzrk;J@HF_%#_5%up(zP|w%D_ao%T10J>1mzjbcxK-0!8r`Q(rM65%X;?)PHh ze3U|dk#No*8U^29_ocdfZd?9d_%Z0-4 zh7N0kKWQ94wR*KUDoS7QSA;KZ{;v~1OM&xvPY}*{L4LgO<-qCxW#KKxUlPtQD6t;$ zQHFb7tZe)m;fo>vS=iqvd?oY$qVT_=!#c44Soo@D|AO#k!KvHx!dJ2UTrGS>aO!ZJ z@HNcObHW*S>Hk^by^KF2JYxK5;j4l3xIPlz$M}cBqsBilj-Oh6pyt%`Ug2wk^SF)` zo-lrl@TBphjU!p}&;HCl@Uyq@wDG-!^ZmP?upc12CphcLRl;+|X9@2OPMx0+z5oK> zTHwQsw#>qO6^EuWLc{z!1@e30;y%zl#a8<5Z2 z;h*u7<%^$Mxu1$(a-MfC|9GBGo$df)%{#<_6wPPonL8uLE*EEFChM}GCsfXE5Nzmdt|@Y80Y<;tLL@G?-G8U z@jHcIZ~PA7CxY|5xLx=K;4DYRe|NucLeEX0+v2eA0UItXubZ)wFDCqIaOymt9Ph2h z=M{bsIOAkj;kO%~NBE84%>QkY|2vJ}D*P_vw+O%6_|3xaF@BTqs_`3z-)sB^fy8a zC0|(VpEJIY@Xw&bZLnWn_zSQnU(PswYW`m|zO3-i;b$n0cLnIs12$ZEUc7{rewGpc zuNYri_^Za368=0mk845UubKUl!moiox4?dGQcNY7%jL#+f32>JC)l$BX zg0ucyCHzb1Fc>=giT%4eylwvH6#uV-^SBle&UWn}`1wfuybOElyu9fQv)XZeWPCZ{ z9~)oRIFdE{_wh>|=9m3G2G07wittasx!+~P&%5B%VHUVsKR*O#{y&ubzX8tru(J67 z%J@pcKLuw#=M&DlMLw_a&%v3`r6r&5fwNrxkoFS&9d_hv7)Q2h<@>Ao|3>_O z3C?o)TKJ!4|Eusn!0CT=@y`Yx`D&7%TVT)Y;F7}sHvhkff1VGtUqbBHM0<5(@Yl`0 zeq21C$v+T3EDz>qRq@ls>|YZ+vtH7^k8qyPc{8ZyGtCcU~JMDXk{i4R#63+94y1g&_7x-iSoJVw9-0a^I z`|ify6~375cV*#>%gpCW!Wnm{=V0SV){cvDpZ05tJ+B|+Ey8&nB41HBuUq6R2!96W z(TzC2c)q&lS2x&Ghc2Q6uM@1Fiwa)>oPK@~KTCj9=XYekjCbU33vV(1i}Ryr=P}#Lt?>pA^pfI_~!; z;k}U04Z$B2zLxoULU?cEj|-20)6ZkVqsAW<9y9)ka9+=-|0}|KfiwR<8b`9GKkuu_ ze-O_5YWjIg{P4b=_TLL<8g_ca`vsjbC6K$yz?y zpHBPp#r{B?zZLMKgtNWQ__n<8jlh}z8-?>ef!7hIG;-~pX@hs^E1-y&k_4g!I}TFh4Z-r`B}n8fb+N(5YFc} zREh_;};pgikP@7Csi7`MFZ~4#uw#zN7KWg-Omd`znZ!UZ<<0Hk--o`f*&gW9h|3$+4g7dobrf~KnupL_x zzQ6IJaU^T`9DohR|4+nzCOGxKL--!x)L{+b`+!r2O@$w9_Nxm&$oxMn{7|!BP56G` zJl;2iA7*|Y5`MV(Syecn>#%;FF8nC7?;-pEaOznwj$}=@L$JZ)9U=C|ntfjQ@y7cJ zXFm(u+k?daiN-e;`;&}sB>ZIK8wx+g_(0+JfETgf3BpeR=kabJ{BiIS_;lf?oBjI2 z&osWC@MFMPe-;;hw()g^pJRL-;b)ou0m9ES-e34>;5^>(!Y?qsz3>Z-k28*Bt=!MW z2J_!n>@PN+5`HQ;%Xhf&OUyng{4(PS;g=ha3%|m6O!$??qr%SzXZcoyUkc8A4ikR0 z@u9*m0;is1jU!pp=UU@q#Qr+tqlKRV&U!UX{G5pPRT+FA;Wxsbd~fk{4LI|^iSX-f zzoUfTWPbJ%eyj04h2H?qeC})<$=dPWf(`1ho!B1-&iJsc@H>rfBm6GoTMNJ2_*TMi z2WNhE5?(bvRrtNerwG5#_+;Tjz}db%(m0Z}A? zQ22M|XA$#*WbL>PhM!UJ^MTm^1OxK-h5u~)J>kC?e^>ag#@`YCoAI}eBU#JO@5bK} z{v|l|e^B@zX8)%6KM%*X4ea@R+&xeKhCMl-kGu7%6UvdC&z)WVm-&A~{LBe^>hrqr zxs1Oi{7=jO1H!)tXF0wq{6}z>`@&LQ^T0p(LdNk^)2*xV1%=ORd;#I_!avXVwS>=S z_VWwh5czu<=P%n!?s@$o{P4VH``V2dB^0>X*?=?P2+upuMW=rvTnNN-plwZ z!kO_MU_U^3#OzlV-pBY#!g;-<4tSgs*e~xxn4cEmy}`NP{=#{F(hnY21pM&+hkjNR z&igL%6@;$^PMy~felgNrz$C%HG_~G+N^0IK=ACi}ZvtN(- zTwOTt19`j%_qF4#*K^(v(|$Fv=lwAK7sbAx@q%#nN6HzbA4(B30H#naIyK#FU?8%oj4zpT( zX8$b9cQK@U5Mtrjgd#YPcYSQT=fw-iFx%UIgS+Lvq50=~buJ%lobT1Se2DRG!f%7$ z&e$*Ci*oIGUro;Uja<(AaPmckv!96hrzM2K+}{ zA6!4|&!Yc7@pqT=c>~W2#!Hv8ACrE55I^k4RpZBrkJg;5O`(AR^f0y$< znY^>`Ey20p?`6Mdf&YzsekYvw|K#5aXa6jZ_Ye4Yk88BqeeM`LDva zH~x$9dbzM4iuOMX?+?!NWeyy$o1bndzIyOx_}#_u=G>ldhhNfV17gIO%fs z<4_;okGT6~e*rn~BV2wC_+Q|>FK{{gBgonQcRBk_$l0EEIr}N-|7+pXjejM4hVd_r z*Y(`R_!q(-!EtgN|1NmPH^<+M9-v7GCwXgYkMf@CK{AJ+>8h=Un z-r&^d5#a|Le^~ez$Op%vT`Bw^^Z%mpdO5PcoAG%){5v;3KMMo)tE`A$R|k&A;<&G_ z!Vfe5ysxBv-TzU>pO^d`ZTvam#~6QB__4;H5q=0b_2K=sn@{#{vi|e_)a54_=l!Y6 zPc+W^Q#b!dg7bLik>fqtco*aK;~fLe_{Q;Qt{?V)F+aS|bvgUX$a$aZ=I3U*EU49%m>pAa3U4FK4-iNw;KXBIb6*>p`xyF|lJ`~aQ`zr@;LPXu!mlv?o$xD-e=Ga~aO%Kuh;DwaGR|>lF2CA1$3?n)migy3oxHB+ z#o*NEayhQ+j9+HFZhr(g&+8QcT>sab{iR}m78(@4!v0M0e;Mql|9!%5Hh!=050Gb$ z?_EOndn@e8y9>VwocldP{M=^t-NgQOvp-$z?=*gz@EgIY+r`4~Hhz)tWs!ax_Ph?e zx-A3#7C7UI%kM>+ob}Y@J<$;R5d3xHIE-35?S7=mKN9-~jDINnLE|3?e-aJ4ci@Nh z(cSN};O~RqC%gyB_XF^!g+Gck`BTDQgP-@ndHr<#SCOVZJU?9igz?LTKZG=o_ch_W zK#x@sPkKNY#*?}}Ct!Ou@VId#Yq~vY{#hU0{qi`eKjWXvH%58A0luy9XOO1)2_SBbpvVOUo=MOo{!R7BF&3v*Q=kkY<=J~>S<8q!?%qQ=YTs{=X^$K`J z_*+O*XSQ2i`%jSOeuoJE()eKEUl|`H{4=DPAKuTo{=Yz)`yDU*8?)b1_;<#)5dOXK z&4vG9e57!mx2&Is2>;1A+ox_m??l{q6ZX3Z|Jm#h68@|4qlN#1H2usF{=4z%!v8Qn zP57V2cQ#&+Gk+Q1N%(I_^LP(5UXMS#As|0M_#DRf7e1$PwzFJ)<}%Lv2A6j>zK`&^ zjUOevi*dGFT|e^}KSFp{a|boE)x>~|O5&G<~=pCipUu#WKVX1|;8 z1(D`+kiNn>o}T%iBz$S(y9(#~Bs{J|g)a`yL80jK{>#r|8Q8Q-=S`&D62K2G>5=D#3( zb>n&C_2XL2{EQX*p2o+BJ>QRFIYz~PE#rNJ_cFe=@QCr8@ZQF=!uuG{2wxMNI*c}6 zKdzYZQDXlN(!7p$7aleLY2iuZy@kik|8~L?;Pl^3c*^`lgl~Z~`#F0Fe;aAGLsk@? zgCE+jCA_ckHHEKZyr=Lrz*%qm8L#WMp7Hg?er0f;7XyW_4bFV7AUtn;dEx7VGyiJ{ z&w{gFrG#g|spsOt%f=TIUNOF?@B%pVxt#I(@eVM)tndwtFC%`6;LQK(V&4y(`fMQf zJ-~Thj}Si4{4Xv1QDm%wb~xjk+n-Q^J@rY7{Se~`;hPwb8?PVl`rs`0^~8QKIQPr; zjJw|_@elihpD26;?8#3MKHU5qFT6iE%W)BKHx3U2XMWZdKGN(L7QPWUbsivmGjQhr zIB+-rTNyuA_!j1WA@Q?~abB;O&$@0~o1bIE&$ed2fY^^RKEL=MZG1lA+nN8P#s6){ zKpDry_JDg__k)+fdA)Y|81p}`_}?C!_Pma}_T$aItJseN=YH9ab?tXB&i1OycQnrS zq01*3XZz6QdGvQZiE`w4G`BuXfjv3OikGR|={E}sC-`oMOYTP{CB&u5?y#|OFg`TW z*iB7`{mlO^V!snO>jTF>y7}pc`tvwA$4k0=U)VGM91rF4LydF%l*VuRyCIUd%vAArAe zp1pg7pNjpG-z|J?*mM3vjvuEV{M7uPX7(JX?D{_$ocTFG?9VWJj(2wL%kal}2sv)c z&IKUHp9B0n<8Tw;=NtbMzwUmYKza=P{2}~8Sfi~Z$DlRqc?3gfQ`zYJ*}7oS)1c!ZnbH&do;H;l)Pr3GIfwLZR+_%eb zFwSw}F8>kd(YZK}INr}ak8XlJImf5D{4>~}4c=4uHL&M#alEkW|5|V!7suDT{6@IFFb2eeUtTZ=CH?m+yxBJOKZPil4V&&vIEs^3VCj)`NeJ zTX+3@VE%bO;_?r{>HiS%|B?A$S^R%uet7@l`gsSO`Xt5A$KcEl$Je{|JWr^@D&mLd z75ya44}NO#gy$#idH?A8;rU7b9RKTb#szY|A3$FB!?-{{Y!AEkj0@Z^pRch#)a@C+ z$oX8%ttX6A^uzm8*AK6M5 z+@ubCe}aDSQ`3{}5^}yD;QD8~gnnKX`@hVd?`OF7Y?m;fypMMI9GzP^??YYAahbH| z{ie$~;Ews>dmAq2_)gmM{?6qb4@!H!kK*#HkRP@;`2LE^Ij)p`*#37p=ar)$w%c9K z`Ss|B@3pv`^YPIS+f6R#Jci`FPjorw^`n2b|6R^`63N;AcRA-(BzcBgR>oeg>a55CBIz!TnBr$-_8-vc`cbw zUZ3fo3)`6-FH6q%HeAm3E6D= zcf0l+$3xERq{}((hnx+4m#=7?_ub_9sT~*RW95DilKrk^ocB%cajk5e_b+ao;kcjM z;U^;YoQL!-@S^ZljTeNkW;`#v1)Rsl{(&A&{#Q5qeqz6d*|Q&v_FPzwJlxoo`1;0oHIAQ}4*iVpB0O(=hWIHMpDw&;e46l*@tuXQ4bJl2NqEKhRN?D@Q@5>! z4=}!!@C}S_DSSupd*Eja;Tsy?T=+oqGe&q6oagmA!Uq}eD}1o=wS{kN{znTRV)i-V z8-X+bLxm4BzKQVR#)k+WVSKRgO~9%1DB)YAM%rgZ)X0t zGmf8HJ>1gxw!*hEzK!@93Vt{I4-&qO@r{LV0nYrKD0~Et>k;q^g~wpec(}LlZO#8i z!p9ijQ21Em1BH(>zJYQ4)O6V1_yFPKjrSKn6O31cPc&W@zJu|S@G>~#$zH-Y1!sL5 zDSWc=&4f=ezNzr3#zzQ01^g2DpN`{quctd3=cU}e{!TNFe-hx+jqfD?!%&4xIJp1mQD{A1{1&^x)B78sNlZEeZe3I}3jPEG?K;t_IKgjq*IMf><=-{`2pN= zKh!wimv{ML#`(Uj%O3+jAO87Xt;>%v&i86vexz}}SL^bljPt!(mmdty@|s}0eq2YJ zJ>R!=?Tlf2{D6!D(L* zeyZ`j@RPu)GvBv$_j{Vz^L<;F9}doPA0vEEaGn=?3O~#E9>UKs|9o%P^?#=MA1(YG zv*-J~uKjt&2MXU8oafQ*!p}GR4TPTy&f^*-{B`ilzz-LGGp?KLe@+X($oy<4{6gFB z0O6Mz?=Spv;}zkTfOEeo;TMB5pN9#bW&BX#SDGKr=iusjDL8f5R`}IspAden@wo8o zjK_p;jQV^f{PVdM_gg>juCe`YBm4qzmg7wEa}_v`_YmRN+kT_MZ!ymIrrrJC2+rf( zTKE;m=j&sl~~gz?uKugx_U+SK+sUvwZoUteek!j7P-&PH^t` zMB(=uKSB6?#*Y_14COKle$F#qFPFPv&;0Kq_QPR+75LS{AAmjmoGbinaK?v&g;&9O zynKJnt%rAjQ~!R#A2B}%34h%9fx;gJr~mbZKWUurow@sc!u%W{{3)|vSNON{U~CZ@ zIsFh1df;zdc%S|(?8(;`{aQkoX_|O;qx0GE_?yw!-RJQ=keYo`S}>f#q;+{$^X2tXFi9D zpGAysB79NfLxeA8e6aA(uwTZRl<;n_Cr=7r-24m@zJ&3Og?BeU3E@i_j|*SY{A?t= zC-`Q_&nV%`8sAR%a>ln6zP#~mgf9$E{jZR6SqPlvb))b(z*+zAlk&QD&er#5zZSkA z>{+k2mi?|`d@JESjBhD?RpVO-U(NXD!dEvw(s=!RS;P2d!dC#N&XdK@O5i-+dqszp z!EXfrN_a2hUkd*Q^^NiTdEu8sw;RAe5#9%W$UhbyHU5$CnDGyV$BlnrysksS`1`^m z;5@D`#Lrsb)S)UoX@1@lo-zKe@T~E7g!cxgKF~ykzzl3I723XFDn@ zyg%&8Gs1s?J=+6E3I7C~?WNO&Zva2EKhk);{;Ubk^JS8pFB_Wu5n?|Ooc>P}{}piR zaG~(Q#xD@Q5jgj|qwIH(`9D?chZ;Y{cs>6^%>VhqH!=S^i2o7BCko%x_ypmb86Piv zr19;AZ*F{?@GXpw6~3kMF~;l1bsgH_TR@*<#C~holOHYi*Ta5u@B_tuTiBByAbdOH z`wQR7@-tfek23rH#D0wNeZ~G7(u9h^E$6FwcBdLAr%PjDXBqr&$$ zexL9Ij6Wj$K;sV!-vgXFyeNEca30r{!kJu&oq9M@KeE= zpBsgrZTtq|=NP|U__@Y8?#bQnDd5!M6yfI^KUw$%#!nJ{1~|*>QsEaFzeMh^O!g7o|FbFbKch&1ORsS2;c z5BWX9Zv|&Lo@%^)y!RPDMeOf4ezNd;&HvrPA2fcK@P~}wDf|KRf0FRK!Kw2##_Rcf z)cDn6|A_hF`><}kea!5y68^Z^pDX-faO!r4@%nzBGJd=8r;Xnxex5OYtMGfkS&okj zf6n-0!k;((sPGqzvtGEz`=arOg}-F{A>;MqdfE7c!e24|fcSX=oaHi0_{T_p0RE!z zL1-s`0{)lr`hH(U`a|&d#Xbr9kHEhb`?s)P@^6H{4$l3)Ab#Ee=YIbb`*)51A@=VX z|6TYd$j_(nGcV3#_k8>S_T*iKe`tIjIerGt{JblEJ_hIU{v!MvvwuhU zw`Tvd@b8U(C46<1%V+T4P4xc?_SB)XapSIi7vmg9?fRd`crW2yjjttqZgB2*W#RJ~ zUr9LocY4B}|3c?pLzP#{7jV~vBG2_b$U)=aI z!n+w?TKK}?)TgKL?qKB?7Il>ZG3LweT;V&9yLCf@R;#Ag~yH0VH`iT<4qW6;9)-NJZb!IFgO1x<9`WH z8~;;y#`qt?F9L6Y4!;Y}8UIcA+Qxqs-q-jq!q+kWv+#9||75&=yz3eNQTY1Ce-J@feKNEaK=)gWbSLc#(K1Xx;S>P+c{%zy+{8x;>CA`1!H^t8Y<8KJx z!1(LJ%izo>pL4nSxd425a6Zo>ujgl=`FTz3H!}NIg>Pv7`Mk;XKiK%^#_Rrv82?Q8 zCdNM%Ki7gUgM9KixSP+RX3ytt?tYI$`{#Sa2R=V_uj4&Bx4y5$>#55}zz^;DT-D_V z!Osuid`{u=6Jfs`^7F9dXLI8ZNq)94{-E$JjXxlKE93VI9|lex?h}4H_|o8f{_g6q zjoI^gJ$YUK?Tqueuxmfc_`SkM8?Oo<1kU>NobkHcM|N$`CQvA_mSYN4}7lV@`>Oqm)phvSa9m| ztnjI3&v7HJ{yQ7zxDl7{WPY9zKF#boZp5|U7@TqDL*diS&(p$pHU5e%FZ@)L%a5?%Rrv0<-zQ|h`xt**_+)UFBgY}Q<+V3B z{qwnr%l9|V=VC73*Ze;w{%3+y=l6vlWc)qh>~H!F`(=N->;C}T?|#A$HO}Wau08vY zIL|iw$z47J_N<3|-tE?hBaB}!{BUskVZXZTXD@J;7oTssd=GGzFQ5Ckd{c0~2g>^q zmmdsHecqM*az49>;Ol}fkCh9rp}WDJ=gTYDcJqHEIFIW(;oE{U?p-VV3GnXVCkX!< zd@1nrgr8)7t}tGYV<&(!KQD{@X~tg?e!6jvA9M4695{7&NB9|L&v9k0{i)zQE{>NV zujl7%;~X#H+Mi>b;|*MXuJNmd9|+F#m*Wy$`}2)IV!XcJ^UTksV!tCe<1NR@xPC4) z`%8phZ2T(Wr+~9u&NW`&@1Nk^zz-GslfhZO#|yvI{BS%l^HcZp75HMX-%IQ-H$TS- zzry^SE&M9uX9>RqoaJ?~@N10E5`GytkLwWOSA$cBi-ccq{6gW^nV*A&&x`oEDE#1* z43x_a=H~+8Hyb}+_)XySvy<>!%>GQ_w;AVnUAI2W0%v(~T#CzY1g8!M3BSYaj}?BW z*&iePZsSJ_zsESo$+-Ki8s~Tzm)~og{UR>E3!M4qxEGh-3Qm2d8n4&4`^?Yb!XGgE zDZ=MLc`X7z+l&8)VNX6z_#?*0il0Y~j}iV5IP*DK{5%Lw{SOoS`@wm<9Eal`@8jlY zlJKXD?(jsJ!^b-;m;XAQ2aawPJKoTf5G@D;m@0&nZjQ(zMJru zjqfV_NpR|Oitrb~nV;>1FNyM92z+zlufv{vr0_S4ZzlW|aO$~>@I|_I>a+lON%-5a zCoc+r)BJBL{9WTCjMvNMJ>$cLKMl@$HADQo3Qm1a7XG2}lf=*a=6{&je_;Nn3;)D8 zb`hwbADf?{!ap;6gAB^XP|7g6Q@Grr6yc320WcKSDuOHX9;5@GV#Qs;~ z`wIWf_&&nF2j_8ZEc|z~-&^<}X1|f}{pW1`o>xZrFR-UR>lv@-{|j)QciV{l9Cn^= zEqqSnTM6G5`|Schiwd91?6(x&37q*^SNPm!zlHFhkx!P(1mRs_Pd;AwU#8E7!smlM zbslKEuEYGsHxS+hocUZw{48j^ukeM8uPyv<(|_W{=wz7*`qdkSCL_!`2yfis^A3t!gwLc+U) zGyiGf%NtJ#U%_}%_;TidLE$aN7ZAP-IFD;};VTl`R| zK6hJSt{`6(e#qw+zMAp*gl`4@IqX+7Uaz;)z`p|L_z`!%Yhb^8Uhs+Jr>EJc#C~(| zFJQl>@Go&(d@ekf@HJsi|8I%^-p2WyKad}A=6?nAQ_p`Nvwu_Uqh`->My{W@@#Tca z%+DL?>H_#pZ!Vp8-YEKcTTZSgVX*;u}_)*WyHQ0IQ2{lU)y*>cwggj z;nTsthM$7){ZPK_&*A$cu0HFSpPs_kH@=4Ozn}x3cP}kG4}0>ZglEC2!w;fE(fIem zbKorZ)x}T2{4XiIVtfhV>w)ulHx|AwIQ7{`_y)%F!pq>y&uYRqG`_0v3^?n<9KuWB z)Zsfh-i^(^lh_XgXFfL+KG^L47C#$-GoL-geyH(Pgby>mvhV@m)Q#^Gx%Ff%aK?>( z!Z$U(zVPAZeJ+_4so%&QtaujuZPWU{8HE5Izo^_G5*QHUGWD z|Muo*fY@&b&g0!o_(ZesFMJ2H-&FXv;H)Qog-WJ19j`|-p2VJsLPK*ePh4$G~xTgo_uHF`x)O!_|D)gm(j-SIvikp zl-M6=d^_PsAwTR_KTr6Qi|bG*Il|48Gf2tUgB$-<8|ev62 ziJ$$!S-w++pJaTB_&M45WZ|b6pCo>cM>+C2#X8VAGQOAan~gJ{uAdvgx!>O4?s45}oY#Gq zUjWYfv!L(`!C8OUj&kj9H+!~!Tz;qV1%&hbc?QS(6Dk_>S+8$*!=C&{$Y*8#r}lJIA$O z8U4CXBmdvZejkB7`8UE>1ZTfN0>|t6dCYiR_~XW7!k;i6HICiX&aa2TnNPM)T>p=P zGe2KTesa+N2JpA>?_K@p0_S`hZwY@Ee#qYx{*>*P_v!9_9|EVIa~rSc^9AFbg+FKh z-w^*#gERkMN&a6p{-y9&jDI2gMR4Y4F3IO>#^)6Nx^doTxySW}@lL{D1!q1#m;JtF z{4?YDsg>8;#y=JQj&aTt?v~3-;MD(h(dRwmuL*zO_^Zb2`#l|;*GKjTy4S~Jab4p$ z0gfwn_xlm-$vH09<$TZNR&b7wb@?Z-C+GNBmw#%U<73J3Q`6xAaGs~#M9-yB4~K)Z zT}}P#_6K5P5IFmD+;ZW(w1dHU-|F(O;GdlDak%^raK=5}C%XI#aPF7=SLF5meq;9R z?{e+m1!uW`3`6&Lzc>Do@E?qSD7+`)$y4z2f$*PTPyW8}pN+pK{1$LtcX<7B^Yg25 zUcX%Ze=|N)`0vJd6F(n!%9N>%!CE zZvN+hKIBgsulrAi@3j+{Nsl5dZy< zpQ~Yim+*OEPkyKH`HbHod~R^&^JU>rB0s#2^Z|G4=Yp^&?`<4EHU0S>V^{EHg)e0G z5#bAi(|#G@iyB|rcwPU+j4vg8apOyhpH-0mdEtLm;oV_R&SP?qYYF442w&3p%Hn4M zaO(CFxLbd^g0ucSE_{A)mdowJ=K*KAza!URpG0^p8OTzJ&eCBd{yHw317|li^5ko{(^D*)au(B#-A6?`^m?U zpZmnmny@FoSNK}S?-1V0`0c_Y#%~k81^A=zf2;65#%~cGHGZve{M3#sX8anlj~l;Q zc*6Kq!jr~l3GWR~9jd~4zx_D)W5P4ACx6s9eroy58h=E1%JzG+_*vWdO~U&czfpJ^ zocX**_`1gLHjbZKe%3R7m+ZpEK9?V4obT7W{9xmJzux7C80Y)-EVaEA>y2}qY z&iBe)euQzpKko7)jdMJJ%a1b7=l(7~+BlzsyZjjAd=BpNV~z89vCEG$&Up-6e!Owc zW8m@=jB|bfm!D{y@4vhJB;$M!-Q_16=X>ZbKgBrTH+T7|#`#{k%TF`T_rzU(x^a#_ zarqg>*`MI@GmU>F{4C>~zr?ja+xQ2<&oR#VB3%1(jdMN(m!D^x^AfoHeB+#dz~vVh ze_Qy4#yK9wwZF(X$G5orV&fdI;_^$3zb^bz7=Ky#mBwEZ zKFc`g>u~*FWt{T?xcqA4oTtL&*BIwK6)wNlINwut`E|zmUbD-uH_mwlTz-S`r-a{V z{7K*+1{{`;2!Le!uZ~gg;=si|_}Hv%lK)|B!L^ zSG)XSvxsS^q1?Tmb{j}t0{?@MV&lz7_?4LKjnDDp3&w?M0zjFP*Xq@AqT>g^r zRfRtbekT0%5dMnsRfNB4oX<&J|F0S6^DmdbZk+wYE`P%~`+;5lrg4rZbopDxId0J9 z`+@VmAa1;_=R3yv9M-je*EpZUy8J!keE#V2_l@)Upvyln&gX+Je;J(R!slEr|HwF> zE4ln*<9zPp@=uKS6#l7kj`wrzKLn=^9G~Oz&yAO)efWiOj@xnVzcgMH`>%}iIf85d zwef=3e`7o^{9EIEF5vq4&Ui}r_r{aLe=yGRmh@9E_cO6Qbz19tMs9!jPp~H+kH5S8 zXX6uu|6+Wi@L!Gd{Rr33Z^m~N{=4x>!v8QnS@@sErwISc_*CJ48{bKIC$#^0yr>d^ ze9mDUe+uw9jq^Pe_qgUVK0|nCEwAj+LLSY-2_0J<^E?%ZsK%+74)Wyyk3qDF`kFk(QIs8OP(ikh}q zvGQ}GVv8?rV@q4w(w4SVv7(JF^-uewzyEXY>pAz{GjBV0W8JeKCd_^AoqNvx-sgPJ zbDr~@=LFD1?0;e`MU%1mpJnG1mrJu(6)OcLwCIcjR{k<{Rf=4r$aRW*HAQ|gMSclIzJ?-y6Gi@Jiu_WF+@Q$Q z6nTas&r;+$iabw|Uq+E%PLYpLfqR2N> zzTPgClQRHJ3`8JCD?G*WTiu_uNyg-qUQ{)pAd66PFDe@f@ z`6NZYlOiusLI7R;36#3^V@-I;2 z_fh0uq{zQSk$;&YKS7cI4n_XE6#4H_;J$iGLCf1e`%0Y(1D z6#1V}e?gJ|J4OB<6#3H>`F~R6zof|jKZ^Vriu}JQ^8cpD|1U-UEJgl56#4(7 z$P*~gDdKMtMgAO${49!mF-5+FB7ZJL{yd8OY>Ip-MgDw>`~?*GZ&2jRDDoFlfvg=ThXaq{v@Ik)KDAub{|(iz0tDMV_R{ zS5oA!p~zoLk-v^2Kc6ChJw-l5kzYWOucFA`K#{+ZBEOI#Pf_H<6!}FIIY*K66uCf= zixjy;k;@dhLXoQ!xki!e6!~h3{9=my5{i5cMgAs={LK{kr4+eAk*6v03`L%$$a55V zo+7`DBEOs>AEC&vpvd1skzYxXk5c4oDe`p``Fe_c14X`(BHu)jZ>Gq%P~=-F@~bHF zt10qpDDt;b|HUW>2>#I8>Nhx_6G*`R<`sd=$M#%tH~%QmRZsoDlniHOK%0ic2N& zPUkf~pXQ{LXygEIofA@;nvqhfqNsVrkaSVVcZv6sD@zq~0fUVehhTp#_zuf8;=}v7 zxmvASTfl&0V8hoId?5TfKD?J)UaB+}FxR_>#>OWLoxc%TV}C99j@J2- zc=Ix+7&>pH#B4@PNoh5oGK@U@lg@H7mzUMFE-?PaV5EQjbJCb>!IjU2Pi%NI{wCf9 z!W*r7j}7mI&fh5c0ruB|@5o|_4ey1{-^duj{#x)IO{bE0b7@I3^bD8MI0Ni&EiI&U z4ZfunNfy<-s_DAK_#1v@{MfSInN@w$Oijy0&;|_&cDw(TBI9 z*&P3`1z%CV*Vyo8{OyAc-&*iNd3R&OoAEcG>;JXjE6RTy8{P|@zkR5!Z!P#2<)J3= z&MO&C7IR{X%NjEHPo#WGQ)E7s6*2!bK2jK3}XI{xz-G+XKawcsnt2Ob;VjK6)b z;adwnC@*_#cr*S6bp5{;d_}q0W5b*Aw+}XaYrzNQawG8;@}i&$X*p%6d>*WBK}e%vEj}58$;XHZ?tbmYJ z#GCPVNWWKx@HTi&%;&*%!WoK@k|a5kO6QGC%E*i9yd-3}w47%AO#n$dcpG`51&6PJ z56LG3#GCOq0XV|@wQ=IT(D|D{+wL!47bo6~zX`-!aCCkM?>t!C>5Oco@|*zigM1pz zUxFtEJl~40WMrA=S^NosBlQ3!&&K{*@cs4hA^CfNcr*US(6;$xC{DZ?e~0kCAWpm) ze~0j16~a3$h(w$0yfj1%vL&fgLK6O_jwHvMM&9n$Yq2yZd3l$(Rp?*Zb?_!~pp=5MrTZ)|ukbp9sLw(&-Z zOk%^E@i&2Z3y$~@-Z_O=vx<^Q`u}0QrR3gCV>x4dHEYc>xyw@hM&9 zVLYG9f-6>&fyC2_2#W)Cuobh+9wdOI9egf4o;TveoAEdCCR%WmjuUUj-yys+apKMR zJA`*Ogty3L!SIFzriR3!EF6$jDV@^{7}RG)9nOfN#`v4Sk$Uj8Fn{Ob#GCOq@hVzy zl#dhdh0fokdRyxOFN+gz#@~Rh|JQ=Am&1n~?_{M6WKu%@SUsPCe0aHZO3(8u3QEqT z!T8PzhRW=3AH_D`K1!Zz!QlveV#Ay9Hvu@p`-(X6Ug-Qypl$nO-x4R@jK2xQTX1w` z2ya8cgzYVcVU&nBkwyaKBMAtYJL zYs~&8fTSH{t!F5~UL-O|k@n-x@ya|N&);RHI z{2jvksyOjx{2jvk>JZ-GKFO$gQA^1p>;eOOFs6aJ<#dWuz)vuQ;Y`7Gqa zOXt9el9zSh?<|+nIWeOf5S${g^&~!qZNJ?_o^8S5Hu%JbH{)*taD?~Uk(_&bF6R0wZXO)FWn|D~MINf5M|F;Y4#l1k-sX(^poz;~5n z^Th;?)PtXpXIgMrfe-1g8X(?`zX`w*-qkqqX8aw(dpb_M8GncH-W|d_pVzdE0H(Jp zqWpuJ#=+K?ijvAf_sRutN&$QsM1|O2Y2Z%T0Zvt?HcRfzL7dn5F z?m;Wwrx7RKjK2Y0|E~pKoA4p|BnLE|6=3TIo>O7Hlpt%c-Zc#*p3cg-tO7e5>n#7b z4`RD-DEI;UYr%Jv0x~wd8GmDF+wmvJg%um#3!T3Sv~9fi#ECcKZvyca9LemZ2pqKk$Uh}(m-j!g*U*5qnXkT6>M)gC#6-E?~%Zf zdhpbXh*K>%dMA8H{vIISjK4#8zbj6>8GncHz9~+;7dn5RMZj(OtM-NP&M6RlqKUBU zrNn{%LF{NAH6V$=?ISoAGxD@0;Vqd!h4pM81Ms;>4TrcSyevgz)ACHJg(aDJ9E@ zzcY~ZQG=<=6qn{Q0w-{q!m;^F0!QjW#C~<}j}vdk-^8nE!O;ie#CxIhH-WZo58fIl z-i*Hq#9MH5FobvB;L^MVR=27PI>dkLN=lamA(hQbc~QvlVm2c(`1i548* z1|QP?9w6R~zX`w*-nYkzH{ zvjQyQ(T%K<R#RLiC*~y~oza90 zo4+K0q#Zm%o@l}0r{F`{-vh*(@izfD!u!*4;?4Lwg!jF1;?4Lwg!i!!-g#KOqw}y} zKBI_6O3Fg$x1P>wDNa+fX+F=3YL;XCO#n$dxFGC5`AnR6GyW#tL<^2S8z$bt0d}70!@i&IHJ)idZIPqTS{7s;3juVzhY5`CFV2;amBH0RMhr(+c?aWuq6tzdv(Q z>Iu9eCASu8rNVgGOb!_%4RdOwQZ)ArB}?^W(VQq3YGyGx-fSc*=8RcOHtTR$sw9Ut z@2G7pnb+q_m*3r?{Lb+*Xb`~m=W^oAi zKv>*Fw-~AHsMe;;bfInzPZ#PJ@QSu7d3mYQSe?8)P`^^Q)xz(&(cDop>pO=oNh}rw zK~0uR6|;U}k{j05WZj&oR*G;WNxZ@($7dU6JvmV=ninQ{QE-lng+^gGkyw#fe3@A> zYlTLsGMU_H)~n6hgqeirHizLaAte@Hx@ohqar0#x*KJvUDR=3{W~G8IO;>B>LZ#^c zWTHAX4Zo^cKTBMYSRA?{<6MzUZZ&K5Qniwlhb1nN$R-wNs?)Qz(&WxY@`8y~NnY1E zsH?8)$&t!*tyDLYnQCpiifUP{3@4LDxtz2vuO|Tovo>QE;aOgmSnNH3Q&us#?k&U1 z5@%hSTbs3>Ady&_I1jFKo+4|Or+1bB9K7z=CKhk0qi2MhOrdAI62MKaP9`r(Cts6U zJ(j5!OOw^HO%_yRqt#-wT&<5eZ>OF_?|f{1xj9*?c*5<|*70z0de>``7i~x+IP}a# z^D?tgOFESRg-Kpjs=ym^tCIxfv~c3JVL6dl8OBKyFBCXVg__#;N~}&S=6MlQ2f>K6|vrdMC z&sr=^fZ5!46^Gri#_doCdn6RHUaVS3%Btj5g&G*;iM0B*(#qPBvzzVfeOrhgYUMqH;`acy);n zcBm6rG_*IDFHP(;Yt=4r@hU*7$M9v%Lai8lrbOa1p?6gtcg;LZ?WwP zbyrV%^Xyagd#q;SmNxZ_QT_dDdMyC0kq);3>_S8q^WF^Z>|Ccg>B zXB_auJm#AaHJNvP5w>rFG!CF`Gg~rjOI|;4`@r{9kn9$6S;RKp_$=tJT? z@&(S#|1(vnO_~*o|7X-X=^6&}(u^#`JUZ|3vAB-^(HYPe4m1ye`lm-pAH= zLw_UUxs3*h65IY9#mJ=Li%KIl6;6c^KbuvgX?oy6krp zBB!YBItn(vi=0cE+xTuO!rt`9cjQ|=L*qNL61Lxvs=7v~ck_F`9!5`rGGTm2N@(Ld z@+!NoZO3=y58|j{Xncp6@4To9Y<$;Stj9HN{3+B>4|mK~cP8__V}B5bf;{4yQ`rSR zh;-=&uT;keDwE!KQHI!@MzdB)&Y%dTBzV<#G%FJ*f(D%G*zbogFU*ci6=0w`l$^3+ zaK_DK6XKu^AOl1dY-!|E06i{qGF7$nw#EP14K^&wz~sE zE3_y!y&DI;Lj_wAPo`J8t$q@aI6nCUJ_alV&%M~yuu8R&+*z10ljA1%M@p4aqf{uD zZZM08-*n8RAjX~xiFE6>7UV^7N1b7F3K=6APa?klWsCkL4E>fC~DHnz^S znU#eY%^A}yR%@L*;i%gil|r#p^KX(k(54Sx|>uV;=bgnfUUCc8^RU}g=L)2IS zs^ZkDT-lr?^k6Sw;X{x$8wH5Mse9G8 z^iotwD#Yf&jbd>q+0CSPxC|6lI%JKx1mAzl4|AAvPS6CM9CLYx7D2KxSLB$h)P^JJ z@xB|OL5^2ZJb7}WT!L^C)3FAf6B%3Rn}k;2Z(KGZ*l4Px;DNuqKNjaji3?7)x_aU$ z2AgXQ&$UhtN-vPnG!{?`3-|en<@BfExnc0Ydec3;q)Dzr*0$W4J=JMGu)n#U2(Iu6 zKByTJ^Xb1o2>ltUnSRBr&P>&yb0rM>w&P0by>gYAQlXZcDwN93HSSn|7;T~$GwMB% zfujlh0PABHwZ2-*jY7pDYm`V-JJktRTwqaVG^>mHSnF%BE(kZc>@hbFf%@*4o9yRB zF*p$7J$h$+PL0#wIVe82r&P%IxqW`-Q=p&cHN^|?AY-Z|HMqcs7l`P5=8K8)#ehGp zkM&;8>&NXs$JHKCjOoDAuh{%E$ag{v4MeQ3hgI)nU(aHHI`#Gajti#DIxPB%7#CP4 z=676x=IC@8^WEZ$c_fANqBo*lw=CW#BHpLpaY0BgoN)o67V|eQ;5BTxNcveJF$VLq z_OxcW-*G`mCw%i8#s!3C%7(y99?32@4pl zqiSLL$Y4ojbdxbH5B@3Sb3jnN4ZC?dsTYm8{Fe=FXLY$0BZtaxG*E z_s&N>N9JD9fz=b-t3DSE2G4c1qFE_`QyBm~Iw(9foHOTM&wQ!kRC5Tei|DI;5Q=2^ zcaXm+dP1o$-85^k>TqaoItg1tJ1s}ysDXgvxmvB8=|;Ep*f-7WG

42?&^i)jGUu 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 z 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�_Ppf;XHE*}e=)W-B%yOS&MyrJ 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®g(I1-+!eB?WFN@JNAI3Vc%Fmx6#41f?J(1z{=Z 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 E1w)};-v9sr diff --git a/Build/Build.fbpInf b/Build/Build.fbpInf index 2813cbe..aaee386 100644 --- a/Build/Build.fbpInf +++ b/Build/Build.fbpInf @@ -1,6 +1,6 @@ - {0F75D8EA-B6C2-4ECA-9E1E-45E235135301},{10527A84-0FB7-4007-9B23-9E5826133948},{154CD4CE-0F61-40F6-8CE6-CF525D3CFDCA},{331AC851-CE2F-4986-9381-A257AB26B1AD},{3F8BEF26-5F4F-4B97-B1BC-118F36CBDD68},{4968AB21-B759-4F4A-9214-8792F67DA1E2},{4B038673-47F7-4436-BD07-D557FA62337E},{68D393D0-7234-4D5A-9D3A-A3FDC1593E55},{6C425F09-E04B-49EC-89E2-8C93D60E9055},{7251A871-CE6C-41D1-A404-735619825EAE},{789902B1-5E64-4FD9-80BF-6113B13BFE12},{856B4CEA-BF27-4696-8FFC-4507B6E29943},{A181C54F-9BE8-4404-9AB9-FEE8A9C3443D},{AD23CE23-8728-48FA-84FD-264E27BA8F46},{B70F0EA3-7874-42B0-BFB8-430D43AC2D61},{C662116C-EB3F-4161-A768-49D13B08EFE5},{CE990EA4-7660-4997-8CBF-6C6AA978753A},{E8E8671F-894B-4049-B4A6-905B57207637},{F2541E28-3C45-4A17-BEC5-185CBF9D2A90} + {0F75D8EA-B6C2-4ECA-9E1E-45E235135301},{10527A84-0FB7-4007-9B23-9E5826133948},{154CD4CE-0F61-40F6-8CE6-CF525D3CFDCA},{331AC851-CE2F-4986-9381-A257AB26B1AD},{3F8BEF26-5F4F-4B97-B1BC-118F36CBDD68},{4968AB21-B759-4F4A-9214-8792F67DA1E2},{4B038673-47F7-4436-BD07-D557FA62337E},{6C425F09-E04B-49EC-89E2-8C93D60E9055},{7251A871-CE6C-41D1-A404-735619825EAE},{789902B1-5E64-4FD9-80BF-6113B13BFE12},{856B4CEA-BF27-4696-8FFC-4507B6E29943},{A181C54F-9BE8-4404-9AB9-FEE8A9C3443D},{AD23CE23-8728-48FA-84FD-264E27BA8F46},{B70F0EA3-7874-42B0-BFB8-430D43AC2D61},{C662116C-EB3F-4161-A768-49D13B08EFE5},{CE990EA4-7660-4997-8CBF-6C6AA978753A},{E8E8671F-894B-4049-B4A6-905B57207637},{F2541E28-3C45-4A17-BEC5-185CBF9D2A90} @@ -14,8 +14,8 @@ - 00:04:03 - 02/12/2013 13:45:23 - True + 00:00:13 + 12/12/2013 10:39:51 + False diff --git a/Build/Build.fbz6 b/Build/Build.fbz6 index d82a694f5c1da075348eac28d081d4b90391b3cb..9d01cdf234a88069d7d3403e2723d657b15aa103 100644 GIT binary patch delta 19744 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 H0RR91QLpJo delta 19562 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 diff --git a/Source/Base/Base.dproj b/Source/Base/Base.dproj index 4abc4a4..545b3a9 100644 --- a/Source/Base/Base.dproj +++ b/Source/Base/Base.dproj @@ -45,8 +45,6 @@ Package FalseTrueFalseLibreria base de FactuGESFalseFalseFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.01.0.0.0 - - Microsoft Office 2000 Sample Automation Server Wrapper Components Microsoft Office XP Sample Automation Server Wrapper Components Base.dpk @@ -56,58 +54,6 @@ MainSource - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

DataModuleImpresiones TDataModule @@ -116,6 +62,58 @@
DataModuleRegistroCorreos
TDataModule + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
fConfigurarConexion
diff --git a/Source/Cliente/uBootStrap.pas b/Source/Cliente/uBootStrap.pas index 2080fa6..6ff6c6a 100644 --- a/Source/Cliente/uBootStrap.pas +++ b/Source/Cliente/uBootStrap.pas @@ -39,7 +39,7 @@ begin LoadModule('RecibosCliente_plugin.bpl'); LoadModule(MODULENAME_FACTURAS_CLIENTE); -// LoadModule(MODULENAME_FACTURAS_PROFORMA); + LoadModule(MODULENAME_FACTURAS_PROFORMA); LoadModule(MODULENAME_PEDIDOS_PROVEEDOR); LoadModule(MODULENAME_ALBARANES_PROVEEDOR); diff --git a/Source/Informes/1/InfFacturaProforma.fr3 b/Source/Informes/1/InfFacturaProforma.fr3 new file mode 100644 index 0000000..df99e7a --- /dev/null +++ b/Source/Informes/1/InfFacturaProforma.fr3 @@ -0,0 +1,65 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Source/Informes/2/InfFacturaProforma.fr3 b/Source/Informes/2/InfFacturaProforma.fr3 new file mode 100644 index 0000000..ae0b642 --- /dev/null +++ b/Source/Informes/2/InfFacturaProforma.fr3 @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Source/Informes/5/InfFacturaProforma.fr3 b/Source/Informes/5/InfFacturaProforma.fr3 new file mode 100644 index 0000000..54badad --- /dev/null +++ b/Source/Informes/5/InfFacturaProforma.fr3 @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Source/Informes/6/InfFacturaProforma.fr3 b/Source/Informes/6/InfFacturaProforma.fr3 new file mode 100644 index 0000000..b7758b9 --- /dev/null +++ b/Source/Informes/6/InfFacturaProforma.fr3 @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Source/Informes/8/InfFacturaProforma.fr3 b/Source/Informes/8/InfFacturaProforma.fr3 new file mode 100644 index 0000000..1a11f7e --- /dev/null +++ b/Source/Informes/8/InfFacturaProforma.fr3 @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Source/Modulos/Contactos/Views/Contactos_view.res b/Source/Modulos/Contactos/Views/Contactos_view.res index 1641339fcc482e7e3492d1b45813a86619622c33..8b251f312bcccec5485024f6fe8d80e1cdf25746 100644 GIT binary patch delta 11 ScmeBCZD5|Duvteife`=|>;pCc literal 4748 zcmbW5&ub)A5XUPdpe&2#;C*uNAUVhgd+&(4um@dnom`vXF9g}ZuHJ;se=<3UNdFJg zbCw+UD9j$byGIXV`~6hC>h4S?F|k9X-j90q{Z_qtZ<;nUJCO8!h?p${kR>3GhM`oH*q zk=UsjOCIgA_4!`B+Gb&`I84R)bT4dy-BQV<-SyFz?R8ILEQ(+JB$u{sEXE@j@B*7W zT;iZH#|OJ<&DO$RCkM6VbK3(B(k{nbdv1lpc;E$xz9as|v3uE1V{hw2w~g3eD0an7 z{BT%G%irdMe*|oDJmgvJaA2`9B<6Xi*?M~Q;)@Sbfwf3uf zVaWkbUjU=;sL{BlYemIZXv%qZ{SZw{-TCU+;!nH6KDDIJumU+9{E0zXW4>7T)y|>$DQlv zRJe?TjSp{c!DqeayAnSMTtZZT;>LN7J0Rls+5m@q)MbyB*eL%Eu@(+$Cw}Pd@q7N| z%Q0*AHpCP^b9v`@jx-l_FD>khpW2W8(OU2&V5TrnoAY-m_hlcV?zq3;7{2gF{J#Hc z6R+o~mVenX?>@W0@_DVzyOFs(5464CY{!q9ChoF#_*eXi@4gFuV8?vhl=_w5$iKL0 zEV0nMBcN08xtRmsgJrqjh@s#|{?*ssnsG)mH*wa6{efF0JFWHok@kA5%b661{B38= zCcgJ|*ZFTpV$8<-&+AWpa)Q8*`wL&hMeNQ^v6I7$HSdLZhZ^&+6<@Uw_Zsml9^v3W zVvPDBKHh;i=RU4J_ta3E;)Mn>Y+L zKLZ0UQ+*km9FO-b?U4gmn-62iwzH6&*duKGo~aUV)bYDla8wWZ9+^7p-F<8lP@i!m z@vhbD_${F}h>^T;C(?(b*OJDk?{dEXB?nuehoON3HAb!7Mr7-ls!84-5V-jJugbu<_$}mU=Yd9!?TOX;|B-#B)+0x#9q*yqJiqS!`49d=7ztk$O+9=1i;?K_|J<8T z?0b7=-`Z3A#vV$4XJ5(lQ~TOZHUFdA%oWvK5zg&_IKXIbughQBA8XAsd#=@|TFLXC zy(^m((;DnQmDQKatmw!@c`| G?EMQ&4NnpP diff --git a/Source/Modulos/Facturas proforma/Data/uDataModuleFacturasProforma.dfm b/Source/Modulos/Facturas proforma/Data/uDataModuleFacturasProforma.dfm index 28422fa..22bc8a8 100644 --- a/Source/Modulos/Facturas proforma/Data/uDataModuleFacturasProforma.dfm +++ b/Source/Modulos/Facturas proforma/Data/uDataModuleFacturasProforma.dfm @@ -249,22 +249,32 @@ inherited DataModuleFacturasProforma: TDataModuleFacturasProforma DisplayLabel = 'FacturasProforma_DATOS_BANCARIOS' DictionaryEntry = 'FacturasProforma_DATOS_BANCARIOS' end - item - Name = 'REFERENCIA_CLIENTE' - DataType = datString - Size = 255 - end item Name = 'ID_PEDIDO' DataType = datInteger DisplayLabel = 'FacturasProforma_ID_PEDIDO' DictionaryEntry = 'FacturasProforma_ID_PEDIDO' end + item + Name = 'REFERENCIA_PEDIDO_CLIENTE' + DataType = datString + Size = 255 + end + item + Name = 'REFERENCIA_DEL_CLIENTE' + DataType = datString + Size = 255 + end item Name = 'ID_FACTURA_FINAL' DataType = datInteger DisplayLabel = 'FacturasProforma_ID_FACTURA_FINAL' DictionaryEntry = 'FacturasProforma_ID_FACTURA_FINAL' + end + item + Name = 'REFERENCIA_FACTURA_FINAL' + DataType = datString + Size = 255 end> Params = <> StreamingOptions = [soDisableEventsWhileStreaming] diff --git a/Source/Modulos/Facturas proforma/Data/uDataModuleFacturasProforma.pas b/Source/Modulos/Facturas proforma/Data/uDataModuleFacturasProforma.pas index dcf2fa2..25be025 100644 --- a/Source/Modulos/Facturas proforma/Data/uDataModuleFacturasProforma.pas +++ b/Source/Modulos/Facturas proforma/Data/uDataModuleFacturasProforma.pas @@ -57,29 +57,25 @@ function TDataModuleFacturasProforma.GetRptFacturas(const AListaID: TIntegerList var AParam : TIntegerArray; begin -{ AParam := AListaID.ToIntegerArray; try - Result := (RORemoteService as IsrvFacturasCliente).GenerarInforme(AParam, VerSello, VerCopia); + Result := (RORemoteService as IsrvFacturasProforma).GenerarInforme(AParam); finally FreeANDNIL(AParam); end; -} end; function TDataModuleFacturasProforma.GetRptPDFFactura(const AID: Integer): Binary; var AParam : TIntegerArray; begin -{ AParam := TIntegerArray.Create; try AParam.Add(AID); - Result := (RORemoteService as IsrvFacturasCliente).GenerarInformeEnPDF(AParam, VerSello); + Result := (RORemoteService as IsrvFacturasProforma).GenerarInformeEnPDF(AParam); finally FreeANDNIL(AParam); end; -} end; function TDataModuleFacturasProforma.NewItem: IBizFacturaProforma; diff --git a/Source/Modulos/Facturas proforma/FacturasProforma_Group.groupproj b/Source/Modulos/Facturas proforma/FacturasProforma_Group.groupproj index 1a95fa9..fb5bba6 100644 --- a/Source/Modulos/Facturas proforma/FacturasProforma_Group.groupproj +++ b/Source/Modulos/Facturas proforma/FacturasProforma_Group.groupproj @@ -17,6 +17,9 @@ + + + @@ -155,6 +158,15 @@ + + + + + + + + + @@ -191,14 +203,32 @@ + + + + + + + + + + + + + + + + + + - + - + - + \ No newline at end of file diff --git a/Source/Modulos/Facturas proforma/Model/schFacturasProformaClient_Intf.pas b/Source/Modulos/Facturas proforma/Model/schFacturasProformaClient_Intf.pas index 67deefa..ab19fbd 100644 --- a/Source/Modulos/Facturas proforma/Model/schFacturasProformaClient_Intf.pas +++ b/Source/Modulos/Facturas proforma/Model/schFacturasProformaClient_Intf.pas @@ -9,9 +9,9 @@ const { Data table rules ids Feel free to change them to something more human readable but make sure they are unique in the context of your application } - RID_ListaAnosFacturas = '{FEEF09C4-67C8-4306-BC5D-E9B624ED4218}'; - RID_FacturasProforma = '{E96B0663-EB3C-45D1-8A6E-3A0178CC014A}'; - RID_FacturasProforma_Detalles = '{318BEE60-3B5B-4A8C-9A41-DFD51E23B35C}'; + RID_ListaAnosFacturas = '{6ABA008D-4E27-4110-A22A-B4BDFF577548}'; + RID_FacturasProforma = '{2F1B80A0-CF55-49A8-8B2B-9801332B05EC}'; + RID_FacturasProforma_Detalles = '{23C2166C-8FBB-4EEC-A206-FEB0089D74DC}'; { Data table names } nme_ListaAnosFacturas = 'ListaAnosFacturas'; @@ -60,9 +60,11 @@ const fld_FacturasProformaNUM_COPIAS = 'NUM_COPIAS'; fld_FacturasProformaNUM_CORREOS = 'NUM_CORREOS'; fld_FacturasProformaDATOS_BANCARIOS = 'DATOS_BANCARIOS'; - fld_FacturasProformaREFERENCIA_CLIENTE = 'REFERENCIA_CLIENTE'; fld_FacturasProformaID_PEDIDO = 'ID_PEDIDO'; + fld_FacturasProformaREFERENCIA_PEDIDO_CLIENTE = 'REFERENCIA_PEDIDO_CLIENTE'; + fld_FacturasProformaREFERENCIA_DEL_CLIENTE = 'REFERENCIA_DEL_CLIENTE'; fld_FacturasProformaID_FACTURA_FINAL = 'ID_FACTURA_FINAL'; + fld_FacturasProformaREFERENCIA_FACTURA_FINAL = 'REFERENCIA_FACTURA_FINAL'; { FacturasProforma field indexes } idx_FacturasProformaID = 0; @@ -100,9 +102,11 @@ const idx_FacturasProformaNUM_COPIAS = 32; idx_FacturasProformaNUM_CORREOS = 33; idx_FacturasProformaDATOS_BANCARIOS = 34; - idx_FacturasProformaREFERENCIA_CLIENTE = 35; - idx_FacturasProformaID_PEDIDO = 36; - idx_FacturasProformaID_FACTURA_FINAL = 37; + idx_FacturasProformaID_PEDIDO = 35; + idx_FacturasProformaREFERENCIA_PEDIDO_CLIENTE = 36; + idx_FacturasProformaREFERENCIA_DEL_CLIENTE = 37; + idx_FacturasProformaID_FACTURA_FINAL = 38; + idx_FacturasProformaREFERENCIA_FACTURA_FINAL = 39; { FacturasProforma_Detalles fields } fld_FacturasProforma_DetallesID = 'ID'; @@ -141,7 +145,7 @@ const type { IListaAnosFacturas } IListaAnosFacturas = interface(IDAStronglyTypedDataTable) - ['{CBCFE754-67D7-40A8-B21A-4450E8EC413F}'] + ['{5D8535C3-D8CF-446F-B6DF-02127DD9F379}'] { Property getters and setters } function GetANOValue: String; procedure SetANOValue(const aValue: String); @@ -176,7 +180,7 @@ type { IFacturasProforma } IFacturasProforma = interface(IDAStronglyTypedDataTable) - ['{F8DFF550-5A11-49CC-976D-93AEECB72322}'] + ['{77B940CF-32F0-43A2-A22E-A3611F90EE9C}'] { Property getters and setters } function GetIDValue: Integer; procedure SetIDValue(const aValue: Integer); @@ -317,18 +321,26 @@ type procedure SetDATOS_BANCARIOSValue(const aValue: String); function GetDATOS_BANCARIOSIsNull: Boolean; procedure SetDATOS_BANCARIOSIsNull(const aValue: Boolean); - function GetREFERENCIA_CLIENTEValue: String; - procedure SetREFERENCIA_CLIENTEValue(const aValue: String); - function GetREFERENCIA_CLIENTEIsNull: Boolean; - procedure SetREFERENCIA_CLIENTEIsNull(const aValue: Boolean); function GetID_PEDIDOValue: Integer; procedure SetID_PEDIDOValue(const aValue: Integer); function GetID_PEDIDOIsNull: Boolean; procedure SetID_PEDIDOIsNull(const aValue: Boolean); + function GetREFERENCIA_PEDIDO_CLIENTEValue: String; + procedure SetREFERENCIA_PEDIDO_CLIENTEValue(const aValue: String); + function GetREFERENCIA_PEDIDO_CLIENTEIsNull: Boolean; + procedure SetREFERENCIA_PEDIDO_CLIENTEIsNull(const aValue: Boolean); + function GetREFERENCIA_DEL_CLIENTEValue: String; + procedure SetREFERENCIA_DEL_CLIENTEValue(const aValue: String); + function GetREFERENCIA_DEL_CLIENTEIsNull: Boolean; + procedure SetREFERENCIA_DEL_CLIENTEIsNull(const aValue: Boolean); function GetID_FACTURA_FINALValue: Integer; procedure SetID_FACTURA_FINALValue(const aValue: Integer); function GetID_FACTURA_FINALIsNull: Boolean; procedure SetID_FACTURA_FINALIsNull(const aValue: Boolean); + function GetREFERENCIA_FACTURA_FINALValue: String; + procedure SetREFERENCIA_FACTURA_FINALValue(const aValue: String); + function GetREFERENCIA_FACTURA_FINALIsNull: Boolean; + procedure SetREFERENCIA_FACTURA_FINALIsNull(const aValue: Boolean); { Properties } @@ -402,12 +414,16 @@ type property NUM_CORREOSIsNull: Boolean read GetNUM_CORREOSIsNull write SetNUM_CORREOSIsNull; property DATOS_BANCARIOS: String read GetDATOS_BANCARIOSValue write SetDATOS_BANCARIOSValue; property DATOS_BANCARIOSIsNull: Boolean read GetDATOS_BANCARIOSIsNull write SetDATOS_BANCARIOSIsNull; - property REFERENCIA_CLIENTE: String read GetREFERENCIA_CLIENTEValue write SetREFERENCIA_CLIENTEValue; - property REFERENCIA_CLIENTEIsNull: Boolean read GetREFERENCIA_CLIENTEIsNull write SetREFERENCIA_CLIENTEIsNull; property ID_PEDIDO: Integer read GetID_PEDIDOValue write SetID_PEDIDOValue; property ID_PEDIDOIsNull: Boolean read GetID_PEDIDOIsNull write SetID_PEDIDOIsNull; + property REFERENCIA_PEDIDO_CLIENTE: String read GetREFERENCIA_PEDIDO_CLIENTEValue write SetREFERENCIA_PEDIDO_CLIENTEValue; + property REFERENCIA_PEDIDO_CLIENTEIsNull: Boolean read GetREFERENCIA_PEDIDO_CLIENTEIsNull write SetREFERENCIA_PEDIDO_CLIENTEIsNull; + property REFERENCIA_DEL_CLIENTE: String read GetREFERENCIA_DEL_CLIENTEValue write SetREFERENCIA_DEL_CLIENTEValue; + property REFERENCIA_DEL_CLIENTEIsNull: Boolean read GetREFERENCIA_DEL_CLIENTEIsNull write SetREFERENCIA_DEL_CLIENTEIsNull; property ID_FACTURA_FINAL: Integer read GetID_FACTURA_FINALValue write SetID_FACTURA_FINALValue; property ID_FACTURA_FINALIsNull: Boolean read GetID_FACTURA_FINALIsNull write SetID_FACTURA_FINALIsNull; + property REFERENCIA_FACTURA_FINAL: String read GetREFERENCIA_FACTURA_FINALValue write SetREFERENCIA_FACTURA_FINALValue; + property REFERENCIA_FACTURA_FINALIsNull: Boolean read GetREFERENCIA_FACTURA_FINALIsNull write SetREFERENCIA_FACTURA_FINALIsNull; end; { TFacturasProformaDataTableRules } @@ -556,18 +572,26 @@ type procedure SetDATOS_BANCARIOSValue(const aValue: String); virtual; function GetDATOS_BANCARIOSIsNull: Boolean; virtual; procedure SetDATOS_BANCARIOSIsNull(const aValue: Boolean); virtual; - function GetREFERENCIA_CLIENTEValue: String; virtual; - procedure SetREFERENCIA_CLIENTEValue(const aValue: String); virtual; - function GetREFERENCIA_CLIENTEIsNull: Boolean; virtual; - procedure SetREFERENCIA_CLIENTEIsNull(const aValue: Boolean); virtual; function GetID_PEDIDOValue: Integer; virtual; procedure SetID_PEDIDOValue(const aValue: Integer); virtual; function GetID_PEDIDOIsNull: Boolean; virtual; procedure SetID_PEDIDOIsNull(const aValue: Boolean); virtual; + function GetREFERENCIA_PEDIDO_CLIENTEValue: String; virtual; + procedure SetREFERENCIA_PEDIDO_CLIENTEValue(const aValue: String); virtual; + function GetREFERENCIA_PEDIDO_CLIENTEIsNull: Boolean; virtual; + procedure SetREFERENCIA_PEDIDO_CLIENTEIsNull(const aValue: Boolean); virtual; + function GetREFERENCIA_DEL_CLIENTEValue: String; virtual; + procedure SetREFERENCIA_DEL_CLIENTEValue(const aValue: String); virtual; + function GetREFERENCIA_DEL_CLIENTEIsNull: Boolean; virtual; + procedure SetREFERENCIA_DEL_CLIENTEIsNull(const aValue: Boolean); virtual; function GetID_FACTURA_FINALValue: Integer; virtual; procedure SetID_FACTURA_FINALValue(const aValue: Integer); virtual; function GetID_FACTURA_FINALIsNull: Boolean; virtual; procedure SetID_FACTURA_FINALIsNull(const aValue: Boolean); virtual; + function GetREFERENCIA_FACTURA_FINALValue: String; virtual; + procedure SetREFERENCIA_FACTURA_FINALValue(const aValue: String); virtual; + function GetREFERENCIA_FACTURA_FINALIsNull: Boolean; virtual; + procedure SetREFERENCIA_FACTURA_FINALIsNull(const aValue: Boolean); virtual; { Properties } property ID: Integer read GetIDValue write SetIDValue; @@ -640,12 +664,16 @@ type property NUM_CORREOSIsNull: Boolean read GetNUM_CORREOSIsNull write SetNUM_CORREOSIsNull; property DATOS_BANCARIOS: String read GetDATOS_BANCARIOSValue write SetDATOS_BANCARIOSValue; property DATOS_BANCARIOSIsNull: Boolean read GetDATOS_BANCARIOSIsNull write SetDATOS_BANCARIOSIsNull; - property REFERENCIA_CLIENTE: String read GetREFERENCIA_CLIENTEValue write SetREFERENCIA_CLIENTEValue; - property REFERENCIA_CLIENTEIsNull: Boolean read GetREFERENCIA_CLIENTEIsNull write SetREFERENCIA_CLIENTEIsNull; property ID_PEDIDO: Integer read GetID_PEDIDOValue write SetID_PEDIDOValue; property ID_PEDIDOIsNull: Boolean read GetID_PEDIDOIsNull write SetID_PEDIDOIsNull; + property REFERENCIA_PEDIDO_CLIENTE: String read GetREFERENCIA_PEDIDO_CLIENTEValue write SetREFERENCIA_PEDIDO_CLIENTEValue; + property REFERENCIA_PEDIDO_CLIENTEIsNull: Boolean read GetREFERENCIA_PEDIDO_CLIENTEIsNull write SetREFERENCIA_PEDIDO_CLIENTEIsNull; + property REFERENCIA_DEL_CLIENTE: String read GetREFERENCIA_DEL_CLIENTEValue write SetREFERENCIA_DEL_CLIENTEValue; + property REFERENCIA_DEL_CLIENTEIsNull: Boolean read GetREFERENCIA_DEL_CLIENTEIsNull write SetREFERENCIA_DEL_CLIENTEIsNull; property ID_FACTURA_FINAL: Integer read GetID_FACTURA_FINALValue write SetID_FACTURA_FINALValue; property ID_FACTURA_FINALIsNull: Boolean read GetID_FACTURA_FINALIsNull write SetID_FACTURA_FINALIsNull; + property REFERENCIA_FACTURA_FINAL: String read GetREFERENCIA_FACTURA_FINALValue write SetREFERENCIA_FACTURA_FINALValue; + property REFERENCIA_FACTURA_FINALIsNull: Boolean read GetREFERENCIA_FACTURA_FINALIsNull write SetREFERENCIA_FACTURA_FINALIsNull; public constructor Create(aDataTable: TDADataTable); override; @@ -655,7 +683,7 @@ type { IFacturasProforma_Detalles } IFacturasProforma_Detalles = interface(IDAStronglyTypedDataTable) - ['{B411FAE4-15F3-4FFB-B84A-6E0BFDF91CE9}'] + ['{3A9B54FE-6094-4A20-A8CC-C3E186530F62}'] { Property getters and setters } function GetIDValue: Integer; procedure SetIDValue(const aValue: Integer); @@ -1646,27 +1674,6 @@ begin DataTable.Fields[idx_FacturasProformaDATOS_BANCARIOS].AsVariant := Null; end; -function TFacturasProformaDataTableRules.GetREFERENCIA_CLIENTEValue: String; -begin - result := DataTable.Fields[idx_FacturasProformaREFERENCIA_CLIENTE].AsString; -end; - -procedure TFacturasProformaDataTableRules.SetREFERENCIA_CLIENTEValue(const aValue: String); -begin - DataTable.Fields[idx_FacturasProformaREFERENCIA_CLIENTE].AsString := aValue; -end; - -function TFacturasProformaDataTableRules.GetREFERENCIA_CLIENTEIsNull: boolean; -begin - result := DataTable.Fields[idx_FacturasProformaREFERENCIA_CLIENTE].IsNull; -end; - -procedure TFacturasProformaDataTableRules.SetREFERENCIA_CLIENTEIsNull(const aValue: Boolean); -begin - if aValue then - DataTable.Fields[idx_FacturasProformaREFERENCIA_CLIENTE].AsVariant := Null; -end; - function TFacturasProformaDataTableRules.GetID_PEDIDOValue: Integer; begin result := DataTable.Fields[idx_FacturasProformaID_PEDIDO].AsInteger; @@ -1688,6 +1695,48 @@ begin DataTable.Fields[idx_FacturasProformaID_PEDIDO].AsVariant := Null; end; +function TFacturasProformaDataTableRules.GetREFERENCIA_PEDIDO_CLIENTEValue: String; +begin + result := DataTable.Fields[idx_FacturasProformaREFERENCIA_PEDIDO_CLIENTE].AsString; +end; + +procedure TFacturasProformaDataTableRules.SetREFERENCIA_PEDIDO_CLIENTEValue(const aValue: String); +begin + DataTable.Fields[idx_FacturasProformaREFERENCIA_PEDIDO_CLIENTE].AsString := aValue; +end; + +function TFacturasProformaDataTableRules.GetREFERENCIA_PEDIDO_CLIENTEIsNull: boolean; +begin + result := DataTable.Fields[idx_FacturasProformaREFERENCIA_PEDIDO_CLIENTE].IsNull; +end; + +procedure TFacturasProformaDataTableRules.SetREFERENCIA_PEDIDO_CLIENTEIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_FacturasProformaREFERENCIA_PEDIDO_CLIENTE].AsVariant := Null; +end; + +function TFacturasProformaDataTableRules.GetREFERENCIA_DEL_CLIENTEValue: String; +begin + result := DataTable.Fields[idx_FacturasProformaREFERENCIA_DEL_CLIENTE].AsString; +end; + +procedure TFacturasProformaDataTableRules.SetREFERENCIA_DEL_CLIENTEValue(const aValue: String); +begin + DataTable.Fields[idx_FacturasProformaREFERENCIA_DEL_CLIENTE].AsString := aValue; +end; + +function TFacturasProformaDataTableRules.GetREFERENCIA_DEL_CLIENTEIsNull: boolean; +begin + result := DataTable.Fields[idx_FacturasProformaREFERENCIA_DEL_CLIENTE].IsNull; +end; + +procedure TFacturasProformaDataTableRules.SetREFERENCIA_DEL_CLIENTEIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_FacturasProformaREFERENCIA_DEL_CLIENTE].AsVariant := Null; +end; + function TFacturasProformaDataTableRules.GetID_FACTURA_FINALValue: Integer; begin result := DataTable.Fields[idx_FacturasProformaID_FACTURA_FINAL].AsInteger; @@ -1709,6 +1758,27 @@ begin DataTable.Fields[idx_FacturasProformaID_FACTURA_FINAL].AsVariant := Null; end; +function TFacturasProformaDataTableRules.GetREFERENCIA_FACTURA_FINALValue: String; +begin + result := DataTable.Fields[idx_FacturasProformaREFERENCIA_FACTURA_FINAL].AsString; +end; + +procedure TFacturasProformaDataTableRules.SetREFERENCIA_FACTURA_FINALValue(const aValue: String); +begin + DataTable.Fields[idx_FacturasProformaREFERENCIA_FACTURA_FINAL].AsString := aValue; +end; + +function TFacturasProformaDataTableRules.GetREFERENCIA_FACTURA_FINALIsNull: boolean; +begin + result := DataTable.Fields[idx_FacturasProformaREFERENCIA_FACTURA_FINAL].IsNull; +end; + +procedure TFacturasProformaDataTableRules.SetREFERENCIA_FACTURA_FINALIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_FacturasProformaREFERENCIA_FACTURA_FINAL].AsVariant := Null; +end; + { TFacturasProforma_DetallesDataTableRules } constructor TFacturasProforma_DetallesDataTableRules.Create(aDataTable: TDADataTable); diff --git a/Source/Modulos/Facturas proforma/Model/schFacturasProformaServer_Intf.pas b/Source/Modulos/Facturas proforma/Model/schFacturasProformaServer_Intf.pas index 2d8f848..4d245b4 100644 --- a/Source/Modulos/Facturas proforma/Model/schFacturasProformaServer_Intf.pas +++ b/Source/Modulos/Facturas proforma/Model/schFacturasProformaServer_Intf.pas @@ -9,14 +9,14 @@ const { Delta rules ids Feel free to change them to something more human readable but make sure they are unique in the context of your application } - RID_ListaAnosFacturasDelta = '{1E0FB8B9-0971-4C08-9852-81F821095795}'; - RID_FacturasProformaDelta = '{8CCB35B8-FB46-40BB-8D1C-F22A11E81325}'; - RID_FacturasProforma_DetallesDelta = '{9C6DD5EA-A831-40AF-AAF2-792029C0567D}'; + RID_ListaAnosFacturasDelta = '{B56B2864-B139-4368-9643-757950948319}'; + RID_FacturasProformaDelta = '{6517D416-A2B8-40EF-BE1A-056BBC8D08BE}'; + RID_FacturasProforma_DetallesDelta = '{88B55B8E-BF8A-49C0-B26F-6BDDDFD872DD}'; type { IListaAnosFacturasDelta } IListaAnosFacturasDelta = interface(IListaAnosFacturas) - ['{1E0FB8B9-0971-4C08-9852-81F821095795}'] + ['{B56B2864-B139-4368-9643-757950948319}'] { Property getters and setters } function GetOldANOValue : String; @@ -50,7 +50,7 @@ type { IFacturasProformaDelta } IFacturasProformaDelta = interface(IFacturasProforma) - ['{8CCB35B8-FB46-40BB-8D1C-F22A11E81325}'] + ['{6517D416-A2B8-40EF-BE1A-056BBC8D08BE}'] { Property getters and setters } function GetOldIDValue : Integer; function GetOldID_EMPRESAValue : Integer; @@ -87,9 +87,11 @@ type function GetOldNUM_COPIASValue : SmallInt; function GetOldNUM_CORREOSValue : SmallInt; function GetOldDATOS_BANCARIOSValue : String; - function GetOldREFERENCIA_CLIENTEValue : String; function GetOldID_PEDIDOValue : Integer; + function GetOldREFERENCIA_PEDIDO_CLIENTEValue : String; + function GetOldREFERENCIA_DEL_CLIENTEValue : String; function GetOldID_FACTURA_FINALValue : Integer; + function GetOldREFERENCIA_FACTURA_FINALValue : String; { Properties } property OldID : Integer read GetOldIDValue; @@ -127,9 +129,11 @@ type property OldNUM_COPIAS : SmallInt read GetOldNUM_COPIASValue; property OldNUM_CORREOS : SmallInt read GetOldNUM_CORREOSValue; property OldDATOS_BANCARIOS : String read GetOldDATOS_BANCARIOSValue; - property OldREFERENCIA_CLIENTE : String read GetOldREFERENCIA_CLIENTEValue; property OldID_PEDIDO : Integer read GetOldID_PEDIDOValue; + property OldREFERENCIA_PEDIDO_CLIENTE : String read GetOldREFERENCIA_PEDIDO_CLIENTEValue; + property OldREFERENCIA_DEL_CLIENTE : String read GetOldREFERENCIA_DEL_CLIENTEValue; property OldID_FACTURA_FINAL : Integer read GetOldID_FACTURA_FINALValue; + property OldREFERENCIA_FACTURA_FINAL : String read GetOldREFERENCIA_FACTURA_FINALValue; end; { TFacturasProformaBusinessProcessorRules } @@ -348,24 +352,36 @@ type function GetOldDATOS_BANCARIOSIsNull: Boolean; virtual; procedure SetDATOS_BANCARIOSValue(const aValue: String); virtual; procedure SetDATOS_BANCARIOSIsNull(const aValue: Boolean); virtual; - function GetREFERENCIA_CLIENTEValue: String; virtual; - function GetREFERENCIA_CLIENTEIsNull: Boolean; virtual; - function GetOldREFERENCIA_CLIENTEValue: String; virtual; - function GetOldREFERENCIA_CLIENTEIsNull: Boolean; virtual; - procedure SetREFERENCIA_CLIENTEValue(const aValue: String); virtual; - procedure SetREFERENCIA_CLIENTEIsNull(const aValue: Boolean); virtual; function GetID_PEDIDOValue: Integer; virtual; function GetID_PEDIDOIsNull: Boolean; virtual; function GetOldID_PEDIDOValue: Integer; virtual; function GetOldID_PEDIDOIsNull: Boolean; virtual; procedure SetID_PEDIDOValue(const aValue: Integer); virtual; procedure SetID_PEDIDOIsNull(const aValue: Boolean); virtual; + function GetREFERENCIA_PEDIDO_CLIENTEValue: String; virtual; + function GetREFERENCIA_PEDIDO_CLIENTEIsNull: Boolean; virtual; + function GetOldREFERENCIA_PEDIDO_CLIENTEValue: String; virtual; + function GetOldREFERENCIA_PEDIDO_CLIENTEIsNull: Boolean; virtual; + procedure SetREFERENCIA_PEDIDO_CLIENTEValue(const aValue: String); virtual; + procedure SetREFERENCIA_PEDIDO_CLIENTEIsNull(const aValue: Boolean); virtual; + function GetREFERENCIA_DEL_CLIENTEValue: String; virtual; + function GetREFERENCIA_DEL_CLIENTEIsNull: Boolean; virtual; + function GetOldREFERENCIA_DEL_CLIENTEValue: String; virtual; + function GetOldREFERENCIA_DEL_CLIENTEIsNull: Boolean; virtual; + procedure SetREFERENCIA_DEL_CLIENTEValue(const aValue: String); virtual; + procedure SetREFERENCIA_DEL_CLIENTEIsNull(const aValue: Boolean); virtual; function GetID_FACTURA_FINALValue: Integer; virtual; function GetID_FACTURA_FINALIsNull: Boolean; virtual; function GetOldID_FACTURA_FINALValue: Integer; virtual; function GetOldID_FACTURA_FINALIsNull: Boolean; virtual; procedure SetID_FACTURA_FINALValue(const aValue: Integer); virtual; procedure SetID_FACTURA_FINALIsNull(const aValue: Boolean); virtual; + function GetREFERENCIA_FACTURA_FINALValue: String; virtual; + function GetREFERENCIA_FACTURA_FINALIsNull: Boolean; virtual; + function GetOldREFERENCIA_FACTURA_FINALValue: String; virtual; + function GetOldREFERENCIA_FACTURA_FINALIsNull: Boolean; virtual; + procedure SetREFERENCIA_FACTURA_FINALValue(const aValue: String); virtual; + procedure SetREFERENCIA_FACTURA_FINALIsNull(const aValue: Boolean); virtual; { Properties } property ID : Integer read GetIDValue write SetIDValue; @@ -508,18 +524,26 @@ type property DATOS_BANCARIOSIsNull : Boolean read GetDATOS_BANCARIOSIsNull write SetDATOS_BANCARIOSIsNull; property OldDATOS_BANCARIOS : String read GetOldDATOS_BANCARIOSValue; property OldDATOS_BANCARIOSIsNull : Boolean read GetOldDATOS_BANCARIOSIsNull; - property REFERENCIA_CLIENTE : String read GetREFERENCIA_CLIENTEValue write SetREFERENCIA_CLIENTEValue; - property REFERENCIA_CLIENTEIsNull : Boolean read GetREFERENCIA_CLIENTEIsNull write SetREFERENCIA_CLIENTEIsNull; - property OldREFERENCIA_CLIENTE : String read GetOldREFERENCIA_CLIENTEValue; - property OldREFERENCIA_CLIENTEIsNull : Boolean read GetOldREFERENCIA_CLIENTEIsNull; property ID_PEDIDO : Integer read GetID_PEDIDOValue write SetID_PEDIDOValue; property ID_PEDIDOIsNull : Boolean read GetID_PEDIDOIsNull write SetID_PEDIDOIsNull; property OldID_PEDIDO : Integer read GetOldID_PEDIDOValue; property OldID_PEDIDOIsNull : Boolean read GetOldID_PEDIDOIsNull; + property REFERENCIA_PEDIDO_CLIENTE : String read GetREFERENCIA_PEDIDO_CLIENTEValue write SetREFERENCIA_PEDIDO_CLIENTEValue; + property REFERENCIA_PEDIDO_CLIENTEIsNull : Boolean read GetREFERENCIA_PEDIDO_CLIENTEIsNull write SetREFERENCIA_PEDIDO_CLIENTEIsNull; + property OldREFERENCIA_PEDIDO_CLIENTE : String read GetOldREFERENCIA_PEDIDO_CLIENTEValue; + property OldREFERENCIA_PEDIDO_CLIENTEIsNull : Boolean read GetOldREFERENCIA_PEDIDO_CLIENTEIsNull; + property REFERENCIA_DEL_CLIENTE : String read GetREFERENCIA_DEL_CLIENTEValue write SetREFERENCIA_DEL_CLIENTEValue; + property REFERENCIA_DEL_CLIENTEIsNull : Boolean read GetREFERENCIA_DEL_CLIENTEIsNull write SetREFERENCIA_DEL_CLIENTEIsNull; + property OldREFERENCIA_DEL_CLIENTE : String read GetOldREFERENCIA_DEL_CLIENTEValue; + property OldREFERENCIA_DEL_CLIENTEIsNull : Boolean read GetOldREFERENCIA_DEL_CLIENTEIsNull; property ID_FACTURA_FINAL : Integer read GetID_FACTURA_FINALValue write SetID_FACTURA_FINALValue; property ID_FACTURA_FINALIsNull : Boolean read GetID_FACTURA_FINALIsNull write SetID_FACTURA_FINALIsNull; property OldID_FACTURA_FINAL : Integer read GetOldID_FACTURA_FINALValue; property OldID_FACTURA_FINALIsNull : Boolean read GetOldID_FACTURA_FINALIsNull; + property REFERENCIA_FACTURA_FINAL : String read GetREFERENCIA_FACTURA_FINALValue write SetREFERENCIA_FACTURA_FINALValue; + property REFERENCIA_FACTURA_FINALIsNull : Boolean read GetREFERENCIA_FACTURA_FINALIsNull write SetREFERENCIA_FACTURA_FINALIsNull; + property OldREFERENCIA_FACTURA_FINAL : String read GetOldREFERENCIA_FACTURA_FINALValue; + property OldREFERENCIA_FACTURA_FINALIsNull : Boolean read GetOldREFERENCIA_FACTURA_FINALIsNull; public constructor Create(aBusinessProcessor: TDABusinessProcessor); override; @@ -529,7 +553,7 @@ type { IFacturasProforma_DetallesDelta } IFacturasProforma_DetallesDelta = interface(IFacturasProforma_Detalles) - ['{9C6DD5EA-A831-40AF-AAF2-792029C0567D}'] + ['{88B55B8E-BF8A-49C0-B26F-6BDDDFD872DD}'] { Property getters and setters } function GetOldIDValue : Integer; function GetOldID_FACTURAValue : Integer; @@ -1881,37 +1905,6 @@ begin BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasProformaDATOS_BANCARIOS] := Null; end; -function TFacturasProformaBusinessProcessorRules.GetREFERENCIA_CLIENTEValue: String; -begin - result := BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasProformaREFERENCIA_CLIENTE]; -end; - -function TFacturasProformaBusinessProcessorRules.GetREFERENCIA_CLIENTEIsNull: Boolean; -begin - result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasProformaREFERENCIA_CLIENTE]); -end; - -function TFacturasProformaBusinessProcessorRules.GetOldREFERENCIA_CLIENTEValue: String; -begin - result := BusinessProcessor.CurrentChange.OldValueByName[fld_FacturasProformaREFERENCIA_CLIENTE]; -end; - -function TFacturasProformaBusinessProcessorRules.GetOldREFERENCIA_CLIENTEIsNull: Boolean; -begin - result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_FacturasProformaREFERENCIA_CLIENTE]); -end; - -procedure TFacturasProformaBusinessProcessorRules.SetREFERENCIA_CLIENTEValue(const aValue: String); -begin - BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasProformaREFERENCIA_CLIENTE] := aValue; -end; - -procedure TFacturasProformaBusinessProcessorRules.SetREFERENCIA_CLIENTEIsNull(const aValue: Boolean); -begin - if aValue then - BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasProformaREFERENCIA_CLIENTE] := Null; -end; - function TFacturasProformaBusinessProcessorRules.GetID_PEDIDOValue: Integer; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasProformaID_PEDIDO]; @@ -1943,6 +1936,68 @@ begin BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasProformaID_PEDIDO] := Null; end; +function TFacturasProformaBusinessProcessorRules.GetREFERENCIA_PEDIDO_CLIENTEValue: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasProformaREFERENCIA_PEDIDO_CLIENTE]; +end; + +function TFacturasProformaBusinessProcessorRules.GetREFERENCIA_PEDIDO_CLIENTEIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasProformaREFERENCIA_PEDIDO_CLIENTE]); +end; + +function TFacturasProformaBusinessProcessorRules.GetOldREFERENCIA_PEDIDO_CLIENTEValue: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_FacturasProformaREFERENCIA_PEDIDO_CLIENTE]; +end; + +function TFacturasProformaBusinessProcessorRules.GetOldREFERENCIA_PEDIDO_CLIENTEIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_FacturasProformaREFERENCIA_PEDIDO_CLIENTE]); +end; + +procedure TFacturasProformaBusinessProcessorRules.SetREFERENCIA_PEDIDO_CLIENTEValue(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasProformaREFERENCIA_PEDIDO_CLIENTE] := aValue; +end; + +procedure TFacturasProformaBusinessProcessorRules.SetREFERENCIA_PEDIDO_CLIENTEIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasProformaREFERENCIA_PEDIDO_CLIENTE] := Null; +end; + +function TFacturasProformaBusinessProcessorRules.GetREFERENCIA_DEL_CLIENTEValue: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasProformaREFERENCIA_DEL_CLIENTE]; +end; + +function TFacturasProformaBusinessProcessorRules.GetREFERENCIA_DEL_CLIENTEIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasProformaREFERENCIA_DEL_CLIENTE]); +end; + +function TFacturasProformaBusinessProcessorRules.GetOldREFERENCIA_DEL_CLIENTEValue: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_FacturasProformaREFERENCIA_DEL_CLIENTE]; +end; + +function TFacturasProformaBusinessProcessorRules.GetOldREFERENCIA_DEL_CLIENTEIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_FacturasProformaREFERENCIA_DEL_CLIENTE]); +end; + +procedure TFacturasProformaBusinessProcessorRules.SetREFERENCIA_DEL_CLIENTEValue(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasProformaREFERENCIA_DEL_CLIENTE] := aValue; +end; + +procedure TFacturasProformaBusinessProcessorRules.SetREFERENCIA_DEL_CLIENTEIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasProformaREFERENCIA_DEL_CLIENTE] := Null; +end; + function TFacturasProformaBusinessProcessorRules.GetID_FACTURA_FINALValue: Integer; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasProformaID_FACTURA_FINAL]; @@ -1974,6 +2029,37 @@ begin BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasProformaID_FACTURA_FINAL] := Null; end; +function TFacturasProformaBusinessProcessorRules.GetREFERENCIA_FACTURA_FINALValue: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasProformaREFERENCIA_FACTURA_FINAL]; +end; + +function TFacturasProformaBusinessProcessorRules.GetREFERENCIA_FACTURA_FINALIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasProformaREFERENCIA_FACTURA_FINAL]); +end; + +function TFacturasProformaBusinessProcessorRules.GetOldREFERENCIA_FACTURA_FINALValue: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_FacturasProformaREFERENCIA_FACTURA_FINAL]; +end; + +function TFacturasProformaBusinessProcessorRules.GetOldREFERENCIA_FACTURA_FINALIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_FacturasProformaREFERENCIA_FACTURA_FINAL]); +end; + +procedure TFacturasProformaBusinessProcessorRules.SetREFERENCIA_FACTURA_FINALValue(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasProformaREFERENCIA_FACTURA_FINAL] := aValue; +end; + +procedure TFacturasProformaBusinessProcessorRules.SetREFERENCIA_FACTURA_FINALIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasProformaREFERENCIA_FACTURA_FINAL] := Null; +end; + { TFacturasProforma_DetallesBusinessProcessorRules } constructor TFacturasProforma_DetallesBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor); diff --git a/Source/Modulos/Facturas proforma/Plugin/FacturasProforma_plugin.drc b/Source/Modulos/Facturas proforma/Plugin/FacturasProforma_plugin.drc index ef00be8..0fe7cf3 100644 --- a/Source/Modulos/Facturas proforma/Plugin/FacturasProforma_plugin.drc +++ b/Source/Modulos/Facturas proforma/Plugin/FacturasProforma_plugin.drc @@ -14,4 +14,4 @@ END /* C:\Codigo\Source\Modulos\Facturas proforma\Plugin\uPluginFacturasProforma.dfm */ /* C:\Codigo\Source\Modulos\Facturas proforma\Plugin\FacturasProforma_plugin.res */ -/* C:\Codigo\Source\Modulos\Facturas proforma\Plugin\FacturasProforma_plugin.drf */ +/* c:\temp\dtf3E0.tmp */ diff --git a/Source/Modulos/Facturas proforma/Reports/uRptFacturasProforma_Server.dfm b/Source/Modulos/Facturas proforma/Reports/uRptFacturasProforma_Server.dfm index a799209..da4d97c 100644 --- a/Source/Modulos/Facturas proforma/Reports/uRptFacturasProforma_Server.dfm +++ b/Source/Modulos/Facturas proforma/Reports/uRptFacturasProforma_Server.dfm @@ -7,630 +7,30 @@ object RptFacturasProforma: TRptFacturasProforma object schReport: TDASchema ConnectionManager = dmServer.ConnectionManager Datasets = < - item - Params = < - item - Name = 'ID_EMPRESA' - Value = '' - end - item - Name = 'ANO' - Value = '' - end - item - Name = 'ANO2' - Value = '' - end - item - Name = 'NTOP' - Value = '' - end> - Statements = < - item - Connection = 'IBX' - ConnectionType = 'Interbase' - Default = True - Name = 'IBX' - SQL = - 'select REFERENCIA, NOMBRE, sum(ANO1) as ANO1, sum (ANO2) as ANO2' + - ', sum (IMPORTE_DESCUENTO) as IMPORTE_DESCUENTO,'#10'sum (IMPORTE_DES' + - 'CUENTO2) as IMPORTE_DESCUENTO2, sum (IMPORTE_TOTAL) as IMPORTE_T' + - 'OTAL, sum (IMPORTE_COBRADO) as IMPORTE_COBRADO,'#10'sum (PORCENTAJE)' + - ' as PORCENTAJE'#10'from'#10'('#10'select C.REFERENCIA as REFERENCIA, COALESC' + - 'E(C.NOMBRE, P.NOMBRE) as NOMBRE, P.ANO as ANO1, 0 as ANO2,'#10'SUM(P' + - '.IMPORTE_DESCUENTO) as IMPORTE_DESCUENTO, 0 as IMPORTE_DESCUENTO' + - '2, SUM(P.IMPORTE_NETO) as IMPORTE_TOTAL,'#10'SUM(P.IMPORTE_TOTAL) as' + - ' IMPORTE_COBRADO,'#10'case when SUM(P.IMPORTE_NETO) = 0 then 0'#10'else ' + - '((SUM(P.IMPORTE_DESCUENTO) * 100) / SUM(P.IMPORTE_NETO)) end as ' + - 'PORCENTAJE'#10#10'from V_INF_FAC_DET_CLIENTE P'#10'left join CONTACTOS C o' + - 'n P.ID_CLIENTE = C.ID'#10'where p.ID_EMPRESA = :ID_EMPRESA'#10'and P.ANO' + - ' = :ANO'#10'group by 1,2,3,4'#10#10'union'#10#10'select C2.REFERENCIA as REFEREN' + - 'CIA, COALESCE(C2.NOMBRE, P2.NOMBRE) as NOMBRE, 0 as ANO1, P2.ANO' + - ' as ANO2,'#10' 0 as IMPORTE_DESCUENTO, SUM(P2.IMPORTE_DESCUENTO) as ' + - 'IMPORTE_DESCUENTO2, 0 as IMPORTE_TOTAL,'#10' 0 as IMPORTE_COBRADO, 0' + - ' as PORCENTAJE'#10'from V_INF_FAC_DET_CLIENTE P2'#10'left join CONTACTOS' + - ' C2 on P2.ID_CLIENTE = C2.ID'#10'where p2.ID_EMPRESA = :ID_EMPRESA'#10'a' + - 'nd P2.ANO = :ANO2'#10'group by 1,2,3,4,5'#10')'#10#10'group by 1,2'#10'having (sum' + - '(ANO1) > 0)'#10'order by 3,5 desc'#10'rows 1 to :NTOP'#10#10#10#10 - StatementType = stSQL - ColumnMappings = < - item - DatasetField = 'REFERENCIA' - TableField = 'REFERENCIA' - end - item - DatasetField = 'NOMBRE' - TableField = 'NOMBRE' - end - item - DatasetField = 'IMPORTE_DESCUENTO' - TableField = 'IMPORTE_DESCUENTO' - end - item - DatasetField = 'IMPORTE_TOTAL' - TableField = 'IMPORTE_TOTAL' - end - item - DatasetField = 'IMPORTE_COBRADO' - TableField = 'IMPORTE_COBRADO' - end - item - DatasetField = 'PORCENTAJE' - TableField = 'PORCENTAJE' - end - item - DatasetField = 'ANO1' - TableField = 'ANO1' - end - item - DatasetField = 'ANO2' - TableField = 'ANO2' - end - item - DatasetField = 'IMPORTE_DESCUENTO2' - TableField = 'IMPORTE_DESCUENTO2' - end> - end> - Name = 'InformeListadoClientesMayorDescuentoResumen' - Fields = < - item - Name = 'REFERENCIA' - DataType = datString - Size = 255 - end - item - Name = 'NOMBRE' - DataType = datString - Size = 255 - end - item - Name = 'ANO1' - DataType = datLargeInt - end - item - Name = 'ANO2' - DataType = datLargeInt - end - item - Name = 'IMPORTE_DESCUENTO' - DataType = datCurrency - end - item - Name = 'IMPORTE_DESCUENTO2' - DataType = datCurrency - end - item - Name = 'IMPORTE_TOTAL' - DataType = datCurrency - end - item - Name = 'IMPORTE_COBRADO' - DataType = datCurrency - end - item - Name = 'PORCENTAJE' - DataType = datDecimal - end> - end - item - Params = < - item - Name = 'ID_EMPRESA1' - Value = '' - end - item - Name = 'ANO1' - Value = '' - end - item - Name = 'ID_EMPRESA2' - Value = '' - end - item - Name = 'ANO2' - Value = '' - end> - Statements = < - item - Connection = 'IBX' - ConnectionType = 'Interbase' - Default = True - Name = 'IBX' - SQL = - 'select VALOR, DESCRIPCION, periodo1.ANO as Ano1, periodo1.IMPORT' + - 'E_TOTAL, periodo2.ANO as Ano2, periodo2.IMPORTE_TOTAL,'#10#10'(periodo' + - '1.IMPORTE_TOTAL - periodo2.IMPORTE_TOTAL) as Diferencia,'#10'/*SOLO ' + - 'COMPARAREMOS CUANDO EL SEGUNDO A'#209'O SEA DIFERENTE DE 0, comparati' + - 'va de A'#241'o1 respecto A'#241'o2*/'#10'case'#10'when (periodo1.IMPORTE_TOTAL = 0' + - ') then (100 - (periodo2.IMPORTE_TOTAL*100))'#10'else (100 - ((period' + - 'o2.IMPORTE_TOTAL*100)/periodo1.IMPORTE_TOTAL))'#10'end as Porcentaje' + - #10#10'FROM'#10'periodos_aux'#10'left join'#10'(select comp1.ID_EMPRESA, comp1.AN' + - 'O, SEMESTRE as NFILA, SUM(comp1.BASE_IMPONIBLE) as IMPORTE_TOTAL' + - #10'from V_INF_FAC_CLIENTE comp1'#10'where ID_EMPRESA = :ID_EMPRESA1'#10'an' + - 'd (ANO = :ANO1)'#10'group by 1,2,3'#10'order by 1 desc,2 asc) periodo1 o' + - 'n (VALOR = periodo1.NFILA)'#10#10'left join'#10'(select comp2.ID_EMPRESA, ' + - 'comp2.ANO, SEMESTRE as NFILA, SUM(comp2.BASE_IMPONIBLE) as IMPOR' + - 'TE_TOTAL'#10'from V_INF_FAC_CLIENTE comp2'#10'where ID_EMPRESA = :ID_EMP' + - 'RESA2'#10'and (ANO = :ANO2)'#10'group by 1,2,3'#10'order by 1 desc,2 asc) pe' + - 'riodo2 on (VALOR = periodo2.NFILA)'#10#10'where periodo= '#39'SEMESTRAL'#39#10'o' + - 'rder by valor asc'#10#10 - StatementType = stSQL - ColumnMappings = < - item - DatasetField = 'VALOR' - TableField = 'VALOR' - end - item - DatasetField = 'DESCRIPCION' - TableField = 'DESCRIPCION' - end - item - DatasetField = 'ANO1' - TableField = 'ANO1' - end - item - DatasetField = 'IMPORTE_TOTAL' - TableField = 'IMPORTE_TOTAL' - end - item - DatasetField = 'ANO2' - TableField = 'ANO2' - end - item - DatasetField = 'IMPORTE_TOTAL1' - TableField = 'IMPORTE_TOTAL1' - end - item - DatasetField = 'DIFERENCIA' - TableField = 'DIFERENCIA' - end - item - DatasetField = 'PORCENTAJE' - TableField = 'PORCENTAJE' - end> - end> - Name = 'InformeListadoFacturasGrafCompSemestral' - Fields = < - item - Name = 'VALOR' - DataType = datSmallInt - end - item - Name = 'DESCRIPCION' - DataType = datString - Size = 20 - end - item - Name = 'ANO1' - DataType = datSmallInt - end - item - Name = 'IMPORTE_TOTAL' - DataType = datCurrency - end - item - Name = 'ANO2' - DataType = datSmallInt - end - item - Name = 'IMPORTE_TOTAL1' - DataType = datCurrency - end - item - Name = 'DIFERENCIA' - DataType = datCurrency - end - item - Name = 'PORCENTAJE' - DataType = datCurrency - end> - end - item - Params = < - item - Name = 'ID_EMPRESA1' - Value = '' - end - item - Name = 'ANO1' - Value = '' - end - item - Name = 'ID_EMPRESA2' - Value = '' - end - item - Name = 'ANO2' - Value = '' - end> - Statements = < - item - Connection = 'IBX' - ConnectionType = 'Interbase' - Default = True - Name = 'IBX' - SQL = - 'select VALOR, DESCRIPCION, periodo1.ANO as Ano1, periodo1.IMPORT' + - 'E_TOTAL, periodo2.ANO as Ano2, periodo2.IMPORTE_TOTAL,'#10#10'(periodo' + - '1.IMPORTE_TOTAL - periodo2.IMPORTE_TOTAL) as Diferencia,'#10'/*SOLO ' + - 'COMPARAREMOS CUANDO EL SEGUNDO A'#209'O SEA DIFERENTE DE 0, comparati' + - 'va de A'#241'o1 respecto A'#241'o2*/'#10'case'#10'when (periodo1.IMPORTE_TOTAL = 0' + - ') then (100 - (periodo2.IMPORTE_TOTAL*100))'#10'else (100 - ((period' + - 'o2.IMPORTE_TOTAL*100)/periodo1.IMPORTE_TOTAL))'#10'end as Porcentaje' + - #10#10'FROM'#10'periodos_aux'#10'left join'#10'(select comp1.ID_EMPRESA, comp1.AN' + - 'O, MES as NFILA, SUM(comp1.BASE_IMPONIBLE) as IMPORTE_TOTAL'#10'from' + - ' V_INF_FAC_CLIENTE comp1'#10'where ID_EMPRESA = :ID_EMPRESA1'#10'and (AN' + - 'O = :ANO1)'#10'group by 1,2,3'#10'order by 1 desc,2 asc) periodo1 on (VA' + - 'LOR = periodo1.NFILA)'#10#10'left join'#10'(select comp2.ID_EMPRESA, comp2' + - '.ANO, MES as NFILA, SUM(comp2.BASE_IMPONIBLE) as IMPORTE_TOTAL'#10'f' + - 'rom V_INF_FAC_CLIENTE comp2'#10'where ID_EMPRESA = :ID_EMPRESA2'#10'and ' + - '(ANO = :ANO2)'#10'group by 1,2,3'#10'order by 1 desc,2 asc) periodo2 on ' + - '(VALOR = periodo2.NFILA)'#10#10'where periodo= '#39'MENSUAL'#39#10'order by valo' + - 'r asc'#10#10 - StatementType = stSQL - ColumnMappings = < - item - DatasetField = 'VALOR' - TableField = 'VALOR' - end - item - DatasetField = 'DESCRIPCION' - TableField = 'DESCRIPCION' - end - item - DatasetField = 'ANO1' - TableField = 'ANO1' - end - item - DatasetField = 'IMPORTE_TOTAL' - TableField = 'IMPORTE_TOTAL' - end - item - DatasetField = 'ANO2' - TableField = 'ANO2' - end - item - DatasetField = 'IMPORTE_TOTAL1' - TableField = 'IMPORTE_TOTAL1' - end - item - DatasetField = 'DIFERENCIA' - TableField = 'DIFERENCIA' - end - item - DatasetField = 'PORCENTAJE' - TableField = 'PORCENTAJE' - end> - end> - Name = 'InformeListadoFacturasGrafCompMensual' - Fields = < - item - Name = 'VALOR' - DataType = datSmallInt - end - item - Name = 'DESCRIPCION' - DataType = datString - Size = 20 - end - item - Name = 'ANO1' - DataType = datSmallInt - end - item - Name = 'IMPORTE_TOTAL' - DataType = datCurrency - end - item - Name = 'ANO2' - DataType = datSmallInt - end - item - Name = 'IMPORTE_TOTAL1' - DataType = datCurrency - end - item - Name = 'DIFERENCIA' - DataType = datCurrency - end - item - Name = 'PORCENTAJE' - DataType = datCurrency - end> - end - item - Params = < - item - Name = 'ID_EMPRESA' - Value = '' - end - item - Name = 'ANO' - Value = '' - end - item - Name = 'ANO2' - Value = '' - end - item - Name = 'NTOP' - Value = '' - end> - Statements = < - item - Connection = 'IBX' - ConnectionType = 'Interbase' - Default = True - Name = 'IBX' - SQL = - 'select REFERENCIA, NOMBRE, sum(ANO1) as ANO1, sum (ANO2) as ANO2' + - ', sum (Importe_TOTAL_ANO) as IMPORTE_TOTAL_ANO,'#10'sum (NUMFAC) as ' + - 'NUMFAC, sum (IMPORTE_TOTAL) as IMPORTE_TOTAL_ANO1, sum (IMPORTE_' + - 'TOTAL_ANO2) as IMPORTE_TOTAL_ANO2,'#10'sum (PORCENTAJE) as PORCENTAJ' + - 'E'#10'from'#10'('#10'select C.REFERENCIA as REFERENCIA, COALESCE(C.NOMBRE, P' + - '.NOMBRE) as NOMBRE, P.ANO as ANO1, 0 as ANO2, p.Importe_TOTAL_AN' + - 'O,'#10'COUNT(P.FECHA_FACTURA) as NUMFAC, SUM(P.BASE_IMPONIBLE) as IM' + - 'PORTE_TOTAL, 0 as IMPORTE_TOTAL_ANO2,'#10'((SUM(P.BASE_IMPONIBLE)*10' + - '0)/p.Importe_TOTAL_ANO) as PORCENTAJE'#10'from V_INF_FAC_CLIENTE P'#10'l' + - 'eft join CONTACTOS C on P.ID_CLIENTE = C.ID'#10'where p.ID_EMPRESA =' + - ' :ID_EMPRESA'#10'and P.ANO = :ANO'#10'group by 1,2,3,4,5'#10#10'union'#10#10'select ' + - 'C2.REFERENCIA as REFERENCIA, COALESCE(C2.NOMBRE, P2.NOMBRE) as N' + - 'OMBRE, 0 as ANO1, P2.ANO as ANO2, 0 as Importe_TOTAL_ANO,'#10'0 as N' + - 'UMFAC, 0 as IMPORTE_TOTAL, SUM(P2.BASE_IMPONIBLE) as IMPORTE_TOT' + - 'AL_ANO2, 0 as PORCENTAJE'#10'from V_INF_FAC_CLIENTE P2'#10'left join CON' + - 'TACTOS C2 on P2.ID_CLIENTE = C2.ID'#10'where p2.ID_EMPRESA = :ID_EMP' + - 'RESA'#10'and P2.ANO = :ANO2'#10'group by 1,2,3,4,5,6,7'#10')'#10#10'group by 1,2'#10'h' + - 'aving (sum(ANO1) > 0)'#10'order by 3,7 desc'#10'rows 1 to :NTOP'#10#10 - StatementType = stSQL - ColumnMappings = < - item - DatasetField = 'REFERENCIA' - TableField = 'REFERENCIA' - end - item - DatasetField = 'NOMBRE' - TableField = 'NOMBRE' - end - item - DatasetField = 'IMPORTE_TOTAL_ANO' - TableField = 'IMPORTE_TOTAL_ANO' - end - item - DatasetField = 'NUMFAC' - TableField = 'NUMFAC' - end - item - DatasetField = 'PORCENTAJE' - TableField = 'PORCENTAJE' - end - item - DatasetField = 'ANO1' - TableField = 'ANO1' - end - item - DatasetField = 'ANO2' - TableField = 'ANO2' - end - item - DatasetField = 'IMPORTE_TOTAL_ANO1' - TableField = 'IMPORTE_TOTAL_ANO1' - end - item - DatasetField = 'IMPORTE_TOTAL_ANO2' - TableField = 'IMPORTE_TOTAL_ANO2' - end> - end> - Name = 'InformeListadoClientesMayorFacturacionResumen' - Fields = < - item - Name = 'REFERENCIA' - DataType = datString - Size = 255 - end - item - Name = 'NOMBRE' - DataType = datString - Size = 255 - end - item - Name = 'ANO1' - DataType = datLargeInt - end - item - Name = 'ANO2' - DataType = datLargeInt - end - item - Name = 'IMPORTE_TOTAL_ANO' - DataType = datCurrency - end - item - Name = 'NUMFAC' - DataType = datLargeInt - end - item - Name = 'IMPORTE_TOTAL_ANO1' - DataType = datCurrency - end - item - Name = 'IMPORTE_TOTAL_ANO2' - DataType = datCurrency - end - item - Name = 'PORCENTAJE' - DataType = datCurrency - end> - end - item - Params = < - item - Name = 'ID_EMPRESA1' - Value = '' - end - item - Name = 'ANO1' - Value = '' - end - item - Name = 'ID_EMPRESA2' - Value = '' - end - item - Name = 'ANO2' - Value = '' - end> - Statements = < - item - Connection = 'IBX' - ConnectionType = 'Interbase' - Default = True - Name = 'IBX' - SQL = - 'select VALOR, DESCRIPCION, periodo1.ANO as Ano1, periodo1.IMPORT' + - 'E_TOTAL, periodo2.ANO as Ano2, periodo2.IMPORTE_TOTAL,'#10#10'(periodo' + - '1.IMPORTE_TOTAL - periodo2.IMPORTE_TOTAL) as Diferencia,'#10'/*SOLO ' + - 'COMPARAREMOS CUANDO EL SEGUNDO A'#209'O SEA DIFERENTE DE 0, comparati' + - 'va de A'#241'o1 respecto A'#241'o2*/'#10'case'#10'when (periodo1.IMPORTE_TOTAL = 0' + - ') then (100 - (periodo2.IMPORTE_TOTAL*100))'#10'else (100 - ((period' + - 'o2.IMPORTE_TOTAL*100)/periodo1.IMPORTE_TOTAL))'#10'end as Porcentaje' + - #10#10'FROM'#10'periodos_aux'#10'left join'#10'(select comp1.ID_EMPRESA, comp1.AN' + - 'O, TRIMESTRE as NFILA, SUM(comp1.BASE_IMPONIBLE) as IMPORTE_TOTA' + - 'L'#10'from V_INF_FAC_CLIENTE comp1'#10'where ID_EMPRESA = :ID_EMPRESA1'#10'a' + - 'nd (ANO = :ANO1)'#10'group by 1,2,3'#10'order by 1 desc,2 asc) periodo1 ' + - 'on (VALOR = periodo1.NFILA)'#10#10'left join'#10'(select comp2.ID_EMPRESA,' + - ' comp2.ANO, TRIMESTRE as NFILA, SUM(comp2.BASE_IMPONIBLE) as IMP' + - 'ORTE_TOTAL'#10'from V_INF_FAC_CLIENTE comp2'#10'where ID_EMPRESA = :ID_E' + - 'MPRESA2'#10'and (ANO = :ANO2)'#10'group by 1,2,3'#10'order by 1 desc,2 asc) ' + - 'periodo2 on (VALOR = periodo2.NFILA)'#10#10'where periodo= '#39'TRIMESTRAL' + - #39#10'order by valor asc'#10#10 - StatementType = stSQL - ColumnMappings = < - item - DatasetField = 'VALOR' - TableField = 'VALOR' - end - item - DatasetField = 'DESCRIPCION' - TableField = 'DESCRIPCION' - end - item - DatasetField = 'ANO1' - TableField = 'ANO1' - end - item - DatasetField = 'IMPORTE_TOTAL' - TableField = 'IMPORTE_TOTAL' - end - item - DatasetField = 'ANO2' - TableField = 'ANO2' - end - item - DatasetField = 'IMPORTE_TOTAL1' - TableField = 'IMPORTE_TOTAL1' - end - item - DatasetField = 'DIFERENCIA' - TableField = 'DIFERENCIA' - end - item - DatasetField = 'PORCENTAJE' - TableField = 'PORCENTAJE' - end> - end> - Name = 'InformeListadoFacturasGrafCompTrimestral' - Fields = < - item - Name = 'VALOR' - DataType = datSmallInt - end - item - Name = 'DESCRIPCION' - DataType = datString - Size = 20 - end - item - Name = 'ANO1' - DataType = datSmallInt - end - item - Name = 'IMPORTE_TOTAL' - DataType = datCurrency - end - item - Name = 'ANO2' - DataType = datSmallInt - end - item - Name = 'IMPORTE_TOTAL1' - DataType = datCurrency - end - item - Name = 'DIFERENCIA' - DataType = datCurrency - end - item - Name = 'PORCENTAJE' - DataType = datCurrency - end> - end item Params = < item Name = 'ID' DataType = datInteger - Value = '1' - ParamType = daptInput + Value = '' end> Statements = < item Connection = 'IBX' + TargetTable = 'V_FACTURAS_PROFORMA' SQL = - 'SELECT'#10' FACTURAS_CLIENTE.ID, FACTURAS_CLIENTE.REFERENCIA, FAC' + - 'TURAS_CLIENTE.FECHA_FACTURA,'#10' CASE WHEN (FACTURAS_CLIENTE.IMP' + - 'ORTE_TOTAL < 0) THEN '#39'A'#39' ELSE '#39'F'#39' END AS TIPO,'#10'/*'#10' v_facturas' + - '_cliente.situacion,'#10'*/'#10' FACTURAS_CLIENTE.BASE_IMPONIBLE, FACT' + - 'URAS_CLIENTE.DESCUENTO, FACTURAS_CLIENTE.IMPORTE_DESCUENTO,'#10' ' + - 'FACTURAS_CLIENTE.IVA, FACTURAS_CLIENTE.IMPORTE_IVA,'#10' FACTURAS' + - '_CLIENTE.RE, FACTURAS_CLIENTE.IMPORTE_RE,'#10' FACTURAS_CLIENTE.I' + - 'MPORTE_TOTAL,'#10' FACTURAS_CLIENTE.OBSERVACIONES, FORMAS_PAGO.DE' + - 'SCRIPCION AS FORMA_PAGO, FACTURAS_CLIENTE.ID_CLIENTE,'#10' FACTUR' + - 'AS_CLIENTE.NIF_CIF, FACTURAS_CLIENTE.NOMBRE, FACTURAS_CLIENTE.CA' + - 'LLE,'#10' FACTURAS_CLIENTE.PROVINCIA, FACTURAS_CLIENTE.CODIGO_POS' + - 'TAL, FACTURAS_CLIENTE.POBLACION,'#10#10' CONTACTOS_DATOS_BANCO.TITU' + - 'LAR,'#10' CONTACTOS_DATOS_BANCO.ENTIDAD,'#10' CONTACTOS_DATOS_BANC' + - 'O.SUCURSAL,'#10' CONTACTOS_DATOS_BANCO.DC,'#10' CONTACTOS_DATOS_BA' + - 'NCO.CUENTA,'#10#10' ID_EMPRESA, EMPRESAS.NIF_CIF as NIF_CIF_EMPRESA' + - ', EMPRESAS.RAZON_SOCIAL,'#10' EMPRESAS.CALLE as CALLE_EMPRESA, EM' + - 'PRESAS.POBLACION as POBLACION_EMPRESA,'#10' EMPRESAS.PROVINCIA as' + - ' PROVINCIA_EMPRESA, EMPRESAS.CODIGO_POSTAL as CODIGO_POSTAL_EMPR' + - 'ESA,'#10' EMPRESAS.TELEFONO_1, EMPRESAS.FAX, EMPRESAS.MOVIL_1, EM' + - 'PRESAS.EMAIL_1,'#10' EMPRESAS.PAGINA_WEB, EMPRESAS.REGISTRO_MERCA' + - 'NTIL, EMPRESAS.LOGOTIPO'#10#10'FROM FACTURAS_CLIENTE'#10#10'LEFT JOIN EMPRES' + - 'AS ON EMPRESAS.ID = ID_EMPRESA'#10'LEFT JOIN FORMAS_PAGO ON (FORMAS_' + - 'PAGO.ID = FACTURAS_CLIENTE.ID_FORMA_PAGO)'#10'LEFT JOIN CONTACTOS_DA' + - 'TOS_BANCO ON (CONTACTOS_DATOS_BANCO.ID_CONTACTO = FACTURAS_CLIEN' + - 'TE.ID_CLIENTE)'#10#10'WHERE FACTURAS_CLIENTE.ID = :ID'#10#10 + 'SELECT '#10' V.ID, V.ID_EMPRESA, V.REFERENCIA, V.FECHA_FACTURA, V' + + '.FECHA_VENCIMIENTO,'#10' V.SITUACION, V.BASE_IMPONIBLE, V.DESCUEN' + + 'TO, V.IMPORTE_DESCUENTO,'#10' V.DESCRIPCION_DESCUENTO, V.IVA, V.I' + + 'MPORTE_IVA, V.RE, V.IMPORTE_RE,'#10' V.IMPORTE_TOTAL, V.OBSERVACI' + + 'ONES, V.ID_CLIENTE, V.NIF_CIF,'#10' V.NOMBRE, V.ID_DIRECCION, V.C' + + 'ALLE, V.POBLACION, V.PROVINCIA,'#10' V.CODIGO_POSTAL, V.FECHA_ALT' + + 'A, V.FECHA_MODIFICACION, V.USUARIO,'#10' V.ID_FORMA_PAGO, V.RECAR' + + 'GO_EQUIVALENCIA, V.ID_TIPO_IVA, V.IMPORTE_NETO,'#10' V.IMPORTE_PO' + + 'RTE, V.NUM_COPIAS, V.NUM_CORREOS, V.DATOS_BANCARIOS,'#10' V.ID_PE' + + 'DIDO, V.REFERENCIA_DEL_CLIENTE, V.ID_FACTURA_FINAL,'#10' F.DESCRI' + + 'PCION as FORMA_PAGO'#10' FROM'#10' V_FACTURAS_PROFORMA V'#10'LEFT JOIN F' + + 'ORMAS_PAGO F ON (F.ID = V.ID_FORMA_PAGO)'#10'WHERE V.ID = :ID'#10 StatementType = stSQL ColumnMappings = < item @@ -645,14 +45,18 @@ object RptFacturasProforma: TRptFacturasProforma DatasetField = 'REFERENCIA' TableField = 'REFERENCIA' end - item - DatasetField = 'TIPO' - TableField = 'TIPO' - end item DatasetField = 'FECHA_FACTURA' TableField = 'FECHA_FACTURA' end + item + DatasetField = 'FECHA_VENCIMIENTO' + TableField = 'FECHA_VENCIMIENTO' + end + item + DatasetField = 'SITUACION' + TableField = 'SITUACION' + end item DatasetField = 'BASE_IMPONIBLE' TableField = 'BASE_IMPONIBLE' @@ -665,6 +69,10 @@ object RptFacturasProforma: TRptFacturasProforma DatasetField = 'IMPORTE_DESCUENTO' TableField = 'IMPORTE_DESCUENTO' end + item + DatasetField = 'DESCRIPCION_DESCUENTO' + TableField = 'DESCRIPCION_DESCUENTO' + end item DatasetField = 'IVA' TableField = 'IVA' @@ -689,159 +97,152 @@ object RptFacturasProforma: TRptFacturasProforma DatasetField = 'OBSERVACIONES' TableField = 'OBSERVACIONES' end - item - DatasetField = 'NIF_CIF' - TableField = 'NIF_CIF' - end item DatasetField = 'ID_CLIENTE' TableField = 'ID_CLIENTE' end + item + DatasetField = 'NIF_CIF' + TableField = 'NIF_CIF' + end item DatasetField = 'NOMBRE' TableField = 'NOMBRE' end item - DatasetField = 'CALLE' - TableField = 'CALLE' + DatasetField = 'ID_DIRECCION' + TableField = 'ID_DIRECCION' end item - DatasetField = 'PROVINCIA' - TableField = 'PROVINCIA' + DatasetField = 'CALLE' + TableField = 'CALLE' end item DatasetField = 'POBLACION' TableField = 'POBLACION' end + item + DatasetField = 'PROVINCIA' + TableField = 'PROVINCIA' + end item DatasetField = 'CODIGO_POSTAL' TableField = 'CODIGO_POSTAL' end + item + DatasetField = 'FECHA_ALTA' + TableField = 'FECHA_ALTA' + end + item + DatasetField = 'FECHA_MODIFICACION' + TableField = 'FECHA_MODIFICACION' + end + item + DatasetField = 'USUARIO' + TableField = 'USUARIO' + end + item + DatasetField = 'ID_FORMA_PAGO' + TableField = 'ID_FORMA_PAGO' + end + item + DatasetField = 'RECARGO_EQUIVALENCIA' + TableField = 'RECARGO_EQUIVALENCIA' + end + item + DatasetField = 'ID_TIPO_IVA' + TableField = 'ID_TIPO_IVA' + end + item + DatasetField = 'IMPORTE_NETO' + TableField = 'IMPORTE_NETO' + end + item + DatasetField = 'IMPORTE_PORTE' + TableField = 'IMPORTE_PORTE' + end + item + DatasetField = 'NUM_COPIAS' + TableField = 'NUM_COPIAS' + end + item + DatasetField = 'NUM_CORREOS' + TableField = 'NUM_CORREOS' + end + item + DatasetField = 'DATOS_BANCARIOS' + TableField = 'DATOS_BANCARIOS' + end + item + DatasetField = 'ID_PEDIDO' + TableField = 'ID_PEDIDO' + end + item + DatasetField = 'REFERENCIA_DEL_CLIENTE' + TableField = 'REFERENCIA_DEL_CLIENTE' + end + item + DatasetField = 'ID_FACTURA_FINAL' + TableField = 'ID_FACTURA_FINAL' + end item DatasetField = 'FORMA_PAGO' - TableField = 'FORMA_PAGO' - end - item - DatasetField = 'TITULAR' - TableField = 'TITULAR' - end - item - DatasetField = 'ENTIDAD' - TableField = 'ENTIDAD' - end - item - DatasetField = 'SUCURSAL' - TableField = 'SUCURSAL' - end - item - DatasetField = 'DC' - TableField = 'DC' - end - item - DatasetField = 'CUENTA' - TableField = 'CUENTA' - end - item - DatasetField = 'NIF_CIF_EMPRESA' - TableField = 'NIF_CIF_EMPRESA' - end - item - DatasetField = 'RAZON_SOCIAL' - TableField = 'RAZON_SOCIAL' - end - item - DatasetField = 'CALLE_EMPRESA' - TableField = 'CALLE_EMPRESA' - end - item - DatasetField = 'POBLACION_EMPRESA' - TableField = 'POBLACION_EMPRESA' - end - item - DatasetField = 'PROVINCIA_EMPRESA' - TableField = 'PROVINCIA_EMPRESA' - end - item - DatasetField = 'CODIGO_POSTAL_EMPRESA' - TableField = 'CODIGO_POSTAL_EMPRESA' - end - item - DatasetField = 'TELEFONO_1' - TableField = 'TELEFONO_1' - end - item - DatasetField = 'FAX' - TableField = 'FAX' - end - item - DatasetField = 'MOVIL_1' - TableField = 'MOVIL_1' - end - item - DatasetField = 'EMAIL_1' - TableField = 'EMAIL_1' - end - item - DatasetField = 'PAGINA_WEB' - TableField = 'PAGINA_WEB' - end - item - DatasetField = 'REGISTRO_MERCANTIL' - TableField = 'REGISTRO_MERCANTIL' - end - item - DatasetField = 'LOGOTIPO' - TableField = 'LOGOTIPO' + TableField = '' + SQLOrigin = 'FORMA_PAGO' end> end> - Name = 'InformeFacturasCliente' + Name = 'InformeFacturasProforma' Fields = < item Name = 'ID' DataType = datInteger - DictionaryEntry = 'FacturasCliente_ID' - InPrimaryKey = True + end + item + Name = 'ID_EMPRESA' + DataType = datInteger end item Name = 'REFERENCIA' DataType = datString Size = 255 - DictionaryEntry = 'FacturasCliente_REFERENCIA' end item Name = 'FECHA_FACTURA' DataType = datDateTime - DictionaryEntry = 'FacturasCliente_FECHA_FACTURA' end item - Name = 'TIPO' + Name = 'FECHA_VENCIMIENTO' + DataType = datDateTime + end + item + Name = 'SITUACION' DataType = datString - Size = 1 + Size = 255 end item Name = 'BASE_IMPONIBLE' DataType = datCurrency - DictionaryEntry = 'FacturasCliente_BASE_IMPONIBLE' end item Name = 'DESCUENTO' DataType = datFloat - DictionaryEntry = 'FacturasCliente_DESCUENTO' end item Name = 'IMPORTE_DESCUENTO' DataType = datCurrency - DictionaryEntry = 'FacturasCliente_IMPORTE_DESCUENTO' + end + item + Name = 'DESCRIPCION_DESCUENTO' + DataType = datString + Size = 255 end item Name = 'IVA' DataType = datFloat - DictionaryEntry = 'FacturasCliente_IVA' end item Name = 'IMPORTE_IVA' DataType = datCurrency - DictionaryEntry = 'FacturasCliente_IMPORTE_IVA' end item Name = 'RE' @@ -854,152 +255,112 @@ object RptFacturasProforma: TRptFacturasProforma item Name = 'IMPORTE_TOTAL' DataType = datCurrency - DictionaryEntry = 'FacturasCliente_IMPORTE_TOTAL' end item Name = 'OBSERVACIONES' DataType = datMemo - DictionaryEntry = 'FacturasCliente_OBSERVACIONES' - end - item - Name = 'FORMA_PAGO' - DataType = datString - Size = 255 end item Name = 'ID_CLIENTE' DataType = datInteger - DictionaryEntry = 'FacturasCliente_ID_CLIENTE' end item Name = 'NIF_CIF' DataType = datString Size = 15 - DictionaryEntry = 'FacturasCliente_NIF_CIF' end item Name = 'NOMBRE' DataType = datString Size = 255 - DictionaryEntry = 'FacturasCliente_NOMBRE' + end + item + Name = 'ID_DIRECCION' + DataType = datInteger end item Name = 'CALLE' DataType = datString Size = 255 - DictionaryEntry = 'FacturasCliente_CALLE' - end - item - Name = 'PROVINCIA' - DataType = datString - Size = 255 - DictionaryEntry = 'FacturasCliente_PROVINCIA' - end - item - Name = 'CODIGO_POSTAL' - DataType = datString - Size = 10 - DictionaryEntry = 'FacturasCliente_CODIGO_POSTAL' end item Name = 'POBLACION' DataType = datString Size = 255 - DictionaryEntry = 'FacturasCliente_POBLACION' end item - Name = 'TITULAR' + Name = 'PROVINCIA' DataType = datString Size = 255 end item - Name = 'ENTIDAD' - DataType = datString - Size = 15 - end - item - Name = 'SUCURSAL' - DataType = datString - Size = 15 - end - item - Name = 'DC' - DataType = datString - Size = 15 - end - item - Name = 'CUENTA' - DataType = datString - Size = 15 - end - item - Name = 'ID_EMPRESA' - DataType = datInteger - DictionaryEntry = 'FacturasCliente_ID_EMPRESA' - end - item - Name = 'NIF_CIF_EMPRESA' - DataType = datString - Size = 15 - end - item - Name = 'RAZON_SOCIAL' - DataType = datString - Size = 255 - end - item - Name = 'CALLE_EMPRESA' - DataType = datString - Size = 255 - end - item - Name = 'POBLACION_EMPRESA' - DataType = datString - Size = 255 - end - item - Name = 'PROVINCIA_EMPRESA' - DataType = datString - Size = 255 - end - item - Name = 'CODIGO_POSTAL_EMPRESA' + Name = 'CODIGO_POSTAL' DataType = datString Size = 10 end item - Name = 'TELEFONO_1' - DataType = datString - Size = 25 + Name = 'FECHA_ALTA' + DataType = datDateTime end item - Name = 'FAX' - DataType = datString - Size = 25 + Name = 'FECHA_MODIFICACION' + DataType = datDateTime end item - Name = 'MOVIL_1' + Name = 'USUARIO' DataType = datString - Size = 25 + Size = 30 end item - Name = 'EMAIL_1' + Name = 'ID_FORMA_PAGO' + DataType = datInteger + end + item + Name = 'RECARGO_EQUIVALENCIA' + DataType = datSmallInt + end + item + Name = 'ID_TIPO_IVA' + DataType = datInteger + end + item + Name = 'IMPORTE_NETO' + DataType = datCurrency + end + item + Name = 'IMPORTE_PORTE' + DataType = datCurrency + end + item + Name = 'NUM_COPIAS' + DataType = datSmallInt + end + item + Name = 'NUM_CORREOS' + DataType = datSmallInt + end + item + Name = 'DATOS_BANCARIOS' DataType = datString Size = 255 end item - Name = 'PAGINA_WEB' + Name = 'ID_PEDIDO' + DataType = datInteger + end + item + Name = 'REFERENCIA_DEL_CLIENTE' DataType = datString Size = 255 end item - Name = 'REGISTRO_MERCANTIL' - DataType = datString - Size = 255 + Name = 'ID_FACTURA_FINAL' + DataType = datInteger end item - Name = 'LOGOTIPO' - DataType = datBlob + Name = 'FORMA_PAGO' + DataType = datString + Size = 255 end> ReadOnly = True end @@ -1008,20 +369,20 @@ object RptFacturasProforma: TRptFacturasProforma item Name = 'ID_FACTURA' DataType = datInteger - Value = '2' - ParamType = daptInput + Value = '' end> Statements = < item Connection = 'IBX' + TargetTable = 'FACTURAS_PROFORMA_DETALLES' SQL = 'SELECT'#10' DET.ID, DET.ID_FACTURA, DET.POSICION, DET.TIPO_DETALL' + 'E, ARTICULOS.REFERENCIA,'#10' DET.CONCEPTO, DET.CANTIDAD, DET.UNI' + 'DAD_MEDIDA, DET.IMPORTE_UNIDAD,'#10' DET.DESCUENTO, DET.IMPORTE_T' + - 'OTAL, DET.VISIBLE'#10'FROM FACTURAS_CLIENTE_DETALLES AS DET'#10'LEFT OUT' + - 'ER JOIN ARTICULOS ON (ARTICULOS.ID = DET.ID_ARTICULO)'#10'WHERE DET.' + - 'ID_FACTURA = :ID_FACTURA AND {Where}'#10'ORDER BY DET.ID_FACTURA, DE' + - 'T.POSICION;'#10#10#10 + 'OTAL, DET.VISIBLE'#10'FROM FACTURAS_PROFORMA_DETALLES AS DET'#10'LEFT OU' + + 'TER JOIN ARTICULOS ON (ARTICULOS.ID = DET.ID_ARTICULO)'#10'WHERE DET' + + '.ID_FACTURA = :ID_FACTURA AND {Where}'#10'ORDER BY DET.ID_FACTURA, D' + + 'ET.POSICION;'#10 StatementType = stSQL ColumnMappings = < item @@ -1073,7 +434,7 @@ object RptFacturasProforma: TRptFacturasProforma TableField = 'VISIBLE' end> end> - Name = 'InformeFacturasCliente_Detalles' + Name = 'InformeFacturasProforma_Detalles' Fields = < item Name = 'ID' @@ -1129,57 +490,12 @@ object RptFacturasProforma: TRptFacturasProforma DataType = datSmallInt end> end - item - Params = < - item - Name = 'ID_FACTURA' - Value = '' - ParamType = daptInput - end> - Statements = < - item - Connection = 'IBX' - SQL = - 'SELECT'#10' V_RECIBOS_CLIENTE.ID_FACTURA, V_RECIBOS_CLIENTE.FECHA' + - '_VENCIMIENTO, V_RECIBOS_CLIENTE.IMPORTE_TOTAL'#10'FROM V_RECIBOS_CLI' + - 'ENTE'#10'WHERE V_RECIBOS_CLIENTE.ID_FACTURA = :ID_FACTURA'#10'ORDER BY V' + - '_RECIBOS_CLIENTE.FECHA_VENCIMIENTO'#10 - StatementType = stSQL - ColumnMappings = < - item - DatasetField = 'ID_FACTURA' - TableField = 'ID_FACTURA' - end - item - DatasetField = 'FECHA_VENCIMIENTO' - TableField = 'FECHA_VENCIMIENTO' - end - item - DatasetField = 'IMPORTE_TOTAL' - TableField = 'IMPORTE_TOTAL' - end> - end> - Name = 'InformeFacturasCliente_Vencimientos' - Fields = < - item - Name = 'ID_FACTURA' - DataType = datInteger - end - item - Name = 'FECHA_VENCIMIENTO' - DataType = datDateTime - end - item - Name = 'IMPORTE_TOTAL' - DataType = datCurrency - end> - end item Params = <> Statements = < item Connection = 'IBX' - TargetTable = 'V_FACTURAS_CLIENTE' + TargetTable = 'V_FACTURAS_PROFORMA' SQL = 'select ID_EMPRESA,'#10'extract (year from fecha_factura) as ANO,'#10'ext' + 'ract (month from fecha_factura) as MES,'#10'case'#10'when extract (month' + @@ -1203,8 +519,8 @@ object RptFacturasProforma: TRptFacturasProforma 'fecha_factura) = 12 then '#39'DICIEMBRE - '#39' || extract (year from fe' + 'cha_factura)'#10'end as TITULO,'#10'REFERENCIA, ID_CLIENTE, NOMBRE, SIT' + 'UACION, NIF_CIF, FECHA_FACTURA, fecha_vencimiento, BASE_IMPONIBL' + - 'E, IMPORTE_IVA, IMPORTE_TOTAL'#10#10'from V_facturas_cliente'#10'where {wh' + - 'ere}'#10'order by ANO, MES, FECHA_FACTURA, NOMBRE'#10#10 + 'E, IMPORTE_IVA, IMPORTE_TOTAL'#10#10'from V_facturas_proforma'#10'where {w' + + 'here}'#10'order by ANO, MES, FECHA_FACTURA, NOMBRE'#10#10 StatementType = stSQL ColumnMappings = < item @@ -1267,7 +583,7 @@ object RptFacturasProforma: TRptFacturasProforma TableField = 'FECHA_VENCIMIENTO' end> end> - Name = 'InformeListadoFacturas' + Name = 'InformeListadoFacturasProforma' Fields = < item Name = 'ID_EMPRESA' @@ -1303,7 +619,7 @@ object RptFacturasProforma: TRptFacturasProforma item Name = 'SITUACION' DataType = datString - Size = 19 + Size = 255 end item Name = 'NIF_CIF' @@ -1330,1848 +646,6 @@ object RptFacturasProforma: TRptFacturasProforma Name = 'IMPORTE_TOTAL' DataType = datCurrency end> - end - item - Params = <> - Statements = < - item - Connection = 'IBX' - TargetTable = 'V_FACTURAS_CLIENTE' - SQL = - 'select ID_EMPRESA,'#10'extract (year from fecha_vencimiento) as ANO,' + - #10'extract (month from fecha_vencimiento) as MES,'#10'case'#10'when extrac' + - 't (month from fecha_vencimiento) = 1 then '#39'ENERO - '#39' || extract ' + - '(year from fecha_vencimiento)'#10'when extract (month from fecha_ven' + - 'cimiento) = 2 then '#39'FEBRERO - '#39' || extract (year from fecha_venc' + - 'imiento)'#10'when extract (month from fecha_vencimiento) = 3 then '#39'M' + - 'ARZO - '#39' || extract (year from fecha_vencimiento)'#10'when extract (' + - 'month from fecha_vencimiento) = 4 then '#39'ABRIL - '#39' || extract (ye' + - 'ar from fecha_vencimiento)'#10'when extract (month from fecha_vencim' + - 'iento) = 5 then '#39'MAYO - '#39' || extract (year from fecha_vencimient' + - 'o)'#10'when extract (month from fecha_vencimiento) = 6 then '#39'JUNIO -' + - ' '#39' || extract (year from fecha_vencimiento)'#10'when extract (month ' + - 'from fecha_vencimiento) = 7 then '#39'JULIO - '#39' || extract (year fro' + - 'm fecha_vencimiento)'#10'when extract (month from fecha_vencimiento)' + - ' = 8 then '#39'AGOSTO - '#39' || extract (year from fecha_vencimiento)'#10'w' + - 'hen extract (month from fecha_vencimiento) = 9 then '#39'SEPTIEMBRE ' + - '- '#39' || extract (year from fecha_vencimiento)'#10'when extract (month' + - ' from fecha_vencimiento) = 10 then '#39'OCTUBRE - '#39' || extract (year' + - ' from fecha_vencimiento)'#10'when extract (month from fecha_vencimie' + - 'nto) = 11 then '#39'NOVIEMBRE - '#39' || extract (year from fecha_vencim' + - 'iento)'#10'when extract (month from fecha_vencimiento) = 12 then '#39'DI' + - 'CIEMBRE - '#39' || extract (year from fecha_vencimiento)'#10'end as TITU' + - 'LO,'#10'REFERENCIA, ID_CLIENTE, NOMBRE, SITUACION, NIF_CIF, fecha_f' + - 'actura, fecha_vencimiento, BASE_IMPONIBLE, IMPORTE_IVA, IMPORTE_' + - 'TOTAL'#10#10'from V_facturas_cliente'#10'where {where}'#10'order by ANO, MES, ' + - 'fecha_vencimiento, NOMBRE'#10#10 - StatementType = stSQL - ColumnMappings = < - item - DatasetField = 'ID_EMPRESA' - TableField = 'ID_EMPRESA' - end - item - DatasetField = 'ANO' - TableField = '' - SQLOrigin = 'ANO' - end - item - DatasetField = 'MES' - TableField = '' - SQLOrigin = 'MES' - end - item - DatasetField = 'TITULO' - TableField = '' - SQLOrigin = 'TITULO' - end - item - DatasetField = 'REFERENCIA' - TableField = 'REFERENCIA' - end - item - DatasetField = 'ID_CLIENTE' - TableField = 'ID_CLIENTE' - end - item - DatasetField = 'NOMBRE' - TableField = 'NOMBRE' - end - item - DatasetField = 'SITUACION' - TableField = 'SITUACION' - end - item - DatasetField = 'NIF_CIF' - TableField = 'NIF_CIF' - end - item - DatasetField = 'FECHA_FACTURA' - TableField = 'FECHA_FACTURA' - end - item - DatasetField = 'FECHA_VENCIMIENTO' - TableField = 'FECHA_VENCIMIENTO' - end - item - DatasetField = 'BASE_IMPONIBLE' - TableField = 'BASE_IMPONIBLE' - end - item - DatasetField = 'IMPORTE_IVA' - TableField = 'IMPORTE_IVA' - end - item - DatasetField = 'IMPORTE_TOTAL' - TableField = 'IMPORTE_TOTAL' - end> - end> - Name = 'InformeListadoFacturasPendientes' - Fields = < - item - Name = 'ID_EMPRESA' - DataType = datInteger - end - item - Name = 'ANO' - DataType = datSmallInt - end - item - Name = 'MES' - DataType = datSmallInt - end - item - Name = 'TITULO' - DataType = datString - Size = 19 - end - item - Name = 'REFERENCIA' - DataType = datString - Size = 255 - end - item - Name = 'ID_CLIENTE' - DataType = datInteger - end - item - Name = 'NOMBRE' - DataType = datString - Size = 255 - end - item - Name = 'SITUACION' - DataType = datString - Size = 19 - end - item - Name = 'NIF_CIF' - DataType = datString - Size = 15 - end - item - Name = 'FECHA_FACTURA' - DataType = datDateTime - end - item - Name = 'FECHA_VENCIMIENTO' - DataType = datDateTime - end - item - Name = 'BASE_IMPONIBLE' - DataType = datCurrency - end - item - Name = 'IMPORTE_IVA' - DataType = datCurrency - end - item - Name = 'IMPORTE_TOTAL' - DataType = datCurrency - end> - end - item - Params = <> - Statements = < - item - Connection = 'IBX' - TargetTable = 'V_FACTURAS_CLIENTE' - SQL = - 'select ID_EMPRESA,'#10'extract (year from fecha_factura) as ANO,'#10'ext' + - 'ract (month from fecha_factura) as MES,'#10'case'#10'when extract (month' + - ' from fecha_factura) = 1 then '#39'ENERO - '#39' || extract (year from f' + - 'echa_factura)'#10'when extract (month from fecha_factura) = 2 then '#39 + - 'FEBRERO - '#39' || extract (year from fecha_factura)'#10'when extract (m' + - 'onth from fecha_factura) = 3 then '#39'MARZO - '#39' || extract (year fr' + - 'om fecha_factura)'#10'when extract (month from fecha_factura) = 4 th' + - 'en '#39'ABRIL - '#39' || extract (year from fecha_factura)'#10'when extract ' + - '(month from fecha_factura) = 5 then '#39'MAYO - '#39' || extract (year f' + - 'rom fecha_factura)'#10'when extract (month from fecha_factura) = 6 t' + - 'hen '#39'JUNIO - '#39' || extract (year from fecha_factura)'#10'when extract' + - ' (month from fecha_factura) = 7 then '#39'JULIO - '#39' || extract (year' + - ' from fecha_factura)'#10'when extract (month from fecha_factura) = 8' + - ' then '#39'AGOSTO - '#39' || extract (year from fecha_factura)'#10'when extr' + - 'act (month from fecha_factura) = 9 then '#39'SEPTIEMBRE - '#39' || extra' + - 'ct (year from fecha_factura)'#10'when extract (month from fecha_fact' + - 'ura) = 10 then '#39'OCTUBRE - '#39' || extract (year from fecha_factura)' + - #10'when extract (month from fecha_factura) = 11 then '#39'NOVIEMBRE - ' + - #39' || extract (year from fecha_factura)'#10'when extract (month from ' + - 'fecha_factura) = 12 then '#39'DICIEMBRE - '#39' || extract (year from fe' + - 'cha_factura)'#10'end as TITULO,'#10'sum(BASE_IMPONIBLE) as BASE_IMPONIBL' + - 'E,'#10'sum(IMPORTE_IVA) as IMPORTE_IVA,'#10'sum(IMPORTE_TOTAL) AS IMPORT' + - 'E_TOTAL'#10'from V_facturas_cliente'#10'group by 1,2,3,4'#10'order by 1,2,3,' + - '4'#10 - StatementType = stSQL - ColumnMappings = < - item - DatasetField = 'ID_EMPRESA' - TableField = 'ID_EMPRESA' - end - item - DatasetField = 'ANO' - TableField = '' - SQLOrigin = 'ANO' - end - item - DatasetField = 'MES' - TableField = '' - SQLOrigin = 'MES' - end - item - DatasetField = 'TITULO' - TableField = '' - SQLOrigin = 'TITULO' - end - item - DatasetField = 'BASE_IMPONIBLE' - TableField = 'BASE_IMPONIBLE' - end - item - DatasetField = 'IMPORTE_IVA' - TableField = 'IMPORTE_IVA' - end - item - DatasetField = 'IMPORTE_TOTAL' - TableField = 'IMPORTE_TOTAL' - end> - end> - Name = 'InformeListadoFacturasResumen' - Fields = < - item - Name = 'ID_EMPRESA' - DataType = datInteger - end - item - Name = 'ANO' - DataType = datSmallInt - end - item - Name = 'MES' - DataType = datSmallInt - end - item - Name = 'TITULO' - DataType = datString - Size = 19 - end - item - Name = 'BASE_IMPONIBLE' - DataType = datCurrency - end - item - Name = 'IMPORTE_IVA' - DataType = datCurrency - end - item - Name = 'IMPORTE_TOTAL' - DataType = datCurrency - end> - end - item - Params = < - item - Name = 'ID_EMPRESA' - Value = '' - end - item - Name = 'ANO' - Value = '' - end - item - Name = 'ANO2' - Value = '' - end - item - Name = 'NTOP' - Value = '' - end> - Statements = < - item - Connection = 'IBX' - ConnectionType = 'Interbase' - Default = True - SQL = - 'select REFERENCIA, NOMBRE, sum(ANO1) as ANO1, sum (ANO2) as ANO2' + - ', sum (IMPORTE_TOTAL_ANO) as IMPORTE_TOTAL_ANO,'#10'sum (IMPORTE_TOT' + - 'AL_ANO1) as IMPORTE_TOTAL_ANO1, sum (IMPORTE_TOTAL_ANO2) as IMPO' + - 'RTE_TOTAL_ANO2,'#10'sum (PORCENTAJE) as PORCENTAJE'#10'from'#10'('#10'select C.R' + - 'EFERENCIA as REFERENCIA, COALESCE(C.NOMBRE, '#39'Agente no asignado'#39 + - ') as NOMBRE, P.ANO as ANO1, 0 as ANO2,'#10'p.IMPORTE_TOTAL_ANO, SUM(' + - 'P.IMPORTE_TOTAL) as IMPORTE_TOTAL_ANO1, 0 as IMPORTE_TOTAL_ANO2,' + - #10' ((SUM(P.IMPORTE_TOTAL)*100)/p.IMPORTE_TOTAL_ANO) as PORCENTAJE' + - #10#10'from V_INF_FAC_DET_CLIENTE P'#10'left join CONTACTOS C on P.ID_AGE' + - 'NTE = C.ID'#10'left join AGENTES_DATOS AD on P.ID_AGENTE = AD.ID_AGE' + - 'NTE'#10'where p.ID_EMPRESA = :ID_EMPRESA'#10'and P.ANO = :ANO'#10'and AD.FEC' + - 'HA_BAJA is null'#10'group by 1,2,3,4,5'#10#10'union'#10#10'select C2.REFERENCIA ' + - 'as REFERENCIA, COALESCE(C2.NOMBRE, '#39'Agente no asignado'#39') as NOMB' + - 'RE, 0 as ANO1, P2.ANO as ANO2,'#10' 0 as IMPORTE_TOTAL_ANO, 0 as IMP' + - 'ORTE_TOTAL_ANO1, SUM(P2.IMPORTE_TOTAL) as IMPORTE_TOTAL_ANO2,'#10' 0' + - ' as PORCENTAJE'#10'from V_INF_FAC_DET_CLIENTE P2'#10'left join CONTACTOS' + - ' C2 on P2.ID_AGENTE = C2.ID'#10'left join AGENTES_DATOS AD2 on P2.ID' + - '_AGENTE = AD2.ID_AGENTE'#10'where p2.ID_EMPRESA = :ID_EMPRESA'#10'and P2' + - '.ANO = :ANO2'#10'and AD2.FECHA_BAJA is null'#10'group by 1,2,3,4,5,6'#10')'#10#10 + - 'group by 1,2'#10'having (sum(ANO1) > 0)'#10'order by 3,6 desc'#10'rows 1 to ' + - ':NTOP'#10#10 - StatementType = stSQL - ColumnMappings = < - item - DatasetField = 'REFERENCIA' - TableField = 'REFERENCIA' - end - item - DatasetField = 'NOMBRE' - TableField = 'NOMBRE' - end - item - DatasetField = 'IMPORTE_TOTAL_ANO' - TableField = 'IMPORTE_TOTAL_ANO' - end - item - DatasetField = 'PORCENTAJE' - TableField = 'PORCENTAJE' - end - item - DatasetField = 'ANO1' - TableField = 'ANO1' - end - item - DatasetField = 'ANO2' - TableField = 'ANO2' - end - item - DatasetField = 'IMPORTE_TOTAL_ANO1' - TableField = 'IMPORTE_TOTAL_ANO1' - end - item - DatasetField = 'IMPORTE_TOTAL_ANO2' - TableField = 'IMPORTE_TOTAL_ANO2' - end> - end> - Name = 'InformeListadoAgentesMayorFacturacionResumen' - Fields = < - item - Name = 'REFERENCIA' - DataType = datString - Size = 255 - end - item - Name = 'NOMBRE' - DataType = datString - Size = 255 - end - item - Name = 'ANO1' - DataType = datLargeInt - end - item - Name = 'ANO2' - DataType = datLargeInt - end - item - Name = 'IMPORTE_TOTAL_ANO' - DataType = datCurrency - end - item - Name = 'IMPORTE_TOTAL_ANO1' - DataType = datCurrency - end - item - Name = 'IMPORTE_TOTAL_ANO2' - DataType = datCurrency - end - item - Name = 'PORCENTAJE' - DataType = datCurrency - end> - end - item - Params = < - item - Name = 'ID_EMPRESA1' - Value = '' - end - item - Name = 'ANO1' - Value = '' - end - item - Name = 'ID_EMPRESA2' - Value = '' - end - item - Name = 'ANO2' - Value = '' - end> - Statements = < - item - Connection = 'IBX' - ConnectionType = 'Interbase' - Default = True - SQL = - 'select VALOR, DESCRIPCION,'#10'periodo_ingresos1.ANO as Ano1, period' + - 'o_ingresos1.IMPORTE_TOTAL as INGRESOS_ANO1,'#10'periodo_gastos1.ANO ' + - 'as Ano1, periodo_gastos1.IMPORTE_TOTAL as GASTOS_ANO1,'#10'(coalesce' + - '(periodo_ingresos1.IMPORTE_TOTAL, 0) - coalesce(periodo_gastos1.' + - 'IMPORTE_TOTAL, 0)) as BENEFICIO_ANO1,'#10'case'#10'when (periodo_ingreso' + - 's1.IMPORTE_TOTAL = 0) then (100 - ((coalesce(periodo_ingresos1.I' + - 'MPORTE_TOTAL, 0) - coalesce(periodo_gastos1.IMPORTE_TOTAL, 0))*1' + - '00))'#10'else ((((coalesce(periodo_ingresos1.IMPORTE_TOTAL, 0) - coa' + - 'lesce(periodo_gastos1.IMPORTE_TOTAL, 0))*100)/periodo_ingresos1.' + - 'IMPORTE_TOTAL))'#10'end as Porcentaje_Beneficios_Ano1,'#10#10'periodo_ingr' + - 'esos2.ANO as Ano2, periodo_ingresos2.IMPORTE_TOTAL as INGRESOS_A' + - 'NO2,'#10'periodo_gastos2.ANO as Ano2, periodo_gastos2.IMPORTE_TOTAL ' + - 'as GASTOS_ANO2,'#10'(coalesce(periodo_ingresos2.IMPORTE_TOTAL, 0) - ' + - 'coalesce(periodo_gastos2.IMPORTE_TOTAL, 0)) as BENEFICIO_ANO2,'#10'c' + - 'ase'#10'when (periodo_ingresos2.IMPORTE_TOTAL = 0) then (100 - ((coa' + - 'lesce(periodo_ingresos2.IMPORTE_TOTAL, 0) - coalesce(periodo_gas' + - 'tos2.IMPORTE_TOTAL, 0))*100))'#10'else ((((coalesce(periodo_ingresos' + - '2.IMPORTE_TOTAL, 0) - coalesce(periodo_gastos2.IMPORTE_TOTAL, 0)' + - ')*100)/periodo_ingresos2.IMPORTE_TOTAL))'#10'end as Porcentaje_Benef' + - 'icios_Ano2,'#10#10'(periodo_ingresos1.IMPORTE_TOTAL - periodo_ingresos' + - '2.IMPORTE_TOTAL) as Diferencia_Ingresos,'#10'case'#10'when (periodo_ingr' + - 'esos2.IMPORTE_TOTAL = 0) then (100 - ((periodo_ingresos1.IMPORTE' + - '_TOTAL - periodo_ingresos2.IMPORTE_TOTAL)*100))'#10'else (((periodo_' + - 'ingresos1.IMPORTE_TOTAL - periodo_ingresos2.IMPORTE_TOTAL)*100)/' + - 'periodo_ingresos2.IMPORTE_TOTAL)'#10'end as Porcentaje_Aumento_Ingre' + - 'sos,'#10#10'(periodo_gastos1.IMPORTE_TOTAL - periodo_gastos2.IMPORTE_T' + - 'OTAL) as Diferencia_Gastos,'#10'case'#10'when (periodo_gastos2.IMPORTE_T' + - 'OTAL = 0) then (100 - ((periodo_gastos1.IMPORTE_TOTAL - periodo_' + - 'gastos2.IMPORTE_TOTAL)*100))'#10'else (((periodo_gastos1.IMPORTE_TOT' + - 'AL - periodo_gastos2.IMPORTE_TOTAL)*100)/periodo_gastos2.IMPORTE' + - '_TOTAL)'#10'end as Porcentaje_Aumento_Gastos,'#10#10'case when periodo_ing' + - 'resos2.ANO is null then 0'#10'else'#10'((coalesce(periodo_ingresos1.IMPO' + - 'RTE_TOTAL, 0) - coalesce(periodo_gastos1.IMPORTE_TOTAL, 0)) - (c' + - 'oalesce(periodo_ingresos2.IMPORTE_TOTAL, 0) - coalesce(periodo_g' + - 'astos2.IMPORTE_TOTAL, 0)))'#10'end as Diferencia_Beneficios,'#10#10'case w' + - 'hen periodo_ingresos2.ANO is null then 0'#10'else'#10'case'#10'when ((coales' + - 'ce(periodo_ingresos2.IMPORTE_TOTAL, 0) - coalesce(periodo_gastos' + - '2.IMPORTE_TOTAL, 0)) = 0) then (100 - (((coalesce(periodo_ingres' + - 'os1.IMPORTE_TOTAL, 0) - coalesce(periodo_gastos1.IMPORTE_TOTAL, ' + - '0)) - (coalesce(periodo_ingresos2.IMPORTE_TOTAL, 0) - coalesce(p' + - 'eriodo_gastos2.IMPORTE_TOTAL, 0)))*100))'#10'else (((((coalesce(peri' + - 'odo_ingresos1.IMPORTE_TOTAL, 0) - coalesce(periodo_gastos1.IMPOR' + - 'TE_TOTAL, 0)) - (coalesce(periodo_ingresos2.IMPORTE_TOTAL, 0) - ' + - 'coalesce(periodo_gastos2.IMPORTE_TOTAL, 0)))*100) / (coalesce(pe' + - 'riodo_ingresos2.IMPORTE_TOTAL, 0) - coalesce(periodo_gastos2.IMP' + - 'ORTE_TOTAL, 0))))'#10'end'#10'end as Porcentaje_Aumento_Beneficios'#10#10'FROM' + - #10'periodos_aux'#10'left join'#10'(select comp1.ID_EMPRESA, comp1.ANO, MES' + - ' as NFILA, SUM(comp1.BASE_IMPONIBLE) as IMPORTE_TOTAL'#10'from V_INF' + - '_FAC_CLIENTE comp1'#10'where ID_EMPRESA = :ID_EMPRESA1'#10'and (ANO = :A' + - 'NO1)'#10'group by 1,2,3'#10'order by 1 desc,2 asc) periodo_ingresos1 on ' + - '(VALOR = periodo_ingresos1.NFILA)'#10#10'left join'#10'(select comp2.ID_EM' + - 'PRESA, comp2.ANO, MES as NFILA, SUM(comp2.BASE_IMPONIBLE) as IMP' + - 'ORTE_TOTAL'#10'from V_INF_FAC_PROVEEDOR comp2'#10'where ID_EMPRESA = :ID' + - '_EMPRESA1'#10'and (ANO = :ANO1)'#10'group by 1,2,3'#10'order by 1 desc,2 asc' + - ') periodo_gastos1 on (VALOR = periodo_gastos1.NFILA)'#10#10'left join'#10 + - '(select comp3.ID_EMPRESA, comp3.ANO, MES as NFILA, SUM(comp3.BAS' + - 'E_IMPONIBLE) as IMPORTE_TOTAL'#10'from V_INF_FAC_CLIENTE comp3'#10'where' + - ' ID_EMPRESA = :ID_EMPRESA2'#10'and (ANO = :ANO2)'#10'group by 1,2,3'#10'orde' + - 'r by 1 desc,2 asc) periodo_ingresos2 on (VALOR = periodo_ingreso' + - 's2.NFILA)'#10#10'left join'#10'(select comp4.ID_EMPRESA, comp4.ANO, MES as' + - ' NFILA, SUM(comp4.BASE_IMPONIBLE) as IMPORTE_TOTAL'#10'from V_INF_FA' + - 'C_PROVEEDOR comp4'#10'where ID_EMPRESA = :ID_EMPRESA2'#10'and (ANO = :AN' + - 'O2)'#10'group by 1,2,3'#10'order by 1 desc,2 asc) periodo_gastos2 on (VA' + - 'LOR = periodo_gastos2.NFILA)'#10#10#10'where periodo= '#39'MENSUAL'#39#10'order by' + - ' valor asc'#10 - StatementType = stSQL - ColumnMappings = < - item - DatasetField = 'VALOR' - TableField = 'VALOR' - end - item - DatasetField = 'DESCRIPCION' - TableField = 'DESCRIPCION' - end - item - DatasetField = 'ANO1' - TableField = 'ANO1' - end - item - DatasetField = 'ANO2' - TableField = 'ANO2' - end - item - DatasetField = 'INGRESOS_ANO1' - TableField = 'INGRESOS_ANO1' - end - item - DatasetField = 'ANO11' - TableField = 'ANO11' - end - item - DatasetField = 'GASTOS_ANO1' - TableField = 'GASTOS_ANO1' - end - item - DatasetField = 'BENEFICIO_ANO1' - TableField = 'BENEFICIO_ANO1' - end - item - DatasetField = 'PORCENTAJE_BENEFICIOS_ANO1' - TableField = 'PORCENTAJE_BENEFICIOS_ANO1' - end - item - DatasetField = 'INGRESOS_ANO2' - TableField = 'INGRESOS_ANO2' - end - item - DatasetField = 'ANO21' - TableField = 'ANO21' - end - item - DatasetField = 'GASTOS_ANO2' - TableField = 'GASTOS_ANO2' - end - item - DatasetField = 'BENEFICIO_ANO2' - TableField = 'BENEFICIO_ANO2' - end - item - DatasetField = 'PORCENTAJE_BENEFICIOS_ANO2' - TableField = 'PORCENTAJE_BENEFICIOS_ANO2' - end - item - DatasetField = 'DIFERENCIA_INGRESOS' - TableField = 'DIFERENCIA_INGRESOS' - end - item - DatasetField = 'PORCENTAJE_AUMENTO_INGRESOS' - TableField = 'PORCENTAJE_AUMENTO_INGRESOS' - end - item - DatasetField = 'DIFERENCIA_GASTOS' - TableField = 'DIFERENCIA_GASTOS' - end - item - DatasetField = 'PORCENTAJE_AUMENTO_GASTOS' - TableField = 'PORCENTAJE_AUMENTO_GASTOS' - end - item - DatasetField = 'DIFERENCIA_BENEFICIOS' - TableField = 'DIFERENCIA_BENEFICIOS' - end - item - DatasetField = 'PORCENTAJE_AUMENTO_BENEFICIOS' - TableField = 'PORCENTAJE_AUMENTO_BENEFICIOS' - end> - end> - Name = 'InformeListadoBeneficiosGrafCompMensual' - Fields = < - item - Name = 'VALOR' - DataType = datSmallInt - end - item - Name = 'DESCRIPCION' - DataType = datString - Size = 20 - end - item - Name = 'ANO1' - DataType = datSmallInt - end - item - Name = 'INGRESOS_ANO1' - DataType = datCurrency - end - item - Name = 'ANO11' - DataType = datSmallInt - end - item - Name = 'GASTOS_ANO1' - DataType = datCurrency - end - item - Name = 'BENEFICIO_ANO1' - DataType = datCurrency - end - item - Name = 'PORCENTAJE_BENEFICIOS_ANO1' - DataType = datCurrency - end - item - Name = 'ANO2' - DataType = datSmallInt - end - item - Name = 'INGRESOS_ANO2' - DataType = datCurrency - end - item - Name = 'ANO21' - DataType = datSmallInt - end - item - Name = 'GASTOS_ANO2' - DataType = datCurrency - end - item - Name = 'BENEFICIO_ANO2' - DataType = datCurrency - end - item - Name = 'PORCENTAJE_BENEFICIOS_ANO2' - DataType = datCurrency - end - item - Name = 'DIFERENCIA_INGRESOS' - DataType = datCurrency - end - item - Name = 'PORCENTAJE_AUMENTO_INGRESOS' - DataType = datCurrency - end - item - Name = 'DIFERENCIA_GASTOS' - DataType = datCurrency - end - item - Name = 'PORCENTAJE_AUMENTO_GASTOS' - DataType = datCurrency - end - item - Name = 'DIFERENCIA_BENEFICIOS' - DataType = datCurrency - end - item - Name = 'PORCENTAJE_AUMENTO_BENEFICIOS' - DataType = datCurrency - end> - end - item - Params = < - item - Name = 'ID_EMPRESA1' - Value = '' - end - item - Name = 'ANO1' - Value = '' - end - item - Name = 'ID_EMPRESA2' - Value = '' - end - item - Name = 'ANO2' - Value = '' - end> - Statements = < - item - Connection = 'IBX' - ConnectionType = 'Interbase' - Default = True - SQL = - 'select VALOR, DESCRIPCION,'#10'periodo_ingresos1.ANO as Ano1, period' + - 'o_ingresos1.IMPORTE_TOTAL as INGRESOS_ANO1,'#10'periodo_gastos1.ANO ' + - 'as Ano1, periodo_gastos1.IMPORTE_TOTAL as GASTOS_ANO1,'#10'(coalesce' + - '(periodo_ingresos1.IMPORTE_TOTAL, 0) - coalesce(periodo_gastos1.' + - 'IMPORTE_TOTAL, 0)) as BENEFICIO_ANO1,'#10'case'#10'when (periodo_ingreso' + - 's1.IMPORTE_TOTAL = 0) then (100 - ((coalesce(periodo_ingresos1.I' + - 'MPORTE_TOTAL, 0) - coalesce(periodo_gastos1.IMPORTE_TOTAL, 0))*1' + - '00))'#10'else ((((coalesce(periodo_ingresos1.IMPORTE_TOTAL, 0) - coa' + - 'lesce(periodo_gastos1.IMPORTE_TOTAL, 0))*100)/periodo_ingresos1.' + - 'IMPORTE_TOTAL))'#10'end as Porcentaje_Beneficios_Ano1,'#10#10'periodo_ingr' + - 'esos2.ANO as Ano2, periodo_ingresos2.IMPORTE_TOTAL as INGRESOS_A' + - 'NO2,'#10'periodo_gastos2.ANO as Ano2, periodo_gastos2.IMPORTE_TOTAL ' + - 'as GASTOS_ANO2,'#10'(coalesce(periodo_ingresos2.IMPORTE_TOTAL, 0) - ' + - 'coalesce(periodo_gastos2.IMPORTE_TOTAL, 0)) as BENEFICIO_ANO2,'#10'c' + - 'ase'#10'when (periodo_ingresos2.IMPORTE_TOTAL = 0) then (100 - ((coa' + - 'lesce(periodo_ingresos2.IMPORTE_TOTAL, 0) - coalesce(periodo_gas' + - 'tos2.IMPORTE_TOTAL, 0))*100))'#10'else ((((coalesce(periodo_ingresos' + - '2.IMPORTE_TOTAL, 0) - coalesce(periodo_gastos2.IMPORTE_TOTAL, 0)' + - ')*100)/periodo_ingresos2.IMPORTE_TOTAL))'#10'end as Porcentaje_Benef' + - 'icios_Ano2,'#10#10'(periodo_ingresos1.IMPORTE_TOTAL - periodo_ingresos' + - '2.IMPORTE_TOTAL) as Diferencia_Ingresos,'#10'case'#10'when (periodo_ingr' + - 'esos2.IMPORTE_TOTAL = 0) then (100 - ((periodo_ingresos1.IMPORTE' + - '_TOTAL - periodo_ingresos2.IMPORTE_TOTAL)*100))'#10'else (((periodo_' + - 'ingresos1.IMPORTE_TOTAL - periodo_ingresos2.IMPORTE_TOTAL)*100)/' + - 'periodo_ingresos2.IMPORTE_TOTAL)'#10'end as Porcentaje_Aumento_Ingre' + - 'sos,'#10#10'(periodo_gastos1.IMPORTE_TOTAL - periodo_gastos2.IMPORTE_T' + - 'OTAL) as Diferencia_Gastos,'#10'case'#10'when (periodo_gastos2.IMPORTE_T' + - 'OTAL = 0) then (100 - ((periodo_gastos1.IMPORTE_TOTAL - periodo_' + - 'gastos2.IMPORTE_TOTAL)*100))'#10'else (((periodo_gastos1.IMPORTE_TOT' + - 'AL - periodo_gastos2.IMPORTE_TOTAL)*100)/periodo_gastos2.IMPORTE' + - '_TOTAL)'#10'end as Porcentaje_Aumento_Gastos,'#10#10'case when periodo_ing' + - 'resos2.ANO is null then 0'#10'else'#10'((coalesce(periodo_ingresos1.IMPO' + - 'RTE_TOTAL, 0) - coalesce(periodo_gastos1.IMPORTE_TOTAL, 0)) - (c' + - 'oalesce(periodo_ingresos2.IMPORTE_TOTAL, 0) - coalesce(periodo_g' + - 'astos2.IMPORTE_TOTAL, 0)))'#10'end as Diferencia_Beneficios,'#10#10'case w' + - 'hen periodo_ingresos2.ANO is null then 0'#10'else'#10'case'#10'when ((coales' + - 'ce(periodo_ingresos2.IMPORTE_TOTAL, 0) - coalesce(periodo_gastos' + - '2.IMPORTE_TOTAL, 0)) = 0) then (100 - (((coalesce(periodo_ingres' + - 'os1.IMPORTE_TOTAL, 0) - coalesce(periodo_gastos1.IMPORTE_TOTAL, ' + - '0)) - (coalesce(periodo_ingresos2.IMPORTE_TOTAL, 0) - coalesce(p' + - 'eriodo_gastos2.IMPORTE_TOTAL, 0)))*100))'#10'else (((((coalesce(peri' + - 'odo_ingresos1.IMPORTE_TOTAL, 0) - coalesce(periodo_gastos1.IMPOR' + - 'TE_TOTAL, 0)) - (coalesce(periodo_ingresos2.IMPORTE_TOTAL, 0) - ' + - 'coalesce(periodo_gastos2.IMPORTE_TOTAL, 0)))*100) / (coalesce(pe' + - 'riodo_ingresos2.IMPORTE_TOTAL, 0) - coalesce(periodo_gastos2.IMP' + - 'ORTE_TOTAL, 0))))'#10'end'#10'end as Porcentaje_Aumento_Beneficios'#10#10#10'FRO' + - 'M'#10'periodos_aux'#10'left join'#10'(select comp1.ID_EMPRESA, comp1.ANO, TR' + - 'IMESTRE as NFILA, SUM(comp1.BASE_IMPONIBLE) as IMPORTE_TOTAL'#10'fro' + - 'm V_INF_FAC_CLIENTE comp1'#10'where ID_EMPRESA = :ID_EMPRESA1'#10'and (A' + - 'NO = :ANO1)'#10'group by 1,2,3'#10'order by 1 desc,2 asc) periodo_ingres' + - 'os1 on (VALOR = periodo_ingresos1.NFILA)'#10#10'left join'#10'(select comp' + - '2.ID_EMPRESA, comp2.ANO, TRIMESTRE as NFILA, SUM(comp2.BASE_IMPO' + - 'NIBLE) as IMPORTE_TOTAL'#10'from V_INF_FAC_PROVEEDOR comp2'#10'where ID_' + - 'EMPRESA = :ID_EMPRESA1'#10'and (ANO = :ANO1)'#10'group by 1,2,3'#10'order by' + - ' 1 desc,2 asc) periodo_gastos1 on (VALOR = periodo_gastos1.NFILA' + - ')'#10#10'left join'#10'(select comp3.ID_EMPRESA, comp3.ANO, TRIMESTRE as N' + - 'FILA, SUM(comp3.BASE_IMPONIBLE) as IMPORTE_TOTAL'#10'from V_INF_FAC_' + - 'CLIENTE comp3'#10'where ID_EMPRESA = :ID_EMPRESA2'#10'and (ANO = :ANO2)'#10 + - 'group by 1,2,3'#10'order by 1 desc,2 asc) periodo_ingresos2 on (VALO' + - 'R = periodo_ingresos2.NFILA)'#10#10'left join'#10'(select comp4.ID_EMPRESA' + - ', comp4.ANO, TRIMESTRE as NFILA, SUM(comp4.BASE_IMPONIBLE) as IM' + - 'PORTE_TOTAL'#10'from V_INF_FAC_PROVEEDOR comp4'#10'where ID_EMPRESA = :I' + - 'D_EMPRESA2'#10'and (ANO = :ANO2)'#10'group by 1,2,3'#10'order by 1 desc,2 as' + - 'c) periodo_gastos2 on (VALOR = periodo_gastos2.NFILA)'#10#10#10'where pe' + - 'riodo= '#39'TRIMESTRAL'#39#10'order by valor asc'#10 - StatementType = stSQL - ColumnMappings = < - item - DatasetField = 'VALOR' - TableField = 'VALOR' - end - item - DatasetField = 'DESCRIPCION' - TableField = 'DESCRIPCION' - end - item - DatasetField = 'ANO1' - TableField = 'ANO1' - end - item - DatasetField = 'ANO2' - TableField = 'ANO2' - end - item - DatasetField = 'INGRESOS_ANO1' - TableField = 'INGRESOS_ANO1' - end - item - DatasetField = 'ANO11' - TableField = 'ANO11' - end - item - DatasetField = 'GASTOS_ANO1' - TableField = 'GASTOS_ANO1' - end - item - DatasetField = 'BENEFICIO_ANO1' - TableField = 'BENEFICIO_ANO1' - end - item - DatasetField = 'PORCENTAJE_BENEFICIOS_ANO1' - TableField = 'PORCENTAJE_BENEFICIOS_ANO1' - end - item - DatasetField = 'INGRESOS_ANO2' - TableField = 'INGRESOS_ANO2' - end - item - DatasetField = 'ANO21' - TableField = 'ANO21' - end - item - DatasetField = 'GASTOS_ANO2' - TableField = 'GASTOS_ANO2' - end - item - DatasetField = 'BENEFICIO_ANO2' - TableField = 'BENEFICIO_ANO2' - end - item - DatasetField = 'PORCENTAJE_BENEFICIOS_ANO2' - TableField = 'PORCENTAJE_BENEFICIOS_ANO2' - end - item - DatasetField = 'DIFERENCIA_INGRESOS' - TableField = 'DIFERENCIA_INGRESOS' - end - item - DatasetField = 'PORCENTAJE_AUMENTO_INGRESOS' - TableField = 'PORCENTAJE_AUMENTO_INGRESOS' - end - item - DatasetField = 'DIFERENCIA_GASTOS' - TableField = 'DIFERENCIA_GASTOS' - end - item - DatasetField = 'PORCENTAJE_AUMENTO_GASTOS' - TableField = 'PORCENTAJE_AUMENTO_GASTOS' - end - item - DatasetField = 'DIFERENCIA_BENEFICIOS' - TableField = 'DIFERENCIA_BENEFICIOS' - end - item - DatasetField = 'PORCENTAJE_AUMENTO_BENEFICIOS' - TableField = 'PORCENTAJE_AUMENTO_BENEFICIOS' - end> - end> - Name = 'InformeListadoBeneficiosGrafCompTrimestral' - Fields = < - item - Name = 'VALOR' - DataType = datSmallInt - end - item - Name = 'DESCRIPCION' - DataType = datString - Size = 20 - end - item - Name = 'ANO1' - DataType = datSmallInt - end - item - Name = 'INGRESOS_ANO1' - DataType = datCurrency - end - item - Name = 'ANO11' - DataType = datSmallInt - end - item - Name = 'GASTOS_ANO1' - DataType = datCurrency - end - item - Name = 'BENEFICIO_ANO1' - DataType = datCurrency - end - item - Name = 'PORCENTAJE_BENEFICIOS_ANO1' - DataType = datCurrency - end - item - Name = 'ANO2' - DataType = datSmallInt - end - item - Name = 'INGRESOS_ANO2' - DataType = datCurrency - end - item - Name = 'ANO21' - DataType = datSmallInt - end - item - Name = 'GASTOS_ANO2' - DataType = datCurrency - end - item - Name = 'BENEFICIO_ANO2' - DataType = datCurrency - end - item - Name = 'PORCENTAJE_BENEFICIOS_ANO2' - DataType = datCurrency - end - item - Name = 'DIFERENCIA_INGRESOS' - DataType = datCurrency - end - item - Name = 'PORCENTAJE_AUMENTO_INGRESOS' - DataType = datCurrency - end - item - Name = 'DIFERENCIA_GASTOS' - DataType = datCurrency - end - item - Name = 'PORCENTAJE_AUMENTO_GASTOS' - DataType = datCurrency - end - item - Name = 'DIFERENCIA_BENEFICIOS' - DataType = datCurrency - end - item - Name = 'PORCENTAJE_AUMENTO_BENEFICIOS' - DataType = datCurrency - end> - end - item - Params = < - item - Name = 'ID_EMPRESA1' - Value = '' - end - item - Name = 'ANO1' - Value = '' - end - item - Name = 'ID_EMPRESA2' - Value = '' - end - item - Name = 'ANO2' - Value = '' - end> - Statements = < - item - Connection = 'IBX' - ConnectionType = 'Interbase' - Default = True - SQL = - 'select VALOR, DESCRIPCION,'#10'periodo_ingresos1.ANO as Ano1, period' + - 'o_ingresos1.IMPORTE_TOTAL as INGRESOS_ANO1,'#10'periodo_gastos1.ANO ' + - 'as Ano1, periodo_gastos1.IMPORTE_TOTAL as GASTOS_ANO1,'#10'(coalesce' + - '(periodo_ingresos1.IMPORTE_TOTAL, 0) - coalesce(periodo_gastos1.' + - 'IMPORTE_TOTAL, 0)) as BENEFICIO_ANO1,'#10'case'#10'when (periodo_ingreso' + - 's1.IMPORTE_TOTAL = 0) then (100 - ((coalesce(periodo_ingresos1.I' + - 'MPORTE_TOTAL, 0) - coalesce(periodo_gastos1.IMPORTE_TOTAL, 0))*1' + - '00))'#10'else ((((coalesce(periodo_ingresos1.IMPORTE_TOTAL, 0) - coa' + - 'lesce(periodo_gastos1.IMPORTE_TOTAL, 0))*100)/periodo_ingresos1.' + - 'IMPORTE_TOTAL))'#10'end as Porcentaje_Beneficios_Ano1,'#10#10'periodo_ingr' + - 'esos2.ANO as Ano2, periodo_ingresos2.IMPORTE_TOTAL as INGRESOS_A' + - 'NO2,'#10'periodo_gastos2.ANO as Ano2, periodo_gastos2.IMPORTE_TOTAL ' + - 'as GASTOS_ANO2,'#10'(coalesce(periodo_ingresos2.IMPORTE_TOTAL, 0) - ' + - 'coalesce(periodo_gastos2.IMPORTE_TOTAL, 0)) as BENEFICIO_ANO2,'#10'c' + - 'ase'#10'when (periodo_ingresos2.IMPORTE_TOTAL = 0) then (100 - ((coa' + - 'lesce(periodo_ingresos2.IMPORTE_TOTAL, 0) - coalesce(periodo_gas' + - 'tos2.IMPORTE_TOTAL, 0))*100))'#10'else ((((coalesce(periodo_ingresos' + - '2.IMPORTE_TOTAL, 0) - coalesce(periodo_gastos2.IMPORTE_TOTAL, 0)' + - ')*100)/periodo_ingresos2.IMPORTE_TOTAL))'#10'end as Porcentaje_Benef' + - 'icios_Ano2,'#10#10'(periodo_ingresos1.IMPORTE_TOTAL - periodo_ingresos' + - '2.IMPORTE_TOTAL) as Diferencia_Ingresos,'#10'case'#10'when (periodo_ingr' + - 'esos2.IMPORTE_TOTAL = 0) then (100 - ((periodo_ingresos1.IMPORTE' + - '_TOTAL - periodo_ingresos2.IMPORTE_TOTAL)*100))'#10'else (((periodo_' + - 'ingresos1.IMPORTE_TOTAL - periodo_ingresos2.IMPORTE_TOTAL)*100)/' + - 'periodo_ingresos2.IMPORTE_TOTAL)'#10'end as Porcentaje_Aumento_Ingre' + - 'sos,'#10#10'(periodo_gastos1.IMPORTE_TOTAL - periodo_gastos2.IMPORTE_T' + - 'OTAL) as Diferencia_Gastos,'#10'case'#10'when (periodo_gastos2.IMPORTE_T' + - 'OTAL = 0) then (100 - ((periodo_gastos1.IMPORTE_TOTAL - periodo_' + - 'gastos2.IMPORTE_TOTAL)*100))'#10'else (((periodo_gastos1.IMPORTE_TOT' + - 'AL - periodo_gastos2.IMPORTE_TOTAL)*100)/periodo_gastos2.IMPORTE' + - '_TOTAL)'#10'end as Porcentaje_Aumento_Gastos,'#10#10'case when periodo_ing' + - 'resos2.ANO is null then 0'#10'else'#10'((coalesce(periodo_ingresos1.IMPO' + - 'RTE_TOTAL, 0) - coalesce(periodo_gastos1.IMPORTE_TOTAL, 0)) - (c' + - 'oalesce(periodo_ingresos2.IMPORTE_TOTAL, 0) - coalesce(periodo_g' + - 'astos2.IMPORTE_TOTAL, 0)))'#10'end as Diferencia_Beneficios,'#10#10'case w' + - 'hen periodo_ingresos2.ANO is null then 0'#10'else'#10'case'#10'when ((coales' + - 'ce(periodo_ingresos2.IMPORTE_TOTAL, 0) - coalesce(periodo_gastos' + - '2.IMPORTE_TOTAL, 0)) = 0) then (100 - (((coalesce(periodo_ingres' + - 'os1.IMPORTE_TOTAL, 0) - coalesce(periodo_gastos1.IMPORTE_TOTAL, ' + - '0)) - (coalesce(periodo_ingresos2.IMPORTE_TOTAL, 0) - coalesce(p' + - 'eriodo_gastos2.IMPORTE_TOTAL, 0)))*100))'#10'else (((((coalesce(peri' + - 'odo_ingresos1.IMPORTE_TOTAL, 0) - coalesce(periodo_gastos1.IMPOR' + - 'TE_TOTAL, 0)) - (coalesce(periodo_ingresos2.IMPORTE_TOTAL, 0) - ' + - 'coalesce(periodo_gastos2.IMPORTE_TOTAL, 0)))*100) / (coalesce(pe' + - 'riodo_ingresos2.IMPORTE_TOTAL, 0) - coalesce(periodo_gastos2.IMP' + - 'ORTE_TOTAL, 0))))'#10'end'#10'end as Porcentaje_Aumento_Beneficios'#10#10#10'FRO' + - 'M'#10'periodos_aux'#10'left join'#10'(select comp1.ID_EMPRESA, comp1.ANO, SE' + - 'MESTRE as NFILA, SUM(comp1.BASE_IMPONIBLE) as IMPORTE_TOTAL'#10'from' + - ' V_INF_FAC_CLIENTE comp1'#10'where ID_EMPRESA = :ID_EMPRESA1'#10'and (AN' + - 'O = :ANO1)'#10'group by 1,2,3'#10'order by 1 desc,2 asc) periodo_ingreso' + - 's1 on (VALOR = periodo_ingresos1.NFILA)'#10#10'left join'#10'(select comp2' + - '.ID_EMPRESA, comp2.ANO, SEMESTRE as NFILA, SUM(comp2.BASE_IMPONI' + - 'BLE) as IMPORTE_TOTAL'#10'from V_INF_FAC_PROVEEDOR comp2'#10'where ID_EM' + - 'PRESA = :ID_EMPRESA1'#10'and (ANO = :ANO1)'#10'group by 1,2,3'#10'order by 1' + - ' desc,2 asc) periodo_gastos1 on (VALOR = periodo_gastos1.NFILA)'#10 + - #10'left join'#10'(select comp3.ID_EMPRESA, comp3.ANO, SEMESTRE as NFIL' + - 'A, SUM(comp3.BASE_IMPONIBLE) as IMPORTE_TOTAL'#10'from V_INF_FAC_CLI' + - 'ENTE comp3'#10'where ID_EMPRESA = :ID_EMPRESA2'#10'and (ANO = :ANO2)'#10'gro' + - 'up by 1,2,3'#10'order by 1 desc,2 asc) periodo_ingresos2 on (VALOR =' + - ' periodo_ingresos2.NFILA)'#10#10'left join'#10'(select comp4.ID_EMPRESA, c' + - 'omp4.ANO, SEMESTRE as NFILA, SUM(comp4.BASE_IMPONIBLE) as IMPORT' + - 'E_TOTAL'#10'from V_INF_FAC_PROVEEDOR comp4'#10'where ID_EMPRESA = :ID_EM' + - 'PRESA2'#10'and (ANO = :ANO2)'#10'group by 1,2,3'#10'order by 1 desc,2 asc) p' + - 'eriodo_gastos2 on (VALOR = periodo_gastos2.NFILA)'#10#10#10'where period' + - 'o= '#39'SEMESTRAL'#39#10'order by valor asc'#10 - StatementType = stSQL - ColumnMappings = < - item - DatasetField = 'VALOR' - TableField = 'VALOR' - end - item - DatasetField = 'DESCRIPCION' - TableField = 'DESCRIPCION' - end - item - DatasetField = 'ANO1' - TableField = 'ANO1' - end - item - DatasetField = 'ANO2' - TableField = 'ANO2' - end - item - DatasetField = 'INGRESOS_ANO1' - TableField = 'INGRESOS_ANO1' - end - item - DatasetField = 'ANO11' - TableField = 'ANO11' - end - item - DatasetField = 'GASTOS_ANO1' - TableField = 'GASTOS_ANO1' - end - item - DatasetField = 'BENEFICIO_ANO1' - TableField = 'BENEFICIO_ANO1' - end - item - DatasetField = 'PORCENTAJE_BENEFICIOS_ANO1' - TableField = 'PORCENTAJE_BENEFICIOS_ANO1' - end - item - DatasetField = 'INGRESOS_ANO2' - TableField = 'INGRESOS_ANO2' - end - item - DatasetField = 'ANO21' - TableField = 'ANO21' - end - item - DatasetField = 'GASTOS_ANO2' - TableField = 'GASTOS_ANO2' - end - item - DatasetField = 'BENEFICIO_ANO2' - TableField = 'BENEFICIO_ANO2' - end - item - DatasetField = 'PORCENTAJE_BENEFICIOS_ANO2' - TableField = 'PORCENTAJE_BENEFICIOS_ANO2' - end - item - DatasetField = 'DIFERENCIA_INGRESOS' - TableField = 'DIFERENCIA_INGRESOS' - end - item - DatasetField = 'PORCENTAJE_AUMENTO_INGRESOS' - TableField = 'PORCENTAJE_AUMENTO_INGRESOS' - end - item - DatasetField = 'DIFERENCIA_GASTOS' - TableField = 'DIFERENCIA_GASTOS' - end - item - DatasetField = 'PORCENTAJE_AUMENTO_GASTOS' - TableField = 'PORCENTAJE_AUMENTO_GASTOS' - end - item - DatasetField = 'DIFERENCIA_BENEFICIOS' - TableField = 'DIFERENCIA_BENEFICIOS' - end - item - DatasetField = 'PORCENTAJE_AUMENTO_BENEFICIOS' - TableField = 'PORCENTAJE_AUMENTO_BENEFICIOS' - end> - end> - Name = 'InformeListadoBeneficiosGrafCompSemestral' - Fields = < - item - Name = 'VALOR' - DataType = datSmallInt - end - item - Name = 'DESCRIPCION' - DataType = datString - Size = 20 - end - item - Name = 'ANO1' - DataType = datSmallInt - end - item - Name = 'INGRESOS_ANO1' - DataType = datCurrency - end - item - Name = 'ANO11' - DataType = datSmallInt - end - item - Name = 'GASTOS_ANO1' - DataType = datCurrency - end - item - Name = 'BENEFICIO_ANO1' - DataType = datCurrency - end - item - Name = 'PORCENTAJE_BENEFICIOS_ANO1' - DataType = datCurrency - end - item - Name = 'ANO2' - DataType = datSmallInt - end - item - Name = 'INGRESOS_ANO2' - DataType = datCurrency - end - item - Name = 'ANO21' - DataType = datSmallInt - end - item - Name = 'GASTOS_ANO2' - DataType = datCurrency - end - item - Name = 'BENEFICIO_ANO2' - DataType = datCurrency - end - item - Name = 'PORCENTAJE_BENEFICIOS_ANO2' - DataType = datCurrency - end - item - Name = 'DIFERENCIA_INGRESOS' - DataType = datCurrency - end - item - Name = 'PORCENTAJE_AUMENTO_INGRESOS' - DataType = datCurrency - end - item - Name = 'DIFERENCIA_GASTOS' - DataType = datCurrency - end - item - Name = 'PORCENTAJE_AUMENTO_GASTOS' - DataType = datCurrency - end - item - Name = 'DIFERENCIA_BENEFICIOS' - DataType = datCurrency - end - item - Name = 'PORCENTAJE_AUMENTO_BENEFICIOS' - DataType = datCurrency - end> - end - item - Params = < - item - Name = 'ANO1' - Value = '2012' - end - item - Name = 'ID_EMPRESA' - DataType = datInteger - Value = '1' - end> - Statements = < - item - Connection = 'IBX' - ConnectionType = 'Interbase' - Default = True - Name = 'IBX' - SQL = - 'select SEN.ID_AGENTE, COALESCE(C.NOMBRE, '#39'SIN ASIGNAR'#39') || '#39' ('#39' ' + - '|| CLIENTES_TOTALES.NUM_CLIENTES_TOTALES || '#39')'#39' as AGENTE, ANO, ' + - 'MES,'#10' P.descripcion,'#10#10' sum(ALTAS_CLIENTE) as ALTAS_CLIENTE' + - ','#10#10' sum(CLIENTES_ACTIVOS) as CLIENTES_TOTALES,'#10#10' sum(CANTI' + - 'DAD_OBJETIVO) as CANTIDAD_OBJETIVO, sum(IMPORTE_OBJETIVO) as IMP' + - 'ORTE_OBJETIVO,'#10#10' sum(CANTIDAD_CONSEGUIDA) as CANTIDAD_CONSEGU' + - 'IDA, sum(CANTIDAD_DEVUELTA) as CANTIDAD_DEVUELTA, sum(CANTIDAD_T' + - 'OTAL_CONSEGUIDA) as CANTIDAD_TOTAL_CONSEGUIDA,'#10' sum(IMPORTE_C' + - 'ONSEGUIDO) as IMPORTE_CONSEGUIDO, sum(IMPORTE_DEVUELTO) as IMPOR' + - 'TE_DEVUELTO, sum(IMPORTE_TOTAL_CONSEGUIDO) as IMPORTE_TOTAL_CONS' + - 'EGUIDO,'#10#10' (sum(CANTIDAD_TOTAL_CONSEGUIDA) - sum(CANTIDAD_OBJE' + - 'TIVO)) as CANTIDAD_RESULTADO,'#10' (sum(IMPORTE_TOTAL_CONSEGUIDO)' + - ' - sum(IMPORTE_OBJETIVO)) as IMPORTE_RESULTADO,'#10#10' case when (' + - 'sum(CANTIDAD_TOTAL_CONSEGUIDA) <> 0) then (sum(IMPORTE_TOTAL_CON' + - 'SEGUIDO)/sum(CANTIDAD_TOTAL_CONSEGUIDA))'#10' else 0'#10' end as I' + - 'MPORTE_MEDIO_UNIDAD,'#10#10' case when (sum(CLIENTES_ACTIVOS) <> 0)' + - ' then (sum(IMPORTE_TOTAL_CONSEGUIDO)/sum(CLIENTES_ACTIVOS))'#10' ' + - 'else 0'#10' end as IMPORTE_MEDIO_CLIENTE'#10#10#10'from'#10'('#10'select AO.ID_AG' + - 'ENTE, AO.ANO, AO.MES,'#10'0 as ALTAS_CLIENTE,'#10'0 as CLIENTES_ACTIVOS,' + - #10'sum(AO.CANTIDAD_OBJETIVO) as CANTIDAD_OBJETIVO, sum(AO.IMPORTE_' + - 'OBJETIVO) as IMPORTE_OBJETIVO,'#10'0 as CANTIDAD_CONSEGUIDA, 0 as CA' + - 'NTIDAD_DEVUELTA, 0 as CANTIDAD_TOTAL_CONSEGUIDA, 0 as IMPORTE_CO' + - 'NSEGUIDO, 0 as IMPORTE_DEVUELTO, 0 as IMPORTE_TOTAL_CONSEGUIDO'#10'f' + - 'rom V_INF_OBJETIVOS_ALB_AGENTES AO'#10'left join contactos C on (C.I' + - 'D = AO.ID_AGENTE)'#10'where (AO.ANO = :ANO1)'#10'group by 1,2,3'#10#10'UNION A' + - 'LL'#10#10'select ID_AGENTE, ANO, MES,'#10'0 as ALTAS_CLIENTE,'#10'0 as CLIENTE' + - 'S_ACTIVOS,'#10'0 as CANTIDAD_OBJETIVO, 0 as IMPORTE_OBJETIVO,'#10'sum(CA' + - 'NTIDAD_CONSEGUIDA) as CANTIDAD_CONSEGUIDA, sum(CANTIDAD_DEVUELTA' + - ') as CANTIDAD_DEVUELTA, (sum(CANTIDAD_CONSEGUIDA) + sum(CANTIDAD' + - '_DEVUELTA)) as CANTIDAD_TOTAL_CONSEGUIDA,'#10'sum(IMPORTE_CONSEGUIDO' + - ') as IMPORTE_CONSEGUIDO, sum(IMPORTE_DEVUELTO) as IMPORTE_DEVUEL' + - 'TO, (sum(IMPORTE_CONSEGUIDO) + sum(IMPORTE_DEVUELTO)) as IMPORTE' + - '_TOTAL_CONSEGUIDO'#10'from v_inf_objetivos_facturas'#10'where ((v_inf_ob' + - 'jetivos_facturas.id_empresa = :ID_EMPRESA) and (v_inf_objetivos_' + - 'facturas.ANO = :ANO1))'#10'group by 1,2,3'#10#10'UNION ALL'#10#10'select ID_AGEN' + - 'TE, ANO, MES,'#10'count(ID_CLIENTE) as ALTAS_CLIENTE,'#10'0 as CLIENTES_' + - 'ACTIVOS,'#10'0 as CANTIDAD_OBJETIVO, 0 as IMPORTE_OBJETIVO,'#10'0 as CAN' + - 'TIDAD_CONSEGUIDA, 0 as CANTIDAD_DEVUELTA, 0 as CANTIDAD_TOTAL_CO' + - 'NSEGUIDA, 0 as IMPORTE_CONSEGUIDO, 0 as IMPORTE_DEVUELTO, 0 as I' + - 'MPORTE_TOTAL_CONSEGUIDO'#10'from v_inf_obj_clientes_agentes'#10'where (A' + - 'NO = :ANO1)'#10'group by 1,2,3'#10#10'union all'#10#10'select ID_AGENTE, ANO, ME' + - 'S,'#10'0 as ALTAS_CLIENTE,'#10'count(distinct ID_CLIENTE) as CLIENTES_AC' + - 'TIVOS,'#10'0 as CANTIDAD_OBJETIVO, 0 as IMPORTE_OBJETIVO,'#10'0 as CANTI' + - 'DAD_CONSEGUIDA, 0 as CANTIDAD_DEVUELTA, 0 as CANTIDAD_TOTAL_CONS' + - 'EGUIDA, 0 as IMPORTE_CONSEGUIDO, 0 as IMPORTE_DEVUELTO, 0 as IMP' + - 'ORTE_TOTAL_CONSEGUIDO'#10'from v_inf_obj_cli_activos_fac_age'#10'where (' + - 'ANO = :ANO1) and (v_inf_obj_cli_activos_fac_age.ID_EMPRESA = :ID' + - '_EMPRESA)'#10'group by 1,2,3'#10#10') SEN'#10#10'left join periodos_aux P on ((P' + - '.periodo = '#39'MENSUAL'#39') and (P.valor = MES))'#10'left join contactos C' + - ' on (C.ID = SEN.ID_AGENTE)'#10'left join agentes_datos AD on (AD.id_' + - 'agente = SEN.ID_AGENTE)'#10#10'left join'#10'('#10'select coalesce(ID_AGENTE, ' + - '-1) as ID_AGENTE, count(ID_CLIENTE) as NUM_CLIENTES_TOTALES'#10'from' + - ' clientes_datos'#10'group by 1'#10') CLIENTES_TOTALES on (CLIENTES_TOTAL' + - 'ES.ID_AGENTE = SEN.id_Agente)'#10#10'where AD.FECHA_BAJA is null'#10'and {' + - 'where}'#10'group by 1,2,3,4,5'#10'order by 1,2,3,4,5'#10#10#10#10 - StatementType = stSQL - ColumnMappings = < - item - DatasetField = 'ID_AGENTE' - TableField = 'ID_AGENTE' - end - item - DatasetField = 'AGENTE' - TableField = 'AGENTE' - end - item - DatasetField = 'ANO' - TableField = 'ANO' - end - item - DatasetField = 'MES' - TableField = 'MES' - end - item - DatasetField = 'DESCRIPCION' - TableField = 'DESCRIPCION' - end - item - DatasetField = 'CLIENTES_TOTALES' - TableField = 'CLIENTES_TOTALES' - end - item - DatasetField = 'ALTAS_CLIENTE' - TableField = 'ALTAS_CLIENTE' - end - item - DatasetField = 'CANTIDAD_OBJETIVO' - TableField = 'CANTIDAD_OBJETIVO' - end - item - DatasetField = 'IMPORTE_OBJETIVO' - TableField = 'IMPORTE_OBJETIVO' - end - item - DatasetField = 'CANTIDAD_CONSEGUIDA' - TableField = 'CANTIDAD_CONSEGUIDA' - end - item - DatasetField = 'CANTIDAD_DEVUELTA' - TableField = 'CANTIDAD_DEVUELTA' - end - item - DatasetField = 'CANTIDAD_TOTAL_CONSEGUIDA' - TableField = 'CANTIDAD_TOTAL_CONSEGUIDA' - end - item - DatasetField = 'IMPORTE_CONSEGUIDO' - TableField = 'IMPORTE_CONSEGUIDO' - end - item - DatasetField = 'IMPORTE_DEVUELTO' - TableField = 'IMPORTE_DEVUELTO' - end - item - DatasetField = 'IMPORTE_TOTAL_CONSEGUIDO' - TableField = 'IMPORTE_TOTAL_CONSEGUIDO' - end - item - DatasetField = 'CANTIDAD_RESULTADO' - TableField = 'CANTIDAD_RESULTADO' - end - item - DatasetField = 'IMPORTE_RESULTADO' - TableField = 'IMPORTE_RESULTADO' - end - item - DatasetField = 'IMPORTE_MEDIO_UNIDAD' - TableField = 'IMPORTE_MEDIO_UNIDAD' - end - item - DatasetField = 'IMPORTE_MEDIO_CLIENTE' - TableField = 'IMPORTE_MEDIO_CLIENTE' - end> - end> - Name = 'InformeListadoObjetivosMensual' - Fields = < - item - Name = 'ID_AGENTE' - DataType = datInteger - end - item - Name = 'AGENTE' - DataType = datString - Size = 269 - end - item - Name = 'ANO' - DataType = datSmallInt - end - item - Name = 'MES' - DataType = datSmallInt - end - item - Name = 'DESCRIPCION' - DataType = datString - Size = 20 - end - item - Name = 'ALTAS_CLIENTE' - DataType = datLargeInt - end - item - Name = 'CLIENTES_TOTALES' - DataType = datLargeInt - end - item - Name = 'CANTIDAD_OBJETIVO' - DataType = datLargeInt - end - item - Name = 'IMPORTE_OBJETIVO' - DataType = datCurrency - end - item - Name = 'CANTIDAD_CONSEGUIDA' - DataType = datCurrency - end - item - Name = 'CANTIDAD_DEVUELTA' - DataType = datCurrency - end - item - Name = 'CANTIDAD_TOTAL_CONSEGUIDA' - DataType = datCurrency - end - item - Name = 'IMPORTE_CONSEGUIDO' - DataType = datCurrency - end - item - Name = 'IMPORTE_DEVUELTO' - DataType = datCurrency - end - item - Name = 'IMPORTE_TOTAL_CONSEGUIDO' - DataType = datCurrency - end - item - Name = 'CANTIDAD_RESULTADO' - DataType = datCurrency - end - item - Name = 'IMPORTE_RESULTADO' - DataType = datCurrency - end - item - Name = 'IMPORTE_MEDIO_UNIDAD' - DataType = datCurrency - end - item - Name = 'IMPORTE_MEDIO_CLIENTE' - DataType = datCurrency - end> - end - item - Params = < - item - Name = 'ANO1' - Value = '2012' - end - item - Name = 'ID_EMPRESA' - DataType = datInteger - Value = '1' - end> - Statements = < - item - Connection = 'IBX' - ConnectionType = 'Interbase' - Default = True - Name = 'IBX' - SQL = - 'select SEN.ID_AGENTE, COALESCE(C.NOMBRE, '#39'SIN ASIGNAR'#39') || '#39' ('#39' ' + - '|| CLIENTES_TOTALES.NUM_CLIENTES_TOTALES || '#39')'#39' as AGENTE, ANO, ' + - 'SEMESTRE,'#10' P.descripcion,'#10#10' sum(ALTAS_CLIENTE) as ALTAS_CL' + - 'IENTE,'#10#10' sum(CLIENTES_ACTIVOS) as CLIENTES_TOTALES,'#10#10' sum(' + - 'CANTIDAD_OBJETIVO) as CANTIDAD_OBJETIVO, sum(IMPORTE_OBJETIVO) a' + - 's IMPORTE_OBJETIVO,'#10#10' sum(CANTIDAD_CONSEGUIDA) as CANTIDAD_CO' + - 'NSEGUIDA, sum(CANTIDAD_DEVUELTA) as CANTIDAD_DEVUELTA, sum(CANTI' + - 'DAD_TOTAL_CONSEGUIDA) as CANTIDAD_TOTAL_CONSEGUIDA,'#10' sum(IMPO' + - 'RTE_CONSEGUIDO) as IMPORTE_CONSEGUIDO, sum(IMPORTE_DEVUELTO) as ' + - 'IMPORTE_DEVUELTO, sum(IMPORTE_TOTAL_CONSEGUIDO) as IMPORTE_TOTAL' + - '_CONSEGUIDO,'#10#10' (sum(CANTIDAD_TOTAL_CONSEGUIDA) - sum(CANTIDAD' + - '_OBJETIVO)) as CANTIDAD_RESULTADO,'#10' (sum(IMPORTE_TOTAL_CONSEG' + - 'UIDO) - sum(IMPORTE_OBJETIVO)) as IMPORTE_RESULTADO,'#10#10' case w' + - 'hen (sum(CANTIDAD_TOTAL_CONSEGUIDA) <> 0) then (sum(IMPORTE_TOTA' + - 'L_CONSEGUIDO)/sum(CANTIDAD_TOTAL_CONSEGUIDA))'#10' else 0'#10' end' + - ' as IMPORTE_MEDIO_UNIDAD,'#10#10' case when (sum(CLIENTES_ACTIVOS) ' + - '<> 0) then (sum(IMPORTE_TOTAL_CONSEGUIDO)/sum(CLIENTES_ACTIVOS))' + - #10' else 0'#10' end as IMPORTE_MEDIO_CLIENTE'#10#10#10'from'#10'('#10'select AO.' + - 'ID_AGENTE, AO.ANO, AO.SEMESTRE,'#10'0 as ALTAS_CLIENTE,'#10'0 as CLIENTE' + - 'S_ACTIVOS,'#10'sum(AO.CANTIDAD_OBJETIVO) as CANTIDAD_OBJETIVO, sum(A' + - 'O.IMPORTE_OBJETIVO) as IMPORTE_OBJETIVO,'#10'0 as CANTIDAD_CONSEGUID' + - 'A, 0 as CANTIDAD_DEVUELTA, 0 as CANTIDAD_TOTAL_CONSEGUIDA, 0 as ' + - 'IMPORTE_CONSEGUIDO, 0 as IMPORTE_DEVUELTO, 0 as IMPORTE_TOTAL_CO' + - 'NSEGUIDO'#10'from V_INF_OBJETIVOS_ALB_AGENTES AO'#10'left join contactos' + - ' C on (C.ID = AO.ID_AGENTE)'#10'where (AO.ANO = :ANO1)'#10'group by 1,2,' + - '3'#10#10'UNION ALL'#10#10'select ID_AGENTE, ANO, SEMESTRE,'#10'0 as ALTAS_CLIENT' + - 'E,'#10'0 as CLIENTES_ACTIVOS,'#10'0 as CANTIDAD_OBJETIVO, 0 as IMPORTE_O' + - 'BJETIVO,'#10'sum(CANTIDAD_CONSEGUIDA) as CANTIDAD_CONSEGUIDA, sum(CA' + - 'NTIDAD_DEVUELTA) as CANTIDAD_DEVUELTA, (sum(CANTIDAD_CONSEGUIDA)' + - ' + sum(CANTIDAD_DEVUELTA)) as CANTIDAD_TOTAL_CONSEGUIDA,'#10'sum(IMP' + - 'ORTE_CONSEGUIDO) as IMPORTE_CONSEGUIDO, sum(IMPORTE_DEVUELTO) as' + - ' IMPORTE_DEVUELTO, (sum(IMPORTE_CONSEGUIDO) + sum(IMPORTE_DEVUEL' + - 'TO)) as IMPORTE_TOTAL_CONSEGUIDO'#10'from v_inf_objetivos_facturas'#10'w' + - 'here ((v_inf_objetivos_facturas.id_empresa = :ID_EMPRESA) and (v' + - '_inf_objetivos_facturas.ANO = :ANO1))'#10'group by 1,2,3'#10#10'UNION ALL'#10 + - #10'select ID_AGENTE, ANO, SEMESTRE,'#10'count(ID_CLIENTE) as ALTAS_CLI' + - 'ENTE,'#10'0 as CLIENTES_ACTIVOS,'#10'0 as CANTIDAD_OBJETIVO, 0 as IMPORT' + - 'E_OBJETIVO,'#10'0 as CANTIDAD_CONSEGUIDA, 0 as CANTIDAD_DEVUELTA, 0 ' + - 'as CANTIDAD_TOTAL_CONSEGUIDA, 0 as IMPORTE_CONSEGUIDO, 0 as IMPO' + - 'RTE_DEVUELTO, 0 as IMPORTE_TOTAL_CONSEGUIDO'#10'from v_inf_obj_clien' + - 'tes_agentes'#10'where (ANO = :ANO1)'#10'group by 1,2,3'#10#10'UNION ALL'#10#10'selec' + - 't ID_AGENTE, ANO, SEMESTRE,'#10'0 as ALTAS_CLIENTE,'#10'count(distinct I' + - 'D_CLIENTE) as CLIENTES_ACTIVOS,'#10'0 as CANTIDAD_OBJETIVO, 0 as IMP' + - 'ORTE_OBJETIVO,'#10'0 as CANTIDAD_CONSEGUIDA, 0 as CANTIDAD_DEVUELTA,' + - ' 0 as CANTIDAD_TOTAL_CONSEGUIDA, 0 as IMPORTE_CONSEGUIDO, 0 as I' + - 'MPORTE_DEVUELTO, 0 as IMPORTE_TOTAL_CONSEGUIDO'#10'from v_inf_obj_cl' + - 'i_activos_fac_age'#10'where (ANO = :ANO1) and (v_inf_obj_cli_activos' + - '_fac_age.ID_EMPRESA = :ID_EMPRESA)'#10'group by 1,2,3'#10#10') SEN'#10#10'left j' + - 'oin periodos_aux P on ((P.periodo = '#39'SEMESTRAL'#39') and (P.valor = ' + - 'SEMESTRE))'#10'left join contactos C on (C.ID = SEN.ID_AGENTE)'#10'left ' + - 'join agentes_datos AD on (AD.id_agente = SEN.ID_AGENTE)'#10#10'left jo' + - 'in'#10'('#10'select coalesce(ID_AGENTE, -1) as ID_AGENTE, count(ID_CLIEN' + - 'TE) as NUM_CLIENTES_TOTALES'#10'from clientes_datos'#10'group by 1'#10') CLI' + - 'ENTES_TOTALES on (CLIENTES_TOTALES.ID_AGENTE = SEN.id_Agente)'#10#10'w' + - 'here AD.FECHA_BAJA is null'#10'and {where}'#10'group by 1,2,3,4,5'#10'order ' + - 'by 1,2,3,4,5'#10#10#10#10 - StatementType = stSQL - ColumnMappings = < - item - DatasetField = 'ID_AGENTE' - TableField = 'ID_AGENTE' - end - item - DatasetField = 'AGENTE' - TableField = 'AGENTE' - end - item - DatasetField = 'ANO' - TableField = 'ANO' - end - item - DatasetField = 'SEMESTRE' - TableField = 'SEMESTRE' - end - item - DatasetField = 'DESCRIPCION' - TableField = 'DESCRIPCION' - end - item - DatasetField = 'CLIENTES_TOTALES' - TableField = 'CLIENTES_TOTALES' - end - item - DatasetField = 'ALTAS_CLIENTE' - TableField = 'ALTAS_CLIENTE' - end - item - DatasetField = 'CANTIDAD_OBJETIVO' - TableField = 'CANTIDAD_OBJETIVO' - end - item - DatasetField = 'IMPORTE_OBJETIVO' - TableField = 'IMPORTE_OBJETIVO' - end - item - DatasetField = 'CANTIDAD_CONSEGUIDA' - TableField = 'CANTIDAD_CONSEGUIDA' - end - item - DatasetField = 'CANTIDAD_DEVUELTA' - TableField = 'CANTIDAD_DEVUELTA' - end - item - DatasetField = 'CANTIDAD_TOTAL_CONSEGUIDA' - TableField = 'CANTIDAD_TOTAL_CONSEGUIDA' - end - item - DatasetField = 'IMPORTE_CONSEGUIDO' - TableField = 'IMPORTE_CONSEGUIDO' - end - item - DatasetField = 'IMPORTE_DEVUELTO' - TableField = 'IMPORTE_DEVUELTO' - end - item - DatasetField = 'IMPORTE_TOTAL_CONSEGUIDO' - TableField = 'IMPORTE_TOTAL_CONSEGUIDO' - end - item - DatasetField = 'CANTIDAD_RESULTADO' - TableField = 'CANTIDAD_RESULTADO' - end - item - DatasetField = 'IMPORTE_RESULTADO' - TableField = 'IMPORTE_RESULTADO' - end - item - DatasetField = 'IMPORTE_MEDIO_UNIDAD' - TableField = 'IMPORTE_MEDIO_UNIDAD' - end - item - DatasetField = 'IMPORTE_MEDIO_CLIENTE' - TableField = 'IMPORTE_MEDIO_CLIENTE' - end> - end> - Name = 'InformeListadoObjetivosSemestral' - Fields = < - item - Name = 'ID_AGENTE' - DataType = datInteger - end - item - Name = 'AGENTE' - DataType = datString - Size = 255 - end - item - Name = 'ANO' - DataType = datSmallInt - end - item - Name = 'SEMESTRE' - DataType = datSmallInt - end - item - Name = 'DESCRIPCION' - DataType = datString - Size = 20 - end - item - Name = 'CLIENTES_TOTALES' - DataType = datInteger - end - item - Name = 'ALTAS_CLIENTE' - DataType = datLargeInt - end - item - Name = 'CANTIDAD_OBJETIVO' - DataType = datLargeInt - end - item - Name = 'IMPORTE_OBJETIVO' - DataType = datCurrency - end - item - Name = 'CANTIDAD_CONSEGUIDA' - DataType = datCurrency - end - item - Name = 'CANTIDAD_DEVUELTA' - DataType = datCurrency - end - item - Name = 'CANTIDAD_TOTAL_CONSEGUIDA' - DataType = datCurrency - end - item - Name = 'IMPORTE_CONSEGUIDO' - DataType = datCurrency - end - item - Name = 'IMPORTE_DEVUELTO' - DataType = datCurrency - end - item - Name = 'IMPORTE_TOTAL_CONSEGUIDO' - DataType = datCurrency - end - item - Name = 'CANTIDAD_RESULTADO' - DataType = datCurrency - end - item - Name = 'IMPORTE_RESULTADO' - DataType = datCurrency - end - item - Name = 'IMPORTE_MEDIO_UNIDAD' - DataType = datCurrency - end - item - Name = 'IMPORTE_MEDIO_CLIENTE' - DataType = datCurrency - end> - end - item - Params = < - item - Name = 'ANO1' - Value = '2012' - end - item - Name = 'ID_EMPRESA' - DataType = datInteger - Value = '1' - end> - Statements = < - item - Connection = 'IBX' - ConnectionType = 'Interbase' - Default = True - Name = 'IBX' - SQL = - 'select SEN.ID_AGENTE, COALESCE(C.NOMBRE, '#39'SIN ASIGNAR'#39') || '#39' ('#39' ' + - '|| CLIENTES_TOTALES.NUM_CLIENTES_TOTALES || '#39')'#39' as AGENTE, ANO, ' + - 'TRIMESTRE,'#10' P.descripcion,'#10#10' sum(ALTAS_CLIENTE) as ALTAS_C' + - 'LIENTE,'#10#10' sum(CLIENTES_ACTIVOS) as CLIENTES_TOTALES,'#10#10' sum' + - '(CANTIDAD_OBJETIVO) as CANTIDAD_OBJETIVO, sum(IMPORTE_OBJETIVO) ' + - 'as IMPORTE_OBJETIVO,'#10#10' sum(CANTIDAD_CONSEGUIDA) as CANTIDAD_C' + - 'ONSEGUIDA, sum(CANTIDAD_DEVUELTA) as CANTIDAD_DEVUELTA, sum(CANT' + - 'IDAD_TOTAL_CONSEGUIDA) as CANTIDAD_TOTAL_CONSEGUIDA,'#10' sum(IMP' + - 'ORTE_CONSEGUIDO) as IMPORTE_CONSEGUIDO, sum(IMPORTE_DEVUELTO) as' + - ' IMPORTE_DEVUELTO, sum(IMPORTE_TOTAL_CONSEGUIDO) as IMPORTE_TOTA' + - 'L_CONSEGUIDO,'#10#10' (sum(CANTIDAD_TOTAL_CONSEGUIDA) - sum(CANTIDA' + - 'D_OBJETIVO)) as CANTIDAD_RESULTADO,'#10' (sum(IMPORTE_TOTAL_CONSE' + - 'GUIDO) - sum(IMPORTE_OBJETIVO)) as IMPORTE_RESULTADO,'#10#10' case ' + - 'when (sum(CANTIDAD_TOTAL_CONSEGUIDA) <> 0) then (sum(IMPORTE_TOT' + - 'AL_CONSEGUIDO)/sum(CANTIDAD_TOTAL_CONSEGUIDA))'#10' else 0'#10' en' + - 'd as IMPORTE_MEDIO_UNIDAD,'#10#10' case when (sum(CLIENTES_ACTIVOS)' + - ' <> 0) then (sum(IMPORTE_TOTAL_CONSEGUIDO)/sum(CLIENTES_ACTIVOS)' + - ')'#10' else 0'#10' end as IMPORTE_MEDIO_CLIENTE'#10#10#10'from'#10'('#10'select AO' + - '.ID_AGENTE, AO.ANO, AO.TRIMESTRE,'#10'0 as ALTAS_CLIENTE,'#10'0 as CLIEN' + - 'TES_ACTIVOS,'#10'sum(AO.CANTIDAD_OBJETIVO) as CANTIDAD_OBJETIVO, sum' + - '(AO.IMPORTE_OBJETIVO) as IMPORTE_OBJETIVO,'#10'0 as CANTIDAD_CONSEGU' + - 'IDA, 0 as CANTIDAD_DEVUELTA, 0 as CANTIDAD_TOTAL_CONSEGUIDA, 0 a' + - 's IMPORTE_CONSEGUIDO, 0 as IMPORTE_DEVUELTO, 0 as IMPORTE_TOTAL_' + - 'CONSEGUIDO'#10'from V_INF_OBJETIVOS_ALB_AGENTES AO'#10'left join contact' + - 'os C on (C.ID = AO.ID_AGENTE)'#10'where (AO.ANO = :ANO1)'#10'group by 1,' + - '2,3'#10#10'UNION ALL'#10#10'select ID_AGENTE, ANO, TRIMESTRE,'#10'0 as ALTAS_CLI' + - 'ENTE,'#10'0 as CLIENTES_ACTIVOS,'#10'0 as CANTIDAD_OBJETIVO, 0 as IMPORT' + - 'E_OBJETIVO,'#10'sum(CANTIDAD_CONSEGUIDA) as CANTIDAD_CONSEGUIDA, sum' + - '(CANTIDAD_DEVUELTA) as CANTIDAD_DEVUELTA, (sum(CANTIDAD_CONSEGUI' + - 'DA) + sum(CANTIDAD_DEVUELTA)) as CANTIDAD_TOTAL_CONSEGUIDA,'#10'sum(' + - 'IMPORTE_CONSEGUIDO) as IMPORTE_CONSEGUIDO, sum(IMPORTE_DEVUELTO)' + - ' as IMPORTE_DEVUELTO, (sum(IMPORTE_CONSEGUIDO) + sum(IMPORTE_DEV' + - 'UELTO)) as IMPORTE_TOTAL_CONSEGUIDO'#10'from v_inf_objetivos_factura' + - 's'#10'where ((v_inf_objetivos_facturas.id_empresa = :ID_EMPRESA) and' + - ' (v_inf_objetivos_facturas.ANO = :ANO1))'#10'group by 1,2,3'#10#10'UNION A' + - 'LL'#10#10'select ID_AGENTE, ANO, TRIMESTRE,'#10'count(ID_CLIENTE) as ALTAS' + - '_CLIENTE,'#10'0 as CLIENTES_ACTIVOS,'#10'0 as CANTIDAD_OBJETIVO, 0 as IM' + - 'PORTE_OBJETIVO,'#10'0 as CANTIDAD_CONSEGUIDA, 0 as CANTIDAD_DEVUELTA' + - ', 0 as CANTIDAD_TOTAL_CONSEGUIDA, 0 as IMPORTE_CONSEGUIDO, 0 as ' + - 'IMPORTE_DEVUELTO, 0 as IMPORTE_TOTAL_CONSEGUIDO'#10'from v_inf_obj_c' + - 'lientes_agentes'#10'where (ANO = :ANO1)'#10'group by 1,2,3'#10#10'UNION ALL'#10#10's' + - 'elect ID_AGENTE, ANO, TRIMESTRE,'#10'0 as ALTAS_CLIENTE,'#10'count(disti' + - 'nct ID_CLIENTE) as CLIENTES_ACTIVOS,'#10'0 as CANTIDAD_OBJETIVO, 0 a' + - 's IMPORTE_OBJETIVO,'#10'0 as CANTIDAD_CONSEGUIDA, 0 as CANTIDAD_DEVU' + - 'ELTA, 0 as CANTIDAD_TOTAL_CONSEGUIDA, 0 as IMPORTE_CONSEGUIDO, 0' + - ' as IMPORTE_DEVUELTO, 0 as IMPORTE_TOTAL_CONSEGUIDO'#10'from v_inf_o' + - 'bj_cli_activos_fac_age'#10'where (ANO = :ANO1) and (v_inf_obj_cli_ac' + - 'tivos_fac_age.ID_EMPRESA = :ID_EMPRESA)'#10'group by 1,2,3'#10#10') SEN'#10#10'l' + - 'eft join periodos_aux P on ((P.periodo = '#39'TRIMESTRAL'#39') and (P.va' + - 'lor = TRIMESTRE))'#10'left join contactos C on (C.ID = SEN.ID_AGENTE' + - ')'#10'left join agentes_datos AD on (AD.id_agente = SEN.ID_AGENTE)'#10#10 + - 'left join'#10'('#10'select coalesce(ID_AGENTE, -1) as ID_AGENTE, count(I' + - 'D_CLIENTE) as NUM_CLIENTES_TOTALES'#10'from clientes_datos'#10'group by ' + - '1'#10') CLIENTES_TOTALES on (CLIENTES_TOTALES.ID_AGENTE = SEN.id_Age' + - 'nte)'#10#10'where FECHA_BAJA is null'#10'and {where}'#10'group by 1,2,3,4,5'#10'or' + - 'der by 1,2,3,4,5'#10#10#10#10 - StatementType = stSQL - ColumnMappings = < - item - DatasetField = 'ID_AGENTE' - TableField = 'ID_AGENTE' - end - item - DatasetField = 'AGENTE' - TableField = 'AGENTE' - end - item - DatasetField = 'ANO' - TableField = 'ANO' - end - item - DatasetField = 'TRIMESTRE' - TableField = 'TRIMESTRE' - end - item - DatasetField = 'DESCRIPCION' - TableField = 'DESCRIPCION' - end - item - DatasetField = 'CLIENTES_TOTALES' - TableField = 'CLIENTES_TOTALES' - end - item - DatasetField = 'ALTAS_CLIENTE' - TableField = 'ALTAS_CLIENTE' - end - item - DatasetField = 'CANTIDAD_OBJETIVO' - TableField = 'CANTIDAD_OBJETIVO' - end - item - DatasetField = 'IMPORTE_OBJETIVO' - TableField = 'IMPORTE_OBJETIVO' - end - item - DatasetField = 'CANTIDAD_CONSEGUIDA' - TableField = 'CANTIDAD_CONSEGUIDA' - end - item - DatasetField = 'CANTIDAD_DEVUELTA' - TableField = 'CANTIDAD_DEVUELTA' - end - item - DatasetField = 'CANTIDAD_TOTAL_CONSEGUIDA' - TableField = 'CANTIDAD_TOTAL_CONSEGUIDA' - end - item - DatasetField = 'IMPORTE_CONSEGUIDO' - TableField = 'IMPORTE_CONSEGUIDO' - end - item - DatasetField = 'IMPORTE_DEVUELTO' - TableField = 'IMPORTE_DEVUELTO' - end - item - DatasetField = 'IMPORTE_TOTAL_CONSEGUIDO' - TableField = 'IMPORTE_TOTAL_CONSEGUIDO' - end - item - DatasetField = 'CANTIDAD_RESULTADO' - TableField = 'CANTIDAD_RESULTADO' - end - item - DatasetField = 'IMPORTE_RESULTADO' - TableField = 'IMPORTE_RESULTADO' - end - item - DatasetField = 'IMPORTE_MEDIO_UNIDAD' - TableField = 'IMPORTE_MEDIO_UNIDAD' - end - item - DatasetField = 'IMPORTE_MEDIO_CLIENTE' - TableField = 'IMPORTE_MEDIO_CLIENTE' - end> - end> - Name = 'InformeListadoObjetivosTrimestral' - Fields = < - item - Name = 'ID_AGENTE' - DataType = datInteger - end - item - Name = 'AGENTE' - DataType = datString - Size = 255 - end - item - Name = 'ANO' - DataType = datSmallInt - end - item - Name = 'TRIMESTRE' - DataType = datSmallInt - end - item - Name = 'DESCRIPCION' - DataType = datString - Size = 20 - end - item - Name = 'CLIENTES_TOTALES' - DataType = datInteger - end - item - Name = 'ALTAS_CLIENTE' - DataType = datLargeInt - end - item - Name = 'CANTIDAD_OBJETIVO' - DataType = datLargeInt - end - item - Name = 'IMPORTE_OBJETIVO' - DataType = datCurrency - end - item - Name = 'CANTIDAD_CONSEGUIDA' - DataType = datCurrency - end - item - Name = 'CANTIDAD_DEVUELTA' - DataType = datCurrency - end - item - Name = 'CANTIDAD_TOTAL_CONSEGUIDA' - DataType = datCurrency - end - item - Name = 'IMPORTE_CONSEGUIDO' - DataType = datCurrency - end - item - Name = 'IMPORTE_DEVUELTO' - DataType = datCurrency - end - item - Name = 'IMPORTE_TOTAL_CONSEGUIDO' - DataType = datCurrency - end - item - Name = 'CANTIDAD_RESULTADO' - DataType = datCurrency - end - item - Name = 'IMPORTE_RESULTADO' - DataType = datCurrency - end - item - Name = 'IMPORTE_MEDIO_UNIDAD' - DataType = datCurrency - end - item - Name = 'IMPORTE_MEDIO_CLIENTE' - DataType = datCurrency - end> end> JoinDataTables = <> UnionDataTables = <> @@ -3743,8 +1217,7 @@ object RptFacturasProforma: TRptFacturasProforma item Name = 'ID_FACTURA' DataType = datInteger - Value = '2' - ParamType = daptInput + Value = '' end> MasterParamsMappings.Strings = ( 'ID_FACTURA=ID') @@ -3753,7 +1226,7 @@ object RptFacturasProforma: TRptFacturasProforma RemoteFetchEnabled = False LocalSchema = schReport LocalDataStreamer = Bin2DataStreamer - LogicalName = 'InformeFacturasCliente_Detalles' + LogicalName = 'InformeFacturasProforma_Detalles' IndexDefs = <> Left = 344 Top = 128 @@ -3764,49 +1237,53 @@ object RptFacturasProforma: TRptFacturasProforma item Name = 'ID' DataType = datInteger - DictionaryEntry = 'FacturasCliente_ID' - InPrimaryKey = True + end + item + Name = 'ID_EMPRESA' + DataType = datInteger end item Name = 'REFERENCIA' DataType = datString Size = 255 - DictionaryEntry = 'FacturasCliente_REFERENCIA' end item Name = 'FECHA_FACTURA' DataType = datDateTime - DictionaryEntry = 'FacturasCliente_FECHA_FACTURA' end item - Name = 'TIPO' + Name = 'FECHA_VENCIMIENTO' + DataType = datDateTime + end + item + Name = 'SITUACION' DataType = datString - Size = 1 + Size = 255 end item Name = 'BASE_IMPONIBLE' DataType = datCurrency - DictionaryEntry = 'FacturasCliente_BASE_IMPONIBLE' end item Name = 'DESCUENTO' DataType = datFloat - DictionaryEntry = 'FacturasCliente_DESCUENTO' end item Name = 'IMPORTE_DESCUENTO' DataType = datCurrency - DictionaryEntry = 'FacturasCliente_IMPORTE_DESCUENTO' + end + item + Name = 'DESCRIPCION_DESCUENTO' + DataType = datString + Size = 255 end item Name = 'IVA' DataType = datFloat - DictionaryEntry = 'FacturasCliente_IVA' end item Name = 'IMPORTE_IVA' DataType = datCurrency - DictionaryEntry = 'FacturasCliente_IMPORTE_IVA' end item Name = 'RE' @@ -3819,166 +1296,125 @@ object RptFacturasProforma: TRptFacturasProforma item Name = 'IMPORTE_TOTAL' DataType = datCurrency - DictionaryEntry = 'FacturasCliente_IMPORTE_TOTAL' end item Name = 'OBSERVACIONES' DataType = datMemo - DictionaryEntry = 'FacturasCliente_OBSERVACIONES' - end - item - Name = 'FORMA_PAGO' - DataType = datString - Size = 255 end item Name = 'ID_CLIENTE' DataType = datInteger - DictionaryEntry = 'FacturasCliente_ID_CLIENTE' end item Name = 'NIF_CIF' DataType = datString Size = 15 - DictionaryEntry = 'FacturasCliente_NIF_CIF' end item Name = 'NOMBRE' DataType = datString Size = 255 - DictionaryEntry = 'FacturasCliente_NOMBRE' + end + item + Name = 'ID_DIRECCION' + DataType = datInteger end item Name = 'CALLE' DataType = datString Size = 255 - DictionaryEntry = 'FacturasCliente_CALLE' - end - item - Name = 'PROVINCIA' - DataType = datString - Size = 255 - DictionaryEntry = 'FacturasCliente_PROVINCIA' - end - item - Name = 'CODIGO_POSTAL' - DataType = datString - Size = 10 - DictionaryEntry = 'FacturasCliente_CODIGO_POSTAL' end item Name = 'POBLACION' DataType = datString Size = 255 - DictionaryEntry = 'FacturasCliente_POBLACION' end item - Name = 'TITULAR' + Name = 'PROVINCIA' DataType = datString Size = 255 end item - Name = 'ENTIDAD' - DataType = datString - Size = 15 - end - item - Name = 'SUCURSAL' - DataType = datString - Size = 15 - end - item - Name = 'DC' - DataType = datString - Size = 15 - end - item - Name = 'CUENTA' - DataType = datString - Size = 15 - end - item - Name = 'ID_EMPRESA' - DataType = datInteger - DictionaryEntry = 'FacturasCliente_ID_EMPRESA' - end - item - Name = 'NIF_CIF_EMPRESA' - DataType = datString - Size = 15 - end - item - Name = 'RAZON_SOCIAL' - DataType = datString - Size = 255 - end - item - Name = 'CALLE_EMPRESA' - DataType = datString - Size = 255 - end - item - Name = 'POBLACION_EMPRESA' - DataType = datString - Size = 255 - end - item - Name = 'PROVINCIA_EMPRESA' - DataType = datString - Size = 255 - end - item - Name = 'CODIGO_POSTAL_EMPRESA' + Name = 'CODIGO_POSTAL' DataType = datString Size = 10 end item - Name = 'TELEFONO_1' - DataType = datString - Size = 25 + Name = 'FECHA_ALTA' + DataType = datDateTime end item - Name = 'FAX' - DataType = datString - Size = 25 + Name = 'FECHA_MODIFICACION' + DataType = datDateTime end item - Name = 'MOVIL_1' + Name = 'USUARIO' DataType = datString - Size = 25 + Size = 30 end item - Name = 'EMAIL_1' + Name = 'ID_FORMA_PAGO' + DataType = datInteger + end + item + Name = 'RECARGO_EQUIVALENCIA' + DataType = datSmallInt + end + item + Name = 'ID_TIPO_IVA' + DataType = datInteger + end + item + Name = 'IMPORTE_NETO' + DataType = datCurrency + end + item + Name = 'IMPORTE_PORTE' + DataType = datCurrency + end + item + Name = 'NUM_COPIAS' + DataType = datSmallInt + end + item + Name = 'NUM_CORREOS' + DataType = datSmallInt + end + item + Name = 'DATOS_BANCARIOS' DataType = datString Size = 255 end item - Name = 'PAGINA_WEB' + Name = 'ID_PEDIDO' + DataType = datInteger + end + item + Name = 'REFERENCIA_DEL_CLIENTE' DataType = datString Size = 255 end item - Name = 'REGISTRO_MERCANTIL' - DataType = datString - Size = 255 + Name = 'ID_FACTURA_FINAL' + DataType = datInteger end item - Name = 'LOGOTIPO' - DataType = datBlob + Name = 'FORMA_PAGO' + DataType = datString + Size = 255 end> Params = < item Name = 'ID' DataType = datInteger - Value = '1' - ParamType = daptInput + Value = '' end> LogChanges = False StreamingOptions = [soDisableEventsWhileStreaming] RemoteFetchEnabled = False LocalSchema = schReport LocalDataStreamer = Bin2DataStreamer - LogicalName = 'InformeFacturasCliente' + LogicalName = 'InformeFacturasProforma' IndexDefs = <> Left = 264 Top = 128 @@ -4022,7 +1458,7 @@ object RptFacturasProforma: TRptFacturasProforma PrintOptions.Printer = 'Default' PrintOptions.PrintOnSheet = 0 ReportOptions.CreateDate = 37871.995398692100000000 - ReportOptions.LastChange = 41474.500467106500000000 + ReportOptions.LastChange = 41619.661813958330000000 ReportOptions.VersionBuild = '1' ReportOptions.VersionMajor = '12' ReportOptions.VersionMinor = '13' @@ -4094,46 +1530,6 @@ object RptFacturasProforma: TRptFacturasProforma '.Height - 1;' 'end;' '' - 'procedure DatosEmpresaOnBeforePrint(Sender: TfrxComponent);' - 'var' - ' Cadena: String;' - 'begin' - ' { ' - ' DatosEmpresa.Lines.Clear;' - ' DatosEmpresa.Lines.Add();' - ' DatosEmpresa.Lines.Add();' - '' - ' Cadena := '#39#39';' - ' if ( <> '#39#39') then' - ' Cadena := '#39'TLF: '#39' + ;' - ' if ( <> '#39#39') then' - ' Cadena := Cadena + '#39' FAX: '#39' + ;' - ' DatosEmpresa.Lines.Add(Cadena);' - '' - ' Cadena := '#39#39';' - ' if ( <> '#39#39') then' - ' Cadena := ;' - ' if ( <> '#39#39') then' - - ' Cadena := Cadena + '#39' '#39' + ;' - ' if ( <> '#39#39') then' - - ' Cadena := Cadena + '#39' - '#39' + ;' - ' DatosEmpresa.Lines.Add(Cadena);' - ' } ' - 'end;' - '' - 'procedure Memo15OnBeforePrint(Sender: TfrxComponent);' - 'begin' - ' Memo15.Lines.Clear;' - ' if (StrToFloat() < 0) then' - ' Memo15.Lines.Add('#39'ABONO'#39')' - ' else' - ' Memo15.Lines.Add('#39'FACTURA'#39')' - 'end;' - '' 'procedure Memo20OnBeforePrint(Sender: TfrxComponent);' 'begin' ' if (StrToFloat() = 0) then' @@ -4148,6 +1544,7 @@ object RptFacturasProforma: TRptFacturasProforma 'var' ' Cadena : String;' 'begin' + '{ ' ' if ( <> '#39#39') then' ' begin' ' Cadena := Memo11.Lines.Text;' @@ -4155,6 +1552,7 @@ object RptFacturasProforma: TRptFacturasProforma ' Memo11.Lines.Add();' ' Memo11.Lines.Add(Cadena);' ' end' + ' } ' 'end;' '' 'procedure Band2OnBeforePrint(Sender: TfrxComponent);' @@ -4214,53 +1612,6 @@ object RptFacturasProforma: TRptFacturasProforma Left = 145 Top = 16 end - object frxDBVencimientos: TfrxDBDataset - UserName = 'frxDBVencimientos' - CloseDataSource = False - DataSource = DADSVencimientos - BCDToCurrency = False - Left = 440 - Top = 16 - end - object DADSVencimientos: TDADataSource - DataSet = tbl_Vencimientos.Dataset - DataTable = tbl_Vencimientos - Left = 440 - Top = 72 - end - object tbl_Vencimientos: TDAMemDataTable - RemoteUpdatesOptions = [] - Fields = < - item - Name = 'ID_FACTURA' - DataType = datInteger - end - item - Name = 'FECHA_VENCIMIENTO' - DataType = datDateTime - end - item - Name = 'IMPORTE_TOTAL' - DataType = datCurrency - end> - Params = < - item - Name = 'ID_FACTURA' - Value = '' - ParamType = daptInput - end> - MasterParamsMappings.Strings = ( - 'ID_FACTURA=ID') - LogChanges = False - StreamingOptions = [soDisableEventsWhileStreaming] - RemoteFetchEnabled = False - LocalSchema = schReport - LocalDataStreamer = Bin2DataStreamer - LogicalName = 'InformeFacturasCliente_Vencimientos' - IndexDefs = <> - Left = 440 - Top = 128 - end object vencimientos: TIBQuery Database = IBDatabase1 Transaction = IBTransaction1 @@ -4319,321 +1670,4 @@ object RptFacturasProforma: TRptFacturasProforma Left = 48 Top = 88 end - object DADSInformeObjetivos: TDADataSource - DataSet = tbl_InformeObjetivosMensual.Dataset - DataTable = tbl_InformeObjetivosMensual - Left = 152 - Top = 152 - end - object frxDBInformeObjetivos: TfrxDBDataset - UserName = 'frxDBInformeObjetivos' - CloseDataSource = False - DataSource = DADSInformeObjetivos - BCDToCurrency = False - Left = 152 - Top = 96 - end - object tbl_InformeObjetivosMensual: TDAMemDataTable - RemoteUpdatesOptions = [] - Fields = < - item - Name = 'ID_AGENTE' - DataType = datInteger - end - item - Name = 'AGENTE' - DataType = datString - Size = 255 - end - item - Name = 'ANO' - DataType = datSmallInt - end - item - Name = 'MES' - DataType = datSmallInt - end - item - Name = 'DESCRIPCION' - DataType = datString - Size = 20 - end - item - Name = 'CLIENTES_TOTALES' - DataType = datInteger - end - item - Name = 'ALTAS_CLIENTE' - DataType = datLargeInt - end - item - Name = 'CANTIDAD_OBJETIVO' - DataType = datLargeInt - end - item - Name = 'IMPORTE_OBJETIVO' - DataType = datCurrency - end - item - Name = 'CANTIDAD_CONSEGUIDA' - DataType = datCurrency - end - item - Name = 'CANTIDAD_DEVUELTA' - DataType = datCurrency - end - item - Name = 'CANTIDAD_TOTAL_CONSEGUIDA' - DataType = datCurrency - end - item - Name = 'IMPORTE_CONSEGUIDO' - DataType = datCurrency - end - item - Name = 'IMPORTE_DEVUELTO' - DataType = datCurrency - end - item - Name = 'IMPORTE_TOTAL_CONSEGUIDO' - DataType = datCurrency - end - item - Name = 'CANTIDAD_RESULTADO' - DataType = datCurrency - end - item - Name = 'IMPORTE_RESULTADO' - DataType = datCurrency - end - item - Name = 'IMPORTE_MEDIO_UNIDAD' - DataType = datCurrency - end - item - Name = 'IMPORTE_MEDIO_CLIENTE' - DataType = datCurrency - end> - Params = < - item - Name = 'ANO1' - Value = '2012' - end - item - Name = 'ID_EMPRESA' - DataType = datInteger - Value = '1' - end> - LogChanges = False - StreamingOptions = [soDisableEventsWhileStreaming] - RemoteFetchEnabled = False - LocalSchema = schReport - LocalDataStreamer = Bin2DataStreamer - LogicalName = 'InformeListadoObjetivosMensual' - IndexDefs = <> - Left = 64 - Top = 216 - end - object tbl_InformeObjetivosTrimestral: TDAMemDataTable - RemoteUpdatesOptions = [] - Fields = < - item - Name = 'ID_AGENTE' - DataType = datInteger - end - item - Name = 'AGENTE' - DataType = datString - Size = 255 - end - item - Name = 'ANO' - DataType = datSmallInt - end - item - Name = 'TRIMESTRE' - DataType = datSmallInt - end - item - Name = 'DESCRIPCION' - DataType = datString - Size = 20 - end - item - Name = 'CLIENTES_TOTALES' - DataType = datInteger - end - item - Name = 'ALTAS_CLIENTE' - DataType = datLargeInt - end - item - Name = 'CANTIDAD_OBJETIVO' - DataType = datLargeInt - end - item - Name = 'IMPORTE_OBJETIVO' - DataType = datCurrency - end - item - Name = 'CANTIDAD_CONSEGUIDA' - DataType = datCurrency - end - item - Name = 'CANTIDAD_DEVUELTA' - DataType = datCurrency - end - item - Name = 'CANTIDAD_TOTAL_CONSEGUIDA' - DataType = datCurrency - end - item - Name = 'IMPORTE_CONSEGUIDO' - DataType = datCurrency - end - item - Name = 'IMPORTE_DEVUELTO' - DataType = datCurrency - end - item - Name = 'IMPORTE_TOTAL_CONSEGUIDO' - DataType = datCurrency - end - item - Name = 'CANTIDAD_RESULTADO' - DataType = datCurrency - end - item - Name = 'IMPORTE_RESULTADO' - DataType = datCurrency - end - item - Name = 'IMPORTE_MEDIO_UNIDAD' - DataType = datCurrency - end - item - Name = 'IMPORTE_MEDIO_CLIENTE' - DataType = datCurrency - end> - Params = < - item - Name = 'ANO1' - Value = '2012' - end - item - Name = 'ID_EMPRESA' - DataType = datInteger - Value = '1' - end> - LogChanges = False - StreamingOptions = [soDisableEventsWhileStreaming] - RemoteFetchEnabled = False - LocalSchema = schReport - LocalDataStreamer = Bin2DataStreamer - LogicalName = 'InformeListadoObjetivosTrimestral' - IndexDefs = <> - Left = 192 - Top = 216 - end - object tbl_InformeObjetivosSemestral: TDAMemDataTable - RemoteUpdatesOptions = [] - Fields = < - item - Name = 'ID_AGENTE' - DataType = datInteger - end - item - Name = 'AGENTE' - DataType = datString - Size = 255 - end - item - Name = 'ANO' - DataType = datSmallInt - end - item - Name = 'SEMESTRE' - DataType = datSmallInt - end - item - Name = 'DESCRIPCION' - DataType = datString - Size = 20 - end - item - Name = 'CLIENTES_TOTALES' - DataType = datInteger - end - item - Name = 'ALTAS_CLIENTE' - DataType = datLargeInt - end - item - Name = 'CANTIDAD_OBJETIVO' - DataType = datLargeInt - end - item - Name = 'IMPORTE_OBJETIVO' - DataType = datCurrency - end - item - Name = 'CANTIDAD_CONSEGUIDA' - DataType = datCurrency - end - item - Name = 'CANTIDAD_DEVUELTA' - DataType = datCurrency - end - item - Name = 'CANTIDAD_TOTAL_CONSEGUIDA' - DataType = datCurrency - end - item - Name = 'IMPORTE_CONSEGUIDO' - DataType = datCurrency - end - item - Name = 'IMPORTE_DEVUELTO' - DataType = datCurrency - end - item - Name = 'IMPORTE_TOTAL_CONSEGUIDO' - DataType = datCurrency - end - item - Name = 'CANTIDAD_RESULTADO' - DataType = datCurrency - end - item - Name = 'IMPORTE_RESULTADO' - DataType = datCurrency - end - item - Name = 'IMPORTE_MEDIO_UNIDAD' - DataType = datCurrency - end - item - Name = 'IMPORTE_MEDIO_CLIENTE' - DataType = datCurrency - end> - Params = < - item - Name = 'ANO1' - Value = '2012' - end - item - Name = 'ID_EMPRESA' - DataType = datInteger - Value = '1' - end> - LogChanges = False - StreamingOptions = [soDisableEventsWhileStreaming] - RemoteFetchEnabled = False - LocalSchema = schReport - LocalDataStreamer = Bin2DataStreamer - LogicalName = 'InformeListadoObjetivosSemestral' - IndexDefs = <> - Left = 312 - Top = 216 - end end diff --git a/Source/Modulos/Facturas proforma/Reports/uRptFacturasProforma_Server.pas b/Source/Modulos/Facturas proforma/Reports/uRptFacturasProforma_Server.pas index a67e89a..5c26709 100644 --- a/Source/Modulos/Facturas proforma/Reports/uRptFacturasProforma_Server.pas +++ b/Source/Modulos/Facturas proforma/Reports/uRptFacturasProforma_Server.pas @@ -70,9 +70,6 @@ type detallesIMPORTE_TOTAL: TIBBCDField; detallesVISIBLE: TSmallintField; detallesREFERENCIA: TIBStringField; - frxDBVencimientos: TfrxDBDataset; - DADSVencimientos: TDADataSource; - tbl_Vencimientos: TDAMemDataTable; vencimientos: TIBQuery; DataSource3: TDataSource; cabeceraDATOS_BANCARIOS: TIBStringField; @@ -80,11 +77,6 @@ type vencimientosIMPORTE_TOTAL: TIBBCDField; frxPDFExport1: TfrxPDFExport; Bin2DataStreamer: TDABin2DataStreamer; - DADSInformeObjetivos: TDADataSource; - frxDBInformeObjetivos: TfrxDBDataset; - tbl_InformeObjetivosMensual: TDAMemDataTable; - tbl_InformeObjetivosTrimestral: TDAMemDataTable; - tbl_InformeObjetivosSemestral: TDAMemDataTable; schReport: TDASchema; procedure DataModuleCreate(Sender: TObject); procedure DataModuleDestroy(Sender: TObject); @@ -107,29 +99,14 @@ type FImporteMinimo: Currency; FDesglosado : Boolean; FShowLogotipo: Boolean; - FTopN: Integer; + FTopN: Integer; //Genera cada una de las facturas a imprimir procedure _GenerarFactura(const ID: Integer; const VerSello: Boolean = True; const VerCopia: Boolean = True); - procedure PrepararTablaInforme(ATabla: TDAMemDataTable); - procedure PrepararTablaResumenInforme(ATabla: IDADataset); - procedure PrepararTablaInformeGrafComp(ATabla: TDAMemDataTable); - procedure PrepararTablaResumenInformeGrafComp(ATabla: TDAMemDataTable); - procedure PrepararTablaInformeObjetivos(ATabla: TDAMemDataTable); - function _GenerarInforme(const TipoInforme: String): Binary; - procedure IniciarParametrosInforme; - procedure RecuperarNombresClientes; - procedure RecuperarNombresAgentes; public function GenerarFactura(const ListaID : TIntegerArray; const VerSello: Boolean = True; const VerCopia: Boolean = True): Binary; function GenerarFacturaEnPDF(const ListaID : TIntegerArray; const VerSello: Boolean = True): Binary; - function GenerarInformeIVA(const IdEmpresa: Integer; const FechaInicio: Variant; const FechaFin: Variant; const ListaIDClientes: TIntegerArray; const Desglosado: Boolean; const ImporteMinimo: Currency): Binary; - function GenerarInformeListadoFacturas(const IdEmpresa: Integer; const FechaInicio: Variant; const FechaFin: Variant; const FechaVenInicio: Variant; const FechaVenFin: Variant; const ListaIDClientes: TIntegerArray; const Desglosado: Boolean; const ImporteMinimo: Currency): Binary; - function GenerarInformeListadoFacturasPendientes(const IdEmpresa: Integer; const FechaInicio: Variant; const FechaFin: Variant; const FechaVenInicio: Variant; const FechaVenFin: Variant; const ListaIDClientes: TIntegerArray; const Desglosado: Boolean; const ImporteMinimo: Currency): Binary; - function GenerarInformeFacturasGrafComp(const IdEmpresa: Integer; const Intervalo: Variant; const Ano1: Variant; const Ano2: Variant; const ListaIDClientes: TIntegerArray; const TopN: Integer): Binary; - function GenerarInformeBeneficiosGrafComp(const IdEmpresa: Integer; const Intervalo: Variant; const Ano1: Variant; const Ano2: Variant; const Serie: Variant): Binary; - function GenerarInformeObjetivosAgentesFacturas(const IdEmpresa: Integer; const Intervalo: Variant; const Ano1: Variant; const Ano2: Variant; const AgentesActivos: Boolean; const ListaIDAgentes: TIntegerArray; const TopN: Integer): Binary; end; implementation @@ -141,19 +118,7 @@ uses uROServer, DataAbstract4_Intf, srvGestorInformes_Impl; const - rptFacturaCliente = 'InfFacturaCliente.fr3'; - rptInformeIVA = 'InformeIVAClientes.fr3'; - rptInformeIVADesglosado = 'InformeIVAClientesDesglosado.fr3'; - rptInformeListadoFacturasCliente = 'InformeListadoFacturasCliente.fr3'; - rptInformeListadoFacturasClienteDesglosado = 'InformeListadoFacturasClienteDesglosado.fr3'; - rptInformeListadoFactuasClientePendiente = 'InformeListadoFacturasClientePendientes.fr3'; - rptInformeListadoFactuasClientePendienteDesglosado = 'InformeListadoFacturasClientePendientesDesglosado.fr3'; - rptInformeListadoFacturasClienteGrafComp = 'InformeListadoFacturasClienteGrafComp.fr3'; - rptInformeListadoBeneficiosGrafComp = 'InformeListadoBeneficiosGrafComp.fr3'; - rptInformeObjetivosAgentesFacturas = 'InformeObjetivosAgentesFacturas.fr3'; - - { Dataset names for schReport } - ds_InformeListadoFacturasResumen = 'InformeListadoFacturasResumen'; + rptFacturaProforma = 'InfFacturaProforma.fr3'; { TRptFacturasCliente } @@ -168,23 +133,19 @@ begin frxReport.EngineOptions.NewSilentMode := simReThrow; FListaNombresClientes := TStringList.Create; - FListaNombresAgentes := TStringList.Create; + FListaNombresAgentes := TStringList.Create; frxDBCabecera.DataSource := DADSCabecera; frxDBCabecera.CloseDataSource := False; frxDBDetalles.DataSource := DADSDetalles; frxDBDetalles.CloseDataSource := False; - - frxDBVencimientos.DataSource := DADSVencimientos; - frxDBVencimientos.CloseDataSource := False; end; procedure TRptFacturasProforma.DataModuleDestroy(Sender: TObject); begin tbl_Cabecera.Active := False; tbl_Detalles.Active := False; - tbl_Vencimientos.Active := False; FreeANDNIL(FListaNombresClientes); FreeANDNIL(FListaNombresAgentes); @@ -230,796 +191,6 @@ begin end; end; -function TRptFacturasProforma.GenerarInformeBeneficiosGrafComp( - const IdEmpresa: Integer; const Intervalo, Ano1, Ano2, - Serie: Variant): Binary; -var - AStream: TMemoryStream; - AInforme: Variant; - -begin - FConnection.BeginTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO" - - AStream := TMemoryStream.Create; - try - //Inicializamos parametros - FIdEmpresa := IdEmpresa; - FAno1 := Ano1; - FAno2 := Ano2; - FIntervalo := Intervalo; - - //Preparamos la tabla correspondiente y la abrimos para el informe - if (FIntervalo = CTE_MENSUAL) then - PrepararTablaInformeGrafComp(tbl_InformeListadoBeneficiosGrafCompMensual) - else if (FIntervalo = CTE_TRIMESTRAL) then - PrepararTablaInformeGrafComp(tbl_InformeListadoBeneficiosGrafCompTrimestral) - else - PrepararTablaInformeGrafComp(tbl_InformeListadoBeneficiosGrafCompSemestral); - - Result := Binary.Create; - - AInforme := DarRutaFichero(DarRutaInformes, rptInformeListadoBeneficiosGrafComp, IntTostr(FIdEmpresa)); - if VarIsNull(AInforme) then - raise Exception.Create (('Error Servidor: GenerarInformeBeneficiosGrafComp, no encuentra informe ' + rptInformeListadoBeneficiosGrafComp)); - - frxReport.LoadFromFile(AInforme, True); -// IniciarParametrosInforme; - - frxReport.Variables.Variables['Ano1']:= Ano1; - frxReport.Variables.Variables['Ano2']:= Ano2; - frxReport.Variables.Variables['Serie']:= Serie; - frxReport.PrepareReport(False); - frxReport.PreviewPages.SaveToStream(Result); - - finally - AStream.Free; - FConnection.RollbackTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO" - end; -end; - -function TRptFacturasProforma.GenerarInformeFacturasGrafComp( - const IdEmpresa: Integer; const Intervalo, Ano1, Ano2: Variant; - const ListaIDClientes: TIntegerArray; const TopN: Integer): Binary; -var - AStream: TMemoryStream; - AInforme: Variant; - -begin - FConnection.BeginTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO" - - AStream := TMemoryStream.Create; - try - //Inicializamos parametros - FIdEmpresa := IdEmpresa; - FAno1 := Ano1; - FAno2 := Ano2; - FIntervalo := Intervalo; - FTopN := TopN; - - if Assigned(FListaIDClientes) then - FListaIDClientes.Free; - FListaIDClientes := ListaIDClientes; - - //Preparamos la tabla correspondiente y la abrimos para el informe - if (FIntervalo = CTE_MENSUAL) then - PrepararTablaInformeGrafComp(tbl_InformeListadoFacturasGrafCompMensual) - else if (FIntervalo = CTE_TRIMESTRAL) then - PrepararTablaInformeGrafComp(tbl_InformeListadoFacturasGrafCompTrimestral) - else - PrepararTablaInformeGrafComp(tbl_InformeListadoFacturasGrafCompSemestral); - - //Se preparan las tablas del listado resumen del informe - PrepararTablaResumenInformeGrafComp(tbl_InformeListadoClientesMayorFacturacionResumen); - PrepararTablaResumenInformeGrafComp(tbl_InformeListadoClientesMayorDescuentoResumen); - PrepararTablaResumenInformeGrafComp(tbl_InformeListadoAgentesMayorFacturacionResumen); - - Result := Binary.Create; - - AInforme := DarRutaFichero(DarRutaInformes, rptInformeListadoFacturasClienteGrafComp, IntTostr(FIdEmpresa)); - if VarIsNull(AInforme) then - raise Exception.Create (('Error Servidor: GenerarInformeFacturasGrafComp, no encuentra informe ' + rptInformeListadoFacturasClienteGrafComp)); - - frxReport.LoadFromFile(AInforme, True); -// IniciarParametrosInforme; - - frxReport.Variables.Variables['Ano1']:= Ano1; - frxReport.Variables.Variables['Ano2']:= Ano2; - frxReport.PrepareReport(False); - frxReport.PreviewPages.SaveToStream(Result); - - finally - AStream.Free; - FConnection.RollbackTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO" - end; -end; - -function TRptFacturasProforma.GenerarInformeIVA(const IdEmpresa: Integer; const FechaInicio: Variant; const FechaFin: Variant; const ListaIDClientes: TIntegerArray; const Desglosado: Boolean; const ImporteMinimo: Currency): Binary; -var - ATipoInforme: String; - AStream: TMemoryStream; - dsMaster: IDADataset; - -begin - FConnection.BeginTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO" - - AStream := TMemoryStream.Create; - try - //Inicializamos parametros - FIdEmpresa := IdEmpresa; - FFechaInicio := FechaInicio; - FFechaFin := FechaFin; - FFechaVenInicio := Null; - FFechaVenFin := Null; - FImporteMinimo := ImporteMinimo; - - if Assigned(FListaIDClientes) then - FListaIDClientes.Free; - FListaIDClientes := ListaIDClientes; - - //Se van a prepara las tablas del informe - if tbl_InformeListadoFacturas.Active then - tbl_InformeListadoFacturas.Active := False; - PrepararTablaInforme(tbl_InformeListadoFacturas); - - //Se prepara la tabla del listado resumen del informe - if tbl_InformeListadoFacturasResumen.Active then - tbl_InformeListadoFacturasResumen.Active := False; - dsMaster := schReport.NewDataset(FConnection, ds_InformeListadoFacturasResumen, [], [], False); - PrepararTablaResumenInforme(dsMaster); - //Esto se hace para rellenar la tabla del datamodule que usa el informe. - dsMaster.Open; - AStream.Clear; - Bin2DataStreamer.WriteDataset(AStream, dsMaster, [woRows, woSchema], -1); - Bin2DataStreamer.ReadDataset(AStream, tbl_InformeListadoFacturasResumen, TRUE, '', TRUE, TRUE); - - //DESGLOSADO POR CLIENTE EN ESTE INFORME NO SE DESGLOSARÁ POR CLIENTE - if Desglosado then - ATipoInforme := rptInformeIVADesglosado - else - ATipoInforme := rptInformeIVA; - - //Finalmente se abren las tablas del informe - tbl_InformeListadoFacturas.Active := True; - tbl_InformeListadoFacturasResumen.Active := True; - - Result := _GenerarInforme(ATipoInforme); - finally - AStream.Free; - dsMaster := Nil; - FConnection.RollbackTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO" - end; -end; - -function TRptFacturasProforma.GenerarInformeListadoFacturas(const IdEmpresa: Integer; - const FechaInicio, FechaFin: Variant; const FechaVenInicio: Variant; const FechaVenFin: Variant; - const ListaIDClientes: TIntegerArray; const Desglosado: Boolean; const ImporteMinimo: Currency): Binary; -var - ATipoInforme: String; - AStream: TMemoryStream; - dsMaster: IDADataset; - -begin - FConnection.BeginTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO" - - AStream := TMemoryStream.Create; - try - //Inicializamos parametros - FIdEmpresa := IdEmpresa; - FFechaInicio := FechaInicio; - FFechaFin := FechaFin; - FFechaVenInicio := FechaVenInicio; - FFechaVenFin := FechaVenFin; - FImporteMinimo := ImporteMinimo; - - if Assigned(FListaIDClientes) then - FListaIDClientes.Free; - FListaIDClientes := ListaIDClientes; - - //Se prepara la tabla del listado general del informe - if tbl_InformeListadoFacturas.Active then - tbl_InformeListadoFacturas.Active := False; - PrepararTablaInforme(tbl_InformeListadoFacturas); - - //Se prepara la tabla del listado resumen del informe - if tbl_InformeListadoFacturasResumen.Active then - tbl_InformeListadoFacturasResumen.Active := False; - dsMaster := schReport.NewDataset(FConnection, ds_InformeListadoFacturasResumen, [], [], False); - PrepararTablaResumenInforme(dsMaster); - //Esto se hace para rellenar la tabla del datamodule que usa el informe. - dsMaster.Open; - AStream.Clear; - Bin2DataStreamer.WriteDataset(AStream, dsMaster, [woRows, woSchema], -1); - Bin2DataStreamer.ReadDataset(AStream, tbl_InformeListadoFacturasResumen, TRUE, '', TRUE, TRUE); - - //DESGLOSADO POR CLIENTE EN ESTE INFORME NO SE DESGLOSARÁ POR CLIENTE - FDesglosado := Desglosado; - if FDesglosado then - ATipoInforme := rptInformeListadoFacturasClienteDesglosado - else - ATipoInforme := rptInformeListadoFacturasCliente; - - //Finalmente se abren las tablas del informe - tbl_InformeListadoFacturas.Active := True; - tbl_InformeListadoFacturasResumen.Active := True; - - Result := _GenerarInforme(ATipoInforme); - - finally - AStream.Free; - dsMaster := Nil; - FConnection.RollbackTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO" - end; -end; - -function TRptFacturasProforma.GenerarInformeListadoFacturasPendientes( - const IdEmpresa: Integer; const FechaInicio, FechaFin: Variant; - const FechaVenInicio: Variant; const FechaVenFin: Variant; - const ListaIDClientes: TIntegerArray; const Desglosado: Boolean; - const ImporteMinimo: Currency): Binary; -var - Condicion: TDAWhereExpression; - ATipoInforme: String; - AStream: TMemoryStream; - dsMaster: IDADataset; - -begin - FConnection.BeginTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO" - - AStream := TMemoryStream.Create; - try - //Inicializamos parametros - FIdEmpresa := IdEmpresa; - FFechaInicio := FechaInicio; - FFechaFin := FechaFin; - FFechaVenInicio := FechaVenInicio; - FFechaVenFin := FechaVenFin; - FImporteMinimo := ImporteMinimo; - FListaIDClientes := ListaIDClientes; - - //Se prepara la tabla del listado general del informe - if tbl_InformeListadoFacturasPendientes.Active then - tbl_InformeListadoFacturasPendientes.Active := False; - PrepararTablaInforme(tbl_InformeListadoFacturasPendientes); - - // Filtrar el informe por situacion - with tbl_InformeListadoFacturasPendientes.DynamicWhere do - begin - // (ID_EMPRESA >= ID) - Condicion := NewBinaryExpression(NewField('', fld_FacturasClienteSITUACION), NewConstant('PAGADA', datString), dboNotEqual); - if IsEmpty then - Expression := Condicion - else - Expression := NewBinaryExpression(Expression, Condicion, dboAnd); - end; - - //DESGLOSADO POR CLIENTE EN ESTE INFORME NO SE DESGLOSARÁ POR CLIENTE - FDesglosado := Desglosado; - if FDesglosado then - ATipoInforme := rptInformeListadoFactuasClientePendienteDesglosado - else - ATipoInforme := rptInformeListadoFactuasClientePendiente; - - //Finalmente se abren las tablas del informe - tbl_InformeListadoFacturasPendientes.Active := True; - - Result := _GenerarInforme(ATipoInforme); - - finally - AStream.Free; - dsMaster := Nil; - FConnection.RollbackTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO" - end; -end; - -function TRptFacturasProforma.GenerarInformeObjetivosAgentesFacturas( - const IdEmpresa: Integer; const Intervalo, Ano1, Ano2: Variant; - const AgentesActivos: Boolean; const ListaIDAgentes: TIntegerArray; const TopN: Integer): Binary; -var - AStream: TMemoryStream; - AInforme: Variant; - -begin - FConnection.BeginTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO" - - AStream := TMemoryStream.Create; - try - //Inicializamos parametros - FIdEmpresa := IdEmpresa; - FAno1 := Ano1; - FIntervalo := Intervalo; - FAgentesActivos := AgentesActivos; - FFechaVenInicio := Null; - FFechaVenFin := Null; - - if Assigned(FListaIDAgentes) then - FListaIDClientes.Free; - FListaIDAgentes := ListaIDAgentes; - - //Preparamos la tabla correspondiente y la abrimos para el informe - if (FIntervalo = CTE_MENSUAL) then - PrepararTablaInformeObjetivos(tbl_InformeObjetivosMensual) - else if (FIntervalo = CTE_TRIMESTRAL) then - PrepararTablaInformeObjetivos(tbl_InformeObjetivosTrimestral) - else - PrepararTablaInformeObjetivos(tbl_InformeObjetivosSemestral); - - Result := Binary.Create; - - AInforme := DarRutaFichero(DarRutaInformes, rptInformeObjetivosAgentesFacturas, IntTostr(FIdEmpresa)); - if VarIsNull(AInforme) then - raise Exception.Create (('Error Servidor: GenerarInformeObjetivosAgentesFacturas, no encuentra informe ' + rptInformeObjetivosAgentesFacturas)); - - frxReport.LoadFromFile(AInforme, True); - IniciarParametrosInforme; - - frxReport.PrepareReport(False); - frxReport.PreviewPages.SaveToStream(Result); - - finally - AStream.Free; - FConnection.RollbackTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO" - end; -end; - -procedure TRptFacturasProforma.IniciarParametrosInforme; -var - ATextos : TStringList; - ACadena : String; -begin - ATextos := TStringList.Create; - - try - if (not VarIsNull(FFechaInicio)) and (not VarIsNull(FFechaFin)) then - ACadena := Format('Fechas de factura desde el %s hasta el %s', [VarToStr(FFechaInicio), VarToStr(FFechaFin)]) - else - ACadena := 'Sin rango de fechas'; - ATextos.Add(ACadena); - ACadena := ''; - - // Filtrar el informe por fechas de vencimiento - if (not VarIsNull(FFechaVenInicio)) and (not VarIsNull(FFechaVenFin)) then - begin - ACadena := Format('Vencimientos desde el %s hasta el %s', [VarToStr(FFechaVenInicio), VarToStr(FFechaVenFin)]); - ATextos.Add(ACadena); - ACadena := ''; - end; - - if (FImporteMinimo > 0) then - begin - ACadena := Format('Facturas con importe superior a %m', [FImporteMinimo]); - ATextos.Add(ACadena); - ACadena := ''; - end; - - if Assigned(FListaIDClientes) and (FListaIDClientes.Count > 0) then - begin - RecuperarNombresClientes; - ACadena := FListaNombresClientes.Text; - end - else begin - ACadena := 'Todos los clientes'; - if FDesglosado then - ACadena := ACadena + ' (desglosados)' - end; - - if not VarIsNull(FAno1) then - begin - ACadena := 'Año: ' + FAno1; - ATextos.Add(ACadena); - end; - - if Assigned(FListaIDAgentes) and (FListaIDAgentes.Count > 0) then - begin - ACadena := 'Agente: '; - RecuperarNombresAgentes; - ACadena := ACadena + FListaNombresAgentes.Text; - end - else begin - ACadena := 'Todos los agentes'; -// if FDesglosado then - ACadena := ACadena + ' (desglosados)' - end; - - ATextos.Add(ACadena); - ACadena := ''; - - - - ATextos.Add(ACadena); - ACadena := ''; - - frxReport.Variables.Variables['TextoParametros'] := ATextos.Text; - finally - FreeAndNil(ATextos); - end; -end; - -procedure TRptFacturasProforma.PrepararTablaInforme(ATabla: TDAMemDataTable); -var - Condicion: TDAWhereExpression; - i: Integer; - -begin - // Filtrar el informe por empresa - with ATabla.DynamicWhere do - begin - // (ID_EMPRESA >= ID) - Condicion := NewBinaryExpression(NewField('', fld_FacturasClienteID_EMPRESA), NewConstant(FIdEmpresa, datInteger), dboEqual); - if IsEmpty then - Expression := Condicion - else - Expression := NewBinaryExpression(Expression, Condicion, dboAnd); - end; - - // Filtrar el informe por fechas - if not VarIsNull(FFechaInicio) - and not VarIsNull(FFechaFin) then - begin - with ATabla.DynamicWhere do - begin - // (FECHA_INICIO between FECHA_FIN) - Condicion := NewBinaryExpression(NewField('', fld_FacturasClienteFECHA_FACTURA), NewConstant(FFechaInicio, datDateTime), dboGreaterOrEqual); - Condicion := NewBinaryExpression(NewBinaryExpression(NewField('', fld_FacturasClienteFECHA_FACTURA), NewConstant(FFechaFin, datDateTime), dboLessOrEqual), Condicion, dboAnd); - if IsEmpty then - Expression := Condicion - else - Expression := NewBinaryExpression(Expression, Condicion, dboAnd); - end; - end; - - // Filtrar el informe por fechas de vencimiento - if not VarIsNull(FFechaVenInicio) - and not VarIsNull(FFechaVenFin) then - begin - with ATabla.DynamicWhere do - begin - // (FECHA_VENCIMIENTO_INICIO between FECHA_VENCIMIENTO_FIN) - Condicion := NewBinaryExpression(NewField('', fld_FacturasClienteFECHA_VENCIMIENTO), NewConstant(FFechaVenInicio, datDateTime), dboGreaterOrEqual); - Condicion := NewBinaryExpression(NewBinaryExpression(NewField('', fld_FacturasClienteFECHA_VENCIMIENTO), NewConstant(FFechaVenFin, datDateTime), dboLessOrEqual), Condicion, dboAnd); - if IsEmpty then - Expression := Condicion - else - Expression := NewBinaryExpression(Expression, Condicion, dboAnd); - end; - end; - - // Filtrar el informe por proveedor - if Assigned(FListaIDClientes) then - begin - with ATabla.DynamicWhere do - begin - for i := 0 to FListaIDClientes.Count - 1 do - begin - - // (ID_CLIENTE = ID) - Condicion := NewBinaryExpression(NewField('', fld_FacturasClienteID_CLIENTE), NewConstant(FListaIDClientes.Items[i], datInteger), dboEqual); - if IsEmpty then - Expression := Condicion - else - Expression := NewBinaryExpression(Expression, Condicion, dboAnd); - end; - end; - end; - - // Filtrar el informe por importe minimo - if (FImporteMinimo > 0) then - begin - with ATabla.DynamicWhere do - begin - // (IMPORTE_TOTAL > ImporteMinimo) - Condicion := NewBinaryExpression(NewField('', fld_FacturasCLienteIMPORTE_TOTAL), NewConstant(FImporteMinimo, datCurrency), dboGreaterOrEqual); - if IsEmpty then - Expression := Condicion - else - Expression := NewBinaryExpression(Expression, Condicion, dboAnd); - end; - end; -end; - -procedure TRptFacturasProforma.PrepararTablaInformeGrafComp( - ATabla: TDAMemDataTable); -begin - if ATabla.Active then - ATabla.Active := False; - - DASInformeListadoFacturasGrafComp.DataTable := ATabla; - ATabla.ParamByName('ID_EMPRESA1').AsInteger := FIdEmpresa; - ATabla.ParamByName('ID_EMPRESA2').AsInteger := FIdEmpresa; - ATabla.ParamByName('ANO1').AsVariant := FAno1; - ATabla.ParamByName('ANO2').AsVariant := FAno2; - ATabla.Active := True; -end; - -procedure TRptFacturasProforma.PrepararTablaInformeObjetivos( - ATabla: TDAMemDataTable); -var - Condicion: TDAWhereExpression; - i: Integer; - -begin - if ATabla.Active then - ATabla.Active := False; -{ - if (FAgentesActivos) then - begin - with ATabla.DynamicWhere do - begin - // (SOLO AGENTES ACTIVOS) - Condicion := NewBinaryExpression(NewField('AD', 'FECHA_BAJA'), NewNull(), dboEqual); - - if IsEmpty then - Expression := Condicion - else - Expression := NewBinaryExpression(Expression, Condicion, dboAnd); - end; - end; -} - // Filtrar el informe por agente - if Assigned(FListaIDAgentes) then - begin - with ATabla.DynamicWhere do - begin - for i := 0 to FListaIDAgentes.Count - 1 do - begin - - // (ID_AGENTE = ID) - Condicion := NewBinaryExpression(NewField('SEN', 'ID_AGENTE'), NewConstant(FListaIDAgentes.Items[i], datInteger), dboEqual); - if IsEmpty then - Expression := Condicion - else - Expression := NewBinaryExpression(Expression, Condicion, dboAnd); - end; - end; - end; - - DADSInformeObjetivos.DataTable := ATabla; - ATabla.ParamByName('ID_EMPRESA').AsInteger := FIdEmpresa; - ATabla.ParamByName('ANO1').AsVariant := FAno1; - ATabla.Active := True; -end; - -procedure TRptFacturasProforma.PrepararTablaResumenInforme(ATabla: IDADataset); -var - i: Integer; - AWhereStr : String; - -begin - // Filtrar el informe por empresa - AWhereStr := ' (' + fld_FacturasCLienteID_EMPRESA + ' = ' + IntToStr(FIdEmpresa) + ') '; - - // Filtrar el informe por fechas - if not VarIsNull(FFechaInicio) - and not VarIsNull(FFechaFin) then - begin - if Length(AWhereStr) > 0 then - AWhereStr := AWhereStr + 'AND'; - AWhereStr := AWhereStr + ' (' + fld_FacturasCLienteFECHA_FACTURA + ' between ''' + ReplaceStr(VarToStr(FFechaInicio),'/','.') + ''' and ''' + ReplaceStr(VarToStr(FFechaFin),'/','.') + ''') '; - end; - - // Filtrar el informe por fechas de vencimiento - if not VarIsNull(FFechaVenInicio) - and not VarIsNull(FFechaVenFin) then - begin - if Length(AWhereStr) > 0 then - AWhereStr := AWhereStr + 'AND'; - AWhereStr := AWhereStr + ' (' + fld_FacturasCLienteFECHA_VENCIMIENTO + ' between ''' + ReplaceStr(VarToStr(FFechaVenInicio),'/','.') + ''' and ''' + ReplaceStr(VarToStr(FFechaVenFin),'/','.') + ''') '; - end; - - // Filtrar el informe por proveedor - if Assigned(FListaIDClientes) then - begin - for i := 0 to FListaIDClientes.Count - 1 do - begin - if Length(AWhereStr) > 0 then - AWhereStr := AWhereStr + 'AND'; - AWhereStr := AWhereStr + ' (' + fld_FacturasCLienteID_CLIENTE + ' = ' + IntToStr(FListaIDClientes.Items[i]) + ') '; - end; - end; - - // Filtrar el informe por importe minimo - if (FImporteMinimo > 0) then - begin - if Length(AWhereStr) > 0 then - AWhereStr := AWhereStr + 'AND'; - AWhereStr := AWhereStr + ' (' + fld_FacturasCLienteIMPORTE_TOTAL + ' >= ' + CurrToStr(FImporteMinimo) + ') '; - end; - - ATabla.Where.AddText(AWhereStr); -end; - -procedure TRptFacturasProforma.PrepararTablaResumenInformeGrafComp( - ATabla: TDAMemDataTable); -begin - if ATabla.Active then - ATabla.Active := False; - - ATabla.ParamByName('ID_EMPRESA').AsInteger := FIdEmpresa; - ATabla.ParamByName('ANO').AsVariant := FAno1; - ATabla.ParamByName('ANO2').AsVariant := FAno2; - ATabla.ParamByName('NTOP').AsInteger := FTopN; - ATabla.Active := True; -end; - -procedure TRptFacturasProforma.RecuperarNombresAgentes; -var - AContactosService : IsrvContactos; - Intf : IInterface; - AClientID : TGUID; - - ATableNameArray: StringArray; - ATableRequestInfoArray: TableRequestInfoArray; - ATableRequestInfo: TableRequestInfoV5; - AStream: TMemoryStream; - ADataTable: TDAMemDataTable; - i: Integer; - AWhereBuilder : TDAWhereBuilder; - ACondicion : TDAWhereExpression; -begin - CreateGUID(AClientID); - - GetClassFactory('srvContactos').CreateInstance(AClientID, Intf); - - if Assigned(Intf) then - begin - AContactosService := Intf as IsrvContactos; - - ATableNameArray := StringArray.Create; - ATableRequestInfoArray := TableRequestInfoArray.Create; - AWhereBuilder := TDAWhereBuilder.Create; - try - ATableNameArray.Add('Agentes'); - ATableRequestInfo := TableRequestInfoV5.Create; - - with ATableRequestInfo do - begin - IncludeSchema := True; - MaxRecords := -1; - UserFilter := ''; - - AWhereBuilder.Clear; - with AWhereBuilder do - for i := 0 to FListaIDAgentes.Count - 1 do - begin - ACondicion := NewBinaryExpression( - NewBinaryExpression(NewField('', 'ID'), NewConstant(FListaIDAgentes[i], datInteger), dboEqual), - NewBinaryExpression(NewField('', 'ID_EMPRESA'), NewConstant(FIdEmpresa, datInteger), dboEqual), - dboAnd); - - if not AWhereBuilder.IsEmpty then - Expression := NewBinaryExpression(Expression, ACondicion, dboOr) - else - Expression := ACondicion; - end; - - WhereClause := AWhereBuilder.ExpressionToXmlNode(AWhereBuilder.Expression); - end; - - try - ATableRequestInfoArray.Add(ATableRequestInfo); - AStream := AContactosService.GetData(ATableNameArray, ATableRequestInfoArray); - if Assigned(AStream) then - begin - ADataTable := TDAMemDataTable.Create(nil); - try - ADataTable.Name := 'Agentes'; - ADataTable.LocalDataStreamer := Bin2DataStreamer; - ADataTable.RemoteFetchEnabled := False; - Bin2DataStreamer.ReadDataset(AStream, ADataTable, True); - - ADataTable.Open; - FListaNombresAgentes.Clear; - for i := 0 to ADataTable.RecordCount - 1 do - begin - FListaNombresAgentes.Add(ADataTable.FieldByName('NOMBRE').AsString); - ADataTable.Next; - end; - - finally - FreeANDNil(ADataTable); - end; - end; - except - on e: Exception do - dmServer.EscribirLog(e.Message); - end; - finally - FreeANDNIL(ATableRequestInfoArray); - FreeANDNIL(ATableNameArray); - FreeANDNIL(AWhereBuilder); - end; - end; -end; - -procedure TRptFacturasProforma.RecuperarNombresClientes; -var - AContactosService : IsrvContactos; - Intf : IInterface; - AClientID : TGUID; - - ATableNameArray: StringArray; - ATableRequestInfoArray: TableRequestInfoArray; - ATableRequestInfo: TableRequestInfoV5; - AStream: TMemoryStream; - ADataTable: TDAMemDataTable; - i: Integer; - AWhereBuilder : TDAWhereBuilder; - ACondicion : TDAWhereExpression; -begin - CreateGUID(AClientID); - - GetClassFactory('srvContactos').CreateInstance(AClientID, Intf); - - if Assigned(Intf) then - begin - AContactosService := Intf as IsrvContactos; - - ATableNameArray := StringArray.Create; - ATableRequestInfoArray := TableRequestInfoArray.Create; - AWhereBuilder := TDAWhereBuilder.Create; - try - ATableNameArray.Add('Clientes'); - ATableRequestInfo := TableRequestInfoV5.Create; - - with ATableRequestInfo do - begin - IncludeSchema := True; - MaxRecords := -1; - UserFilter := ''; - - AWhereBuilder.Clear; - with AWhereBuilder do - for i := 0 to FListaIDClientes.Count - 1 do - begin - ACondicion := NewBinaryExpression( - NewBinaryExpression(NewField('', 'ID'), NewConstant(FListaIDClientes[i], datInteger), dboEqual), - NewBinaryExpression(NewField('', 'ID_EMPRESA'), NewConstant(FIdEmpresa, datInteger), dboEqual), - dboAnd); - - if not AWhereBuilder.IsEmpty then - Expression := NewBinaryExpression(Expression, ACondicion, dboOr) - else - Expression := ACondicion; - end; - - WhereClause := AWhereBuilder.ExpressionToXmlNode(AWhereBuilder.Expression); - end; - - try - ATableRequestInfoArray.Add(ATableRequestInfo); - AStream := AContactosService.GetData(ATableNameArray, ATableRequestInfoArray); - if Assigned(AStream) then - begin - ADataTable := TDAMemDataTable.Create(nil); - try - ADataTable.Name := 'Clientes'; - ADataTable.LocalDataStreamer := Bin2DataStreamer; - ADataTable.RemoteFetchEnabled := False; - Bin2DataStreamer.ReadDataset(AStream, ADataTable, True); - - ADataTable.Open; - FListaNombresClientes.Clear; - for i := 0 to ADataTable.RecordCount - 1 do - begin - FListaNombresClientes.Add(ADataTable.FieldByName('NOMBRE').AsString); - ADataTable.Next; - end; - - finally - FreeANDNil(ADataTable); - end; - end; - except - on e: Exception do - dmServer.EscribirLog(e.Message); - end; - finally - FreeANDNIL(ATableRequestInfoArray); - FreeANDNIL(ATableNameArray); - FreeANDNIL(AWhereBuilder); - end; - end; -end; - procedure TRptFacturasProforma._GenerarFactura(const ID: Integer; const VerSello: Boolean = True; const VerCopia: Boolean = True); var AInforme: Variant; @@ -1029,58 +200,22 @@ begin try tbl_Cabecera.Active := False; tbl_Detalles.Active := False; - tbl_Vencimientos.Active := False; tbl_Cabecera.ParamByName('ID').AsInteger := ID; tbl_Detalles.ParamByName('ID_FACTURA').AsInteger := ID; - tbl_Vencimientos.ParamByName('ID_FACTURA').AsInteger := ID; tbl_Cabecera.Active := True; tbl_Detalles.Active := True; - tbl_Vencimientos.Active := True; - AInforme := DarRutaFichero(DarRutaInformes, rptFacturaCliente, tbl_Cabecera.FieldByName('ID_EMPRESA').AsString); + AInforme := DarRutaFichero(DarRutaInformes, rptFacturaProforma, tbl_Cabecera.FieldByName('ID_EMPRESA').AsString); if VarIsNull(AInforme) then - raise Exception.Create (('Error Servidor: _GenerarFactura, no encuentra informe ' + rptFacturaCliente)); + raise Exception.Create (('Error Servidor: _GenerarFactura, no encuentra informe ' + rptFacturaProforma)); frxReport.LoadFromFile(AInforme, True); - -// if VerSello then -// frxReport.Variables.Variables['ShowLogotipo'] := VerSello; -// else -// frxReport.Variables.Variables['ShowLogotipo'] := 0; - //La primera impresion siempre es sin la etiqueta copia -// frxReport.Variables.Variables['VerCopia'] := 0; - frxReport.PrepareReport(False); -// frxReport.PreviewPages.Print; -{ - if VerCopia then - begin - frxReport.Variables.Variables['VerCopia'] := 1; - frxReport.Variables.Variables['VerSello'] := 0; //El sello nunca saldrá en la copia - frxReport.PrepareReport(False); - end; -} finally FConnection.RollbackTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO" end; end; -function TRptFacturasProforma._GenerarInforme(const TipoInforme: String): Binary; -var - AInforme: Variant; -begin - Result := Binary.Create; - AInforme := DarRutaFichero(DarRutaInformes, TipoInforme, IntToStr(FIdEmpresa)); - if VarIsNull(AInforme) then - raise Exception.Create (('Error Servidor: _GenerarInforme, no encuentra informe ' + TipoInforme)); - - frxReport.LoadFromFile(AInforme, True); - IniciarParametrosInforme; - - frxReport.PrepareReport(False); - frxReport.PreviewPages.SaveToStream(Result); -end; - end. diff --git a/Source/Modulos/Facturas proforma/Servidor/srvFacturasProforma_Impl.dfm b/Source/Modulos/Facturas proforma/Servidor/srvFacturasProforma_Impl.dfm index 2d9d423..bc768bb 100644 --- a/Source/Modulos/Facturas proforma/Servidor/srvFacturasProforma_Impl.dfm +++ b/Source/Modulos/Facturas proforma/Servidor/srvFacturasProforma_Impl.dfm @@ -197,8 +197,16 @@ object srvFacturasProforma: TsrvFacturasProforma TableField = 'ID_FACTURA_FINAL' end item - DatasetField = 'REFERENCIA_CLIENTE' - TableField = 'REFERENCIA_CLIENTE' + DatasetField = 'REFERENCIA_PEDIDO_CLIENTE' + TableField = 'REFERENCIA_PEDIDO_CLIENTE' + end + item + DatasetField = 'REFERENCIA_FACTURA_FINAL' + TableField = 'REFERENCIA_FACTURA_FINAL' + end + item + DatasetField = 'REFERENCIA_DEL_CLIENTE' + TableField = 'REFERENCIA_DEL_CLIENTE' end> end> Name = 'FacturasProforma' @@ -392,20 +400,30 @@ object srvFacturasProforma: TsrvFacturasProforma Size = 255 DictionaryEntry = 'FacturasProforma_DATOS_BANCARIOS' end - item - Name = 'REFERENCIA_CLIENTE' - DataType = datString - Size = 255 - end item Name = 'ID_PEDIDO' DataType = datInteger DictionaryEntry = 'FacturasProforma_ID_PEDIDO' end + item + Name = 'REFERENCIA_PEDIDO_CLIENTE' + DataType = datString + Size = 255 + end + item + Name = 'REFERENCIA_DEL_CLIENTE' + DataType = datString + Size = 255 + end item Name = 'ID_FACTURA_FINAL' DataType = datInteger DictionaryEntry = 'FacturasProforma_ID_FACTURA_FINAL' + end + item + Name = 'REFERENCIA_FACTURA_FINAL' + DataType = datString + Size = 255 end> end item @@ -971,12 +989,6 @@ object srvFacturasProforma: TsrvFacturasProforma Size = 255 Value = '' end - item - Name = 'REFERENCIA_CLIENTE' - DataType = datString - Size = 255 - Value = '' - end item Name = 'ID_PEDIDO' DataType = datInteger @@ -1002,18 +1014,18 @@ object srvFacturasProforma: TsrvFacturasProforma 'N,'#10' PROVINCIA,'#10' CODIGO_POSTAL,'#10' FECHA_ALTA,'#10' FECHA_M' + 'ODIFICACION,'#10' USUARIO,'#10' ID_FORMA_PAGO,'#10' RECARGO_EQUIVAL' + 'ENCIA,'#10' ID_TIPO_IVA,'#10' IMPORTE_NETO,'#10' IMPORTE_PORTE,'#10' ' + - ' DATOS_BANCARIOS,'#10' REFERENCIA_CLIENTE,'#10' ID_PEDIDO,'#10' ID_' + - 'FACTURA_FINAL'#10' )'#10' VALUES ('#10' :ID,'#10' :ID_EMPRESA,'#10' :RE' + - 'FERENCIA,'#10' :FECHA_FACTURA,'#10' :FECHA_VENCIMIENTO,'#10' :SITUA' + - 'CION,'#10' :BASE_IMPONIBLE,'#10' :DESCUENTO,'#10' :IMPORTE_DESCUENT' + - 'O,'#10' :DESCRIPCION_DESCUENTO,'#10' :IVA,'#10' :IMPORTE_IVA,'#10' :' + - 'RE,'#10' :IMPORTE_RE,'#10' :IMPORTE_TOTAL,'#10' :OBSERVACIONES,'#10' ' + - ' :ID_CLIENTE,'#10' :NIF_CIF,'#10' :NOMBRE,'#10' :ID_DIRECCION,'#10' ' + - ':CALLE,'#10' :POBLACION,'#10' :PROVINCIA,'#10' :CODIGO_POSTAL,'#10' ' + - ':FECHA_ALTA,'#10' :FECHA_MODIFICACION,'#10' :USUARIO,'#10' :ID_FORM' + - 'A_PAGO,'#10' :RECARGO_EQUIVALENCIA,'#10' :ID_TIPO_IVA,'#10' :IMPORT' + - 'E_NETO,'#10' :IMPORTE_PORTE,'#10' :DATOS_BANCARIOS,'#10' :REFERENCI' + - 'A_CLIENTE,'#10' :ID_PEDIDO,'#10' :ID_FACTURA_FINAL);'#10 + ' DATOS_BANCARIOS,'#10' ID_PEDIDO,'#10' ID_FACTURA_FINAL'#10' )'#10' VA' + + 'LUES ('#10' :ID,'#10' :ID_EMPRESA,'#10' :REFERENCIA,'#10' :FECHA_FAC' + + 'TURA,'#10' :FECHA_VENCIMIENTO,'#10' :SITUACION,'#10' :BASE_IMPONIBL' + + 'E,'#10' :DESCUENTO,'#10' :IMPORTE_DESCUENTO,'#10' :DESCRIPCION_DESC' + + 'UENTO,'#10' :IVA,'#10' :IMPORTE_IVA,'#10' :RE,'#10' :IMPORTE_RE,'#10' ' + + ' :IMPORTE_TOTAL,'#10' :OBSERVACIONES,'#10' :ID_CLIENTE,'#10' :NIF_C' + + 'IF,'#10' :NOMBRE,'#10' :ID_DIRECCION,'#10' :CALLE,'#10' :POBLACION,'#10 + + ' :PROVINCIA,'#10' :CODIGO_POSTAL,'#10' :FECHA_ALTA,'#10' :FECHA_' + + 'MODIFICACION,'#10' :USUARIO,'#10' :ID_FORMA_PAGO,'#10' :RECARGO_EQU' + + 'IVALENCIA,'#10' :ID_TIPO_IVA,'#10' :IMPORTE_NETO,'#10' :IMPORTE_POR' + + 'TE,'#10' :DATOS_BANCARIOS,'#10' :ID_PEDIDO,'#10' :ID_FACTURA_FINAL)' + + ';'#10 StatementType = stSQL ColumnMappings = <> end> @@ -1192,12 +1204,6 @@ object srvFacturasProforma: TsrvFacturasProforma Size = 255 Value = '' end - item - Name = 'REFERENCIA_CLIENTE' - DataType = datString - Size = 255 - Value = '' - end item Name = 'ID_PEDIDO' DataType = datInteger @@ -1233,9 +1239,9 @@ object srvFacturasProforma: TsrvFacturasProforma 'IO = :USUARIO,'#10' ID_FORMA_PAGO = :ID_FORMA_PAGO,'#10' RECARGO_E' + 'QUIVALENCIA = :RECARGO_EQUIVALENCIA,'#10' ID_TIPO_IVA = :ID_TIPO_' + 'IVA,'#10' IMPORTE_NETO = :IMPORTE_NETO,'#10' IMPORTE_PORTE = :IMPO' + - 'RTE_PORTE,'#10' DATOS_BANCARIOS = :DATOS_BANCARIOS,'#10' REFERENCI' + - 'A_CLIENTE = :REFERENCIA_CLIENTE,'#10' ID_PEDIDO = :ID_PEDIDO,'#10' ' + - ' ID_FACTURA_FINAL = :ID_FACTURA_FINAL'#10' WHERE'#10' (ID = :OLD_ID);'#10 + 'RTE_PORTE,'#10' DATOS_BANCARIOS = :DATOS_BANCARIOS,'#10' ID_PEDIDO' + + ' = :ID_PEDIDO,'#10' ID_FACTURA_FINAL = :ID_FACTURA_FINAL'#10' WHERE'#10 + + ' (ID = :OLD_ID);'#10 StatementType = stSQL ColumnMappings = <> end> diff --git a/Source/Modulos/Facturas proforma/Servidor/srvFacturasProforma_Impl.pas b/Source/Modulos/Facturas proforma/Servidor/srvFacturasProforma_Impl.pas index 06097c7..b152afb 100644 --- a/Source/Modulos/Facturas proforma/Servidor/srvFacturasProforma_Impl.pas +++ b/Source/Modulos/Facturas proforma/Servidor/srvFacturasProforma_Impl.pas @@ -46,8 +46,7 @@ implementation uses {Generated:} FactuGES_Invk, Dialogs, uSistemaFunc, uROClasses, uDataModuleServer, uDatabaseUtils, uUsersManager, schFacturasProformaClient_Intf, - uRestriccionesUsuarioUtils, - uBizFacturasProformaServer; //, uRptFacturasProforma_Server; + uRestriccionesUsuarioUtils, uBizFacturasProformaServer, uRptFacturasProforma_Server; procedure Create_srvFacturasProforma(out anInstance : IUnknown); begin @@ -87,31 +86,27 @@ begin end; function TsrvFacturasProforma.GenerarInformeEnPDF(const ListaID: TIntegerArray): Binary; -//var -// AReportGenerator : TRptFacturasProforma; +var + AReportGenerator : TRptFacturasProforma; begin -{ AReportGenerator := TRptFacturasProforma.Create(nil); try Result := AReportGenerator.GenerarFacturaEnPDF(ListaID); finally FreeAndNIL(AReportGenerator); end; -} end; function TsrvFacturasProforma.GenerarInforme(const ListaID: TIntegerArray): Binary; -//var -// AReportGenerator : TRptFacturasProforma; +var + AReportGenerator : TRptFacturasProforma; begin -{ AReportGenerator := TRptFacturasProforma.Create(nil); try Result := AReportGenerator.GenerarFactura(ListaID); finally FreeAndNIL(AReportGenerator); end; - } end; initialization diff --git a/Source/Modulos/Facturas proforma/Views/FacturasProforma_view.dpk b/Source/Modulos/Facturas proforma/Views/FacturasProforma_view.dpk index 9d79649..fedaa7a 100644 --- a/Source/Modulos/Facturas proforma/Views/FacturasProforma_view.dpk +++ b/Source/Modulos/Facturas proforma/Views/FacturasProforma_view.dpk @@ -66,7 +66,8 @@ requires JvCoreD11R, JvSystemD11R, JvPageCompsD11R, - Articulos_view; + Articulos_view, + FacProforma_FacCli_relation; contains uFacturasProformaViewRegister in 'uFacturasProformaViewRegister.pas', diff --git a/Source/Modulos/Facturas proforma/Views/FacturasProforma_view.dproj b/Source/Modulos/Facturas proforma/Views/FacturasProforma_view.dproj index 274e01a..450381f 100644 --- a/Source/Modulos/Facturas proforma/Views/FacturasProforma_view.dproj +++ b/Source/Modulos/Facturas proforma/Views/FacturasProforma_view.dproj @@ -68,6 +68,7 @@ + diff --git a/Source/Modulos/Facturas proforma/Views/uEditorFacturaProforma.dfm b/Source/Modulos/Facturas proforma/Views/uEditorFacturaProforma.dfm index a9d77ca..c3e41ef 100644 --- a/Source/Modulos/Facturas proforma/Views/uEditorFacturaProforma.dfm +++ b/Source/Modulos/Facturas proforma/Views/uEditorFacturaProforma.dfm @@ -240,28 +240,28 @@ inherited fEditorFacturaProforma: TfEditorFacturaProforma ExplicitHeight = 290 inherited ToolBar1: TToolBar Width = 809 - Height = 51 + Height = 46 ExplicitWidth = 809 - ExplicitHeight = 51 + ExplicitHeight = 46 inherited ToolButton3: TToolButton Wrap = False end inherited ToolButton4: TToolButton Left = 278 Top = 0 + Wrap = True ExplicitLeft = 278 ExplicitTop = 0 end - inherited FontName: TJvFontComboBox - Left = 334 - Top = 0 - ExplicitLeft = 334 - ExplicitTop = 0 - end inherited ToolButton14: TToolButton - Left = 479 - Top = 0 - ExplicitLeft = 479 + Left = 0 + Wrap = False + ExplicitLeft = 0 + end + inherited FontName: TJvFontComboBox + Left = 65 + Top = 22 + ExplicitLeft = 399 ExplicitTop = 0 end inherited FontSize: TEdit @@ -286,49 +286,46 @@ inherited fEditorFacturaProforma: TfEditorFacturaProforma ExplicitTop = 0 ExplicitHeight = 27 end - inherited ToolButton11: TToolButton + inherited ToolButton6: TToolButton Left = 0 Top = 27 ExplicitLeft = 0 ExplicitTop = 27 end - inherited ToolButton12: TToolButton - Left = 141 - Top = 27 - Wrap = False - ExplicitLeft = 141 - ExplicitTop = 27 - ExplicitHeight = 22 - end - inherited ToolButton9: TToolButton - Left = 149 - Top = 27 - ExplicitLeft = 149 - ExplicitTop = 27 - end - inherited ToolButton10: TToolButton - Left = 294 - Top = 27 - ExplicitLeft = 294 - ExplicitTop = 27 - end - inherited ToolButton6: TToolButton - Left = 419 - Top = 27 - ExplicitLeft = 419 - ExplicitTop = 27 - end inherited ToolButton7: TToolButton - Left = 485 + Left = 66 Top = 27 - Wrap = False - ExplicitLeft = 485 + ExplicitLeft = 66 ExplicitTop = 27 end inherited ToolButton8: TToolButton - Left = 552 + Left = 133 Top = 27 - ExplicitLeft = 552 + ExplicitLeft = 133 + ExplicitTop = 27 + end + inherited ToolButton12: TToolButton + Left = 216 + Top = 27 + ExplicitLeft = 216 + ExplicitTop = 27 + end + inherited ToolButton9: TToolButton + Left = 224 + Top = 27 + ExplicitLeft = 224 + ExplicitTop = 27 + end + inherited ToolButton10: TToolButton + Left = 369 + Top = 27 + ExplicitLeft = 369 + ExplicitTop = 27 + end + inherited ToolButton11: TToolButton + Left = 494 + Top = 27 + ExplicitLeft = 494 ExplicitTop = 27 end end diff --git a/Source/Modulos/Facturas proforma/Views/uEditorFacturaProforma.pas b/Source/Modulos/Facturas proforma/Views/uEditorFacturaProforma.pas index c70b5f6..547594f 100644 --- a/Source/Modulos/Facturas proforma/Views/uEditorFacturaProforma.pas +++ b/Source/Modulos/Facturas proforma/Views/uEditorFacturaProforma.pas @@ -328,7 +328,7 @@ begin AVerCopia := True; //Preguntamos si desea que en las facturas se vea el Sello - if ElegirOpcionesImpresionFacturaProforma(AVerSello, AVerCopia) then +// if ElegirOpcionesImpresionFacturaProforma(AVerSello, AVerCopia) then FController.Print(FFactura, AllItems, AVerSello, AVerCopia); end; @@ -406,7 +406,7 @@ begin AVerCopia := True; //Preguntamos si desea que en las facturas se vea el Sello - if ElegirOpcionesImpresionFacturaProforma(AVerSello, AVerCopia) then +// if ElegirOpcionesImpresionFacturaProforma(AVerSello, AVerCopia) then FController.Preview(FFactura, AllItems, AVerSello, AVerCopia); end; diff --git a/Source/Modulos/Facturas proforma/Views/uEditorFacturasProforma.dfm b/Source/Modulos/Facturas proforma/Views/uEditorFacturasProforma.dfm index 79f5b7d..ca03869 100644 --- a/Source/Modulos/Facturas proforma/Views/uEditorFacturasProforma.dfm +++ b/Source/Modulos/Facturas proforma/Views/uEditorFacturasProforma.dfm @@ -41,6 +41,7 @@ inherited fEditorFacturasProforma: TfEditorFacturasProforma ExplicitWidth = 842 inherited TBXItem2: TTBXItem Action = actNuevaFactura + ImageIndex = 22 end object TBXItem40: TTBXItem [13] Action = actEnviarEMail @@ -64,7 +65,13 @@ inherited fEditorFacturasProforma: TfEditorFacturasProforma end inherited TBXTMain2: TTBXToolbar Left = 427 + Visible = True ExplicitLeft = 427 + ExplicitWidth = 117 + object TBXItem38: TTBXItem + Action = actGenerarFactura + DisplayMode = nbdmImageAndText + end end end inherited StatusBar: TJvStatusBar @@ -213,6 +220,13 @@ inherited fEditorFacturasProforma: TfEditorFacturasProforma OnExecute = actEnviarEMailExecute OnUpdate = actEnviarEMailUpdate end + object actGenerarFactura: TAction + Category = 'Archivo' + Caption = 'Generar factura' + ImageIndex = 25 + OnExecute = actGenerarFacturaExecute + OnUpdate = actGenerarFacturaUpdate + end end inherited SmallImages: TPngImageList [5] PngImages = < @@ -937,6 +951,25 @@ inherited fEditorFacturasProforma: TfEditorFacturasProforma 064200A70120096201BA0100A6C62916A56F74520000000049454E44AE426082} Name = 'PngImage24' Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 61000000097048597300000B3A00000B3A01647F570D0000015D4944415478DA + 63FCFFFF3F030830323232C0C0CEB58DCA2F6E6CBDF3FEF129B818C30F061490 + 3FFF3F58032336032E9C58FD9F8B47904155DB192EF6FFD72B867F9F2F31FCB9 + E3CA3063061E0380B6DBB373F01CB076CD66606165C7AAB96001923E6403809A + 9979F925FEC8299B32482B18E2D40C16C7614032D08039164EA97017810CF875 + 5E1CAC196F18EC5AD7C40F74FA073DB36006411179B8E6FF3F5F32FCBEA687A2 + 196B18000D681797D6AAD06008852B64D5BA0434E4251833000DFBFBA2087718 + 2CEF76FFFFE1E119865F5FDF81F9B993706BC61906D0589056D7D07F2223CE8D + 53332103DAC5C4A52B749438706AC6170BECACAC6C3FF4547918F8397FE3D48C + 3F1A79F9E7982A7F66F8FBBA16A7669C061CDB35E1BF9CAA1D83C84B23BC9AB1 + 1A008C466BA0F38F5888D632CC9AF907AF66AC065C383AF73FC7B7150C3B97ED + 21A819AB0137CE2CFBBF776E2643CE8C4F0435231B00004A4C11F0D3652A8300 + 00000049454E44AE426082} + Name = 'PngImage25' + Background = clWindow end> Left = 395 Bitmap = {} diff --git a/Source/Modulos/Facturas proforma/Views/uEditorFacturasProforma.pas b/Source/Modulos/Facturas proforma/Views/uEditorFacturasProforma.pas index b32d468..b8f7956 100644 --- a/Source/Modulos/Facturas proforma/Views/uEditorFacturasProforma.pas +++ b/Source/Modulos/Facturas proforma/Views/uEditorFacturasProforma.pas @@ -36,12 +36,16 @@ type Enviarporemail1: TMenuItem; JSInformesDialog: TJSDialog; frViewFacturasProforma1: TfrViewFacturasProforma; + actGenerarFactura: TAction; + TBXItem38: TTBXItem; procedure FormShow(Sender: TObject); procedure actEliminarUpdate(Sender: TObject); procedure actNuevaFacturaExecute(Sender: TObject); procedure actEnviarEMailUpdate(Sender: TObject); procedure actEnviarEMailExecute(Sender: TObject); procedure OnListaAnosChange(Sender: TObject; const Text: string); + procedure actGenerarFacturaExecute(Sender: TObject); + procedure actGenerarFacturaUpdate(Sender: TObject); private FFacturas: IBizFacturaProforma; @@ -75,10 +79,10 @@ implementation uses uDataModuleFacturasProforma, uDataModuleUsuarios, uFactuGES_App, -// uAlbaranesClienteController, uGenerarFacturasCliAlbCliUtils, //uGenerarFacturasCliPreCliUtils, +// uAlbaranesClienteController, //uGenerarFacturasCliPreCliUtils, // uBizAlbaranesCliente, uGestorInformesController, uDialogOpcionesImpresionFacturasProforma, uEditorBase, uGridStatusUtils, - uDBSelectionListUtils, udialogUtils; + uDBSelectionListUtils, udialogUtils, uGenerarFacturasCliFacProformaUtils; {$R *.dfm} @@ -127,6 +131,22 @@ begin (Sender as TAction).Enabled := False; end; +procedure TfEditorFacturasProforma.actGenerarFacturaExecute(Sender: TObject); +begin + GenerarFacturaCliFacProforma(Facturas.ID); + actRefrescar.Execute; +end; + +procedure TfEditorFacturasProforma.actGenerarFacturaUpdate(Sender: TObject); +begin + inherited; + (Sender as TAction).Enabled := HayDatos and + not (ViewGrid.NumSeleccionados > 1) and + ViewGrid.esSeleccionCeldaDatos and + ((FFacturas.ID_FACTURA_FINAL = 0)); + +end; + procedure TfEditorFacturasProforma.actNuevaFacturaExecute(Sender: TObject); begin actNuevo.Execute; diff --git a/Source/Modulos/Facturas proforma/Views/uFacturasProformaViewRegister.pas b/Source/Modulos/Facturas proforma/Views/uFacturasProformaViewRegister.pas index f4c4f60..1efcd98 100644 --- a/Source/Modulos/Facturas proforma/Views/uFacturasProformaViewRegister.pas +++ b/Source/Modulos/Facturas proforma/Views/uFacturasProformaViewRegister.pas @@ -21,7 +21,7 @@ begin EditorRegistry.RegisterClass(TfEditorElegirFacturasProforma, 'EditorElegirFacturasProforma'); EditorRegistry.RegisterClass(TfEditorFacturasProformaPreview, 'EditorFacturasProformaPreview'); EditorRegistry.RegisterClass(TfDialogOpcionesImpresionFacturasProforma, 'DialogOpcionesImpresionFacturasProforma'); - EditorRegistry.RegisterClass(TfDialogListaFacturasProformaEnvioEMail, 'DialogListaFacturasEnvioEMail'); + EditorRegistry.RegisterClass(TfDialogListaFacturasProformaEnvioEMail, 'DialogListaFacturasProformaEnvioEMail'); end; procedure UnregisterViews; diff --git a/Source/Modulos/Facturas proforma/Views/uViewFacturaProforma.dfm b/Source/Modulos/Facturas proforma/Views/uViewFacturaProforma.dfm index 57af1cc..42e777f 100644 --- a/Source/Modulos/Facturas proforma/Views/uViewFacturaProforma.dfm +++ b/Source/Modulos/Facturas proforma/Views/uViewFacturaProforma.dfm @@ -1,6 +1,6 @@ inherited frViewFacturaProforma: TfrViewFacturaProforma - Width = 992 - Height = 644 + Width = 451 + Height = 304 Align = alClient OnCreate = CustomViewCreate OnDestroy = CustomViewDestroy @@ -9,19 +9,17 @@ inherited frViewFacturaProforma: TfrViewFacturaProforma object dxLayoutControl1: TdxLayoutControl Left = 0 Top = 0 - Width = 992 - Height = 644 + Width = 451 + Height = 304 Align = alClient ParentBackground = True TabOrder = 0 TabStop = False AutoContentSizes = [acsWidth, acsHeight] LookAndFeel = dxLayoutOfficeLookAndFeel1 - ExplicitWidth = 451 - ExplicitHeight = 304 DesignSize = ( - 992 - 644) + 451 + 304) object eReferencia: TcxDBTextEdit Left = 124 Top = 30 @@ -132,7 +130,7 @@ inherited frViewFacturaProforma: TfrViewFacturaProforma Width = 269 end object bFormasPago: TButton - Left = 416 + Left = 172 Top = 103 Width = 132 Height = 23 @@ -189,7 +187,7 @@ inherited frViewFacturaProforma: TfrViewFacturaProforma Width = 275 end inline frViewDatosYSeleccionClienteFacturaProforma1: TfrViewDatosYSeleccionClienteFacturaProforma - Left = 587 + Left = 343 Top = 36 Width = 387 Height = 180 @@ -201,14 +199,15 @@ inherited frViewFacturaProforma: TfrViewFacturaProforma ParentFont = False TabOrder = 6 ReadOnly = False - ExplicitLeft = 587 + ExplicitLeft = 343 ExplicitTop = 36 ExplicitWidth = 387 ExplicitHeight = 180 inherited dxLayoutControl1: TdxLayoutControl Width = 387 Height = 180 - ExplicitWidth = 101 + ExplicitWidth = 387 + ExplicitHeight = 180 DesignSize = ( 387 180) @@ -221,20 +220,20 @@ inherited frViewFacturaProforma: TfrViewFacturaProforma Width = 224 end inherited edtNIFCIF: TcxDBTextEdit - Left = 270 + Left = 171 Style.LookAndFeel.SkinName = '' StyleDisabled.LookAndFeel.SkinName = '' StyleFocused.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.SkinName = '' - ExplicitLeft = 270 + ExplicitLeft = 171 end inherited Button3: TBitBtn - Left = 181 - ExplicitLeft = 181 + Left = 82 + ExplicitLeft = 82 end inherited Button4: TButton - Left = 350 - ExplicitLeft = 350 + Left = 251 + ExplicitLeft = 251 end inherited edtDireccion: TcxMemo Style.LookAndFeel.SkinName = '' @@ -307,7 +306,6 @@ inherited frViewFacturaProforma: TfrViewFacturaProforma end object dxLayoutControl1Item3: TdxLayoutItem Caption = 'Cuenta bancaria:' - Visible = False Control = cbCuentaBancaria ControlOptions.ShowBorder = False end diff --git a/Source/Modulos/Facturas proforma/Views/uViewFacturasProforma.dfm b/Source/Modulos/Facturas proforma/Views/uViewFacturasProforma.dfm index 9ff16f2..75da48b 100644 --- a/Source/Modulos/Facturas proforma/Views/uViewFacturasProforma.dfm +++ b/Source/Modulos/Facturas proforma/Views/uViewFacturasProforma.dfm @@ -166,6 +166,27 @@ inherited frViewFacturasProforma: TfrViewFacturasProforma HeaderAlignmentHorz = taRightJustify Width = 128 end + object cxGridViewREFERENCIA_PEDIDO_CLIENTE: TcxGridDBColumn + Caption = 'Ref. Pedido Cliente' + DataBinding.FieldName = 'REFERENCIA_PEDIDO_CLIENTE' + PropertiesClassName = 'TcxTextEditProperties' + Properties.Alignment.Horz = taRightJustify + HeaderAlignmentHorz = taRightJustify + end + object cxGridViewREFERENCIA_DEL_CLIENTE: TcxGridDBColumn + Caption = 'Ref. ped. del cliente' + DataBinding.FieldName = 'REFERENCIA_DEL_CLIENTE' + PropertiesClassName = 'TcxTextEditProperties' + Properties.Alignment.Horz = taRightJustify + HeaderAlignmentHorz = taRightJustify + end + object cxGridViewREFERENCIA_FACTURA_FINAL: TcxGridDBColumn + Caption = 'Ref. factura cliente' + DataBinding.FieldName = 'REFERENCIA_FACTURA_FINAL' + PropertiesClassName = 'TcxTextEditProperties' + Properties.Alignment.Horz = taRightJustify + HeaderAlignmentHorz = taRightJustify + end end inherited cxGridLevel: TcxGridLevel Caption = 'Todas' diff --git a/Source/Modulos/Facturas proforma/Views/uViewFacturasProforma.pas b/Source/Modulos/Facturas proforma/Views/uViewFacturasProforma.pas index 5679a5f..c1d9d8a 100644 --- a/Source/Modulos/Facturas proforma/Views/uViewFacturasProforma.pas +++ b/Source/Modulos/Facturas proforma/Views/uViewFacturasProforma.pas @@ -56,6 +56,9 @@ type cxGridViewFECHA_VENCIMIENTO: TcxGridDBColumn; cxGridViewRE: TcxGridDBColumn; cxGridViewIMPORTE_RE: TcxGridDBColumn; + cxGridViewREFERENCIA_PEDIDO_CLIENTE: TcxGridDBColumn; + cxGridViewREFERENCIA_FACTURA_FINAL: TcxGridDBColumn; + cxGridViewREFERENCIA_DEL_CLIENTE: TcxGridDBColumn; procedure cxGridViewStylesGetContentStyle(Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem; out AStyle: TcxStyle); diff --git a/Source/Modulos/Informe margen por articulo/Data/InfMargenArticulo_data.drc b/Source/Modulos/Informe margen por articulo/Data/InfMargenArticulo_data.drc index 0bd665a..871aebe 100644 --- a/Source/Modulos/Informe margen por articulo/Data/InfMargenArticulo_data.drc +++ b/Source/Modulos/Informe margen por articulo/Data/InfMargenArticulo_data.drc @@ -14,4 +14,4 @@ END /* C:\Codigo\Source\Modulos\Informe margen por articulo\Data\uDataModuleInfMargenArticulo.dfm */ /* C:\Codigo\Source\Modulos\Informe margen por articulo\Data\InfMargenArticulo_data.res */ -/* c:\temp\dtf2FC.tmp */ +/* c:\temp\dtf338.tmp */ diff --git a/Source/Modulos/Informe margen por articulo/Model/InfMargenArticulo_model.drc b/Source/Modulos/Informe margen por articulo/Model/InfMargenArticulo_model.drc index 294db4c..d45cce3 100644 --- a/Source/Modulos/Informe margen por articulo/Model/InfMargenArticulo_model.drc +++ b/Source/Modulos/Informe margen por articulo/Model/InfMargenArticulo_model.drc @@ -13,4 +13,4 @@ BEGIN END /* C:\Codigo\Source\Modulos\Informe margen por articulo\Model\InfMargenArticulo_model.res */ -/* c:\temp\dtf2FA.tmp */ +/* c:\temp\dtf336.tmp */ diff --git a/Source/Modulos/Informe margen por articulo/Views/InfMargenArticulo_view.drc b/Source/Modulos/Informe margen por articulo/Views/InfMargenArticulo_view.drc index 6319fcd..7023121 100644 --- a/Source/Modulos/Informe margen por articulo/Views/InfMargenArticulo_view.drc +++ b/Source/Modulos/Informe margen por articulo/Views/InfMargenArticulo_view.drc @@ -16,4 +16,4 @@ END /* C:\Codigo\Source\Modulos\Informe margen por articulo\Views\uViewInfMargenArticulo.dfm */ /* C:\Codigo\Source\Modulos\Informe margen por articulo\Views\uEditorInfMargenArticulo.dfm */ /* C:\Codigo\Source\Modulos\Informe margen por articulo\Views\InfMargenArticulo_view.res */ -/* c:\temp\dtf300.tmp */ +/* c:\temp\dtf33C.tmp */ diff --git a/Source/Modulos/Informe ventas por articulo/Data/InfVentasArticulo_data.drc b/Source/Modulos/Informe ventas por articulo/Data/InfVentasArticulo_data.drc index 9eaf364..513362d 100644 --- a/Source/Modulos/Informe ventas por articulo/Data/InfVentasArticulo_data.drc +++ b/Source/Modulos/Informe ventas por articulo/Data/InfVentasArticulo_data.drc @@ -14,4 +14,4 @@ END /* C:\Codigo\Source\Modulos\Informe ventas por articulo\Data\uDataModuleInfVentasArticulo.dfm */ /* C:\Codigo\Source\Modulos\Informe ventas por articulo\Data\InfVentasArticulo_data.res */ -/* c:\temp\dtf2F2.tmp */ +/* c:\temp\dtf32E.tmp */ diff --git a/Source/Modulos/Informe ventas por articulo/Model/InfVentasArticulo_model.drc b/Source/Modulos/Informe ventas por articulo/Model/InfVentasArticulo_model.drc index 3abab03..d0e4bff 100644 --- a/Source/Modulos/Informe ventas por articulo/Model/InfVentasArticulo_model.drc +++ b/Source/Modulos/Informe ventas por articulo/Model/InfVentasArticulo_model.drc @@ -13,4 +13,4 @@ BEGIN END /* C:\Codigo\Source\Modulos\Informe ventas por articulo\Model\InfVentasArticulo_model.res */ -/* c:\temp\dtf2F0.tmp */ +/* c:\temp\dtf32C.tmp */ diff --git a/Source/Modulos/Informe ventas por articulo/Views/InfVentasArticulo_view.drc b/Source/Modulos/Informe ventas por articulo/Views/InfVentasArticulo_view.drc index 36b825a..4736e0b 100644 --- a/Source/Modulos/Informe ventas por articulo/Views/InfVentasArticulo_view.drc +++ b/Source/Modulos/Informe ventas por articulo/Views/InfVentasArticulo_view.drc @@ -19,4 +19,4 @@ END /* C:\Codigo\Source\Modulos\Informe ventas por articulo\Views\uViewInfVentasAlbArticulo.dfm */ /* C:\Codigo\Source\Modulos\Informe ventas por articulo\Views\uEditorInfVentasAlbArticulo.dfm */ /* C:\Codigo\Source\Modulos\Informe ventas por articulo\Views\InfVentasArticulo_view.res */ -/* c:\temp\dtf2F6.tmp */ +/* c:\temp\dtf332.tmp */ diff --git a/Source/Modulos/Informes base/Controller/InformesBase_controller.drc b/Source/Modulos/Informes base/Controller/InformesBase_controller.drc index 0c42196..4082db0 100644 --- a/Source/Modulos/Informes base/Controller/InformesBase_controller.drc +++ b/Source/Modulos/Informes base/Controller/InformesBase_controller.drc @@ -13,4 +13,4 @@ BEGIN END /* C:\Codigo\Source\Modulos\Informes base\Controller\InformesBase_controller.res */ -/* c:\temp\dtf2E6.tmp */ +/* c:\temp\dtf322.tmp */ diff --git a/Source/Modulos/Informes base/Data/Informes_data.drc b/Source/Modulos/Informes base/Data/Informes_data.drc index 840d78b..c881353 100644 --- a/Source/Modulos/Informes base/Data/Informes_data.drc +++ b/Source/Modulos/Informes base/Data/Informes_data.drc @@ -14,4 +14,4 @@ END /* C:\Codigo\Source\Modulos\Informes base\Data\uDataModuleInformes.dfm */ /* C:\Codigo\Source\Modulos\Informes base\Data\Informes_data.res */ -/* c:\temp\dtf2E0.tmp */ +/* c:\temp\dtf31E.tmp */ diff --git a/Source/Modulos/Informes base/Model/Informes_model.drc b/Source/Modulos/Informes base/Model/Informes_model.drc index 409682f..d7ff84c 100644 --- a/Source/Modulos/Informes base/Model/Informes_model.drc +++ b/Source/Modulos/Informes base/Model/Informes_model.drc @@ -13,4 +13,4 @@ BEGIN END /* C:\Codigo\Source\Modulos\Informes base\Model\Informes_model.res */ -/* c:\temp\dtf2DE.tmp */ +/* c:\temp\dtf31C.tmp */ diff --git a/Source/Modulos/Informes base/Views/Informes_view.drc b/Source/Modulos/Informes base/Views/Informes_view.drc index cf7298a..37c9888 100644 --- a/Source/Modulos/Informes base/Views/Informes_view.drc +++ b/Source/Modulos/Informes base/Views/Informes_view.drc @@ -15,4 +15,4 @@ END /* C:\Codigo\Source\Modulos\Informes base\Views\uViewInformes.dfm */ /* C:\Codigo\Source\Modulos\Informes base\Views\uEditorInformes.dfm */ /* C:\Codigo\Source\Modulos\Informes base\Views\Informes_view.res */ -/* c:\temp\dtf2EA.tmp */ +/* c:\temp\dtf326.tmp */ diff --git a/Source/Modulos/Pedidos de cliente/Controller/PedidosCliente_controller.drc b/Source/Modulos/Pedidos de cliente/Controller/PedidosCliente_controller.drc index 7d42f8f..d0f037c 100644 --- a/Source/Modulos/Pedidos de cliente/Controller/PedidosCliente_controller.drc +++ b/Source/Modulos/Pedidos de cliente/Controller/PedidosCliente_controller.drc @@ -13,4 +13,4 @@ BEGIN END /* C:\Codigo\Source\Modulos\Pedidos de cliente\Controller\PedidosCliente_controller.RES */ -/* c:\temp\dtf37A.tmp */ +/* c:\temp\dtf3B6.tmp */ diff --git a/Source/Modulos/Pedidos de cliente/Data/PedidosCliente_data.drc b/Source/Modulos/Pedidos de cliente/Data/PedidosCliente_data.drc index 6b49c8d..0a9ae72 100644 --- a/Source/Modulos/Pedidos de cliente/Data/PedidosCliente_data.drc +++ b/Source/Modulos/Pedidos de cliente/Data/PedidosCliente_data.drc @@ -14,4 +14,4 @@ END /* C:\Codigo\Source\Modulos\Pedidos de cliente\Data\uDataModulePedidosCliente.dfm */ /* C:\Codigo\Source\Modulos\Pedidos de cliente\Data\PedidosCliente_data.RES */ -/* c:\temp\dtf324.tmp */ +/* c:\temp\dtf360.tmp */ diff --git a/Source/Modulos/Pedidos de cliente/Model/PedidosCliente_model.drc b/Source/Modulos/Pedidos de cliente/Model/PedidosCliente_model.drc index b817d79..b528fbb 100644 --- a/Source/Modulos/Pedidos de cliente/Model/PedidosCliente_model.drc +++ b/Source/Modulos/Pedidos de cliente/Model/PedidosCliente_model.drc @@ -13,4 +13,4 @@ BEGIN END /* C:\Codigo\Source\Modulos\Pedidos de cliente\Model\PedidosCliente_model.RES */ -/* c:\temp\dtf322.tmp */ +/* c:\temp\dtf35E.tmp */ diff --git a/Source/Modulos/Pedidos de cliente/PedidosCliente_Group.groupproj b/Source/Modulos/Pedidos de cliente/PedidosCliente_Group.groupproj index cc7d104..576ac24 100644 --- a/Source/Modulos/Pedidos de cliente/PedidosCliente_Group.groupproj +++ b/Source/Modulos/Pedidos de cliente/PedidosCliente_Group.groupproj @@ -23,6 +23,7 @@ + @@ -34,6 +35,7 @@ + @@ -381,14 +383,32 @@ + + + + + + + + + + + + + + + + + + - + - + - + \ No newline at end of file diff --git a/Source/Modulos/Pedidos de cliente/Plugin/PedidosCliente_plugin.drc b/Source/Modulos/Pedidos de cliente/Plugin/PedidosCliente_plugin.drc index 6f635e7..1e3900b 100644 --- a/Source/Modulos/Pedidos de cliente/Plugin/PedidosCliente_plugin.drc +++ b/Source/Modulos/Pedidos de cliente/Plugin/PedidosCliente_plugin.drc @@ -14,4 +14,4 @@ END /* C:\Codigo\Source\Modulos\Pedidos de cliente\Plugin\uPluginPedidosCliente.dfm */ /* C:\Codigo\Source\Modulos\Pedidos de cliente\Plugin\PedidosCliente_plugin.RES */ -/* c:\temp\dtf394.tmp */ +/* c:\temp\dtf3D4.tmp */ diff --git a/Source/Modulos/Pedidos de cliente/Views/PedidosCliente_view.dpk b/Source/Modulos/Pedidos de cliente/Views/PedidosCliente_view.dpk index 544eb11..c29b3a1 100644 --- a/Source/Modulos/Pedidos de cliente/Views/PedidosCliente_view.dpk +++ b/Source/Modulos/Pedidos de cliente/Views/PedidosCliente_view.dpk @@ -85,7 +85,8 @@ requires Almacenes_model, Almacenes_controller, PedCli_PedProv_relation, - PedidosProveedor_model; + PedidosProveedor_model, + PedCli_FacProforma_relation; contains uPedidosClienteViewRegister in 'uPedidosClienteViewRegister.pas', diff --git a/Source/Modulos/Pedidos de cliente/Views/PedidosCliente_view.dproj b/Source/Modulos/Pedidos de cliente/Views/PedidosCliente_view.dproj index aaed076..8d1566a 100644 --- a/Source/Modulos/Pedidos de cliente/Views/PedidosCliente_view.dproj +++ b/Source/Modulos/Pedidos de cliente/Views/PedidosCliente_view.dproj @@ -49,67 +49,68 @@ MainSource - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
frDialogListaPedidosClienteEnvioEMail
T @@ -118,10 +119,6 @@
fDialogOpcionesImpresionPedidosCliente
TfEditorPedidosProveedor
- - TfEditorPedidosProveedor -
fDialogOpcionesProcesoPedidoCliente
-
frEditorDireccionEntregaPedidoCliente
TForm diff --git a/Source/Modulos/Pedidos de cliente/Views/PedidosCliente_view.drc b/Source/Modulos/Pedidos de cliente/Views/PedidosCliente_view.drc index 5d4d06d..2ab33c5 100644 --- a/Source/Modulos/Pedidos de cliente/Views/PedidosCliente_view.drc +++ b/Source/Modulos/Pedidos de cliente/Views/PedidosCliente_view.drc @@ -26,4 +26,4 @@ END /* C:\Codigo\Source\Modulos\Pedidos de cliente\Views\uEditorElegirArticulosPedidoCliente.dfm */ /* C:\Codigo\Source\Modulos\Pedidos de cliente\Views\uEditorDireccionEntregaPedidoCliente.dfm */ /* C:\Codigo\Source\Modulos\Pedidos de cliente\Views\PedidosCliente_view.RES */ -/* c:\temp\dtf392.tmp */ +/* c:\temp\dtf3D2.tmp */ diff --git a/Source/Modulos/Pedidos de cliente/Views/uEditorPedidosCliente.dfm b/Source/Modulos/Pedidos de cliente/Views/uEditorPedidosCliente.dfm index 3d94d84..9c660c4 100644 --- a/Source/Modulos/Pedidos de cliente/Views/uEditorPedidosCliente.dfm +++ b/Source/Modulos/Pedidos de cliente/Views/uEditorPedidosCliente.dfm @@ -2,17 +2,17 @@ inherited fEditorPedidosCliente: TfEditorPedidosCliente Left = 411 Top = 346 Caption = 'Lista de pedidos de cliente' - ClientWidth = 700 + ClientWidth = 956 Position = poDesigned - ExplicitWidth = 708 + ExplicitWidth = 964 PixelsPerInch = 96 TextHeight = 13 inherited JvNavPanelHeader: TJvNavPanelHeader - Width = 700 + Width = 956 Caption = 'Lista de pedidos de cliente' ExplicitWidth = 700 inherited Image1: TImage - Left = 673 + Left = 929 Picture.Data = { 0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000001800 0000180806000000E0773DF80000000970485973000017120000171201679FD2 @@ -41,10 +41,10 @@ inherited fEditorPedidosCliente: TfEditorPedidosCliente end end inherited TBXDock: TTBXDock - Width = 700 + Width = 956 ExplicitWidth = 700 inherited tbxMain: TTBXToolbar - ExplicitWidth = 700 + ExplicitWidth = 877 object TBXItem40: TTBXItem [13] Action = actEnviarEMail end @@ -62,21 +62,35 @@ inherited fEditorPedidosCliente: TfEditorPedidosCliente end end inherited tbxMenu: TTBXToolbar - ExplicitWidth = 700 + ExplicitWidth = 956 end inherited TBXTMain2: TTBXToolbar Left = 427 Visible = True ExplicitLeft = 427 - ExplicitWidth = 209 - object TBXItem39: TTBXItem - Action = actGenerar + ExplicitWidth = 529 + object TBXItem43: TTBXItem + Action = actGenerarPedidoProv + DisplayMode = nbdmImageAndText + Images = SmallImages + end + object TBXItem44: TTBXItem + Action = actGenerarAlbaranCli + DisplayMode = nbdmImageAndText + Images = SmallImages + end + object TBXItem45: TTBXItem + Action = actGenerarFacturaProforma DisplayMode = nbdmImageAndText end object TBXItem42: TTBXItem Action = actVerProcesoCompleto DisplayMode = nbdmImageAndText end + object TBXItem39: TTBXItem + Action = actGenerar + DisplayMode = nbdmImageAndText + end object TBXItem38: TTBXItem Action = actFacturarPedido DisplayMode = nbdmImageAndText @@ -87,13 +101,13 @@ inherited fEditorPedidosCliente: TfEditorPedidosCliente end end inherited StatusBar: TJvStatusBar - Width = 700 + Width = 956 ExplicitWidth = 700 end inline frViewPedidosCliente1: TfrViewPedidosCliente [3] Left = 0 Top = 102 - Width = 700 + Width = 956 Height = 383 Align = alClient Font.Charset = DEFAULT_CHARSET @@ -108,7 +122,7 @@ inherited fEditorPedidosCliente: TfEditorPedidosCliente ExplicitWidth = 700 ExplicitHeight = 383 inherited cxGrid: TcxGrid - Width = 700 + Width = 956 Height = 255 ExplicitWidth = 700 ExplicitHeight = 255 @@ -140,12 +154,12 @@ inherited fEditorPedidosCliente: TfEditorPedidosCliente end end inherited frViewFiltroBase1: TfrViewFiltroBase - Width = 700 + Width = 956 ExplicitWidth = 700 inherited TBXDockablePanel1: TTBXDockablePanel ExplicitWidth = 700 inherited dxLayoutControl1: TdxLayoutControl - Width = 700 + Width = 956 ExplicitWidth = 700 inherited txtFiltroTodo: TcxTextEdit Style.LookAndFeel.SkinName = '' @@ -164,31 +178,31 @@ inherited fEditorPedidosCliente: TfEditorPedidosCliente Width = 243 end inherited edtFechaFinFiltro: TcxDateEdit - Left = 244 + Left = 327 Style.LookAndFeel.SkinName = '' StyleDisabled.LookAndFeel.SkinName = '' StyleFocused.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.SkinName = '' - ExplicitLeft = 244 + ExplicitLeft = 327 ExplicitWidth = 482 Width = 482 end inherited eLista: TcxComboBox - Left = 605 + Left = 816 Style.LookAndFeel.SkinName = '' StyleDisabled.LookAndFeel.SkinName = '' StyleFocused.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.SkinName = '' - ExplicitLeft = 605 + ExplicitLeft = 816 ExplicitWidth = 140 Width = 140 end end inherited TBXAlignmentPanel1: TTBXAlignmentPanel - Width = 700 + Width = 956 ExplicitWidth = 700 inherited tbxBotones: TTBXToolbar - Width = 690 + Width = 946 ExplicitWidth = 690 end end @@ -199,10 +213,10 @@ inherited fEditorPedidosCliente: TfEditorPedidosCliente ExplicitTop = 357 ExplicitWidth = 700 inherited TBXAlignmentPanel1: TTBXAlignmentPanel - Width = 700 + Width = 956 ExplicitWidth = 700 inherited TBXToolbar1: TTBXToolbar - Width = 690 + Width = 946 ExplicitWidth = 690 end end @@ -266,18 +280,23 @@ inherited fEditorPedidosCliente: TfEditorPedidosCliente Category = 'Acciones' Caption = 'Generar' ImageIndex = 23 + Visible = False OnExecute = actGenerarExecute OnUpdate = actGenerarUpdate end object actGenerarAlbaranCli: TAction Category = 'Acciones' Caption = 'Generar albar'#225'n de cliente' + ImageIndex = 23 OnExecute = actGenerarAlbaranCliExecute + OnUpdate = actGenerarAlbaranCliUpdate end object actGenerarPedidoProv: TAction Category = 'Acciones' Caption = 'Generar pedido a proveedor' + ImageIndex = 23 OnExecute = actGenerarPedidoProvExecute + OnUpdate = actGenerarPedidoProvUpdate end object actVerProcesoCompleto: TAction Category = 'Acciones' @@ -285,6 +304,12 @@ inherited fEditorPedidosCliente: TfEditorPedidosCliente ImageIndex = 2 OnExecute = actVerProcesoCompletoExecute end + object actGenerarFacturaProforma: TAction + Category = 'Acciones' + Caption = 'Generar factura proforma' + ImageIndex = 23 + OnExecute = actGenerarFacturaProformaExecute + end end inherited SmallImages: TPngImageList [5] PngImages = < diff --git a/Source/Modulos/Pedidos de cliente/Views/uEditorPedidosCliente.pas b/Source/Modulos/Pedidos de cliente/Views/uEditorPedidosCliente.pas index e1fc081..45a5d6f 100644 --- a/Source/Modulos/Pedidos de cliente/Views/uEditorPedidosCliente.pas +++ b/Source/Modulos/Pedidos de cliente/Views/uEditorPedidosCliente.pas @@ -38,6 +38,10 @@ type actGenerarPedidoProv: TAction; actVerProcesoCompleto: TAction; TBXItem42: TTBXItem; + TBXItem43: TTBXItem; + TBXItem44: TTBXItem; + actGenerarFacturaProforma: TAction; + TBXItem45: TTBXItem; procedure FormShow(Sender: TObject); procedure actCambiarSituacionExecute(Sender: TObject); procedure actRecibirPedidoUpdate(Sender: TObject); @@ -54,6 +58,9 @@ type procedure actGenerarAlbaranCliExecute(Sender: TObject); procedure actGenerarPedidoProvExecute(Sender: TObject); procedure actVerProcesoCompletoExecute(Sender: TObject); + procedure actGenerarAlbaranCliUpdate(Sender: TObject); + procedure actGenerarPedidoProvUpdate(Sender: TObject); + procedure actGenerarFacturaProformaExecute(Sender: TObject); protected FPedidos: IBizPedidoCliente; @@ -86,7 +93,7 @@ implementation uses uDataModulePedidosCliente, uDataModuleUsuarios, uFactuGES_App, uEditorDBBase, -// uGenerarFacturasProvPedUtils, + uGenerarFacturasProformaUtils, // uInventarioController, uBizInventario, uDialogUtils, uGridStatusUtils, uDBSelectionListUtils, cxControls, uDialogOpcionesImpresionPedidosCliente, @@ -178,6 +185,15 @@ begin GenerarAlbaranCli(FPedidos.ID, IDAlbaranAux); end; +procedure TfEditorPedidosCliente.actGenerarAlbaranCliUpdate(Sender: TObject); +begin + inherited; + (Sender as TAction).Enabled := HayDatos and + not (ViewGrid.NumSeleccionados > 1) and + ViewGrid.esSeleccionCeldaDatos and + ((FPedidos.SITUACION <> SITUACION_PEDIDO_SERVIDO) and (FPedidos.SITUACION <> SITUACION_PEDIDO_ALBARANADO)); +end; + procedure TfEditorPedidosCliente.actGenerarExecute(Sender: TObject); var Respuesta : Integer; @@ -202,12 +218,27 @@ begin end; +procedure TfEditorPedidosCliente.actGenerarFacturaProformaExecute(Sender: TObject); +begin + inherited; + GenerarFacturaProforma(FPedidos.ID); +end; + procedure TfEditorPedidosCliente.actGenerarPedidoProvExecute(Sender: TObject); begin inherited; GenerarPedidosProv(FPedidos); end; +procedure TfEditorPedidosCliente.actGenerarPedidoProvUpdate(Sender: TObject); +begin + inherited; + (Sender as TAction).Enabled := HayDatos and + not (ViewGrid.NumSeleccionados > 1) and + ViewGrid.esSeleccionCeldaDatos and + ((FPedidos.SITUACION <> SITUACION_PEDIDO_SERVIDO) and (FPedidos.SITUACION <> SITUACION_PEDIDO_ALBARANADO)); +end; + procedure TfEditorPedidosCliente.actGenerarUpdate(Sender: TObject); begin inherited; diff --git a/Source/Modulos/ProcesoPresupuestoCliente/Controller/ProcesoPresupuestosCliente_controller.dpk b/Source/Modulos/ProcesoPresupuestoCliente/Controller/ProcesoPresupuestosCliente_controller.dpk index 4dcb4b3b3e300a2ab98c7b76ab1c77ecda360a69..5986f84f089e58dca7146aa8d22286fba35b31a3 100644 GIT binary patch delta 43 ucmey$v4L~L8fH-)UM>X%x5VU<(xSxTfTH}g{G!~%$%4$%tPs{R=JNnR4G$Cm delta 11 TcmdnM`ITeC8s^E*nNI=$ABhEA diff --git a/Source/Modulos/ProcesoPresupuestoCliente/Controller/ProcesoPresupuestosCliente_controller.dproj b/Source/Modulos/ProcesoPresupuestoCliente/Controller/ProcesoPresupuestosCliente_controller.dproj index bf3775c..bdfc45f 100644 --- a/Source/Modulos/ProcesoPresupuestoCliente/Controller/ProcesoPresupuestosCliente_controller.dproj +++ b/Source/Modulos/ProcesoPresupuestoCliente/Controller/ProcesoPresupuestosCliente_controller.dproj @@ -57,6 +57,8 @@ + + diff --git a/Source/Modulos/ProcesoPresupuestoCliente/Controller/ProcesoPresupuestosCliente_controller.drc b/Source/Modulos/ProcesoPresupuestoCliente/Controller/ProcesoPresupuestosCliente_controller.drc index ff104c3..e945240 100644 --- a/Source/Modulos/ProcesoPresupuestoCliente/Controller/ProcesoPresupuestosCliente_controller.drc +++ b/Source/Modulos/ProcesoPresupuestoCliente/Controller/ProcesoPresupuestosCliente_controller.drc @@ -12,5 +12,5 @@ STRINGTABLE BEGIN END -/* C:\Codigo\Source\Modulos\ProcesoPresupuestoCliente\Controller\ProcesoPresupuestosCliente_controller.RES */ -/* c:\temp\dtf3C8.tmp */ +/* C:\Codigo\Source\Modulos\ProcesoPresupuestoCliente\Controller\ProcesoPresupuestosCliente_controller.res */ +/* C:\Codigo\Source\Modulos\ProcesoPresupuestoCliente\Controller\ProcesoPresupuestosCliente_controller.drf */ diff --git a/Source/Modulos/ProcesoPresupuestoCliente/Controller/View/uIEditorProcesoPresupuestosCliente.pas b/Source/Modulos/ProcesoPresupuestoCliente/Controller/View/uIEditorProcesoPresupuestosCliente.pas index 3cd0327..f087192 100644 --- a/Source/Modulos/ProcesoPresupuestoCliente/Controller/View/uIEditorProcesoPresupuestosCliente.pas +++ b/Source/Modulos/ProcesoPresupuestoCliente/Controller/View/uIEditorProcesoPresupuestosCliente.pas @@ -4,7 +4,7 @@ interface uses uEditorDBItem, uBizPedidosCliente, uBizPedidosProveedor, uBizAlbaranesProveedor, - uBizFacturasProveedor, uBizAlbaranesCliente, uBizFacturasCliente; + uBizFacturasProveedor, uBizAlbaranesCliente, uBizFacturasCliente, uBizFacturasProforma; type IEditorProcesoPresupuestosCliente = interface(IEditorDBItem) @@ -34,6 +34,10 @@ type procedure SetFacturasCliente(const Value: IBizFacturaCliente); property FacturasCliente: IBizFacturaCliente read GetFacturasCliente write SetFacturasCliente; + function GetFacturasProforma: IBizFacturaProforma; + procedure SetFacturasProforma(const Value: IBizFacturaProforma); + property FacturasProforma: IBizFacturaProforma read GetFacturasProforma write SetFacturasProforma; + end; implementation diff --git a/Source/Modulos/ProcesoPresupuestoCliente/Controller/uProcesoPresupuestosClienteController.pas b/Source/Modulos/ProcesoPresupuestoCliente/Controller/uProcesoPresupuestosClienteController.pas index 6ff94b4..ea6381a 100644 --- a/Source/Modulos/ProcesoPresupuestoCliente/Controller/uProcesoPresupuestosClienteController.pas +++ b/Source/Modulos/ProcesoPresupuestoCliente/Controller/uProcesoPresupuestosClienteController.pas @@ -11,7 +11,8 @@ uses uBizAlbaranesProveedor, uAlbaranesProveedorController, uBizFacturasProveedor, uFacturasProveedorController, uBizAlbaranesCliente, uAlbaranesClienteController, - uBizFacturasCliente, uFacturasClienteController; + uBizFacturasCliente, uFacturasClienteController, + uBizFacturasProforma, uFacturasProformaController; type IProcesoPresupuestosClienteController = interface(IControllerBase) @@ -27,6 +28,7 @@ type FFacturasProveedorController : IFacturasProveedorController; FAlbaranesClienteController : IAlbaranesClienteController; FFacturasClienteController : IFacturasClienteController; + FFacturasProformaController : IFacturasProformaController; public constructor Create; override; @@ -38,6 +40,7 @@ type function BuscarFacturasProveedor(AAlbaranesProveedor: IBizAlbaranProveedor): IBizFacturaProveedor; function BuscarAlbaranesCliente(APedidosCliente: IBizPedidoCliente): IBizAlbaranCliente; function BuscarFacturasCliente(AAlbaranesCliente: IBizAlbaranCliente): IBizFacturaCliente; + function BuscarFacturasProforma(APedidosCliente: IBizPedidoCliente): IBizFacturaProforma; procedure VerProceso(const ListaIDPresupuestosCliente: TIntegerArray); end; @@ -61,6 +64,7 @@ begin FFacturasProveedorController := TFacturasProveedorController.Create; FAlbaranesClienteController := TAlbaranesClienteController.Create; FFacturasClienteController := TFacturasClienteController.Create; + FFacturasProformaController := TFacturasProformaController.Create; end; destructor TProcesoPresupuestosClienteController.Destroy; @@ -71,6 +75,7 @@ begin FFacturasProveedorController := Nil; FAlbaranesClienteController := Nil; FFacturasClienteController := Nil; + FFacturasProformaController := Nil; inherited; end; @@ -205,6 +210,46 @@ begin end; end; +function TProcesoPresupuestosClienteController.BuscarFacturasProforma(APedidosCliente: IBizPedidoCliente): IBizFacturaProforma; +var + Condicion: TDAWhereExpression; + AArrayIdPedidosCli : Array of TDAWhereExpression; + i: Integer; + +begin + Result := FFacturasProformaController.BuscarTodos; + //Quitamos el filtro por empresa ya que no es necesario y complicaría where que hacemos a continuación, además de que puede darse el caso de haber dado de alta un pedido de proveedor con otra empresa? + Result.DataTable.DynamicWhere.Clear; + + if Assigned(Result) then + begin + //Vamos generando todos los where necesarios para cada uno de los ID de Pedido de proveedor que buscamos + // Filtrar los Presupuestos pendientes de recepcion + with Result.DataTable.DynamicWhere do + begin + APedidosCliente.Open; + SetLength(AArrayIdPedidosCli, APedidosCliente.RecordCount); + APedidosCliente.First; + i:=0; + while not APedidosCliente.EOF do + begin + AArrayIdPedidosCli[i] := NewConstant(APedidosCliente.ID, datInteger); + Inc(i); + APedidosCliente.Next; + end; + + // (ID_PEDIDO in lista IDs) (SIEMPRE HAY AL MENOS UNO) + Condicion := NewBinaryExpression(NewField('', 'ID_PEDIDO'), NewList(AArrayIdPedidosCli), dboIn); + if IsEmpty then + Expression := Condicion + else + Expression := NewBinaryExpression(Expression, Condicion, dboAnd); + + APedidosCliente.Close; + end; + end; +end; + function TProcesoPresupuestosClienteController.BuscarFacturasProveedor(AAlbaranesProveedor: IBizAlbaranProveedor): IBizFacturaProveedor; var Condicion: TDAWhereExpression; @@ -324,6 +369,7 @@ var AFacturasProveedor: IBizFacturaProveedor; AAlbaranesCliente: IBizAlbaranCliente; AFacturasCliente: IBizFacturaCliente; + AFacturasProforma: IBizFacturaProforma; begin AEditor := NIL; @@ -334,6 +380,7 @@ begin AFacturasProveedor := BuscarFacturasProveedor(AAlbaranesProveedor); AAlbaranesCliente := BuscarAlbaranesCliente(APedidosCliente); AFacturasCliente := BuscarFacturasCliente(AAlbaranesCliente); + AFacturasProforma := BuscarFacturasProforma(APedidosCliente); CreateEditor('EditorProcesoPresupuestosCLiente', IEditorProcesoPresupuestosCliente, AEditor); if Assigned(AEditor) then @@ -345,6 +392,7 @@ begin AEditor.FacturasProveedor := AFacturasProveedor; AEditor.AlbaranesCliente := AAlbaranesCliente; AEditor.FacturasCliente := AFacturasCliente; + AEditor.FacturasProforma := AFacturasProforma; AEditor.ShowModal; finally AEditor.Release; diff --git a/Source/Modulos/ProcesoPresupuestoCliente/Plugin/ProcesoPresupuestosCliente_plugin.drc b/Source/Modulos/ProcesoPresupuestoCliente/Plugin/ProcesoPresupuestosCliente_plugin.drc index b7c5fef..a1bdde4 100644 --- a/Source/Modulos/ProcesoPresupuestoCliente/Plugin/ProcesoPresupuestosCliente_plugin.drc +++ b/Source/Modulos/ProcesoPresupuestoCliente/Plugin/ProcesoPresupuestosCliente_plugin.drc @@ -13,5 +13,5 @@ BEGIN END /* C:\Codigo\Source\Modulos\ProcesoPresupuestoCliente\Plugin\uPluginProcesoPresupuestosCliente.dfm */ -/* C:\Codigo\Source\Modulos\ProcesoPresupuestoCliente\Plugin\ProcesoPresupuestosCliente_plugin.RES */ -/* c:\temp\dtf3CC.tmp */ +/* C:\Codigo\Source\Modulos\ProcesoPresupuestoCliente\Plugin\ProcesoPresupuestosCliente_plugin.res */ +/* C:\Codigo\Source\Modulos\ProcesoPresupuestoCliente\Plugin\ProcesoPresupuestosCliente_plugin.drf */ diff --git a/Source/Modulos/ProcesoPresupuestoCliente/Views/ProcesoPresupuestosCliente_view.dpk b/Source/Modulos/ProcesoPresupuestoCliente/Views/ProcesoPresupuestosCliente_view.dpk index 5bbe441..52a6dd6 100644 --- a/Source/Modulos/ProcesoPresupuestoCliente/Views/ProcesoPresupuestosCliente_view.dpk +++ b/Source/Modulos/ProcesoPresupuestoCliente/Views/ProcesoPresupuestosCliente_view.dpk @@ -32,7 +32,8 @@ requires AlbaranesProveedor_model, AlbaranesCliente_model, FacturasCliente_model, - FacturasProveedor_model; + FacturasProveedor_model, + FacturasProforma_model; contains uProcesoPresupuestosClienteViewRegister in 'uProcesoPresupuestosClienteViewRegister.pas', diff --git a/Source/Modulos/ProcesoPresupuestoCliente/Views/ProcesoPresupuestosCliente_view.dproj b/Source/Modulos/ProcesoPresupuestoCliente/Views/ProcesoPresupuestosCliente_view.dproj index 85adc0f..09e8496 100644 --- a/Source/Modulos/ProcesoPresupuestoCliente/Views/ProcesoPresupuestosCliente_view.dproj +++ b/Source/Modulos/ProcesoPresupuestoCliente/Views/ProcesoPresupuestosCliente_view.dproj @@ -49,14 +49,15 @@ MainSource - - - - - - - - + + + + + + + + +
fEditorProcesoPresupuestosCliente
TfEditorPedidosProveedor diff --git a/Source/Modulos/ProcesoPresupuestoCliente/Views/ProcesoPresupuestosCliente_view.drc b/Source/Modulos/ProcesoPresupuestoCliente/Views/ProcesoPresupuestosCliente_view.drc index 701ae3d..302c683 100644 --- a/Source/Modulos/ProcesoPresupuestoCliente/Views/ProcesoPresupuestosCliente_view.drc +++ b/Source/Modulos/ProcesoPresupuestoCliente/Views/ProcesoPresupuestosCliente_view.drc @@ -14,5 +14,5 @@ END /* C:\Codigo\Source\Modulos\ProcesoPresupuestoCliente\Views\uViewProcesoPresupuestosCliente.dfm */ /* C:\Codigo\Source\Modulos\ProcesoPresupuestoCliente\Views\uEditorProcesoPresupuestosCliente.dfm */ -/* C:\Codigo\Source\Modulos\ProcesoPresupuestoCliente\Views\ProcesoPresupuestosCliente_view.RES */ -/* c:\temp\dtf3CA.tmp */ +/* C:\Codigo\Source\Modulos\ProcesoPresupuestoCliente\Views\ProcesoPresupuestosCliente_view.res */ +/* C:\Codigo\Source\Modulos\ProcesoPresupuestoCliente\Views\ProcesoPresupuestosCliente_view.drf */ diff --git a/Source/Modulos/ProcesoPresupuestoCliente/Views/uEditorProcesoPresupuestosCliente.pas b/Source/Modulos/ProcesoPresupuestoCliente/Views/uEditorProcesoPresupuestosCliente.pas index 2a5e9bc..aa8a911 100644 --- a/Source/Modulos/ProcesoPresupuestoCliente/Views/uEditorProcesoPresupuestosCliente.pas +++ b/Source/Modulos/ProcesoPresupuestoCliente/Views/uEditorProcesoPresupuestosCliente.pas @@ -11,7 +11,8 @@ uses JvExControls, JvNavigationPane, uIEditorProcesoPresupuestosCLiente, uCustomView, uViewBase, uViewGridBase, uViewGrid, uViewProcesoPresupuestosCliente, uBizPedidosCliente, uBizPedidosProveedor, - uBizAlbaranesProveedor, uBizFacturasProveedor, uBizAlbaranesCliente, uBizFacturasCliente; + uBizAlbaranesProveedor, uBizFacturasProveedor, uBizAlbaranesCliente, uBizFacturasCliente, + uBizFacturasProforma, Grids, DBGrids; type TfEditorProcesoPresupuestosCliente = class(TfEditorGridBase, IEditorProcesoPresupuestosCliente) @@ -24,6 +25,7 @@ type FAlbaranesProveedor: IBizAlbaranProveedor; FFacturasProveedor: IBizFacturaProveedor; FAlbaranesCliente: IBizAlbaranCliente; + FFacturasProforma: IBizFacturaProforma; FFacturasCliente: IBizFacturaCliente; function GetPedidosCliente: IBizPedidoCliente; @@ -36,6 +38,8 @@ type procedure SetFacturasProveedor(const Value: IBizFacturaProveedor); function GetAlbaranesCliente: IBizAlbaranCliente; procedure SetAlbaranesCliente(const Value: IBizAlbaranCliente); + function GetFacturasProforma: IBizFacturaProforma; + procedure SetFacturasProforma(const Value: IBizFacturaProforma); function GetFacturasCliente: IBizFacturaCliente; procedure SetFacturasCliente(const Value: IBizFacturaCliente); @@ -45,6 +49,7 @@ type property AlbaranesProveedor: IBizAlbaranProveedor read GetAlbaranesProveedor write SetAlbaranesProveedor; property FacturasProveedor: IBizFacturaProveedor read GetFacturasProveedor write SetFacturasProveedor; property AlbaranesCliente: IBizAlbaranCliente read GetAlbaranesCliente write SetAlbaranesCliente; + property FacturasProforma: IBizFacturaProforma read GetFacturasProforma write SetFacturasProforma; property FacturasCliente: IBizFacturaCliente read GetFacturasCliente write SetFacturasCliente; constructor Create(AOwner: TComponent); override; @@ -71,6 +76,7 @@ begin FAlbaranesProveedor := Nil; FFacturasProveedor := Nil; FAlbaranesCliente := Nil; + FFacturasProforma := Nil; FFacturasCliente := Nil; inherited; end; @@ -106,6 +112,10 @@ begin raise Exception.Create('No hay ninguna factura de cliente asignado'); FacturasCliente.DataTable.Active := True; + if not Assigned(FacturasProforma) then + raise Exception.Create('No hay ninguna factura proforma asignada'); + FacturasProforma.DataTable.Active := True; + ViewGrid.GotoFirst; ViewGrid.ContraerTodo; end; @@ -125,6 +135,11 @@ begin Result := FFacturasCliente; end; +function TfEditorProcesoPresupuestosCliente.GetFacturasProforma: IBizFacturaProforma; +begin + Result := FFacturasProforma; +end; + function TfEditorProcesoPresupuestosCliente.GetFacturasProveedor: IBizFacturaProveedor; begin Result := FFacturasProveedor; @@ -170,6 +185,16 @@ begin end; end; +procedure TfEditorProcesoPresupuestosCliente.SetFacturasProforma(const Value: IBizFacturaProforma); +begin + FFacturasProforma := Value; + if Assigned(FFacturasProforma) then + begin + if Assigned(ViewGrid) then + (ViewGrid as IViewListadoProcesoPedidoCliente).FacturasProforma := FacturasProforma; + end; +end; + procedure TfEditorProcesoPresupuestosCliente.SetFacturasProveedor(const Value: IBizFacturaProveedor); begin FFacturasProveedor := Value; diff --git a/Source/Modulos/ProcesoPresupuestoCliente/Views/uViewProcesoPresupuestosCliente.dfm b/Source/Modulos/ProcesoPresupuestoCliente/Views/uViewProcesoPresupuestosCliente.dfm index 6877d7d..182215b 100644 --- a/Source/Modulos/ProcesoPresupuestoCliente/Views/uViewProcesoPresupuestosCliente.dfm +++ b/Source/Modulos/ProcesoPresupuestoCliente/Views/uViewProcesoPresupuestosCliente.dfm @@ -238,6 +238,46 @@ inherited frViewProcesoPresupuestosCliente: TfrViewProcesoPresupuestosCliente DataBinding.FieldName = 'FECHA_FACTURA' end end + object cxGridViewFacturasProforma: TcxGridDBTableView [6] + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = dsFacturasProforma + DataController.DetailKeyFieldNames = 'ID_PEDIDO' + DataController.KeyFieldNames = 'ID' + DataController.MasterKeyFieldNames = 'ID' + DataController.Options = [dcoAnsiSort, dcoCaseInsensitive, dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoSortByDisplayText] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = <> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.CellHints = True + OptionsCustomize.ColumnFiltering = False + OptionsData.Deleting = False + OptionsData.DeletingConfirmation = False + OptionsData.Editing = False + OptionsData.Inserting = False + OptionsSelection.CellSelect = False + OptionsSelection.UnselectFocusedRecordOnExit = False + OptionsView.CellEndEllipsis = True + OptionsView.NoDataToDisplayInfoText = '' + OptionsView.CellAutoHeight = True + OptionsView.ColumnAutoWidth = True + OptionsView.GridLineColor = cl3DLight + OptionsView.GridLines = glHorizontal + OptionsView.GroupByBox = False + OptionsView.GroupRowStyle = grsOffice11 + OptionsView.HeaderEndEllipsis = True + object cxGridViewFacturasProformaREFERENCIA: TcxGridDBColumn + Caption = 'Referencia' + DataBinding.FieldName = 'REFERENCIA' + end + object cxGridViewFacturasProformaSITUACION: TcxGridDBColumn + Caption = 'Situaci'#243'n' + DataBinding.FieldName = 'SITUACION' + end + object cxGridViewFacturasProformaFECHA_FACTURA: TcxGridDBColumn + Caption = 'Fecha' + DataBinding.FieldName = 'FECHA_FACTURA' + end + end inherited cxGridLevel: TcxGridLevel Options.DetailFrameColor = cl3DLight Options.DetailTabsPosition = dtpTop @@ -258,6 +298,10 @@ inherited frViewProcesoPresupuestosCliente: TfrViewProcesoPresupuestosCliente GridView = cxGridViewFacturasCliente end end + object cxGridLevel1: TcxGridLevel + Caption = 'Facturas Proforma' + GridView = cxGridViewFacturasProforma + end end end inherited frViewFiltroBase1: TfrViewFiltroBase @@ -322,4 +366,8 @@ inherited frViewProcesoPresupuestosCliente: TfrViewProcesoPresupuestosCliente Left = 8 Top = 240 end + object dsFacturasProforma: TDADataSource + Left = 8 + Top = 288 + end end diff --git a/Source/Modulos/ProcesoPresupuestoCliente/Views/uViewProcesoPresupuestosCliente.pas b/Source/Modulos/ProcesoPresupuestoCliente/Views/uViewProcesoPresupuestosCliente.pas index f759e98..50f9bfd 100644 --- a/Source/Modulos/ProcesoPresupuestoCliente/Views/uViewProcesoPresupuestosCliente.pas +++ b/Source/Modulos/ProcesoPresupuestoCliente/Views/uViewProcesoPresupuestosCliente.pas @@ -13,7 +13,8 @@ uses uViewBase, uViewFiltroBase, cxGridLevel, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, cxGrid, uBizPedidosCliente, uBizPedidosProveedor, uBizAlbaranesProveedor, - uBizFacturasProveedor, uBizAlbaranesCliente, uBizFacturasCliente, Grids, DBGrids; + uBizFacturasProveedor, uBizAlbaranesCliente, uBizFacturasCliente, uBizFacturasProforma, + Grids, DBGrids; type IViewListadoProcesoPedidoCliente = interface(IViewGrid) @@ -38,6 +39,10 @@ type procedure SetAlbaranesCliente(const Value: IBizAlbaranCliente); property AlbaranesCliente: IBizAlbaranCliente read GetAlbaranesCliente write SetAlbaranesCliente; + function GetFacturasProforma: IBizFacturaProforma; + procedure SetFacturasProforma(const Value: IBizFacturaProforma); + property FacturasProforma: IBizFacturaProforma read GetFacturasProforma write SetFacturasProforma; + function GetFacturasCliente: IBizFacturaCliente; procedure SetFacturasCliente(const Value: IBizFacturaCliente); property FacturasCliente: IBizFacturaCliente read GetFacturasCliente write SetFacturasCliente; @@ -51,26 +56,21 @@ type dsPedidosProveedor: TDADataSource; cxGridViewPedidosProveedor: TcxGridDBTableView; cxGridViewPedidosProveedorREFERENCIA: TcxGridDBColumn; - cxGridLevelPedidosProveedor: TcxGridLevel; cxGridViewPedidosProveedorNOMBRE: TcxGridDBColumn; cxGridViewFECHA_PEDIDO: TcxGridDBColumn; cxGridViewPedidosProveedorFECHA_PEDIDO: TcxGridDBColumn; cxGridViewPedidosProveedorSITUACION: TcxGridDBColumn; dsAlbaranesProveedor: TDADataSource; - cxGridLevelAlbaranesProveedor: TcxGridLevel; cxGridViewAlbaranesProveedor: TcxGridDBTableView; cxGridViewAlbaranesProveedorREFERENCIA: TcxGridDBColumn; cxGridViewAlbaranesProveedorSITUACION: TcxGridDBColumn; cxGridViewAlbaranesProveedorFECHA_ALBARAN: TcxGridDBColumn; dsFacturasProveedor: TDADataSource; - cxGridLevelFacturasProveedor: TcxGridLevel; cxGridViewFacturasProveedor: TcxGridDBTableView; cxGridViewFacturasProveedorREFERENCIA: TcxGridDBColumn; cxGridViewFacturasProveedorREFERENCIA_PROVEEDOR: TcxGridDBColumn; cxGridViewFacturasProveedorSITUACION: TcxGridDBColumn; cxGridViewFacturasProveedorFECHA_FACTURA: TcxGridDBColumn; - cxGridAlbaranesCliente: TcxGridLevel; - cxGridFacturasCliente: TcxGridLevel; cxGridViewAlbaranesCliente: TcxGridDBTableView; cxGridViewFacturasCliente: TcxGridDBTableView; cxGridViewFacturasClienteREFERENCIA: TcxGridDBColumn; @@ -81,6 +81,13 @@ type cxGridViewAlbaranesClienteFECHA_ALBARAN: TcxGridDBColumn; cxGridViewFacturasClienteSITUACION: TcxGridDBColumn; cxGridViewFacturasClienteFECHA_FACTURA: TcxGridDBColumn; + cxGridFacturasCliente: TcxGridLevel; + dsFacturasProforma: TDADataSource; + cxGridViewFacturasProforma: TcxGridDBTableView; + cxGridViewFacturasProformaREFERENCIA: TcxGridDBColumn; + cxGridLevel1: TcxGridLevel; + cxGridViewFacturasProformaSITUACION: TcxGridDBColumn; + cxGridViewFacturasProformaFECHA_FACTURA: TcxGridDBColumn; procedure CustomViewShow(Sender: TObject); protected @@ -89,6 +96,7 @@ type FAlbaranesProveedor: IBizAlbaranProveedor; FFacturasProveedor: IBizFacturaProveedor; FAlbaranesCliente: IBizAlbaranCliente; + FFacturasProforma: IBizFacturaProforma; FFacturasCliente: IBizFacturaCliente; function GetPedidosCliente: IBizPedidoCliente; @@ -109,6 +117,9 @@ type function GetFacturasCliente: IBizFacturaCliente; procedure SetFacturasCliente(const Value: IBizFacturaCliente); + function GetFacturasProforma: IBizFacturaProforma; + procedure SetFacturasProforma(const Value: IBizFacturaProforma); + public property PedidosCliente: IBizPedidoCliente read GetPedidosCliente write SetPedidosCliente; property PedidosProveedor: IBizPedidoProveedor read GetPedidosProveedor write SetPedidosProveedor; @@ -116,6 +127,7 @@ type property FacturasProveedor: IBizFacturaProveedor read GetFacturasProveedor write SetFacturasProveedor; property AlbaranesCliente: IBizAlbaranCliente read GetAlbaranesCliente write SetAlbaranesCliente; property FacturasCliente: IBizFacturaCliente read GetFacturasCliente write SetFacturasCliente; + property FacturasProforma: IBizFacturaProforma read GetFacturasProforma write SetFacturasProforma; destructor Destroy; override; end; @@ -141,6 +153,7 @@ begin FAlbaranesProveedor:= Nil; FFacturasProveedor:= Nil; FAlbaranesCliente:= Nil; + FFacturasProforma:= Nil; FFacturasCliente:= Nil; inherited; end; @@ -160,6 +173,11 @@ begin Result := FFacturasCliente; end; +function TfrViewProcesoPresupuestosCliente.GetFacturasProforma: IBizFacturaProforma; +begin + Result := FFacturasProforma; +end; + function TfrViewProcesoPresupuestosCliente.GetFacturasProveedor: IBizFacturaProveedor; begin Result := FFacturasProveedor; @@ -202,6 +220,16 @@ begin dsFacturasCliente.DataTable := Nil; end; +procedure TfrViewProcesoPresupuestosCliente.SetFacturasProforma( + const Value: IBizFacturaProforma); +begin + FFacturasProforma := Value; + if Assigned(FFacturasProforma) then + dsFacturasProforma.DataTable := FFacturasProforma.DataTable + else + dsFacturasProforma.DataTable := Nil; +end; + procedure TfrViewProcesoPresupuestosCliente.SetFacturasProveedor(const Value: IBizFacturaProveedor); begin FFacturasProveedor := Value; diff --git a/Source/Modulos/Relaciones/Facturas proforma - Facturas de cliente/FacProforma_FacCli_relation.dpk b/Source/Modulos/Relaciones/Facturas proforma - Facturas de cliente/FacProforma_FacCli_relation.dpk new file mode 100644 index 0000000..046743c --- /dev/null +++ b/Source/Modulos/Relaciones/Facturas proforma - Facturas de cliente/FacProforma_FacCli_relation.dpk @@ -0,0 +1,49 @@ +package FacProforma_FacCli_relation; + +{$R *.res} +{$ALIGN 8} +{$ASSERTIONS ON} +{$BOOLEVAL OFF} +{$DEBUGINFO ON} +{$EXTENDEDSYNTAX ON} +{$IMPORTEDDATA ON} +{$IOCHECKS ON} +{$LOCALSYMBOLS ON} +{$LONGSTRINGS ON} +{$OPENSTRINGS ON} +{$OPTIMIZATION ON} +{$OVERFLOWCHECKS OFF} +{$RANGECHECKS OFF} +{$REFERENCEINFO ON} +{$SAFEDIVIDE OFF} +{$STACKFRAMES OFF} +{$TYPEDADDRESS OFF} +{$VARSTRINGCHECKS ON} +{$WRITEABLECONST OFF} +{$MINENUMSIZE 1} +{$IMAGEBASE $400000} +{$IMPLICITBUILD OFF} + +requires + FacturasCliente_model, + FacturasCliente_controller, + rtl, + vcl, + cxLibraryD11, + dxThemeD11, + dxGDIPlusD11, + dxCoreD11, + vclx, + cxEditorsD11, + cxDataD11, + dbrtl, + vcljpg, + vcldb, + FacturasProforma_model, + FacturasProforma_controller; + +contains + uGenerarFacturasCliFacProformaUtils in 'uGenerarFacturasCliFacProformaUtils.pas' {dmGenerarFacturasCliFacProforma}, + uEditorFechaFacturaFinal in 'uEditorFechaFacturaFinal.pas' {fEditorFechaFacturaFinal: F}; + +end. diff --git a/Source/Modulos/Relaciones/Facturas proforma - Facturas de cliente/FacProforma_FacCli_relation.dproj b/Source/Modulos/Relaciones/Facturas proforma - Facturas de cliente/FacProforma_FacCli_relation.dproj new file mode 100644 index 0000000..3deccd1 --- /dev/null +++ b/Source/Modulos/Relaciones/Facturas proforma - Facturas de cliente/FacProforma_FacCli_relation.dproj @@ -0,0 +1,1026 @@ + + + + {69494a8c-0a35-41ea-b8ec-ea790bfc0662} + FacProforma_FacCli_relation.dpk + Debug + AnyCPU + DCC32 + ..\..\..\..\Output\Debug\Cliente\FacProforma_FacCli_relation.bpl + + + 7.0 + False + False + 0 + .\ + .\ + .\ + ..\..\..\..\Output\Debug\Cliente + ..\..\Lib + ..\..\..\Lib;..\..\Lib + ..\..\..\Lib;..\..\Lib + ..\..\..\Lib;..\..\Lib + ..\..\..\Lib;..\..\Lib + RELEASE + + + 7.0 + .\ + .\ + .\ + ..\..\..\..\Output\Debug\Cliente + ..\..\Lib + ..\..\..\Lib;..\..\Lib + ..\..\..\Lib;..\..\Lib + ..\..\..\Lib;..\..\Lib + ..\..\..\Lib;..\..\Lib + + + Delphi.Personality + Package + +FalseTrueFalseFalseFalseFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.01.0.0.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Borland Sample Components + Delphi 1.0 Compatibility Components + Borland MyBase DataAccess Components + TeeChart Components + Borland SimpleDataset Component (DBX) + ExpressBars extended items by Developer Express Inc. + ExpressBars by Developer Express Inc. + ExpressScheduler 2 by Developer Express Inc. + ExpressVerticalGrid by Developer Express Inc. + ExpressBars DBNavigator by Developer Express Inc. + ExpressBars extended DB items by Developer Express Inc. + ExpressSideBar by Developer Express Inc. + JVCL Band Objects + JVCL Non-Visual Components + JVCL Encryption and Compression Components + JVCL Dialog Components + JVCL Docking Components + JVCL DotNet Controls + JVCL EDI Components Designtime Package + JVCL HMI Controls design time unit + JVCL Interpreter Components + JVCL Jans Components + JVCL Managed Threads + JVCL Multimedia and Image Components + JVCL Network Components + JVCL Page Style Components + JVCL Plugin Components + JVCL Print Preview Components + JVCL Runtime Design Components + JVCL Time Framework + JVCL Unified Interbase Components + JVCL Validators and Error Provider Components + SMImport suite: data importing into dataset. Scalabium/Mike Shkolnik, 2000-2005 + SMExport suite: data export from dataset. Written by Mike Shkolnik/Scalabium, 1998-2004. + Intraweb 8.0 Design Package for Borland Development Studio 2006 + Internet Explorer Components + FacProforma_FacCli_relation.dpk + + + + + MainSource + + + + + + + + + + + + + + +
fEditorFechaFacturaFinal
+ F +
+ +
dmGenerarFacturasCliFacProforma
+
+ + + + +
+
+ diff --git a/Source/Modulos/Relaciones/Facturas proforma - Facturas de cliente/FacProforma_FacCli_relation.rc b/Source/Modulos/Relaciones/Facturas proforma - Facturas de cliente/FacProforma_FacCli_relation.rc new file mode 100644 index 0000000..153736a --- /dev/null +++ b/Source/Modulos/Relaciones/Facturas proforma - Facturas de cliente/FacProforma_FacCli_relation.rc @@ -0,0 +1,22 @@ +1 VERSIONINFO +FILEVERSION 1,0,0,0 +PRODUCTVERSION 1,0,0,0 +FILEFLAGSMASK 0x3FL +FILEFLAGS 0x00L +FILEOS 0x40004L +FILETYPE 0x1L +FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "0C0A04E4" + BEGIN + VALUE "FileVersion", "1.0.0.0\0" + VALUE "ProductVersion", "1.0.0.0\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x0C0A, 1252 + END +END diff --git a/Source/Modulos/Relaciones/Facturas proforma - Facturas de cliente/uEditorFechaFacturaFinal.dfm b/Source/Modulos/Relaciones/Facturas proforma - Facturas de cliente/uEditorFechaFacturaFinal.dfm new file mode 100644 index 0000000..a3796ab --- /dev/null +++ b/Source/Modulos/Relaciones/Facturas proforma - Facturas de cliente/uEditorFechaFacturaFinal.dfm @@ -0,0 +1,60 @@ +object fEditorFechaFacturaFinal: TfEditorFechaFacturaFinal + Left = 0 + Top = 0 + BorderStyle = bsToolWindow + Caption = 'Fecha de la factura' + ClientHeight = 148 + ClientWidth = 371 + Color = clBtnFace + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'Tahoma' + Font.Style = [] + OldCreateOrder = False + Position = poScreenCenter + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 13 + object Label1: TLabel + Left = 16 + Top = 16 + Width = 320 + Height = 13 + Caption = + 'Introduzca la fecha que desea para la factura que se va a genera' + + 'r' + WordWrap = True + end + object Label2: TLabel + Left = 24 + Top = 59 + Width = 86 + Height = 13 + Caption = 'Fecha de factura:' + WordWrap = True + end + object eFechaFactura: TcxDateEdit + Left = 127 + Top = 56 + Style.LookAndFeel.Kind = lfStandard + Style.LookAndFeel.NativeStyle = True + StyleDisabled.LookAndFeel.Kind = lfStandard + StyleDisabled.LookAndFeel.NativeStyle = True + StyleFocused.LookAndFeel.Kind = lfStandard + StyleFocused.LookAndFeel.NativeStyle = True + StyleHot.LookAndFeel.Kind = lfStandard + StyleHot.LookAndFeel.NativeStyle = True + TabOrder = 0 + Width = 162 + end + object Button1: TButton + Left = 286 + Top = 110 + Width = 75 + Height = 25 + Caption = 'Continuar' + ModalResult = 1 + TabOrder = 1 + end +end diff --git a/Source/Modulos/Relaciones/Facturas proforma - Facturas de cliente/uEditorFechaFacturaFinal.pas b/Source/Modulos/Relaciones/Facturas proforma - Facturas de cliente/uEditorFechaFacturaFinal.pas new file mode 100644 index 0000000..17270e0 --- /dev/null +++ b/Source/Modulos/Relaciones/Facturas proforma - Facturas de cliente/uEditorFechaFacturaFinal.pas @@ -0,0 +1,35 @@ +unit uEditorFechaFacturaFinal; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, StdCtrls, cxControls, cxContainer, cxEdit, cxTextEdit, cxMaskEdit, + cxDropDownEdit, cxCalendar; + +type + TfEditorFechaFacturaFinal = class(TForm) + Label1: TLabel; + eFechaFactura: TcxDateEdit; + Button1: TButton; + Label2: TLabel; + procedure FormShow(Sender: TObject); + private + { Private declarations } + public + { Public declarations } + end; + +var + fEditorFechaFacturaFinal: TfEditorFechaFacturaFinal; + +implementation + +{$R *.dfm} + +procedure TfEditorFechaFacturaFinal.FormShow(Sender: TObject); +begin + eFechaFactura.Date := Date; +end; + +end. diff --git a/Source/Modulos/Relaciones/Facturas proforma - Facturas de cliente/uGenerarFacProformaFacCliUtils.dfm b/Source/Modulos/Relaciones/Facturas proforma - Facturas de cliente/uGenerarFacProformaFacCliUtils.dfm new file mode 100644 index 0000000..8235128 --- /dev/null +++ b/Source/Modulos/Relaciones/Facturas proforma - Facturas de cliente/uGenerarFacProformaFacCliUtils.dfm @@ -0,0 +1,5 @@ +object dmGenerarAlbaranesCli: TdmGenerarAlbaranesCli + OldCreateOrder = False + Height = 176 + Width = 254 +end diff --git a/Source/Modulos/Relaciones/Facturas proforma - Facturas de cliente/uGenerarFacProformaFacCliUtils.pas b/Source/Modulos/Relaciones/Facturas proforma - Facturas de cliente/uGenerarFacProformaFacCliUtils.pas new file mode 100644 index 0000000..10f534d --- /dev/null +++ b/Source/Modulos/Relaciones/Facturas proforma - Facturas de cliente/uGenerarFacProformaFacCliUtils.pas @@ -0,0 +1,95 @@ +unit uGenerarFacProformaFacCliUtils; + +interface + +uses + Windows, SysUtils, Classes, uBizFacturasCliente, pngimage, JSDialog; + +type + TdmGenerarAlbaranesCli = class(TDataModule) + end; + + function GenerarAlbaranCli(AFactura : IBizFacturaCliente) : Boolean; overload; + +implementation + +{$R *.dfm} + +uses + uDialogUtils, uDataTableUtils, + uBizAlbaranesCliente, + uAlbaranesClienteController, + uFacturasClienteController; + +var + dmGenerarAlbaranesCli: TdmGenerarAlbaranesCli; + AFacturasClienteController : IFacturasClienteController; + AAlbaranesClienteController : IAlbaranesClienteController; + +procedure Inicializar; +begin + dmGenerarAlbaranesCli := TdmGenerarAlbaranesCli.Create(nil); + AFacturasClienteController := TFacturasClienteController.Create; + AAlbaranesClienteController := TAlbaranesClienteController.Create; +end; + +procedure Finalizar; +begin + FreeAndNIL(dmGenerarAlbaranesCli); + AFacturasClienteController := nil; + AAlbaranesClienteController := nil; +end; + +function GenerarAlbaranCli(AFactura : IBizFacturaCliente) : Boolean; overload; +var + AAlbaranNuevo : IBizAlbaranCliente; +begin + Result := False; + + if not Assigned(AAlbaranesClienteController) then + Inicializar; + + if not Assigned(AFactura) then + raise Exception.Create('Factura de cliente no asignada (GenerarAlbaranCli)'); + + if not AFactura.DataTable.Active then + AFactura.DataTable.Active := True; + + try + AAlbaranNuevo := AAlbaranesClienteController.Nuevo; + + with AAlbaranNuevo do + begin + TIPO := CTE_TIPO_ALBARAN_DEV; + ID_CLIENTE := AFactura.ID_CLIENTE; + CALLE := AFactura.CALLE; + CODIGO_POSTAL := AFactura.CODIGO_POSTAL; + POBLACION := AFactura.POBLACION; + PROVINCIA := AFactura.PROVINCIA; + // AAlbaran.PERSONA_CONTACTO := AFactura.PERSONA_CONTACTO; + // AAlbaran.TELEFONO := AFactura.TELEFONO; + IMPORTE_NETO := AFactura.IMPORTE_NETO; + IMPORTE_PORTE := AFactura.IMPORTE_PORTE; + DESCUENTO := AFactura.DESCUENTO; + IMPORTE_DESCUENTO := AFactura.IMPORTE_DESCUENTO; + BASE_IMPONIBLE := AFactura.BASE_IMPONIBLE; + IVA := AFactura.IVA; + IMPORTE_IVA := AFactura.IMPORTE_IVA; + IMPORTE_TOTAL := AFactura.IMPORTE_TOTAL; + // AAlbaran.DataTable.FieldByName(fld_AlbaranesProveedorOBSERVACIONES).AsVariant := AFactura.DataTable.FieldByName(fld_PedidosProveedorOBSERVACIONES).AsVariant; + ID_FORMA_PAGO := AFactura.ID_FORMA_PAGO; + ID_FACTURA := AFactura.ID; + end; + + DuplicarRegistros(AFactura.Detalles.DataTable, AAlbaranNuevo.Detalles.DataTable, mdrTodos); + + //Sustituir por if de guardar + if AAlbaranesClienteController.Guardar(AAlbaranNuevo) then + ShowInfoMessage('La orden de devolución se ha dado de alta con el código ' + AAlbaranNuevo.REFERENCIA); + + finally + AAlbaranNuevo := Nil; + end; +end; + +end. diff --git a/Source/Modulos/Relaciones/Facturas proforma - Facturas de cliente/uGenerarFacturasCliFacProformaUtils.dfm b/Source/Modulos/Relaciones/Facturas proforma - Facturas de cliente/uGenerarFacturasCliFacProformaUtils.dfm new file mode 100644 index 0000000..0eb5dc6 --- /dev/null +++ b/Source/Modulos/Relaciones/Facturas proforma - Facturas de cliente/uGenerarFacturasCliFacProformaUtils.dfm @@ -0,0 +1,311 @@ +object dmGenerarFacturasCliFacProforma: TdmGenerarFacturasCliFacProforma + OldCreateOrder = False + Height = 176 + Width = 254 + object JsListaFacturasGeneradas: TJSDialog + Glyph.Data = { + 0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000001C00 + 00001C0806000000720DDF940000000970485973000017120000171201679FD2 + 520000000467414D410000B18E7CFB5193000003104944415478DAAD96FB4B14 + 5114C7CFE463DC1E606444BFF54424D3DC55CA52B1CCD7165A219905054182FD + 1452FD5810FD100406610A669A998FC4F5BDB6266265DAB60F5DD15E58FE03B2 + 3F99D29ABBA7B9779C71C61D9D6177CFCE70CFDCB97B3EF7DCF3BD33C38082FD + B502B2B300CC656020048688A24F036233A0671F40D43160BA87BF62AEEE1010 + 60D7AE293AD8B835815E9B625C80DC8F1E88D4A7C1E8C1FB8F9FD6C3C44035B3 + 21500A65F6D700FE2EA580A5EC551F4A50359316B31D76EFDC0EE5F72A645045 + A067AE0623074B8140891108F1057064CC0D556053DF173812B707E6DCF332A8 + 225080D201DB4AF99BF335B4D502F371415BCC364833C4C29F458F0C2A031281 + 081734AB0B3C88403C1E6E3E2E7960F6A8FFD27A7D3EF07A11DA2C76C84A8D87 + A57FCB32E8B8A54A4C8C21B59365C9015996EF2240B6634DF435B51460A46D1F + 70C093AA46BF09C980C12CA914E6F371ADD707EF1DB3B0B0B8006EB79B8EA96B + EA5106121851245129118FD8BFA2DC5C53C6BAF5EBBBBA97C2D64EC064195B1F + 286C76E956A0EA5C51AEB4764A9929F5750D5A9581D2274B9B651C0BA2F514A8 + 6F28E36B70AD9A4253EF97A9AA55B0CEBA87D03B645B3F43C1DE589C58186D10 + 81150FCAC57B11E161B04517099BB953C78643141B01BA28EEE4DAB0B04DE2B8 + CA460B9C399902E661BB3AB0F5AD038BF30CD4D7E7DD14815A61023027DD00EF + 469C1A80FD1C307F1578FD4A81E665945AD68924181A9D5007B6F4DBF1527E32 + F5C9D3632351F8F549AEE916B14EAA039BCD362C31A6040D23E7887D4A03B0CF + 86C5C6641A24BB7646D3F2D51A77F8C1BCDCFFC79CD3EAC0D7BD56AE86294165 + 4660CB5C6B737DD3062CCA31D00069E76E05241862CF1EDD05E7D40F756063CF + 673C7F5A4F679A59541EF03E4C8C3B0893DF67D481AFBAC7B0F05412CD30EBE2 + ED80F7617CEC0198FEF94B1BF06C6622AD4B4EC99D80F7A1666043D7281A3312 + FD84C20B8417C3AA789405239826E0CBCE4F98979E10344C33B0BE630473D312 + 82866906D6993E62F6F1C3F45D160A5305BE68FF8095CF5B4302134CFE1185EA + 1FB8A1B4FF4FE32FF6FADB8B5E0000000049454E44AE426082} + Instruction.Text = 'Se han generado las facturas...' + Instruction.Glyph.Data = { + 0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000001C00 + 00001C0806000000720DDF940000000970485973000017120000171201679FD2 + 520000000467414D410000B18E7CFB5193000003104944415478DAAD96FB4B14 + 5114C7CFE463DC1E606444BFF54424D3DC55CA52B1CCD7165A219905054182FD + 1452FD5810FD100406610A669A998FC4F5BDB6266265DAB60F5DD15E58FE03B2 + 3F99D29ABBA7B9779C71C61D9D6177CFCE70CFDCB97B3EF7DCF3BD33C38082FD + B502B2B300CC656020048688A24F036233A0671F40D43160BA87BF62AEEE1010 + 60D7AE293AD8B835815E9B625C80DC8F1E88D4A7C1E8C1FB8F9FD6C3C44035B3 + 21500A65F6D700FE2EA580A5EC551F4A50359316B31D76EFDC0EE5F72A645045 + A067AE0623074B8140891108F1057064CC0D556053DF173812B707E6DCF332A8 + 225080D201DB4AF99BF335B4D502F371415BCC364833C4C29F458F0C2A031281 + 081734AB0B3C88403C1E6E3E2E7960F6A8FFD27A7D3EF07A11DA2C76C84A8D87 + A57FCB32E8B8A54A4C8C21B59365C9015996EF2240B6634DF435B51460A46D1F + 70C093AA46BF09C980C12CA914E6F371ADD707EF1DB3B0B0B8006EB79B8EA96B + EA5106121851245129118FD8BFA2DC5C53C6BAF5EBBBBA97C2D64EC064195B1F + 286C76E956A0EA5C51AEB4764A9929F5750D5A9581D2274B9B651C0BA2F514A8 + 6F28E36B70AD9A4253EF97A9AA55B0CEBA87D03B645B3F43C1DE589C58186D10 + 81150FCAC57B11E161B04517099BB953C78643141B01BA28EEE4DAB0B04DE2B8 + CA460B9C399902E661BB3AB0F5AD038BF30CD4D7E7DD14815A61023027DD00EF + 469C1A80FD1C307F1578FD4A81E665945AD68924181A9D5007B6F4DBF1527E32 + F5C9D3632351F8F549AEE916B14EAA039BCD362C31A6040D23E7887D4A03B0CF + 86C5C6641A24BB7646D3F2D51A77F8C1BCDCFFC79CD3EAC0D7BD56AE86294165 + 4660CB5C6B737DD3062CCA31D00069E76E05241862CF1EDD05E7D40F756063CF + 673C7F5A4F679A59541EF03E4C8C3B0893DF67D481AFBAC7B0F05412CD30EBE2 + ED80F7617CEC0198FEF94B1BF06C6622AD4B4EC99D80F7A1666043D7281A3312 + FD84C20B8417C3AA789405239826E0CBCE4F98979E10344C33B0BE630473D312 + 82866906D6993E62F6F1C3F45D160A5305BE68FF8095CF5B4302134CFE1185EA + 1FB8A1B4FF4FE32FF6FADB8B5E0000000049454E44AE426082} + Instruction.Icon = tdiCustom + CustomButtons = < + item + Caption = 'Continuar' + Value = 200 + Cancel = True + end> + ButtonBar.Buttons = [] + ButtonBar.Cancel = cbOK + ButtonBar.UseCancel = False + MainIcon = tdiCustom + Title = 'FactuGES' + Position = dpMainFormCenter + Icon.Data = { + 0000010003002020100001000400E8020000360000002020000001000800A808 + 00001E0300002020000001002000A8100000C60B000028000000200000004000 + 0000010004000000000000020000000000000000000000000000000000000000 + 000000008000008000000080800080000000800080008080000080808000C0C0 + C0000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF000000 + 0000000000000000000000000000000008777777777777777777777700000000 + 0877767777677776777767760000000008F88888888888888888888700000000 + 08F8FF8F8F888888888888860000000008FF8F8F88F8F8888888888C00000000 + 08F88888F8888888888888860000000008F8688878E8888E88E8788700000000 + 08F8688888F8F8FFFFFF88760000000008FF4888888F8FFFFFFF788700000000 + 08F8676767677677677658E50000000008FF8888888887878787888700000000 + 08FF8887887E8888888888860000000008FFE8E8E788C8E8FF8F8F8600000000 + 08FFF8F8F8F8FF8F88F8F8870000000008FFFFFF8FF8F8F8F88F888600000000 + 0FF8477878787878788788860000000008FF68888888F8FF8F8F788700000000 + 08B7588888FF8FFFFFFF78860000083008BB47887776777777776F86000000B7 + 8B9B73BB88788787E87878870000008BB8B9BB78888888EFF8F8FF8600000087 + B8BB8B888E8E8E88FFF8F886000000088BBB888FFFFFFFFFF8F877770000B9BB + B8FFBB9B9BFFFFFFF87466460000BBB9BB8FBBBBB8FFFFFFF88F888700000008 + B8BB88888FFFFFFFF88F8F7700000008BBBBBB8FFFFFFFFFFF8887700000007B + B7B98BB8FFFFFFFFF8887700000000B78B9B87B888F88F88F8877000000007B0 + 08BB883B78888788787700000000000000B9000000000000000000000000FFFF + FFFFF800000FF800000FF800000FF800000FF800000FF800000FF800000FF800 + 000FF800000FF800000FF800000FF800000FF800000FF800000FF800000FF800 + 000FF800000FF800000F9800000FC000000FC000000FC000000FE000000F0000 + 000F0000000FE000000FE000001FC000003FC000007F980000FFFCFFFFFF2800 + 0000200000004000000001000800000000000004000000000000000000000001 + 00000001000000000000694731007C5D49007E604C0081635000826451008567 + 540085685500886B5900896D5B008A6E5D008B705F008E715F008B7260008C72 + 61008E74640084766C00957A6900977D6D00887B72009A8171009D8272009C84 + 76009D8778009F897B00A28A7900A08B7D00A18C7E00E1B06E00E1B67D003E7A + 970073A0A5007AA2B70074AFBD007BB2BB003CAACE0028A5DB0020ADDF000D9A + E500209EE3000DA6E2001AA4EF0000A6FF000CABFE0009ACFE0010A4F10015AC + FA0000B5FB0000B0FD000CB6FC0000BFF90000BAFD0004BAFD0009BBFB0013B6 + F40015BFFA001CBDFB0026B7FD00589EC50040A4CD0040ABCC0050A2C7005DAE + C00060A3C20062A4C60060B7CB006AB0CD007BB6C80077BAC80061BADD0044AD + E50000C3F80007C6FB0000CAF80000CFFB0000D4F90026C8FA0026CDF8002BCC + F90039C4FB0039C2FC0039CAFA003FCFFB0024D6F80030D2F80039D5F80000F8 + F8001FF8F8002CF6F8003EF4F8005AC6DC0070CDDF0052C0E40054C9E3004DCE + FA005FC7FF004FD2FB004DD9F8005FD9FB006ED3E70063CDFE0060D1FB0060D8 + F90060DDF80046F8F90056F0F8005FFAFA0073E3F80073E4F90073EEF80060F1 + F800958A84009A918C0081999500A68F8200AD968500A3968C00AE988900AD9A + 8D00B19A8B00AF9C9000B09E9200B59F9200B7A29300B2A19600B5A19400B7A4 + 9700BDA79700B4A39800B1A59D00B4A79F00BAA69800BCA79900B4A89F00BCA8 + 9900BAA89C00BDAA9D00BEAC9E0083ADBD00B5A9A100BDABA000BEADA100BFAF + A500A0BABE00C0AB9E00C1AC9E00C6AE9F00E2B98100E4BA8300E4BB8400E5BC + 8500E1BD8E00E3BF9000C0ADA000C2B0A300C2B1A500C4B2A600C1B2A800C3B5 + AB00C8B4A800CCB9AD00CEBCB100D0BEB200D1BFB400E4C19300E5C29400E6C4 + 9600E8C69900D0C9A300CFC1B800D2C1B600D3C3B800D5C4B900D6C6BC00D8C6 + BC00D6C8BE00DAC9BF00ECD3B000EDD4B200EFD6B500E7D1B800E7D3BD00F0D8 + B6008CB7C40080BEC70097C3C70099C3C900ABD7CF00AFD9DD0086E3F90086E7 + F90086ECF8009EE5FB0090E8F900ACEDFC00BCEAFD00BCF1FB00BFF1FD00D7C9 + C000D9CAC100DCCBC200DACCC200DDCCC300DACCC400DDCEC400DED0C600DED1 + C900DED3CC00DFD4CD00E1D1C900E2D5CD00F0DCC200E3D8D200E5D9D200E2DA + D500E6DBD400E5DCD500E8DDD600E6DDD800E9DFD900E6E0DB00EAE0DA00EAE2 + DD00ECE3DE00EBE4DE00ECE4DE00F3E7D900C6E1EF00C9EFFD00D7F6FD00DFF3 + FF00DFFEFE00EBE7E300EDE6E100EFE7E400EEE8E400F0EAE600F2EDE900F2EE + EC00F4EFEC00F5F0EE00F9F4ED00E7FAFD00EBF8FF00F6F2F000F7F4F100F8F4 + F200F9F7F500FAF8F600FBF9F900FCFBFA00FCFCFB00FEFEFE00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000007D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D + 0D0D0000000000000000009C9C19191919191919191919191919191919191919 + 1903000000000000000000ABDECBCBC7C7AFABABABABAAA3A2A2A0A0A0A0A0A0 + 8607000000000000000000ABECEAE9DEDEDEDED7D5D2D2D2CBCBCBCBB0CBB0CB + 9007000000000000000000ABEDECEAE9DEDEDBD7D7D5D2D2D2CDCDCBB0B0B0B0 + 9007000000000000000000AFEDE9A9CFD2CFD2CDCBCBCBB0B0ABACA3A3A3A3B0 + 9007000000000000000000AFF0D5017783838386868686869099909999907BB0 + 9007000000000000000000B0F4D501A0B0CBD2D5DEECEDF7FAFAFAFAFAF77BAA + 9007000000000000000000CBF4DC01A0B0B0B0D2D5DBEAEDF7FAFAFAFAF47BB0 + 9007000000000000000000CBF8DC010404070604090909090D0D110D110D02A3 + 9007000000000000000000CBFAED9E9E9E9C999E8C8C8C868683837E7D7D7ACB + 9007000000000000000000CBFAF1A7A7A6A6A6A69898989898B5DBDBD5D5D2D2 + 9907000000000000000000CDFAF796969696961D961D931D1DB4DEDBD7D5D5D2 + 9C07000000000000000000CFFAFAFAFAF8F7F0F0EDEDEDECE9E9DEDEDED7D5D5 + 9907000000000000000000CDFAFAEAF0EDEDECEAEAE9DEDEDBDCD5D5D5D5D2D5 + 9C07000000000000000000D2FAEC01737D7D7B7D7D7B7D7B7D7B7B7B7D7B7DD2 + 9907000000000000000000CFFAEC019EABB0CBD2D5DCDEECEDF4F4F4F4EA7BD2 + 9C07000000000000000000B9524601A0B0B0CBB5D5DEEAEDF7FAFAFAFAF47DD5 + 9C070000000000213F0000B83226010C3F5C1F111214141616191B1B1B1807D2 + 9C07000000000000253D8A5B322D711E2860BA7E7E7A7E797A797979767676D5 + 9E0700000000000041375E662F2B65314EBBB6B6B6B6B4B4B1E2F4EDEDEDECEA + 9C070000000000008F5D66663232394EC1A81C1C1C1C1C1C1CD3F7F4EDDED7D5 + 9C0700000000000000B7BE6E5758BEBDE4E6E6F3FAFAFAFAFAFAF7F4D5928675 + 7304000000002A2A2A2A4A6AFAE7562F2A2A2A5FFAFAFAFAFAFAF8D577010101 + 0101000000004747472F4A59C5E7564A32474766FAFAFAFAFAFAFADCA0D2CFB0 + A20C00000000000000436C6958686D6BC2C5C5E7FAFAFAFAFAFAFADEAADEDBCB + 1470000000000000004551534A4A5250C0E7FAFAFAFAFAFAFAFAFADEAAD7B514 + 700000000000000042384C54472B613550C3FAFAFAFAFAFAFAFAFADEA1B0196F + 000000000000000024234463322EBC5A3664E3ECE9E9E9E9E9E9E9CF90731300 + 000000000000003A3C00002232298B8B3E3B207E8B7E8B7E827E817E74100000 + 0000000000000000000000003227000000000000000000000000000000000000 + 000000000000FFFFFFFFF800000FF800000FF800000FF800000FF800000FF800 + 000FF800000FF800000FF800000FF800000FF800000FF800000FF800000FF800 + 000FF800000FF800000FF800000FF800000F9800000FC000000FC000000FC000 + 000FE000000F0000000F0000000FE000000FE000001FC000003FC000007F9800 + 00FFFCFFFFFF2800000020000000400000000100200000000000801000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000007067 + 5F70AA9382E570513CE3735540E3735540E3735540E3735540E3735540E37355 + 40E3735540E3735540E3735540E3735540E3735540E3735540E3735540E37355 + 40E3735540E3735540E3735540E3735540E3735540E3735540E372533EE5BAAB + A070000000000000000000000000000000000000000000000000000000005E54 + 4C7FCAB7ABFFC5B5AAFFA18877FFA28A78FFA28A79FFA28A79FFA28A79FFA28A + 79FFA28A79FFA28A79FFA28A79FFA28A79FFA28A79FFA28A79FFA28A79FFA28A + 79FFA28A79FFA28A79FFA28A79FFA28A79FFA28A79FFA58D7CFF7A5B46FFB2A1 + 967F000000000000000000000000000000000000000000000000000000006055 + 4D7ED7C6BBFFEDE4E0FFD9CCC4FFD9CCC4FFD9CBC3FFD8CAC1FFD7C9BFFFD6C7 + BDFFD5C6BBFFD4C4BAFFD3C3B8FFD2C1B7FFD1C0B5FFD0BEB3FFCFBDB2FFCEBC + B0FFCEBBAFFFCEBBAFFFCEBBAFFFCEBBAFFFCEBCB0FFBEAA9CFF82644FFFB2A1 + 967E000000000000000000000000000000000000000000000000000000006056 + 4D7ED7C8BCFFF2EBE8FFEFE9E5FFEEE7E2FFECE5E0FFEBE2DEFFEAE0DBFFE9DE + D8FFE7DBD4FFE5D9D1FFE3D7CFFFE2D4CCFFE1D2C9FFDFD0C7FFDDCDC4FFDCCB + C2FFDBC9BFFFDBC9BFFFDBC9BFFFDBC9BFFFDCCAC1FFC1AC9FFF81634FFFB2A1 + 967E000000000000000000000000000000000000000000000000000000006155 + 4E7ED8C9BDFFF3EDE9FFF1EAE6FFF0E9E6FFEEE6E1FFECE4DFFFEBE2DDFFEAE0 + DAFFE9DED7FFE7DBD4FFE5D9D1FFE3D7CFFFE2D4CCFFE1D2C9FFDFD0C7FFDDCD + C4FFDCCBC2FFDBC9BFFFDBC9BFFFDBC9BFFFDCCAC0FFC1AC9FFF81634FFFB2A1 + 967E000000000000000000000000000000000000000000000000000000006157 + 4E7ED9C9BFFFF4EFEDFFEFE8E3FFD0C2B9FFDFD5CEFFE0D5CEFFE0D4CCFFDED3 + CBFFDDD1C8FFDCCFC6FFDACCC4FFD9CBC1FFD8C9BFFFD7C7BDFFD6C5BBFFD5C4 + B9FFD3C2B7FFD2C0B5FFD2BFB4FFD2BFB4FFDAC8BEFFC1AC9FFF81634FFFB2A1 + 967E000000000000000000000000000000000000000000000000000000006256 + 4F7EDACCC0FFF5F2EFFFE5DDD9FF5C3821FFB0998AFFB8A394FFB8A394FFB9A3 + 94FFB8A495FFB9A597FFB9A698FFBAA698FFBBA799FFBBA89AFFBBA89BFFBCA8 + 9BFFBCA89BFFBCA89BFFBBA89AFFB49E8FFFD8C6BBFFC1AC9FFF81634FFFB2A1 + 967E000000000000000000000000000000000000000000000000000000006256 + 4F7EDBCBC1FFF8F4F3FFE7E0DBFF5F3C24FFD0BDB2FFDCCBC1FFDDCCC3FFE2D2 + CBFFE7DBD4FFEDE2DEFFF0E8E6FFF5F0EDFFF9F7F4FFFDFDFDFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFAF8F7FFB39D8DFFD8C6BBFFC1AC9FFF81634FFFB2A1 + 967E000000000000000000000000000000000000000000000000000000006256 + 4F7EDCCEC3FFFAF6F5FFE9E2DDFF5F3C24FFD2BFB5FFDFCDC4FFDECCC3FFE0CE + C6FFE4D4CDFFE9DDD6FFEFE4E0FFF1EAE8FFF7F1EFFFFBF8F6FFFFFEFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFCFBFAFFB5A090FFD9C7BEFFC1AD9FFF81634FFFB2A1 + 967E000000000000000000000000000000000000000000000000000000006257 + 4F7EDDCFC4FFFCF9F9FFE9E4E0FF5F3A23FF7C5D49FF7F5F4CFF7E5F4CFF7E60 + 4DFF7F614DFF816350FF826552FF836654FF846856FF856A57FF866B59FF876C + 5BFF876D5BFF876D5BFF866B59FF72523DFFD5C3B9FFC1AFA1FF81634FFFB2A1 + 967E000000000000000000000000000000000000000000000000000000006357 + 507EDECFC6FFFCFCFBFFF4F1F0FFC3B6AEFFC3B5ADFFC1B4ACFFC0B3AAFFBFB1 + A9FFBEB0A6FFBDAEA5FFBDACA3FFBCABA2FFBBAAA0FFBAA99FFFB8A69AFFB8A4 + 98FFB6A396FFB5A194FFB49F93FFB39D90FFDCCDC4FFC2AEA1FF81634FFFB2A1 + 967E000000000000000000000000000000000000000000000000000000006357 + 507EDFD2C7FFFEFEFDFFF9F5EFFFE8C696FFE9C799FFE8C697FFE7C596FFE7C4 + 95FFE6C394FFE5C293FFE4C091FFE4C090FFE3BF8FFFE2BD8CFFE9D5BFFFEBE1 + DCFFEADFD8FFE7DCD5FFE5DAD3FFE4D8D0FFE3D4CCFFC2AFA2FF81634FFFB2A1 + 967E000000000000000000000000000000000000000000000000000000006458 + 517EE0D3C8FFFFFFFFFFFAF5EFFFE3B77CFFE4B97FFFE2B87EFFE3B77DFFE2B7 + 7CFFE2B67BFFE1B57AFFE1B479FFE0B478FFE0B377FFDFB174FFE6D0B7FFEBE1 + DCFFE8DFD9FFE8DDD6FFE6D9D2FFE3D8D1FFE4D7CFFFC3AFA2FF81634FFFB2A1 + 967E000000000000000000000000000000000000000000000000000000006458 + 517EE1D2C9FFFFFFFFFFFEFEFDFFFEFFFFFFFCFDFEFFFBFBFBFFF9F7F8FFF8F5 + F6FFF7F3F2FFF5F1F0FFF4EFEEFFF1EDEBFFF0EBE9FFEEE9E6FFEDE6E2FFECE3 + DEFFEBE1DBFFE9DFD9FFE8DDD6FFE6DAD3FFE5D9D2FFC3B0A3FF81634FFFB2A1 + 967E000000000000000000000000000000000000000000000000000000006459 + 517EE1D4CAFFFFFFFFFFFDFDFCFFEEEBE8FFF5F2F0FFF4F0EFFFF3EFECFFF2ED + EAFFF1EBE8FFEEE9E5FFEFE7E3FFECE5E1FFEAE4DEFFEAE1DCFFE8E0DAFFE7DE + D8FFE6DDD6FFE5DBD4FFE4D8D1FFE2D6CEFFE6DBD4FFC3B1A4FF81634EFFB2A1 + 967E000000000000000000000000000000000000000000000000000000006559 + 527EE2D4CAFFFFFFFFFFF0ECEAFF5B361EFFAB9383FFB39D8EFFB39D8DFFB39D + 8DFFB29D8DFFB29C8DFFB29C8CFFB29C8CFFB29C8CFFB29C8CFFB29C8CFFB29C + 8CFFB29C8CFFB29C8CFFB29C8DFFB39D8EFFE3D8D0FFC4B1A4FF81634EFFB2A1 + 967E000000000000000000000000000000000000000000000000000000006559 + 527EE5D4CAFFFFFFFFFFF7F0EBFF5F3B24FFCCB8ADFFD7C5BAFFD9C7BDFFDCCC + C3FFE1D4CCFFE5DAD4FFE8E0DBFFEDE5E1FFF1EBE9FFF5F2EFFFF7F5F3FFF8F6 + F4FFF8F5F4FFF8F6F4FFF1EEEAFFB29C8DFFE6DAD3FFC4B2A5FF81634EFFB2A1 + 967E00000000000000000000000000000000000000000000000000000000685A + 527E9AC6C9FF35CFFEFF3DAEEBFF663E24FFD2BFB4FFE0CBBFFFE0C9BDFFE1CD + C4FFE4D5CDFFE9DED7FFEEE5E0FFF2EBE8FFF6F2F0FFFCF8F8FFFFFFFEFFFFFF + FFFFFFFFFFFFFFFFFFFFFCFAF9FFB49E8FFFE7DED7FFC5B3A6FF81634EFFB2A1 + 967E00000000000000000000000000000000007792910072A7A3001E33366957 + 4C7C86C1C8FF00BFFBFF079AEBFF6A3E23FF926D57FF5FA3C8FF4AC1E8FF6C9C + A2FF917260FF927767FF947A69FF957C6CFF977E6FFF998171FF9A8374FF9B85 + 76FF9C8678FF9C8678FF998274FF7D5E49FFE3D9D4FFC5B3A7FF81634EFFB2A1 + 967E00000000000000000000000000000000005A6F7000A9E5E40075AEAE5C90 + A5BD75D0E0FF00BFFAFF0CA3F4FF8A9A91FF3C7492FF03A4E4FF4AD5FFFF98C4 + CBFFB3A196FFB1A197FFB0A096FFB09F95FFAF9D92FFAF9C91FFAD9A8EFFAC99 + 8CFFAB988AFFAB9789FFAA9688FFA99386FFE8E0DAFFC5B4A7FF81634EFFB2A1 + 967E00000000000000000000000000000000000000002DA5BFC110C2FFFF4DD0 + FDFF64DBF9FF00B3FAFF09A8FEFF68D7FFFF04B5FFFF24CCFBFFAFD8CEFFF7DA + B8FFF3DBBBFFF3DBBAFFF2D9B9FFF1D8B7FFF0D7B4FFEED5B2FFF6EADDFFF9F6 + F4FFF7F3F1FFF5F1EEFFF5EFECFFF4EDEAFFF1EBE7FFC6B4A8FF81634EFFB2A1 + 967E00000000000000000000000000000000000000005F8A909142C7E4E960DE + F8FF64D7FAFF00B6FDFF00B8FDFF21B2FDFF1ECCF7FF93EBFCFFD2C69BFFE1AB + 63FFDFAC66FFDFAC66FFDFAC66FFDFAC66FFDFAC66FFDEA961FFEFDBC0FFF8F6 + F5FFF6F2F0FFF3EDEBFFECE2DCFFE9DFD9FFE5DBD6FFC2B1A4FF81634FFFB2A1 + 967E000000000000000000000000000E171A000E171A00040B145994A4A990EB + FCFF61F1F7FF13FAF7FF23F9F7FF93EDF7FF8CE5F8FFD5F2FDFFE9F8FFFFE7F8 + FFFFF0FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFDFEFFFFFAFAF9FFF9F7 + F5FFF7F2F0FFE8DFD8FFC7AE9FFFBEA998FFAF9888FFB09A8AFF7F604DFFB2A1 + 967E00000000000000000000000000AAFFFF00AAFFFF00AAFFFF00A4FFFF00CD + FAFF5DFCF9FFFFFFFFFFEEFEFEFF00FBF7FF00AAFEFF00A1FFFF00A1FFFF00A0 + FFFF56C3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFDFBFFFCFBFAFFFBFA + F8FFE6DDD6FFAA9180FF5D3922FF603D26FF613E27FF613E28FF634029FFB4A3 + 987E00000000000000000000000000CAFFFF00CAFFFF00CBFFFF00B0FFFF00CD + FBFF38F5F7FFC3EFFAFFF0FFFEFF00FAF7FF00C8F7FF00C2F7FF00C2F7FF00C1 + F7FF57D7FAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFDFDFCFFFCFC + FBFFE7DED8FFCCB9ACFFE6DBD5FFE2D7D0FFDCCFC5FFD7C5BBFF8E705DFFB4A2 + 9680000000000000000000000000002E383C002E383C00252F364C99B0B57DE8 + FBFF59F1F7FF25F7F7FF41FAF8FF7CEEF7FF77E4F7FFB5EFFCFFC6F2FDFFC3F2 + FDFFD9F6FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFEFEFFFEFE + FEFFE9E1DAFFCEBCAFFFF1E9E3FFEADFD8FFE4D5CCFF9D816FFF3A291F868985 + 831C00000000000000000000000000000000000000004E7073774AB0DADC37C9 + FBFF22D5F7FF00D3F9FF02C3FBFF37D5F7FF34BEFCFFA2E6FAFFECFBFDFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFF + FFFFEAE2DCFFCDBBADFFEADFD8FFE3D5CBFF9F8271FF3E2D2386050100200000 + 000000000000000000000000000000000000000000003E9CC4C219C0FFFF23C9 + FCFF30D3F8FF00BEF8FF06A8FEFF4FDCF8FF00B8FCFF32C2FBFFC0EBFCFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFEAE3DEFFCDB9ABFFDDCEC4FFA58979FF3E2C1F8F0905041B000000000000 + 000000000000000000000000000000000000003451510099DDDB0091C0C35DAD + BCCF76D7E9FF00BEF9FF10A9FBFFBDDEDEFF5AC8DDFF0AB5F7FF62CEFFFFCBE4 + F1FFF1E7E0FFEFE7E1FFEEE6E1FFEEE6E1FFEEE6E0FFEDE6E0FFEDE5E0FFEEE6 + E1FFE1D4CCFFC5AE9FFFA68D7FF53E2718A10402000E00000000000000000000 + 0000000000000000000000000000000000000075B7AF0099C7C500323E425442 + 3B5C6BA8B1DA00C1FCFF0EA1F3F8A98E80C0AB9081C12698B1C10088C4C14C85 + A3C1A18D80C19E8D81C19E8B81C19D8C80C19B8C7FC19B8A7FC19C897FC19A89 + 7EC19B8B7EC1897769C2432B1BAC000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000045565A00C5FFFF0094E6E2000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000FFFFFFFFF0000007F0000007F0000007F000 + 0007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F000 + 0007F0000007F0000007F0000007F0000007F0000007F0000007800000078000 + 0007C0000007C000000700000007000000070000000700000007C000000FC000 + 001F8000003F800000FFF8FFFFFF} + Width = 450 + Left = 72 + Top = 16 + end +end diff --git a/Source/Modulos/Relaciones/Facturas proforma - Facturas de cliente/uGenerarFacturasCliFacProformaUtils.pas b/Source/Modulos/Relaciones/Facturas proforma - Facturas de cliente/uGenerarFacturasCliFacProformaUtils.pas new file mode 100644 index 0000000..6259426 --- /dev/null +++ b/Source/Modulos/Relaciones/Facturas proforma - Facturas de cliente/uGenerarFacturasCliFacProformaUtils.pas @@ -0,0 +1,317 @@ +unit uGenerarFacturasCliFacProformaUtils; + +interface + +uses + Windows, SysUtils, Classes, uBizFacturasProforma, uBizFacturasCliente, pngimage, JSDialog; + +type + TdmGenerarFacturasCliFacProforma = class(TDataModule) + JsListaFacturasGeneradas: TJSDialog; + end; + + function GenerarFacturaCliFacProforma(const IDFacturaProforma : Integer; const CopiarDetalles: Boolean = True) : Boolean; overload; + function GenerarFacturaCliFacProforma(AFacturaProforma : IBizFacturaProforma; FechaFacturaNueva:TDateTime; const CopiarDetalles: Boolean = True) : Boolean; overload; + function GenerarFacturaCliFacProforma : Boolean; overload; + + //Siempre se hará una relación 1 a 1 entre facturas proforma y facturas + function GenerarFacturas(AFacturas : IBizFacturaCliente; AFacturaProforma : IBizFacturaProforma; FechaFacturaNueva:TDateTime; const CopiarDetalles: Boolean = True): Boolean; + +implementation + +{$R *.dfm} + +uses + DB, uDialogUtils, uDADataTable, uControllerDetallesBase, uEditorFechaFacturaFinal, + uBizDetallesFacturaCliente, uBizDetallesFacturaProforma, + uFacturasProformaController, uDetallesFacturaClienteController, + uFacturasClienteController, schFacturasClienteClient_Intf, schFacturasProformaClient_Intf; + + +var + dmGenerarFacturasCliFacProforma: TdmGenerarFacturasCliFacProforma; + AFacturasClienteController : IFacturasClienteController; + AFacturasProformaController : IFacturasProformaController; + ADetallesAlbaranesClienteController : IDetallesFacturaClienteController; + +procedure CopiarArticulosFacturaProforma(AOrigen: IBizDetallesFacturaProforma; + ADestino : IBizDetallesFacturaCliente); +var + i : integer; + ADetallesController : IDetallesFacturaClienteController; +begin + if not Assigned(AOrigen) then + raise Exception.Create ('Origen no asignado (CopiarArticulosFacturaProforma)'); + + if not Assigned(ADestino) then + raise Exception.Create ('Destino no asignado (CopiarArticulosFacturaProforma)'); + + if not AOrigen.DataTable.Active then + AOrigen.DataTable.Active := True; + + if not ADestino.DataTable.Active then + ADestino.DataTable.Active := True; + + ADetallesController := TDetallesFacturaClienteController.Create; + try + //OJO IMPORTANTE + //Siempre que vayamos a trabajar con los detalles debemos hacer un beginupdate de los mismos y un endupdate para + //obligarle siempre a recalcular los detalles una sola vez + ADetallesController.BeginUpdate(ADestino); + + AOrigen.DataTable.First; + for i := 0 to AOrigen.DataTable.RecordCount - 1 do + begin + ADetallesController.Add(ADestino, TIPO_DETALLE_CONCEPTO); + ADestino.Edit; +// ADestino.REFERENCIA := AOrigen.REFERENCIA; + if AOrigen.ID_ARTICULO > 0 then + ADestino.ID_ARTICULO := AOrigen.ID_ARTICULO; + ADestino.CONCEPTO := AOrigen.CONCEPTO; + ADestino.CANTIDAD := AOrigen.CANTIDAD; + ADestino.IMPORTE_UNIDAD := AOrigen.IMPORTE_UNIDAD; + ADestino.IMPORTE_TOTAL := AOrigen.IMPORTE_TOTAL; + ADestino.DESCUENTO := AOrigen.DESCUENTO; + ADestino.IMPORTE_PORTE := AOrigen.IMPORTE_PORTE; + ADestino.VISIBLE := AOrigen.VISIBLE; +// ADestino.REFERENCIA_PROVEEDOR := AOrigen.REFERENCIA_PROVEEDOR; + ADestino.Post; + AOrigen.Next; + end; + finally + ADetallesController.EndUpdate(ADestino); + ADetallesController := NIL; + end; +end; + +procedure Inicializar; +begin + dmGenerarFacturasCliFacProforma := TdmGenerarFacturasCliFacProforma.Create(nil); + AFacturasClienteController := TFacturasClienteController.Create; + AFacturasProformaController := TFacturasProformaController.Create; +// ADetallesAlbaranesClienteController := TDetallesFacturaClienteController.Create; +end; + +procedure Finalizar; +begin + FreeAndNIL(dmGenerarFacturasCliFacProforma); + AFacturasClienteController := nil; + AFacturasProformaController := nil; +// ADetallesAlbaranesClienteController := nil; +end; + +function GenerarFacturaCliFacProforma(const IDFacturaProforma : Integer; const CopiarDetalles: Boolean = True) : Boolean; overload; +var + AFacturaProforma : IBizFacturaProforma; + AFechaFactura: TDateTime; +begin + Result := False; + try + if not Assigned(AFacturasProformaController) then + Inicializar; + + AFacturaProforma := AFacturasProformaController.Buscar(IDFacturaProforma); + if Assigned(AFacturaProforma) then + begin + //Preguntamos la fecha que deseamos tengan la factura a generar + with TfEditorFechaFacturaFinal.Create(Nil) do + begin + ShowModal; + AFechaFactura := eFechaFactura.Date; + Free; + end; + Result := GenerarFacturaCliFacProforma(AFacturaProforma, AFechaFactura); + end; + + if Assigned(AFacturasProformaController) then + Finalizar; + + finally + AFacturaProforma := NIL; + end; +end; + +function GenerarFacturaCliFacProforma(AFacturaProforma : IBizFacturaProforma; FechaFacturaNueva:TDateTime; const CopiarDetalles: Boolean = True) : Boolean; overload; +var + AFacturasNuevas : IBizFacturaCliente; + i: Integer; +begin + Result := False; + + if not Assigned(AFacturaProforma) then + raise Exception.Create('Factura proforma no asignada (GenerarFacturaCliFacProforma)'); + + if not AFacturaProforma.DataTable.Active then + AFacturaProforma.DataTable.Active := True; + + if not Assigned(AFacturasProformaController) then + Inicializar; + + try + AFacturasNuevas := AFacturasClienteController.Nuevo(False); + if GenerarFacturas(AFacturasNuevas, AFacturaProforma, FechaFacturaNueva, CopiarDetalles) then + begin + if AFacturasNuevas.DataTable.RecordCount = 1 then + ShowInfoMessage('La factura se ha dado de alta con el código ' + AFacturasNuevas.REFERENCIA) + else begin + with dmGenerarFacturasCliFacProforma.JsListaFacturasGeneradas.Content do + begin + Clear; + AFacturasNuevas.DataTable.Last; + for i := 0 to AFacturasNuevas.DataTable.RecordCount - 1 do + begin + if Length(AFacturasNuevas.REFERENCIA) > 0 then + Add(AFacturasNuevas.REFERENCIA + ': ' + AFacturasNuevas.NOMBRE); + AFacturasNuevas.DataTable.Prior; + end; + end; + dmGenerarFacturasCliFacProforma.JsListaFacturasGeneradas.Execute; + end; + + Result := True; + end; + + finally + AFacturasNuevas := NIL; + if Assigned(AFacturasProformaController) then + Finalizar; + end; +end; + +function GenerarFacturaCliFacProforma : Boolean; overload; +var + AFacturasProforma : IBizFacturaProforma; + AFechaFactura: TDateTime; +begin + Result := False; + try + if not Assigned(AFacturasProformaController) then + Inicializar; + +// AFacturasProforma := AFacturasProformaController.ElegirFacturasProforma(AFacturasProformaController.BuscarSinFacturar, +// 'Elija la factura proforma que desea utilizar para dar de alta la factura.' , True); + + if Assigned(AFacturasProforma) then + begin + //Preguntamos la fecha que deseamos tengan las facturas a generar + with TfEditorFechaFacturaFinal.Create(Nil) do + begin + ShowModal; + AFechaFactura := eFechaFactura.Date; + Free; + end; + + Result := GenerarFacturaCliFacProforma(AFacturasProforma, AFechaFactura); + end; + + if Assigned(AFacturasProformaController) then + Finalizar; + finally + AFacturasProforma := Nil; + end; +end; + +function GenerarFacturas(AFacturas : IBizFacturaCliente; AFacturaProforma : IBizFacturaProforma; FechaFacturaNueva:TDateTime; const CopiarDetalles: Boolean = True): Boolean; +var + AFacturaActual : IBizFacturaCliente; + AFacturasProformaController : IFacturasProformaController; + I: Integer; + bEnEdicion : Boolean; +begin + // ATENCIÓN!!! AFacturas tiene que estar vacio para no pisar facturas + // ya generadas. + if not Assigned(AFacturas) then + raise Exception.Create ('Factura no asignada (Anadir)'); + + if not Assigned(AFacturaProforma) then + raise Exception.Create ('FacturaProforma no asignada (Anadir)'); + + if not AFacturas.DataTable.Active then + AFacturas.DataTable.Active := True; + + if not AFacturaProforma.DataTable.Active then + AFacturaProforma.DataTable.Active := True; + + AFacturasProformaController := TFacturasProformaController.Create; + try + // Ordenar por fecha de albaran + AFacturaProforma.DataTable.Sort([fld_FacturasProformaFECHA_FACTURA], [uDADataTable.sdAscending]); + AFacturaProforma.First; + for I := 0 to AFacturaProforma.DataTable.RecordCount - 1 do + begin + AFacturaProforma._Cliente := NIL; + AFacturaActual := NIL; + + // Creo una factura nueva + AFacturasClienteController.Anadir(AFacturas); + //Asignamos a la factura la fecha pasada por parametro + AFacturas.FECHA_FACTURA := FechaFacturaNueva; + AFacturas.BASE_IMPONIBLE := AFacturaProforma.BASE_IMPONIBLE; + AFacturas.DESCUENTO := AFacturaProforma.DESCUENTO; + AFacturas.IMPORTE_DESCUENTO := AFacturaProforma.IMPORTE_DESCUENTO; + AFacturas.IVA := AFacturaProforma.IVA; + AFacturas.IMPORTE_IVA := AFacturaProforma.IMPORTE_IVA; + AFacturas.RE := AFacturaProforma.RE; + AFacturas.IMPORTE_RE := AFacturaProforma.IMPORTE_RE; + AFacturas.IMPORTE_TOTAL := AFacturaProforma.IMPORTE_TOTAL; +// AFacturas.OBSERVACIONES := AFacturaProforma.OBSERVACIONES; + AFacturas.ID_CLIENTE := AFacturaProforma.ID_CLIENTE; + AFacturas.NIF_CIF := AFacturaProforma.NIF_CIF; + AFacturas.NOMBRE := AFacturaProforma.NOMBRE; + AFacturas.ID_DIRECCION := AFacturaProforma.ID_DIRECCION; + AFacturas.CALLE := AFacturaProforma.CALLE; + AFacturas.POBLACION := AFacturaProforma.POBLACION; + AFacturas.CODIGO_POSTAL := AFacturaProforma.CODIGO_POSTAL; + AFacturas.ID_FORMA_PAGO := AFacturaProforma.ID_FORMA_PAGO; + AFacturas.IMPORTE_NETO := AFacturaProforma.IMPORTE_NETO; + AFacturas.IMPORTE_PORTE := AFacturaProforma.IMPORTE_PORTE; + AFacturas.ID_TIPO_IVA := AFacturaProforma.ID_TIPO_IVA; + AFacturas.RECARGO_EQUIVALENCIA := AFacturaProforma.RECARGO_EQUIVALENCIA; + AFacturaActual := AFacturas; + + //Importante recuperamos el objeto cliente para que no nos falle el procesamiento de la factura + AFacturasClienteController.RecuperarCliente(AFacturaActual); + AFacturaActual.Cliente.DataTable.Active := True; + + + // Ya tengo la factura. Le añado los conceptos de la factura proforma + AFacturaActual.Detalles.DataTable.Last; + + //Se pone la referencia de la factura proforma y el total y nos olvidamos de los detalles + if not CopiarDetalles then + begin + AFacturasClienteController.DetallesController.Add(AFacturaActual.Detalles, TIPO_DETALLE_CONCEPTO); + with AFacturaActual.Detalles do + begin + Edit; + CONCEPTO := 'Factura proforma ' + AFacturaProforma.REFERENCIA + ' - ' + DateToStr(AFacturaProforma.FECHA_FACTURA); + CANTIDAD := 1; + IMPORTE_UNIDAD := AFacturaProforma.IMPORTE_TOTAL; + Post; + end; + end + //Se copian los detalles de la factura proforma a la factura + else + // Añado el contenido de la factura proforma + CopiarArticulosFacturaProforma(AFacturaProforma.Detalles, AFacturaActual.Detalles); + + + // Guardo la factura que acabo de generar o editar + AFacturaActual.CalcularImporteTotal; + AFacturasClienteController.Guardar(AFacturaActual); + // Asocio la factura con la factura proforma + AFacturaProforma.Edit; + AFacturaProforma.ID_FACTURA_FINAL := AFacturaActual.ID; + AFacturaProforma.Post; + AFacturasProformaController.Guardar(AFacturaProforma); + + AFacturaProforma.Next; + end; + Result := True; + finally + AFacturasProformaController := NIL; +// HideHourglassCursor + end; +end; + +end. diff --git a/Source/Modulos/Relaciones/Pedidos de cliente - Facturas proforma/PedCli_FacProforma_relation.dpk b/Source/Modulos/Relaciones/Pedidos de cliente - Facturas proforma/PedCli_FacProforma_relation.dpk new file mode 100644 index 0000000..329676a --- /dev/null +++ b/Source/Modulos/Relaciones/Pedidos de cliente - Facturas proforma/PedCli_FacProforma_relation.dpk @@ -0,0 +1,40 @@ +package PedCli_FacProforma_relation; + +{$R *.res} +{$ALIGN 8} +{$ASSERTIONS ON} +{$BOOLEVAL OFF} +{$DEBUGINFO ON} +{$EXTENDEDSYNTAX ON} +{$IMPORTEDDATA ON} +{$IOCHECKS ON} +{$LOCALSYMBOLS ON} +{$LONGSTRINGS ON} +{$OPENSTRINGS ON} +{$OPTIMIZATION ON} +{$OVERFLOWCHECKS OFF} +{$RANGECHECKS OFF} +{$REFERENCEINFO ON} +{$SAFEDIVIDE OFF} +{$STACKFRAMES OFF} +{$TYPEDADDRESS OFF} +{$VARSTRINGCHECKS ON} +{$WRITEABLECONST OFF} +{$MINENUMSIZE 1} +{$IMAGEBASE $400000} +{$IMPLICITBUILD OFF} + +requires + rtl, + Contactos_model, + Contactos_controller, + PedidosCliente_model, + PedidosCliente_controller, + Base, + FacturasProforma_model, + FacturasProforma_controller; + +contains + uGenerarFacturasProformaUtils in 'uGenerarFacturasProformaUtils.pas' {dmGenerarFacturasProforma}; + +end. diff --git a/Source/Modulos/Relaciones/Pedidos de cliente - Facturas proforma/PedCli_FacProforma_relation.dproj b/Source/Modulos/Relaciones/Pedidos de cliente - Facturas proforma/PedCli_FacProforma_relation.dproj new file mode 100644 index 0000000..b6ce262 --- /dev/null +++ b/Source/Modulos/Relaciones/Pedidos de cliente - Facturas proforma/PedCli_FacProforma_relation.dproj @@ -0,0 +1,654 @@ + + + + {69494a8c-0a35-41ea-b8ec-ea790bfc0662} + PedCli_FacProforma_relation.dpk + Debug + AnyCPU + DCC32 + ..\..\..\..\Output\Debug\Cliente\PedCli_FacProforma_relation.bpl + + + 7.0 + False + False + 0 + .\ + .\ + .\ + ..\..\..\..\Output\Debug\Cliente + ..\..\Lib + ..\..\..\Lib;..\..\Lib + ..\..\..\Lib;..\..\Lib + ..\..\..\Lib;..\..\Lib + ..\..\..\Lib;..\..\Lib + RELEASE + + + 7.0 + .\ + .\ + .\ + ..\..\..\..\Output\Debug\Cliente + ..\..\Lib + ..\..\..\Lib;..\..\Lib + ..\..\..\Lib;..\..\Lib + ..\..\..\Lib;..\..\Lib + ..\..\..\Lib;..\..\Lib + + + Delphi.Personality + Package + +FalseTrueFalseFalseFalseFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.01.0.0.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Borland Sample Components + Delphi 1.0 Compatibility Components + Borland MyBase DataAccess Components + TeeChart Components + Borland SimpleDataset Component (DBX) + ExpressBars extended items by Developer Express Inc. + ExpressBars by Developer Express Inc. + ExpressScheduler 2 by Developer Express Inc. + ExpressVerticalGrid by Developer Express Inc. + ExpressBars DBNavigator by Developer Express Inc. + ExpressBars extended DB items by Developer Express Inc. + ExpressSideBar by Developer Express Inc. + JVCL Band Objects + JVCL Non-Visual Components + JVCL Encryption and Compression Components + JVCL Dialog Components + JVCL Docking Components + JVCL DotNet Controls + JVCL EDI Components Designtime Package + JVCL HMI Controls design time unit + JVCL Interpreter Components + JVCL Jans Components + JVCL Managed Threads + JVCL Multimedia and Image Components + JVCL Network Components + JVCL Page Style Components + JVCL Plugin Components + JVCL Print Preview Components + JVCL Runtime Design Components + JVCL Time Framework + JVCL Unified Interbase Components + JVCL Validators and Error Provider Components + SMImport suite: data importing into dataset. Scalabium/Mike Shkolnik, 2000-2005 + SMExport suite: data export from dataset. Written by Mike Shkolnik/Scalabium, 1998-2004. + Intraweb 8.0 Design Package for Borland Development Studio 2006 + Internet Explorer Components + PedCli_FacProforma_relation.dpk + + + + + MainSource + + + + + + + + + + +
dmGenerarFacturasProforma
+
+
+
+ diff --git a/Source/Modulos/Relaciones/Pedidos de cliente - Facturas proforma/PedCli_FacProforma_relation.rc b/Source/Modulos/Relaciones/Pedidos de cliente - Facturas proforma/PedCli_FacProforma_relation.rc new file mode 100644 index 0000000..153736a --- /dev/null +++ b/Source/Modulos/Relaciones/Pedidos de cliente - Facturas proforma/PedCli_FacProforma_relation.rc @@ -0,0 +1,22 @@ +1 VERSIONINFO +FILEVERSION 1,0,0,0 +PRODUCTVERSION 1,0,0,0 +FILEFLAGSMASK 0x3FL +FILEFLAGS 0x00L +FILEOS 0x40004L +FILETYPE 0x1L +FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "0C0A04E4" + BEGIN + VALUE "FileVersion", "1.0.0.0\0" + VALUE "ProductVersion", "1.0.0.0\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x0C0A, 1252 + END +END diff --git a/Source/Modulos/Relaciones/Pedidos de cliente - Facturas proforma/uGenerarFacturasProformaUtils.dfm b/Source/Modulos/Relaciones/Pedidos de cliente - Facturas proforma/uGenerarFacturasProformaUtils.dfm new file mode 100644 index 0000000..37cf59a --- /dev/null +++ b/Source/Modulos/Relaciones/Pedidos de cliente - Facturas proforma/uGenerarFacturasProformaUtils.dfm @@ -0,0 +1,313 @@ +object dmGenerarFacturasProforma: TdmGenerarFacturasProforma + OldCreateOrder = False + Height = 176 + Width = 254 + object JsListaFacturasProformaGeneradas: TJSDialog + DialogOptions = [doCommandLinks, doModal] + Glyph.Data = { + 0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000001C00 + 00001C0806000000720DDF940000000970485973000017120000171201679FD2 + 520000000467414D410000B18E7CFB5193000003104944415478DAAD96FB4B14 + 5114C7CFE463DC1E606444BFF54424D3DC55CA52B1CCD7165A219905054182FD + 1452FD5810FD100406610A669A998FC4F5BDB6266265DAB60F5DD15E58FE03B2 + 3F99D29ABBA7B9779C71C61D9D6177CFCE70CFDCB97B3EF7DCF3BD33C38082FD + B502B2B300CC656020048688A24F036233A0671F40D43160BA87BF62AEEE1010 + 60D7AE293AD8B835815E9B625C80DC8F1E88D4A7C1E8C1FB8F9FD6C3C44035B3 + 21500A65F6D700FE2EA580A5EC551F4A50359316B31D76EFDC0EE5F72A645045 + A067AE0623074B8140891108F1057064CC0D556053DF173812B707E6DCF332A8 + 225080D201DB4AF99BF335B4D502F371415BCC364833C4C29F458F0C2A031281 + 081734AB0B3C88403C1E6E3E2E7960F6A8FFD27A7D3EF07A11DA2C76C84A8D87 + A57FCB32E8B8A54A4C8C21B59365C9015996EF2240B6634DF435B51460A46D1F + 70C093AA46BF09C980C12CA914E6F371ADD707EF1DB3B0B0B8006EB79B8EA96B + EA5106121851245129118FD8BFA2DC5C53C6BAF5EBBBBA97C2D64EC064195B1F + 286C76E956A0EA5C51AEB4764A9929F5750D5A9581D2274B9B651C0BA2F514A8 + 6F28E36B70AD9A4253EF97A9AA55B0CEBA87D03B645B3F43C1DE589C58186D10 + 81150FCAC57B11E161B04517099BB953C78643141B01BA28EEE4DAB0B04DE2B8 + CA460B9C399902E661BB3AB0F5AD038BF30CD4D7E7DD14815A61023027DD00EF + 469C1A80FD1C307F1578FD4A81E665945AD68924181A9D5007B6F4DBF1527E32 + F5C9D3632351F8F549AEE916B14EAA039BCD362C31A6040D23E7887D4A03B0CF + 86C5C6641A24BB7646D3F2D51A77F8C1BCDCFFC79CD3EAC0D7BD56AE86294165 + 4660CB5C6B737DD3062CCA31D00069E76E05241862CF1EDD05E7D40F756063CF + 673C7F5A4F679A59541EF03E4C8C3B0893DF67D481AFBAC7B0F05412CD30EBE2 + ED80F7617CEC0198FEF94B1BF06C6622AD4B4EC99D80F7A1666043D7281A3312 + FD84C20B8417C3AA789405239826E0CBCE4F98979E10344C33B0BE630473D312 + 82866906D6993E62F6F1C3F45D160A5305BE68FF8095CF5B4302134CFE1185EA + 1FB8A1B4FF4FE32FF6FADB8B5E0000000049454E44AE426082} + Instruction.Text = 'Se ha generado el albar'#225'n de cliente' + Instruction.Glyph.Data = { + 0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000001C00 + 00001C0806000000720DDF940000000970485973000017120000171201679FD2 + 520000000467414D410000B18E7CFB5193000003104944415478DAAD96FB4B14 + 5114C7CFE463DC1E606444BFF54424D3DC55CA52B1CCD7165A219905054182FD + 1452FD5810FD100406610A669A998FC4F5BDB6266265DAB60F5DD15E58FE03B2 + 3F99D29ABBA7B9779C71C61D9D6177CFCE70CFDCB97B3EF7DCF3BD33C38082FD + B502B2B300CC656020048688A24F036233A0671F40D43160BA87BF62AEEE1010 + 60D7AE293AD8B835815E9B625C80DC8F1E88D4A7C1E8C1FB8F9FD6C3C44035B3 + 21500A65F6D700FE2EA580A5EC551F4A50359316B31D76EFDC0EE5F72A645045 + A067AE0623074B8140891108F1057064CC0D556053DF173812B707E6DCF332A8 + 225080D201DB4AF99BF335B4D502F371415BCC364833C4C29F458F0C2A031281 + 081734AB0B3C88403C1E6E3E2E7960F6A8FFD27A7D3EF07A11DA2C76C84A8D87 + A57FCB32E8B8A54A4C8C21B59365C9015996EF2240B6634DF435B51460A46D1F + 70C093AA46BF09C980C12CA914E6F371ADD707EF1DB3B0B0B8006EB79B8EA96B + EA5106121851245129118FD8BFA2DC5C53C6BAF5EBBBBA97C2D64EC064195B1F + 286C76E956A0EA5C51AEB4764A9929F5750D5A9581D2274B9B651C0BA2F514A8 + 6F28E36B70AD9A4253EF97A9AA55B0CEBA87D03B645B3F43C1DE589C58186D10 + 81150FCAC57B11E161B04517099BB953C78643141B01BA28EEE4DAB0B04DE2B8 + CA460B9C399902E661BB3AB0F5AD038BF30CD4D7E7DD14815A61023027DD00EF + 469C1A80FD1C307F1578FD4A81E665945AD68924181A9D5007B6F4DBF1527E32 + F5C9D3632351F8F549AEE916B14EAA039BCD362C31A6040D23E7887D4A03B0CF + 86C5C6641A24BB7646D3F2D51A77F8C1BCDCFFC79CD3EAC0D7BD56AE86294165 + 4660CB5C6B737DD3062CCA31D00069E76E05241862CF1EDD05E7D40F756063CF + 673C7F5A4F679A59541EF03E4C8C3B0893DF67D481AFBAC7B0F05412CD30EBE2 + ED80F7617CEC0198FEF94B1BF06C6622AD4B4EC99D80F7A1666043D7281A3312 + FD84C20B8417C3AA789405239826E0CBCE4F98979E10344C33B0BE630473D312 + 82866906D6993E62F6F1C3F45D160A5305BE68FF8095CF5B4302134CFE1185EA + 1FB8A1B4FF4FE32FF6FADB8B5E0000000049454E44AE426082} + Instruction.Icon = tdiCustom + CustomButtons = < + item + Caption = 'Ver la factura proforma' + Value = 100 + Info.Strings = ( + 'Mostrar la factura proforma que se ha creado') + end> + ButtonBar.Buttons = [cbOK] + ButtonBar.Cancel = cbOK + ButtonBar.UseCancel = False + MainIcon = tdiCustom + Title = 'FactuGES' + Position = dpMainFormCenter + Icon.Data = { + 0000010003002020100001000400E8020000360000002020000001000800A808 + 00001E0300002020000001002000A8100000C60B000028000000200000004000 + 0000010004000000000000020000000000000000000000000000000000000000 + 000000008000008000000080800080000000800080008080000080808000C0C0 + C0000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF000000 + 0000000000000000000000000000000008777777777777777777777700000000 + 0877767777677776777767760000000008F88888888888888888888700000000 + 08F8FF8F8F888888888888860000000008FF8F8F88F8F8888888888C00000000 + 08F88888F8888888888888860000000008F8688878E8888E88E8788700000000 + 08F8688888F8F8FFFFFF88760000000008FF4888888F8FFFFFFF788700000000 + 08F8676767677677677658E50000000008FF8888888887878787888700000000 + 08FF8887887E8888888888860000000008FFE8E8E788C8E8FF8F8F8600000000 + 08FFF8F8F8F8FF8F88F8F8870000000008FFFFFF8FF8F8F8F88F888600000000 + 0FF8477878787878788788860000000008FF68888888F8FF8F8F788700000000 + 08B7588888FF8FFFFFFF78860000083008BB47887776777777776F86000000B7 + 8B9B73BB88788787E87878870000008BB8B9BB78888888EFF8F8FF8600000087 + B8BB8B888E8E8E88FFF8F886000000088BBB888FFFFFFFFFF8F877770000B9BB + B8FFBB9B9BFFFFFFF87466460000BBB9BB8FBBBBB8FFFFFFF88F888700000008 + B8BB88888FFFFFFFF88F8F7700000008BBBBBB8FFFFFFFFFFF8887700000007B + B7B98BB8FFFFFFFFF8887700000000B78B9B87B888F88F88F8877000000007B0 + 08BB883B78888788787700000000000000B9000000000000000000000000FFFF + FFFFF800000FF800000FF800000FF800000FF800000FF800000FF800000FF800 + 000FF800000FF800000FF800000FF800000FF800000FF800000FF800000FF800 + 000FF800000FF800000F9800000FC000000FC000000FC000000FE000000F0000 + 000F0000000FE000000FE000001FC000003FC000007F980000FFFCFFFFFF2800 + 0000200000004000000001000800000000000004000000000000000000000001 + 00000001000000000000694731007C5D49007E604C0081635000826451008567 + 540085685500886B5900896D5B008A6E5D008B705F008E715F008B7260008C72 + 61008E74640084766C00957A6900977D6D00887B72009A8171009D8272009C84 + 76009D8778009F897B00A28A7900A08B7D00A18C7E00E1B06E00E1B67D003E7A + 970073A0A5007AA2B70074AFBD007BB2BB003CAACE0028A5DB0020ADDF000D9A + E500209EE3000DA6E2001AA4EF0000A6FF000CABFE0009ACFE0010A4F10015AC + FA0000B5FB0000B0FD000CB6FC0000BFF90000BAFD0004BAFD0009BBFB0013B6 + F40015BFFA001CBDFB0026B7FD00589EC50040A4CD0040ABCC0050A2C7005DAE + C00060A3C20062A4C60060B7CB006AB0CD007BB6C80077BAC80061BADD0044AD + E50000C3F80007C6FB0000CAF80000CFFB0000D4F90026C8FA0026CDF8002BCC + F90039C4FB0039C2FC0039CAFA003FCFFB0024D6F80030D2F80039D5F80000F8 + F8001FF8F8002CF6F8003EF4F8005AC6DC0070CDDF0052C0E40054C9E3004DCE + FA005FC7FF004FD2FB004DD9F8005FD9FB006ED3E70063CDFE0060D1FB0060D8 + F90060DDF80046F8F90056F0F8005FFAFA0073E3F80073E4F90073EEF80060F1 + F800958A84009A918C0081999500A68F8200AD968500A3968C00AE988900AD9A + 8D00B19A8B00AF9C9000B09E9200B59F9200B7A29300B2A19600B5A19400B7A4 + 9700BDA79700B4A39800B1A59D00B4A79F00BAA69800BCA79900B4A89F00BCA8 + 9900BAA89C00BDAA9D00BEAC9E0083ADBD00B5A9A100BDABA000BEADA100BFAF + A500A0BABE00C0AB9E00C1AC9E00C6AE9F00E2B98100E4BA8300E4BB8400E5BC + 8500E1BD8E00E3BF9000C0ADA000C2B0A300C2B1A500C4B2A600C1B2A800C3B5 + AB00C8B4A800CCB9AD00CEBCB100D0BEB200D1BFB400E4C19300E5C29400E6C4 + 9600E8C69900D0C9A300CFC1B800D2C1B600D3C3B800D5C4B900D6C6BC00D8C6 + BC00D6C8BE00DAC9BF00ECD3B000EDD4B200EFD6B500E7D1B800E7D3BD00F0D8 + B6008CB7C40080BEC70097C3C70099C3C900ABD7CF00AFD9DD0086E3F90086E7 + F90086ECF8009EE5FB0090E8F900ACEDFC00BCEAFD00BCF1FB00BFF1FD00D7C9 + C000D9CAC100DCCBC200DACCC200DDCCC300DACCC400DDCEC400DED0C600DED1 + C900DED3CC00DFD4CD00E1D1C900E2D5CD00F0DCC200E3D8D200E5D9D200E2DA + D500E6DBD400E5DCD500E8DDD600E6DDD800E9DFD900E6E0DB00EAE0DA00EAE2 + DD00ECE3DE00EBE4DE00ECE4DE00F3E7D900C6E1EF00C9EFFD00D7F6FD00DFF3 + FF00DFFEFE00EBE7E300EDE6E100EFE7E400EEE8E400F0EAE600F2EDE900F2EE + EC00F4EFEC00F5F0EE00F9F4ED00E7FAFD00EBF8FF00F6F2F000F7F4F100F8F4 + F200F9F7F500FAF8F600FBF9F900FCFBFA00FCFCFB00FEFEFE00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000007D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D + 0D0D0000000000000000009C9C19191919191919191919191919191919191919 + 1903000000000000000000ABDECBCBC7C7AFABABABABAAA3A2A2A0A0A0A0A0A0 + 8607000000000000000000ABECEAE9DEDEDEDED7D5D2D2D2CBCBCBCBB0CBB0CB + 9007000000000000000000ABEDECEAE9DEDEDBD7D7D5D2D2D2CDCDCBB0B0B0B0 + 9007000000000000000000AFEDE9A9CFD2CFD2CDCBCBCBB0B0ABACA3A3A3A3B0 + 9007000000000000000000AFF0D5017783838386868686869099909999907BB0 + 9007000000000000000000B0F4D501A0B0CBD2D5DEECEDF7FAFAFAFAFAF77BAA + 9007000000000000000000CBF4DC01A0B0B0B0D2D5DBEAEDF7FAFAFAFAF47BB0 + 9007000000000000000000CBF8DC010404070604090909090D0D110D110D02A3 + 9007000000000000000000CBFAED9E9E9E9C999E8C8C8C868683837E7D7D7ACB + 9007000000000000000000CBFAF1A7A7A6A6A6A69898989898B5DBDBD5D5D2D2 + 9907000000000000000000CDFAF796969696961D961D931D1DB4DEDBD7D5D5D2 + 9C07000000000000000000CFFAFAFAFAF8F7F0F0EDEDEDECE9E9DEDEDED7D5D5 + 9907000000000000000000CDFAFAEAF0EDEDECEAEAE9DEDEDBDCD5D5D5D5D2D5 + 9C07000000000000000000D2FAEC01737D7D7B7D7D7B7D7B7D7B7B7B7D7B7DD2 + 9907000000000000000000CFFAEC019EABB0CBD2D5DCDEECEDF4F4F4F4EA7BD2 + 9C07000000000000000000B9524601A0B0B0CBB5D5DEEAEDF7FAFAFAFAF47DD5 + 9C070000000000213F0000B83226010C3F5C1F111214141616191B1B1B1807D2 + 9C07000000000000253D8A5B322D711E2860BA7E7E7A7E797A797979767676D5 + 9E0700000000000041375E662F2B65314EBBB6B6B6B6B4B4B1E2F4EDEDEDECEA + 9C070000000000008F5D66663232394EC1A81C1C1C1C1C1C1CD3F7F4EDDED7D5 + 9C0700000000000000B7BE6E5758BEBDE4E6E6F3FAFAFAFAFAFAF7F4D5928675 + 7304000000002A2A2A2A4A6AFAE7562F2A2A2A5FFAFAFAFAFAFAF8D577010101 + 0101000000004747472F4A59C5E7564A32474766FAFAFAFAFAFAFADCA0D2CFB0 + A20C00000000000000436C6958686D6BC2C5C5E7FAFAFAFAFAFAFADEAADEDBCB + 1470000000000000004551534A4A5250C0E7FAFAFAFAFAFAFAFAFADEAAD7B514 + 700000000000000042384C54472B613550C3FAFAFAFAFAFAFAFAFADEA1B0196F + 000000000000000024234463322EBC5A3664E3ECE9E9E9E9E9E9E9CF90731300 + 000000000000003A3C00002232298B8B3E3B207E8B7E8B7E827E817E74100000 + 0000000000000000000000003227000000000000000000000000000000000000 + 000000000000FFFFFFFFF800000FF800000FF800000FF800000FF800000FF800 + 000FF800000FF800000FF800000FF800000FF800000FF800000FF800000FF800 + 000FF800000FF800000FF800000FF800000F9800000FC000000FC000000FC000 + 000FE000000F0000000F0000000FE000000FE000001FC000003FC000007F9800 + 00FFFCFFFFFF2800000020000000400000000100200000000000801000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000007067 + 5F70AA9382E570513CE3735540E3735540E3735540E3735540E3735540E37355 + 40E3735540E3735540E3735540E3735540E3735540E3735540E3735540E37355 + 40E3735540E3735540E3735540E3735540E3735540E3735540E372533EE5BAAB + A070000000000000000000000000000000000000000000000000000000005E54 + 4C7FCAB7ABFFC5B5AAFFA18877FFA28A78FFA28A79FFA28A79FFA28A79FFA28A + 79FFA28A79FFA28A79FFA28A79FFA28A79FFA28A79FFA28A79FFA28A79FFA28A + 79FFA28A79FFA28A79FFA28A79FFA28A79FFA28A79FFA58D7CFF7A5B46FFB2A1 + 967F000000000000000000000000000000000000000000000000000000006055 + 4D7ED7C6BBFFEDE4E0FFD9CCC4FFD9CCC4FFD9CBC3FFD8CAC1FFD7C9BFFFD6C7 + BDFFD5C6BBFFD4C4BAFFD3C3B8FFD2C1B7FFD1C0B5FFD0BEB3FFCFBDB2FFCEBC + B0FFCEBBAFFFCEBBAFFFCEBBAFFFCEBBAFFFCEBCB0FFBEAA9CFF82644FFFB2A1 + 967E000000000000000000000000000000000000000000000000000000006056 + 4D7ED7C8BCFFF2EBE8FFEFE9E5FFEEE7E2FFECE5E0FFEBE2DEFFEAE0DBFFE9DE + D8FFE7DBD4FFE5D9D1FFE3D7CFFFE2D4CCFFE1D2C9FFDFD0C7FFDDCDC4FFDCCB + C2FFDBC9BFFFDBC9BFFFDBC9BFFFDBC9BFFFDCCAC1FFC1AC9FFF81634FFFB2A1 + 967E000000000000000000000000000000000000000000000000000000006155 + 4E7ED8C9BDFFF3EDE9FFF1EAE6FFF0E9E6FFEEE6E1FFECE4DFFFEBE2DDFFEAE0 + DAFFE9DED7FFE7DBD4FFE5D9D1FFE3D7CFFFE2D4CCFFE1D2C9FFDFD0C7FFDDCD + C4FFDCCBC2FFDBC9BFFFDBC9BFFFDBC9BFFFDCCAC0FFC1AC9FFF81634FFFB2A1 + 967E000000000000000000000000000000000000000000000000000000006157 + 4E7ED9C9BFFFF4EFEDFFEFE8E3FFD0C2B9FFDFD5CEFFE0D5CEFFE0D4CCFFDED3 + CBFFDDD1C8FFDCCFC6FFDACCC4FFD9CBC1FFD8C9BFFFD7C7BDFFD6C5BBFFD5C4 + B9FFD3C2B7FFD2C0B5FFD2BFB4FFD2BFB4FFDAC8BEFFC1AC9FFF81634FFFB2A1 + 967E000000000000000000000000000000000000000000000000000000006256 + 4F7EDACCC0FFF5F2EFFFE5DDD9FF5C3821FFB0998AFFB8A394FFB8A394FFB9A3 + 94FFB8A495FFB9A597FFB9A698FFBAA698FFBBA799FFBBA89AFFBBA89BFFBCA8 + 9BFFBCA89BFFBCA89BFFBBA89AFFB49E8FFFD8C6BBFFC1AC9FFF81634FFFB2A1 + 967E000000000000000000000000000000000000000000000000000000006256 + 4F7EDBCBC1FFF8F4F3FFE7E0DBFF5F3C24FFD0BDB2FFDCCBC1FFDDCCC3FFE2D2 + CBFFE7DBD4FFEDE2DEFFF0E8E6FFF5F0EDFFF9F7F4FFFDFDFDFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFAF8F7FFB39D8DFFD8C6BBFFC1AC9FFF81634FFFB2A1 + 967E000000000000000000000000000000000000000000000000000000006256 + 4F7EDCCEC3FFFAF6F5FFE9E2DDFF5F3C24FFD2BFB5FFDFCDC4FFDECCC3FFE0CE + C6FFE4D4CDFFE9DDD6FFEFE4E0FFF1EAE8FFF7F1EFFFFBF8F6FFFFFEFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFCFBFAFFB5A090FFD9C7BEFFC1AD9FFF81634FFFB2A1 + 967E000000000000000000000000000000000000000000000000000000006257 + 4F7EDDCFC4FFFCF9F9FFE9E4E0FF5F3A23FF7C5D49FF7F5F4CFF7E5F4CFF7E60 + 4DFF7F614DFF816350FF826552FF836654FF846856FF856A57FF866B59FF876C + 5BFF876D5BFF876D5BFF866B59FF72523DFFD5C3B9FFC1AFA1FF81634FFFB2A1 + 967E000000000000000000000000000000000000000000000000000000006357 + 507EDECFC6FFFCFCFBFFF4F1F0FFC3B6AEFFC3B5ADFFC1B4ACFFC0B3AAFFBFB1 + A9FFBEB0A6FFBDAEA5FFBDACA3FFBCABA2FFBBAAA0FFBAA99FFFB8A69AFFB8A4 + 98FFB6A396FFB5A194FFB49F93FFB39D90FFDCCDC4FFC2AEA1FF81634FFFB2A1 + 967E000000000000000000000000000000000000000000000000000000006357 + 507EDFD2C7FFFEFEFDFFF9F5EFFFE8C696FFE9C799FFE8C697FFE7C596FFE7C4 + 95FFE6C394FFE5C293FFE4C091FFE4C090FFE3BF8FFFE2BD8CFFE9D5BFFFEBE1 + DCFFEADFD8FFE7DCD5FFE5DAD3FFE4D8D0FFE3D4CCFFC2AFA2FF81634FFFB2A1 + 967E000000000000000000000000000000000000000000000000000000006458 + 517EE0D3C8FFFFFFFFFFFAF5EFFFE3B77CFFE4B97FFFE2B87EFFE3B77DFFE2B7 + 7CFFE2B67BFFE1B57AFFE1B479FFE0B478FFE0B377FFDFB174FFE6D0B7FFEBE1 + DCFFE8DFD9FFE8DDD6FFE6D9D2FFE3D8D1FFE4D7CFFFC3AFA2FF81634FFFB2A1 + 967E000000000000000000000000000000000000000000000000000000006458 + 517EE1D2C9FFFFFFFFFFFEFEFDFFFEFFFFFFFCFDFEFFFBFBFBFFF9F7F8FFF8F5 + F6FFF7F3F2FFF5F1F0FFF4EFEEFFF1EDEBFFF0EBE9FFEEE9E6FFEDE6E2FFECE3 + DEFFEBE1DBFFE9DFD9FFE8DDD6FFE6DAD3FFE5D9D2FFC3B0A3FF81634FFFB2A1 + 967E000000000000000000000000000000000000000000000000000000006459 + 517EE1D4CAFFFFFFFFFFFDFDFCFFEEEBE8FFF5F2F0FFF4F0EFFFF3EFECFFF2ED + EAFFF1EBE8FFEEE9E5FFEFE7E3FFECE5E1FFEAE4DEFFEAE1DCFFE8E0DAFFE7DE + D8FFE6DDD6FFE5DBD4FFE4D8D1FFE2D6CEFFE6DBD4FFC3B1A4FF81634EFFB2A1 + 967E000000000000000000000000000000000000000000000000000000006559 + 527EE2D4CAFFFFFFFFFFF0ECEAFF5B361EFFAB9383FFB39D8EFFB39D8DFFB39D + 8DFFB29D8DFFB29C8DFFB29C8CFFB29C8CFFB29C8CFFB29C8CFFB29C8CFFB29C + 8CFFB29C8CFFB29C8CFFB29C8DFFB39D8EFFE3D8D0FFC4B1A4FF81634EFFB2A1 + 967E000000000000000000000000000000000000000000000000000000006559 + 527EE5D4CAFFFFFFFFFFF7F0EBFF5F3B24FFCCB8ADFFD7C5BAFFD9C7BDFFDCCC + C3FFE1D4CCFFE5DAD4FFE8E0DBFFEDE5E1FFF1EBE9FFF5F2EFFFF7F5F3FFF8F6 + F4FFF8F5F4FFF8F6F4FFF1EEEAFFB29C8DFFE6DAD3FFC4B2A5FF81634EFFB2A1 + 967E00000000000000000000000000000000000000000000000000000000685A + 527E9AC6C9FF35CFFEFF3DAEEBFF663E24FFD2BFB4FFE0CBBFFFE0C9BDFFE1CD + C4FFE4D5CDFFE9DED7FFEEE5E0FFF2EBE8FFF6F2F0FFFCF8F8FFFFFFFEFFFFFF + FFFFFFFFFFFFFFFFFFFFFCFAF9FFB49E8FFFE7DED7FFC5B3A6FF81634EFFB2A1 + 967E00000000000000000000000000000000007792910072A7A3001E33366957 + 4C7C86C1C8FF00BFFBFF079AEBFF6A3E23FF926D57FF5FA3C8FF4AC1E8FF6C9C + A2FF917260FF927767FF947A69FF957C6CFF977E6FFF998171FF9A8374FF9B85 + 76FF9C8678FF9C8678FF998274FF7D5E49FFE3D9D4FFC5B3A7FF81634EFFB2A1 + 967E00000000000000000000000000000000005A6F7000A9E5E40075AEAE5C90 + A5BD75D0E0FF00BFFAFF0CA3F4FF8A9A91FF3C7492FF03A4E4FF4AD5FFFF98C4 + CBFFB3A196FFB1A197FFB0A096FFB09F95FFAF9D92FFAF9C91FFAD9A8EFFAC99 + 8CFFAB988AFFAB9789FFAA9688FFA99386FFE8E0DAFFC5B4A7FF81634EFFB2A1 + 967E00000000000000000000000000000000000000002DA5BFC110C2FFFF4DD0 + FDFF64DBF9FF00B3FAFF09A8FEFF68D7FFFF04B5FFFF24CCFBFFAFD8CEFFF7DA + B8FFF3DBBBFFF3DBBAFFF2D9B9FFF1D8B7FFF0D7B4FFEED5B2FFF6EADDFFF9F6 + F4FFF7F3F1FFF5F1EEFFF5EFECFFF4EDEAFFF1EBE7FFC6B4A8FF81634EFFB2A1 + 967E00000000000000000000000000000000000000005F8A909142C7E4E960DE + F8FF64D7FAFF00B6FDFF00B8FDFF21B2FDFF1ECCF7FF93EBFCFFD2C69BFFE1AB + 63FFDFAC66FFDFAC66FFDFAC66FFDFAC66FFDFAC66FFDEA961FFEFDBC0FFF8F6 + F5FFF6F2F0FFF3EDEBFFECE2DCFFE9DFD9FFE5DBD6FFC2B1A4FF81634FFFB2A1 + 967E000000000000000000000000000E171A000E171A00040B145994A4A990EB + FCFF61F1F7FF13FAF7FF23F9F7FF93EDF7FF8CE5F8FFD5F2FDFFE9F8FFFFE7F8 + FFFFF0FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFDFEFFFFFAFAF9FFF9F7 + F5FFF7F2F0FFE8DFD8FFC7AE9FFFBEA998FFAF9888FFB09A8AFF7F604DFFB2A1 + 967E00000000000000000000000000AAFFFF00AAFFFF00AAFFFF00A4FFFF00CD + FAFF5DFCF9FFFFFFFFFFEEFEFEFF00FBF7FF00AAFEFF00A1FFFF00A1FFFF00A0 + FFFF56C3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFDFBFFFCFBFAFFFBFA + F8FFE6DDD6FFAA9180FF5D3922FF603D26FF613E27FF613E28FF634029FFB4A3 + 987E00000000000000000000000000CAFFFF00CAFFFF00CBFFFF00B0FFFF00CD + FBFF38F5F7FFC3EFFAFFF0FFFEFF00FAF7FF00C8F7FF00C2F7FF00C2F7FF00C1 + F7FF57D7FAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFDFDFCFFFCFC + FBFFE7DED8FFCCB9ACFFE6DBD5FFE2D7D0FFDCCFC5FFD7C5BBFF8E705DFFB4A2 + 9680000000000000000000000000002E383C002E383C00252F364C99B0B57DE8 + FBFF59F1F7FF25F7F7FF41FAF8FF7CEEF7FF77E4F7FFB5EFFCFFC6F2FDFFC3F2 + FDFFD9F6FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFEFEFFFEFE + FEFFE9E1DAFFCEBCAFFFF1E9E3FFEADFD8FFE4D5CCFF9D816FFF3A291F868985 + 831C00000000000000000000000000000000000000004E7073774AB0DADC37C9 + FBFF22D5F7FF00D3F9FF02C3FBFF37D5F7FF34BEFCFFA2E6FAFFECFBFDFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFF + FFFFEAE2DCFFCDBBADFFEADFD8FFE3D5CBFF9F8271FF3E2D2386050100200000 + 000000000000000000000000000000000000000000003E9CC4C219C0FFFF23C9 + FCFF30D3F8FF00BEF8FF06A8FEFF4FDCF8FF00B8FCFF32C2FBFFC0EBFCFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFEAE3DEFFCDB9ABFFDDCEC4FFA58979FF3E2C1F8F0905041B000000000000 + 000000000000000000000000000000000000003451510099DDDB0091C0C35DAD + BCCF76D7E9FF00BEF9FF10A9FBFFBDDEDEFF5AC8DDFF0AB5F7FF62CEFFFFCBE4 + F1FFF1E7E0FFEFE7E1FFEEE6E1FFEEE6E1FFEEE6E0FFEDE6E0FFEDE5E0FFEEE6 + E1FFE1D4CCFFC5AE9FFFA68D7FF53E2718A10402000E00000000000000000000 + 0000000000000000000000000000000000000075B7AF0099C7C500323E425442 + 3B5C6BA8B1DA00C1FCFF0EA1F3F8A98E80C0AB9081C12698B1C10088C4C14C85 + A3C1A18D80C19E8D81C19E8B81C19D8C80C19B8C7FC19B8A7FC19C897FC19A89 + 7EC19B8B7EC1897769C2432B1BAC000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000045565A00C5FFFF0094E6E2000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000FFFFFFFFF0000007F0000007F0000007F000 + 0007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F000 + 0007F0000007F0000007F0000007F0000007F0000007F0000007800000078000 + 0007C0000007C000000700000007000000070000000700000007C000000FC000 + 001F8000003F800000FFF8FFFFFF} + Width = 450 + Left = 104 + Top = 24 + end +end diff --git a/Source/Modulos/Relaciones/Pedidos de cliente - Facturas proforma/uGenerarFacturasProformaUtils.pas b/Source/Modulos/Relaciones/Pedidos de cliente - Facturas proforma/uGenerarFacturasProformaUtils.pas new file mode 100644 index 0000000..22892c9 --- /dev/null +++ b/Source/Modulos/Relaciones/Pedidos de cliente - Facturas proforma/uGenerarFacturasProformaUtils.pas @@ -0,0 +1,261 @@ +unit uGenerarFacturasProformaUtils; + +interface + +uses + Windows, SysUtils, Classes, pngimage, JSDialog, + uBizPedidosCliente, uBizFacturasProforma; + +type + TdmGenerarFacturasProforma = class(TDataModule) + JsListaFacturasProformaGeneradas: TJSDialog; + end; + + function GenerarFacturaProforma(const IDPedido : Integer) : Boolean; overload; + function GenerarFacturaProforma(APedido : IBizPedidoCliente; var AFactura: IBizFacturaProforma) : Boolean; overload; +// function ElegirPedidoYGenerarAlbaranCli(var IDAlbaran: Integer) : Boolean; + +implementation + +{$R *.dfm} + +uses + uDialogUtils, uBizDetallesPedidoCliente, uBizDetallesFacturaProforma, + uPedidosClienteController, uFacturasProformaController, uClientesController, + uDetallesFacturaProformaController, uControllerDetallesBase, + uBizContactos, schPedidosClienteClient_Intf, + schFacturasProformaClient_Intf, uDataTableUtils; + +var + dmGenerarFacturasProforma: TdmGenerarFacturasProforma; + APedidosClienteController : IPedidosClienteController; + AFacturasProformaController : IFacturasProformaController; + ADetallesFacturaProformaController : IDetallesFacturaProformaController; + AClientesController : IClientesController; + +{ Métodos auxiliares } +procedure CopiarPedidoAFactura(APedido: IBizPedidoCliente; AFactura : IBizFacturaProforma); +begin + if not Assigned(AFactura) then + raise Exception.Create ('Factura no asignada (CopiarPedidoAFactura)'); + + if not Assigned(APedido) then + raise Exception.Create ('Pedido no asignado (CopiarPedidoAFactura)'); + + if not APedido.DataTable.Active then + APedido.DataTable.Active := True; + + APedidosClienteController.RecuperarCliente(APedido); + APedido.Cliente.DataTable.Active := True; + AFactura.Cliente := APedido.Cliente; + AFactura.ID_PEDIDO := APedido.ID; + AFactura.IMPORTE_NETO := APedido.IMPORTE_NETO; + AFactura.IMPORTE_PORTE := APedido.IMPORTE_PORTE; + AFactura.DESCUENTO := APedido.DESCUENTO; + AFactura.IMPORTE_DESCUENTO := APedido.IMPORTE_DESCUENTO; + AFactura.BASE_IMPONIBLE := APedido.BASE_IMPONIBLE; + AFactura.IMPORTE_PORTE := APedido.IMPORTE_PORTE; + AFactura.IMPORTE_TOTAL := APedido.IMPORTE_TOTAL; + AFactura.ID_FORMA_PAGO := APedido.ID_FORMA_PAGO; +end; + +procedure CopiarDetallesAFactura(APedido: IBizPedidoCliente; AFactura: IBizFacturaProforma; + AArticulos: IBizDetallesPedidoCliente); +var + i : integer; + ADetalles : IBizDetallesFacturaProforma; + ADetallesController : IDetallesFacturaProformaController; +begin + if not Assigned(AFactura) then + raise Exception.Create ('Factura no asignada(CopiarDetallesAFactura)'); + + if not Assigned(APedido) then + raise Exception.Create ('Pedido no asignado (CopiarDetallesAFactura)'); + + if not Assigned(AArticulos) then + raise Exception.Create ('Artículos no asignado (CopiarDetallesAFactura)'); + + if not AArticulos.DataTable.Active then + AArticulos.DataTable.Active := True; + + // La factura tiene que venir ya abierto y posicionado donde hay que copiar + ADetalles := AFactura.Detalles; + ADetallesController := TDetallesFacturaProformaController.Create; + try + //OJO IMPORTANTE + //Siempre que vayamos a trabajar con los detalles debemos hacer un beginupdate de los mismos y un endupdate para + //obligarle siempre a recalcular los detalles una sola vez + ADetallesController.BeginUpdate(ADetalles); + + AArticulos.DataTable.First; + for i := 0 to AArticulos.DataTable.RecordCount - 1 do + begin + ADetallesController.Add(ADetalles, AArticulos.TIPO_DETALLE); + ADetalles.Edit; + ADetalles.REFERENCIA := AArticulos.REFERENCIA; + ADetalles.ID_ARTICULO := AArticulos.ID_ARTICULO; + ADetalles.CONCEPTO := AArticulos.CONCEPTO; + + if not AArticulos.CANTIDADIsNull then + ADetalles.CANTIDAD := AArticulos.CANTIDAD; + if not AArticulos.IMPORTE_UNIDADIsNull then + ADetalles.IMPORTE_UNIDAD := AArticulos.IMPORTE_UNIDAD; + if not AArticulos.IMPORTE_TOTALIsNull then + ADetalles.IMPORTE_TOTAL := AArticulos.IMPORTE_TOTAL; + if not AArticulos.DESCUENTOIsNull then + ADetalles.DESCUENTO := AArticulos.DESCUENTO; + if not AArticulos.IMPORTE_PORTEIsNull then + ADetalles.IMPORTE_PORTE := AArticulos.IMPORTE_PORTE; + + ADetalles.VISIBLE := AArticulos.VISIBLE; + ADetalles.REFERENCIA_PROVEEDOR := AArticulos.REFERENCIA_PROVEEDOR; + ADetalles.Post; + AArticulos.Next; + end; + + //Añadimos el importe de porte solo en el caso de que el pedido tenga. + if (APedido.IMPORTE_PORTE > 0) then + begin + AFacturasProformaController.DetallesController.Add(AFactura.Detalles, TIPO_DETALLE_CONCEPTO); + with AFactura.Detalles do + begin + Edit; + CONCEPTO := 'Porte del pedido '; + CANTIDAD := 1; + IMPORTE_UNIDAD := APedido.IMPORTE_PORTE; + Post; + end; + end; + + finally + ADetallesController.EndUpdate(ADetalles); + ADetallesController := NIL; + end; +end; + + +procedure Inicializar; +begin + dmGenerarFacturasProforma := TdmGenerarFacturasProforma.Create(nil); + APedidosClienteController := TPedidosClienteController.Create; + AFacturasProformaController := TFacturasProformaController.Create; +// ADetallesAlbaranesCliController := TDetallesAlbaranClienteController.Create; + AClientesController := TClientesController.Create; +end; + +procedure Finalizar; +begin + FreeAndNIL(dmGenerarFacturasProforma); + APedidosClienteController := nil; + AFacturasProformaController := nil; +// ADetallesFacturasProformaController := nil; + AClientesController := nil; +end; + + +function GenerarFacturaProforma(const IDPedido : Integer) : Boolean; overload; +var + APedido : IBizPedidoCliente; + AFactura : IBizFacturaProforma; +begin + Result := False; + + try + if not Assigned(APedidosClienteController) then + Inicializar; + + APedido := APedidosClienteController.Buscar(IDPedido); + if Assigned(APedido) then + Result := GenerarFacturaProforma(APedido, AFactura); + finally + if Assigned(APedidosClienteController) then + Finalizar; + end; +end; + +function GenerarFacturaProforma(APedido : IBizPedidoCliente; var AFactura: IBizFacturaProforma) : Boolean; overload; +var + ARespuesta : Integer; + AuxFactura : IBizFacturaProforma; + +begin + Result := False; + AFactura := NIL; + + if not Assigned(APedido) then + raise Exception.Create('Pedido de cliente no asignado (GenerarFacturaProforma)'); + + if not APedido.DataTable.Active then + APedido.DataTable.Active := True; + + if not Assigned(APedidosClienteController) then + Inicializar; + + try + AuxFactura := AFacturasProformaController.Nuevo; + CopiarPedidoAFactura(APedido, AuxFactura); + CopiarDetallesAFactura(APedido, AuxFactura, APedido.Detalles); + + //Sustituir por if de guardar + if AFacturasProformaController.Guardar(AuxFactura) then + begin + AFactura := AuxFactura; + with dmGenerarFacturasProforma.JsListaFacturasProformaGeneradas do + begin + Instruction.Text := 'Se ha generado la factura proforma'; + + Content.Clear; + Content.Add(Format('Se ha generado correctamente la factura proforma %s a partir del pedido de cliente' + #10#13, [AuxFactura.REFERENCIA])); + Execute; + + ARespuesta := CustomButtonResult; + case ARespuesta of + 100 : begin + // Ver la factura proforma + AFacturasProformaController.Ver(AuxFactura); + end; + 200 : // Continuar; + end; + end; + end; + + Result := True; + finally +// AArticulosPendientes := NIL; + if Assigned(APedidosClienteController) then + Finalizar; + end; +end; + +{ +function ElegirPedidoYGenerarAlbaranCli(var IDAlbaran: Integer) : Boolean; overload; +var + APedido : IBizPedidoCliente; + AAlbaran : IBizAlbaranCliente; +begin + Result := False; + IDAlbaran := -1; + + AAlbaran := NIL; + try + if not Assigned(APedidosClienteController) then + Inicializar; + + APedido := APedidosClienteController.ElegirPedidos(APedidosClienteController.BuscarPendientes, + 'Elija el pedido de cliente que desea utilizar para dar de alta el albarán de cliente.' + , False); + + if Assigned(APedido) then + begin + Result := GenerarAlbaranCli(APedido, AAlbaran); + if Result then + IDAlbaran := AAlbaran.ID; + end; + finally + if Assigned(APedidosClienteController) then + Finalizar; + end; +end; +} + +end. diff --git a/Source/Modulos/Tienda web/Data/TiendaWeb_data.drc b/Source/Modulos/Tienda web/Data/TiendaWeb_data.drc index b18b114..9367e3c 100644 --- a/Source/Modulos/Tienda web/Data/TiendaWeb_data.drc +++ b/Source/Modulos/Tienda web/Data/TiendaWeb_data.drc @@ -14,4 +14,4 @@ END /* C:\Codigo\Source\Modulos\Tienda web\Data\uDataModuleTiendaWeb.dfm */ /* C:\Codigo\Source\Modulos\Tienda web\Data\TiendaWeb_data.res */ -/* c:\temp\dtf340.tmp */ +/* c:\temp\dtf37C.tmp */ diff --git a/Source/Servidor/FactuGES_Server.RES b/Source/Servidor/FactuGES_Server.RES index f93bfa55f3e650b4fd4735c054bcfc49007c9d69..4fb46511bfcc975cdd8ac2200f011f8f39740b90 100644 GIT binary patch delta 29 lcmZ3nm2t&Z#tj-#%!Uj`leMGt+07WN7>pUrCMQO@0|1Ie2oV4P delta 29 lcmZ3nm2t&Z#tj-#%mxgmleMGt*^L;i7>pPUCMQO@0|1H?2nYZG diff --git a/Source/Servidor/FactuGES_Server.dpr b/Source/Servidor/FactuGES_Server.dpr index 77bf602..e2cf2c6 100644 --- a/Source/Servidor/FactuGES_Server.dpr +++ b/Source/Servidor/FactuGES_Server.dpr @@ -164,10 +164,11 @@ uses schEmpresasServer_Intf in '..\ApplicationBase\Empresas\Model\schEmpresasServer_Intf.pas', srvFacturasProforma_Impl in '..\Modulos\Facturas proforma\Servidor\srvFacturasProforma_Impl.pas' {srvFacturasProforma: TDataAbstractService}, uBizFacturasProformaServer in '..\Modulos\Facturas proforma\Model\uBizFacturasProformaServer.pas', - schFacturasProformaClient_Intf in '..\Modulos\Facturas proforma\Model\schFacturasProformaClient_Intf.pas', - schFacturasProformaServer_Intf in '..\Modulos\Facturas proforma\Model\schFacturasProformaServer_Intf.pas', schContactosClient_Intf in '..\Modulos\Contactos\Model\schContactosClient_Intf.pas', - schContactosServer_Intf in '..\Modulos\Contactos\Model\schContactosServer_Intf.pas'; + schContactosServer_Intf in '..\Modulos\Contactos\Model\schContactosServer_Intf.pas', + uRptFacturasProforma_Server in '..\Modulos\Facturas proforma\Reports\uRptFacturasProforma_Server.pas' {RptFacturasProforma: TDataModule}, + schFacturasProformaClient_Intf in '..\Modulos\Facturas proforma\Model\schFacturasProformaClient_Intf.pas', + schFacturasProformaServer_Intf in '..\Modulos\Facturas proforma\Model\schFacturasProformaServer_Intf.pas'; {$R *.res} {$R ..\Servicios\RODLFile.res} diff --git a/Source/Servidor/FactuGES_Server.dproj b/Source/Servidor/FactuGES_Server.dproj index d83501c..af39e19 100644 --- a/Source/Servidor/FactuGES_Server.dproj +++ b/Source/Servidor/FactuGES_Server.dproj @@ -172,6 +172,10 @@ + +
RptFacturasProforma
+ TDataModule +
srvFacturasProforma
TDataAbstractService diff --git a/Source/Servidor/FactuGES_Server.rc b/Source/Servidor/FactuGES_Server.rc index a667426..4e4e3db 100644 --- a/Source/Servidor/FactuGES_Server.rc +++ b/Source/Servidor/FactuGES_Server.rc @@ -14,7 +14,7 @@ BEGIN BEGIN VALUE "FileVersion", "4.3.4.0\0" VALUE "ProductVersion", "4.3.4.0\0" - VALUE "CompileDate", "jueves, 05 de diciembre de 2013 12:20\0" + VALUE "CompileDate", "jueves, 12 de diciembre de 2013 16:36\0" END END BLOCK "VarFileInfo"