From cdd97416abb0ceba5dab1d28b050af89603ee813 Mon Sep 17 00:00:00 2001 From: Mauricio Baeza Date: Fri, 9 Feb 2018 20:34:54 -0600 Subject: [PATCH] Facturar en lote --- source/app/models/main.py | 51 +++++++++---------------- source/templates/plantilla_factura.ods | Bin 27164 -> 27132 bytes 2 files changed, 19 insertions(+), 32 deletions(-) diff --git a/source/app/models/main.py b/source/app/models/main.py index cd3757b..a1b5c72 100644 --- a/source/app/models/main.py +++ b/source/app/models/main.py @@ -136,44 +136,31 @@ def import_invoice(): if not rows: return {'ok': False, 'msg': msg} - # ~ clave, descripcion, precio, cantidad - products = {} + products = [] for row in rows: try: obj = Productos.get(Productos.clave==row[0]) - if obj.id in products: - vu = round(row[2], 2) - descuento = round(row[3], 2) - cant = round(row[4], 2) - pf = products[obj.id]['valor_unitario'] - descuento - products[obj.id]['cantidad'] += cant - products[obj.id]['importe'] = round( - pf * products[obj.id]['cantidad'], DECIMALES) - if vu != products[obj.id]['valor_unitario']: - msg = 'Precio diferente en producto: {}'.format(row[0]) - return {'ok': False, 'msg': msg} - else: - vu = round(row[2], 2) - descuento = round(row[3], 2) - cant = round(row[4], 2) - pf = vu - descuento - p = { - 'id': obj.id, - 'delete': '-', - 'clave': obj.clave, - 'descripcion': obj.descripcion, - 'unidad': obj.unidad.name, - 'cantidad': cant, - 'valor_unitario': vu, - 'descuento': obj.descuento, - 'importe': round(pf * cant, DECIMALES), - 'taxes': _get_taxes_product(obj.id), - } - products[obj.id] = p + vu = round(row[2], 2) + descuento = round(row[3], 2) + cant = round(row[4], 2) + pf = vu - descuento + p = { + 'id_product': obj.id, + 'delete': '-', + 'clave': obj.clave, + 'descripcion': obj.descripcion, + 'unidad': obj.unidad.id, + 'cantidad': cant, + 'valor_unitario': vu, + 'descuento': descuento, + 'importe': round(pf * cant, DECIMALES), + 'taxes': _get_taxes_product(obj.id), + } + products.append(p) except Productos.DoesNotExist: pass log.info('Factura importada...') - return {'ok': True, 'rows': tuple(products.values())} + return {'ok': True, 'rows': tuple(products)} def get_doc(type_doc, id, rfc): diff --git a/source/templates/plantilla_factura.ods b/source/templates/plantilla_factura.ods index b07c8b2c8faa7461fcc825784f89c66ffe2e366c..c2c7afec15e4b89577584982ecf9e675fb8c655c 100644 GIT binary patch delta 17419 zcmZ6yQrIwrkEkbN^X0^Ax!vA~RodWn{(| zk-G@`xd4i&Bnu9K0RjR80%F=KorI{2^dBJy=YrPy@(TpyV`hLo z#A%zsPtbNHTK!44#}Q<0RGXTuR-53|%`mUm2w_*D*L22|Dz`eEHh&lvp;jHkf^I6a ztIuSfjx~$v7)WyIRAP&Dapc)Dy!?mF8fLPmS3avbWho>2H7s1B#c~fQo3diaxnNX- zUvuryb7q1zMtO>@KFF$NR$-Hnk&MpzL`~bI%4IL41K%zIA5OAkuNjntJKG=IHZgYO zMieiTgqp8VujV^MQvXe79#JS`Dd|!sSA{$=iTxli6kV~f)KunTG1aa`Ky5)IaWs{f z#8?U)ZQ3Ey@gq|;%L@f?r#Xqm9X1)pxnMNFqd`vnpm}2rXU?Woi@mq1GLk!-^c|f^ z-;>J?`lG^;M>_;t_Z!?4`yoxvo6L|d!HfY(1nEo#syOXKfC`WLCCw#cqC@s9Mlv1) zn&!++JZb@F#%xr*dg9FQthRdI%9#mKC8Aiyzq(rhWy&ThS5^~nA3|P&Km;y1apd$gNTptdDvfBZBSwNX3I}s&%$!96z_YN!X@(;z z0j1->VTByEG59$2$L`KY zg9z<7_QF>OlZGJ$uaz0p{MT6k)#TXnXRMt>Scs#BKY|`Wj_^#i3V}*v7zA2VA+r;-OnZ=c|GdJlv|rY(feAaVSdXyeZ#=ctpSBIi=4kCu&W zTgGMlQ#<}v>(Y{Wvb?TcmFI{F%hHzl20rjQA1RvG7tpEIO?&L&C@uZVm9R^U!j_9x z7$sM+QTsI~S%2Mv^i(grhjEsM_RH@n*0sTWo0=1!M5on<|*U^Xs9 znSUJ|cFl_sD+4_k<<_NJnsE8`cFiwHXb(Z$PJG?!o9DUVm?V(wfBxbd!7+&7+?dKN zgKJX#F}N`EX(F0Q|;_xCiyMz(a_uA8-!V%10rA(L5mnD z5kmky*$Xc!N}sgG6orAfV4A^5iD1LNYy8iyAxeyeF>rDz1VxepAHD+zI{nBNC(Fa= zoNsTk{}IMzvwy#QI+A9UoMq40jCYLlA5qj*>V+o1)vzdhHG65Iy(B3xjCuqF=gZqVlO8;acaubJxWpdQ?_lHbm zBBjOSMu&N^9f?>=MRh^Ve@tFpj|hM*IhEQ&3n1CaxnH7A(IX^#a^2&_!nzZ|U)O|# z5f=UiDxwH;$Qti=VytbZ)Q=MLB%hl>^@^if#7|%en`ql+&trlHOEC=8+X6^nKe5DI z!Y28#Q8RdBR}-5~SO@tIMd6V%z!D3^OvaF*Bk7)#wmL5J)wA&%mQFL$iYC-nFQRpC zg8wvl(SE=fUr3MT9UUV2m%eB!3aW3Rpwk|_;0hBfDCBmrIs1rOJ#UqucdcBLR=;pc z*RNX>VF^mrt+7~MrMhv`8v-Juanmiu{L#vL-_7u|`CXr@CeD>7J^ZGO#-5lw?M+OA z^rQICjBbfi*D}3PA}WOp+r5nOf{8Ur8d=Ja4mg4wnf}0zA|+3?hzH7p3AA9~$&MPY zVy}i|23@`XZp!;Z$6Lr%xELW<_Yso&HN3n%Qf`h~H5qD8%WuM4L;!FGD`g92aGMDM zYG9Au7txi&E2YD*Rn{xCO2Ha0tK1K#7OMMc&SQ{tQWh?!+sbT(T6s{R9g1pan})Cd zZ8XO4>jztM)FR&^@6-!NRz_D0c*f zX)y{f^Ts;mlOqD%lL3$v60oNwTML8;Z4A|)eSj|bUt8;)@VL+^vhtH9VUVQ?n4Q1n z<7*K(|B)81$w9ayI?_g2pe!`IW=tB7`mXz$Vbkdo$zZ~bXeERJl@FA8HQP%=rRYG3 zjatXP4H4ohXAv?UdcjLeURHsFN2=t(Fvgo8Q;&i?N+ez(M+B&8qfk+6-UN!8synw& zu+eGi`xMns`uyYZ<@hiptmU?;{;Mo)M&%06c zUy}ad<>1U{tV4-Wz9f(3*D-#dSIKPDex2KBjh2(TF}=!jN}a)5_&o{2DfW4l*=MIi z6Hz3Tq+Up4jRL4mYN)fpI)Lmi%}HJJ9P+X$c(8FQCd&CHsa68jL7%QQE=SL2q{%^p zSL+mAyjG303Y|PymXS;6X*MlKIm=Vci6%Z!mx1q3a1t7sR98-n6H}kBe_ubR)>}1n z1E>B?zI70S3@)1zRAzyhPyF#YyxwtjZE~#+2lXaG*#_V%LACzYau!+h!L!DzmfypX z>lDgz4xVSofo4uACpbwXknevB;Tit}r?O;rHXT9nQrzymR_8u)P*sW^LwQhj{mQY~ zgy@+~GSY=6jUk)KjPKsbOy5d>dysGk$A{48tmr9M-GNumNEVgXLKckHnBz%g8-wkp zL*?*dMGeShYq=(h^v-jrt{IK@WLf^#)vcAANPh`*_Of|}42#q=oaY*xgu64~Tw;># z?8H6Iukm%pXU@~22;nZW%!)@!p*s#rXif^tDibt7hm^+ek`u-IP6|D%Uur(jn7&=N z-1J7kMzuUyl$9U!ryk6TW(f%+i?^!Td(i;$XaMNav!^x(T{i_dnG`jSR?1wJ&W~2cJvYqW zwqHqv-ydU1q>{D{?yGYp$oKGR;@Vp{f-T^I3?(1GIL6OIhM8Wb6pXX zNdVjw&G%Rx&|7V~MWm59P577hvL0wiZvV;C8Vp8-SouSTf?js^TPw18-aPz|lf}ce zhEX`f1oiUr8TqZ(PCo5yf~;&F{+EXPArNZ0Cv%#U@@iF5)g|O|h9kl_v1f&ok%|i1 z;khcCB^-L;Akl>dNK>C~y$-jJQ?Z+&QvhjMlA~>e+TdcEOs~#w!b*ej_!F5C(eumdYu|;Q1h>U=_H@JBClw3ey|4N#GT8V@ z#JRx){kI{X0Zi4HZdkhe6M79f=h~F3&h*UGzo~x$e$cFaggK0XdIBv>D|HGAY5>97 zrMHndU;<--pW~Tvf#=eRJ@v6g1Av{^*Iyh8ev~yP0Nddw(PrxN)D@Jdp<9>V-DQ6( zg|k&LS1{mm2t8wm_h}obf3gF3Uai8V{CW8tk4jMV^K#i=e2dzUA(@%k^vEx87R>gB z-d<_wdzhXI^DKA#{yOGu%Nx(Z1~5z+ynakwra0wLRL^J#Zhl8RY$y_JID4N&nfCcw zpSV_d)Hz|rUGv+1a3tp2w9{a*$U)TRZ-nO;BEsF{=vY!8B;$ZXc*sppI32TsSFW6kw2 z_)$kdm_?9~=b7y_ zE#+-%gWoXvlb?s4b9{0le)Vd;8>QTa zA0_|ZDmmLBB^ZqmKo7ldo4k5{XgjY))G1fhwNrLXQ5FyK7bEh_0Iti!XkixjOfTDE zQd%rSq$!gD*b;XUN@S+p+5E?Xyi|c*Og<%uh$<0r`CMz_e}(aW^=cNiTc4sQj|Z4QgTopmxwP0(4+JcKO_o zvw`Ock>Q?AmA1y4_p0$VOFFygz2fG=O|DG79SDP#{e|Aj1O$~8{W$6~G15K9q+{rv5u3_j>D;XLw*MmHL4druvwwYSapeYF$a=2s_o=WhO2|DLT? z3!(zL74M%s@n85>f{C3L%{Mv24vl?VLcMtPt_}1PhZ|p4kSqYB_8>E9iiQS=xzs8L zH0!FUGy}k!JY4fce69B1z4ERg>QeD^`LAJo*;>p3TKs2#+fcQmzUPh})L#1EOfnRJ zOeL)btm4(#1qB;K3M%5UE)1!eF3)J^to*155=aeQUE{rWwiZD%>{0a+x${7zU zFpT+LDL9Kqo@hnW_l*KvH3Q)%a?MB;?d`2s9Hr6eO#XatxkVw68g1+al~r}>km~52 zBg}>z9FL3Q?{KMyOBAg?SQ886{`w|hUO(YA=)kv}X(_#L@KG)!2P}&tc+=j(x&9}x z>fxklg4b)8fXs7ey=}Ic?o1Sunx#WAb0}$jVFeK^Lzkk>eq}V@-Z)$ilyXZP^e^(J zldZTJ^y1K}B?D>xdfdEuq$!!*#$6KfFSt-|G-X`ga~0Y_<3U1`)9W9wZ@>dU!WE4h z@WkkeA$8tsX?>T`fkzHsB(2G|#_~bn089v*%Oh;00dF0nWFJi8|bKga6~ zyqnxz=)NRMPljx+y{uC@*6M}VP*hqn;Qc3n4#6P!6i^cV%M{wC7`u9dhAw-leD-dV>58mSO#Ou zqnXqcEG_sUlhlNfo++P8pQ|E6>Fvpiq&oOm;SCJ|bV9_&&5WxrLI{dB#f01EE4f#T z(+_Mx=aVc_O8-iuUL!WNdP#zEQaAF;Dr>Vqiq@_ZWPD&r1kecmW=93I*r_yO5uizu zju$~?`8n?@!GKxL91e=GiR;%pZ1)$U6jrB8|0=HnvBgs>uwgD2Q`17=&L?j#6UsDa zspR1dg185=SrmaZhkxF2!ZF~6z9fwgtna7W=mhi9q101S9f4W~g=(OOeq6(0yOmI0 z5^WOUW~YNA&b;9KHJJq*x=98?VLAwP2f|71ceN}c@QZnGN>c0!)I249IA*sQNx3X< z_DNS@BdZd;kiON1MeNurJuxEHCLAuLFO#m+57?RNlNHb-_DyQmW~v~&Uzr2f=zX9P zp7P6|68$<=5(1C1$?B)0%%snqXENBy_n0yUQDY(VJJ04^mxckU%Or1h+Qjehnzf6! zxZ4Vn{VbA&((Uo?oZV?i66QNCmB(Ezd3(CSWVs*>-Nr)tK$FcuVXtAhM?B$G=rovZ zPEsYT9`5ji)Dyd3|P2e*nQUPAm^iq zyhwhBM5tuW3@N~|VZ(uy$8dB*k>+bj?*#A96}DkOA49UJJ03m9XMm>^_23FpKodc- zqmE~|mzQ(R)j_DEqa!io$?bz~$CIbVWPR!xM7xWDW zD3Giv1Omv;PU!4!!#XvfgNrE;9j7zN*%XQQQp-M6D9LJvlK%2)QAvO(l$1*Dj3up7 zhD#yMJ5MFWT`ayb?q|W*rNnZ-lq5@1KfcZ;tKqh3ONAFy!ywr#)b=u}M=z!T%Du}m zO$$dT4FVvjejCn8g57V~#7iW9*}70ALVw^NOBPFAe=9G2Y`pOTv=ijAotwvQeVwX4 z0)RKYEY=fqzlkC=)NZDGKgLSAC1nHk>U78TLk|B*sIQq26%Yvcy>4KF-|eM2i1&X| zMj#ue(Iea|ZT^53kEy~t+R}RdC+Q9%Ev_I|FOt%3f&l)XJbg;ZZ+d`q2W!eKb0{G( zEa(Q#K}NhCyi*c+0=emKgW#_SIT>fsfouJf>6kjig`(X2wQ&S!uCz`xCSl&+?Q3MRVlC68kx2`XX%b4Y)ksAbtF<k?BVG&5z1e#&81C9EAg5UQrdaxyMX* zOdmvN8!ICx)^7DrXO5w(WS9CHpfHK_EDaIlM)wbk6k*B9B4iMJN@a3CgO+|>6 z6S6b0?|?-Q7-1BnqUmCsd@t@llX0;8;PtDljI`yEWC;K#s7?3$dTJpy$+e(?wk&E# zpB$0+p3#lNn{ji04qAo@kq}Rx3pK3=;5kU&QpFFM zCHh^6aP6y(3dds9TX9*Zo(+Yla;?{a3@^>cet9!Q=%=3x-!K|~!swqZ+edUebg1Z_ zhhU)pre^q{LPoN>bLe~4pnuZMcaF?hn25jAHV%N=hbi5DBt^t?FoV)~Z#9_TeRRUV zUx}iS*enN+pYr)@4R$G_CSm{~Yh|(3V7Vz4nvRNeeFh%;N5(%8n%P4e0f|pKMrkoO z1g8BHj7=IvBC&jfrdvR52&GOEL&7sKXkXFHcb`v02g1aXX$#_9Yav1bDNg${L!Z=q7AQtB6{X zye1JNI5~lmG1C1)#G$=2>&}i>bFZydJRdz&e>AY)@YB-g5>;OUA70_HcP_4}p>U`j zcrCHgeTm+7kc(6BHP!8b-k2{had5PTJ_d}W&CSEEFD5Ul|HRO2F>!E$m!y5mb+1fnwH$EfU}@Wzr6oVMek#>v_sg-UBnH9=^Wm zAJ1;TBq2cha{b>xDbRr{2&JAUN-6)&fNoEOwxZG_${ zj~+WX0(oCXlO(RCf)Jj0MLW>o$kFvLkypr;`(8irX}{00nDZ1=oz;)}PhRT2&8A}W z+@+K!LH-)g$tF*9n<*)DB2J0GqjbUwO10j$VX8+ij{w%6bHUGm0J8oCE&$iSY3lwv z|LYXnRU`xy!k|lh;pNC&!)6F|1M5?Y4yh;OPwa|!BYhdMiiz$YOs-j5^eGqM%&xw} zLCvDX;0@NCufdP1j~n?@VYDs!k%s}zj$cH1^2=56yP%RRGz=A~!Ok8e2uJ}L2+02p zYhhqu{s-2|{ZBvuX__En0fqiwRmvfW+J6H>EeSL9|1#Z_S`y-v0!sw={}<=|uTGB? z%p)5SKn@oQe%rL zP-COrS%KV(#{u?^Tw<&I`g)q2f$kh+xY2922UVwN^-swq#|K=Y?CZHcSh=EeS%f)f+W60${cV* z%{1)HH9jT9vxr=~g*R-}v4PrPaKmpsEo`w~pl_{RFNeUhm-q`~ygy!oSn#cqST}lR z%pddn=;&+?X#(IUv0+9ho&G`edB?G!h}-;9tA+4)EO18PFGn4i!s1mulSqCr{-V*C zSjCY96^suq5A};>ff_G@2s$UxU!h2XH_wi3@t&Y9%icYzB2rsb0^r|A3luBkt@VH} zz7luzYK|xqDT|3L`14nJ8{EH*M49H0xF)1>9Q~o_@Yw)`+hcXQgQk7u&z!+8A3tQ6 zzc@Uh+mSE|xE-wzJzAbPgKeTIk;9UKSCQcsqm*7hu{PoHvKt81PO)%wp*>PVy#zmY zj-JMo-0B0|f!8Y_;Tb{;)NhRV*{56s~C2f@UY zArw7Onu7qBmN{C?s51$@AdHnkcRPUz!2rgV82F>$XQXeaZ=fKOMm-|3)J_OWr@hg8 zAh8)pYE3fi0Av5g^1O-$vAf5{Un-#-r$@tG$61Sd*(!ZYTUJxp?NYo;Q87E|ja;z< zGc@k^u3K^ovgQ48v{_Pdc{x+d8=r$_%U-8_bVvZWv(=DMv#=*JPOxJNw3Hj-uSA8s z_)IoHBfZV?`NGnKJL#?KEFQT06@2rsTMrhv`~^H)qq1&vQ0pmt^O9SAOi=43eDjf- zVPsJG%P5rX0Hpp?TVXW`RQ4RURW;8NWZ7sZ=c2sb98SD+9~*RmO^5iY{wfs7bLp>pAt6Wu0}3q5O&YvC zW5FC?#QG>l$};y3o>LU^JE)GMA{pf-tl#3aLgH`Tudkwrhqe zm%j%7&HBXM*1b^4YyAc~hQ{2N&F8f)mg@itU~UxjTU8zg|3{*MZe#a~Dk)N07r~G9 z5-R%r2}@bLX#(}7r1Mw3_T48cGl%X4@1^vTlPDR$*w|3eGfPUsg>|~DU;KJnZK0>VnIU!xp@;gehgdL{i3T|r6?}|3kN&6H&N){Q z+(mH`N`Y8X-2a`2QTNG2;}Y1mmEs=2AHK~+V0ROi>7&($_s&P|cC6l0;1&)GW4F7+ z&47G$+HB2h+WE+8=>{jPBfS@C3qVtvhl5jc=*KB& zkB}(`Lh3TdiORvygj?uoGb792$5^c4WIM;9Tf7;$!!`IGWMXxJINCez_akOm5{wcm z>P$VHA{PwTPIYWjBS1Bbn@=ui@pPq3x6DlnpgJ zi}uCA)UeUOb_p6$%D0;lQA~julPkbqR9r;8619O!jpV70o(gf2ylvcC%7R^z*z@e0 zPNkyY=A5V2uE2=Z0>G8|VO$1^BX_Cwo33(?ZVHqIIP*o^_g-Di2~e5bBvq(`O4g>w z4I$`LO=tG5k{FErr~IH!BZ!7JK1HCJ@3`pVMo7*Iv-xEeep z%0A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 Z0edYB=YZ))6vgmaliy`(u=%Ed1OfKDUj+aF delta 17284 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 D?E@m{