From 4fd7699b306d26f2b7463356b8210b68948558e4 Mon Sep 17 00:00:00 2001 From: JORGE LUIS CAUDILLO ESPARZA Date: Sun, 11 Sep 2022 23:42:14 -0700 Subject: [PATCH 01/12] --- App_Code/LogicNominas.vb | 8 +- App_Code/Timbrado.vb | 6 +- Bin/GoCfdi.dll | Bin 564736 -> 564736 bytes GPS/RepIgnicion.aspx.cs | 2 +- Nomina/Nomina.aspx.cs | 2 +- RH/Personal.aspx.vb | 2 +- Web - 20220908.config | 594 +++++++++++++++++++++++++++++++++++++++ Webprod.config | 482 +++++++++++++++++++++++++++++++ vwd.webinfo | 4 + 9 files changed, 1090 insertions(+), 10 deletions(-) create mode 100644 Web - 20220908.config create mode 100644 Webprod.config diff --git a/App_Code/LogicNominas.vb b/App_Code/LogicNominas.vb index 55071651d..b759dc07c 100644 --- a/App_Code/LogicNominas.vb +++ b/App_Code/LogicNominas.vb @@ -81,7 +81,7 @@ Public Class LogicNominas Return Retorno End Function Dim hasfiniquito As Boolean - Private Function PreTimbrar(CveNomina As Integer, UsuarioActual As Usuario, TimbreIndemnizacion As Boolean) As CFDITimbre + Public Function PreTimbrar(CveNomina As Integer, UsuarioActual As Usuario, TimbreIndemnizacion As Boolean) As CFDITimbre Dim continuar As Boolean = True hasfiniquito = False Dim CvePersonal As Integer = -1 @@ -431,15 +431,15 @@ Public Class LogicNominas cfdi.Comprobante.Serie = Serie cfdi.Comprobante.Folio = Folio cfdi.Comprobante.Fecha = Now - cfdi.Comprobante.Subtotal = cfdi.Nomina.TotalPercepciones.ToString().ToDecimal() + cfdi.Nomina.TotalOtrosPagos.ToString().ToDecimal() + cfdi.Comprobante.SubTotal = cfdi.Nomina.TotalPercepciones.ToString().ToDecimal() + cfdi.Nomina.TotalOtrosPagos.ToString().ToDecimal() cfdi.Comprobante.Descuentos = cfdi.Nomina.TotalDeducciones.ToString().ToDecimal() - cfdi.Comprobante.Total = cfdi.Comprobante.Subtotal - cfdi.Comprobante.Descuentos 'cfdi.Nomina.TotalPercepciones + cfdi.Nomina.TotalOtrosPagos - cfdi.Nomina.TotalDeducciones + cfdi.Comprobante.Total = cfdi.Comprobante.SubTotal - cfdi.Comprobante.Descuentos 'cfdi.Nomina.TotalPercepciones + cfdi.Nomina.TotalOtrosPagos - cfdi.Nomina.TotalDeducciones cfdi.Comprobante.MotivoDescuento = "" '"Deducciones nómina" cfdi.Comprobante.Moneda = "MXN" cfdi.Comprobante.TipoComprobante = "N" cfdi.Comprobante.TipoDocto = "Egs" cfdi.Comprobante.MetodoPago = "PUE" - cfdi.Comprobante.CondicionesdePago = "" '"CONTADO" + cfdi.Comprobante.CondicionesdePago = "CONTADO" '"" cfdi.Comprobante.FormadePago = If(UsuarioActual.Empresa.Funcionalidad(350).Contiene("1"), "", "99") cfdi.Comprobante.LugarExpedicion = UsuarioActual.Empresa.CP.ToString() ' AHORITA SOLO SE REQUIERE ESPECIFICAR EL CODIGO POSTAL cfdi.Comprobante.NumCuentaPago = "" 'objPersonal.BancoNumCuenta diff --git a/App_Code/Timbrado.vb b/App_Code/Timbrado.vb index 9dc3d44bd..537adbfec 100644 --- a/App_Code/Timbrado.vb +++ b/App_Code/Timbrado.vb @@ -4469,7 +4469,7 @@ Public Class Timbrado Nom.TotalOtrosPagos = ObjCFDITimbre.Nomina.TotalOtrosPagos.ToDecimal Nom.Emisor = New Profact.TimbraCFDI33.Complementos.Nomina12.NominaEmisor - Nom.Emisor.Curp = ObjCFDITimbre.Emisor.CURP + Nom.Emisor.Curp = If(String.IsNullOrEmpty(ObjCFDITimbre.Emisor.CURP), Nothing, ObjCFDITimbre.Emisor.CURP) Nom.Emisor.RegistroPatronal = ObjCFDITimbre.Emisor.RegistroPatronal Nom.Emisor.RfcPatronOrigen = ObjCFDITimbre.Emisor.RFC @@ -4596,9 +4596,9 @@ Public Class Timbrado Nom.Receptor.Banco = ObjCFDITimbre.Nomina.Receptor.CodigoBanco Nom.Receptor.CuentaBancaria = ObjCFDITimbre.Nomina.Receptor.NumeroCuenta Nom.Receptor.SalarioBaseCotAporSpecified = True - Nom.Receptor.SalarioBaseCotApor = ObjCFDITimbre.Nomina.Receptor.SBC.ToDecimal + Nom.Receptor.SalarioBaseCotApor = Decimal.Round(ObjCFDITimbre.Nomina.Receptor.SBC.ToDecimal(), 2) Nom.Receptor.SalarioDiarioIntegradoSpecified = True - Nom.Receptor.SalarioDiarioIntegrado = ObjCFDITimbre.Nomina.Receptor.SDI.ToDecimal + Nom.Receptor.SalarioDiarioIntegrado = Decimal.Round(ObjCFDITimbre.Nomina.Receptor.SDI.ToDecimal(), 2) Nom.Receptor.ClaveEntFed = ObjCFDITimbre.Nomina.Receptor.CodigoEntidadFederativa Dim nsNom As New System.Xml.Serialization.XmlSerializerNamespaces() diff --git a/Bin/GoCfdi.dll b/Bin/GoCfdi.dll index ee10c6e4d3579a562e4d720bbcc7877067ce51f5..05d1526ae4f147d38308970c5bb2f46773854128 100644 GIT binary patch delta 52762 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 delta 52366 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 t{(l~|5 0) { Alert(string.Format("El empleado no se pudo timbrar, el sat nos devolvio el siguiente mensaje:
{0}", Msg), TipoMensaje.MsgAdvertencia); } else diff --git a/RH/Personal.aspx.vb b/RH/Personal.aspx.vb index cc2f66c36..2a763379d 100644 --- a/RH/Personal.aspx.vb +++ b/RH/Personal.aspx.vb @@ -1880,7 +1880,7 @@ Partial Class RH_Personal Dim ObjAF As New ClsAF(ObjPersonal.IniciaTransacSQL()) Dim Extension As String = Path.GetExtension(UsuarioActual.Empresa.Ruta & "Temp\RH\" & ViewState("Archivo").ToString()) - Dim URL As String = CvePersonal & Extension + Dim URL As String = If(Extension.Trim().Length > 0, CvePersonal & Extension, "") Dim Ruta = String.Format("{0}Temp\RH\{1}", UsuarioActual.Empresa.Ruta, ViewState("Archivo").ToString()) Dim Archivo As New System.IO.FileInfo(Ruta) diff --git a/Web - 20220908.config b/Web - 20220908.config new file mode 100644 index 000000000..c93b2c158 --- /dev/null +++ b/Web - 20220908.config @@ -0,0 +1,594 @@ + + + + + + +
+
+ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Webprod.config b/Webprod.config new file mode 100644 index 000000000..5f73315eb --- /dev/null +++ b/Webprod.config @@ -0,0 +1,482 @@ + + + + + + +
+
+ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/vwd.webinfo b/vwd.webinfo index 404a6a72c..25c253f07 100644 --- a/vwd.webinfo +++ b/vwd.webinfo @@ -550,6 +550,10 @@ + + + + From ab9b6e937a8ce5ae8a5a76befdb80d07823545e4 Mon Sep 17 00:00:00 2001 From: JORGE LUIS CAUDILLO ESPARZA Date: Wed, 14 Sep 2022 10:06:02 -0700 Subject: [PATCH 02/12] --- App_Code/LogicNominas.vb | 2 +- App_Code/Timbrado.vb | 2 +- Bin/GoCfdi.dll | Bin 564736 -> 564736 bytes vwd.webinfo | 4 ++++ 4 files changed, 6 insertions(+), 2 deletions(-) diff --git a/App_Code/LogicNominas.vb b/App_Code/LogicNominas.vb index b759dc07c..8f2cafafa 100644 --- a/App_Code/LogicNominas.vb +++ b/App_Code/LogicNominas.vb @@ -439,7 +439,7 @@ Public Class LogicNominas cfdi.Comprobante.TipoComprobante = "N" cfdi.Comprobante.TipoDocto = "Egs" cfdi.Comprobante.MetodoPago = "PUE" - cfdi.Comprobante.CondicionesdePago = "CONTADO" '"" + cfdi.Comprobante.CondicionesdePago = "" '"CONTADO" cfdi.Comprobante.FormadePago = If(UsuarioActual.Empresa.Funcionalidad(350).Contiene("1"), "", "99") cfdi.Comprobante.LugarExpedicion = UsuarioActual.Empresa.CP.ToString() ' AHORITA SOLO SE REQUIERE ESPECIFICAR EL CODIGO POSTAL cfdi.Comprobante.NumCuentaPago = "" 'objPersonal.BancoNumCuenta diff --git a/App_Code/Timbrado.vb b/App_Code/Timbrado.vb index 537adbfec..abe6d4e94 100644 --- a/App_Code/Timbrado.vb +++ b/App_Code/Timbrado.vb @@ -5251,7 +5251,7 @@ Public Class Timbrado If otpag.TipoOtroPago = "004" AndAlso otpag.Importe > 0 Then If otpag.ejercicio > 0 Then - cfdi.CompensacionSaldosAFavor(otpag.SaldoAFavor, otpag.ejercicio, otpag.RemanenteSalFav) 'otpag.SaldoAFavor + cfdi.Nomina12CompensacionSaldosAFavor(otpag.SaldoAFavor, otpag.ejercicio, otpag.RemanenteSalFav) 'otpag.SaldoAFavor End If End If diff --git a/Bin/GoCfdi.dll b/Bin/GoCfdi.dll index 05d1526ae4f147d38308970c5bb2f46773854128..3656903b0dc027965d334836a6fc54e47e8fdba0 100644 GIT binary patch delta 65333 zcmeFa2Xs}{_BXoMPIA%{lAPqE_j1w`N^+7=5;}yEP(m-Egepl6Ra!s+>BS{1RJw}F zrK5mXK+&rLqJp9qQ4s7R3aF?c!Z+vK<(z%Mdwt*cf8)J3#>*Jl<+tWqYp%KG>T}OC z=TPFDLy0RFx-Sb(7`|$0v^?d-Rokipl3(#XjB=A0p^}s}+(UY`!VROP@2ikM&0*7d zLf?on?qR-})$Z~PcS&-uZ7fMXVRx9HS5{|9j$Srdl2}TZ{k0IOZcB>AZA(hH{R}-v z*u%|Iox62B&~HhJv`53+mXs(Zl`Yl>0JcU;l1YNZ-7UVEl4pjrZ%O`0nQiCSo5aC2 zsA*oq=RT5@DS5^J(y~KP$;&25vULfP;QiFACxS}8_EZ8t+4q~dWG(|`5#9# zi}8x@|HR(Vl8;m(1WO{kfyjr5_U))iEs5|@Qi$_eWG$(O6!#hTM?V|xDB~4YzmzM^#D47na+ZGXJ({tga z$Wr*EiWVjR1VLg91WVq+uw)%daS>6r9r^4uWb@+6@uM-_lb&K|NtQ~CV98QUb|4WS@(rF)@{?MI zTuZoneaQe-E|^ZqTPWGayt*Kn`SS$@>GBr=d{04H?4|%@z5l+{6(xODrjm~DT~YEm zO73Cas4$rg=FJMzSyMiwFpGKerG@G8d4GPOFv;(rKgK=V>HFg)1Nhg4v1~c_u%(2I zRZG6;%f%m*G{JPLcne!P%i^PK$(Vu-Qt;ykY?*8~{{jLQaQ~uYRxPUQn3=aP3T`Nd z25GXFg8o~ZfYujRp-@r?tkS_A2sR>cnhv%=@DE>%zFY^}A^0_c>vS*=!P5k8*TEb__s*aiveU`v8I(Qug`Y3@?sK)502+krfPX|f#qX}%QgL{#(CxJCOxE{flz75F! zQXO50XgZO;po0?;G!uA22L~f~7aEkweohBFA$XaA zsH05~{Rffu*TJ3$t|72a2iqVxm%vALuoZ&i3EZZGB?$H*@R$x#^wt12nCzEzl;UR- zsmY>oO7X)9Y^sA4-;Kb&I!MufgqC2kPtif*{$m2S>)0byo*w5%FbnudG7m?o9 z!Kny7L7+KY<4GVmpTGhgm|K~Dm&=pZS?PtdMScE1RX(JG`oPhg%7mLYhIz#a`cT7)PJj1YgA4if1G0_W)< zY1twIx9H#?j6R9LBRV(>!65{m)j`ty&IATTHfWqaj-<^9O^wvR9SFt~*ir}ILC}}L z&N_G;!C#>RGTDdf;AsRe5jaN&KSuB*fomeA2DRJy5YYpKzNV9&M{o;)pX=aP2reT~ zj?x&tgy1v+b9C@K1cwu7(?RM>x)In5zy_t)yNRSlgig^(8TLiV1g_P=Kanz!z`Z)? zft0u4VzQsoL5ltrftPiVqMstrCmOhKpiY;W-a_7MnTA|`vP4hA3?LSS

QTRXg`$SGPpu5?&!GSA0A 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 AYXATM diff --git a/vwd.webinfo b/vwd.webinfo index 25c253f07..d9f8a32a5 100644 --- a/vwd.webinfo +++ b/vwd.webinfo @@ -554,6 +554,10 @@ + + + + From 28ae2554d4f4f5392944a34cbc3d765412097670 Mon Sep 17 00:00:00 2001 From: rrene Date: Wed, 14 Sep 2022 14:11:38 -0700 Subject: [PATCH 03/12] =?UTF-8?q?-=20mejoras,=20se=20visualiza=20el=20padr?= =?UTF-8?q?e=20y=20el=20m=C3=B3dulo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Compras/Compras.aspx.vb | 1 + Sistemas/EmpresasModulos.aspx | 4 ++-- Sistemas/EmpresasModulos.aspx.vb | 4 ++-- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index 5e4a0eedb..f2259d1e6 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -4829,6 +4829,7 @@ Partial Class Compras_Compras CompraActual.TC = TipoCambio CompraActual.Total = TxtTotal.Text.ToDecimal CompraActual.IVA = TxtIVA.Text.ToDecimal + CompraActual.IVADeducible = TxtIVA.Text.ToDecimal CompraActual.IEPS = TxtIEPS.Text.ToDecimal CompraActual.RetIVA = TxtRetIVA.Text.ToDecimal CompraActual.RetISR = TxtRetISR.Text.ToDecimal diff --git a/Sistemas/EmpresasModulos.aspx b/Sistemas/EmpresasModulos.aspx index 715365213..0ac3ba30f 100644 --- a/Sistemas/EmpresasModulos.aspx +++ b/Sistemas/EmpresasModulos.aspx @@ -41,7 +41,7 @@
- +
@@ -53,7 +53,7 @@
- +
diff --git a/Sistemas/EmpresasModulos.aspx.vb b/Sistemas/EmpresasModulos.aspx.vb index b88ea05c5..9124e8729 100644 --- a/Sistemas/EmpresasModulos.aspx.vb +++ b/Sistemas/EmpresasModulos.aspx.vb @@ -65,7 +65,7 @@ Partial Class Sistemas_EmpresasModulos End If ObjEmpresas.Dispose() - ListModulosEmpresa.DataSource = DtModulosEmpresa.FiltraParametros("", "Modulo") + ListModulosEmpresa.DataSource = DtModulosEmpresa.FiltraParametros("", "Padres") ListModulosEmpresa.DataBind() End Sub @@ -80,7 +80,7 @@ Partial Class Sistemas_EmpresasModulos DtModulosDisponible.Rows.Remove(rowsToDelete(0)) Next - ListModulosDisponible.DataSource = DtModulosDisponible.FiltraParametros("", "Modulo") + ListModulosDisponible.DataSource = DtModulosDisponible.FiltraParametros("", "Padres") ListModulosDisponible.DataBind() End Sub #End Region From 18662507f442c7a73ff1c18ea4c476a8d52bb556 Mon Sep 17 00:00:00 2001 From: rrene Date: Wed, 14 Sep 2022 14:11:52 -0700 Subject: [PATCH 04/12] -- toma funcionalidad ahora, en lugar de los cveempresas --- Ashx/SIGWeb.ashx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Ashx/SIGWeb.ashx b/Ashx/SIGWeb.ashx index 9afe72256..b78140971 100644 --- a/Ashx/SIGWeb.ashx +++ b/Ashx/SIGWeb.ashx @@ -959,7 +959,7 @@ Public Class SIGWeb : Implements IHttpHandler, IRequiresSessionState Dim UsaGlobal As Boolean = True 'verifica existencias - If Pagina.Contiene("ventas/ventas", "oc/oc", "inv/traspaso") AndAlso CveEmpresa.Contiene(72, 80, 119, 140, 141, 152, 153, 159, 160, 161, 162, 163, 166) Then + If Pagina.Contiene("ventas/ventas", "oc/oc", "inv/traspaso") AndAlso usuario.Empresa.Funcionalidad(141) = "1" Then UsaGlobal = False 'If CveEmpresa.Contiene(140, 141) And Pagina.Contiene("ventas/ventas") Then From 0cdf5df16eeca70a1768778007156bb6094e33be Mon Sep 17 00:00:00 2001 From: rrene Date: Wed, 14 Sep 2022 14:12:53 -0700 Subject: [PATCH 05/12] -- ivadeducible --- Compras/Compras.aspx.vb | 97 +++++++----------------- Compras/ReembolsosComprobaciones.aspx.vb | 2 + 2 files changed, 28 insertions(+), 71 deletions(-) diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index f2259d1e6..12d5338e8 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -8378,63 +8378,36 @@ Partial Class Compras_Compras End If Dim CveCompraNC, IdCtaContable As Integer - - Dim PorcentajePago, ImporteMovimiento, sumaAmortizacion, sumaAmortizacionCompleto As Decimal + Dim PorcentajePago As Decimal Dim ConceptoPoliza As String = $"Amortización {NombreProveedor} - {TxtSerie.Text}-{TxtFolio.Text}" - Dim CompraUnificada As Boolean = False - Dim IVACompleto As Boolean = False - Dim IdCtaIVAXAcreditar As Integer = 0 - Dim IdCtaIVAAcreditable As Integer = 0 - 'PorcentajeIVA - If GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=TmpDT.MAX("IVAPorcentaje").ToDouble).Rows.Count > 0 Then - IdCtaIVAXAcreditar = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=TmpDT.MAX("IVAPorcentaje").ToDouble).Rows(0)("IdCtaIVAXAcreditar").ToString.ToEntero - IdCtaIVAAcreditable = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=TmpDT.MAX("IVAPorcentaje").ToDouble).Rows(0)("IdCtaIVAAcreditable").ToString.ToEntero - End If Try Dim CveIE As Integer = -1 - - - For Each gvr As GridViewRow In GVAnticipos.Rows - If gvr.FCCheckBox("Chk") IsNot Nothing AndAlso gvr.FCCheckBox("Chk").Checked Then + If gvr.FCCheckBox("Chk") IsNot Nothing AndAlso gvr.FCCheckBox("Chk").Checked Then - CveCompraNC = gvr.DataKey("CveCompra").ToEntero - If CvePrePoliza > 0 Then + CveCompraNC = gvr.DataKey("CveCompra").ToEntero + If CvePrePoliza > 0 Then - Dim CveConceptoCompra As Integer = 60 + Dim CveConceptoCompra As Integer = 60 + Dim TipoMovimientoCompra As Boolean = True + Select Case gvr.DataKey("TipoDocto") + Case "NC", "DEV" + CveConceptoCompra = 60 + CveIE = -1 + Case "Egsc" + CveConceptoCompra = 21 + 'vinculo la compra actual, y no la compra como si fuera nota de credito + CveCompraNC = -1 + CveIE = gvr.DataKey("CveIE").ToEntero + Case "DD" + CveConceptoCompra = 37 + 'vinculo la compra actual, y no la compra como si fuera nota de credito + CveCompraNC = -1 + CveIE = gvr.DataKey("CveIE").ToEntero + End Select - Dim CveConceptoPago As Integer = 17 - If CveTipoConcepto = 2 Then CveConceptoPago = 308 'cuando es acreedor - If CveMoneda <> 1 Then - Select Case CveConceptoPago - Case 17 - CveConceptoPago = 312 - Case 308 - CveConceptoPago = 309 - Case Else - End Select - End If - - Dim TipoMovimientoCompra As Boolean = True - Select Case gvr.DataKey("TipoDocto") - Case "NC", "DEV" - CveConceptoCompra = 60 - CveIE = -1 - CveConceptoPago = 272 - Case "Egsc" - CveConceptoCompra = 21 - 'vinculo la compra actual, y no la compra como si fuera nota de credito - CveCompraNC = -1 - CveIE = gvr.DataKey("CveIE").ToEntero - Case "DD" - CveConceptoCompra = 37 - 'vinculo la compra actual, y no la compra como si fuera nota de credito - CveCompraNC = -1 - CveIE = gvr.DataKey("CveIE").ToEntero - End Select - - PorcentajePago = gvr.FCTextBox("TxtAnticipo").Text.ToDecimal / TxtTotal.Text.ToDecimal + PorcentajePago = gvr.FCTextBox("TxtAnticipo").Text.ToDecimal / TxtTotal.Text.ToDecimal Dim ImporteAnt As Decimal = gvr.FCTextBox("TxtAnticipo").Text.ToDecimal @@ -8455,7 +8428,6 @@ Partial Class Compras_Compras End If End If - Dim Pago As New CompraPago Pago.ImportePago = ImporteAnt Pago.CveIE = CveIE @@ -8475,6 +8447,7 @@ Partial Class Compras_Compras CompraActual.TC = TipoCambio CompraActual.Total = TxtTotal.Text.ToDecimal CompraActual.IVA = TxtIVA.Text.ToDecimal + CompraActual.IVADeducible = TxtIVA.Text.ToDecimal CompraActual.IEPS = TxtIEPS.Text.ToDecimal CompraActual.RetIVA = TxtRetIVA.Text.ToDecimal CompraActual.RetISR = TxtRetISR.Text.ToDecimal @@ -8487,37 +8460,19 @@ Partial Class Compras_Compras CompraActual.IdCtaContableProvComplementaria = CtaProveedorComplementaria CompraActual.EsImportacion = chkImportacion.Checked - AplicaPrePolizaPagoCompra(CompraActual, pago, CvePrePoliza, ObjConta) - - - 'If gvr.DataKey("TipoDocto").Contiene("NC", "DEV") Then - ' If Not ObjCompra.AmortizarCompra(CveCompra, CveCompraNC, gvr.FCTextBox("TxtAnticipo").Text.ToDouble, UsuarioActual.CveUsuario) Then - ' ErrorMovtosCxP = 2 - ' Exit For - - ' End If - - 'End If - - - End If - End If - Next + End If + Next - - - - Select Case ErrorMovtosCxP + Select Case ErrorMovtosCxP Case 0 Alert("El movimiento se aplicó correctamente.", TipoMensaje.MsgInformacion) ObjCompra.Commit() - Dim dtnc As DataTable = Nothing If ObjCompra.GetComprasNotasCredito(CveCompra, -1) Then dtnc = ObjCompra.DtResultados diff --git a/Compras/ReembolsosComprobaciones.aspx.vb b/Compras/ReembolsosComprobaciones.aspx.vb index 103f9c9a0..3bcb32ef6 100644 --- a/Compras/ReembolsosComprobaciones.aspx.vb +++ b/Compras/ReembolsosComprobaciones.aspx.vb @@ -696,6 +696,7 @@ Partial Class Compras_ReembolsosComprobaciones CompraActual.Total = gvr.DataKey("Total").ToDecimal CompraActual.IVA = gvr.DataKey("IVA").ToDecimal CompraActual.IVADeducible = gvr.DataKey("IVADeducible").ToDecimal + CompraActual.IVANoDeducible = gvr.DataKey("IVANoDeducible").ToDecimal CompraActual.IEPS = gvr.DataKey("IEPS").ToDecimal CompraActual.RetIVA = gvr.DataKey("RetIVA").ToDecimal CompraActual.RetISR = gvr.DataKey("RetISR").ToDecimal @@ -844,6 +845,7 @@ Partial Class Compras_ReembolsosComprobaciones End If End If End If + If MsgError <> "" Then Exit For End If End If Next From 4cbcb2378da0218a119910db0cf6d513f58f8e32 Mon Sep 17 00:00:00 2001 From: rrene Date: Wed, 14 Sep 2022 20:11:49 -0700 Subject: [PATCH 06/12] -- pago compra iva --- App_Code/ClsPaginas.vb | 40 +++++++++++++++++++++++----------------- 1 file changed, 23 insertions(+), 17 deletions(-) diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb index 97662f226..386b71e15 100644 --- a/App_Code/ClsPaginas.vb +++ b/App_Code/ClsPaginas.vb @@ -9612,7 +9612,6 @@ Public Class ClsPaginas End If End If - If CompraActual.CveMoneda = 1 And Pago.CveMonedaPago <> 1 Then 'factura pesos, pago en dolares tImportePago = ((Pago.ImportePago * TCValuacion / Pago.TCPago).RoundSQL * Pago.TCPago).RoundSQL ElseIf CompraActual.CveMoneda <> 1 And Pago.CveMonedaPago <> 1 Then 'factura dolares, pago en dolares @@ -9625,13 +9624,13 @@ Public Class ClsPaginas If CompraActual.CveMoneda > 1 Then ImporteME = Pago.ImportePago 'movimiento de pago proveedor - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Pago.ImportePago, Pago.ImportePago, Pago.CveConceptoPago, CompraActual.SerieFolio, Concepto, CompraActual.IdCtaContableProv, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, CveCompraAmortizacion:=Pago.CveCompraAmortizacion, TipoCambio:=TCValuacion, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME) Then ErrorMovtos = True + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Pago.ImportePago, Pago.ImportePago, Pago.CveConceptoPago, CompraActual.SerieFolio, Concepto, CompraActual.IdCtaContableProv, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, CveCompraAmortizacion:=Pago.CveCompraAmortizacion, TipoCambio:=TCValuacion, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True 'movimiento de pago proveedor Complementaria If Not ErrorMovtos AndAlso CompraActual.CveMoneda > 1 Then - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Pago.ImportePago, (ImporteME * TCValuacion - ImporteME).RoundSQL, CveConceptoContableComplementaria, CompraActual.SerieFolio, Concepto, CompraActual.IdCtaContableProv, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, CveCompraAmortizacion:=Pago.CveCompraAmortizacion, TipoCambio:=TCValuacion, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME) Then ErrorMovtos = True + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Pago.ImportePago, (ImporteME * TCValuacion - ImporteME).RoundSQL, CveConceptoContableComplementaria, CompraActual.SerieFolio, Concepto, CompraActual.IdCtaContableProv, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, CveCompraAmortizacion:=Pago.CveCompraAmortizacion, TipoCambio:=TCValuacion, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True End If @@ -9642,20 +9641,25 @@ Public Class ClsPaginas If CompraActual.CveMoneda > 1 Then ImporteME = ImporteMovimiento Dim Ret As ConceptosRetenciones = CompraActual.ConceptoPrePolizaIVA - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteMovimiento, ImporteMN, Ret.CveConceptoxAcreditar, CompraActual.SerieFolio, Concepto, Ret.IdCtaContablexAcreditar, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, PorcentajeImpuesto:=CompraActual.PorcentajeIVA, CvePersonal:=Pago.CvePersonal, TipoCambio:=CompraActual.TC, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME) Then ErrorMovtos = True + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteMovimiento, ImporteMN, Ret.CveConceptoxAcreditar, CompraActual.SerieFolio, Concepto, Ret.IdCtaContablexAcreditar, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, PorcentajeImpuesto:=CompraActual.PorcentajeIVA, CvePersonal:=Pago.CvePersonal, TipoCambio:=CompraActual.TC, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True - 'si tiene funcionalidad para tomar el TC de pago. se recalcula el importe - If FuncionalidadFluctuacionImpuestos Then ImporteMovimiento = (ImporteMovimiento.RoundSQL * Pago.TCPago).RoundSQL + If CompraActual.IVADeducible > 0 Then - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteMovimiento, ImporteMN, Ret.CveConceptoAcreditable, CompraActual.SerieFolio, Concepto, Ret.IdCtaContableAcreditable, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, PorcentajeImpuesto:=CompraActual.PorcentajeIVA, CvePersonal:=Pago.CvePersonal, TipoCambio:=CompraActual.TC, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME) Then ErrorMovtos = True + ImporteMovimiento = (PorcentajePago * CompraActual.IVADeducible).RoundSQL + ImporteMN = (ImporteMovimiento * CompraActual.TC).RoundSQL + 'si tiene funcionalidad para tomar el TC de pago. se recalcula el importe + If FuncionalidadFluctuacionImpuestos Then ImporteMN = (ImporteMovimiento.RoundSQL * Pago.TCPago).RoundSQL + + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteMovimiento, ImporteMN, Ret.CveConceptoAcreditable, CompraActual.SerieFolio, Concepto, Ret.IdCtaContableAcreditable, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, PorcentajeImpuesto:=CompraActual.PorcentajeIVA, CvePersonal:=Pago.CvePersonal, TipoCambio:=CompraActual.TC, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True + End If If CompraActual.IVANoDeducible > 0 Then - ImporteMovimiento = (CompraActual.IVANoDeducible * PorcentajePago).RoundSQL + ImporteMovimiento = (PorcentajePago * CompraActual.IVANoDeducible).RoundSQL ImporteMN = (ImporteMovimiento * CompraActual.TC).RoundSQL If CompraActual.CveMoneda > 1 Then ImporteME = ImporteMovimiento - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteMovimiento, ImporteMN, 280, CompraActual.SerieFolio, Concepto, Ret.IdCtaContIVANoAcreditable, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, PorcentajeImpuesto:=CompraActual.PorcentajeIVA, CvePersonal:=Pago.CvePersonal, TipoCambio:=CompraActual.TC, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME) Then ErrorMovtos = True + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteMovimiento, ImporteMN, 280, CompraActual.SerieFolio, Concepto, Ret.IdCtaContIVANoAcreditable, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, PorcentajeImpuesto:=CompraActual.PorcentajeIVA, CvePersonal:=Pago.CvePersonal, TipoCambio:=CompraActual.TC, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True End If @@ -9668,12 +9672,12 @@ Public Class ClsPaginas If CompraActual.CveMoneda > 1 Then ImporteME = ImporteMovimiento Dim Ret As ConceptosRetenciones = CompraActual.ConceptoPrePolizaRetIVA - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteMovimiento, ImporteMN, Ret.CveConceptoxAcreditar, CompraActual.SerieFolio, Concepto, Ret.IdCtaContablexAcreditar, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, TipoCambio:=CompraActual.TC, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME) Then ErrorMovtos = True + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteMovimiento, ImporteMN, Ret.CveConceptoxAcreditar, CompraActual.SerieFolio, Concepto, Ret.IdCtaContablexAcreditar, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, TipoCambio:=CompraActual.TC, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True 'si tiene funcionalidad para tomar el TC de pago. se recalcula el importe If FuncionalidadFluctuacionImpuestos Then ImporteMN = (ImporteMovimiento * Pago.TCPago).RoundSQL - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteMovimiento, ImporteMN, Ret.CveConceptoAcreditable, CompraActual.SerieFolio, Concepto, Ret.IdCtaContableAcreditable, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, TipoCambio:=CompraActual.TC, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME) Then ErrorMovtos = True + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteMovimiento, ImporteMN, Ret.CveConceptoAcreditable, CompraActual.SerieFolio, Concepto, Ret.IdCtaContableAcreditable, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, TipoCambio:=CompraActual.TC, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True End If @@ -9688,12 +9692,12 @@ Public Class ClsPaginas End If Dim Ret As ConceptosRetenciones = CompraActual.ConceptoPrePolizaRetISR - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteMovimiento, ImporteMN, Ret.CveConceptoxAcreditar, CompraActual.SerieFolio, Concepto, Ret.IdCtaContablexAcreditar, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, TipoCambio:=CompraActual.TC, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME, Contabilizable:=ContabilizableISR) Then ErrorMovtos = True + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteMovimiento, ImporteMN, Ret.CveConceptoxAcreditar, CompraActual.SerieFolio, Concepto, Ret.IdCtaContablexAcreditar, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, TipoCambio:=CompraActual.TC, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME, Contabilizable:=ContabilizableISR, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True 'si tiene funcionalidad para tomar el TC de pago. se recalcula el importe If FuncionalidadFluctuacionImpuestos Then ImporteMN = (ImporteMovimiento * Pago.TCPago).RoundSQL - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteMovimiento, ImporteMN, Ret.CveConceptoAcreditable, CompraActual.SerieFolio, Concepto, Ret.IdCtaContableAcreditable, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, TipoCambio:=CompraActual.TC, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME, Contabilizable:=ContabilizableISR) Then ErrorMovtos = True + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteMovimiento, ImporteMN, Ret.CveConceptoAcreditable, CompraActual.SerieFolio, Concepto, Ret.IdCtaContableAcreditable, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, TipoCambio:=CompraActual.TC, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME, Contabilizable:=ContabilizableISR, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True End If @@ -9711,12 +9715,12 @@ Public Class ClsPaginas End If - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteMovimiento, ImporteMN, 25, CompraActual.SerieFolio, Concepto, Ret.IdCtaContablexAcreditar, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, TipoCambio:=CompraActual.TC, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME) Then ErrorMovtos = True + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteMovimiento, ImporteMN, 25, CompraActual.SerieFolio, Concepto, Ret.IdCtaContablexAcreditar, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, TipoCambio:=CompraActual.TC, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True 'si tiene funcionalidad para tomar el TC de pago. se recalcula el importe If FuncionalidadFluctuacionImpuestos Then ImporteMN = (ImporteMovimiento * Pago.TCPago).RoundSQL - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteMovimiento, ImporteMN, 26, CompraActual.SerieFolio, Concepto, Ret.IdCtaContableAcreditable, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, TipoCambio:=CompraActual.TC, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME) Then ErrorMovtos = True + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteMovimiento, ImporteMN, 26, CompraActual.SerieFolio, Concepto, Ret.IdCtaContableAcreditable, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, TipoCambio:=CompraActual.TC, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True End If @@ -9731,7 +9735,7 @@ Public Class ClsPaginas ImporteMovimiento = Math.Abs(ImporteMovimiento) IdCta = If(UsuarioActual.Empresa.TipoContabilidad = 2, UsuarioActual.Empresa.IdCuentaOtrosIngresos, 0) End If - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, tOtTipoMovto, ImporteMovimiento, ImporteMovimiento, tOtCveCon, CompraActual.SerieFolio, Concepto, IdCta, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, CveSubProyecto:=CompraActual.CveSubProyecto, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME) Then ErrorMovtos = True + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, tOtTipoMovto, ImporteMovimiento, ImporteMovimiento, tOtCveCon, CompraActual.SerieFolio, Concepto, IdCta, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True End If @@ -9825,15 +9829,17 @@ Public Class ClsPaginas If UsuarioActual.Empresa.TipoContabilidad = 2 Then - Dim IdCtaIVAXAcreditar, IdCtaIVAAcreditable As Integer + Dim IdCtaIVAXAcreditar, IdCtaIVAAcreditable, IdCtaIVANOAcreditable As Integer Dim dt As DataTable = ClsPaginas.GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeIVA) If dt.Rows.Count > 0 Then IdCtaIVAXAcreditar = dt.Rows(0)("IdCtaIVAXAcreditar").ToString.ToEntero IdCtaIVAAcreditable = dt.Rows(0)("IdCtaIVAAcreditable").ToString.ToEntero + IdCtaIVANOAcreditable = dt.Rows(0)("IdCtaIVANoAcreditable").ToString.ToEntero End If Ret.IdCtaContableAcreditable = IdCtaIVAAcreditable Ret.IdCtaContablexAcreditar = IdCtaIVAXAcreditar + Ret.IdCtaContIVANoAcreditable = IdCtaIVANOAcreditable End If Return Ret From 83e2a5021317dd3826603dd8e9181230eb80e760 Mon Sep 17 00:00:00 2001 From: rrene Date: Thu, 15 Sep 2022 16:01:49 -0700 Subject: [PATCH 07/12] -- codigo proviiosal, filtrar todas las cuentas --- Bancos/DepositosCaja.aspx.vb | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/Bancos/DepositosCaja.aspx.vb b/Bancos/DepositosCaja.aspx.vb index 069a5dd6c..c7f7bd75f 100644 --- a/Bancos/DepositosCaja.aspx.vb +++ b/Bancos/DepositosCaja.aspx.vb @@ -42,8 +42,12 @@ Partial Class Bancos_DepositosCaja DdlCuentaDeposito.DataBind() DdlCajaChica.DataSource = GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveEmpresa:=UsuarioActual.CveEmpresa).FiltraParametros(" CveTipoCuenta = 1", "", {"CveCuenta", "NumCuentaMoneda"}) - DdlCajaChica.DataBind() - + DdlCajaChica.DataBind() + 'código temporal, para claudia y toñita + If UsuarioActual.CveUsuario.Contiene(1937, 2452) Then + DdlCajaChica.Items.Add(New ListItem("Todas", "-1")) + End If + DdlSubProyectos.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa) DdlSubProyectos.DataBind() DdlSubProyectos.Items.Insert(0, New ListItem("Todos", "-1")) From cec4f3cb0e25e36669d1b4e3f11de3e94d94dcdf Mon Sep 17 00:00:00 2001 From: JORGE LUIS CAUDILLO ESPARZA Date: Thu, 15 Sep 2022 16:45:33 -0700 Subject: [PATCH 08/12] --- Compras/PopUpVerFactura.aspx.vb | 291 -------------------------------- Nomina/Nomina.aspx.cs | 2 +- vwd.webinfo | 2 + 3 files changed, 3 insertions(+), 292 deletions(-) diff --git a/Compras/PopUpVerFactura.aspx.vb b/Compras/PopUpVerFactura.aspx.vb index 64069bdad..dad1c926d 100644 --- a/Compras/PopUpVerFactura.aspx.vb +++ b/Compras/PopUpVerFactura.aspx.vb @@ -234,297 +234,6 @@ Partial Class PopUpVerFactura End Sub - Public Function GeneraPDFNomina(CvePersonal As Integer, CvePeriodo As Integer, CveEmpresa As Integer, RutaEmpresa As String, Optional indemnizacion As Boolean = False) As Byte() - - - Dim ObjNomina As New ClsNominas - Dim ObjPersonal As New ClsRH - Dim TieneError = False - Dim Retorno As Byte() = Nothing - - If Not ObjNomina.GetNom_Nominas(-1, CvePersonal, CvePeriodo, -1, CveEmpresa) Then - Alert("Ocurrio un erro al obtener datos de la nomina", TipoMensaje.MsgError) - ObjPersonal.Dispose() - ObjNomina.Dispose() - Return Nothing - End If - - Dim CveNomina = ObjNomina.CveNomina - Dim DTPercepciones As Data.DataTable - Dim DTDeducciones As Data.DataTable - Dim DTDeducciones2 As New Data.DataTable - - Dim Ruta As String = UsuarioActual.Empresa.Ruta - Dim PathXML As String = $"{Ruta}XML\Nomina\{ObjNomina.Serie }{If(indemnizacion, "F", "")}-{ObjNomina.Folio}.xml" - Dim FechaEmision, FechaCertificacion As DateTime - Dim FolioFiscal, NoSerieCertificado, NoSerieCertificadoContribuyente, SelloCFDi, SelloSAT As String - FolioFiscal = "" - NoSerieCertificado = "" - SelloCFDi = "" - SelloSAT = "" - NoSerieCertificadoContribuyente = "" - - Dim RutaCBB As String = String.Format("{0}CBB\Nomina\{1}.jpg", RutaEmpresa, ObjNomina.SerieFolio) - Dim ImagenCBB As New System.IO.FileInfo(RutaCBB) - Dim ImgCBB As String - - Dim RutaFormato As String = String.Format("{0}Formatos\Nomina.rdlc", RutaEmpresa) - Dim RutaFormatoDefault As String = String.Format("Empresas\Grales\Formatos\Nomina.rdlc") - - 'SI ESTA TIMBRADA - CON XML - - If System.IO.File.Exists(PathXML) Then - - Dim XmlDoc As New System.Xml.XmlDocument - 'XmlDoc.Load(Ruta & "XML\\Nomina\NOM A-3845.xml") - XmlDoc.Load(PathXML) - - If ValorNodoXML(XmlDoc.DocumentElement, "version").Contiene("3.3", "4.0") Then - FechaEmision = XmlDoc.DocumentElement.Attributes("Fecha").InnerText.ToDate - NoSerieCertificadoContribuyente = XmlDoc.DocumentElement.Attributes("NoCertificado").InnerText - - For i As Integer = 0 To XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes.Count - 1 - If XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Name = "tfd:TimbreFiscalDigital" Then - FolioFiscal = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Attributes("UUID").InnerText - NoSerieCertificado = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Attributes("NoCertificadoSAT").InnerText - FechaCertificacion = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Attributes("FechaTimbrado").InnerText.ToDate - SelloCFDi = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Attributes("SelloCFD").InnerText - SelloSAT = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Attributes("SelloSAT").InnerText - End If - Next - Else - FechaEmision = XmlDoc.DocumentElement.Attributes("fecha").InnerText.ToDate - NoSerieCertificadoContribuyente = XmlDoc.DocumentElement.Attributes("noCertificado").InnerText - - For i As Integer = 0 To XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes.Count - 1 - If XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Name = "tfd:timbreFiscalDigital" Then - FolioFiscal = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Attributes("UUID").InnerText - NoSerieCertificado = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Attributes("noCertificadoSAT").InnerText - FechaCertificacion = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Attributes("fechaTimbrado").InnerText.ToDate - SelloCFDi = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Attributes("selloCFD").InnerText - SelloSAT = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Attributes("selloSAT").InnerText - End If - Next - End If - - - 'SIN TIMBRAR - SIN XML - Else - FolioFiscal = "Sin Timbrar" - NoSerieCertificado = "Sin Timbrar" - SelloCFDi = "Sin Timbrar" - SelloSAT = "Sin Timbrar" - End If - - 'Si no tiene CBB, SE GENERA - If Not ImagenCBB.Exists Then - Dim CBB As New ClbNegBICFDv3_2.ClsNegCBBGenerar() - If ObjPersonal.GetPersonal(CvePersonal, CveEmpresa) Then - CBB.GenerarCBB(UsuarioActual.Empresa.RFC, ObjPersonal.RFC, ObjNomina.Total.ToString.ToDecimal, FolioFiscal, RutaCBB) - End If - End If - - ImgCBB = String.Format("{0}://{1}:{2}/Empresas/{3}/CBB/Nomina/{4}.jpg", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa, ObjNomina.SerieFolio) - - Dim cQr As Byte() = Nothing - Try - Dim CadenaOriginalCFD As String = "||1.0|" + FolioFiscal + "|" + FechaCertificacion.ToString("yyyy-MM-dd") + "T" + FechaCertificacion.ToString("HH:mm:ss") + "|" + SelloCFDi + "|" + NoSerieCertificado + "||" - - Dim RptParametro As New List(Of ReportParameter) - - - 'Datos Empresa - RptParametro.Add(New ReportParameter("RegistroPatronal", ObjNomina.RegistroPatronal)) - Dim ajusteindemnizacion As Double = 0 - 'PERCECIONES - DEDUCCIONES - If ObjNomina.GetNom_NominasDetalles(CveNomina, CvePersonal, CvePeriodo, "-1") Then - Dim filtrop As String = " AND CveSistema NOT IN(10,11,32)" - Dim friltrod As String = " AND CveSistema <>47" - If indemnizacion Then - filtrop = "AND CveSistema IN(10,11,32)" - friltrod = " AND CveSistema =47" - End If - DTPercepciones = ObjNomina.DtResultados.FiltraParametros($"((Tipo = 'P' OR (Tipo = 'D' AND Importe <0)) AND Importe <>0 AND EsPadre = 1 AND SoloVisible =0) {filtrop}") - DTDeducciones = ObjNomina.DtResultados.FiltraParametros($"(Tipo = 'D' AND Importe >0 AND EsPadre = 1 AND SoloVisible =0) {friltrod}") - DTDeducciones2 = ObjNomina.DtResultados.FiltraParametros($"((Tipo = 'D' AND Importe >0 AND EsPadre = 1 AND SoloVisible =0) OR CveSistema IN (20,21) OR CveConcepto =4714){friltrod}") - - ajusteindemnizacion = ObjNomina.DtResultados.FiltraParametros($"((Tipo = 'P' OR (Tipo = 'D' AND Importe <0)) AND Importe <>0 AND EsPadre = 1 AND SoloVisible =0) AND CveSistema IN(10,11,32)").SUM("Importe") - - ObjNomina.DtResultados.FiltraParametros($"(Tipo = 'D' AND Importe >0 AND EsPadre = 1 AND SoloVisible =0) AND CveSistema =47").SUM("Importe") - For Each row As DataRow In DTPercepciones.Rows - If row("Tipo").ToString() = "D" Then - row("Codigo") = row("Codigo").ToString().Replace("D", "OP") - row("Importe") = row("Importe").ToString().ToDecimal() * -1 - End If - Next - - Else - DTPercepciones = Nothing - DTDeducciones = Nothing - End If - 'DATOS DEL EMPLEADO - If ObjPersonal.GetPersonal(CvePersonal, CveEmpresa) Then - - RptParametro.Add(New ReportParameter("NoEmpleado", ObjPersonal.Codigo)) - RptParametro.Add(New ReportParameter("RFC", ObjPersonal.RFC)) - RptParametro.Add(New ReportParameter("CURP", ObjPersonal.CURP)) - - RptParametro.Add(New ReportParameter("NombreCompleto", String.Format("{0} {1} {2}", ObjPersonal.Nombres, ObjPersonal.APaterno, ObjPersonal.AMaterno).Trim())) - RptParametro.Add(New ReportParameter("Regimen", ObjPersonal.RegimenContratacion)) - RptParametro.Add(New ReportParameter("RiesgoPuesto", ObjPersonal.RiesgoPuesto)) - - RptParametro.Add(New ReportParameter("NSS", ObjPersonal.NumeroSS)) - RptParametro.Add(New ReportParameter("Departamento", ObjPersonal.Departamento)) - RptParametro.Add(New ReportParameter("Puesto", ObjPersonal.Puesto.ToString())) - RptParametro.Add(New ReportParameter("FechaIngreso", ObjPersonal.FechaIngreso.ToString("dd/MM/yyyy"))) - - RptParametro.Add(New ReportParameter("Contrato", ObjPersonal.TipoContrato.ToString)) - - RptParametro.Add(New ReportParameter("Jornada", ObjPersonal.Jornada)) - RptParametro.Add(New ReportParameter("Periodo", ObjNomina.TipoPeriodo)) - RptParametro.Add(New ReportParameter("SalarioBase", ObjPersonal.SalarioDiario.ToString)) - RptParametro.Add(New ReportParameter("SalarioDiarioInt", ObjPersonal.SDI.ToString)) - - RptParametro.Add(New ReportParameter("Banco", ObjPersonal.Banco)) - RptParametro.Add(New ReportParameter("CLABE", ObjPersonal.CLABE)) - - - 'DATOS NOMINA - If ObjNomina.GetNom_Nominas(CveNomina, CvePersonal, CvePeriodo, 1, CveEmpresa) Then - RptParametro.Add(New ReportParameter("ReciboNomina", ObjNomina.Folio.ToString)) - RptParametro.Add(New ReportParameter("Serie", ObjNomina.Serie)) - RptParametro.Add(New ReportParameter("Fecha", ObjNomina.Fecha.ToString)) - RptParametro.Add(New ReportParameter("Periodo", ObjNomina.TipoPeriodo)) - - RptParametro.Add(New ReportParameter("DiasPagados", ObjNomina.DiasPagados.ToString)) - RptParametro.Add(New ReportParameter("MetodoPago", ObjNomina.MetodoPago)) '"""PUE"" (Pago en una sola exhibición)" - RptParametro.Add(New ReportParameter("FormaPago", """99"" (Por definir)")) - - RptParametro.Add(New ReportParameter("Cantidad", "1")) - RptParametro.Add(New ReportParameter("Unidad", "ACT")) - RptParametro.Add(New ReportParameter("Descripcion", "PAGO DE NÓMINA")) - RptParametro.Add(New ReportParameter("Total", If(indemnizacion, ajusteindemnizacion, ObjNomina.Total - ajusteindemnizacion).ToString())) - - Dim CBB As New ClbNegBICFDv3_2.ClsNegCBBGenerar() - cQr = CBB.GenerarCBBBytes(UsuarioActual.Empresa.RFC, ObjPersonal.RFC, ObjNomina.Total.ToString().ToDecimal(), FolioFiscal) - RptParametro.Add(New ReportParameter("ImporteLetra", ObjNomina.Total.ToString.ToDouble.Texto2Letras)) - RptParametro.Add(New ReportParameter("Clave", "84111505")) - Else - TieneError = True - End If - Else - TieneError = True - End If - - If Not TieneError Then - If ObjNomina.GetPeriodos(-1, CveEmpresa, -1, -1, CvePeriodo) Then - RptParametro.Add(New ReportParameter("FechaInicio", ObjNomina.FechaInicio.ToString("dd/MM/yyyy"))) - RptParametro.Add(New ReportParameter("FechaFin", ObjNomina.FechaFin.ToString("dd/MM/yyyy"))) - Else - TieneError = True - End If - End If - - - RptParametro.Add(New ReportParameter("PU", DTPercepciones.SUM("Importe").ToString())) - RptParametro.Add(New ReportParameter("Importe", DTPercepciones.SUM("Importe").ToString())) - RptParametro.Add(New ReportParameter("ImporteDeducciones", DTDeducciones.SUM("Importe").ToString())) - - RptParametro.Add(New ReportParameter("SubTotal", DTPercepciones.SUM("Importe").ToString())) - RptParametro.Add(New ReportParameter("Descuentos", DTDeducciones.SUM("Importe", "SATCveConcepto <> '002'").ToString())) - RptParametro.Add(New ReportParameter("ISR", DTDeducciones.SUM("Importe", "SATCveConcepto = '002'").ToString())) - 'Timbrado - RptParametro.Add(New ReportParameter("FolioFiscal", FolioFiscal)) - RptParametro.Add(New ReportParameter("CertificadoSAT", NoSerieCertificado)) - RptParametro.Add(New ReportParameter("FechaCertificacion", FechaCertificacion.ToString)) - RptParametro.Add(New ReportParameter("SelloDigitalEmisor", SelloCFDi)) - RptParametro.Add(New ReportParameter("SelloDigitalSAT", SelloSAT)) - RptParametro.Add(New ReportParameter("CadenaOriginal", CadenaOriginalCFD)) - RptParametro.Add(New ReportParameter("QR", ImgCBB.ToString)) - - - Dim LSRds As New List(Of ReportDataSource) - - - Dim rds2 = New ReportDataSource() - - Dim dtqr As New DataTable - - Dim column As DataColumn = New DataColumn("ImagenByte") - column.DataType = System.Type.[GetType]("System.Byte[]") - column.AllowDBNull = True - column.Caption = "ImagenByte" - dtqr.Columns.Add(column) - Dim rowqr As DataRow = dtqr.NewRow() - rowqr("ImagenByte") = cQr - - dtqr.Rows.Add(rowqr) - rds2.Name = "dsImagenes" - rds2.Value = dtqr - LSRds.Add(rds2) - Dim numnewfiles As Integer = 0 - If DTPercepciones.Rows.Count > DTDeducciones2.Rows.Count Then - - numnewfiles = DTPercepciones.Rows.Count - DTDeducciones2.Rows.Count - For index = 1 To numnewfiles - - DTDeducciones2.Rows.Add(DTDeducciones2.NewRow) - Next - Else - - If DTDeducciones2.Rows.Count > DTPercepciones.Rows.Count Then - numnewfiles = DTDeducciones2.Rows.Count - DTPercepciones.Rows.Count - For index = 1 To numnewfiles - - DTPercepciones.Rows.Add(DTPercepciones.NewRow) - Next - - End If - End If - - Dim RptDS As New ReportDataSource - RptDS.Name = "DsOC" - RptDS.Value = DTPercepciones - LSRds.Add(RptDS) - - Dim RDS As New ReportDataSource - RDS.Name = "DataSet1" - RDS.Value = DTDeducciones2 - LSRds.Add(RDS) - Dim Archivo As New System.IO.FileInfo(RutaFormato) - - If Not TieneError Then - If Archivo.Exists Then - Retorno = StreamPDF(RutaFormato, LSRds, RptParametro, ObjNomina.SerieFolio, "PDF", MR:=Nothing) - Dim ArchivoPDF As New System.IO.FileInfo(String.Format("{0}PDF\\{1}.pdf", RutaEmpresa, ObjNomina.SerieFolio)) - If Not ArchivoPDF.Exists Then - Try - DirectoryExistsCreate(String.Format("{0}PDF", RutaEmpresa)) - DirectoryExistsCreate(String.Format("{0}PDF\{1}", RutaEmpresa, "Nomina")) - File.WriteAllBytes(String.Format("{0}PDF\Nomina\{1}.pdf", RutaEmpresa, ObjNomina.SerieFolio), Retorno) - Catch ex As Exception - Alert("Ocurrió un error al generar el PDF", TipoMensaje.MsgAdvertencia) - GuardaLog(String.Format("Ocurrió un error al generar el PDF {0}", ex)) - End Try - End If - Else - 'ImprimirPDF(String.Format("{0}\Formatos\Nomina.rdlc", RutaEmpresa), LSRds, RptParametro, ObjNomina.SerieFolio) - End If - Else - Alert("Ocurrio un error al obtener los datos de la Nomina") - End If - Catch ex As Exception - - GuardaLog(String.Format("Ocurrio un error al generar el reporte RLDC {0}", ex)) - End Try - - - ObjNomina.Dispose() - ObjPersonal.Dispose() - - Return Retorno - End Function - - Private Sub DescargaArchivoDirecto(RutaArchivo As String) If RutaArchivo <> "" Then diff --git a/Nomina/Nomina.aspx.cs b/Nomina/Nomina.aspx.cs index 104d6940f..dc10e0fef 100644 --- a/Nomina/Nomina.aspx.cs +++ b/Nomina/Nomina.aspx.cs @@ -1136,7 +1136,7 @@ public partial class Nomina_Nomina2 : ClsPaginas protected void LnkReenviarcorreo_Click(object sender, EventArgs e) { - string msggral = ""; + //string msggral = ""; int CvePeriodo = 0; ClsSisMail Mail = new ClsSisMail(); DataTable dtpersonal = new DataTable(); diff --git a/vwd.webinfo b/vwd.webinfo index d9f8a32a5..81c9ef656 100644 --- a/vwd.webinfo +++ b/vwd.webinfo @@ -560,6 +560,8 @@ + + From 4dbffc7a51e8a2acfaef6de6f2b03f1042665478 Mon Sep 17 00:00:00 2001 From: rrene Date: Sat, 17 Sep 2022 11:53:10 -0700 Subject: [PATCH 09/12] -- que tome de datakey las cvecuentas afectadas --- Bancos/DepositosCaja.aspx | 2 +- Bancos/DepositosCaja.aspx.vb | 13 +++---------- 2 files changed, 4 insertions(+), 11 deletions(-) diff --git a/Bancos/DepositosCaja.aspx b/Bancos/DepositosCaja.aspx index 70b809ca8..e073494dc 100644 --- a/Bancos/DepositosCaja.aspx +++ b/Bancos/DepositosCaja.aspx @@ -295,7 +295,7 @@

- + diff --git a/Bancos/DepositosCaja.aspx.vb b/Bancos/DepositosCaja.aspx.vb index c7f7bd75f..7cbb67f23 100644 --- a/Bancos/DepositosCaja.aspx.vb +++ b/Bancos/DepositosCaja.aspx.vb @@ -106,19 +106,14 @@ Partial Class Bancos_DepositosCaja GvFacturas.DataSource = ObjBancos.DtResultados - If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then lblValorTotal.Text = ObjBancos.DtResultados.SUM("Importe").ToString("###,###,###.00") RegistraScript($" ValorTotalSeleccionado = {ObjBancos.DtResultados.SUM("Importe")};") End If - - - ObjBancos.Dispose() - GvFacturas.DataBind() ChkFaltante.Checked = False ChkDescuento.Checked = False @@ -137,9 +132,6 @@ Partial Class Bancos_DepositosCaja UpParametros.Update() UpComisiones.Update() - - - End Sub Private Sub BtnDepositar_Click(sender As Object, e As EventArgs) Handles BtnDepositar.Click @@ -309,13 +301,14 @@ Partial Class Bancos_DepositosCaja Dim CveIE As Integer = Gvr.DataKey("CveIE").ToEntero Dim CveVenta As Integer = Gvr.DataKey("CveVenta").ToEntero Dim CvePrePoliza As Integer = Gvr.DataKey("CvePrePoliza").ToEntero + Dim CveCuentaBancaria As Integer = Gvr.DataKey("CveCuenta").ToEntero - FolioIE = ObjBancos.GetNextFolio(DdlCajaChica.SelectedValue.ToEntero, 2) + FolioIE = ObjBancos.GetNextFolio(CveCuentaBancaria, 2) If Not FolioIE > 0 Then OcurrioError = True Exit For End If - CveIEDestino = ObjBancos.AddBancos_IE(DdlCajaChica.SelectedValue.ToEntero, 2, Fecha, FolioIE.ToString, String.Format("Depósito Bancario: {0}", SerieFolio), Importe, CveMoneda, 1, TxtObservaciones.Text, "", False, False, -1, NuevaCvePrePoliza, "-1", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) + CveIEDestino = ObjBancos.AddBancos_IE(CveCuentaBancaria, 2, Fecha, FolioIE.ToString, String.Format("Depósito Bancario: {0}", SerieFolio), Importe, CveMoneda, 1, TxtObservaciones.Text, "", False, False, -1, NuevaCvePrePoliza, "-1", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) If Not ObjContabilidad.AddPrePolizasDetalle(NuevaCvePrePoliza, True, Importe, SerieFolio, 30, String.Format("Depósito Bancario: {0}", SerieFolio), Fecha, IdCuentaBancariaDestino, -1, CveClasificacion:=CveClasificacion, CveSubProyecto:=CveSubProyecto, CveVenta:=CveVenta, CveIE:=CveIEDestino, ImporteMX:=Importe * TipoCambio) Then From a10190aaceab1bd9450cf8d6de998d9ba8716cfd Mon Sep 17 00:00:00 2001 From: rrene Date: Sat, 17 Sep 2022 11:53:26 -0700 Subject: [PATCH 10/12] =?UTF-8?q?--=20entradas=20por=20pr=C3=A9stamo=20que?= =?UTF-8?q?=20se=20contabilicen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Inventarios/EntradasSalidas.aspx.vb | 71 ++--------------------------- 1 file changed, 5 insertions(+), 66 deletions(-) diff --git a/Inventarios/EntradasSalidas.aspx.vb b/Inventarios/EntradasSalidas.aspx.vb index 6c3071161..296498ec3 100644 --- a/Inventarios/EntradasSalidas.aspx.vb +++ b/Inventarios/EntradasSalidas.aspx.vb @@ -1720,16 +1720,6 @@ Partial Class Inventarios_EntradasSalidas Mensaje = "Error al guardar los movimientos" ErrorMovInv = True Exit For - 'Else - 'If ObjInventario.CveMovimientoDetalle > 0 AndAlso DtSeccionAlmacen.Rows.Count > 0 Then - ' For Each Dr2 As DataRow In DtSeccionAlmacen.FiltraParametros($"IndexSeccionAlmacen = {Cont}").Rows - ' If Not ObjInventario.AddMovimientosDetalleSeccionesAlmacen(ObjInventario.CveMovimientoDetalle, Dr2("CveSeccionAlmacen").ToString.ToEntero, Dr2("CantidadSeccionAlmacen").ToString.ToDecimal * Tipo) Then - ' ErrorMovInv = True - ' Mensaje = "Ocurrió un error al procesar las secciones de almacen. Por favor vuelva a intentar." - ' Exit For - ' End If - ' Next - 'End If End If Else @@ -1817,8 +1807,10 @@ Partial Class Inventarios_EntradasSalidas '[IPP] PARCHE CTA CONTABLE PARA SALIDA DE DEMOSTRACION If DdlConcepto.SelectedValue.ToEntero = 31 Then IdCtaContableOtro = 1319 + Else ''cuando es 28, es otros ingresos.78 + CveConceptoContable = 78 End If - EsContabilizable = False + EsContabilizable = True Case 30 CveConceptoContable = 181 TipoMovtoOtro = False @@ -1836,17 +1828,14 @@ Partial Class Inventarios_EntradasSalidas IdCtaContableOtro = drr("IdCuentaCostos").ToString.ToEntero End If - End Select If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoAlmacen, tValorInventario, TxtObservaciones.Text.Trim, 68, TxtObservaciones.Text.Trim, TxtFecha.Text.ToDate, idCtaContable, -1, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=tValorInventario, CveClasificacion:=CveClasificacion, Contabilizable:=EsContabilizable) Then ErrorMovInv = True Else - 'Select Case DdlConcepto.SelectedValue.ToEntero - ' Case 30 'Dim Total As Decimal = 0 - If CveConceptoContable = 181 Then + If CveConceptoContable.Contiene(181, 78) Then Dim Dt As DataTable = ObjInventario.DtResultados.FiltraParametros("", "", {"CveClasificacion"}).Copy 'Dim IdCuentaGasto As Integer = 0 For Each Dr As DataRow In Dt.Rows @@ -1856,13 +1845,8 @@ Partial Class Inventarios_EntradasSalidas ErrorMovInv = True End If Next - Else End If - - 'Case Else - - 'End Select End If Else ErrorMovInv = True @@ -1908,12 +1892,6 @@ Partial Class Inventarios_EntradasSalidas If drA IsNot Nothing Then CuentaAbonoAlmacen = drA("IdCtaContable").ToString.ToEntero - ''For Each gvr As GridViewRow In GvAC.Rows - 'For Each Dr As DataRow In DtII.Rows - ' Importe = Dr("Cantidad").ToString.ToDouble * Dr("PU").ToString.ToDouble ' gvr.FCTextBox("TxtImporte").Text.ToDouble - ' TotalDetalle += Importe - - 'saco de que partida se va a descontar y se enviara a gasto ' Dim drP As DataRow = DtPresupuestos.FiltroPrimero(String.Format("CveClasificacion = {0}", Dr("CveClasificacion"))) ' If drP IsNot Nothing Then CuentaCargoCOG = drP("IdCuentaMatriz").ToString.ToEntero @@ -1943,8 +1921,6 @@ Partial Class Inventarios_EntradasSalidas End If End If End If - - End If End If @@ -1957,44 +1933,7 @@ Partial Class Inventarios_EntradasSalidas Mensaje = "No se pudo insertar la poliza" End If End If - 'TERMINA: DEVENGAR - - - ''PREPOLIZA - SE CAMBIO DE LUGAR EL USO DE ESTA PARTE - 'If EsConsumoInterno Then - ' If Not ErrorAC And Not ErrorMovInv Then - ' Dim DtCostos As DataTable = Nothing - ' Dim ValorInventario As Decimal = 0 - - ' If ObjInventario.GetMovimientosDetalle(CveMovimiento, UsuarioActual.CveEmpresa) Then - ' DtCostos = ObjInventario.DtResultados - ' Dim tmpCostos As DataTable = DtCostos.FiltraParametros("", "", {"CveClasificacion"}) - ' Dim IdCtaContable As Integer = 0 - - ' If tmpCostos.Rows.Count > 0 Then - ' Dim Concepto As String = $"Consumo Interno: {ObjInventario.Folio} - {TxtObservaciones.Text}" - ' Dim CvePrePoliza = ObjConta.AddPrePolizas("Inv/ConsumoInterno", 53, DtCostos.SUM("Total"), DtCostos.SUM("Total"), 1, TxtFecha.Text.ToDate, $"Consumo Interno: {TxtObservaciones.Text}", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) - - ' For Each RowInv As DataRow In tmpCostos.Rows - ' ValorInventario = DtCostos.SUM("Total", $"CveClasificacion = {RowInv("CveClasificacion")}").ToString.ToDecimal - ' IdCtaContable = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaGasto", $"CveClasificacion = {RowInv("CveClasificacion")}").ToEntero - - ' If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ValorInventario, Concepto, 6, Concepto, TxtFecha.Text.ToDate, IdCtaContable, -1, CveClasificacion:=RowInv("CveClasificacion").ToString.ToEntero, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=ValorInventario) Then - ' ErrorMovInv = True - ' Exit For - ' End If - - ' Next - - ' IdCtaContable = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContable", $"CveAlmacen={DdlAlmacen.SelectedValue.ToEntero}").ToEntero - ' If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, DtCostos.SUM("Total"), Concepto, 68, Concepto, TxtFecha.Text.ToDate, IdCtaContable, -1, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=DtCostos.SUM("Total")) Then - ' ErrorMovInv = True - ' End If - ' End If - ' End If - - ' End If - 'End If + 'TERMINA: DEVENGAR Dim RetornoVirtual As MMovimientoVirtual = Nothing If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then From 90f8ad042e9ecd9772a7d58e648a80f3ed793a9f Mon Sep 17 00:00:00 2001 From: rrene Date: Sat, 17 Sep 2022 11:54:02 -0700 Subject: [PATCH 11/12] -- pago de compra, que sea acreditable o no, segun la forma de pago --- App_Code/ClsPaginas.vb | 42 ++++++++++++++++++++++++------------------ 1 file changed, 24 insertions(+), 18 deletions(-) diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb index 386b71e15..3ac099c3d 100644 --- a/App_Code/ClsPaginas.vb +++ b/App_Code/ClsPaginas.vb @@ -9634,8 +9634,10 @@ Public Class ClsPaginas End If - 'si tiene iva y su proporcion - If Not ErrorMovtos AndAlso CompraActual.IVA <> 0 Then + If Pago.AplicaAcreditable Then + + 'si tiene iva y su proporcion + If Not ErrorMovtos AndAlso CompraActual.IVA <> 0 Then ImporteMovimiento = (PorcentajePago * CompraActual.IVA).RoundSQL ImporteMN = (ImporteMovimiento * CompraActual.TC).RoundSQL If CompraActual.CveMoneda > 1 Then ImporteME = ImporteMovimiento @@ -9701,27 +9703,29 @@ Public Class ClsPaginas End If - 'si tiene IEPS y su proporcion - If Not ErrorMovtos AndAlso CompraActual.IEPS > 0 Then - ImporteMovimiento = (PorcentajePago * CompraActual.IEPS).RoundSQL - ImporteMN = (ImporteMovimiento * CompraActual.TC).RoundSQL - If CompraActual.CveMoneda > 1 Then ImporteME = ImporteMovimiento + 'si tiene IEPS y su proporcion + If Not ErrorMovtos AndAlso CompraActual.IEPS > 0 Then + ImporteMovimiento = (PorcentajePago * CompraActual.IEPS).RoundSQL + ImporteMN = (ImporteMovimiento * CompraActual.TC).RoundSQL + If CompraActual.CveMoneda > 1 Then ImporteME = ImporteMovimiento - Dim Ret As New ConceptosRetenciones - If UsuarioActual.Empresa.TipoContabilidad = 2 Then - If ObjConta.GetRetCuenta(26, UsuarioActual.CveEmpresa) AndAlso ObjConta.DtResultados.Rows.Count > 0 Then Ret.IdCtaContableAcreditable = ObjConta.DtResultados.Rows(0)("IdCuentaIEPSAcreditable").ToString.ToEntero + Dim Ret As New ConceptosRetenciones + If UsuarioActual.Empresa.TipoContabilidad = 2 Then + If ObjConta.GetRetCuenta(26, UsuarioActual.CveEmpresa) AndAlso ObjConta.DtResultados.Rows.Count > 0 Then Ret.IdCtaContableAcreditable = ObjConta.DtResultados.Rows(0)("IdCuentaIEPSAcreditable").ToString.ToEntero - If ObjConta.GetRetCuenta(25, UsuarioActual.CveEmpresa) AndAlso ObjConta.DtResultados.Rows.Count > 0 Then Ret.IdCtaContablexAcreditar = ObjConta.DtResultados.Rows(0)("IdCuentaIEPSxAcreditar").ToString.ToEntero + If ObjConta.GetRetCuenta(25, UsuarioActual.CveEmpresa) AndAlso ObjConta.DtResultados.Rows.Count > 0 Then Ret.IdCtaContablexAcreditar = ObjConta.DtResultados.Rows(0)("IdCuentaIEPSxAcreditar").ToString.ToEntero + + End If + + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteMovimiento, ImporteMN, 25, CompraActual.SerieFolio, Concepto, Ret.IdCtaContablexAcreditar, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, TipoCambio:=CompraActual.TC, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True + + 'si tiene funcionalidad para tomar el TC de pago. se recalcula el importe + If FuncionalidadFluctuacionImpuestos Then ImporteMN = (ImporteMovimiento * Pago.TCPago).RoundSQL + + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteMovimiento, ImporteMN, 26, CompraActual.SerieFolio, Concepto, Ret.IdCtaContableAcreditable, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, TipoCambio:=CompraActual.TC, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True End If - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteMovimiento, ImporteMN, 25, CompraActual.SerieFolio, Concepto, Ret.IdCtaContablexAcreditar, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, TipoCambio:=CompraActual.TC, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True - - 'si tiene funcionalidad para tomar el TC de pago. se recalcula el importe - If FuncionalidadFluctuacionImpuestos Then ImporteMN = (ImporteMovimiento * Pago.TCPago).RoundSQL - - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteMovimiento, ImporteMN, 26, CompraActual.SerieFolio, Concepto, Ret.IdCtaContableAcreditable, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, TipoCambio:=CompraActual.TC, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True - End If 'si tiene otros gastos/ingresos @@ -9779,6 +9783,7 @@ Public Class ClsPaginas Public Class CompraPago + Public Property TipoPago As String = "B" ' B - Bancos, A - Anticipos, E - ExC, NC - Nota de crédito Public Fecha As Date Public Property CveIE As Integer = -1 Public Property CvePersonal As Integer = -1 @@ -9789,6 +9794,7 @@ Public Class ClsPaginas Public Property OtroGastoIngreso As Decimal = 0 Public Property CveConceptoPago As Integer = -1 'no definido de inicio Public Property CveCreditoDetalle As Integer = -1 + Public Property AplicaAcreditable As Boolean = True End Class From 28bab97862dafe75f5e55987d159e9650365bfe0 Mon Sep 17 00:00:00 2001 From: rrene Date: Sat, 17 Sep 2022 12:16:10 -0700 Subject: [PATCH 12/12] -- RSCO vencimiento --- Inicio.aspx.vb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Inicio.aspx.vb b/Inicio.aspx.vb index 971d81b2e..dd2069a47 100644 --- a/Inicio.aspx.vb +++ b/Inicio.aspx.vb @@ -357,7 +357,7 @@ Partial Class Inicio Dim ObjInventarios As New ClsInventarios - If ObjInventarios.RepCompuestosVigencia(-1, -1, MinFecha, Now.AddYears(1), 1, UsuarioActual.CveEmpresa, -1, UsuarioActual.CveUsuario, True) Then + If ObjInventarios.RepCompuestosVigencia(-1, -1, MinFecha, Now.AddMonths(1), 1, UsuarioActual.CveEmpresa, -1, UsuarioActual.CveUsuario, True) Then If ObjInventarios.DtResultados.Rows.Count > 0 Then GvModalRSCOPorCaducar.DataSource = ObjInventarios.DtResultados