diff --git a/General/SaldosIniciales.aspx.vb b/General/SaldosIniciales.aspx.vb
index bc6b04318..e82447db1 100644
--- a/General/SaldosIniciales.aspx.vb
+++ b/General/SaldosIniciales.aspx.vb
@@ -294,6 +294,21 @@ Partial Class General_SaldosIniciales
Exit Sub
End If
+ If Not dt.Columns(15).ColumnName = "IEPS" Then
+ Alert("El nombre de la decimosexta columna debe ser 'IEPS'. Favor de corregirlo", TipoMensaje.MsgError)
+ Exit Sub
+ End If
+
+ If Not dt.Columns(16).ColumnName = "RetIVAPorcentaje" Then
+ Alert("El nombre de la decimoséptima columna debe ser 'RetIVAPorcentaje'. Favor de corregirlo", TipoMensaje.MsgError)
+ Exit Sub
+ End If
+
+ If Not dt.Columns(17).ColumnName = "RetISRPorcentaje" Then
+ Alert("El nombre de la decimoctava columna debe ser 'RetISRPorcentaje'. Favor de corregirlo", TipoMensaje.MsgError)
+ Exit Sub
+ End If
+
'If RblFormato.SelectedValue = "4" Then
' If Not dt.Columns(15).ColumnName = "ImpuestoLocal" Then
' Alert("El nombre de la diesciseisava columna debe ser 'ImpuestoLocal'. Favor de corregirlo", TipoMensaje.MsgError)
@@ -1445,128 +1460,138 @@ Partial Class General_SaldosIniciales
#Region "P R O V E E D O R E S - F A C T U R A S"
- Dim ObjCompras As New ClsCompras
Dim ErrorCompras As Boolean = False
- Dim ObjConta As New ClsContabilidad(ObjCompras.IniciaTransacSQL())
Dim CveCompra As Integer
Dim Contador As Integer = 0
Dim ExisteCompra As Boolean = False
Dim DtProveedores As New DataTable
Dim NoEncontrados As Integer = 0
Dim Encontrados As Integer = 0
- DtProveedores = GlobalDTCompProveedores(UsuarioActual.CveEmpresa)
Dim RFC As String = ""
- Dim drr As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa).FiltroPrimero("")
- Dim CvePS As Integer = drr("CvePS").ToString().ToEntero()
- Dim CveUnidadMedida As Integer = drr("CveUnidadMedida").ToString().ToEntero()
- Dim CveClasificacion As Integer = drr("CveClasificacion").ToString().ToEntero()
- Dim dtsubp As DataTable = GlobalDTSubProyectos(-1, CveEmpresa:=UsuarioActual.CveEmpresa)
+
+ Dim ObjCompras As New ClsCompras
+ Dim ObjConta As New ClsContabilidad(ObjCompras.IniciaTransacSQL())
+
+ Try
+ DtProveedores = GlobalDTCompProveedores(UsuarioActual.CveEmpresa)
+
+ Dim drr As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa).FiltroPrimero("")
+ Dim CvePS As Integer = drr("CvePS").ToString().ToEntero()
+ Dim CveUnidadMedida As Integer = drr("CveUnidadMedida").ToString().ToEntero()
+ Dim CveClasificacion As Integer = drr("CveClasificacion").ToString().ToEntero()
+ Dim dtsubp As DataTable = GlobalDTSubProyectos(-1, CveEmpresa:=UsuarioActual.CveEmpresa)
- For Each Row As DataRow In dt.FiltraParametros("RFC <> ''").Rows
- Dim Sucursal As String = dtsubp.FiltroPrimeroValor("CveSubProyecto", $"SubProyecto = '{Row("Sucursal").ToString()}'")
- RFC = Row("RFC").ToString().Trim
- RFC = Row("RFC").ToString().Trim
- Dim Serie As String = Row("Serie").ToString()
- Dim Folio As String = Row("Folio").ToString()
- Dim Fecha As Date = Row("Fecha").ToString().ToDate
- Dim SubTotal As Decimal = Row("SubTotal").ToString().ToDecimal
- Dim IVA As Decimal = Row("IVA").ToString().ToDecimal
- Dim Total As Decimal = Row("Total").ToString().ToDecimal
- Dim Saldo As Decimal = Row("Saldo").ToString().ToDecimal
- Dim TipoDocto As String = Row("Tipo Documento").ToString()
- Dim CveProveedor As Integer = DtProveedores.FiltroPrimeroValor("CveProveedor", $"RFC = '{RFC}'").ToString().ToEntero()
- GuardaLog(Sucursal + " - " + Row("Sucursal").ToString())
- Dim RetIVA As Decimal = Row("Ret IVA").ToString().ToDecimal
- Dim RetISR As Decimal = Row("Ret ISR").ToString().ToDecimal
- Dim IEPS As Decimal = Row("IEPS").ToString().ToDecimal
- Dim Moneda As String = Row("Moneda").ToString()
- Dim TipoCambio As String = Row("Tipo Cambio").ToString()
- Dim FechaVencimiento As Date = Row("Fecha Vencimiento").ToString().ToDate
- Dim CveMoneda As Integer = 1
- Dim CveProveedorSucursal As Integer = Row("CveProveedorSucursal").ToString().ToEntero()
- Dim PorcentajeIVA As String = Row("PorcentajeIVA").ToString()
- Dim ImpuestosLocales As Decimal = If(dt.Columns.Contains("ImpuestosLocales"), Row("ImpuestosLocales").ToString(), "0").ToDecimal
- Dim RetIVAPorcentaje As Decimal = Row("RetIVAPorcentaje").ToString().ToDecimal
- Dim RetISRPorcentaje As Decimal = Row("RetISRPorcentaje").ToString().ToDecimal
+ For Each Row As DataRow In dt.FiltraParametros("RFC <> ''").Rows
+ Dim Sucursal As String = dtsubp.FiltroPrimeroValor("CveSubProyecto", $"SubProyecto = '{Row("Sucursal").ToString()}'")
+ RFC = Row("RFC").ToString().Trim
+ RFC = Row("RFC").ToString().Trim
+ Dim Serie As String = Row("Serie").ToString()
+ Dim Folio As String = Row("Folio").ToString()
+ Dim Fecha As Date = Row("Fecha").ToString().ToDate
+ Dim SubTotal As Decimal = Row("SubTotal").ToString().ToDecimal
+ Dim IVA As Decimal = Row("IVA").ToString().ToDecimal
+ Dim Total As Decimal = Row("Total").ToString().ToDecimal
+ Dim Saldo As Decimal = Row("Saldo").ToString().ToDecimal
+ Dim TipoDocto As String = Row("Tipo Documento").ToString()
+ Dim CveProveedor As Integer = DtProveedores.FiltroPrimeroValor("CveProveedor", $"RFC = '{RFC}'").ToString().ToEntero()
+ GuardaLog(Sucursal + " - " + Row("Sucursal").ToString())
+ Dim RetIVA As Decimal = Row("Ret IVA").ToString().ToDecimal
+ Dim RetISR As Decimal = Row("Ret ISR").ToString().ToDecimal
+ Dim IEPS As Decimal = Row("IEPS").ToString().ToDecimal
+ Dim Moneda As String = Row("Moneda").ToString()
+ Dim TipoCambio As String = Row("Tipo Cambio").ToString()
+ Dim FechaVencimiento As Date = Row("Fecha Vencimiento").ToString().ToDate
+ Dim CveMoneda As Integer = 1
+ Dim CveProveedorSucursal As Integer = Row("CveProveedorSucursal").ToString().ToEntero()
+ Dim PorcentajeIVA As String = Row("PorcentajeIVA").ToString()
+ Dim ImpuestosLocales As Decimal = If(dt.Columns.Contains("ImpuestosLocales"), Row("ImpuestosLocales").ToString(), "0").ToDecimal
+ Dim RetIVAPorcentaje As Decimal = Row("RetIVAPorcentaje").ToString().ToDecimal
+ Dim RetISRPorcentaje As Decimal = Row("RetISRPorcentaje").ToString().ToDecimal
- If Not CvePS > 0 Then Alert(String.Format("No se encontró el Producto Servicio"), TipoMensaje.MsgError) : ErrorCompras = True
- If Not CveUnidadMedida > 0 Then Alert(String.Format("No se encontró la Unidad de Medida."), TipoMensaje.MsgError) : ErrorCompras = True
- If Not CveProveedor > 0 Then Alert(String.Format("No se encontró el Proveedor con el RFC: {0}", {RFC}), TipoMensaje.MsgError) : ErrorCompras = True : Exit For
- If Not CveProveedorSucursal > 0 Then CveProveedorSucursal = -1
+ If Not CvePS > 0 Then Alert(String.Format("No se encontró el Producto Servicio"), TipoMensaje.MsgError) : ErrorCompras = True
+ If Not CveUnidadMedida > 0 Then Alert(String.Format("No se encontró la Unidad de Medida."), TipoMensaje.MsgError) : ErrorCompras = True
+ If Not CveProveedor > 0 Then Alert(String.Format("No se encontró el Proveedor con el RFC: {0}", {RFC}), TipoMensaje.MsgError) : ErrorCompras = True : Exit For
+ If Not CveProveedorSucursal > 0 Then CveProveedorSucursal = -1
- TipoDocto = IIf(TipoDocto.ToUpper.Contiene("INGRESOS", "INGRESO", "ING", "FACTURA"), "Fac", "NC").ToString()
+ TipoDocto = IIf(TipoDocto.ToUpper.Contiene("INGRESOS", "INGRESO", "ING", "FACTURA"), "Fac", "NC").ToString()
- 'Temporalmente SE BORRARA
- Dim Transaccion As String = "" 'Row("Transaccion2").ToString()
- Dim Folio2 As String = "" 'Row("Folio2").ToString()
- Dim CodProvee As String = "" 'Row("CodProvee2").ToString()
+ 'Temporalmente SE BORRARA
+ Dim Transaccion As String = "" 'Row("Transaccion2").ToString()
+ Dim Folio2 As String = "" 'Row("Folio2").ToString()
+ Dim CodProvee As String = "" 'Row("CodProvee2").ToString()
- 'Moneda
- If Moneda.ToUpper.Contiene("PESOS", "PESO", "MXN", "MONEDA NACIONAL") Then
- CveMoneda = 1
- ElseIf Moneda.ToUpper.Contiene("DOLARES", "DOLAR", "USD", "DÓLARES") Then
- CveMoneda = 2
- End If
+ 'Moneda
+ If Moneda.ToUpper.Contiene("PESOS", "PESO", "MXN", "MONEDA NACIONAL") Then
+ CveMoneda = 1
+ ElseIf Moneda.ToUpper.Contiene("DOLARES", "DOLAR", "USD", "DÓLARES") Then
+ CveMoneda = 2
+ End If
- 'Si no se especifica TC, se manda como pesos.
- If TipoCambio = "" Then TipoCambio = "1"
+ 'Si no se especifica TC, se manda como pesos.
+ If TipoCambio = "" Then TipoCambio = "1"
- 'PrePóliza
- Dim CvePrePoliza As Integer = ObjConta.AddPrePolizas("Compras/SaldoInicial", 1, Total, Total, CveMoneda, Fecha, String.Format("{0}-{1}", Serie, Folio), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
- If Not CvePrePoliza > 0 Then
- ErrorCompras = True
- Exit For
- End If
+ 'PrePóliza
+ Dim CvePrePoliza As Integer = ObjConta.AddPrePolizas("Compras/SaldoInicial", 1, Total, Total, CveMoneda, Fecha, String.Format("{0}-{1}", Serie, Folio), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
+ If Not CvePrePoliza > 0 Then
+ ErrorCompras = True
+ Exit For
+ End If
- If FechaVencimiento = "".ToDate Or FechaVencimiento < "1900/01/01".ToDate Then
- FechaVencimiento = Fecha
- End If
+ If FechaVencimiento = "".ToDate Or FechaVencimiento < "1900/01/01".ToDate Then
+ FechaVencimiento = Fecha
+ End If
- 'Compra
- If Not ObjCompras.AddCompra(TipoDocto, "", Serie, Folio, Folio2, CveProveedor.ToEntero(), SubTotal, 0, 0, IVA, RetIVA, RetISR, IEPS, 0, 0, Total, Fecha, CveMoneda, TipoCambio.ToDecimal, FechaVencimiento,
+ 'Compra
+ If Not ObjCompras.AddCompra(TipoDocto, "", Serie, Folio, Folio2, CveProveedor.ToEntero(), SubTotal, 0, 0, IVA, RetIVA, RetISR, IEPS, 0, 0, Total, Fecha, CveMoneda, TipoCambio.ToDecimal, FechaVencimiento,
False, CodProvee, 1, CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveProveedorSucursal:=CveProveedorSucursal,
NumeroReembolso:=Transaccion, PorcentajeIVA:=PorcentajeIVA.ToDecimal, TotalOriginal:=Total) Then
- ErrorCompras = True
- Exit For
- End If
- CveCompra = ObjCompras.CveCompra
+ ErrorCompras = True
+ Exit For
+ End If
+ CveCompra = ObjCompras.CveCompra
- 'Compra Detalle
- If Not ObjCompras.AddCompraDetalle(CveCompra, CveUnidadMedida, CvePS, Sucursal.ToEntero(), -1, 0, 1, SubTotal, 0.16D, SubTotal, 0, "Carga Inicial", -1, IVAPorcentaje:=PorcentajeIVA.ToDecimal, RetIVAPorcentaje:=RetIVAPorcentaje, RetISRPorcentaje:=RetISRPorcentaje) Then
- ErrorCompras = True
- Exit For
- End If
- Dim ConceptoContablePago As Integer = 17
- If TipoDocto = "NC" Then ConceptoContablePago = 60
+ 'Compra Detalle
+ If Not ObjCompras.AddCompraDetalle(CveCompra, CveUnidadMedida, CvePS, Sucursal.ToEntero(), -1, 0, 1, SubTotal, 0.16D, SubTotal, 0, "Carga Inicial", -1, IVAPorcentaje:=PorcentajeIVA.ToDecimal, RetIVAPorcentaje:=RetIVAPorcentaje, RetISRPorcentaje:=RetISRPorcentaje) Then
+ ErrorCompras = True
+ Exit For
+ End If
+ Dim ConceptoContablePago As Integer = 17
+ If TipoDocto = "NC" Then ConceptoContablePago = 60
- 'PrePólizaDetalle
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Total, Total, IIf(TipoDocto = "Fac", 5, 18).ToString().ToEntero(), Folio, String.Format("{0}-{1}", Serie, Folio), CveCompra:=CveCompra, CveProveedor:=CveProveedor, CveSubProyecto:=Sucursal.ToEntero()) Then ErrorCompras = True : Exit For
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, SubTotal, SubTotal, 6, Folio, String.Format("{0}-{1}", Serie, Folio), CveCompra:=CveCompra, CveProveedor:=CveProveedor, CveClasificacion:=CveClasificacion, CveSubProyecto:=Sucursal.ToEntero()) Then ErrorCompras = True : Exit For
+ 'PrePólizaDetalle
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Total, Total, IIf(TipoDocto = "Fac", 5, 18).ToString().ToEntero(), Folio, String.Format("{0}-{1}", Serie, Folio), CveCompra:=CveCompra, CveProveedor:=CveProveedor, CveSubProyecto:=Sucursal.ToEntero()) Then ErrorCompras = True : Exit For
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, SubTotal, SubTotal, 6, Folio, String.Format("{0}-{1}", Serie, Folio), CveCompra:=CveCompra, CveProveedor:=CveProveedor, CveClasificacion:=CveClasificacion, CveSubProyecto:=Sucursal.ToEntero()) Then ErrorCompras = True : Exit For
- If IVA > 0 Then
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, IVA, IVA, 14, Folio, String.Format("{0}-{1}", Serie, Folio), CveCompra:=CveCompra, CveProveedor:=CveProveedor, CveSubProyecto:=Sucursal.ToEntero(), CveClasificacion:=CveClasificacion, PorcentajeImpuesto:=PorcentajeIVA.ToDecimal) Then ErrorCompras = True : Exit For
- End If
+ If IVA > 0 Then
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, IVA, IVA, 14, Folio, String.Format("{0}-{1}", Serie, Folio), CveCompra:=CveCompra, CveProveedor:=CveProveedor, CveSubProyecto:=Sucursal.ToEntero(), CveClasificacion:=CveClasificacion, PorcentajeImpuesto:=PorcentajeIVA.ToDecimal) Then ErrorCompras = True : Exit For
+ End If
- If IEPS > 0 Then If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, IEPS, IEPS, 25, Folio, String.Format("{0}-{1}", Serie, Folio), CveCompra:=CveCompra, CveProveedor:=CveProveedor, CveSubProyecto:=Sucursal.ToEntero()) Then ErrorCompras = True : Exit For
+ If IEPS > 0 Then If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, IEPS, IEPS, 25, Folio, String.Format("{0}-{1}", Serie, Folio), CveCompra:=CveCompra, CveProveedor:=CveProveedor, CveSubProyecto:=Sucursal.ToEntero()) Then ErrorCompras = True : Exit For
- If RetIVA > 0 Then If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, RetIVA, RetIVA, 15, Folio, String.Format("{0}-{1}", Serie, Folio), CveCompra:=CveCompra, CveProveedor:=CveProveedor, CveSubProyecto:=Sucursal.ToEntero()) Then ErrorCompras = True : Exit For
- If RetISR > 0 Then If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, RetISR, RetISR, 16, Folio, String.Format("{0}-{1}", Serie, Folio), CveCompra:=CveCompra, CveProveedor:=CveProveedor, CveSubProyecto:=Sucursal.ToEntero()) Then ErrorCompras = True : Exit For
- If ImpuestosLocales > 0 Then If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImpuestosLocales, ImpuestosLocales, 27, Folio, String.Format("{0}-{1}", Serie, Folio), CveCompra:=CveCompra, CveProveedor:=CveProveedor, CveSubProyecto:=Sucursal.ToEntero()) Then ErrorCompras = True : Exit For
+ If RetIVA > 0 Then If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, RetIVA, RetIVA, 15, Folio, String.Format("{0}-{1}", Serie, Folio), CveCompra:=CveCompra, CveProveedor:=CveProveedor, CveSubProyecto:=Sucursal.ToEntero()) Then ErrorCompras = True : Exit For
+ If RetISR > 0 Then If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, RetISR, RetISR, 16, Folio, String.Format("{0}-{1}", Serie, Folio), CveCompra:=CveCompra, CveProveedor:=CveProveedor, CveSubProyecto:=Sucursal.ToEntero()) Then ErrorCompras = True : Exit For
+ If ImpuestosLocales > 0 Then If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImpuestosLocales, ImpuestosLocales, 27, Folio, String.Format("{0}-{1}", Serie, Folio), CveCompra:=CveCompra, CveProveedor:=CveProveedor, CveSubProyecto:=Sucursal.ToEntero()) Then ErrorCompras = True : Exit For
- 'Saldo
- If Saldo < Total Then
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Total - Saldo, Total - Saldo, 17, $"{Folio} SALDO INICIAL", Folio, CveCompra:=CveCompra, CveProveedor:=CveProveedor) Then ErrorCompras = True : Exit For
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Total - Saldo, Total - Saldo, 95, $"{Folio} SALDO INICIAL", Folio, CveCompra:=CveCompra, CveProveedor:=CveProveedor) Then ErrorCompras = True : Exit For
- End If
- Encontrados = Encontrados + 1
+ 'Saldo
+ If Saldo < Total Then
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Total - Saldo, Total - Saldo, 17, $"{Folio} SALDO INICIAL", Folio, CveCompra:=CveCompra, CveProveedor:=CveProveedor) Then ErrorCompras = True : Exit For
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Total - Saldo, Total - Saldo, 95, $"{Folio} SALDO INICIAL", Folio, CveCompra:=CveCompra, CveProveedor:=CveProveedor) Then ErrorCompras = True : Exit For
+ End If
+ Encontrados = Encontrados + 1
+
+ Next
+
+ Catch ex As Exception
+ OnError("Ocurrió un error al cargar los datos", ex)
+ ErrorCompras = True
+ End Try
- Next
If Not ErrorCompras Then
If Contador > 0 Then
Alert(String.Format("Se agregaron: {0} Compras correctamente.
Se Omitieron: {1} Compras ya que ya se encuentran registradas.", NumRows - Contador, Contador), TipoMensaje.MsgInformacion)