From b6b8936144a4a7afe9ba4e1429f2270deae3d976 Mon Sep 17 00:00:00 2001 From: Rakcsle Supertramp Date: Fri, 20 Mar 2020 10:41:35 -0700 Subject: [PATCH 01/18] Efacturas Error agregar complemento fechas 1/1/1 --- Compras/eFacturas.aspx.vb | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/Compras/eFacturas.aspx.vb b/Compras/eFacturas.aspx.vb index 9b8cfecce..e89aec644 100644 --- a/Compras/eFacturas.aspx.vb +++ b/Compras/eFacturas.aspx.vb @@ -2842,16 +2842,24 @@ Partial Class Compras_eFacturas Dim FechaDocumento As Date = GvRowF.DataKey("FechaPago").ToString.ToDate Dim FechaDoRecibo As Date = GvRowF.DataKey("Fecha").ToString.ToDate + Dim CveIEDocumento As Integer = GvRowF.DataKey("CveIE").ToEntero - Dim FT1 As Date = FechaDocumento.AddDays(-6) - Dim FT2 As Date = FechaDocumento.AddDays(7) + If CveIEDocumento > 0 And FechaDocumento > New Date(1, 1, 1) Then + Dim FT1 As Date = FechaDocumento - If Not (FechaDoRecibo >= FT1 And FechaDoRecibo < FT2) Then + If FechaDocumento <> New Date(1, 1, 1) Then + FT1 = FechaDocumento.AddDays(-6) + End If - BtnVincularPago.Visible = False - MSGComplemento = MSGComplemento & " Existen mas de 3 días de diferencia entre la fecha del documento y la fecha de complemento. " + Dim FT2 As Date = FechaDocumento.AddDays(7) - Exit For + If Not (FechaDoRecibo >= FT1 And FechaDoRecibo < FT2) Then + + BtnVincularPago.Visible = False + MSGComplemento = MSGComplemento & " Existen mas de 3 días de diferencia entre la fecha del documento y la fecha de complemento. " + + Exit For + End If End If Next From cfedc4cdf274509159a42955fe4fba5f09b4baad Mon Sep 17 00:00:00 2001 From: rrene Date: Mon, 23 Mar 2020 16:20:56 -0700 Subject: [PATCH 02/18] -agrupadores Contabilidad 2 --- App_Code/ClsContabilidad.vb | 20 ++------------------ 1 file changed, 2 insertions(+), 18 deletions(-) diff --git a/App_Code/ClsContabilidad.vb b/App_Code/ClsContabilidad.vb index 39578f6b3..c42ee329b 100644 --- a/App_Code/ClsContabilidad.vb +++ b/App_Code/ClsContabilidad.vb @@ -4609,26 +4609,10 @@ Public Class ClsContabilidad Return Retorno End Function - Public Function GetMonedas() As Boolean + Public Function GetAgrupadoresSAT() As Boolean Dim Retorno As Boolean = False - DataAdapter(" SELECT * FROM Monedas ".ToString, CommandType.Text) - - Try - SqlAdapter.Fill(Data) - Retorno = True - Catch ex As Exception - OnError("Ocurrió un error al consultar las Monedas.", ex) - End Try - - Return Retorno - End Function - - Public Function GetAgrupadoresSAT(CveEmpresa As Integer) As Boolean - Dim Retorno As Boolean = False - - DataAdapter(" SELECT CveAgrupadorSAT, Codigo + REPLICATE(' ', 10 - len(Codigo)) + ' - ' + Nombre AS CodigoNombre FROM AgrupadoresSAT where CveEmpresa= '" & CveEmpresa & "'", CommandType.Text) - + DataAdapter("PA_Conta_AgrupadoresSATGet") Try SqlAdapter.Fill(Data) Retorno = True From 059fce731d538755f5f29e4b35f993f7e250ae84 Mon Sep 17 00:00:00 2001 From: rrene Date: Mon, 23 Mar 2020 17:48:44 -0700 Subject: [PATCH 03/18] validacion de existencia de DT --- Ashx/SIGWeb.ashx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Ashx/SIGWeb.ashx b/Ashx/SIGWeb.ashx index 986094a69..890fd766c 100644 --- a/Ashx/SIGWeb.ashx +++ b/Ashx/SIGWeb.ashx @@ -380,7 +380,7 @@ Public Class SIGWeb : Implements IHttpHandler, IRequiresSessionState End If - If usuario.Empresa.Funcionalidad(558) = "1" Then + If usuario.Empresa.Funcionalidad(558) = "1" AndAlso DtPSRetorno IsNot Nothing Then Try Dim NombreFiltroColumna As String = DtPSRetorno.Columns(3).ColumnName DtPSRetorno = DtPSRetorno.FiltraParametros("", String.Format("{0} DESC,PSCodigo", NombreFiltroColumna)) From d5cd9cefc03a2f4812f2968a0cab965003faeb37 Mon Sep 17 00:00:00 2001 From: rrene Date: Mon, 23 Mar 2020 17:49:17 -0700 Subject: [PATCH 04/18] -mejora en mensaje de diferencia --- Compras/Compras.aspx.vb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index de7d61293..2726036c6 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -16717,7 +16717,7 @@ Partial Class Compras_Compras Dim DiferenciaPermitida = 0.6 If Math.Abs(DifTotales) > DiferenciaPermitida Then - Alert("Los importes de los conceptos (Productos/Servicios) no cuadran con el total. Por favor verifique y vuelva a intentar.", TipoMensaje.MsgAdvertencia) + Alert(String.Format("Los importes de los conceptos (Productos/Servicios) no cuadran con el total. Por favor verifique y vuelva a intentar.[{0}]", Math.Abs(DifTotales) - DiferenciaPermitida), TipoMensaje.MsgAdvertencia) EsValido = False ElseIf DifTotales <> 0 Then TxtSubTotal2.Text = (TxtSubTotal2.Text.ToDouble + DifTotales).ToString From 6e1b4bc73d817580c1b129cf3121730df2568103 Mon Sep 17 00:00:00 2001 From: rrene Date: Mon, 23 Mar 2020 17:50:23 -0700 Subject: [PATCH 05/18] mejoras en rendimiento --- App_Code/ClsPaginas.vb | 3 ++- App_Code/ClsVentas.vb | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb index dcffa0622..2433210a6 100644 --- a/App_Code/ClsPaginas.vb +++ b/App_Code/ClsPaginas.vb @@ -1175,7 +1175,7 @@ Public Class ClsPaginas ObjPS.Dispose() End Get End Property - Public Property GlobalDTPSSimplificado(CveEmpresa As Integer, Optional CveClasificacion As Integer = -1, Optional PSCodigo As String = "-1", Optional Estatus As Integer = 1, Optional AplicaParaVenta As Integer = -1) As DataTable + Public Property GlobalDTPSSimplificado(CveEmpresa As Integer, Optional CveClasificacion As Integer = -1, Optional PSCodigo As String = "-1", Optional Estatus As Integer = 1, Optional AplicaParaVenta As Integer = -1, Optional CvePS As Integer = -1) As DataTable Get Dim AppNombre As String = String.Format("GlobalDTPSSimplificado{0}", CveEmpresa) If CveEmpresa <> -1 Then @@ -1195,6 +1195,7 @@ Public Class ClsPaginas If PSCodigo <> "-1" Then Cons = Cons.Where((Function(a) Convert.ToString(a!PSCodigo) = PSCodigo)) If Estatus >= 0 Then Cons = Cons.Where((Function(a) Convert.ToInt32(a!CveEstado) = Estatus)) If AplicaParaVenta >= 0 Then Cons = Cons.Where((Function(a) Convert.ToInt32(a!AplicaParaVenta) = AplicaParaVenta)) + If CvePS >= 0 Then Cons = Cons.Where((Function(a) Convert.ToInt32(a!CvePS) = CvePS)) Try GlobalDTPSSimplificado = Cons.OrderBy(Function(a) a!PSCodigo).CopyToDataTable diff --git a/App_Code/ClsVentas.vb b/App_Code/ClsVentas.vb index ce6cb92d0..39602a912 100644 --- a/App_Code/ClsVentas.vb +++ b/App_Code/ClsVentas.vb @@ -2786,7 +2786,7 @@ Public Class ClsVentas Try Dim objServicio As Cancelacion.CancelacionSoapClient = New Cancelacion.CancelacionSoapClient() - Dim resp As Cancelacion.StructCancel = objServicio.ObtienePendientes(RFC, "UserTest", "1234567890") + Dim resp As Cancelacion.StructCancel = objServicio.ObtienePendientes(RFC, "UserTest", "1234567890") If resp.Estado = 0 Then Dim XmlPendientes As String = System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(resp.Xml)) Dim theReader As IO.StringReader = New IO.StringReader(XmlPendientes) From db3f7f24dc54e4483c05f7b6358702cbaf181293 Mon Sep 17 00:00:00 2001 From: rrene Date: Mon, 23 Mar 2020 17:50:50 -0700 Subject: [PATCH 06/18] - cambios de agrupadores --- Contabilidad/ContabilizacionCompras.aspx.cs | 22 ++++++++++----------- Contabilidad2/CatCuentas.aspx.vb | 10 ++-------- 2 files changed, 13 insertions(+), 19 deletions(-) diff --git a/Contabilidad/ContabilizacionCompras.aspx.cs b/Contabilidad/ContabilizacionCompras.aspx.cs index ec8ae0aba..17ffb188a 100644 --- a/Contabilidad/ContabilizacionCompras.aspx.cs +++ b/Contabilidad/ContabilizacionCompras.aspx.cs @@ -53,21 +53,21 @@ public partial class Contabilidad_ContabilizacionCompras : ClsPaginas //DdlProveedores.DataSource = get_GlobalDTCompProveedores(UsuarioActual.CveEmpresa); //DdlProveedores.DataBind(); - - DdlPersonal.DataSource = get_GlobalDTRHPersonal(UsuarioActual.CveEmpresa); - DdlPersonal.DataBind(); - - DdlPlantillasPolizas.DataSource = get_GlobalDTContaPlantillasPolizas(UsuarioActual.CveEmpresa); - DdlPlantillasPolizas.Items.Insert(0, new ListItem("Todos", "-1")); - DdlPlantillasPolizas.DataBind(); - - txtFechaI.Text = DateTime.Now.FirstDayOfMonth().AddMonths(-1).ToShortDateString(); - txtFechaF.Text = DateTime.Now.ToShortDateString(); - + //CargaDatos(); } + DdlPersonal.DataSource = get_GlobalDTRHPersonal(UsuarioActual.CveEmpresa); + DdlPersonal.DataBind(); + + DdlPlantillasPolizas.DataSource = get_GlobalDTContaPlantillasPolizas(UsuarioActual.CveEmpresa); + DdlPlantillasPolizas.Items.Insert(0, new ListItem("Todos", "-1")); + DdlPlantillasPolizas.DataBind(); + + txtFechaI.Text = DateTime.Now.FirstDayOfMonth().AddMonths(-1).ToShortDateString(); + txtFechaF.Text = DateTime.Now.ToShortDateString(); + if (UsuarioActual.CveRol == 1 || UsuarioActual.CveUsuario == 17 || UsuarioActual.CveUsuario == 171 || UsuarioActual.TienePermisoProceso(221)) { TienePermisoEditar = true; diff --git a/Contabilidad2/CatCuentas.aspx.vb b/Contabilidad2/CatCuentas.aspx.vb index 7dbef8341..7a8cecb4e 100644 --- a/Contabilidad2/CatCuentas.aspx.vb +++ b/Contabilidad2/CatCuentas.aspx.vb @@ -111,19 +111,13 @@ Partial Class Contabilidad2_CatCuentas End Sub Private Sub CargaMonedas() - 'Dim ObjConta As New ClsContPAQi(UsuarioActual.Empresa) - Dim ObJConta As New ClsContabilidad - - If ObJConta.GetMonedas() Then - DdlMoneda.DataSource = ObJConta.DtResultados - End If - ObJConta.Dispose() + DdlMoneda.DataSource = GlobalDTMonedas DdlMoneda.DataBind() End Sub Private Sub CargaAgrupadorSAT() - 'Dim ObjConta As New ClsContPAQi(UsuarioActual.Empresa) + Dim ObjConta As New ClsContabilidad If ObjConta.GetAgrupadoresSAT(UsuarioActual.CveEmpresa) Then From 8d9e8ef8ab3da77aca755db0325771f8543d9d26 Mon Sep 17 00:00:00 2001 From: rrene Date: Mon, 23 Mar 2020 17:51:23 -0700 Subject: [PATCH 07/18] cambio de nombre de objeto --- OC/OC.aspx.vb | 318 +++++++++++++++++++++++++------------------------- 1 file changed, 159 insertions(+), 159 deletions(-) diff --git a/OC/OC.aspx.vb b/OC/OC.aspx.vb index 0c66a6a86..e6b297b53 100644 --- a/OC/OC.aspx.vb +++ b/OC/OC.aspx.vb @@ -6082,51 +6082,51 @@ Partial Class OC End If End Sub - Private Function ReadExcelFile(ByVal flatFilePath As String, ByVal firstRowHasHeaders As Boolean) As DataTable - SpreadsheetInfo.SetLicense(ModExtensiones.SerialGemBoxSpreadsheet) - Dim excelFile As ExcelFile = excelFile.Load(flatFilePath) - - Dim unnamed As Integer = 0 - Dim cols As Integer - Dim columns As String() - Dim curRow As Integer = 0 - Dim curCol As Integer = 0 - Dim dataTable As DataTable = New DataTable() - Dim worksheet As ExcelWorksheet = excelFile.Worksheets(0) - - For cols = 0 To worksheet.Rows(0).AllocatedCells.Count - 1 - - If firstRowHasHeaders Then - - If worksheet.Rows(0).Cells(cols).Value IsNot Nothing Then - dataTable.Columns.Add(worksheet.Rows(0).Cells(cols).Value.ToString()) - Else - dataTable.Columns.Add("Unnamed Column " & (System.Threading.Interlocked.Increment(unnamed))) - End If - - curRow = 1 - Else - dataTable.Columns.Add("Column " & (cols + 1)) - End If - Next - - While curRow < worksheet.Rows.Count - columns = New String(cols - 1) {} - - For curCol = 0 To cols - 1 - - If worksheet.Rows(curRow).Cells(curCol).Value Is Nothing Then - columns(curCol) = "" - Else - columns(curCol) = worksheet.Rows(curRow).Cells(curCol).Value.ToString() - End If - Next - - dataTable.Rows.Add(columns) - curRow += 1 - End While - - Return dataTable + Private Function ReadExcelFile(ByVal flatFilePath As String, ByVal firstRowHasHeaders As Boolean) As DataTable + SpreadsheetInfo.SetLicense(ModExtensiones.SerialGemBoxSpreadsheet) + Dim excelFile As ExcelFile = ExcelFile.Load(flatFilePath) + + Dim unnamed As Integer = 0 + Dim cols As Integer + Dim columns As String() + Dim curRow As Integer = 0 + Dim curCol As Integer = 0 + Dim dataTable As DataTable = New DataTable() + Dim worksheet As ExcelWorksheet = excelFile.Worksheets(0) + + For cols = 0 To worksheet.Rows(0).AllocatedCells.Count - 1 + + If firstRowHasHeaders Then + + If worksheet.Rows(0).Cells(cols).Value IsNot Nothing Then + dataTable.Columns.Add(worksheet.Rows(0).Cells(cols).Value.ToString()) + Else + dataTable.Columns.Add("Unnamed Column " & (System.Threading.Interlocked.Increment(unnamed))) + End If + + curRow = 1 + Else + dataTable.Columns.Add("Column " & (cols + 1)) + End If + Next + + While curRow < worksheet.Rows.Count + columns = New String(cols - 1) {} + + For curCol = 0 To cols - 1 + + If worksheet.Rows(curRow).Cells(curCol).Value Is Nothing Then + columns(curCol) = "" + Else + columns(curCol) = worksheet.Rows(curRow).Cells(curCol).Value.ToString() + End If + Next + + dataTable.Rows.Add(columns) + curRow += 1 + End While + + Return dataTable End Function Private Sub CargarArchivo(Ruta As String, FileName As String, Tipo As String) @@ -7469,131 +7469,131 @@ Partial Class OC #End Region -#Region "C A R G A R E X C E L " +#Region "C A R G A R E X C E L " Protected Sub BtnCargaExcelCot_Click(sender As Object, e As EventArgs) - If TxtExcelCot.getfiles().Archivos.Count > 0 Then - Dim file As Archivo = TxtExcelCot.getfiles().Archivos(0) - Dim Directorio As String = AppDomain.CurrentDomain.BaseDirectory & file.patch - CargarArchivoCot(Directorio, file.filename) - - CargaCotizaciones(CveOrdenCompra) - RegistraScript("$('#DivCargaExcelCotizaciones').modal('hide');") - Else - Alert("No existe el archivo. Favor de subir un archivo excel a la plataforma.", TipoMensaje.MsgError) + If TxtExcelCot.getfiles().Archivos.Count > 0 Then + Dim file As Archivo = TxtExcelCot.getfiles().Archivos(0) + Dim Directorio As String = AppDomain.CurrentDomain.BaseDirectory & file.patch + CargarArchivoCot(Directorio, file.filename) + + CargaCotizaciones(CveOrdenCompra) + RegistraScript("$('#DivCargaExcelCotizaciones').modal('hide');") + Else + Alert("No existe el archivo. Favor de subir un archivo excel a la plataforma.", TipoMensaje.MsgError) End If End Sub Protected Sub BtnDescargarFormatoCot_Click(sender As Object, e As EventArgs) 'cantidad, Producto, Precio Unitario, Fecha Entrega, Observación - Dim DtPS As DataTable = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa) - + Dim DtPS As DataTable = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa) + Dim DtExcel As DataTable = (From row As GridViewRow In GvD.Rows - Join rowPS In DtPS On rowPS("CvePS").ToString().ToEntero() Equals row.DataKey("CvePS").ToEntero() - Where row.RowType = DataControlRowType.DataRow - Select New With - { - .Cantidad = row.DataKey("Cantidad"), - .Codigo = rowPS("Codigo"), - .Producto = rowPS("PSCodigo"), - .PrecioUnitario = row.DataKey("Importe").ToDecimal(), - .FechaEntrega = "", - .Observacion = row.DataKey("Observacion") - }).QueryToDataTable(True) - If DtExcel.Rows.Count < 2 Then - Alert("No hay resutados en la busqueda.", TipoMensaje.MsgAdvertencia) - Exit Sub - End If - - DtExcel.TableName = "Cotización" - 'DtExcel.Columns("Codigo").ColumnName = "Código" - 'DtExcel.Columns("PS").ColumnName = "Producto / Servicio" - SpreadsheetInfo.SetLicense(ModExtensiones.SerialGemBoxSpreadsheet) - - Dim FileExcel As New ExcelFile() - - Dim worksheet = FileExcel.Worksheets.Add(DtExcel.TableName) - worksheet.InsertDataTable(DtExcel, New InsertDataTableOptions() With - { - .ColumnHeaders = True, - .StartRow = 0, - .StartColumn = 0 - }) - worksheet.Rows(0).Style.FillPattern.SetPattern(FillPatternStyle.Solid, SpreadsheetColor.FromArgb(75, 119, 190), SpreadsheetColor.FromArgb(255, 255, 255)) - worksheet.Rows(0).Style.Font.Color = SpreadsheetColor.FromArgb(255, 255, 255) - - Dim columnCount = worksheet.CalculateMaxUsedColumns() - For i = 0 To columnCount - worksheet.Columns(i).AutoFit(1, worksheet.Rows(0), worksheet.Rows(worksheet.Rows.Count - 1)) - Next - - FileExcel.Save(Response, "Cotizacion.xlsx", SaveOptions.XlsxDefault) - - End Sub - Protected Sub CargarArchivoCot(Ruta As String, FileName As String) - SpreadsheetInfo.SetLicense(ModExtensiones.SerialGemBoxSpreadsheet) - - Dim dt As DataTable = Nothing - Dim ErrorArchivo = False - - Try - dt = ReadExcelFile(Ruta + FileName, True) - Catch ex As Exception - ErrorArchivo = True - OnError("Ocurrio un error al leer el archivo
" & ex.Message, ex) - End Try - - If Not ErrorArchivo AndAlso dt IsNot Nothing Then - 'cantidad, Producto, Precio Unitario, Fecha Entrega, Observación - If DdlProveedorCot.SelectedValue.ToEntero() <= 0 Then - Alert("Debe Seleccionar la lista de precios a cargar. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - If Not dt.Columns(0).ColumnName = "Cantidad" Then - Alert("El nombre de la tercera columna debe ser 'Cantidad'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub + Join rowPS In DtPS On rowPS("CvePS").ToString().ToEntero() Equals row.DataKey("CvePS").ToEntero() + Where row.RowType = DataControlRowType.DataRow + Select New With + { + .Cantidad = row.DataKey("Cantidad"), + .Codigo = rowPS("Codigo"), + .Producto = rowPS("PSCodigo"), + .PrecioUnitario = row.DataKey("Importe").ToDecimal(), + .FechaEntrega = "", + .Observacion = row.DataKey("Observacion") + }).QueryToDataTable(True) + If DtExcel.Rows.Count < 2 Then + Alert("No hay resutados en la busqueda.", TipoMensaje.MsgAdvertencia) + Exit Sub + End If + + DtExcel.TableName = "Cotización" + 'DtExcel.Columns("Codigo").ColumnName = "Código" + 'DtExcel.Columns("PS").ColumnName = "Producto / Servicio" + SpreadsheetInfo.SetLicense(ModExtensiones.SerialGemBoxSpreadsheet) + + Dim FileExcel As New ExcelFile() + + Dim worksheet = FileExcel.Worksheets.Add(DtExcel.TableName) + worksheet.InsertDataTable(DtExcel, New InsertDataTableOptions() With + { + .ColumnHeaders = True, + .StartRow = 0, + .StartColumn = 0 + }) + worksheet.Rows(0).Style.FillPattern.SetPattern(FillPatternStyle.Solid, SpreadsheetColor.FromArgb(75, 119, 190), SpreadsheetColor.FromArgb(255, 255, 255)) + worksheet.Rows(0).Style.Font.Color = SpreadsheetColor.FromArgb(255, 255, 255) + + Dim columnCount = worksheet.CalculateMaxUsedColumns() + For i = 0 To columnCount + worksheet.Columns(i).AutoFit(1, worksheet.Rows(0), worksheet.Rows(worksheet.Rows.Count - 1)) + Next + + FileExcel.Save(Response, "Cotizacion.xlsx", SaveOptions.XlsxDefault) + + End Sub + Protected Sub CargarArchivoCot(Ruta As String, FileName As String) + SpreadsheetInfo.SetLicense(ModExtensiones.SerialGemBoxSpreadsheet) + + Dim dt As DataTable = Nothing + Dim ErrorArchivo = False + + Try + dt = ReadExcelFile(Ruta + FileName, True) + Catch ex As Exception + ErrorArchivo = True + OnError("Ocurrio un error al leer el archivo
" & ex.Message, ex) + End Try + + If Not ErrorArchivo AndAlso dt IsNot Nothing Then + 'cantidad, Producto, Precio Unitario, Fecha Entrega, Observación + If DdlProveedorCot.SelectedValue.ToEntero() <= 0 Then + Alert("Debe Seleccionar la lista de precios a cargar. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub End If - If Not dt.Columns(1).ColumnName = "Codigo" Then - Alert("El nombre de la cuarta columna debe ser 'Codigo'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - If Not dt.Columns(2).ColumnName = "Producto" Then - Alert("El nombre de la cuarta columna debe ser 'Producto'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - If Not dt.Columns(3).ColumnName = "PrecioUnitario" Then - Alert("El nombre de la sexta columna debe ser 'PrecioUnitario'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub + If Not dt.Columns(0).ColumnName = "Cantidad" Then + Alert("El nombre de la tercera columna debe ser 'Cantidad'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub End If - If Not dt.Columns(4).ColumnName = "FechaEntrega" Then - Alert("El nombre de la sexta columna debe ser 'FechaEntrega'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub + If Not dt.Columns(1).ColumnName = "Codigo" Then + Alert("El nombre de la cuarta columna debe ser 'Codigo'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub End If - If Not dt.Columns(5).ColumnName = "Observacion" Then - Alert("El nombre de la sexta columna debe ser 'Observacion'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - - dt.TableName = "Datos" - Dim ProductosNoCargados As New StringBuilder() - Dim RowsCargados As Integer = 0 + If Not dt.Columns(2).ColumnName = "Producto" Then + Alert("El nombre de la cuarta columna debe ser 'Producto'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + If Not dt.Columns(3).ColumnName = "PrecioUnitario" Then + Alert("El nombre de la sexta columna debe ser 'PrecioUnitario'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + If Not dt.Columns(4).ColumnName = "FechaEntrega" Then + Alert("El nombre de la sexta columna debe ser 'FechaEntrega'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + If Not dt.Columns(5).ColumnName = "Observacion" Then + Alert("El nombre de la sexta columna debe ser 'Observacion'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + dt.TableName = "Datos" + Dim ProductosNoCargados As New StringBuilder() + Dim RowsCargados As Integer = 0 Dim RowsNoCargados As Integer = 0 Dim TieneError As Boolean = False Dim objCotizacion As New ClsOC objCotizacion.IniciaTransacSQL() - Try + Try Dim DtPS As DataTable = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa) Dim DtOCDetalle As DataTable = (From row As GridViewRow In GvD.Rows Join rowPS In DtPS On rowPS("CvePS").ToString().ToEntero() Equals row.DataKey("CvePS").ToEntero() Where row.RowType = DataControlRowType.DataRow - Select New With - { - .CvePS = row.DataKey("CvePS").ToEntero(), - .CveUnidadMedida = rowPS("CveUnidadMedida").ToString().ToEntero(), - .CveOrdenCompraDetalle = row.DataKey("CveOrdenCompraDetalle").ToString().ToEntero(), - .Codigo = rowPS("Codigo") + Select New With + { + .CvePS = row.DataKey("CvePS").ToEntero(), + .CveUnidadMedida = rowPS("CveUnidadMedida").ToString().ToEntero(), + .CveOrdenCompraDetalle = row.DataKey("CveOrdenCompraDetalle").ToString().ToEntero(), + .Codigo = rowPS("Codigo") }).QueryToDataTable(True) @@ -7618,23 +7618,23 @@ Partial Class OC End If Else TieneError = False - End If - - Catch ex As Exception - TieneError = True - OnError("Ocurrió un error al cargar las cotizaciones.", ex) - Finally + End If + + Catch ex As Exception + TieneError = True + OnError("Ocurrió un error al cargar las cotizaciones.", ex) + Finally If TieneError Then objCotizacion.RollBack() Alert("Ocurrió un error al cargar las cotizaciones.") Else objCotizacion.Commit() Alert("Las cotizaciones se cargaron correctamente.") - End If + End If objCotizacion.Dispose() - End Try - - End If + End Try + + End If End Sub #End Region From 427a0ee119d17613e71e41b4d3088e5dd7241e97 Mon Sep 17 00:00:00 2001 From: rrene Date: Mon, 23 Mar 2020 17:51:37 -0700 Subject: [PATCH 08/18] mejoras en promociones --- Ventas/Promociones.aspx | 7 +-- Ventas/Promociones.aspx.vb | 20 ++++--- Ventas/Ventas.aspx.vb | 109 +++++++++++++++++++++++++++---------- 3 files changed, 96 insertions(+), 40 deletions(-) diff --git a/Ventas/Promociones.aspx b/Ventas/Promociones.aspx index 42b937317..55bbb30a8 100644 --- a/Ventas/Promociones.aspx +++ b/Ventas/Promociones.aspx @@ -107,9 +107,8 @@
- - - + +
@@ -117,7 +116,7 @@
- +
diff --git a/Ventas/Promociones.aspx.vb b/Ventas/Promociones.aspx.vb index 9f54c1ea2..326906ac0 100644 --- a/Ventas/Promociones.aspx.vb +++ b/Ventas/Promociones.aspx.vb @@ -87,9 +87,10 @@ Partial Class Ventas_Promociones DdlVendedor.DataBind() DdlVendedor.Items.Insert(0, New ListItem("Todos", "-1")) - DdlCliente.DataSource = GlobalDTCliente(UsuarioActual.CveEmpresa) - DdlCliente.DataBind() - DdlCliente.Items.Insert(0, New ListItem("todos", "-1")) + 'DdlCliente.DataSource = GlobalDTCliente(UsuarioActual.CveEmpresa) + 'DdlCliente.DataBind() + 'DdlCliente.Items.Insert(0, New ListItem("todos", "-1")) + DdlClientes.setEsWebService(True) TxtFechaI.Text = Now.FirstDayOfMonth.ToShortDateString TxtFechaF.Text = Now.LastDayOfMonth.ToShortDateString @@ -131,6 +132,7 @@ Partial Class Ventas_Promociones TempDT.Columns.Add("TipoPromocion", GetType(String)) TempDT.Columns.Add("Promocion", GetType(String)) TempDT.Columns.Add("CantidadMinima", GetType(Integer)) + TempDT.Columns.Add("RinTamaño", GetType(String)) TempDT.Columns.Add("AplicaRestriccionTexto", GetType(String)) TempDT.Columns.Add("AplicaRestriccion", GetType(Boolean)) @@ -149,7 +151,7 @@ Partial Class Ventas_Promociones Protected Sub DdlClasificacion_SelectedIndexChanged(sender As Object, e As EventArgs) ChangeDdlProducto() DdlTipoPromocion.Items.FindByValue("1").Enabled = False - DdlTipoPromocion.Items.FindByValue("3").Enabled = False + ' DdlTipoPromocion.Items.FindByValue("3").Enabled = False End Sub Private Sub ChangeDdlProducto() If UsuarioActual.Empresa.Funcionalidad(105) = "" Then @@ -185,9 +187,10 @@ Partial Class Ventas_Promociones DdlSubProyecto.SelectedValue = Dr("CveSubProyecto").ToString DdlMarca.SelectedValue = Dr("CveMarca").ToString If Dr("CveVendedor").ToString.ToEntero > 0 Then DdlVendedor.SelectedValue = Dr("CveVendedor").ToString - If Dr("CveCliente").ToString.ToEntero > 0 Then DdlCliente.SelectedValue = Dr("CveCliente").ToString + If Dr("CveCliente").ToString.ToEntero > 0 Then DdlClientes.SelectedValue = Dr("CveCliente").ToString ChkEstatus.Checked = If(Dr("Estatus").ToString = "True", True, False) DdlMoneda.SelectedValueExist(Dr("CveMoneda").ToString) + DdlMarca.SelectedValueExist(Dr("CveMarca").ToString) If ObjVentas.GetPromocionesDetalle(CvePromocion, UsuarioActual.CveEmpresa) Then TempDT = ObjVentas.DtResultados @@ -411,11 +414,12 @@ Partial Class Ventas_Promociones Private Sub GuardaPromocion() + Dim CveCliente As Integer = If(DdlClientes.SelectedValue = "", -1, DdlClientes.SelectedValue.ToEntero) Dim ObjVentas As New ClsVentas Dim TieneError = False ObjVentas.IniciaTransacSQL() CvePromocion = ObjVentas.AddPromociones(TxtPromocion.Text.Trim, If(IsDate(TxtFechaI.Text), TxtFechaI.Text.ToDate, MinFecha), If(IsDate(TxtFechaF.Text), TxtFechaF.Text.ToDate, MaxFecha), - DdlVendedor.SelectedValue.ToEntero, DdlCliente.SelectedValue.ToEntero, ChkEstatus.Checked, DdlMoneda.SelectedValue.ToEntero, UsuarioActual.CveUsuario, + DdlVendedor.SelectedValue.ToEntero, CveCliente, ChkEstatus.Checked, DdlMoneda.SelectedValue.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, DdlSubProyecto.SelectedValue.ToEntero, DdlTipoAplicacion.SelectedValue.ToString, DdlMarca.SelectedValue.ToEntero) If CvePromocion > 0 Then @@ -443,11 +447,13 @@ Partial Class Ventas_Promociones ObjVentas.Dispose() End Sub Private Sub ActualizaPromocion() + Dim CveCliente As Integer = If(DdlClientes.SelectedValue = "", -1, DdlClientes.SelectedValue.ToEntero) + Dim ObjVentas As New ClsVentas Dim TieneError = False ObjVentas.IniciaTransacSQL() - If ObjVentas.UpdatePromociones(TxtPromocion.Text.Trim, If(IsDate(TxtFechaI.Text), TxtFechaI.Text.ToDate, MinFecha), If(IsDate(TxtFechaF.Text), TxtFechaF.Text.ToDate, MaxFecha), DdlVendedor.SelectedValue.ToEntero, DdlCliente.SelectedValue.ToEntero, ChkEstatus.Checked, DdlMoneda.SelectedValue.ToEntero, UsuarioActual.CveUsuario, CvePromocion, DdlSubProyecto.SelectedValue.ToEntero) Then + If ObjVentas.UpdatePromociones(TxtPromocion.Text.Trim, If(IsDate(TxtFechaI.Text), TxtFechaI.Text.ToDate, MinFecha), If(IsDate(TxtFechaF.Text), TxtFechaF.Text.ToDate, MaxFecha), DdlVendedor.SelectedValue.ToEntero, CveCliente, ChkEstatus.Checked, DdlMoneda.SelectedValue.ToEntero, UsuarioActual.CveUsuario, CvePromocion, DdlSubProyecto.SelectedValue.ToEntero, DdlMarca.SelectedValue.ToEntero) Then For Each Dr As DataRow In TempDT.FiltraParametros("Estatus = 0").Rows If Not ObjVentas.AddPromocionesDetalle(CvePromocion, Dr("CvePS").ToString.ToEntero, Dr("CveTipoPromocion").ToString.ToEntero, Dr("Promocion").ToString.ToDouble, Dr("PUAnterior").ToString.ToDouble, Dr("PUPromocion").ToString.ToDouble, diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb index 62b4161d8..62958dafc 100644 --- a/Ventas/Ventas.aspx.vb +++ b/Ventas/Ventas.aspx.vb @@ -34,7 +34,7 @@ Partial Class Ventas Private Property FolioXML As String Private Property SubTotal As Decimal Private Property Total As Decimal = 0 - Private Property Descuentos As Decimal = 0 + ' Private Property Descuentos As Decimal = 0 Private Property EmisorRFC As String Private Property ReceptorRFC As String Private Property TrasladoIVA As Decimal = 0 @@ -5883,11 +5883,12 @@ Partial Class Ventas End Sub Protected Sub GvPS_RowUpdating(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewUpdateEventArgs) Handles GvPS.RowUpdating 'Dim TipoDescuento As Integer - Dim Cantidad, PU, Descuento, CantidadInventario As Decimal + Dim Cantidad, PU, CantidadInventario As Decimal + Dim ObjDescuento As New Descuentos Dim CuentaPredial As String Cantidad = GvPS.Rows(e.RowIndex).FCTextBox("TxtCantidad").Text.ToDecimal PU = (GvPS.Rows(e.RowIndex).FCTextBox("TxtPrecio").Text.ToDecimal).RoundSQL(6) - Descuento = (GvPS.Rows(e.RowIndex).FCTextBox("TxtDescuento").Text.ToDecimal).RoundSQL(NumeroDecimales) + ObjDescuento.ImporteDescuento = (GvPS.Rows(e.RowIndex).FCTextBox("TxtDescuento").Text.ToDecimal).RoundSQL(NumeroDecimales) CuentaPredial = GvPS.Rows(e.RowIndex).FCTextBox("TxtPredial").Text.Trim If PU <= 0 AndAlso UsuarioActual.CveEmpresa = 141 Then @@ -5896,7 +5897,7 @@ Partial Class Ventas End If If UsuarioActual.CveEmpresa = 140 Then - Descuento = CalcularDescuentos(TmpDT.Rows(e.RowIndex)("CvePS").ToString.ToEntero, Cantidad, PU) + ObjDescuento = CalcularDescuentos(TmpDT.Rows(e.RowIndex)("CvePS").ToString.ToEntero, Cantidad, PU) End If Dim CantidadOriginal As Decimal = GvPS.Rows(e.RowIndex).DataKey("Cantidad").ToDecimal() @@ -6060,10 +6061,10 @@ Partial Class Ventas CalculaUsados() AgregarProductoServicio(Cantidad, DdlUM.SelectedValue.ToEntero, DdlUM.SelectedItem.Text, DdlCla.SelectedValue.ToEntero, DdlCla.SelectedItem.Text, GvPS.Rows(e.RowIndex).FCDropDownLost("DdlPS").SelectedValue.ToEntero, GvPS.Rows(e.RowIndex).FCDropDownLost("DdlPS").SelectedText, - GvPS.Rows(e.RowIndex).FCTextBox("TxtObsPS").Text.Trim, PU, Descuento, + GvPS.Rows(e.RowIndex).FCTextBox("TxtObsPS").Text.Trim, PU, ObjDescuento.ImporteDescuento, GvPS.Rows(e.RowIndex).FCDropDownList("DdlProyecto").SelectedValue.ToEntero, GvPS.Rows(e.RowIndex).FCDropDownList("DdlProyecto").SelectedItem.Text, GvPS.Rows(e.RowIndex).FCDropDownList("DdlSubProyecto").SelectedValue.ToEntero, GvPS.Rows(e.RowIndex).FCDropDownList("DdlSubProyecto").SelectedItem.Text, - CuentaPredial:=CuentaPredial, CveVentaDetalle:=GvPS.Rows(e.RowIndex).DataKey("CveVentaDetalle").ToString.ToEntero, SeActualiza:=True) + CuentaPredial:=CuentaPredial, CveVentaDetalle:=GvPS.Rows(e.RowIndex).DataKey("CveVentaDetalle").ToString.ToEntero, SeActualiza:=True, CvePromocionDetalle:=ObjDescuento.CvePromocionDetalle) ' TmpDT.Rows(e.RowIndex)("CveUM") = Ddl.SelectedValue ' TmpDT.Rows(e.RowIndex)("UM") = Ddl.SelectedItem.Text @@ -6091,7 +6092,7 @@ Partial Class Ventas TmpDT.Rows(e.RowIndex)("PorcentajeIEPS") = 0 End If - Dim TotalCalculableImpuestos As Decimal = ((Cantidad * PU) - (Descuento)) + Dim TotalCalculableImpuestos As Decimal = ((Cantidad * PU) - (ObjDescuento.ImporteDescuento)) Dim TotalCalculableImpuestosIVA As Decimal = 0 TotalCalculableImpuestosIVA = TotalCalculableImpuestos * (1 + TmpDT.Rows(e.RowIndex)("PorcentajeIEPS").ToString.ToDecimal) @@ -6119,7 +6120,7 @@ Partial Class Ventas TmpDT.Rows(e.RowIndex)("Obs") = GvPS.Rows(e.RowIndex).FCTextBox("TxtObsPS").Text.Trim TmpDT.Rows(e.RowIndex)("TiempoEntrega") = GvPS.Rows(e.RowIndex).FCTextBox("TxtTiempoEntrega").Text.Trim TmpDT.Rows(e.RowIndex)("PU") = PU - TmpDT.Rows(e.RowIndex)("Descuento") = Descuento + TmpDT.Rows(e.RowIndex)("Descuento") = ObjDescuento.ImporteDescuento TmpDT.Rows(e.RowIndex)("TotalImporte") = (Cantidad * PU).RoundSQL(NumeroDecimales) TmpDT.Rows(e.RowIndex)("ImporteIVA") = (TmpDT.Rows(e.RowIndex)("PorcentajeIVA").ToString.ToDecimal * TotalCalculableImpuestosIVA).RoundSQL(NumeroDecimales) TmpDT.Rows(e.RowIndex)("ImporteIEPS") = (TmpDT.Rows(e.RowIndex)("PorcentajeIEPS").ToString.ToDecimal * TotalCalculableImpuestos).RoundSQL(NumeroDecimales) @@ -9422,7 +9423,7 @@ Partial Class Ventas If Not ObjVentas.AddVentaDetalle(ObjVentas.CveVenta, Row("CvePS").ToString.ToEntero, Row("Cantidad").ToString.ToDouble, Row("CveUM").ToString.ToEntero, Row("PU").ToString.ToDouble(If(factura.ConvertirPesos, factura.TipoCambio, 1)), Row("ImporteIVA").ToString.ToDouble, Math.Round((Row("Total").ToString.ToDouble(If(factura.ConvertirPesos, factura.TipoCambio, 1)) * (1 + Row("PorcentajeIVA").ToString.ToDouble(If(factura.ConvertirPesos, factura.TipoCambio, 1)))), 6), Row("Obs").ToString, Row("Descuento").ToString.ToDouble(If(factura.ConvertirPesos, factura.TipoCambio, 1)), Row("TipoDescuento").ToString.ToEntero, Row("CveSubProyecto").ToString.ToEntero, Row("CvePresupuestoIngreso").ToString.ToEntero, - TiempoEntrega:=Row("TiempoEntrega").ToString, CveVentaDetallePadre:=Row("CveVentaDetalle").ToString.ToEntero, CveContratoDetalle:=Row("CveContratoDetalle").ToString.ToEntero, CvePromocionDetalle:=If(DtPromociones IsNot Nothing, DtPromociones.FiltroPrimeroValor("CvePromocionDetalle", $"CvePS={Row("CvePS").ToString}").ToEntero, -1), + TiempoEntrega:=Row("TiempoEntrega").ToString, CveVentaDetallePadre:=Row("CveVentaDetalle").ToString.ToEntero, CveContratoDetalle:=Row("CveContratoDetalle").ToString.ToEntero, CvePromocionDetalle:=Row("CvePromocionDetalle").ToString.ToEntero, IEPS:=Row("ImporteIEPS").ToString.ToDouble, CveMovimientoDetallePedido:=Row("CveMovimientoDetallePedido").ToString.ToEntero, ImporteRetIVA:=Row("ImporteRetIVA").ToString.ToDouble, ImporteRetISR:=Row("ImporteRetISR").ToString.ToDouble, PorcentajeIVA:=Row("PorcentajeIVA").ToString.ToDecimal, PorcentajeIEPS:=Row("PorcentajeIEPS").ToString.ToDouble, PorcentajeRetIVA:=Row("PorcentajeRetIVA").ToString.ToDouble, PorcentajeRetISR:=Row("PorcentajeRetISR").ToString.ToDouble, CuentaPredial:=Row("CuentaPredial").ToString) Then @@ -14201,11 +14202,21 @@ Partial Class Ventas EsValido = True End If Else + Dim DrPS As DataRow = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CvePS:=CvePS).FiltroPrimero("") 'valida sino tiene promocion la clasificacion - If DtPromociones.FiltraParametros($"CveClasificacion = {DdlClasificacion.SelectedValue.ToEntero}").Rows.Count > 0 Then - ''falta aplicar si tiene promocion + If DrPS IsNot Nothing Then + If DtPromociones.FiltraParametros(String.Format("CveClasificacion = {0}", DdlClasificacion.SelectedValue.ToEntero)).Rows.Count > 0 Then + ''falta aplicar si tiene promocion + Dim drPromo As DataRow = DtPromociones.FiltroPrimero(String.Format("CveClasificacion = {0}", DdlClasificacion.SelectedValue.ToEntero)) + If drPromo IsNot Nothing Then + If drPromo("CveMarca").ToString = DrPS("CveMarca").ToString Then + + End If + End If + End If End If + End If End If @@ -14245,7 +14256,7 @@ Partial Class Ventas Return True End Function - Private Function CalcularDescuentos(CvePS As Integer, Cantidad As Decimal, PU As Decimal) As Decimal + Private Function CalcularDescuentos(CvePS As Integer, Cantidad As Decimal, PU As Decimal) As Descuentos Dim Descuento As Decimal = HdnDescuento.Value.ToDecimal If UsuarioActual.Empresa.Funcionalidad(572) = "1" AndAlso Not TbDescuentosRNC.Visible Then @@ -14256,11 +14267,30 @@ Partial Class Ventas Descuento = HdnDescuento.Value.ToDecimal * Cantidad End If + Dim ValidaCondicionesComerciales As Boolean = True + 'AGREGA PROMOCION EN EL DESCUENTO Dim TipoPromo As Integer = 0 Dim TotalPromocion As Decimal = 0 Dim PromocionPorcentaje As Decimal = 0 Dim CantMinima As Integer = 0 + Dim CveMarcaPS As Integer = 0 + Dim CveClasifPS As Integer = 0 + Dim CvePromocionDetalle As Integer = 0 + Dim ObjDescuento As New Descuentos + + Dim DrPS As DataRow = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CvePS:=CvePS).FiltroPrimero("") + If DrPS IsNot Nothing Then + + CveMarcaPS = DrPS("CveMarca").ToString.ToEntero + CveClasifPS = DrPS("CveClasificacion").ToString.ToEntero + + If CveClasifPS = 20636 Then + ValidaCondicionesComerciales = False + End If + + End If + If DtPromociones IsNot Nothing AndAlso DtPromociones.Rows.Count > 0 Then Dim dr As DataRow = DtPromociones.FiltroPrimero($"CvePS = {CvePS}") @@ -14269,6 +14299,18 @@ Partial Class Ventas TotalPromocion = dr("PUPromocion").ToString.ToDecimal * TxtCantidad.Text.ToDecimal PromocionPorcentaje = dr("Promocion").ToString.ToDecimal CantMinima = dr("CantidadMinima").ToString.ToEntero + CvePromocionDetalle = dr("CvePromocionDetalle").ToString.ToEntero + Else + 'verifica marca, si tiene asignada la promocion + Dim drC As DataRow = DtPromociones.FiltroPrimero(String.Format("CveClasificacion = {0} AND (CveMarca = {1} OR CveMarca IS NULL)", CveClasifPS, CveMarcaPS)) + + If drC IsNot Nothing Then + TipoPromo = drC("TipoPromocion").ToString.ToEntero + TotalPromocion = drC("PUPromocion").ToString.ToDecimal * TxtCantidad.Text.ToDecimal + PromocionPorcentaje = drC("Promocion").ToString.ToDecimal + CantMinima = drC("CantidadMinima").ToString.ToEntero + CvePromocionDetalle = drC("CvePromocionDetalle").ToString.ToEntero + End If End If End If @@ -14279,15 +14321,11 @@ Partial Class Ventas ElseIf TipoPromo = 3 Then 'Promocion por Cantidad If Cantidad >= CantMinima Then Descuento = Descuento + TotalPromocion + Else + CvePromocionDetalle = -1 End If End If - Dim DrPS As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePS).FiltroPrimero("") - Dim ValidaCondicionesComerciales As Boolean = True - - If DrPS IsNot Nothing AndAlso DrPS("CveClasificacion").ToString.ToEntero = 20636 Then - ValidaCondicionesComerciales = False - End If 'VERIFICA SI APLICAN CONDICIONES COMERCIALES If ValidaCondicionesComerciales AndAlso DtPorcentajeMarcas IsNot Nothing AndAlso DtPorcentajeMarcas.Rows.Count > 0 Then @@ -14334,8 +14372,13 @@ Partial Class Ventas End If End If - Return Descuento + ObjDescuento.ImporteDescuento = Descuento + ObjDescuento.CvePromocionDetalle = CvePromocionDetalle + + Return ObjDescuento End Function + + Private Sub AgregarPS() 'SELECCIONA EL PS DEPENDIENDO LA MODALIDAD (CODIGO BARRAS - DDL) Dim CvePS As Integer = -1 @@ -14353,12 +14396,12 @@ Partial Class Ventas Dim Cantidad As Decimal = TxtCantidad.Text.ToDecimal Dim PU As Decimal = If(CvePSAmortizacion > 0, TxtPrecio.Text.Trim.ToDecimal * -1, TxtPrecio.Text.Trim.ToDecimal) - Dim Descuento As Decimal = CalcularDescuentos(CvePS, Cantidad, PU) + Dim ObjDescuento As Descuentos = CalcularDescuentos(CvePS, Cantidad, PU) AgregarProductoServicio(Cantidad, DdlUnidadMedida.SelectedValue.ToEntero, DdlUnidadMedida.SelectedItem.Text, DdlClasificacion.SelectedValue.ToEntero, DdlClasificacion.SelectedItem.Text, - CvePS, "", TxtObsPS.Text.Trim, PU, Descuento, + CvePS, "", TxtObsPS.Text.Trim, PU, ObjDescuento.ImporteDescuento, DdlProyecto.SelectedValue.ToEntero, DdlProyecto.SelectedItem.Text, DdlSubProyecto.SelectedValue.ToEntero, DdlSubProyecto.SelectedItem.Text, - SerieLote:=If(DIVCod.Visible, TxtCodigoSerie.Text.Trim, ""), TiempoEntrega:=TxtTiempoEntrega.Text, CuentaPredial:=TxtCuentaPredial.Text.Trim, RegeneraIEPS:=ClienteDesglosaIEPS) + SerieLote:=If(DIVCod.Visible, TxtCodigoSerie.Text.Trim, ""), TiempoEntrega:=TxtTiempoEntrega.Text, CuentaPredial:=TxtCuentaPredial.Text.Trim, RegeneraIEPS:=ClienteDesglosaIEPS, CvePromocionDetalle:=ObjDescuento.CvePromocionDetalle) CalculaUsados() @@ -14390,10 +14433,10 @@ Partial Class Ventas Dim CvePS As Integer = DdlPSPyME.SelectedValue.ToEntero - Dim Descuento As Decimal = CalcularDescuentos(CvePS, Cantidad, PU) + Dim Descuento As Descuentos = CalcularDescuentos(CvePS, Cantidad, PU) AgregarProductoServicio(Cantidad, DdlUMPyME.SelectedValue.ToEntero, DdlUMPyME.SelectedItem.Text, DdlClasificacionPyME.SelectedValue.ToEntero, DdlClasificacionPyME.SelectedItem.Text, - CvePS, DdlPSPyME.SelectedText, TxtObsPyME.Text, PU, Descuento, CveProyecto, Proyecto, CveSubProyecto, SubProyecto) + CvePS, DdlPSPyME.SelectedText, TxtObsPyME.Text, PU, Descuento.ImporteDescuento, CveProyecto, Proyecto, CveSubProyecto, SubProyecto) CalculaUsados() CalculaTotalesVenta() @@ -14492,7 +14535,7 @@ Partial Class Ventas Optional CveContratoDetalle As Integer = 0, Optional CveVentaDetalle As Integer = 0, Optional CveMovimientoDetallePedido As Integer = 0, Optional CveOrdenCompraDetalle As Integer = 0, Optional CveVentaDetalleRemision As Integer = 0, Optional CveVentaDetalleCotizacion As Integer = 0, Optional CuentaPredial As String = "", Optional RegeneraIEPS As Boolean = True, Optional CveVentaDetallePedido2 As Integer = 0, - Optional SeActualiza As Boolean = False) As Boolean + Optional SeActualiza As Boolean = False, Optional CvePromocionDetalle As Integer = -1) As Boolean Dim Retorno As Boolean = False If Not CvePS > 0 Then @@ -14639,6 +14682,7 @@ Partial Class Ventas Row("IEPS") = Row("ImporteIEPS") Row("Descuento") = (Descuento).RoundSQL(NumeroDecimales) Row("TipoDescuento") = HdnTipoDescuento.Value + Row("CvePromocionDetalle") = CvePromocionDetalle Row("Total") = (Cantidad * PU) Row("TotalImporte") = (Cantidad * PU).RoundSQL(NumeroDecimales) @@ -14830,6 +14874,7 @@ Partial Class Ventas TmpDT.Columns.Add("CveSubProyecto", GetType(Integer)) TmpDT.Columns.Add("SubProyecto", GetType(String)) TmpDT.Columns.Add("CveVentaDetallePadre", GetType(Integer)) + TmpDT.Columns.Add("CvePromocionDetalle", GetType(Integer)) 'TipoDescuento: 1 = Descuento * PU; 2 = Descuento por Total del concepto TmpDT.Columns.Add("CvePresupuestoIngreso", GetType(Integer)) @@ -18290,6 +18335,8 @@ Partial Class Ventas Case "egreso" : DdlTipoComprobante.SelectedValue = "Egs" End Select + Dim Descuentos As Decimal = 0 + RFC = ReceptorRFC TxtFecha.Text = Fecha @@ -18556,7 +18603,7 @@ Partial Class Ventas _Fecha = ValorXML(nodo, "fecha") SubTotal = ValorXML(nodo, "subTotal").ToDecimal Total = ValorXML(nodo, "total").ToDecimal - Descuentos = ValorXML(nodo, "descuento").ToDecimal + 'Descuentos = ValorXML(nodo, "descuento").ToDecimal _Moneda = ValorXML(nodo, "Moneda") _TipoComprobante = ValorXML(nodo, "tipoDeComprobante") @@ -20058,11 +20105,11 @@ Partial Class Ventas Dim Cantidad As Decimal = TxtCantidadPyME.Text.ToDecimal() Dim PU As Decimal = TxtPrecioPyME.Text.ToDecimal() - Dim Descuento As Decimal = CalcularDescuentos(DdlPSPyME.SelectedValue.ToEntero, Cantidad, PU) + Dim ObjDescuento As Descuentos = CalcularDescuentos(DdlPSPyME.SelectedValue.ToEntero, Cantidad, PU) - TxtDescuentoPyME.Text = Descuento.FormatoNumero(2).Replace(","c, "") + TxtDescuentoPyME.Text = ObjDescuento.ImporteDescuento.FormatoNumero(2).Replace(","c, "") - LblTotalPyME.Text = ((Cantidad * PU) - Descuento).FormatoNumero(2).Replace(","c, "") + LblTotalPyME.Text = ((Cantidad * PU) - ObjDescuento.ImporteDescuento).FormatoNumero(2).Replace(","c, "") If UsuarioActual.CveEmpresa = 80 Then 'busca el precio de la sucursal @@ -25103,4 +25150,8 @@ Partial Class Ventas ' ObjBancos.Dispose() ' If ObjAC IsNot Nothing Then ObjAC.Dispose() 'End Sub + Partial Class Descuentos + Public ImporteDescuento As Decimal = 0 + Public CvePromocionDetalle As Integer = -1 + End Class End Class \ No newline at end of file From 0658970ac69c6f8359f961da0b8240ce9b8c3a8a Mon Sep 17 00:00:00 2001 From: Antonio Gonzalez Date: Mon, 23 Mar 2020 18:08:12 -0700 Subject: [PATCH 09/18] =?UTF-8?q?terminada=20la=20impresi=C3=B3n=20del=20f?= =?UTF-8?q?ormato=20de=20pagar=C3=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Ventas/Clientes.aspx.vb | 42 +++++++++++++++++++++++++++++------------ 1 file changed, 30 insertions(+), 12 deletions(-) diff --git a/Ventas/Clientes.aspx.vb b/Ventas/Clientes.aspx.vb index 40ae54762..4e5bf88f0 100644 --- a/Ventas/Clientes.aspx.vb +++ b/Ventas/Clientes.aspx.vb @@ -6893,19 +6893,37 @@ Partial Class Clientes Dim memoryStreamDoc As New System.IO.MemoryStream Dim objGemBoxDocument As New clsGemBoxDocument(linkDescarga) Dim Tags As New List(Of TagsDocumentos) + Dim ObjClientes As New ClsClientes - Tags.Add(New TagsDocumentos("{Monto}", "xyz")) - Tags.Add(New TagsDocumentos("{Fecha}", Date.Today.ToString)) - Tags.Add(New TagsDocumentos("{FechaConFormato}", "23 de marzo del 2020")) - Tags.Add(New TagsDocumentos("{CantidadLetra}", "69420")) - Tags.Add(New TagsDocumentos("{RazonSocial}", "mengano y perengano")) - Tags.Add(New TagsDocumentos("{Direccion}", "merida 1270")) - Tags.Add(New TagsDocumentos("{Ciudad}", "Hermosillo")) - Tags.Add(New TagsDocumentos("{Telefono}", "2209839")) - Tags.Add(New TagsDocumentos("{RazonSocialAval}", "blablabla")) - Tags.Add(New TagsDocumentos("{DireccionAval}", "asdfqwer")) - Tags.Add(New TagsDocumentos("{CiudadAval}", "Hermosillo")) - Tags.Add(New TagsDocumentos("{TelefonoAval}", "6621432648")) + Dim monto As String = "" + Dim razonSocial As String = "" + Dim direccion As String = "" + Dim ciudad As String = "" + Dim Telefono As String = "" + Dim mesArray = New String() {"Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"} + Dim hoy As DateTime = DateTime.Now + Dim fechaConFormato As String = String.Format("{0} de {1} del {2}", hoy.Day, mesArray(hoy.Month), hoy.Year) + + If ObjClientes.GetClientes(CveCliente, "-1", "-1", "-1", "-1", "-1", "-1", -1, UsuarioActual.CveEmpresa) Then + monto = ObjClientes.DtResultados.FiltroPrimeroValor("LimiteCredito").ToDouble.ToString("N") + razonSocial = ObjClientes.DtResultados.FiltroPrimeroValor("NombreComercial") + direccion = ObjClientes.DtResultados.FiltroPrimeroValor("Direccion") + ciudad = ObjClientes.DtResultados.FiltroPrimeroValor("Ciudad") + Telefono = ObjClientes.DtResultados.FiltroPrimeroValor("Telefono") + End If + + Tags.Add(New TagsDocumentos("{Monto}", monto)) + Tags.Add(New TagsDocumentos("{Fecha}", fechaConFormato)) + Tags.Add(New TagsDocumentos("{FechaConFormato}", fechaConFormato)) + Tags.Add(New TagsDocumentos("{CantidadLetra}", monto)) + Tags.Add(New TagsDocumentos("{RazonSocial}", razonSocial)) + Tags.Add(New TagsDocumentos("{Direccion}", direccion)) + Tags.Add(New TagsDocumentos("{Ciudad}", ciudad)) + Tags.Add(New TagsDocumentos("{Telefono}", Telefono)) + Tags.Add(New TagsDocumentos("{RazonSocialAval}", UsuarioActual.Empresa.NombreCorto)) + Tags.Add(New TagsDocumentos("{DireccionAval}", UsuarioActual.Empresa.Direccion)) + Tags.Add(New TagsDocumentos("{CiudadAval}", UsuarioActual.Empresa.Ciudad)) + Tags.Add(New TagsDocumentos("{TelefonoAval}", UsuarioActual.Empresa.Telefono)) 'objGemBoxDocument.AgregarImagen(RutaLogo, 61.0, 53.0) objGemBoxDocument.SustituirTags(Tags) From b9f4734437fbac1e5bb6e9ff97ce9b35344aae2e Mon Sep 17 00:00:00 2001 From: Antonio Gonzalez Date: Mon, 23 Mar 2020 18:45:38 -0700 Subject: [PATCH 10/18] campo monto ahora en letra --- Ventas/Clientes.aspx.vb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Ventas/Clientes.aspx.vb b/Ventas/Clientes.aspx.vb index 4e5bf88f0..72c113536 100644 --- a/Ventas/Clientes.aspx.vb +++ b/Ventas/Clientes.aspx.vb @@ -6915,7 +6915,7 @@ Partial Class Clientes Tags.Add(New TagsDocumentos("{Monto}", monto)) Tags.Add(New TagsDocumentos("{Fecha}", fechaConFormato)) Tags.Add(New TagsDocumentos("{FechaConFormato}", fechaConFormato)) - Tags.Add(New TagsDocumentos("{CantidadLetra}", monto)) + Tags.Add(New TagsDocumentos("{CantidadLetra}", monto.ToDouble.Texto2Letras(1))) Tags.Add(New TagsDocumentos("{RazonSocial}", razonSocial)) Tags.Add(New TagsDocumentos("{Direccion}", direccion)) Tags.Add(New TagsDocumentos("{Ciudad}", ciudad)) From 7e7a596719fc90df076260af182f6baa32da67ca Mon Sep 17 00:00:00 2001 From: rrene Date: Mon, 23 Mar 2020 18:54:02 -0700 Subject: [PATCH 11/18] - cambio en reportes --- Ventas/RepProductosServicios.aspx.vb | 19 +++++++++++++++++-- Ventas/Ventas.aspx.vb | 2 +- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/Ventas/RepProductosServicios.aspx.vb b/Ventas/RepProductosServicios.aspx.vb index a8d38bc47..4226f56ae 100644 --- a/Ventas/RepProductosServicios.aspx.vb +++ b/Ventas/RepProductosServicios.aspx.vb @@ -493,7 +493,21 @@ Partial Class Ventas_RepProductosServicios FechaI = If(IsDate(txtFechaI.Text.Trim()), txtFechaI.Text.ToDate, MinFecha) FechaF = If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.ToDate, MaxFecha) FechaIEjec = If(IsDate(TxtFechaIEjec.Text.Trim()), TxtFechaIEjec.Text.ToDate, MinFecha) - FechaFEjec = If(IsDate(TxtFechaFEjec.Text.Trim()), TxtFechaFEjec.Text.ToDate, MaxFecha) + FechaFEjec = If(IsDate(TxtFechaFEjec.Text.Trim()), TxtFechaFEjec.Text.ToDate, MaxFecha) + + Dim Cliente = If(DdlClientes.SelectedText = "", "", $" Cliente: {DdlClientes.SelectedText}") + Dim Proveedor = If(DdlProveedor.SelectedValue = "-1", "", $" Proveedor: {DdlProveedor.SelectedText}") + Dim FechaInicio = If(txtFechaI.Text = "", "", $" Fecha Inicio: {txtFechaI.Text}") + Dim FechaFin = If(txtFechaF.Text = "", "", $" Fecha Fin: {txtFechaF.Text}") + Dim Grupo = If(DdlGrupo.SelectedValue = "-1", "", $" Agrupado por: {DdlGrupo.SelectedItem.Text}") + Dim Categoria = If(DdlCategoria.SelectedValue = "-1", "", $" Categoria: {DdlCategoria.SelectedItem.Text }") + Dim Clasificacion = If(DdlClasificacion.SelectedValue = "-1", "", $" Clasificación: {DdlClasificacion.SelectedItem.Text}") + Dim PS = If(DdlPS.SelectedValue = "-1", "", $" P.S.: {DdlPS.SelectedText}") + Dim Proyecto = If(DdlSubProyecto.SelectedValue = "-1", "", $" Proyecto: {DdlSubProyecto.SelectedItem.Text}") + Dim Estatus = If(DdlEstatus.SelectedValue = "-1", "", $" Estatus: {DdlEstatus.SelectedItem.Text}") + Dim Usuario = If(DdlUsuario.SelectedValue = "-1", "", $" Usuario: {DdlUsuario.SelectedItem.Text}") + + If DtVentas IsNot Nothing AndAlso DtVentas.Rows.Count > 0 Then Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta)) Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa) @@ -503,7 +517,8 @@ Partial Class Ventas_RepProductosServicios params.Add(New ReportParameter("FechaFin", If(txtFechaF.Text <> "", FechaF.ToShortDateString, ""))) params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa)) params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre)) - params.Add(New ReportParameter("FechaImpresion", Now.ToDateTime.ToShortDateString)) + params.Add(New ReportParameter("FechaImpresion", Now.ToDateTime.ToShortDateString)) + params.Add(New ReportParameter("Filtros", $"{Grupo}{Cliente}{FechaInicio}{FechaFin}{Categoria}{Clasificacion}{PS}{Proyecto}{Estatus}{Usuario}{Proveedor}")) If Imagen.Exists Then params.Add(New ReportParameter("LogoPath", logouri)) Else diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb index e8ed28bd1..315aade63 100644 --- a/Ventas/Ventas.aspx.vb +++ b/Ventas/Ventas.aspx.vb @@ -14293,7 +14293,7 @@ Partial Class Ventas If DtPromociones IsNot Nothing AndAlso DtPromociones.Rows.Count > 0 Then - Dim dr As DataRow = DtPromociones.FiltroPrimero($"CvePS = {CvePS}") + Dim dr As DataRow = DtPromociones.FiltroPrimero(String.Format("CvePS = {0} AND (CveSubProyecto = {1} OR CveSubProyecto IS NULL)", CvePS, DdlSubProyectoDatos.SelectedValue)) If dr IsNot Nothing Then TipoPromo = dr("TipoPromocion").ToString.ToEntero TotalPromocion = dr("PUPromocion").ToString.ToDecimal * TxtCantidad.Text.ToDecimal From 8f1a65b87fb542d9bb315cf787100d51c4d7716a Mon Sep 17 00:00:00 2001 From: rrene Date: Mon, 23 Mar 2020 18:59:50 -0700 Subject: [PATCH 12/18] -reporte --- Ventas/RepProductosServicios.aspx.vb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Ventas/RepProductosServicios.aspx.vb b/Ventas/RepProductosServicios.aspx.vb index 4226f56ae..c51511b3a 100644 --- a/Ventas/RepProductosServicios.aspx.vb +++ b/Ventas/RepProductosServicios.aspx.vb @@ -69,7 +69,7 @@ Partial Class Ventas_RepProductosServicios Private Sub CargaGrupo() DdlGrupo.Items.Insert(0, New ListItem("Categoria", "3")) - DdlGrupo.Items.Insert(1, New ListItem("Clasificacion", "4")) + DdlGrupo.Items.Insert(1, New ListItem("Clasificación", "4")) DdlGrupo.Items.Insert(2, New ListItem("Productos-Servicios", "5")) DdlGrupo.Items.Insert(3, New ListItem("Año", "6")) DdlGrupo.Items.Insert(4, New ListItem("Mes", "7")) @@ -496,7 +496,7 @@ Partial Class Ventas_RepProductosServicios FechaFEjec = If(IsDate(TxtFechaFEjec.Text.Trim()), TxtFechaFEjec.Text.ToDate, MaxFecha) Dim Cliente = If(DdlClientes.SelectedText = "", "", $" Cliente: {DdlClientes.SelectedText}") - Dim Proveedor = If(DdlProveedor.SelectedValue = "-1", "", $" Proveedor: {DdlProveedor.SelectedText}") + Dim Proveedor = If(DdlProveedor.SelectedValue = "", "", $" Proveedor: {DdlProveedor.SelectedText}") Dim FechaInicio = If(txtFechaI.Text = "", "", $" Fecha Inicio: {txtFechaI.Text}") Dim FechaFin = If(txtFechaF.Text = "", "", $" Fecha Fin: {txtFechaF.Text}") Dim Grupo = If(DdlGrupo.SelectedValue = "-1", "", $" Agrupado por: {DdlGrupo.SelectedItem.Text}") From 254bd6e9847c92ab3aee8c4346daec965d8c4579 Mon Sep 17 00:00:00 2001 From: rrene Date: Mon, 23 Mar 2020 19:12:24 -0700 Subject: [PATCH 13/18] - agrupador --- Contabilidad2/CatCuentas.aspx.vb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Contabilidad2/CatCuentas.aspx.vb b/Contabilidad2/CatCuentas.aspx.vb index 7a8cecb4e..ec0703e44 100644 --- a/Contabilidad2/CatCuentas.aspx.vb +++ b/Contabilidad2/CatCuentas.aspx.vb @@ -120,7 +120,7 @@ Partial Class Contabilidad2_CatCuentas Dim ObjConta As New ClsContabilidad - If ObjConta.GetAgrupadoresSAT(UsuarioActual.CveEmpresa) Then + If ObjConta.GetAgrupadoresSAT() Then DdlAgrupadorSAT.DataSource = ObjConta.DtResultados End If From fbbb00440dc7b2d6f982318a08845ec6bdc170f3 Mon Sep 17 00:00:00 2001 From: rrene Date: Mon, 23 Mar 2020 19:16:47 -0700 Subject: [PATCH 14/18] agrupador --- General/SaldosIniciales.aspx.vb | 3474 +++++++++++++++---------------- 1 file changed, 1737 insertions(+), 1737 deletions(-) diff --git a/General/SaldosIniciales.aspx.vb b/General/SaldosIniciales.aspx.vb index cdff5bfff..3fd0cc6f6 100644 --- a/General/SaldosIniciales.aspx.vb +++ b/General/SaldosIniciales.aspx.vb @@ -1,152 +1,152 @@ -Option Strict On -Option Explicit On -Imports System.Math -Imports System.Data -Imports Extensiones -Imports System.Xml -Imports Microsoft.Reporting.WebForms -Imports GemBox.Spreadsheet - -Partial Class General_SaldosIniciales - Inherits ClsPaginas - Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load +Option Strict On +Option Explicit On +Imports System.Math +Imports System.Data +Imports Extensiones +Imports System.Xml +Imports Microsoft.Reporting.WebForms +Imports GemBox.Spreadsheet + +Partial Class General_SaldosIniciales + Inherits ClsPaginas + Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load If Not IsPostBack Then - End If - End Sub - - Protected Sub BtnCargaExcel_Click(sender As Object, e As EventArgs) Handles BtnCargaExcel.Click - If TxtExcel.getfiles().Archivos.Count > 0 Then - Dim file As Archivo = TxtExcel.getfiles().Archivos(0) - Dim Directorio As String = AppDomain.CurrentDomain.BaseDirectory & file.patch - Dim Tipo As String = If(file.Extencion.Contiene("xlsx", "xlsx", "xlsm", "xlsb"), "EXCEL", "CSV") - CargarArchivo(Directorio, file.filename, Tipo) - Else - Alert("No existe el archivo.Favor de subir un archivo csv o excel a la plataforma", TipoMensaje.MsgError) - End If - End Sub - - Private Sub CargarArchivo(Ruta As String, FileName As String, Tipo As String) - Dim dt As New DataTable - ' Conexion As Odbc.OdbcConnection = Nothing - Dim ErrorArchivo = False - Dim ErrorExcel = False - - dt = ReadExcelFile(Ruta + FileName, True) - 'Dim strConnString As String = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" + Ruta + FileName + ";Extended Properties=""Excel 12.0 Xml;HDR=YES;IMEX=1;""" - 'Dim objDbFactory As Common.DbProviderFactory = Common.DbProviderFactories.GetFactory("System.Data.OleDb") - 'Dim objDbAdapter As Common.DbDataAdapter = objDbFactory.CreateDataAdapter() - 'Dim objDbConnection As Common.DbConnection = objDbFactory.CreateConnection() - 'objDbConnection.ConnectionString = strConnString - 'objDbConnection.Open() - 'Dim objSheetNames As DataTable = objDbConnection.GetSchema("Tables") - 'Dim HojaExcel As String = objSheetNames.FiltroPrimeroValor("TABLE_NAME") - 'Try - ' Select Case Tipo - ' Case "CSV" - ' Conexion = New Odbc.OdbcConnection("Driver={Microsoft Access Text Driver (*.txt, *.csv)};Dbq=" + Ruta + ";Extensions=asc,csv,tab,txt;") - ' Conexion.Open() - ' Dim cmd = Conexion.CreateCommand() - ' cmd.CommandType = CommandType.Text - ' cmd.CommandText = $"SELECT * FROM [{FileName}]" - ' Dim DataAdapter = New Odbc.OdbcDataAdapter(cmd) - ' DataAdapter.Fill(dt) - ' Case "EXCEL" - ' Conexion = New Odbc.OdbcConnection("Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ=" + Ruta + FileName + ";") - ' Conexion.Open() - ' Dim cmd = Conexion.CreateCommand() - ' cmd.CommandType = CommandType.Text - ' cmd.CommandText = $"SELECT * FROM [{HojaExcel}]" - ' Dim DataAdapter = New Odbc.OdbcDataAdapter(cmd) - ' DataAdapter.Fill(dt) - ' Case Else - ' Alert("El archivo no tiene el formato correcto", TipoMensaje.MsgError) - ' Exit Sub - ' End Select - 'Catch ex As Exception - ' ErrorArchivo = True - ' OnError("Ocurrio un error al leer el archivo
" & ex.Message, ex) - 'End Try - 'Conexion.Close() - If Not ErrorArchivo Then - - If RblFormato.SelectedValue = "1" Or RblFormato.SelectedValue = "2" Then - If Not dt.Columns(0).ColumnName = "Codigo" Then - Alert("El nombre de la primera columna debe ser 'Codigo'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - If Not dt.Columns(1).ColumnName = "RazonSocial" Then - Alert("El nombre de la segunda columna debe ser 'Fecha'.Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - If Not dt.Columns(2).ColumnName = "RFC" Then - Alert("El nombre de la tercera columna debe ser 'RFC'.Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - If Not dt.Columns(3).ColumnName = "Calle" Then - Alert("El nombre de la cuarta columna debe ser 'Calle'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - If Not dt.Columns(4).ColumnName = "Número exterior" Then - Alert("El nombre de la quinta columna debe ser 'Número exterior' .Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - If Not dt.Columns(5).ColumnName = "Colonia" Then - Alert("El nombre de la sexta columna debe ser 'Colonia'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - If Not dt.Columns(6).ColumnName = "Código postal" Then - Alert("El nombre de la séptima columna debe ser 'Código postal'.Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - If Not dt.Columns(7).ColumnName = "Población" Then - Alert("El nombre de la octava columna debe ser 'Población'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - If Not dt.Columns(8).ColumnName = "Estado" Then - Alert("El nombre de la novena columna debe ser 'Estado'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - If Not dt.Columns(9).ColumnName = "Teléfono" Then - Alert("El nombre de la décima columna debe ser 'Teléfono'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - If Not dt.Columns(10).ColumnName = "Contacto" Then - Alert("El nombre de la onceava columna debe ser 'Contacto'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - If Not dt.Columns(11).ColumnName = "Celular Contacto" Then - Alert("El nombre de la doceava columna debe ser 'Celular Contacto'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - If Not dt.Columns(12).ColumnName = "Limite Credito" Then - Alert("El nombre de la treceava columna debe ser 'Limite Credito'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub + End If + End Sub + + Protected Sub BtnCargaExcel_Click(sender As Object, e As EventArgs) Handles BtnCargaExcel.Click + If TxtExcel.getfiles().Archivos.Count > 0 Then + Dim file As Archivo = TxtExcel.getfiles().Archivos(0) + Dim Directorio As String = AppDomain.CurrentDomain.BaseDirectory & file.patch + Dim Tipo As String = If(file.Extencion.Contiene("xlsx", "xlsx", "xlsm", "xlsb"), "EXCEL", "CSV") + CargarArchivo(Directorio, file.filename, Tipo) + Else + Alert("No existe el archivo.Favor de subir un archivo csv o excel a la plataforma", TipoMensaje.MsgError) + End If + End Sub + + Private Sub CargarArchivo(Ruta As String, FileName As String, Tipo As String) + Dim dt As New DataTable + ' Conexion As Odbc.OdbcConnection = Nothing + Dim ErrorArchivo = False + Dim ErrorExcel = False + + dt = ReadExcelFile(Ruta + FileName, True) + 'Dim strConnString As String = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" + Ruta + FileName + ";Extended Properties=""Excel 12.0 Xml;HDR=YES;IMEX=1;""" + 'Dim objDbFactory As Common.DbProviderFactory = Common.DbProviderFactories.GetFactory("System.Data.OleDb") + 'Dim objDbAdapter As Common.DbDataAdapter = objDbFactory.CreateDataAdapter() + 'Dim objDbConnection As Common.DbConnection = objDbFactory.CreateConnection() + 'objDbConnection.ConnectionString = strConnString + 'objDbConnection.Open() + 'Dim objSheetNames As DataTable = objDbConnection.GetSchema("Tables") + 'Dim HojaExcel As String = objSheetNames.FiltroPrimeroValor("TABLE_NAME") + 'Try + ' Select Case Tipo + ' Case "CSV" + ' Conexion = New Odbc.OdbcConnection("Driver={Microsoft Access Text Driver (*.txt, *.csv)};Dbq=" + Ruta + ";Extensions=asc,csv,tab,txt;") + ' Conexion.Open() + ' Dim cmd = Conexion.CreateCommand() + ' cmd.CommandType = CommandType.Text + ' cmd.CommandText = $"SELECT * FROM [{FileName}]" + ' Dim DataAdapter = New Odbc.OdbcDataAdapter(cmd) + ' DataAdapter.Fill(dt) + ' Case "EXCEL" + ' Conexion = New Odbc.OdbcConnection("Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ=" + Ruta + FileName + ";") + ' Conexion.Open() + ' Dim cmd = Conexion.CreateCommand() + ' cmd.CommandType = CommandType.Text + ' cmd.CommandText = $"SELECT * FROM [{HojaExcel}]" + ' Dim DataAdapter = New Odbc.OdbcDataAdapter(cmd) + ' DataAdapter.Fill(dt) + ' Case Else + ' Alert("El archivo no tiene el formato correcto", TipoMensaje.MsgError) + ' Exit Sub + ' End Select + 'Catch ex As Exception + ' ErrorArchivo = True + ' OnError("Ocurrio un error al leer el archivo
" & ex.Message, ex) + 'End Try + 'Conexion.Close() + If Not ErrorArchivo Then + + If RblFormato.SelectedValue = "1" Or RblFormato.SelectedValue = "2" Then + If Not dt.Columns(0).ColumnName = "Codigo" Then + Alert("El nombre de la primera columna debe ser 'Codigo'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + If Not dt.Columns(1).ColumnName = "RazonSocial" Then + Alert("El nombre de la segunda columna debe ser 'Fecha'.Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + If Not dt.Columns(2).ColumnName = "RFC" Then + Alert("El nombre de la tercera columna debe ser 'RFC'.Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + If Not dt.Columns(3).ColumnName = "Calle" Then + Alert("El nombre de la cuarta columna debe ser 'Calle'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + If Not dt.Columns(4).ColumnName = "Número exterior" Then + Alert("El nombre de la quinta columna debe ser 'Número exterior' .Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + If Not dt.Columns(5).ColumnName = "Colonia" Then + Alert("El nombre de la sexta columna debe ser 'Colonia'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + If Not dt.Columns(6).ColumnName = "Código postal" Then + Alert("El nombre de la séptima columna debe ser 'Código postal'.Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + If Not dt.Columns(7).ColumnName = "Población" Then + Alert("El nombre de la octava columna debe ser 'Población'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + If Not dt.Columns(8).ColumnName = "Estado" Then + Alert("El nombre de la novena columna debe ser 'Estado'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + If Not dt.Columns(9).ColumnName = "Teléfono" Then + Alert("El nombre de la décima columna debe ser 'Teléfono'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + If Not dt.Columns(10).ColumnName = "Contacto" Then + Alert("El nombre de la onceava columna debe ser 'Contacto'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + If Not dt.Columns(11).ColumnName = "Celular Contacto" Then + Alert("El nombre de la doceava columna debe ser 'Celular Contacto'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + If Not dt.Columns(12).ColumnName = "Limite Credito" Then + Alert("El nombre de la treceava columna debe ser 'Limite Credito'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub End If - If Not dt.Columns(13).ColumnName = "Plazo Cobranza" Then - Alert("El nombre de la catorceava columna debe ser 'Plazo Cobranza'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub + If Not dt.Columns(13).ColumnName = "Plazo Cobranza" Then + Alert("El nombre de la catorceava columna debe ser 'Plazo Cobranza'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub End If - 'If Not dt.Columns(14).ColumnName = "Pais" Then - ' Alert("El nombre de la quinceava columna debe ser 'Plazo Cobranza'. Favor de corregirlo", TipoMensaje.MsgError) - ' Exit Sub + 'If Not dt.Columns(14).ColumnName = "Pais" Then + ' Alert("El nombre de la quinceava columna debe ser 'Plazo Cobranza'. Favor de corregirlo", TipoMensaje.MsgError) + ' Exit Sub 'End If - If Not dt.Columns(14).ColumnName.ToUpper = "BANCO" Then - Alert("El nombre de la quinceava columna debe ser 'Banco'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub + If Not dt.Columns(14).ColumnName.ToUpper = "BANCO" Then + Alert("El nombre de la quinceava columna debe ser 'Banco'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub End If - If Not dt.Columns(15).ColumnName.ToUpper = "N° CUENTA" Then - Alert("El nombre de la dieciseisava columna debe ser 'N° Cuenta'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub + If Not dt.Columns(15).ColumnName.ToUpper = "N° CUENTA" Then + Alert("El nombre de la dieciseisava columna debe ser 'N° Cuenta'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub End If - If Not dt.Columns(16).ColumnName.ToUpper = "CLABE INTER" Then - Alert("El nombre de la diecisieteava columna debe ser 'Clabe Inter'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub + If Not dt.Columns(16).ColumnName.ToUpper = "CLABE INTER" Then + Alert("El nombre de la diecisieteava columna debe ser 'Clabe Inter'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub End If @@ -155,61 +155,61 @@ Partial Class General_SaldosIniciales ElseIf RblFormato.SelectedValue = "2" Then - If Not dt.Columns(0).ColumnName = "Codigo" Then - Alert("El nombre de la primera columna debe ser 'Codigo'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - If Not dt.Columns(1).ColumnName = "RazonSocial" Then - Alert("El nombre de la segunda columna debe ser 'Fecha'.Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - If Not dt.Columns(2).ColumnName = "RFC" Then - Alert("El nombre de la tercera columna debe ser 'RFC'.Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - If Not dt.Columns(3).ColumnName = "Calle" Then - Alert("El nombre de la cuarta columna debe ser 'Calle'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - If Not dt.Columns(4).ColumnName = "Número exterior" Then - Alert("El nombre de la quinta columna debe ser 'Número exterior' .Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - If Not dt.Columns(5).ColumnName = "Colonia" Then - Alert("El nombre de la sexta columna debe ser 'Colonia'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - If Not dt.Columns(6).ColumnName = "Código postal" Then - Alert("El nombre de la séptima columna debe ser 'Código postal'.Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - If Not dt.Columns(7).ColumnName = "Población" Then - Alert("El nombre de la octava columna debe ser 'Población'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - If Not dt.Columns(8).ColumnName = "Estado" Then - Alert("El nombre de la novena columna debe ser 'Estado'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - If Not dt.Columns(9).ColumnName = "Teléfono" Then - Alert("El nombre de la décima columna debe ser 'Teléfono'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - If Not dt.Columns(10).ColumnName = "Contacto" Then - Alert("El nombre de la onceava columna debe ser 'Contacto'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - If Not dt.Columns(11).ColumnName = "Celular Contacto" Then - Alert("El nombre de la doceava columna debe ser 'Celular Contacto'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - If Not dt.Columns(12).ColumnName = "Limite Credito" Then - Alert("El nombre de la treceava columna debe ser 'Limite Credito'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - If Not dt.Columns(13).ColumnName = "Plazo Cobranza" Then - Alert("El nombre de la treceava columna debe ser 'Plazo Cobranza'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub + If Not dt.Columns(0).ColumnName = "Codigo" Then + Alert("El nombre de la primera columna debe ser 'Codigo'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + If Not dt.Columns(1).ColumnName = "RazonSocial" Then + Alert("El nombre de la segunda columna debe ser 'Fecha'.Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + If Not dt.Columns(2).ColumnName = "RFC" Then + Alert("El nombre de la tercera columna debe ser 'RFC'.Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + If Not dt.Columns(3).ColumnName = "Calle" Then + Alert("El nombre de la cuarta columna debe ser 'Calle'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + If Not dt.Columns(4).ColumnName = "Número exterior" Then + Alert("El nombre de la quinta columna debe ser 'Número exterior' .Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + If Not dt.Columns(5).ColumnName = "Colonia" Then + Alert("El nombre de la sexta columna debe ser 'Colonia'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + If Not dt.Columns(6).ColumnName = "Código postal" Then + Alert("El nombre de la séptima columna debe ser 'Código postal'.Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + If Not dt.Columns(7).ColumnName = "Población" Then + Alert("El nombre de la octava columna debe ser 'Población'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + If Not dt.Columns(8).ColumnName = "Estado" Then + Alert("El nombre de la novena columna debe ser 'Estado'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + If Not dt.Columns(9).ColumnName = "Teléfono" Then + Alert("El nombre de la décima columna debe ser 'Teléfono'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + If Not dt.Columns(10).ColumnName = "Contacto" Then + Alert("El nombre de la onceava columna debe ser 'Contacto'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + If Not dt.Columns(11).ColumnName = "Celular Contacto" Then + Alert("El nombre de la doceava columna debe ser 'Celular Contacto'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + If Not dt.Columns(12).ColumnName = "Limite Credito" Then + Alert("El nombre de la treceava columna debe ser 'Limite Credito'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + If Not dt.Columns(13).ColumnName = "Plazo Cobranza" Then + Alert("El nombre de la treceava columna debe ser 'Plazo Cobranza'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub End If @@ -228,72 +228,72 @@ Partial Class General_SaldosIniciales - ElseIf RblFormato.SelectedValue = "3" Or RblFormato.SelectedValue = "4" Then - If Not dt.Columns(0).ColumnName = "Sucursal" Then - Alert("El nombre de la primera columna debe ser 'Sucursal'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - - If Not dt.Columns(1).ColumnName = "RFC" Then - Alert("El nombre de la segunda columna debe ser 'RFC'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - - If Not dt.Columns(2).ColumnName = "Serie" Then - Alert("El nombre de la tercera columna debe ser 'Serie'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - - If Not dt.Columns(3).ColumnName = "Folio" Then - Alert("El nombre de la cuarta columna debe ser 'Folio'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - - If Not dt.Columns(4).ColumnName = "Fecha" Then - Alert("El nombre de la quinta columna debe ser 'Fecha'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - If Not dt.Columns(5).ColumnName = "SubTotal" Then - Alert("El nombre de la sexta columna debe ser 'SubTotal'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - If Not dt.Columns(6).ColumnName = "IVA" Then - Alert("El nombre de la séptima columna debe ser 'IVA'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - If Not dt.Columns(7).ColumnName = "Total" Then - Alert("El nombre de la octava columna debe ser 'Total'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - If Not dt.Columns(8).ColumnName = "Saldo" Then - Alert("El nombre de la novena columna debe ser 'Saldo'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - If Not dt.Columns(9).ColumnName = "Tipo Documento" Then - Alert("El nombre de la décima columna debe ser 'Tipo Documento'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - If Not dt.Columns(10).ColumnName = "Ret IVA" Then - Alert("El nombre de la onceava columna debe ser 'Ret IVA'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - If Not dt.Columns(11).ColumnName = "Ret ISR" Then - Alert("El nombre de la doceava columna debe ser 'Ret ISR'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - - If Not dt.Columns(12).ColumnName = "Moneda" Then - Alert("El nombre de la treceava columna debe ser 'Moneda'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - - If Not dt.Columns(13).ColumnName = "Tipo Cambio" Then - Alert("El nombre de la catorceava columna debe ser 'Tipo Cambio'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - If Not dt.Columns(14).ColumnName = "Fecha Vencimiento" Then - Alert("El nombre de la quinceava columna debe ser 'Fecha Vencimiento'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub + ElseIf RblFormato.SelectedValue = "3" Or RblFormato.SelectedValue = "4" Then + If Not dt.Columns(0).ColumnName = "Sucursal" Then + Alert("El nombre de la primera columna debe ser 'Sucursal'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + If Not dt.Columns(1).ColumnName = "RFC" Then + Alert("El nombre de la segunda columna debe ser 'RFC'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + If Not dt.Columns(2).ColumnName = "Serie" Then + Alert("El nombre de la tercera columna debe ser 'Serie'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + If Not dt.Columns(3).ColumnName = "Folio" Then + Alert("El nombre de la cuarta columna debe ser 'Folio'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + If Not dt.Columns(4).ColumnName = "Fecha" Then + Alert("El nombre de la quinta columna debe ser 'Fecha'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + If Not dt.Columns(5).ColumnName = "SubTotal" Then + Alert("El nombre de la sexta columna debe ser 'SubTotal'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + If Not dt.Columns(6).ColumnName = "IVA" Then + Alert("El nombre de la séptima columna debe ser 'IVA'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + If Not dt.Columns(7).ColumnName = "Total" Then + Alert("El nombre de la octava columna debe ser 'Total'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + If Not dt.Columns(8).ColumnName = "Saldo" Then + Alert("El nombre de la novena columna debe ser 'Saldo'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + If Not dt.Columns(9).ColumnName = "Tipo Documento" Then + Alert("El nombre de la décima columna debe ser 'Tipo Documento'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + If Not dt.Columns(10).ColumnName = "Ret IVA" Then + Alert("El nombre de la onceava columna debe ser 'Ret IVA'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + If Not dt.Columns(11).ColumnName = "Ret ISR" Then + Alert("El nombre de la doceava columna debe ser 'Ret ISR'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + If Not dt.Columns(12).ColumnName = "Moneda" Then + Alert("El nombre de la treceava columna debe ser 'Moneda'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + If Not dt.Columns(13).ColumnName = "Tipo Cambio" Then + Alert("El nombre de la catorceava columna debe ser 'Tipo Cambio'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + If Not dt.Columns(14).ColumnName = "Fecha Vencimiento" Then + Alert("El nombre de la quinceava columna debe ser 'Fecha Vencimiento'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub End If 'If RblFormato.SelectedValue = "4" Then @@ -307,499 +307,499 @@ Partial Class General_SaldosIniciales ' Exit Sub ' End If 'End If - - - ElseIf RblFormato.SelectedValue = "5" Then - - If Not dt.Columns(0).ColumnName = "Codigo" Then - Alert("El nombre de la primera columna debe ser 'Codigo'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - - If Not dt.Columns(1).ColumnName = "Descripcion" Then - Alert("El nombre de la segunda columna debe ser 'Descripcion'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - - If Not dt.Columns(2).ColumnName = "Tipo" Then - Alert("El nombre de la terera columna debe ser 'Tipo'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - - If Not dt.Columns(3).ColumnName = "Código Barras" Then - Alert("El nombre de la cuarta columna debe ser 'Código Barras'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - - If Not dt.Columns(4).ColumnName = "Unidad Medida" Then - Alert("El nombre de la quinta columna debe ser 'Unidad Medida'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - - If Not dt.Columns(5).ColumnName = "Clasificacion" Then - Alert("El nombre de la sexta columna debe ser 'Clasificacion'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - - If Not dt.Columns(6).ColumnName = "Marca" Then - Alert("El nombre de la séptima columna debe ser 'Marca'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - - If Not dt.Columns(7).ColumnName = "AplicaSerie" Then - Alert("El nombre de la octava columna debe ser 'AplicaSerie'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - - If Not dt.Columns(8).ColumnName = "Precio" Then - Alert("El nombre de la novena columna debe ser 'Precio'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - - If Not dt.Columns(9).ColumnName = "IEPS" Then - Alert("El nombre de la décima columna debe ser 'IEPS'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - - If Not dt.Columns(10).ColumnName = "Tamaño" Then - Alert("El nombre de la onceava columna debe ser 'Tamaño'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - - If Not dt.Columns(11).ColumnName = "Código SAT" Then - Alert("El nombre de la doceava columna debe ser 'Código SAT'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - - 'If Not dt.Columns(12).ColumnName = "Servicio" Then - ' Alert("El nombre de la treceava columna debe ser 'Servicio'. Favor de corregirlo", TipoMensaje.MsgError) - ' Exit Sub - 'End If - - 'If Not dt.Columns(13).ColumnName = "Conversion Unidad" Then - ' Alert("El nombre de la catorceava columna debe ser 'Conversion Unidad'. Favor de corregirlo", TipoMensaje.MsgError) - ' Exit Sub - 'End If - - ElseIf RblFormato.SelectedValue = "6" Then - If Not dt.Columns(0).ColumnName = "Código" Then - Alert("El nombre de la primera columna debe ser 'Código'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - - If Not dt.Columns(1).ColumnName = "Apellido Paterno" Then - Alert("El nombre de la segunda columna debe ser 'Apellido Paterno'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - - If Not dt.Columns(2).ColumnName = "Apellido Materno" Then - Alert("El nombre de la tercera columna debe ser 'Apellido Materno'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - - If Not dt.Columns(3).ColumnName = "Nombre" Then - Alert("El nombre de la cuarta columna debe ser 'Nombre'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - - If Not dt.Columns(4).ColumnName = "Correo Electronico" Then - Alert("El nombre de la quinta columna debe ser 'Correo Electronico'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - - If Not dt.Columns(5).ColumnName = "Fecha Nacimiento" Then - Alert("El nombre de la sexta columna debe ser 'Fecha Nacimiento'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - - If Not dt.Columns(6).ColumnName = "Sexo" Then - Alert("El nombre de la séptima columna debe ser 'Sexo'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - - If Not dt.Columns(7).ColumnName = "Lugar Nacimiento" Then - Alert("El nombre de la octava columna debe ser 'Lugar Nacimiento'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - - If Not dt.Columns(8).ColumnName = "Dirección" Then - Alert("El nombre de la novena columna debe ser 'Dirección'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - - If Not dt.Columns(9).ColumnName = "Ciudad" Then - Alert("El nombre de la décima columna debe ser 'Ciudad'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - - If Not dt.Columns(10).ColumnName = "Estado Civil" Then - Alert("El nombre de la onceava columna debe ser 'Estado Civil'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - - If Not dt.Columns(11).ColumnName = "Teléfono" Then - Alert("El nombre de la doceava columna debe ser 'Teléfono'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - - If Not dt.Columns(12).ColumnName = "Celular" Then - Alert("El nombre de la treceava columna debe ser 'Celular'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - - If Not dt.Columns(13).ColumnName = "RFC" Then - Alert("El nombre de la catorceava columna debe ser 'RFC'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - - If Not dt.Columns(14).ColumnName = "CURP" Then - Alert("El nombre de la quinceava columna debe ser 'CURP'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - If Not dt.Columns(15).ColumnName = "Numero SS" Then - Alert("El nombre de la diesciseisava columna debe ser 'Numero SS'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - If Not dt.Columns(16).ColumnName = "CLABE" Then - Alert("El nombre de la diescisieteava columna debe ser 'CLABE'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - - If Not dt.Columns(17).ColumnName = "Fecha Ingreso" Then - Alert("El nombre de la dieciochoava columna debe ser 'Fecha Ingreso'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - If Not dt.Columns(18).ColumnName = "Fecha Baja" Then - Alert("El nombre de la diecinueveava columna debe ser 'Fecha Baja'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - - If Not dt.Columns(19).ColumnName = "Alta IMSS" Then - Alert("El nombre de la veinteava columna debe ser 'Alta IMSS'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - - If Not dt.Columns(20).ColumnName = "Salario Diario" Then - Alert("El nombre de la veinteunava columna debe ser 'Salario Diario'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - - If Not dt.Columns(21).ColumnName = "Código Postal" Then - Alert("El nombre de la veintedosava columna debe ser 'Código Postal'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - If Not dt.Columns(22).ColumnName = "Estatus Personal" Then - Alert("El nombre de la veintetresava columna debe ser 'Estatus Personal'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - - If Not dt.Columns(23).ColumnName = "Estado" Then - Alert("El nombre de la veintecuatroava columna debe ser 'Estado'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - - If Not dt.Columns(24).ColumnName = "Nombre Padre" Then - Alert("El nombre de la veintecincoava columna debe ser 'Nombre Padre'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - - If Not dt.Columns(25).ColumnName = "Nombre Madre" Then - Alert("El nombre de la veinteseisava columna debe ser 'Nombre Madre'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - - If Not dt.Columns(26).ColumnName = "Puesto" Then - Alert("El nombre de la veintesieteava columna debe ser 'Puesto'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - - If Not dt.Columns(27).ColumnName = "Turno" Then - Alert("El nombre de la veinteochaava columna debe ser 'Turno'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - - If Not dt.Columns(28).ColumnName = "Tipo Contrato" Then - Alert("El nombre de la veintenueveava columna debe ser 'Tipo Contrato'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - - End If - - ElseIf RblFormato.SelectedValue = "7" Then - If Not dt.Columns(0).ColumnName = "Código" Then - Alert("El nombre de la primera columna debe ser 'Código'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - - If Not dt.Columns(1).ColumnName = "Descripcion" Then - Alert("El nombre de la segunda columna debe ser 'Descripción'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - - If Not dt.Columns(2).ColumnName = "Tipo" Then - Alert("El nombre de la tercera columna debe ser 'Tipo'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - - If Not dt.Columns(3).ColumnName = "Linea" Then - Alert("El nombre de la cuarta columna debe ser 'Linea'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - - - If Not dt.Columns(4).ColumnName = "Codigo Barras" Then - Alert("El nombre de la sexta columna debe ser 'Codigo Barras'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - - If Not dt.Columns(5).ColumnName = "Clasificacion" Then - Alert("El nombre de la séptima columna debe ser 'Clasificacion'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - - If Not dt.Columns(6).ColumnName = "Marca" Then - Alert("El nombre de la octava columna debe ser 'Marca'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - - If Not dt.Columns(7).ColumnName = "Modelo" Then - Alert("El nombre de la novena columna debe ser 'Modelo'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - - If Not dt.Columns(8).ColumnName = "Medida" Then - Alert("El nombre de la décima columna debe ser 'Medida'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - - If Not dt.Columns(9).ColumnName = "Tamaño de Rin" Then - Alert("El nombre de la onceava columna debe ser 'Tamaño de Rin'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - - If Not dt.Columns(10).ColumnName = "CODIGO SAT" Then - Alert("El nombre de la diesciseisava columna debe ser 'CODIGO SAT'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - - If Not dt.Columns(11).ColumnName = "Clave Unidad" Then - Alert("El nombre de la diescisieteava columna debe ser 'Clave Unidad'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub + + + ElseIf RblFormato.SelectedValue = "5" Then + + If Not dt.Columns(0).ColumnName = "Codigo" Then + Alert("El nombre de la primera columna debe ser 'Codigo'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + If Not dt.Columns(1).ColumnName = "Descripcion" Then + Alert("El nombre de la segunda columna debe ser 'Descripcion'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + If Not dt.Columns(2).ColumnName = "Tipo" Then + Alert("El nombre de la terera columna debe ser 'Tipo'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + If Not dt.Columns(3).ColumnName = "Código Barras" Then + Alert("El nombre de la cuarta columna debe ser 'Código Barras'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + If Not dt.Columns(4).ColumnName = "Unidad Medida" Then + Alert("El nombre de la quinta columna debe ser 'Unidad Medida'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + If Not dt.Columns(5).ColumnName = "Clasificacion" Then + Alert("El nombre de la sexta columna debe ser 'Clasificacion'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + If Not dt.Columns(6).ColumnName = "Marca" Then + Alert("El nombre de la séptima columna debe ser 'Marca'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + If Not dt.Columns(7).ColumnName = "AplicaSerie" Then + Alert("El nombre de la octava columna debe ser 'AplicaSerie'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + If Not dt.Columns(8).ColumnName = "Precio" Then + Alert("El nombre de la novena columna debe ser 'Precio'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + If Not dt.Columns(9).ColumnName = "IEPS" Then + Alert("El nombre de la décima columna debe ser 'IEPS'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + If Not dt.Columns(10).ColumnName = "Tamaño" Then + Alert("El nombre de la onceava columna debe ser 'Tamaño'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + If Not dt.Columns(11).ColumnName = "Código SAT" Then + Alert("El nombre de la doceava columna debe ser 'Código SAT'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + 'If Not dt.Columns(12).ColumnName = "Servicio" Then + ' Alert("El nombre de la treceava columna debe ser 'Servicio'. Favor de corregirlo", TipoMensaje.MsgError) + ' Exit Sub + 'End If + + 'If Not dt.Columns(13).ColumnName = "Conversion Unidad" Then + ' Alert("El nombre de la catorceava columna debe ser 'Conversion Unidad'. Favor de corregirlo", TipoMensaje.MsgError) + ' Exit Sub + 'End If + + ElseIf RblFormato.SelectedValue = "6" Then + If Not dt.Columns(0).ColumnName = "Código" Then + Alert("El nombre de la primera columna debe ser 'Código'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + If Not dt.Columns(1).ColumnName = "Apellido Paterno" Then + Alert("El nombre de la segunda columna debe ser 'Apellido Paterno'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + If Not dt.Columns(2).ColumnName = "Apellido Materno" Then + Alert("El nombre de la tercera columna debe ser 'Apellido Materno'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + If Not dt.Columns(3).ColumnName = "Nombre" Then + Alert("El nombre de la cuarta columna debe ser 'Nombre'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + If Not dt.Columns(4).ColumnName = "Correo Electronico" Then + Alert("El nombre de la quinta columna debe ser 'Correo Electronico'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + If Not dt.Columns(5).ColumnName = "Fecha Nacimiento" Then + Alert("El nombre de la sexta columna debe ser 'Fecha Nacimiento'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + If Not dt.Columns(6).ColumnName = "Sexo" Then + Alert("El nombre de la séptima columna debe ser 'Sexo'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + If Not dt.Columns(7).ColumnName = "Lugar Nacimiento" Then + Alert("El nombre de la octava columna debe ser 'Lugar Nacimiento'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + If Not dt.Columns(8).ColumnName = "Dirección" Then + Alert("El nombre de la novena columna debe ser 'Dirección'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + If Not dt.Columns(9).ColumnName = "Ciudad" Then + Alert("El nombre de la décima columna debe ser 'Ciudad'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + If Not dt.Columns(10).ColumnName = "Estado Civil" Then + Alert("El nombre de la onceava columna debe ser 'Estado Civil'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + If Not dt.Columns(11).ColumnName = "Teléfono" Then + Alert("El nombre de la doceava columna debe ser 'Teléfono'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + If Not dt.Columns(12).ColumnName = "Celular" Then + Alert("El nombre de la treceava columna debe ser 'Celular'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + If Not dt.Columns(13).ColumnName = "RFC" Then + Alert("El nombre de la catorceava columna debe ser 'RFC'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + If Not dt.Columns(14).ColumnName = "CURP" Then + Alert("El nombre de la quinceava columna debe ser 'CURP'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + If Not dt.Columns(15).ColumnName = "Numero SS" Then + Alert("El nombre de la diesciseisava columna debe ser 'Numero SS'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + If Not dt.Columns(16).ColumnName = "CLABE" Then + Alert("El nombre de la diescisieteava columna debe ser 'CLABE'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + If Not dt.Columns(17).ColumnName = "Fecha Ingreso" Then + Alert("El nombre de la dieciochoava columna debe ser 'Fecha Ingreso'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + If Not dt.Columns(18).ColumnName = "Fecha Baja" Then + Alert("El nombre de la diecinueveava columna debe ser 'Fecha Baja'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + If Not dt.Columns(19).ColumnName = "Alta IMSS" Then + Alert("El nombre de la veinteava columna debe ser 'Alta IMSS'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + If Not dt.Columns(20).ColumnName = "Salario Diario" Then + Alert("El nombre de la veinteunava columna debe ser 'Salario Diario'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + If Not dt.Columns(21).ColumnName = "Código Postal" Then + Alert("El nombre de la veintedosava columna debe ser 'Código Postal'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + If Not dt.Columns(22).ColumnName = "Estatus Personal" Then + Alert("El nombre de la veintetresava columna debe ser 'Estatus Personal'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + If Not dt.Columns(23).ColumnName = "Estado" Then + Alert("El nombre de la veintecuatroava columna debe ser 'Estado'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + If Not dt.Columns(24).ColumnName = "Nombre Padre" Then + Alert("El nombre de la veintecincoava columna debe ser 'Nombre Padre'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + If Not dt.Columns(25).ColumnName = "Nombre Madre" Then + Alert("El nombre de la veinteseisava columna debe ser 'Nombre Madre'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + If Not dt.Columns(26).ColumnName = "Puesto" Then + Alert("El nombre de la veintesieteava columna debe ser 'Puesto'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + If Not dt.Columns(27).ColumnName = "Turno" Then + Alert("El nombre de la veinteochaava columna debe ser 'Turno'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + If Not dt.Columns(28).ColumnName = "Tipo Contrato" Then + Alert("El nombre de la veintenueveava columna debe ser 'Tipo Contrato'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + End If + + ElseIf RblFormato.SelectedValue = "7" Then + If Not dt.Columns(0).ColumnName = "Código" Then + Alert("El nombre de la primera columna debe ser 'Código'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + If Not dt.Columns(1).ColumnName = "Descripcion" Then + Alert("El nombre de la segunda columna debe ser 'Descripción'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + If Not dt.Columns(2).ColumnName = "Tipo" Then + Alert("El nombre de la tercera columna debe ser 'Tipo'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + If Not dt.Columns(3).ColumnName = "Linea" Then + Alert("El nombre de la cuarta columna debe ser 'Linea'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + + If Not dt.Columns(4).ColumnName = "Codigo Barras" Then + Alert("El nombre de la sexta columna debe ser 'Codigo Barras'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + If Not dt.Columns(5).ColumnName = "Clasificacion" Then + Alert("El nombre de la séptima columna debe ser 'Clasificacion'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + If Not dt.Columns(6).ColumnName = "Marca" Then + Alert("El nombre de la octava columna debe ser 'Marca'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + If Not dt.Columns(7).ColumnName = "Modelo" Then + Alert("El nombre de la novena columna debe ser 'Modelo'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + If Not dt.Columns(8).ColumnName = "Medida" Then + Alert("El nombre de la décima columna debe ser 'Medida'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + If Not dt.Columns(9).ColumnName = "Tamaño de Rin" Then + Alert("El nombre de la onceava columna debe ser 'Tamaño de Rin'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + If Not dt.Columns(10).ColumnName = "CODIGO SAT" Then + Alert("El nombre de la diesciseisava columna debe ser 'CODIGO SAT'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + If Not dt.Columns(11).ColumnName = "Clave Unidad" Then + Alert("El nombre de la diescisieteava columna debe ser 'Clave Unidad'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub End If ElseIf RblFormato.SelectedValue = "9" Then - If Not dt.Columns(0).ColumnName = "Cuenta" Then - Alert("El nombre de la primera columna debe ser 'Cuenta'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub + If Not dt.Columns(0).ColumnName = "Cuenta" Then + Alert("El nombre de la primera columna debe ser 'Cuenta'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub End If - If Not dt.Columns(1).ColumnName = "NombreCuenta" Then - Alert("El nombre de la segunda columna debe ser 'NombreCuenta'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub + If Not dt.Columns(1).ColumnName = "NombreCuenta" Then + Alert("El nombre de la segunda columna debe ser 'NombreCuenta'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub End If - If Not dt.Columns(2).ColumnName = "TipoCuenta" Then - Alert("El nombre de la tercera columna debe ser 'TipoCuenta'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub + If Not dt.Columns(2).ColumnName = "TipoCuenta" Then + Alert("El nombre de la tercera columna debe ser 'TipoCuenta'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub End If - If Not dt.Columns(3).ColumnName = "CuentaPadre" Then - Alert("El nombre de la cuarta columna debe ser 'CuentaPadre'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub + If Not dt.Columns(3).ColumnName = "CuentaPadre" Then + Alert("El nombre de la cuarta columna debe ser 'CuentaPadre'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub End If - If Not dt.Columns(5).ColumnName = "AgrupadorSAT" Then - Alert("El nombre de la quinta columna debe ser 'AgrupadorSAT'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub + If Not dt.Columns(5).ColumnName = "AgrupadorSAT" Then + Alert("El nombre de la quinta columna debe ser 'AgrupadorSAT'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub End If - ElseIf RblFormato.SelectedValue = "12" Then - If Not dt.Columns(0).ColumnName = "CodigoPS" Then - Alert("El nombre de la primera columna debe ser 'CodigoPS'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - - If Not dt.Columns(1).ColumnName = "Almacen" Then - Alert("El nombre de la segunda columna debe ser 'Almacen'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - - If Not dt.Columns(2).ColumnName = "Existencia" Then - Alert("El nombre de la tercera columna debe ser 'Existencia'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - - If Not dt.Columns(3).ColumnName = "Valor" Then - Alert("El nombre de la cuarta columna debe ser 'Valor'. Favor de corregirlo", TipoMensaje.MsgError) - Exit Sub - End If - End If - - - - - dt.TableName = "Datos" - Dim NumRows As Integer = dt.Rows.Count - - If Not ErrorArchivo Then - - 'P R O D U C T O S / S E R V I C I O S + ElseIf RblFormato.SelectedValue = "12" Then + If Not dt.Columns(0).ColumnName = "CodigoPS" Then + Alert("El nombre de la primera columna debe ser 'CodigoPS'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + If Not dt.Columns(1).ColumnName = "Almacen" Then + Alert("El nombre de la segunda columna debe ser 'Almacen'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + If Not dt.Columns(2).ColumnName = "Existencia" Then + Alert("El nombre de la tercera columna debe ser 'Existencia'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + If Not dt.Columns(3).ColumnName = "Valor" Then + Alert("El nombre de la cuarta columna debe ser 'Valor'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + End If + + + + + dt.TableName = "Datos" + Dim NumRows As Integer = dt.Rows.Count + + If Not ErrorArchivo Then + + 'P R O D U C T O S / S E R V I C I O S If RblFormato.SelectedValue = "5" Then - Dim ObjPS As New ClsProductosServicios - Dim ObjGral As New ClsGenerales(ObjPS.IniciaTransacSQL()) - Dim ObjClas As New ClsClasificaciones(ObjPS.IniciaTransacSQL()) - Dim ObjVenta As New ClsVentas(ObjPS.IniciaTransacSQL()) - Dim ObjUM As New ClsUnidadesMedida(ObjPS.IniciaTransacSQL()) - Dim ErrorPS As Boolean = False - Dim ExistePS As Boolean = False - Dim Contador As Integer = 0 - Dim DtMarcas As DataTable = Nothing - Dim DtMedidas As DataTable = Nothing - Dim DtRinTamaño As DataTable = Nothing - Dim DtModelos As DataTable = Nothing - Dim DTPS As DataTable = Nothing - - - If ObjPS.GetMarcas(UsuarioActual.CveEmpresa) Then - DtMarcas = ObjPS.DtResultados.Copy - End If - - If ObjGral.GetMedidas(UsuarioActual.CveEmpresa) Then - DtMedidas = ObjGral.DtResultados.Copy - End If - - If ObjGral.GetRimTamanios(UsuarioActual.CveEmpresa) Then - DtRinTamaño = ObjGral.DtResultados.Copy - End If - - If ObjGral.GetModelos(UsuarioActual.CveEmpresa) Then - DtModelos = ObjGral.DtResultados.Copy - End If - - - If ObjPS.GetPS(-1, -1, UsuarioActual.CveEmpresa) Then - DTPS = ObjPS.DtResultados - End If - - Dim NuevaClasificacion As Boolean = False - - For Each Row As DataRow In dt.Rows - Dim Codigo As String = Row("Codigo").ToString - Dim Descripcion As String = Row("Descripcion").ToString - Dim TipoPS As String = Row("Tipo").ToString.Trim.ToUpper - Dim CodigoBarras As String = Row("Código Barras").ToString - Dim UnidadMedida As String = Row("Unidad Medida").ToString.Trim - Dim Clasificacion As String = Row("Clasificacion").ToString.Trim - Dim Marca As String = Row("Marca").ToString.Trim - 'Dim AplicaSerie As String = Row("AplicaSerie").ToString.Trim - Dim Precio As Double = Row("Precio").ToString.ToDouble - Dim IEPS As Decimal = Row("IEPS").ToString.ToDecimal - Dim Tamaño As String = Row("Tamaño").ToString.Trim - Dim SATClavePS As String = Row("Código SAT").ToString.Trim - Dim Clasificacion2 As String = If(dt.Columns.Contains("Servicio"), Row("Servicio").ToString.Trim, "") - Dim Litraje As Double = If(dt.Columns.Contains("Conversion Unidad"), Row("Conversion Unidad").ToString.ToDouble, 0) - Dim RinTamaño As String = If(Row.Table.Columns.Contains("Tamaño de Rin"), Row("Tamaño de Rin").ToString.Trim, "") - Dim Medida As String = If(Row.Table.Columns.Contains("Medida"), Row("Medida").ToString.Trim, "") - Dim SATClaveUnidadMedida As String = If(Row.Table.Columns.Contains("Clave Unidad"), Row("Clave Unidad").ToString.Trim, "") - Dim Linea As String = If(Row.Table.Columns.Contains("Linea"), Row("Linea").ToString.Trim, "") - Dim Modelo As String = If(Row.Table.Columns.Contains("Modelo"), Row("Modelo").ToString.Trim, "") - - Dim CvePS As Integer = DTPS.FiltroPrimeroValor("CvePS", $"Codigo = '{Codigo}'").ToString.ToEntero - - Dim CveTipoPS As Integer = If(TipoPS.ToUpper = "PRODUCTO", 2, 1) - Dim CveClasificacion As Integer = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveClasificacion", $"Clasificacion = '{Clasificacion}'").ToString.ToEntero - Dim CveUnidadMedida As Integer = GlobalDTUnidadesMedida(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveUnidadMedida", $"UnidadMedida = '{UnidadMedida}' OR Abreviatura = '{UnidadMedida}'").ToString.ToEntero - Dim CveSATPS As Integer = GlobalDTPSATPS.FiltroPrimeroValor("CveSATPS", $"SATClavePS = '{SATClavePS}'").ToString.ToEntero - Dim CveTamaño As Integer = GlobalDTAcumTamaños.FiltroPrimeroValor("CveTamaño", $"Tamaño = '{Tamaño}' AND CveEmpresa = {UsuarioActual.CveEmpresa}").ToString.ToEntero - Dim CveClasificacion2 As Integer = GlobalDTClasificaciones2(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveClasificacion", $"Clasificacion = '{Clasificacion2}'").ToString.ToEntero - - If Not CveClasificacion > 0 AndAlso Clasificacion <> "" Then - If ObjClas.AddClasificaciones(Clasificacion, "", -1, "-1", -1, "-1", -1, "-1", - GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveCategoria", "").ToString.ToEntero, UsuarioActual.CveUsuario, - UsuarioActual.CveEmpresa) Then - GlobalDTClasificaciones(UsuarioActual.CveEmpresa) = Nothing - CveClasificacion = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveClasificacion", $"Clasificacion = '{Clasificacion}'").ToString.ToEntero - NuevaClasificacion = True - End If - End If - - If Not CveUnidadMedida > 0 AndAlso UnidadMedida <> "" Then - If ObjUM.AddUnidadMedida(UnidadMedida, UnidadMedida, "", "", "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1).ToEntero > 0 Then + Dim ObjPS As New ClsProductosServicios + Dim ObjGral As New ClsGenerales(ObjPS.IniciaTransacSQL()) + Dim ObjClas As New ClsClasificaciones(ObjPS.IniciaTransacSQL()) + Dim ObjVenta As New ClsVentas(ObjPS.IniciaTransacSQL()) + Dim ObjUM As New ClsUnidadesMedida(ObjPS.IniciaTransacSQL()) + Dim ErrorPS As Boolean = False + Dim ExistePS As Boolean = False + Dim Contador As Integer = 0 + Dim DtMarcas As DataTable = Nothing + Dim DtMedidas As DataTable = Nothing + Dim DtRinTamaño As DataTable = Nothing + Dim DtModelos As DataTable = Nothing + Dim DTPS As DataTable = Nothing + + + If ObjPS.GetMarcas(UsuarioActual.CveEmpresa) Then + DtMarcas = ObjPS.DtResultados.Copy + End If + + If ObjGral.GetMedidas(UsuarioActual.CveEmpresa) Then + DtMedidas = ObjGral.DtResultados.Copy + End If + + If ObjGral.GetRimTamanios(UsuarioActual.CveEmpresa) Then + DtRinTamaño = ObjGral.DtResultados.Copy + End If + + If ObjGral.GetModelos(UsuarioActual.CveEmpresa) Then + DtModelos = ObjGral.DtResultados.Copy + End If + + + If ObjPS.GetPS(-1, -1, UsuarioActual.CveEmpresa) Then + DTPS = ObjPS.DtResultados + End If + + Dim NuevaClasificacion As Boolean = False + + For Each Row As DataRow In dt.Rows + Dim Codigo As String = Row("Codigo").ToString + Dim Descripcion As String = Row("Descripcion").ToString + Dim TipoPS As String = Row("Tipo").ToString.Trim.ToUpper + Dim CodigoBarras As String = Row("Código Barras").ToString + Dim UnidadMedida As String = Row("Unidad Medida").ToString.Trim + Dim Clasificacion As String = Row("Clasificacion").ToString.Trim + Dim Marca As String = Row("Marca").ToString.Trim + 'Dim AplicaSerie As String = Row("AplicaSerie").ToString.Trim + Dim Precio As Double = Row("Precio").ToString.ToDouble + Dim IEPS As Decimal = Row("IEPS").ToString.ToDecimal + Dim Tamaño As String = Row("Tamaño").ToString.Trim + Dim SATClavePS As String = Row("Código SAT").ToString.Trim + Dim Clasificacion2 As String = If(dt.Columns.Contains("Servicio"), Row("Servicio").ToString.Trim, "") + Dim Litraje As Double = If(dt.Columns.Contains("Conversion Unidad"), Row("Conversion Unidad").ToString.ToDouble, 0) + Dim RinTamaño As String = If(Row.Table.Columns.Contains("Tamaño de Rin"), Row("Tamaño de Rin").ToString.Trim, "") + Dim Medida As String = If(Row.Table.Columns.Contains("Medida"), Row("Medida").ToString.Trim, "") + Dim SATClaveUnidadMedida As String = If(Row.Table.Columns.Contains("Clave Unidad"), Row("Clave Unidad").ToString.Trim, "") + Dim Linea As String = If(Row.Table.Columns.Contains("Linea"), Row("Linea").ToString.Trim, "") + Dim Modelo As String = If(Row.Table.Columns.Contains("Modelo"), Row("Modelo").ToString.Trim, "") + + Dim CvePS As Integer = DTPS.FiltroPrimeroValor("CvePS", $"Codigo = '{Codigo}'").ToString.ToEntero + + Dim CveTipoPS As Integer = If(TipoPS.ToUpper = "PRODUCTO", 2, 1) + Dim CveClasificacion As Integer = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveClasificacion", $"Clasificacion = '{Clasificacion}'").ToString.ToEntero + Dim CveUnidadMedida As Integer = GlobalDTUnidadesMedida(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveUnidadMedida", $"UnidadMedida = '{UnidadMedida}' OR Abreviatura = '{UnidadMedida}'").ToString.ToEntero + Dim CveSATPS As Integer = GlobalDTPSATPS.FiltroPrimeroValor("CveSATPS", $"SATClavePS = '{SATClavePS}'").ToString.ToEntero + Dim CveTamaño As Integer = GlobalDTAcumTamaños.FiltroPrimeroValor("CveTamaño", $"Tamaño = '{Tamaño}' AND CveEmpresa = {UsuarioActual.CveEmpresa}").ToString.ToEntero + Dim CveClasificacion2 As Integer = GlobalDTClasificaciones2(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveClasificacion", $"Clasificacion = '{Clasificacion2}'").ToString.ToEntero + + If Not CveClasificacion > 0 AndAlso Clasificacion <> "" Then + If ObjClas.AddClasificaciones(Clasificacion, "", -1, "-1", -1, "-1", -1, "-1", + GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveCategoria", "").ToString.ToEntero, UsuarioActual.CveUsuario, + UsuarioActual.CveEmpresa) Then + GlobalDTClasificaciones(UsuarioActual.CveEmpresa) = Nothing + CveClasificacion = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveClasificacion", $"Clasificacion = '{Clasificacion}'").ToString.ToEntero + NuevaClasificacion = True + End If + End If + + If Not CveUnidadMedida > 0 AndAlso UnidadMedida <> "" Then + If ObjUM.AddUnidadMedida(UnidadMedida, UnidadMedida, "", "", "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1).ToEntero > 0 Then If ObjUM.GetUnidadesMedida(UsuarioActual.CveEmpresa) Then GlobalDTUnidadesMedida(UsuarioActual.CveEmpresa) = Nothing - CveUnidadMedida = GlobalDTUnidadesMedida(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveUnidadMedida", $"UnidadMedida = '{UnidadMedida}'").ToString.ToEntero - End If - End If - - Dim CveMarca As Integer = -1 - If Marca <> "" AndAlso DtMarcas IsNot Nothing Then - CveMarca = DtMarcas.FiltroPrimeroValor("CveMarca", $"Marca = '{Marca}'").ToString.ToEntero - If Not CveMarca > 0 Then - If ObjPS.AddMarcas(Marca, True, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then - If ObjPS.GetMarcas(UsuarioActual.CveEmpresa) Then - DtMarcas = ObjPS.DtResultados.Copy - CveMarca = DtMarcas.FiltroPrimeroValor("CveMarca", $"Marca = '{Marca}'").ToString.ToEntero - End If - End If - End If - End If - - Dim CveMedida As Integer = -1 - If Medida <> "" AndAlso DtMedidas IsNot Nothing Then - CveMedida = DtMedidas.FiltroPrimeroValor("CveMedida", $"Medida = '{Medida}'").ToString.ToEntero - If Not CveMedida > 0 Then - If ObjGral.AddMedidas(CveClasificacion, "", Medida, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then - If ObjGral.GetMedidas(UsuarioActual.CveEmpresa) Then - DtMedidas = ObjGral.DtResultados.Copy - CveMedida = DtMedidas.FiltroPrimeroValor("CveMedida", $"Medida = '{Medida}'").ToString.ToEntero - End If - End If - End If - End If - - Dim CveRinTamaño As Integer = -1 - If RinTamaño <> "" AndAlso DtRinTamaño IsNot Nothing Then - CveRinTamaño = DtRinTamaño.FiltroPrimeroValor("CveRinTamaño", $"RinTamaño = '{RinTamaño}'").ToString.ToEntero - If Not CveRinTamaño > 0 Then - If ObjGral.AddRimTamanios(CveClasificacion, "", RinTamaño, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then - If ObjGral.GetRimTamanios(UsuarioActual.CveEmpresa) Then - DtRinTamaño = ObjGral.DtResultados.Copy - CveRinTamaño = DtRinTamaño.FiltroPrimeroValor("CveRinTamaño", $"RinTamaño = '{RinTamaño}'").ToString.ToEntero - End If - End If - End If - End If - - Dim CveModelo As Integer = -1 - If Modelo <> "" AndAlso DtModelos IsNot Nothing Then - CveModelo = DtModelos.FiltroPrimeroValor("CveModelo", $"Modelo = '{Modelo}'").ToString.ToEntero - If Not CveModelo > 0 Then - If ObjGral.AddModelos(CveMarca, "", Modelo, True, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then - If ObjGral.GetModelos(UsuarioActual.CveEmpresa) Then - DtModelos = ObjGral.DtResultados.Copy - CveModelo = DtModelos.FiltroPrimeroValor("CveModelo", $"Modelo = '{Modelo}'").ToString.ToEntero - End If - End If - End If - End If - - If Not CveClasificacion2 > 0 AndAlso Clasificacion2 <> "" Then + CveUnidadMedida = GlobalDTUnidadesMedida(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveUnidadMedida", $"UnidadMedida = '{UnidadMedida}'").ToString.ToEntero + End If + End If + + Dim CveMarca As Integer = -1 + If Marca <> "" AndAlso DtMarcas IsNot Nothing Then + CveMarca = DtMarcas.FiltroPrimeroValor("CveMarca", $"Marca = '{Marca}'").ToString.ToEntero + If Not CveMarca > 0 Then + If ObjPS.AddMarcas(Marca, True, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then + If ObjPS.GetMarcas(UsuarioActual.CveEmpresa) Then + DtMarcas = ObjPS.DtResultados.Copy + CveMarca = DtMarcas.FiltroPrimeroValor("CveMarca", $"Marca = '{Marca}'").ToString.ToEntero + End If + End If + End If + End If + + Dim CveMedida As Integer = -1 + If Medida <> "" AndAlso DtMedidas IsNot Nothing Then + CveMedida = DtMedidas.FiltroPrimeroValor("CveMedida", $"Medida = '{Medida}'").ToString.ToEntero + If Not CveMedida > 0 Then + If ObjGral.AddMedidas(CveClasificacion, "", Medida, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then + If ObjGral.GetMedidas(UsuarioActual.CveEmpresa) Then + DtMedidas = ObjGral.DtResultados.Copy + CveMedida = DtMedidas.FiltroPrimeroValor("CveMedida", $"Medida = '{Medida}'").ToString.ToEntero + End If + End If + End If + End If + + Dim CveRinTamaño As Integer = -1 + If RinTamaño <> "" AndAlso DtRinTamaño IsNot Nothing Then + CveRinTamaño = DtRinTamaño.FiltroPrimeroValor("CveRinTamaño", $"RinTamaño = '{RinTamaño}'").ToString.ToEntero + If Not CveRinTamaño > 0 Then + If ObjGral.AddRimTamanios(CveClasificacion, "", RinTamaño, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then + If ObjGral.GetRimTamanios(UsuarioActual.CveEmpresa) Then + DtRinTamaño = ObjGral.DtResultados.Copy + CveRinTamaño = DtRinTamaño.FiltroPrimeroValor("CveRinTamaño", $"RinTamaño = '{RinTamaño}'").ToString.ToEntero + End If + End If + End If + End If + + Dim CveModelo As Integer = -1 + If Modelo <> "" AndAlso DtModelos IsNot Nothing Then + CveModelo = DtModelos.FiltroPrimeroValor("CveModelo", $"Modelo = '{Modelo}'").ToString.ToEntero + If Not CveModelo > 0 Then + If ObjGral.AddModelos(CveMarca, "", Modelo, True, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then + If ObjGral.GetModelos(UsuarioActual.CveEmpresa) Then + DtModelos = ObjGral.DtResultados.Copy + CveModelo = DtModelos.FiltroPrimeroValor("CveModelo", $"Modelo = '{Modelo}'").ToString.ToEntero + End If + End If + End If + End If + + If Not CveClasificacion2 > 0 AndAlso Clasificacion2 <> "" Then Dim CveCategoria As Integer - If ObjGral.GetCategorias(UsuarioActual.CveEmpresa, 4) Then - CveCategoria = ObjGral.DtResultados.FiltroPrimeroValor("CveCategoria", "").ToEntero - End If - - If Not CveCategoria > 0 Then - If ObjGral.AddCategorias(Clasificacion2, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 4) Then - - If ObjGral.GetCategorias(UsuarioActual.CveEmpresa, 4) Then - CveCategoria = ObjGral.DtResultados.FiltroPrimeroValor("CveCategoria", "").ToEntero - End If - End If + If ObjGral.GetCategorias(UsuarioActual.CveEmpresa, 4) Then + CveCategoria = ObjGral.DtResultados.FiltroPrimeroValor("CveCategoria", "").ToEntero + End If + + If Not CveCategoria > 0 Then + If ObjGral.AddCategorias(Clasificacion2, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 4) Then + + If ObjGral.GetCategorias(UsuarioActual.CveEmpresa, 4) Then + CveCategoria = ObjGral.DtResultados.FiltroPrimeroValor("CveCategoria", "").ToEntero + End If + End If End If @@ -810,7 +810,7 @@ Partial Class General_SaldosIniciales If CveClasificacion2 = 0 Then - If ObjClas.AddClasificaciones(Clasificacion2, "", -1, "-1", -1, "-1", -1, "-1", CveCategoria, UsuarioActual.CveUsuario, + If ObjClas.AddClasificaciones(Clasificacion2, "", -1, "-1", -1, "-1", -1, "-1", CveCategoria, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then If ObjClas.GetClasificaciones(Tipo:=4) Then Application("GlobalDTClasificaciones2") = ObjClas.DtResultados CveClasificacion2 = GlobalDTClasificaciones2(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveClasificacion", $"Clasificacion = '{Clasificacion2}'").ToString.ToEntero @@ -821,32 +821,32 @@ Partial Class General_SaldosIniciales - End If - - If Not CveClasificacion > 0 AndAlso Clasificacion <> "" Then Alert("No se encontró la Clasificación: " + Clasificacion, TipoMensaje.MsgAdvertencia) : ErrorPS = True : Exit For - If Not CveUnidadMedida > 0 AndAlso UnidadMedida <> "" Then Alert("No se encontró la Unidad de Medida: " + UnidadMedida, TipoMensaje.MsgAdvertencia) : ErrorPS = True : Exit For - If Not CveSATPS > 0 AndAlso SATClavePS <> "" Then Alert("No se encontró la Clve SAT PS: " + SATClavePS, TipoMensaje.MsgAdvertencia) : ErrorPS = True : Exit For - If Not CveMarca > 0 AndAlso Marca <> "" Then Alert("No se encontró la Marca: " + Marca, TipoMensaje.MsgAdvertencia) : ErrorPS = True : Exit For - If Not CveMedida > 0 AndAlso Medida <> "" Then Alert("No se encontró la Media: " + Medida, TipoMensaje.MsgAdvertencia) : ErrorPS = True : Exit For - If Not CveRinTamaño > 0 AndAlso RinTamaño <> "" Then Alert("No se encontró el Tamaño: " + RinTamaño, TipoMensaje.MsgAdvertencia) : ErrorPS = True : Exit For - If Not CveModelo > 0 AndAlso Modelo <> "" Then Alert("No se encontró el Modelo: " + Modelo, TipoMensaje.MsgAdvertencia) : ErrorPS = True : Exit For - 'If Not CveClasificacion2 > 0 AndAlso Clasificacion2 <> "" Then Alert("No se encontró la Serie: " + Clasificacion2, TipoMensaje.MsgAdvertencia) : ErrorPS = True : Exit For - - If CvePS > 0 Then - If Not ObjPS.UpdatePS(CveClasificacion, 1, CveUnidadMedida, Codigo, "", CodigoBarras, Descripcion, Precio, -1, 1, False, 0, True, True, True, UsuarioActual.CveUsuario, CvePS, -1, -1, CveSATPS, - CveTipoPS:=CveTipoPS, CveMarca:=CveMarca, CveMedida:=CveMedida, CveRinTamaño:=CveRinTamaño, - CveModelo:=CveModelo, Litraje:=Litraje, IEPSPorcentaje:=IEPS, CveClasificacion2:=CveClasificacion2, CveTamaño:=CveTamaño) Then - 'If Not ObjPS.UpdatePS(CveClasificacion, 1, CveUnidadMedida, Codigo, "", CodigoBarras, Descripcion, 0, 1, 1, False, 0, True, True, True, UsuarioActual.CveUsuario, CvePS, -1, -1, CveSATPS, - ' CveTipoPS:=CveTipoPS, CveMarca:=CveMarca, CveTamaño:=CveTamaño, CveMedida:=CveMedida) Then - ErrorPS = True - Codigo.GuardaLog - Exit For - Else - Contador += 1 - End If - - Else - + End If + + If Not CveClasificacion > 0 AndAlso Clasificacion <> "" Then Alert("No se encontró la Clasificación: " + Clasificacion, TipoMensaje.MsgAdvertencia) : ErrorPS = True : Exit For + If Not CveUnidadMedida > 0 AndAlso UnidadMedida <> "" Then Alert("No se encontró la Unidad de Medida: " + UnidadMedida, TipoMensaje.MsgAdvertencia) : ErrorPS = True : Exit For + If Not CveSATPS > 0 AndAlso SATClavePS <> "" Then Alert("No se encontró la Clve SAT PS: " + SATClavePS, TipoMensaje.MsgAdvertencia) : ErrorPS = True : Exit For + If Not CveMarca > 0 AndAlso Marca <> "" Then Alert("No se encontró la Marca: " + Marca, TipoMensaje.MsgAdvertencia) : ErrorPS = True : Exit For + If Not CveMedida > 0 AndAlso Medida <> "" Then Alert("No se encontró la Media: " + Medida, TipoMensaje.MsgAdvertencia) : ErrorPS = True : Exit For + If Not CveRinTamaño > 0 AndAlso RinTamaño <> "" Then Alert("No se encontró el Tamaño: " + RinTamaño, TipoMensaje.MsgAdvertencia) : ErrorPS = True : Exit For + If Not CveModelo > 0 AndAlso Modelo <> "" Then Alert("No se encontró el Modelo: " + Modelo, TipoMensaje.MsgAdvertencia) : ErrorPS = True : Exit For + 'If Not CveClasificacion2 > 0 AndAlso Clasificacion2 <> "" Then Alert("No se encontró la Serie: " + Clasificacion2, TipoMensaje.MsgAdvertencia) : ErrorPS = True : Exit For + + If CvePS > 0 Then + If Not ObjPS.UpdatePS(CveClasificacion, 1, CveUnidadMedida, Codigo, "", CodigoBarras, Descripcion, Precio, -1, 1, False, 0, True, True, True, UsuarioActual.CveUsuario, CvePS, -1, -1, CveSATPS, + CveTipoPS:=CveTipoPS, CveMarca:=CveMarca, CveMedida:=CveMedida, CveRinTamaño:=CveRinTamaño, + CveModelo:=CveModelo, Litraje:=Litraje, IEPSPorcentaje:=IEPS, CveClasificacion2:=CveClasificacion2, CveTamaño:=CveTamaño) Then + 'If Not ObjPS.UpdatePS(CveClasificacion, 1, CveUnidadMedida, Codigo, "", CodigoBarras, Descripcion, 0, 1, 1, False, 0, True, True, True, UsuarioActual.CveUsuario, CvePS, -1, -1, CveSATPS, + ' CveTipoPS:=CveTipoPS, CveMarca:=CveMarca, CveTamaño:=CveTamaño, CveMedida:=CveMedida) Then + ErrorPS = True + Codigo.GuardaLog + Exit For + Else + Contador += 1 + End If + + Else + If Codigo.Length > 0 Then If ObjPS.AddPS(CveClasificacion, 1, CveUnidadMedida, Codigo, "", CodigoBarras, Descripcion, Precio, 0, 0, False, 0, False, True, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 1, 1, @@ -864,44 +864,44 @@ Partial Class General_SaldosIniciales End If End If - End If - Next - - If Not ErrorPS Then - ObjPS.Commit() - GlobalDTPSSimplificado(UsuarioActual.CveEmpresa) = Nothing - 'If ObjPS.GetPSSimplificado(-1) Then Application("GlobalDTPSSimplificado") = ObjPS.DtResultados.AsEnumerable() - If Contador > 0 Then - Alert(String.Format("Se agregaron: {0} Productos/Servicios correctamente.
Se Actualizaron: {1} Productos/Servicios ya que ya se encontraban registrados.", NumRows - Contador, Contador), TipoMensaje.MsgInformacion) - Else - Alert(String.Format("Se agregaron: {0} Productos/Servicios correctamente.", NumRows), TipoMensaje.MsgInformacion) - End If - TxtExcel.Text = "" - UpDatos.Update() - Else - ObjPS.RollBack() + End If + Next + + If Not ErrorPS Then + ObjPS.Commit() + GlobalDTPSSimplificado(UsuarioActual.CveEmpresa) = Nothing + 'If ObjPS.GetPSSimplificado(-1) Then Application("GlobalDTPSSimplificado") = ObjPS.DtResultados.AsEnumerable() + If Contador > 0 Then + Alert(String.Format("Se agregaron: {0} Productos/Servicios correctamente.
Se Actualizaron: {1} Productos/Servicios ya que ya se encontraban registrados.", NumRows - Contador, Contador), TipoMensaje.MsgInformacion) + Else + Alert(String.Format("Se agregaron: {0} Productos/Servicios correctamente.", NumRows), TipoMensaje.MsgInformacion) + End If + TxtExcel.Text = "" + UpDatos.Update() + Else + ObjPS.RollBack() If NuevaClasificacion Then GlobalDTClasificaciones(UsuarioActual.CveEmpresa) = Nothing - End If - End If - ObjPS.Dispose() - ObjGral.Dispose() - ObjClas.Dispose() - ObjVenta.Dispose() - ObjUM.Dispose() - - 'P R O V E E D O R E S - ElseIf RblFormato.SelectedValue = "1" Then - Dim ObjProv As New ClsCompProveedores - Dim ErrorProv As Boolean = False - Dim Contador As Integer = 0 - Dim ExisteProveedor As Boolean = False - - ObjProv.IniciaTransacSQL() + End If + End If + ObjPS.Dispose() + ObjGral.Dispose() + ObjClas.Dispose() + ObjVenta.Dispose() + ObjUM.Dispose() + + 'P R O V E E D O R E S + ElseIf RblFormato.SelectedValue = "1" Then + Dim ObjProv As New ClsCompProveedores + Dim ErrorProv As Boolean = False + Dim Contador As Integer = 0 + Dim ExisteProveedor As Boolean = False + + ObjProv.IniciaTransacSQL() For Each Row As DataRow In dt.Rows - Dim Codigo As String = Row("Codigo").ToString - Dim RazonSocial As String = Row("RazonSocial").ToString + Dim Codigo As String = Row("Codigo").ToString + Dim RazonSocial As String = Row("RazonSocial").ToString Dim RFC As String = Row("RFC").ToString.Trim Dim Dirrecion As String = $"{ Row("Población").ToString}, { Row("Estado").ToString} , Colonia { Row("Colonia").ToString}, {Row("Calle").ToString} #{Row("Número exterior").ToString}" @@ -914,18 +914,18 @@ Partial Class General_SaldosIniciales ' Dim Poblacion As String = Row("Población").ToString - 'Dim Estado As String = Row("Estado").ToString - Dim Telefono As String = Row("Teléfono").ToString - Dim ContactoMail As String = Row("Contacto").ToString - Dim CelularContacto As String = Row("Celular Contacto").ToString - Dim LimiteCredito As Double = Row("Limite Credito").ToString.ToDouble + 'Dim Estado As String = Row("Estado").ToString + Dim Telefono As String = Row("Teléfono").ToString + Dim ContactoMail As String = Row("Contacto").ToString + Dim CelularContacto As String = Row("Celular Contacto").ToString + Dim LimiteCredito As Double = Row("Limite Credito").ToString.ToDouble Dim PlazoCobranza As Integer = Row("Plazo Cobranza").ToString.ToEntero Dim Banco As String = Row("Banco").ToString Dim NumeroCuenta As String = Row("N° CUENTA").ToString.Replace("-", "").Replace(" ", "") Dim ClabeInter As String = Row("Clabe Inter").ToString.Replace("-", "").Replace(" ", "") - Dim CveProveedor As Integer = GlobalDTCompProveedores(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveProveedor", $"RFC = '{RFC}'").ToString.ToEntero + Dim CveProveedor As Integer = GlobalDTCompProveedores(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveProveedor", $"RFC = '{RFC}'").ToString.ToEntero Dim CveProveedor2 As Integer = GlobalDTCompProveedores(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveProveedor", $"RazonSocial = '{RazonSocial}'").ToString.ToEntero Dim CveProveedor3 As Integer = 0 @@ -954,10 +954,10 @@ Partial Class General_SaldosIniciales Telefono = If(Telefono.Length > 10, "", Telefono) CelularContacto = If(CelularContacto.Length > 10, "", Telefono) - If Not ObjProv.AddProveedor(Codigo, RazonSocial, RazonSocial, RazonSocial, RFC, Dirrecion, Telefono, - "", ContactoMail, CelularContacto, LimiteCredito, PlazoCobranza, "", 0, 0, 0, -1, "", -1, "", -1, "", -1, "", -1, "", -1, "", -1, "", -1, "", -1, "", -1, "", -1, "", -1, "", - -1, "", -1, "", -1, "", -1, "", -1, "", -1, "", -1, "", -1, "", -1, -1, "", "", False, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CP:=CodigoPostal) Then - ErrorProv = True + If Not ObjProv.AddProveedor(Codigo, RazonSocial, RazonSocial, RazonSocial, RFC, Dirrecion, Telefono, + "", ContactoMail, CelularContacto, LimiteCredito, PlazoCobranza, "", 0, 0, 0, -1, "", -1, "", -1, "", -1, "", -1, "", -1, "", -1, "", -1, "", -1, "", -1, "", -1, "", -1, "", + -1, "", -1, "", -1, "", -1, "", -1, "", -1, "", -1, "", -1, "", -1, -1, "", "", False, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CP:=CodigoPostal) Then + ErrorProv = True Exit For @@ -980,9 +980,9 @@ Partial Class General_SaldosIniciales If Not ObjGrales.AddCuentasDepositos(Banco, "-1", "-1", NumeroCuenta, ClabeInter, "-1", "-1", "-1", "-1", UsuarioActual.CveUsuario, 1, CveProveedor:=ObjProv.CveProveedor) Then 'ErrorProv = True End If - End If - - End If + End If + + End If End If @@ -998,56 +998,56 @@ Partial Class General_SaldosIniciales - If Not ErrorProv Then - ObjProv.Commit() - If ObjProv.GetProveedores(ClsCompProveedores.TipoConsulta.ParaGlobalDT, -1, "-1", "-1", "-1", "-1", "-1", "-1", "-1", -1, -1) Then Application("GlobalDTCompProveedores") = ObjProv.DtResultados - If Contador > 0 Then - Alert(String.Format("Se agregaron: {0} Proveedores correctamente.
Se Omitieron: {1} Proveedores ya que ya se encontraban registrados.", NumRows - Contador, Contador), TipoMensaje.MsgInformacion) - Else - Alert(String.Format("Se agregaron: {0} Proveedores correctamente.", NumRows), TipoMensaje.MsgInformacion) - End If - TxtExcel.Text = "" - UpDatos.Update() - Else - ObjProv.RollBack() - End If - ObjProv.Dispose() - - ' C L I E N T E S - ElseIf RblFormato.SelectedValue = "2" Then - Dim ObjClientes As New ClsClientes - Dim ErrorClientes As Boolean = False - Dim ExisteCliente As Boolean = False - Dim Contador As Integer = 0 - Dim NumRow As Integer = 0 - - ObjClientes.IniciaTransacSQL() - For Each Row As DataRow In dt.FiltraParametros("RFC <> ''").Rows + If Not ErrorProv Then + ObjProv.Commit() + If ObjProv.GetProveedores(ClsCompProveedores.TipoConsulta.ParaGlobalDT, -1, "-1", "-1", "-1", "-1", "-1", "-1", "-1", -1, -1) Then Application("GlobalDTCompProveedores") = ObjProv.DtResultados + If Contador > 0 Then + Alert(String.Format("Se agregaron: {0} Proveedores correctamente.
Se Omitieron: {1} Proveedores ya que ya se encontraban registrados.", NumRows - Contador, Contador), TipoMensaje.MsgInformacion) + Else + Alert(String.Format("Se agregaron: {0} Proveedores correctamente.", NumRows), TipoMensaje.MsgInformacion) + End If + TxtExcel.Text = "" + UpDatos.Update() + Else + ObjProv.RollBack() + End If + ObjProv.Dispose() + + ' C L I E N T E S + ElseIf RblFormato.SelectedValue = "2" Then + Dim ObjClientes As New ClsClientes + Dim ErrorClientes As Boolean = False + Dim ExisteCliente As Boolean = False + Dim Contador As Integer = 0 + Dim NumRow As Integer = 0 + + ObjClientes.IniciaTransacSQL() + For Each Row As DataRow In dt.FiltraParametros("RFC <> ''").Rows NumRow = NumRow + 1 - Dim Codigo As String = Row("Codigo").ToString - Dim RazonSocial As String = Row("RazonSocial").ToString - Dim RFC As String = Row("RFC").ToString.Trim - Dim Calle As String = Row("Calle").ToString - Dim NumExt As Decimal = Row("Número exterior").ToString.ToDecimal - Dim Colonia As String = Row("Colonia").ToString - Dim CodigoPostal As String = Row("Código Postal").ToString - Dim Poblacion As String = Row("Población").ToString - Dim Estado As String = Row("Estado").ToString - Dim Pais As String = Row("Pais").ToString - Dim Telefono As String = Row("Teléfono").ToString.Replace("-", "").Replace(" ", "").Replace("(", "").Replace(")", "") + Dim Codigo As String = Row("Codigo").ToString + Dim RazonSocial As String = Row("RazonSocial").ToString + Dim RFC As String = Row("RFC").ToString.Trim + Dim Calle As String = Row("Calle").ToString + Dim NumExt As Decimal = Row("Número exterior").ToString.ToDecimal + Dim Colonia As String = Row("Colonia").ToString + Dim CodigoPostal As String = Row("Código Postal").ToString + Dim Poblacion As String = Row("Población").ToString + Dim Estado As String = Row("Estado").ToString + Dim Pais As String = Row("Pais").ToString + Dim Telefono As String = Row("Teléfono").ToString.Replace("-", "").Replace(" ", "").Replace("(", "").Replace(")", "") Dim Contacto As String = Row("Contacto").ToString - Dim Vendedor As String = Row("Vendedor").ToString - Dim Clasificacion As String = Row("Clasificación").ToString - Dim CveCliente As Integer = GlobalDTCliente(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveCliente", $"RFC = '{RFC}'").ToString.ToEntero - - Dim CveVendedor As Integer = GlobalDTVendedores(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveVendedor", $"Vendedor = '{Vendedor}'").ToString.ToEntero - Dim CveClasificación As Integer = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveClasificacion", $"Clasificacion = '{Clasificacion}'").ToString.ToEntero - Dim EsDistribuidor As Boolean = If(Row("Es distribuidor").ToString.ToUpper = "SI", True, False) - Dim CargoUsado As Boolean = If(Row("Cargo Usados").ToString.ToUpper = "SI", True, False) + Dim Vendedor As String = Row("Vendedor").ToString + Dim Clasificacion As String = Row("Clasificación").ToString + Dim CveCliente As Integer = GlobalDTCliente(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveCliente", $"RFC = '{RFC}'").ToString.ToEntero + + Dim CveVendedor As Integer = GlobalDTVendedores(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveVendedor", $"Vendedor = '{Vendedor}'").ToString.ToEntero + Dim CveClasificación As Integer = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveClasificacion", $"Clasificacion = '{Clasificacion}'").ToString.ToEntero + Dim EsDistribuidor As Boolean = If(Row("Es distribuidor").ToString.ToUpper = "SI", True, False) + Dim CargoUsado As Boolean = If(Row("Cargo Usados").ToString.ToUpper = "SI", True, False) Dim BonificacionUsado As Boolean = If(Row("EmitirBon Usado").ToString.ToUpper = "SI", True, False) Dim LimiteCredito As Decimal = Row("Limite Credito").ToString.ToDecimal @@ -1154,8 +1154,8 @@ Partial Class General_SaldosIniciales 'Contacto - If CveCliente > 0 Then - ExisteCliente = True + If CveCliente > 0 Then + ExisteCliente = True Contador = Contador + 1 'If Not ObjClientes.UpdateCliente(RazonSocial, RazonSocial, Calle, "", "", Colonia, "", "", Estado, RFC, CodigoPostal, "", "", Contacto, "", "", "", "", -1, False, 1, -1, False, True, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, "", -1, -1, -1, @@ -1164,658 +1164,658 @@ Partial Class General_SaldosIniciales ' RFC.GuardaLog ' Exit For 'End If - Else - - If Not ObjClientes.AddCliente(RazonSocial, RazonSocial, Calle, NumExt.ToString, "", Colonia, Poblacion, Poblacion, Estado, Pais, RFC, CodigoPostal, Telefono, Contacto, "", "", "", "", "", -1, False, 0, 0, False, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, "", CveVendedor, PlazoCobranza, -1, + Else + + If Not ObjClientes.AddCliente(RazonSocial, RazonSocial, Calle, NumExt.ToString, "", Colonia, Poblacion, Poblacion, Estado, Pais, RFC, CodigoPostal, Telefono, Contacto, "", "", "", "", "", -1, False, 0, 0, False, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, "", CveVendedor, PlazoCobranza, -1, "-1", "-1", -1, "-1", -1, "0", -1, "0", 0, "", 0, "", 0, "", 0, "", "", "", Codigo, LimiteCredito, "", 1, False, "", "", "", False, "", "", "", "", "", False, "", "", "", False, 0, -1, EsDistribuidor:=EsDistribuidor, CveClienteClasificacion:=CveClasificación, CargoUsado:=CargoUsado, - BonificacionUsado:=BonificacionUsado, CobranzaContacto:=CobranzaContacto, CobranzaCorreo:=CobranzaCorreo, DiasEspecifico:=DiasPagoEspecifico, DiasRevision:=DìaVisita, CobranzaTelefono:=CobranzaTelefono, CveFormaPago33:=CveFormaPago33, CveUsoCFDI:=CveUsoCFDI) Then - - ErrorClientes = True - RFC.GuardaLog - Exit For - End If - - End If - - Next - - - - - If Not ErrorClientes Then + BonificacionUsado:=BonificacionUsado, CobranzaContacto:=CobranzaContacto, CobranzaCorreo:=CobranzaCorreo, DiasEspecifico:=DiasPagoEspecifico, DiasRevision:=DìaVisita, CobranzaTelefono:=CobranzaTelefono, CveFormaPago33:=CveFormaPago33, CveUsoCFDI:=CveUsoCFDI) Then + + ErrorClientes = True + RFC.GuardaLog + Exit For + End If + + End If + + Next + + + + + If Not ErrorClientes Then ObjClientes.Commit() 'If ObjClientes.GetClientes(-1, "-1", "-1", "-1", "-1", "-1", "-1", -1, -1) Then Application("GlobalDTCliente") = ObjClientes.DtResultados - GlobalDTCliente(UsuarioActual.CveEmpresa) = Nothing - If Contador > 0 Then - Alert(String.Format("Se agregaron: {0} Clientes correctamente.
Se Omitieron: {1} Clientes ya que ya se encontraban registrados.", NumRows - Contador, Contador), TipoMensaje.MsgInformacion) - Else - Alert(String.Format("Se agregaron: {0} Clientes correctamente.", NumRows), TipoMensaje.MsgInformacion) - End If - TxtExcel.Text = "" - UpDatos.Update() - Else - ObjClientes.RollBack() - End If - ObjClientes.Dispose() - - 'P R O V E E D O R E S - F A C T U R A S - ElseIf RblFormato.SelectedValue = "3" Then - 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 = New DataTable - Dim NoEncontrados = 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) - - - 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 Double = Row("Ret IVA").ToString.ToDouble - Dim RetISR As Double = Row("Ret ISR").ToString.ToDouble - 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 - - - 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 = "Ingresos", "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 - - 'Moneda - If Moneda = "Pesos" Then - CveMoneda = 1 - ElseIf Moneda = "Dólares" Then - CveMoneda = 2 - End If - - '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 - - 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.ToDouble, FechaVencimiento, - False, CodProvee, 1, CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveProveedorSucursal:=CveProveedorSucursal, - NumeroReembolso:=Transaccion, PorcentajeIVA:=0.16) Then - 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.16, SubTotal, 0, "Carga Inicial", -1) 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, Folio, IIf(TipoDocto = "Fac", 5, 18).ToString.ToEntero, String.Format("{0}-{1}", Serie, Folio), Fecha, -1, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedor, ImporteMX:=Total, CveSubProyecto:=Sucursal.ToEntero) Then ErrorCompras = True : Exit For - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, SubTotal, Folio, 6, String.Format("{0}-{1}", Serie, Folio), Fecha, -1, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedor, ImporteMX:=SubTotal, CveClasificacion:=CveClasificacion, CveSubProyecto:=Sucursal.ToEntero) Then ErrorCompras = True : Exit For - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, IVA, Folio, 14, String.Format("{0}-{1}", Serie, Folio), Fecha, -1, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedor, ImporteMX:=IVA, CveSubProyecto:=Sucursal.ToEntero) Then ErrorCompras = True : Exit For - If IEPS > 0 Then If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, IEPS, Folio, 25, String.Format("{0}-{1}", Serie, Folio), Fecha, -1, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedor, ImporteMX:=IEPS, CveSubProyecto:=Sucursal.ToEntero) Then ErrorCompras = True : Exit For - - - 'Saldo - If Saldo < Total Then - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Total - Saldo, Folio, 17, Folio, Fecha, -1, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedor, ImporteMX:=Total - Saldo) Then ErrorCompras = True : Exit For - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Total - Saldo, Folio, 95, Folio, Fecha, -1, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedor, ImporteMX:=Total - Saldo) Then ErrorCompras = True : Exit For - End If - Encontrados = Encontrados + 1 - - 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) - Else - Alert(String.Format("Se agregaron: {0} Compras correctamente.", NumRows), TipoMensaje.MsgInformacion) - End If - Alert(String.Format("Se agregaron: {0} Compras correctamente. RFC:{1} ", Encontrados, RFC), TipoMensaje.MsgInformacion) - ObjCompras.Commit() - TxtExcel.Text = "" - UpDatos.Update() - Else - Alert(String.Format("NO Se agregaron: {0} Compras.", NumRows), TipoMensaje.MsgError) - ObjCompras.RollBack() - End If - ObjCompras.Dispose() - - 'C L I E N T E S - F A C T U R A S - ElseIf RblFormato.SelectedValue = "4" Then - Dim ObjVentas As New ClsVentas - Dim ObjConta As New ClsContabilidad(ObjVentas.IniciaTransacSQL()) - Dim ObjIE As New ClsBancos(ObjVentas.IniciaTransacSQL()) - Dim ErrorVentas As Boolean = False - Dim CveVenta As Integer - Dim DtClientes = New DataTable - 'Dim ExisteVenta As Boolean = False - 'Dim Contador As Integer = 0 - DtClientes = GlobalDTCliente(UsuarioActual.CveEmpresa) - Dim NoEncontrados As Integer = 0 - Dim Encontrados As Integer = 0 - Dim StrRFCNoencontrados As New StringBuilder - 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 - - If Not CvePS > 0 Then Alert(String.Format("No se encontró el Producto Servicio"), TipoMensaje.MsgError) : ErrorVentas = True - ' If Not CveSucursal > 0 Then Alert("No se encontró la sucursal.", TipoMensaje.MsgError) : ErrorVentas = True - If Not CveUnidadMedida > 0 Then Alert(String.Format("No se encontró la Unidad de Medida."), TipoMensaje.MsgError) : ErrorVentas = True - 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}'") - Dim TipoDocto As String = Row("Tipo Documento").ToString - Dim RFC As String = Row("RFC").ToString.Trim - Dim Serie As String = Row("Serie").ToString - Dim Folio As Integer = Row("Folio").ToString.ToEntero - Dim Fecha As Date = Row("Fecha").ToString.ToDate - Dim FechaVencimiento As Date = Row("Fecha Vencimiento").ToString.ToDate - Dim ImpuestoLocal As Double = If(dt.Columns.Contains("ImpuestoLocal"), Row("ImpuestoLocal").ToString.ToDouble, 0.0) + GlobalDTCliente(UsuarioActual.CveEmpresa) = Nothing + If Contador > 0 Then + Alert(String.Format("Se agregaron: {0} Clientes correctamente.
Se Omitieron: {1} Clientes ya que ya se encontraban registrados.", NumRows - Contador, Contador), TipoMensaje.MsgInformacion) + Else + Alert(String.Format("Se agregaron: {0} Clientes correctamente.", NumRows), TipoMensaje.MsgInformacion) + End If + TxtExcel.Text = "" + UpDatos.Update() + Else + ObjClientes.RollBack() + End If + ObjClientes.Dispose() + + 'P R O V E E D O R E S - F A C T U R A S + ElseIf RblFormato.SelectedValue = "3" Then + 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 = New DataTable + Dim NoEncontrados = 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) + + + 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 Double = Row("Ret IVA").ToString.ToDouble + Dim RetISR As Double = Row("Ret ISR").ToString.ToDouble + 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 + + + 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 = "Ingresos", "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 + + 'Moneda + If Moneda = "Pesos" Then + CveMoneda = 1 + ElseIf Moneda = "Dólares" Then + CveMoneda = 2 + End If + + '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 + + 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.ToDouble, FechaVencimiento, + False, CodProvee, 1, CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveProveedorSucursal:=CveProveedorSucursal, + NumeroReembolso:=Transaccion, PorcentajeIVA:=0.16) Then + 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.16, SubTotal, 0, "Carga Inicial", -1) 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, Folio, IIf(TipoDocto = "Fac", 5, 18).ToString.ToEntero, String.Format("{0}-{1}", Serie, Folio), Fecha, -1, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedor, ImporteMX:=Total, CveSubProyecto:=Sucursal.ToEntero) Then ErrorCompras = True : Exit For + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, SubTotal, Folio, 6, String.Format("{0}-{1}", Serie, Folio), Fecha, -1, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedor, ImporteMX:=SubTotal, CveClasificacion:=CveClasificacion, CveSubProyecto:=Sucursal.ToEntero) Then ErrorCompras = True : Exit For + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, IVA, Folio, 14, String.Format("{0}-{1}", Serie, Folio), Fecha, -1, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedor, ImporteMX:=IVA, CveSubProyecto:=Sucursal.ToEntero) Then ErrorCompras = True : Exit For + If IEPS > 0 Then If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, IEPS, Folio, 25, String.Format("{0}-{1}", Serie, Folio), Fecha, -1, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedor, ImporteMX:=IEPS, CveSubProyecto:=Sucursal.ToEntero) Then ErrorCompras = True : Exit For + + + 'Saldo + If Saldo < Total Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Total - Saldo, Folio, 17, Folio, Fecha, -1, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedor, ImporteMX:=Total - Saldo) Then ErrorCompras = True : Exit For + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Total - Saldo, Folio, 95, Folio, Fecha, -1, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedor, ImporteMX:=Total - Saldo) Then ErrorCompras = True : Exit For + End If + Encontrados = Encontrados + 1 + + 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) + Else + Alert(String.Format("Se agregaron: {0} Compras correctamente.", NumRows), TipoMensaje.MsgInformacion) + End If + Alert(String.Format("Se agregaron: {0} Compras correctamente. RFC:{1} ", Encontrados, RFC), TipoMensaje.MsgInformacion) + ObjCompras.Commit() + TxtExcel.Text = "" + UpDatos.Update() + Else + Alert(String.Format("NO Se agregaron: {0} Compras.", NumRows), TipoMensaje.MsgError) + ObjCompras.RollBack() + End If + ObjCompras.Dispose() + + 'C L I E N T E S - F A C T U R A S + ElseIf RblFormato.SelectedValue = "4" Then + Dim ObjVentas As New ClsVentas + Dim ObjConta As New ClsContabilidad(ObjVentas.IniciaTransacSQL()) + Dim ObjIE As New ClsBancos(ObjVentas.IniciaTransacSQL()) + Dim ErrorVentas As Boolean = False + Dim CveVenta As Integer + Dim DtClientes = New DataTable + 'Dim ExisteVenta As Boolean = False + 'Dim Contador As Integer = 0 + DtClientes = GlobalDTCliente(UsuarioActual.CveEmpresa) + Dim NoEncontrados As Integer = 0 + Dim Encontrados As Integer = 0 + Dim StrRFCNoencontrados As New StringBuilder + 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 + + If Not CvePS > 0 Then Alert(String.Format("No se encontró el Producto Servicio"), TipoMensaje.MsgError) : ErrorVentas = True + ' If Not CveSucursal > 0 Then Alert("No se encontró la sucursal.", TipoMensaje.MsgError) : ErrorVentas = True + If Not CveUnidadMedida > 0 Then Alert(String.Format("No se encontró la Unidad de Medida."), TipoMensaje.MsgError) : ErrorVentas = True + 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}'") + Dim TipoDocto As String = Row("Tipo Documento").ToString + Dim RFC As String = Row("RFC").ToString.Trim + Dim Serie As String = Row("Serie").ToString + Dim Folio As Integer = Row("Folio").ToString.ToEntero + Dim Fecha As Date = Row("Fecha").ToString.ToDate + Dim FechaVencimiento As Date = Row("Fecha Vencimiento").ToString.ToDate + Dim ImpuestoLocal As Double = If(dt.Columns.Contains("ImpuestoLocal"), Row("ImpuestoLocal").ToString.ToDouble, 0.0) Dim Amortizacion As Double = If(dt.Columns.Contains("Amort.Ant"), Row("Amort.Ant").ToString.ToDouble, 0.0) - 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 CveCliente As Integer = DtClientes.FiltroPrimeroValor("CveCliente", $"RFC = '{RFC}'").ToString.ToEntero - Dim RetIVA As Double = Row("Ret IVA").ToString.ToDouble - Dim RetISR As Double = Row("Ret ISR").ToString.ToDouble - Dim Moneda As String = Row("Moneda").ToString - Dim TipoCambio As String = Row("Tipo Cambio").ToString - Dim CveMoneda As Integer = 1 - Dim Vendedor As String = "" 'Row("Vendedor").ToString - Dim CveVendedor As Integer = 0 - Dim IEPS As Decimal = 0 'Row("IEPS").ToString.ToDecimal - Dim CveClienteSucursal As Integer = 0 'Row("CveClienteSucursal").ToString.ToEntero + 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 CveCliente As Integer = DtClientes.FiltroPrimeroValor("CveCliente", $"RFC = '{RFC}'").ToString.ToEntero + Dim RetIVA As Double = Row("Ret IVA").ToString.ToDouble + Dim RetISR As Double = Row("Ret ISR").ToString.ToDouble + Dim Moneda As String = Row("Moneda").ToString + Dim TipoCambio As String = Row("Tipo Cambio").ToString + Dim CveMoneda As Integer = 1 + Dim Vendedor As String = "" 'Row("Vendedor").ToString + Dim CveVendedor As Integer = 0 + Dim IEPS As Decimal = 0 'Row("IEPS").ToString.ToDecimal + Dim CveClienteSucursal As Integer = 0 'Row("CveClienteSucursal").ToString.ToEntero Dim ImpuestosLocales As Decimal = If(dt.Columns.Contains("ImpuestoLocal"), Row("ImpuestoLocal").ToString.ToDecimal, 0) Dim FolioFiscal As String = If(dt.Columns.Contains("Folio Fiscal"), Row("Folio Fiscal").ToString, "") Dim PorcentajeIVA As Decimal = If(dt.Columns.Contains("PorcentajeIVA"), Round(Row("PorcentajeIVA").ToString.ToDecimal, 4), 0) - GuardaLog(Sucursal + "-" + Row("Folio").ToString) - 'Temporalmente SE BORRARA - Dim Transaccion As String = "" ' Row("Transaccion2").ToString - Dim Folio2 As String = "" ' Row("Folio2").ToString - Dim CodCliente As String = "" 'Row("CodCliente2").ToString - - - 'If Not CveCliente > 0 Then Alert(String.Format("No se encontró el cliente con el RFC: {0}", {RFC}), TipoMensaje.MsgError) : ErrorVentas = True : RFC.GuardaLog : Exit For - TipoDocto = IIf(TipoDocto = "INGRESO", "Ing", IIf(TipoDocto = "EGRESO", "Egs", "Rem")).ToString - 'PrePóliza - Dim CvePrePoliza As Integer = ObjConta.AddPrePolizas("Venta/SaldoInicial", 1, Total, Total, 1, Fecha, String.Format("{0}-{1}", Serie, Folio), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) - - If Vendedor <> "" Then - CveVendedor = GlobalDTVendedores(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveVendedor", $"Vendedor = '{Vendedor}'").ToString.ToEntero - If Not CveVendedor > 0 Then CveVendedor = 0 - Else - CveVendedor = 0 - End If - - 'Moneda - If Moneda = "Pesos" Then - CveMoneda = 1 - ElseIf Moneda = "Dólares" Then - CveMoneda = 2 - End If - - 'Si no se especifica TC, se manda como pesos. - If TipoCambio = "" Then TipoCambio = "1" - - If Not CveClienteSucursal > 0 Then CveClienteSucursal = -1 - - If FechaVencimiento = "".ToDate Or FechaVencimiento < "1900/01/01".ToDate Then - FechaVencimiento = Fecha + GuardaLog(Sucursal + "-" + Row("Folio").ToString) + 'Temporalmente SE BORRARA + Dim Transaccion As String = "" ' Row("Transaccion2").ToString + Dim Folio2 As String = "" ' Row("Folio2").ToString + Dim CodCliente As String = "" 'Row("CodCliente2").ToString + + + 'If Not CveCliente > 0 Then Alert(String.Format("No se encontró el cliente con el RFC: {0}", {RFC}), TipoMensaje.MsgError) : ErrorVentas = True : RFC.GuardaLog : Exit For + TipoDocto = IIf(TipoDocto = "INGRESO", "Ing", IIf(TipoDocto = "EGRESO", "Egs", "Rem")).ToString + 'PrePóliza + Dim CvePrePoliza As Integer = ObjConta.AddPrePolizas("Venta/SaldoInicial", 1, Total, Total, 1, Fecha, String.Format("{0}-{1}", Serie, Folio), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) + + If Vendedor <> "" Then + CveVendedor = GlobalDTVendedores(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveVendedor", $"Vendedor = '{Vendedor}'").ToString.ToEntero + If Not CveVendedor > 0 Then CveVendedor = 0 + Else + CveVendedor = 0 + End If + + 'Moneda + If Moneda = "Pesos" Then + CveMoneda = 1 + ElseIf Moneda = "Dólares" Then + CveMoneda = 2 + End If + + 'Si no se especifica TC, se manda como pesos. + If TipoCambio = "" Then TipoCambio = "1" + + If Not CveClienteSucursal > 0 Then CveClienteSucursal = -1 + + If FechaVencimiento = "".ToDate Or FechaVencimiento < "1900/01/01".ToDate Then + FechaVencimiento = Fecha End If 'Venta - If CveCliente > 0 Then - - - If TipoDocto.Contiene("Ing", "Egs", "Rem") Then - GuardaLog(Serie & "-" & Folio) - If Not ObjVentas.AddVenta(TipoDocto, Folio, CveCliente.ToEntero, CveClienteSucursal, SubTotal, 0, Amortizacion, IVA, RetIVA, RetISR, Total, CveMoneda, TipoCambio.ToDouble, - 0, 0, 0, FechaVencimiento, Fecha, "", "", Fecha, CveVendedor, Folio2, "", "", 0, 0, 0, "-1".ToDate, "-1".ToDate, "-1".ToDate, -1, -1, 0, CvePrePoliza, - UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, Serie:=Serie, CveSubProyecto:=Sucursal.ToEntero, CveSubProyectoEjecucion:=Sucursal.ToEntero, - CveSubProyectoCobranza:=Sucursal.ToEntero, IEPS:=IEPS, - ObservacionesAlmacen:=Transaccion, Entrega:=CodCliente, ImpuestoLocal:=ImpuestosLocales) Then - ErrorVentas = True - Exit For - End If - CveVenta = ObjVentas.CveVenta - - If Not ObjVentas.AddVentaDetalle(CveVenta, CvePS, 1, CveUnidadMedida, SubTotal, IVA, SubTotal * PorcentajeIVA, "Saldo Inicial", 0, 0, -1, 0, PorcentajeIVA:=PorcentajeIVA) Then - ErrorVentas = True - Exit For - End If - Dim ConceptoContable As Integer = 1 - Dim ConceptoContablePago As Integer = 2 - If TipoDocto = "Egs" Then - ConceptoContable = 12 - ConceptoContablePago = 91 - End If - + If CveCliente > 0 Then + + + If TipoDocto.Contiene("Ing", "Egs", "Rem") Then + GuardaLog(Serie & "-" & Folio) + If Not ObjVentas.AddVenta(TipoDocto, Folio, CveCliente.ToEntero, CveClienteSucursal, SubTotal, 0, Amortizacion, IVA, RetIVA, RetISR, Total, CveMoneda, TipoCambio.ToDouble, + 0, 0, 0, FechaVencimiento, Fecha, "", "", Fecha, CveVendedor, Folio2, "", "", 0, 0, 0, "-1".ToDate, "-1".ToDate, "-1".ToDate, -1, -1, 0, CvePrePoliza, + UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, Serie:=Serie, CveSubProyecto:=Sucursal.ToEntero, CveSubProyectoEjecucion:=Sucursal.ToEntero, + CveSubProyectoCobranza:=Sucursal.ToEntero, IEPS:=IEPS, + ObservacionesAlmacen:=Transaccion, Entrega:=CodCliente, ImpuestoLocal:=ImpuestosLocales) Then + ErrorVentas = True + Exit For + End If + CveVenta = ObjVentas.CveVenta + + If Not ObjVentas.AddVentaDetalle(CveVenta, CvePS, 1, CveUnidadMedida, SubTotal, IVA, SubTotal * PorcentajeIVA, "Saldo Inicial", 0, 0, -1, 0, PorcentajeIVA:=PorcentajeIVA) Then + ErrorVentas = True + Exit For + End If + Dim ConceptoContable As Integer = 1 + Dim ConceptoContablePago As Integer = 2 + If TipoDocto = "Egs" Then + ConceptoContable = 12 + ConceptoContablePago = 91 + End If + If FolioFiscal <> "" Then If Not ObjVentas.UpdateVentaFolioFiscal(FolioFiscal, CveVenta, UsuarioActual.CveEmpresa) Then ErrorVentas = True Exit For End If - End If - - 'PrePólizaDetalle - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, SubTotal, Folio.ToString, 4, String.Format("{0}-{1}", Serie, Folio), Fecha, -1, -1, CveVenta:=CveVenta, CveCliente:=CveCliente, CveClasificacion:=CveClasificacion, ImporteMX:=SubTotal, CveSubProyecto:=Sucursal.ToEntero) Then ErrorVentas = True : Exit For - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Total, Folio.ToString, ConceptoContable, String.Format("{0}-{1}", Serie, Folio), Fecha, -1, -1, CveVenta:=CveVenta, CveCliente:=CveCliente, ImporteMX:=Total) Then ErrorVentas = True : Exit For - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, IVA, Folio.ToString, 13, String.Format("{0}-{1}", Serie, Folio), Fecha, -1, -1, CveVenta:=CveVenta, CveCliente:=CveCliente, ImporteMX:=IVA) Then ErrorVentas = True : Exit For - 'If IEPS > 0 AndAlso Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, IEPS, Folio.ToString, 38, String.Format("{0}-{1}", Serie, Folio), Fecha, -1, -1, CveVenta:=CveVenta, CveCliente:=CveCliente, ImporteMX:=IEPS) Then ErrorVentas = True : Exit For - - - 'Saldo - If Saldo < Total Then - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Total - Saldo, Folio.ToString, ConceptoContablePago, Folio.ToString, Fecha, -1, -1, CveVenta:=CveVenta, CveCliente:=CveCliente, ImporteMX:=Total - Saldo, CveVentaAmortizacion:=CveVenta) Then ErrorVentas = True : Exit For - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Total - Saldo, Folio.ToString, 95, Folio.ToString, Fecha, -1, -1, CveVenta:=CveVenta, CveCliente:=CveCliente, ImporteMX:=Total - Saldo) Then ErrorVentas = True : Exit For - End If - - Else - 'ANTICIPOS - Dim CveIE As Integer = ObjIE.AddBancos_IE(1, 1, Fecha, Folio.ToString, "", Total, 1, - 1, "Anticipo Cliente", "", False, False, -1, CvePrePoliza, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) - - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Total, Folio.ToString, 30, String.Format("{0}-{1}", Serie, Folio), Fecha, -1, -1, CveIE:=CveIE, CveCliente:=CveCliente) Then ErrorVentas = True : Exit For - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Total, Folio.ToString, 66, String.Format("{0}-{1}", Serie, Folio), Fecha, -1, -1, CveIE:=CveIE, CveCliente:=CveCliente) Then ErrorVentas = True : Exit For - - End If - Encontrados = Encontrados + 1 - - Else - NoEncontrados = NoEncontrados + 1 - StrRFCNoencontrados.AppendFormat("{0}
", RFC) - ErrorVentas = True - Exit For - End If - - Next - If Not ErrorVentas Then - Alert(String.Format("Se agregaron: {0} Ventas correctamente. {1} no encontrados
{2} ", Encontrados, NoEncontrados, StrRFCNoencontrados), TipoMensaje.MsgInformacion) - ObjVentas.Commit() - TxtExcel.Text = "" - UpDatos.Update() - Else - Alert(String.Format("Error al registrar : {0} Ventas correctamente. {1} no encontrados
{2} ", Encontrados, NoEncontrados, StrRFCNoencontrados), TipoMensaje.MsgError) - ObjVentas.RollBack() - End If - ObjVentas.Dispose() - - - ' R H - P E R S O N A L - ElseIf RblFormato.SelectedValue = "6" Then - Dim ObjRH As New ClsRH - Try - ObjRH.IniciaTransacSQL() - Dim ErrorRH As Boolean = False - Dim Contador As Integer = 0 - Dim NumRow As Integer = 0 - - For Each Row As DataRow In dt.Rows - Dim Codigo As String = Row("Código").ToString - Dim ApellidoPaterno As String = Row("Apellido Paterno").ToString - Dim ApellidoMaterno As String = Row("Apellido Materno").ToString - Dim Nombre As String = Row("Nombre").ToString - Dim CorreoElectronico As String = Row("Correo Electronico").ToString - Dim FechaIngreso As String = Row("Fecha Ingreso").ToString - Dim FechaBaja As String = Row("Fecha Baja").ToString - Dim NumeroSS As String = Row("Numero SS").ToString - Dim AltaIMSS As String = Row("Alta IMSS").ToString - Dim SalarioDiario As String = Row("Salario Diario").ToString - Dim Direccion As String = Row("Dirección").ToString - Dim FechaNacimiento As String = Row("Fecha Nacimiento").ToString - Dim LugarNacimiento As String = Row("Lugar Nacimiento").ToString - Dim Sexo As String = Row("Sexo").ToString - Dim CodigoPostal As String = Row("Código Postal").ToString - Dim Ciudad As String = Row("Ciudad").ToString - Dim EstadoCivil As String = Row("Estado Civil").ToString.ToUpper - Dim Telefono As String = Row("Teléfono").ToString - Dim Celular As String = Row("Celular").ToString - Dim RFC As String = Row("RFC").ToString - Dim CURP As String = Row("CURP").ToString - Dim ClabeInterbancaria As String = Row("CLABE").ToString - Dim EstatusPersonal As String = Row("Estatus Personal").ToString.ToUpper - - 'Nuevas - Dim Estado As String = Row("Estado").ToString - Dim NombrePadre As String = Row("Nombre Padre").ToString - Dim NombreMadre As String = Row("Nombre Madre").ToString - Dim Puesto As String = Row("Puesto").ToString - Dim Turno As String = Row("Turno").ToString - Dim TipoContrato As String = Row("Tipo Contrato").ToString - Dim Departamento As String = Row("Departamento").ToString - Dim TipoPeriodo As String = Row("Tipo Periodo").ToString - Dim Escolaridad As String = Row("Escolaridad").ToString - Dim SDI As String = Row("SDI").ToString - Dim MetodoPago As String = Row("Metodo Pago").ToString - Dim Nominista As String = Row("Nominista").ToString - - 'CLAVES - Dim CveGenero As Integer = 0 - Dim CveEstadoCivil As Integer = 0 - Dim CveEstatusPersonal As Integer = 0 - ' Dim CveSucursal As Integer = GlobalDTSucursales(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSucursal").ToString.ToEntero - Dim CvePuesto As Integer = GlobalDTRHPuestos(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CvePuesto", $"Puesto = '{Puesto}'").ToString.ToEntero - Dim CveTurno As Integer = GlobalDTTurno().FiltraParametros($"CveEmpresa = {UsuarioActual.CveEmpresa}").FiltroPrimeroValor("CveTurno", $"Turno = '{Turno}'").ToString.ToEntero - Dim CveDepartamento As Integer = GlobalDTDepartamentos().FiltraParametros($"CveEmpresa = {UsuarioActual.CveEmpresa}").FiltroPrimeroValor("CveDepartamento", $"Departamento = '{Departamento}'").ToString.ToEntero - Dim CveEstado As Integer = GlobalDTGralEstados(1).FiltroPrimeroValor("CveEstado", $"Clave = '{Estado}'").ToString.ToEntero - Dim CveTipoContrato As Integer = GlobalDTTiposContrato().FiltroPrimeroValor("CveTipoContrato", $"TipoContrato = '{TipoContrato}'").ToString.ToEntero - Dim CveTipoPeriodo As Integer = GlobalDTTipoPeriodo().FiltroPrimeroValor("CveTipoPeriodo", $"TipoPeriodo = '{TipoPeriodo}'").ToString.ToEntero - Dim CveEscolaridad As Integer = GlobalDTEscolaridad().FiltroPrimeroValor("CveEscolaridad", $"Escolaridad = '{Escolaridad}'").ToString.ToEntero - Dim CveMetodoPago As Integer = GlobalDTMetodosPago().FiltroPrimeroValor("CveMetodoPago", $"ClaveSAT = '{MetodoPago}'").ToString.ToEntero - Dim CveUsuarioNomina As Integer = GlobalDTUsuarios(-1, -1).FiltroPrimeroValor("CveUsuario", $"Nombre = '{Nominista}'").ToString.ToEntero - - Dim FechaIn As Date - Dim FechaFn As Date - Dim FechaNac As Date - FechaIn = If(IsDate(FechaIngreso), FechaIngreso.ToDate, MinFecha) - FechaFn = If(IsDate(FechaBaja), FechaBaja.ToDate, MinFecha) - FechaNac = If(IsDate(FechaNacimiento), FechaNacimiento.ToDate, MinFecha) - - 'VALIDACIONES - ' If Not CveSucursal > 0 Then Alert("La Empresa no cuenta con Sucursal, es necesario dar una Sucursal de alta.", TipoMensaje.MsgAdvertencia) : ErrorRH = True : Exit For - If Not CveDepartamento > 0 Then Alert($"No se encontró el Departamento: {Departamento} Renglón: {NumRow}: ", TipoMensaje.MsgAdvertencia) : ErrorRH = True : Exit For - If Not CvePuesto > 0 Then Alert($"No se encontró el Puesto: {Puesto} Renglón: {NumRow}: ", TipoMensaje.MsgAdvertencia) : ErrorRH = True : Exit For - If Not CveTurno > 0 Then Alert($"No se encontró el turno: {Turno} Renglón: {NumRow}: ", TipoMensaje.MsgAdvertencia) : ErrorRH = True : Exit For - If Not CveEstado > 0 Then Alert($"No se encontró el Estado: {Estado} Renglón: {NumRow}: ", TipoMensaje.MsgAdvertencia) : ErrorRH = True : Exit For - If Not CveTipoContrato > 0 Then Alert($"No se encontró el Tipo Contrato: {TipoContrato} Renglón: {NumRow}: ", TipoMensaje.MsgAdvertencia) : ErrorRH = True : Exit For - If Not CveTipoPeriodo > 0 Then Alert($"No se encontró el Tipo Periodo: {TipoPeriodo} Renglón: {NumRow}: ", TipoMensaje.MsgAdvertencia) : ErrorRH = True : Exit For - If Not CveEscolaridad > 0 Then Alert($"No se encontró el Escolaridad: {Escolaridad} Renglón: {NumRow}: ", TipoMensaje.MsgAdvertencia) : ErrorRH = True : Exit For - If Not CveMetodoPago > 0 Then Alert($"No se encontró el Método de Pago: {MetodoPago} Renglón: {NumRow}: ", TipoMensaje.MsgAdvertencia) : ErrorRH = True : Exit For - If Not CveUsuarioNomina > 0 Then CveUsuarioNomina = -1 'Alert("No se encontró el Nominista: " + Nominista + " Renglón: " + NumRow, TipoMensaje.MsgAdvertencia) : ErrorRH = True : Exit For - - - Dim NombreCompleto As String = $"{Nombre} {ApellidoPaterno} {ApellidoMaterno}" - Dim CvePersonal As Integer = GlobalDTRHPersonal(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CvePersonal", $"NombreCompletoNombre = '{NombreCompleto}'").ToString.ToEntero - - - 'PENDIENTES POR MEJORAR - Dim CveSATRegimenContratacion As Integer = 1 - Dim CveSATRiesgoPuesto As Integer = 1 - Dim CveJornada As Integer = 1 - - If Sexo = "Masculino" Then CveGenero = 1 Else CveGenero = 2 - If AltaIMSS = "SI" Then AltaIMSS = "True" Else AltaIMSS = "False" - - Select Case EstadoCivil - Case "SOLTERO" - CveEstadoCivil = 1 - Case "CASADO" - CveEstadoCivil = 2 - Case "DIVORCIADO" - CveEstadoCivil = 3 - Case "UNIÓN LIBRE" - CveEstadoCivil = 4 - Case "VIUDO" - CveEstadoCivil = 5 - Case Else - CveEstadoCivil = 1 - End Select - - Select Case EstatusPersonal - Case "ACTIVO" - CveEstatusPersonal = 1 - Case "INACTIVO" - CveEstatusPersonal = 2 - Case "REINGRESO" - CveEstatusPersonal = 5 - Case Else - CveEstatusPersonal = 1 - End Select - - If CvePersonal > 0 Then - Contador = Contador + 1 - Else - If Not ObjRH.AddPersonal(Codigo, ApellidoPaterno, ApellidoMaterno, Nombre, CorreoElectronico, FechaIn, CveTipoPeriodo, NumeroSS, CBool(AltaIMSS), SalarioDiario.ToDouble, SalarioDiario.ToDouble, SDI.ToDouble, SalarioDiario.ToDouble, - -1, -1, -1, CveMetodoPago, FechaIn, FechaFn.ToString, CveTipoContrato, Direccion, CveTurno, CvePuesto, CveDepartamento, -1, CveEscolaridad, CveEstadoCivil, CveGenero, -1, FechaBaja, CveEstatusPersonal, FechaNac, - LugarNacimiento, Direccion, "", "", "", CodigoPostal, Ciudad, CveEstado, Telefono, Celular, RFC, CURP, NombrePadre, NombreMadre, -1, CveSATRiesgoPuesto, CveSATRegimenContratacion, -1, -1, "", -1, - ClabeInterbancaria, "", CveJornada, CveJornada, "", -1, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveUsuarioNomina) Then - ErrorRH = True - Exit For - End If - End If - - NumRow = NumRow + 1 - Next - - - If Not ErrorRH Then - If Contador > 0 Then - Alert(String.Format("Se agregaron: {0} Empleados correctamente.
Se Omitieron: {1} Empleados ya que ya se encontraban registrados.", NumRows - Contador, Contador), TipoMensaje.MsgInformacion) - ObjRH.Commit() - TxtExcel.Text = "" - UpDatos.Update() - Else - Alert(String.Format("Se agregaron: {0} Empleados correctamente.", NumRows), TipoMensaje.MsgInformacion) - ObjRH.Commit() - TxtExcel.Text = "" - UpDatos.Update() - End If - Else - ObjRH.RollBack() - End If - - Catch ex As Exception - GuardaLog($"Ocurrio un error al insertar el personal.: {ex}") - ObjRH.RollBack() - - Finally - ObjRH.Dispose() - End Try - - - - ' A F - A C T I V O F I J O - ElseIf RblFormato.SelectedValue = "7" Then - Dim ObjAF As New ClsAF - Try - ObjAF.IniciaTransacSQL() - Dim ErrorAF As Boolean = False - Dim Contador As Integer = 0 - Dim NumRow As Integer = 0 - - For Each Row As DataRow In dt.Rows - Dim Codigo As String = Row("Código").ToString - Dim Descripcion As String = Row("Descripción").ToString - Dim TipoAF As String = Row("Tipo").ToString - Dim SubTipo As String = Row("SubTipo").ToString - Dim Valor As String = Row("Valor").ToString - Dim FechaAF As String = Row("Fecha").ToString - Dim NumeroSerie As String = Row("No. Serie").ToString - Dim Año As String = Row("Año").ToString - Dim CuentaContable As String = Row("Cuenta Contable").ToString - Dim Estado As String = Row("Estado").ToString - Dim Responsable As String = Row("Responsable").ToString - Dim Proyecto As String = Row("Proyecto").ToString - Dim SubProyecto As String = Row("SubProyecto").ToString - Dim Cliente As String = Row("Cliente").ToString - Dim Observaciones As String = Row("Observaciones").ToString - Dim CtaDepreciacion As String = Row("Cuenta Depreciación").ToString - Dim PorcentajeDepreciacion As String = Row("% Depreciación").ToString - - 'CLAVES - Dim CveAF As Integer = GlobalDTActivoFijos(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveActivoFijo", $"Código = '{Codigo}'").ToString.ToEntero - Dim CveSubTipoAF As Integer = GlobalDTSubTipoActivoFijo(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubTipoActivoFijo", $"TipoActivoFijo = '{TipoAF}'").ToString.ToEntero - Dim CveSubProyecto As Integer = GlobalDTSubProyectos(-1, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $"SubProyecto = '{SubProyecto}'").ToString.ToEntero - Dim CveEstadoFijo As Integer = GlobalDTEstadoActivoFijo().FiltroPrimeroValor("CveEstadoFijo", $"Estado = '{Estado}'").ToString.ToEntero - Dim CveCliente As Integer = GlobalDTCliente(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveCliente", $"Nombre = '{Cliente}'").ToString.ToEntero - - - 'VALIDACIONES - If Not CveSubTipoAF > 0 Then Alert($"No se encontró el SubTipo: {TipoAF} Renglón: {NumRow}: ", TipoMensaje.MsgAdvertencia) : ErrorAF = True : Exit For - If Not CveSubProyecto > 0 Then Alert($"No se encontró el SubProyecto: {SubProyecto} Renglón: {NumRow}: ", TipoMensaje.MsgAdvertencia) : ErrorAF = True : Exit For - If Not CveEstadoFijo > 0 Then Alert($"No se encontró el Estado: {CveEstadoFijo} Renglón: {NumRow}: ", TipoMensaje.MsgAdvertencia) : ErrorAF = True : Exit For - If Not CveCliente > 0 Then Alert($"No se encontró el Cliente: {Cliente} Renglón: {NumRow}: ", TipoMensaje.MsgAdvertencia) : ErrorAF = True : Exit For - - - 'If CveAF > 0 Then - ' Contador = Contador + 1 - 'Else - ' If Not ObjAF.AddActivosFijos(Codigo, Descripcion, Valor, FechaAF, CveSubTipoAF, -1, NumeroSerie, Año, CveSubProyecto, CtaDepreciacion, CveEstadoFijo, - ' CtaDepreciacion, PorcentajeDepreciacion, Observaciones, CveCliente, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then - ' ErrorAF = True - ' Exit For - ' End If - 'End If - - NumRow = NumRow + 1 - Next - - - If Not ErrorAF Then - If Contador > 0 Then - Alert(String.Format("Se agregaron: {0} Activos Fijos correctamente.
Se Omitieron: {1} Activos Fijos ya que ya se encontraban registrados.", NumRows - Contador, Contador), TipoMensaje.MsgInformacion) - ObjAF.Commit() - TxtExcel.Text = "" - UpDatos.Update() - Else - Alert(String.Format("Se agregaron: {0} Activos Fijos correctamente.", NumRows), TipoMensaje.MsgInformacion) - ObjAF.Commit() - TxtExcel.Text = "" - UpDatos.Update() - End If - Else - ObjAF.RollBack() - End If - - Catch ex As Exception - GuardaLog($"Ocurrio un error al agregar Activo Fijo: {ex}") - ObjAF.RollBack() - - Finally - ObjAF.Dispose() - End Try - - ' C U E N T A S C O N T A B L E S - ElseIf RblFormato.SelectedValue = "8" Then - Dim ObjConta As New ClsContPAQi(UsuarioActual.Empresa) - ObjConta.IniciaTransacSQL() - Try - - - Dim TieneError As Boolean = False - Dim ContadorUpdate As Integer = 0 - Dim ContadorError As Integer = 0 - Dim NombreCuenta As String = "" - Dim CuentaPadre As String = "" - - For Each Row As DataRow In dt.Rows - NombreCuenta = Row("NombreCuenta").ToString - CuentaPadre = Row("CuentaPadre").ToString - Dim Cuenta As String = Row("Cuenta").ToString - Dim TipoCuenta As String = Row("TipoCuenta").ToString - Dim AgrupadorSAT As String = Row("AgrupadorSAT").ToString - Dim CveCuentaPadre As Integer = -1 - - If NombreCuenta <> "" Then - - If ObjConta.GetCuentas(-1, CuentaPadre.Replace("-", ""), -1) Then - If ObjConta.DtResultados.Rows.Count > 0 Then - CveCuentaPadre = ObjConta.DtResultados().FiltroPrimeroValor("Id").ToEntero - Else - TieneError = True - Exit For - End If - Else - TieneError = True - Exit For - End If - - Dim IdNew = ObjConta.AddCuenta(Cuenta.Replace("-", ""), NombreCuenta, TipoCuenta, 1, 0, 1, 0, "", 0, CveCuentaPadre, AgrupadorSAT.ToEntero) - If IdNew > 0 Then - ContadorUpdate = ContadorUpdate + 1 - Else - TieneError = True - ContadorError = ContadorError + 1 - Exit For - End If - End If - Next - - - If Not TieneError Then - ObjConta.Commit() - Else - Alert($"No pudimos agregar la cuenta: {NombreCuenta} - Cuenta Padre: {CuentaPadre}", TipoMensaje.MsgError) - ObjConta.RollBack() - End If - - Alert($"Se agregaron {ContadorUpdate} Cuentas Correctamente y se omitieron: {ContadorError} cuentas.") - - Catch ex As Exception - ObjConta.RollBack() - End Try - - ObjConta.Dispose() - - 'C U E N T A S C O N T A B L E S - C O N T A S I G - ElseIf RblFormato.SelectedValue = "9" Then - Dim ObjConta As New ClsContabilidad - ObjConta.IniciaTransacSQL() - Try - Dim TieneError As Boolean = False - Dim ContadorUpdate As Integer = 0 - Dim ContadorError As Integer = 0 - Dim NombreCuenta As String = "" - Dim CuentaPadre As String = "" - - Dim AgrupadoresSAT As DataTable = New DataTable - If ObjConta.GetAgrupadoresSAT(UsuarioActual.CveEmpresa) Then + End If + + 'PrePólizaDetalle + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, SubTotal, Folio.ToString, 4, String.Format("{0}-{1}", Serie, Folio), Fecha, -1, -1, CveVenta:=CveVenta, CveCliente:=CveCliente, CveClasificacion:=CveClasificacion, ImporteMX:=SubTotal, CveSubProyecto:=Sucursal.ToEntero) Then ErrorVentas = True : Exit For + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Total, Folio.ToString, ConceptoContable, String.Format("{0}-{1}", Serie, Folio), Fecha, -1, -1, CveVenta:=CveVenta, CveCliente:=CveCliente, ImporteMX:=Total) Then ErrorVentas = True : Exit For + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, IVA, Folio.ToString, 13, String.Format("{0}-{1}", Serie, Folio), Fecha, -1, -1, CveVenta:=CveVenta, CveCliente:=CveCliente, ImporteMX:=IVA) Then ErrorVentas = True : Exit For + 'If IEPS > 0 AndAlso Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, IEPS, Folio.ToString, 38, String.Format("{0}-{1}", Serie, Folio), Fecha, -1, -1, CveVenta:=CveVenta, CveCliente:=CveCliente, ImporteMX:=IEPS) Then ErrorVentas = True : Exit For + + + 'Saldo + If Saldo < Total Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Total - Saldo, Folio.ToString, ConceptoContablePago, Folio.ToString, Fecha, -1, -1, CveVenta:=CveVenta, CveCliente:=CveCliente, ImporteMX:=Total - Saldo, CveVentaAmortizacion:=CveVenta) Then ErrorVentas = True : Exit For + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Total - Saldo, Folio.ToString, 95, Folio.ToString, Fecha, -1, -1, CveVenta:=CveVenta, CveCliente:=CveCliente, ImporteMX:=Total - Saldo) Then ErrorVentas = True : Exit For + End If + + Else + 'ANTICIPOS + Dim CveIE As Integer = ObjIE.AddBancos_IE(1, 1, Fecha, Folio.ToString, "", Total, 1, + 1, "Anticipo Cliente", "", False, False, -1, CvePrePoliza, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) + + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Total, Folio.ToString, 30, String.Format("{0}-{1}", Serie, Folio), Fecha, -1, -1, CveIE:=CveIE, CveCliente:=CveCliente) Then ErrorVentas = True : Exit For + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Total, Folio.ToString, 66, String.Format("{0}-{1}", Serie, Folio), Fecha, -1, -1, CveIE:=CveIE, CveCliente:=CveCliente) Then ErrorVentas = True : Exit For + + End If + Encontrados = Encontrados + 1 + + Else + NoEncontrados = NoEncontrados + 1 + StrRFCNoencontrados.AppendFormat("{0}
", RFC) + ErrorVentas = True + Exit For + End If + + Next + If Not ErrorVentas Then + Alert(String.Format("Se agregaron: {0} Ventas correctamente. {1} no encontrados
{2} ", Encontrados, NoEncontrados, StrRFCNoencontrados), TipoMensaje.MsgInformacion) + ObjVentas.Commit() + TxtExcel.Text = "" + UpDatos.Update() + Else + Alert(String.Format("Error al registrar : {0} Ventas correctamente. {1} no encontrados
{2} ", Encontrados, NoEncontrados, StrRFCNoencontrados), TipoMensaje.MsgError) + ObjVentas.RollBack() + End If + ObjVentas.Dispose() + + + ' R H - P E R S O N A L + ElseIf RblFormato.SelectedValue = "6" Then + Dim ObjRH As New ClsRH + Try + ObjRH.IniciaTransacSQL() + Dim ErrorRH As Boolean = False + Dim Contador As Integer = 0 + Dim NumRow As Integer = 0 + + For Each Row As DataRow In dt.Rows + Dim Codigo As String = Row("Código").ToString + Dim ApellidoPaterno As String = Row("Apellido Paterno").ToString + Dim ApellidoMaterno As String = Row("Apellido Materno").ToString + Dim Nombre As String = Row("Nombre").ToString + Dim CorreoElectronico As String = Row("Correo Electronico").ToString + Dim FechaIngreso As String = Row("Fecha Ingreso").ToString + Dim FechaBaja As String = Row("Fecha Baja").ToString + Dim NumeroSS As String = Row("Numero SS").ToString + Dim AltaIMSS As String = Row("Alta IMSS").ToString + Dim SalarioDiario As String = Row("Salario Diario").ToString + Dim Direccion As String = Row("Dirección").ToString + Dim FechaNacimiento As String = Row("Fecha Nacimiento").ToString + Dim LugarNacimiento As String = Row("Lugar Nacimiento").ToString + Dim Sexo As String = Row("Sexo").ToString + Dim CodigoPostal As String = Row("Código Postal").ToString + Dim Ciudad As String = Row("Ciudad").ToString + Dim EstadoCivil As String = Row("Estado Civil").ToString.ToUpper + Dim Telefono As String = Row("Teléfono").ToString + Dim Celular As String = Row("Celular").ToString + Dim RFC As String = Row("RFC").ToString + Dim CURP As String = Row("CURP").ToString + Dim ClabeInterbancaria As String = Row("CLABE").ToString + Dim EstatusPersonal As String = Row("Estatus Personal").ToString.ToUpper + + 'Nuevas + Dim Estado As String = Row("Estado").ToString + Dim NombrePadre As String = Row("Nombre Padre").ToString + Dim NombreMadre As String = Row("Nombre Madre").ToString + Dim Puesto As String = Row("Puesto").ToString + Dim Turno As String = Row("Turno").ToString + Dim TipoContrato As String = Row("Tipo Contrato").ToString + Dim Departamento As String = Row("Departamento").ToString + Dim TipoPeriodo As String = Row("Tipo Periodo").ToString + Dim Escolaridad As String = Row("Escolaridad").ToString + Dim SDI As String = Row("SDI").ToString + Dim MetodoPago As String = Row("Metodo Pago").ToString + Dim Nominista As String = Row("Nominista").ToString + + 'CLAVES + Dim CveGenero As Integer = 0 + Dim CveEstadoCivil As Integer = 0 + Dim CveEstatusPersonal As Integer = 0 + ' Dim CveSucursal As Integer = GlobalDTSucursales(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSucursal").ToString.ToEntero + Dim CvePuesto As Integer = GlobalDTRHPuestos(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CvePuesto", $"Puesto = '{Puesto}'").ToString.ToEntero + Dim CveTurno As Integer = GlobalDTTurno().FiltraParametros($"CveEmpresa = {UsuarioActual.CveEmpresa}").FiltroPrimeroValor("CveTurno", $"Turno = '{Turno}'").ToString.ToEntero + Dim CveDepartamento As Integer = GlobalDTDepartamentos().FiltraParametros($"CveEmpresa = {UsuarioActual.CveEmpresa}").FiltroPrimeroValor("CveDepartamento", $"Departamento = '{Departamento}'").ToString.ToEntero + Dim CveEstado As Integer = GlobalDTGralEstados(1).FiltroPrimeroValor("CveEstado", $"Clave = '{Estado}'").ToString.ToEntero + Dim CveTipoContrato As Integer = GlobalDTTiposContrato().FiltroPrimeroValor("CveTipoContrato", $"TipoContrato = '{TipoContrato}'").ToString.ToEntero + Dim CveTipoPeriodo As Integer = GlobalDTTipoPeriodo().FiltroPrimeroValor("CveTipoPeriodo", $"TipoPeriodo = '{TipoPeriodo}'").ToString.ToEntero + Dim CveEscolaridad As Integer = GlobalDTEscolaridad().FiltroPrimeroValor("CveEscolaridad", $"Escolaridad = '{Escolaridad}'").ToString.ToEntero + Dim CveMetodoPago As Integer = GlobalDTMetodosPago().FiltroPrimeroValor("CveMetodoPago", $"ClaveSAT = '{MetodoPago}'").ToString.ToEntero + Dim CveUsuarioNomina As Integer = GlobalDTUsuarios(-1, -1).FiltroPrimeroValor("CveUsuario", $"Nombre = '{Nominista}'").ToString.ToEntero + + Dim FechaIn As Date + Dim FechaFn As Date + Dim FechaNac As Date + FechaIn = If(IsDate(FechaIngreso), FechaIngreso.ToDate, MinFecha) + FechaFn = If(IsDate(FechaBaja), FechaBaja.ToDate, MinFecha) + FechaNac = If(IsDate(FechaNacimiento), FechaNacimiento.ToDate, MinFecha) + + 'VALIDACIONES + ' If Not CveSucursal > 0 Then Alert("La Empresa no cuenta con Sucursal, es necesario dar una Sucursal de alta.", TipoMensaje.MsgAdvertencia) : ErrorRH = True : Exit For + If Not CveDepartamento > 0 Then Alert($"No se encontró el Departamento: {Departamento} Renglón: {NumRow}: ", TipoMensaje.MsgAdvertencia) : ErrorRH = True : Exit For + If Not CvePuesto > 0 Then Alert($"No se encontró el Puesto: {Puesto} Renglón: {NumRow}: ", TipoMensaje.MsgAdvertencia) : ErrorRH = True : Exit For + If Not CveTurno > 0 Then Alert($"No se encontró el turno: {Turno} Renglón: {NumRow}: ", TipoMensaje.MsgAdvertencia) : ErrorRH = True : Exit For + If Not CveEstado > 0 Then Alert($"No se encontró el Estado: {Estado} Renglón: {NumRow}: ", TipoMensaje.MsgAdvertencia) : ErrorRH = True : Exit For + If Not CveTipoContrato > 0 Then Alert($"No se encontró el Tipo Contrato: {TipoContrato} Renglón: {NumRow}: ", TipoMensaje.MsgAdvertencia) : ErrorRH = True : Exit For + If Not CveTipoPeriodo > 0 Then Alert($"No se encontró el Tipo Periodo: {TipoPeriodo} Renglón: {NumRow}: ", TipoMensaje.MsgAdvertencia) : ErrorRH = True : Exit For + If Not CveEscolaridad > 0 Then Alert($"No se encontró el Escolaridad: {Escolaridad} Renglón: {NumRow}: ", TipoMensaje.MsgAdvertencia) : ErrorRH = True : Exit For + If Not CveMetodoPago > 0 Then Alert($"No se encontró el Método de Pago: {MetodoPago} Renglón: {NumRow}: ", TipoMensaje.MsgAdvertencia) : ErrorRH = True : Exit For + If Not CveUsuarioNomina > 0 Then CveUsuarioNomina = -1 'Alert("No se encontró el Nominista: " + Nominista + " Renglón: " + NumRow, TipoMensaje.MsgAdvertencia) : ErrorRH = True : Exit For + + + Dim NombreCompleto As String = $"{Nombre} {ApellidoPaterno} {ApellidoMaterno}" + Dim CvePersonal As Integer = GlobalDTRHPersonal(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CvePersonal", $"NombreCompletoNombre = '{NombreCompleto}'").ToString.ToEntero + + + 'PENDIENTES POR MEJORAR + Dim CveSATRegimenContratacion As Integer = 1 + Dim CveSATRiesgoPuesto As Integer = 1 + Dim CveJornada As Integer = 1 + + If Sexo = "Masculino" Then CveGenero = 1 Else CveGenero = 2 + If AltaIMSS = "SI" Then AltaIMSS = "True" Else AltaIMSS = "False" + + Select Case EstadoCivil + Case "SOLTERO" + CveEstadoCivil = 1 + Case "CASADO" + CveEstadoCivil = 2 + Case "DIVORCIADO" + CveEstadoCivil = 3 + Case "UNIÓN LIBRE" + CveEstadoCivil = 4 + Case "VIUDO" + CveEstadoCivil = 5 + Case Else + CveEstadoCivil = 1 + End Select + + Select Case EstatusPersonal + Case "ACTIVO" + CveEstatusPersonal = 1 + Case "INACTIVO" + CveEstatusPersonal = 2 + Case "REINGRESO" + CveEstatusPersonal = 5 + Case Else + CveEstatusPersonal = 1 + End Select + + If CvePersonal > 0 Then + Contador = Contador + 1 + Else + If Not ObjRH.AddPersonal(Codigo, ApellidoPaterno, ApellidoMaterno, Nombre, CorreoElectronico, FechaIn, CveTipoPeriodo, NumeroSS, CBool(AltaIMSS), SalarioDiario.ToDouble, SalarioDiario.ToDouble, SDI.ToDouble, SalarioDiario.ToDouble, + -1, -1, -1, CveMetodoPago, FechaIn, FechaFn.ToString, CveTipoContrato, Direccion, CveTurno, CvePuesto, CveDepartamento, -1, CveEscolaridad, CveEstadoCivil, CveGenero, -1, FechaBaja, CveEstatusPersonal, FechaNac, + LugarNacimiento, Direccion, "", "", "", CodigoPostal, Ciudad, CveEstado, Telefono, Celular, RFC, CURP, NombrePadre, NombreMadre, -1, CveSATRiesgoPuesto, CveSATRegimenContratacion, -1, -1, "", -1, + ClabeInterbancaria, "", CveJornada, CveJornada, "", -1, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveUsuarioNomina) Then + ErrorRH = True + Exit For + End If + End If + + NumRow = NumRow + 1 + Next + + + If Not ErrorRH Then + If Contador > 0 Then + Alert(String.Format("Se agregaron: {0} Empleados correctamente.
Se Omitieron: {1} Empleados ya que ya se encontraban registrados.", NumRows - Contador, Contador), TipoMensaje.MsgInformacion) + ObjRH.Commit() + TxtExcel.Text = "" + UpDatos.Update() + Else + Alert(String.Format("Se agregaron: {0} Empleados correctamente.", NumRows), TipoMensaje.MsgInformacion) + ObjRH.Commit() + TxtExcel.Text = "" + UpDatos.Update() + End If + Else + ObjRH.RollBack() + End If + + Catch ex As Exception + GuardaLog($"Ocurrio un error al insertar el personal.: {ex}") + ObjRH.RollBack() + + Finally + ObjRH.Dispose() + End Try + + + + ' A F - A C T I V O F I J O + ElseIf RblFormato.SelectedValue = "7" Then + Dim ObjAF As New ClsAF + Try + ObjAF.IniciaTransacSQL() + Dim ErrorAF As Boolean = False + Dim Contador As Integer = 0 + Dim NumRow As Integer = 0 + + For Each Row As DataRow In dt.Rows + Dim Codigo As String = Row("Código").ToString + Dim Descripcion As String = Row("Descripción").ToString + Dim TipoAF As String = Row("Tipo").ToString + Dim SubTipo As String = Row("SubTipo").ToString + Dim Valor As String = Row("Valor").ToString + Dim FechaAF As String = Row("Fecha").ToString + Dim NumeroSerie As String = Row("No. Serie").ToString + Dim Año As String = Row("Año").ToString + Dim CuentaContable As String = Row("Cuenta Contable").ToString + Dim Estado As String = Row("Estado").ToString + Dim Responsable As String = Row("Responsable").ToString + Dim Proyecto As String = Row("Proyecto").ToString + Dim SubProyecto As String = Row("SubProyecto").ToString + Dim Cliente As String = Row("Cliente").ToString + Dim Observaciones As String = Row("Observaciones").ToString + Dim CtaDepreciacion As String = Row("Cuenta Depreciación").ToString + Dim PorcentajeDepreciacion As String = Row("% Depreciación").ToString + + 'CLAVES + Dim CveAF As Integer = GlobalDTActivoFijos(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveActivoFijo", $"Código = '{Codigo}'").ToString.ToEntero + Dim CveSubTipoAF As Integer = GlobalDTSubTipoActivoFijo(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubTipoActivoFijo", $"TipoActivoFijo = '{TipoAF}'").ToString.ToEntero + Dim CveSubProyecto As Integer = GlobalDTSubProyectos(-1, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $"SubProyecto = '{SubProyecto}'").ToString.ToEntero + Dim CveEstadoFijo As Integer = GlobalDTEstadoActivoFijo().FiltroPrimeroValor("CveEstadoFijo", $"Estado = '{Estado}'").ToString.ToEntero + Dim CveCliente As Integer = GlobalDTCliente(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveCliente", $"Nombre = '{Cliente}'").ToString.ToEntero + + + 'VALIDACIONES + If Not CveSubTipoAF > 0 Then Alert($"No se encontró el SubTipo: {TipoAF} Renglón: {NumRow}: ", TipoMensaje.MsgAdvertencia) : ErrorAF = True : Exit For + If Not CveSubProyecto > 0 Then Alert($"No se encontró el SubProyecto: {SubProyecto} Renglón: {NumRow}: ", TipoMensaje.MsgAdvertencia) : ErrorAF = True : Exit For + If Not CveEstadoFijo > 0 Then Alert($"No se encontró el Estado: {CveEstadoFijo} Renglón: {NumRow}: ", TipoMensaje.MsgAdvertencia) : ErrorAF = True : Exit For + If Not CveCliente > 0 Then Alert($"No se encontró el Cliente: {Cliente} Renglón: {NumRow}: ", TipoMensaje.MsgAdvertencia) : ErrorAF = True : Exit For + + + 'If CveAF > 0 Then + ' Contador = Contador + 1 + 'Else + ' If Not ObjAF.AddActivosFijos(Codigo, Descripcion, Valor, FechaAF, CveSubTipoAF, -1, NumeroSerie, Año, CveSubProyecto, CtaDepreciacion, CveEstadoFijo, + ' CtaDepreciacion, PorcentajeDepreciacion, Observaciones, CveCliente, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then + ' ErrorAF = True + ' Exit For + ' End If + 'End If + + NumRow = NumRow + 1 + Next + + + If Not ErrorAF Then + If Contador > 0 Then + Alert(String.Format("Se agregaron: {0} Activos Fijos correctamente.
Se Omitieron: {1} Activos Fijos ya que ya se encontraban registrados.", NumRows - Contador, Contador), TipoMensaje.MsgInformacion) + ObjAF.Commit() + TxtExcel.Text = "" + UpDatos.Update() + Else + Alert(String.Format("Se agregaron: {0} Activos Fijos correctamente.", NumRows), TipoMensaje.MsgInformacion) + ObjAF.Commit() + TxtExcel.Text = "" + UpDatos.Update() + End If + Else + ObjAF.RollBack() + End If + + Catch ex As Exception + GuardaLog($"Ocurrio un error al agregar Activo Fijo: {ex}") + ObjAF.RollBack() + + Finally + ObjAF.Dispose() + End Try + + ' C U E N T A S C O N T A B L E S + ElseIf RblFormato.SelectedValue = "8" Then + Dim ObjConta As New ClsContPAQi(UsuarioActual.Empresa) + ObjConta.IniciaTransacSQL() + Try + + + Dim TieneError As Boolean = False + Dim ContadorUpdate As Integer = 0 + Dim ContadorError As Integer = 0 + Dim NombreCuenta As String = "" + Dim CuentaPadre As String = "" + + For Each Row As DataRow In dt.Rows + NombreCuenta = Row("NombreCuenta").ToString + CuentaPadre = Row("CuentaPadre").ToString + Dim Cuenta As String = Row("Cuenta").ToString + Dim TipoCuenta As String = Row("TipoCuenta").ToString + Dim AgrupadorSAT As String = Row("AgrupadorSAT").ToString + Dim CveCuentaPadre As Integer = -1 + + If NombreCuenta <> "" Then + + If ObjConta.GetCuentas(-1, CuentaPadre.Replace("-", ""), -1) Then + If ObjConta.DtResultados.Rows.Count > 0 Then + CveCuentaPadre = ObjConta.DtResultados().FiltroPrimeroValor("Id").ToEntero + Else + TieneError = True + Exit For + End If + Else + TieneError = True + Exit For + End If + + Dim IdNew = ObjConta.AddCuenta(Cuenta.Replace("-", ""), NombreCuenta, TipoCuenta, 1, 0, 1, 0, "", 0, CveCuentaPadre, AgrupadorSAT.ToEntero) + If IdNew > 0 Then + ContadorUpdate = ContadorUpdate + 1 + Else + TieneError = True + ContadorError = ContadorError + 1 + Exit For + End If + End If + Next + + + If Not TieneError Then + ObjConta.Commit() + Else + Alert($"No pudimos agregar la cuenta: {NombreCuenta} - Cuenta Padre: {CuentaPadre}", TipoMensaje.MsgError) + ObjConta.RollBack() + End If + + Alert($"Se agregaron {ContadorUpdate} Cuentas Correctamente y se omitieron: {ContadorError} cuentas.") + + Catch ex As Exception + ObjConta.RollBack() + End Try + + ObjConta.Dispose() + + 'C U E N T A S C O N T A B L E S - C O N T A S I G + ElseIf RblFormato.SelectedValue = "9" Then + Dim ObjConta As New ClsContabilidad + ObjConta.IniciaTransacSQL() + Try + Dim TieneError As Boolean = False + Dim ContadorUpdate As Integer = 0 + Dim ContadorError As Integer = 0 + Dim NombreCuenta As String = "" + Dim CuentaPadre As String = "" + + Dim AgrupadoresSAT As DataTable = New DataTable + If ObjConta.GetAgrupadoresSAT() Then AgrupadoresSAT = ObjConta.DtResultados - End If - + End If + If AgrupadoresSAT.Rows.Count > 0 Then @@ -1852,262 +1852,262 @@ Partial Class General_SaldosIniciales ContadorError = ContadorError + 1 Exit For End If - Next - Else - Alert("No se tienen asociados Agrupadores para esta empresa") - TieneError = True - End If - If Not TieneError Then - ObjConta.Commit() - Else - Alert($"No pudimos agregar la cuenta en ContaSIG: {NombreCuenta} - Cuenta Padre: {CuentaPadre}", TipoMensaje.MsgError) - ObjConta.RollBack() - End If - - Alert($"Se agregaron {ContadorUpdate} Cuentas Correctamente y se omitieron: {ContadorError} cuentas.") - - Catch ex As Exception - ObjConta.RollBack() - End Try - - ObjConta.Dispose() - - ElseIf RblFormato.SelectedValue = "10" Then - - Dim ObjConta As New ClsContPAQi(UsuarioActual.Empresa) - ObjConta.IniciaTransacSQL() - Try - Dim TieneError As Boolean = False - Dim ContadorUpdate As Integer = 0 - Dim ContadorError As Integer = 0 - Dim NombreCuenta As String = "" - Dim IdPoliza As Integer = 0 - Dim Cuenta As String = "" - Dim Reporte As New StringBuilder - - IdPoliza = ObjConta.AddPoliza(1, "Saldos Iniciales", 0, 0, 100, Now.ToDate) - - - - For Each Row As DataRow In dt.Rows - NombreCuenta = Row("NombreCuenta").ToString - Cuenta = Row("Cuenta").ToString - Dim TipoCuenta As String = Row("TipoCuenta").ToString - Dim Importe As Double = Row("Importe").ToString.ToDouble - Dim IdCuenta As Integer = -1 - Dim CargoAbono As Boolean = True - Dim YaExiste As Boolean = False - - - If ObjConta.GetCuentas(-1, Cuenta.Replace("-", ""), 1) Then - If ObjConta.DtResultados.Rows.Count > 0 Then - IdCuenta = ObjConta.DtResultados().FiltroPrimeroValor("Id").ToEntero - TipoCuenta = ObjConta.DtResultados().FiltroPrimeroValor("Tipo") - Else - Reporte.AppendLine($"{Cuenta} - {NombreCuenta} - {Importe}
") - TieneError = True - YaExiste = True - End If - Else - TieneError = True - Exit For - End If - - - If TipoCuenta.Contiene("A", "C", "E") Then - CargoAbono = False - End If - - If YaExiste = False Then - If IdCuenta > 0 Then - If Not ObjConta.AddMovimiento(IdPoliza, IdCuenta, CargoAbono, Importe, "", "Saldos Iniciales", -1, Now, "") Then - TieneError = True - Exit For - End If - Else - IdCuenta = -2 - End If - End If - - - Next - - If Not TieneError Then - ObjConta.Commit() - Alert($"Se agregó la póliza {IdPoliza}") - - Else - Alert($"No encontraron las siguientes cuentas: {Reporte.ToString} ", TipoMensaje.MsgError) - ObjConta.RollBack() - End If - - - Catch ex As Exception - ObjConta.RollBack() - End Try - - ObjConta.Dispose() - ElseIf RblFormato.SelectedValue = "12" Then - Dim ObjMovimientos As New ClsInventarios - ObjMovimientos.IniciaTransacSQL() - - Dim ProductosServiciosRef As DataTable = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa) - Dim AlmacenRef As DataTable = GlobalDTAlmacen(UsuarioActual.CveEmpresa) - Dim contadorMovimientos As Integer = 0 - Dim listadoMovimientos As String = "" - Dim mensajeError As String = "" - Try - For Each almacenSinRepetir As DataRow In dt.FiltraParametros("Almacen <> ''", DistinctColumns:={"Almacen"}).Rows - Dim almacenActual As String = almacenSinRepetir("Almacen").ToString - 'Dim CveAlmacen As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveAlmacen", $"Almacen = '{almacenActual}'").ToEntero - Dim CveAlmacen As Integer = AlmacenRef.FiltroPrimeroValor("CveAlmacen", $"Almacen = '{almacenActual}'").ToEntero - Dim movimientoCabecera As Integer = ObjMovimientos.AddMovimiento(CveAlmacen, 1, 1, Date.Now, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1) - listadoMovimientos += $"movimiento con folio {ObjMovimientos.Folio}
" - If CveAlmacen > 0 Then - contadorMovimientos += 1 - For Each nuevaEntrada As DataRow In dt.FiltraParametros($"Almacen = '{almacenActual}'").Rows - Dim RowPS As DataRow = ProductosServiciosRef.FiltroPrimero($"Codigo = '{nuevaEntrada("CodigoPS")}' AND CveEmpresa = {UsuarioActual.CveEmpresa}") - If RowPS IsNot Nothing Then - Dim CvePS As Integer = RowPS("CvePS").ToString().ToEntero - Dim CveUM As Integer = RowPS("CveUnidadMedida").ToString().ToEntero - If CveUM > 0 Then - Dim Cantidad As Decimal = nuevaEntrada("Existencia").ToString.ToDecimal - Dim Valor As Decimal = nuevaEntrada("Valor").ToString.ToDecimal - - If Not ObjMovimientos.AddMovimientoDetalle(movimientoCabecera, Cantidad, CveUM, CvePS, (Valor / Cantidad), -1, -1) Then - mensajeError = "No se logró generar el detalle del movimiento" - Throw New Exception() - End If - Else - mensajeError = $"La unidad de medida no se reconoce para el producto servicio:{nuevaEntrada("CodigoPS")}" - Throw New Exception() - End If - Else - mensajeError = $"No se encontró el producto o servicio con código ""{nuevaEntrada("CodigoPS")}""" - Throw New Exception() - End If - Next - Else - mensajeError = $"No se encontró el almacén con nombre ""{almacenActual}""" - Throw New Exception() - Exit For - End If - - Next - Catch ex As Exception - If mensajeError = "" Then - mensajeError = "Error técnico, informar a soporte" - End If - ObjMovimientos.RollBack() - End Try - - If mensajeError = "" Then - ObjMovimientos.Commit() - Alert($"Se cargaron correctamente {contadorMovimientos} movimientos

{listadoMovimientos}") - Else - Alert(mensajeError, TipoMensaje.MsgError) - ObjMovimientos.RollBack() - End If - - ObjMovimientos.Dispose() - ProductosServiciosRef.Dispose() - AlmacenRef.Dispose() - End If - End If - - - End Sub - + Next + Else + Alert("No se tienen asociados Agrupadores para esta empresa") + TieneError = True + End If + If Not TieneError Then + ObjConta.Commit() + Else + Alert($"No pudimos agregar la cuenta en ContaSIG: {NombreCuenta} - Cuenta Padre: {CuentaPadre}", TipoMensaje.MsgError) + ObjConta.RollBack() + End If + + Alert($"Se agregaron {ContadorUpdate} Cuentas Correctamente y se omitieron: {ContadorError} cuentas.") + + Catch ex As Exception + ObjConta.RollBack() + End Try + + ObjConta.Dispose() + + ElseIf RblFormato.SelectedValue = "10" Then + + Dim ObjConta As New ClsContPAQi(UsuarioActual.Empresa) + ObjConta.IniciaTransacSQL() + Try + Dim TieneError As Boolean = False + Dim ContadorUpdate As Integer = 0 + Dim ContadorError As Integer = 0 + Dim NombreCuenta As String = "" + Dim IdPoliza As Integer = 0 + Dim Cuenta As String = "" + Dim Reporte As New StringBuilder + + IdPoliza = ObjConta.AddPoliza(1, "Saldos Iniciales", 0, 0, 100, Now.ToDate) + + + + For Each Row As DataRow In dt.Rows + NombreCuenta = Row("NombreCuenta").ToString + Cuenta = Row("Cuenta").ToString + Dim TipoCuenta As String = Row("TipoCuenta").ToString + Dim Importe As Double = Row("Importe").ToString.ToDouble + Dim IdCuenta As Integer = -1 + Dim CargoAbono As Boolean = True + Dim YaExiste As Boolean = False + + + If ObjConta.GetCuentas(-1, Cuenta.Replace("-", ""), 1) Then + If ObjConta.DtResultados.Rows.Count > 0 Then + IdCuenta = ObjConta.DtResultados().FiltroPrimeroValor("Id").ToEntero + TipoCuenta = ObjConta.DtResultados().FiltroPrimeroValor("Tipo") + Else + Reporte.AppendLine($"{Cuenta} - {NombreCuenta} - {Importe}
") + TieneError = True + YaExiste = True + End If + Else + TieneError = True + Exit For + End If + + + If TipoCuenta.Contiene("A", "C", "E") Then + CargoAbono = False + End If + + If YaExiste = False Then + If IdCuenta > 0 Then + If Not ObjConta.AddMovimiento(IdPoliza, IdCuenta, CargoAbono, Importe, "", "Saldos Iniciales", -1, Now, "") Then + TieneError = True + Exit For + End If + Else + IdCuenta = -2 + End If + End If + + + Next + + If Not TieneError Then + ObjConta.Commit() + Alert($"Se agregó la póliza {IdPoliza}") + + Else + Alert($"No encontraron las siguientes cuentas: {Reporte.ToString} ", TipoMensaje.MsgError) + ObjConta.RollBack() + End If + + + Catch ex As Exception + ObjConta.RollBack() + End Try + + ObjConta.Dispose() + ElseIf RblFormato.SelectedValue = "12" Then + Dim ObjMovimientos As New ClsInventarios + ObjMovimientos.IniciaTransacSQL() + + Dim ProductosServiciosRef As DataTable = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa) + Dim AlmacenRef As DataTable = GlobalDTAlmacen(UsuarioActual.CveEmpresa) + Dim contadorMovimientos As Integer = 0 + Dim listadoMovimientos As String = "" + Dim mensajeError As String = "" + Try + For Each almacenSinRepetir As DataRow In dt.FiltraParametros("Almacen <> ''", DistinctColumns:={"Almacen"}).Rows + Dim almacenActual As String = almacenSinRepetir("Almacen").ToString + 'Dim CveAlmacen As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveAlmacen", $"Almacen = '{almacenActual}'").ToEntero + Dim CveAlmacen As Integer = AlmacenRef.FiltroPrimeroValor("CveAlmacen", $"Almacen = '{almacenActual}'").ToEntero + Dim movimientoCabecera As Integer = ObjMovimientos.AddMovimiento(CveAlmacen, 1, 1, Date.Now, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1) + listadoMovimientos += $"movimiento con folio {ObjMovimientos.Folio}
" + If CveAlmacen > 0 Then + contadorMovimientos += 1 + For Each nuevaEntrada As DataRow In dt.FiltraParametros($"Almacen = '{almacenActual}'").Rows + Dim RowPS As DataRow = ProductosServiciosRef.FiltroPrimero($"Codigo = '{nuevaEntrada("CodigoPS")}' AND CveEmpresa = {UsuarioActual.CveEmpresa}") + If RowPS IsNot Nothing Then + Dim CvePS As Integer = RowPS("CvePS").ToString().ToEntero + Dim CveUM As Integer = RowPS("CveUnidadMedida").ToString().ToEntero + If CveUM > 0 Then + Dim Cantidad As Decimal = nuevaEntrada("Existencia").ToString.ToDecimal + Dim Valor As Decimal = nuevaEntrada("Valor").ToString.ToDecimal + + If Not ObjMovimientos.AddMovimientoDetalle(movimientoCabecera, Cantidad, CveUM, CvePS, (Valor / Cantidad), -1, -1) Then + mensajeError = "No se logró generar el detalle del movimiento" + Throw New Exception() + End If + Else + mensajeError = $"La unidad de medida no se reconoce para el producto servicio:{nuevaEntrada("CodigoPS")}" + Throw New Exception() + End If + Else + mensajeError = $"No se encontró el producto o servicio con código ""{nuevaEntrada("CodigoPS")}""" + Throw New Exception() + End If + Next + Else + mensajeError = $"No se encontró el almacén con nombre ""{almacenActual}""" + Throw New Exception() + Exit For + End If + + Next + Catch ex As Exception + If mensajeError = "" Then + mensajeError = "Error técnico, informar a soporte" + End If + ObjMovimientos.RollBack() + End Try + + If mensajeError = "" Then + ObjMovimientos.Commit() + Alert($"Se cargaron correctamente {contadorMovimientos} movimientos

{listadoMovimientos}") + Else + Alert(mensajeError, TipoMensaje.MsgError) + ObjMovimientos.RollBack() + End If + + ObjMovimientos.Dispose() + ProductosServiciosRef.Dispose() + AlmacenRef.Dispose() + End If + End If + + + End Sub + Protected Sub BtnDescargar_Click(sender As Object, e As EventArgs) Handles BtnDescargar.Click Dim Directorio As String = "" - If RblFormato.SelectedValue = "1" Then - Directorio = AppDomain.CurrentDomain.BaseDirectory & "Empresas\Grales\SaldosIniciales\FormatoProveedor.xlsx" - ElseIf RblFormato.SelectedValue = "2" Then - Directorio = AppDomain.CurrentDomain.BaseDirectory & "Empresas\Grales\SaldosIniciales\FormatoClientes.xlsx" - ElseIf RblFormato.SelectedValue = "3" Then - Directorio = AppDomain.CurrentDomain.BaseDirectory & "Empresas\Grales\SaldosIniciales\FormatoProveedores-Facturas.xlsx" - ElseIf RblFormato.SelectedValue = "4" Then - Directorio = AppDomain.CurrentDomain.BaseDirectory & "Empresas\Grales\SaldosIniciales\FormatoClientes-Facturas.xlsx" - ElseIf RblFormato.SelectedValue = "5" Then - Directorio = AppDomain.CurrentDomain.BaseDirectory & "Empresas\Grales\SaldosIniciales\FormatoPS.xlsx" - ElseIf RblFormato.SelectedValue = "6" Then - Directorio = AppDomain.CurrentDomain.BaseDirectory & "Empresas\Grales\SaldosIniciales\FormatoRH-Personal.xlsx" - ElseIf RblFormato.SelectedValue = "7" Then - Directorio = AppDomain.CurrentDomain.BaseDirectory & "Empresas\Grales\SaldosIniciales\FormatoAF-ActivosFijos.xlsx" - ElseIf RblFormato.SelectedValue = "8" Then - Directorio = AppDomain.CurrentDomain.BaseDirectory & "Empresas\Grales\SaldosIniciales\FormatoContabilidad.xlsx" - ElseIf RblFormato.SelectedValue = "9" Then - Directorio = AppDomain.CurrentDomain.BaseDirectory & "Empresas\Grales\SaldosIniciales\FormatoContabilidad.xlsx" - ElseIf RblFormato.SelectedValue = "12" Then - Directorio = AppDomain.CurrentDomain.BaseDirectory & "Empresas\Grales\SaldosIniciales\FormatoAlmacen.xlsx" - End If - - Dim Archivo As New IO.FileInfo(Directorio) - If Archivo.Exists Then - Response.Clear() - Response.ClearHeaders() - Response.ClearContent() - Response.AddHeader("Content-Disposition", "attachment; filename=" + Archivo.Name) - Response.AddHeader("Content-Length", Archivo.Length.ToString()) - Response.ContentType = "text/plain" - Response.Flush() - Response.TransmitFile(Archivo.FullName) - Response.End() - End If - End Sub - - Private Function ReadExcelFile(ByVal flatFilePath As String, ByVal firstRowHasHeaders As Boolean) As DataTable - SpreadsheetInfo.SetLicense(ModExtensiones.SerialGemBoxSpreadsheet) - Dim excelFile As ExcelFile = ExcelFile.Load(flatFilePath) - - Dim unnamed As Integer = 0 - Dim cols As Integer - Dim columns As String() - Dim curRow As Integer = 0 - Dim curCol As Integer = 0 - Dim dataTable As DataTable = New DataTable() - Dim worksheet As ExcelWorksheet = excelFile.Worksheets(0) - - For cols = 0 To worksheet.Rows(0).AllocatedCells.Count - 1 - - If firstRowHasHeaders Then - - If worksheet.Rows(0).Cells(cols).Value IsNot Nothing Then - dataTable.Columns.Add(worksheet.Rows(0).Cells(cols).Value.ToString().Trim) - Else - dataTable.Columns.Add("Unnamed Column " & (System.Threading.Interlocked.Increment(unnamed))) - End If - - curRow = 1 - Else - dataTable.Columns.Add("Column " & (cols + 1)) - End If - - Next - + If RblFormato.SelectedValue = "1" Then + Directorio = AppDomain.CurrentDomain.BaseDirectory & "Empresas\Grales\SaldosIniciales\FormatoProveedor.xlsx" + ElseIf RblFormato.SelectedValue = "2" Then + Directorio = AppDomain.CurrentDomain.BaseDirectory & "Empresas\Grales\SaldosIniciales\FormatoClientes.xlsx" + ElseIf RblFormato.SelectedValue = "3" Then + Directorio = AppDomain.CurrentDomain.BaseDirectory & "Empresas\Grales\SaldosIniciales\FormatoProveedores-Facturas.xlsx" + ElseIf RblFormato.SelectedValue = "4" Then + Directorio = AppDomain.CurrentDomain.BaseDirectory & "Empresas\Grales\SaldosIniciales\FormatoClientes-Facturas.xlsx" + ElseIf RblFormato.SelectedValue = "5" Then + Directorio = AppDomain.CurrentDomain.BaseDirectory & "Empresas\Grales\SaldosIniciales\FormatoPS.xlsx" + ElseIf RblFormato.SelectedValue = "6" Then + Directorio = AppDomain.CurrentDomain.BaseDirectory & "Empresas\Grales\SaldosIniciales\FormatoRH-Personal.xlsx" + ElseIf RblFormato.SelectedValue = "7" Then + Directorio = AppDomain.CurrentDomain.BaseDirectory & "Empresas\Grales\SaldosIniciales\FormatoAF-ActivosFijos.xlsx" + ElseIf RblFormato.SelectedValue = "8" Then + Directorio = AppDomain.CurrentDomain.BaseDirectory & "Empresas\Grales\SaldosIniciales\FormatoContabilidad.xlsx" + ElseIf RblFormato.SelectedValue = "9" Then + Directorio = AppDomain.CurrentDomain.BaseDirectory & "Empresas\Grales\SaldosIniciales\FormatoContabilidad.xlsx" + ElseIf RblFormato.SelectedValue = "12" Then + Directorio = AppDomain.CurrentDomain.BaseDirectory & "Empresas\Grales\SaldosIniciales\FormatoAlmacen.xlsx" + End If + + Dim Archivo As New IO.FileInfo(Directorio) + If Archivo.Exists Then + Response.Clear() + Response.ClearHeaders() + Response.ClearContent() + Response.AddHeader("Content-Disposition", "attachment; filename=" + Archivo.Name) + Response.AddHeader("Content-Length", Archivo.Length.ToString()) + Response.ContentType = "text/plain" + Response.Flush() + Response.TransmitFile(Archivo.FullName) + Response.End() + End If + End Sub + + Private Function ReadExcelFile(ByVal flatFilePath As String, ByVal firstRowHasHeaders As Boolean) As DataTable + SpreadsheetInfo.SetLicense(ModExtensiones.SerialGemBoxSpreadsheet) + Dim excelFile As ExcelFile = ExcelFile.Load(flatFilePath) + + Dim unnamed As Integer = 0 + Dim cols As Integer + Dim columns As String() + Dim curRow As Integer = 0 + Dim curCol As Integer = 0 + Dim dataTable As DataTable = New DataTable() + Dim worksheet As ExcelWorksheet = excelFile.Worksheets(0) + + For cols = 0 To worksheet.Rows(0).AllocatedCells.Count - 1 + + If firstRowHasHeaders Then + + If worksheet.Rows(0).Cells(cols).Value IsNot Nothing Then + dataTable.Columns.Add(worksheet.Rows(0).Cells(cols).Value.ToString().Trim) + Else + dataTable.Columns.Add("Unnamed Column " & (System.Threading.Interlocked.Increment(unnamed))) + End If + + curRow = 1 + Else + dataTable.Columns.Add("Column " & (cols + 1)) + End If + + Next + While curRow < worksheet.Rows.Count - columns = New String(cols - 1) {} - - For curCol = 0 To cols - 1 - - If worksheet.Rows(curRow).Cells(curCol).Value Is Nothing Then - columns(curCol) = "" - Else - columns(curCol) = worksheet.Rows(curRow).Cells(curCol).Value.ToString() - End If - - Next - - dataTable.Rows.Add(columns) - curRow += 1 - - End While - - Return dataTable - - End Function - -End Class + columns = New String(cols - 1) {} + + For curCol = 0 To cols - 1 + + If worksheet.Rows(curRow).Cells(curCol).Value Is Nothing Then + columns(curCol) = "" + Else + columns(curCol) = worksheet.Rows(curRow).Cells(curCol).Value.ToString() + End If + + Next + + dataTable.Rows.Add(columns) + curRow += 1 + + End While + + Return dataTable + + End Function + +End Class From 27a5127c8e4fc423039a64da7fa83daecef25494 Mon Sep 17 00:00:00 2001 From: Antonio Gonzalez Date: Tue, 24 Mar 2020 08:58:41 -0700 Subject: [PATCH 15/18] =?UTF-8?q?acomodos=20de=20dise=C3=B1o?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Formatos/RepProductosServicios.rdlc | 116 +++--------------- 1 file changed, 18 insertions(+), 98 deletions(-) diff --git a/Empresas/Grales/Formatos/RepProductosServicios.rdlc b/Empresas/Grales/Formatos/RepProductosServicios.rdlc index f3e1f32c1..31adbff7e 100644 --- a/Empresas/Grales/Formatos/RepProductosServicios.rdlc +++ b/Empresas/Grales/Formatos/RepProductosServicios.rdlc @@ -65,7 +65,7 @@ - 0.6cm + 0.43067cm @@ -487,8 +487,9 @@ DataSet1 + 0.1905cm 0.06614cm - 1.2cm + 1.03067cm 18.9786cm - 0.47244in + 0.53077in - Textbox1 0.18521cm - 2.8349cm + 2.57968cm 0.6cm - 12.60299cm + 13.9655cm @@ -573,9 +576,9 @@ Textbox2 1.10271cm - 3.80842cm + 2.57968cm 0.52945cm - 9.98771cm + 13.9655cm 1 - - true - true - - - - - Fecha Inicio: - - - - - - - - - =IIF(Parameters!FechaInicio.Value = "-1","",Parameters!FechaInicio.Value) - - - - - - - - - - - - - - - Fecha Fin: - - - - - - - - - =IIF(Parameters!FechaFin.Value = "-1","",Parameters!FechaFin.Value) - - - - Textbox13 - 0.0259cm - 15.579cm - 2.18834cm - 3.53188cm - 2 - - - 2pt - 2pt - 2pt - 2pt - - External =Parameters!LogoPath.Value @@ -679,7 +597,7 @@ 0.06614cm 2.22362cm 2.33715cm - 3 + 2 @@ -695,7 +613,9 @@ =Parameters!Filtros.Value HTML - From 07f2c1333cb46e808e47e4d851e60beae109d0d3 Mon Sep 17 00:00:00 2001 From: Antonio Gonzalez Date: Tue, 24 Mar 2020 09:16:53 -0700 Subject: [PATCH 16/18] =?UTF-8?q?acomodo=20de=20dise=C3=B1o?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Formatos/RepProductosServicios.rdlc | 72 +++++++++---------- 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/Empresas/Grales/Formatos/RepProductosServicios.rdlc b/Empresas/Grales/Formatos/RepProductosServicios.rdlc index 31adbff7e..a54826d39 100644 --- a/Empresas/Grales/Formatos/RepProductosServicios.rdlc +++ b/Empresas/Grales/Formatos/RepProductosServicios.rdlc @@ -487,7 +487,7 @@ DataSet1 - 0.1905cm + 0.8255cm 0.06614cm 1.03067cm 18.9786cm @@ -497,14 +497,47 @@ + + true + true + + + + + =Parameters!Filtros.Value + HTML + + + + + + 2pt + 2pt + 2pt + 2pt + + - 0.53077in + 0.78077in - - true - true - - - - - =Parameters!Filtros.Value - HTML - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - Textbox3 - 0.90692in - 5.662in - 0.5cm - 2.24597in - - - #4f81bd - 2pt - 2pt - 2pt - 2pt - - - - true - - - - - Fecha y hora de emisión - - - - - - - - - - - - - - - - Textbox3 - 0.46414in - 5.662in - 0.5cm - 2.24597in - 1 - - - #4f81bd - 2pt - 2pt - 2pt - 2pt - - - - true - - - - - =IIF(Parameters!Serie.Value.ToString="",Parameters!Folio.Value,Parameters!Serie.Value & "-" &Parameters!Folio.Value) - - - - - - - Textbox3 - 0.22455in - 5.662in - 0.60856cm - 2.24597in - 2 - - - 2pt - 2pt - 2pt - 2pt - - - - true - - - - - Folio - - - - - - - Textbox3 - 0.0412cm - 5.662in - 0.5cm - 2.24597in - 3 - - - #4f81bd - 2pt - 2pt - 2pt - 2pt - - - - true - - - - - VSH VIGILANCIA Y PROTECCION SA DE CV - - - - - - - - - R.F.C. VVP091222RF5|Reg. Fed. DGSP/122-10/1558|Reg. Est. - - - - =IIF(UCase(Parameters!Sucursal.Value.ToString) ="TIJUANA" or UCase(Parameters!Sucursal.Value.ToString) = "MEXICALI" , "SSP-01PM20120309140", "LSP-R-2010-M-271" ) - - - - - - - - - |www.vsh-seguridad.com|ventas@vsh-seguridad.com| - - - - 0cm - 0cm - - - - Textbox4 - 1.93416in - 0.66099in - 3.62386in - 4 - - - 2pt - 2pt - 2pt - 2pt - - - - Embedded - Logo - FitProportional - 0.30578cm - 0.03093cm - 2.88998cm - 4.56434cm - 5 - - - - - - true - - - - - =Parameters!Fecha.Value - - - - - - - Textbox3 - 0.66099in - 5.662in - 0.25114in - 2.24597in - 6 - - - 2pt - 2pt - 2pt - 2pt - - - - true - - - - - =Parameters!Tipo.Value & Parameters!Ref.Value - - - - - - - Textbox3 - 1.10364in - 5.662in - 0.25635in - 2.24597in - 7 - - - 2pt - 2pt - 2pt - 2pt - - - - true - - - - - Domicilio Fiscal - - - - - - - - - Calle Benito Juarez #32, Local 3, Col.: Hermosillo Centro C.P 83000 Hermosillo, Sonora, México Tel.:(662)210-64-00 - - - - - - - Textbox10 - 0.51102in - 1.93416in - 0.65513in - 1.79619in - 8 - - - 2pt - 2pt - 2pt - 2pt - - - - true - - - - - Lugar de Expedición - - - - - - - - - =Parameters!DomicilioSucursal.Value - - - - - - - Textbox10 - 0.51102in - 3.77202in - 0.65513in - 1.786in - 9 - - - Top - - - - true - true - - - - - Nombre - - - - - - - - - - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - - - - - =Parameters!ClienteNombre.Value - - - - - - - - - - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Dirección - - - - - - - - - - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - - - - - =Parameters!ClienteDireccion.Value - - - - - - - - - - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Ciudad - - - - - - - #4f81bd - - 1.25pt - - 2pt - 2pt - 2pt - 2pt - - - - true - - - - - =Parameters!ClienteLugar.Value - - - - - - - - - - - - - - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - true - true - - - - - P A G A R E con Folio - - - - =Parameters!Serie.Value - - - - - - - - - =Parameters!Folio.Value - - - - Por éste pagare prometo (emos) pagar incondicionalmente a la orden de VSH Vigilancia y Proteccion, S.A de C.V, a su vencimiento el - - - - =Parameters!Vencimiento.Value - - - - , en Hermosillo, Sonora o en el domicilio señalado a elección del acreedor o tenedor la cantidad de $ - - - - =Parameters!Total.Value - - - - SON: ( - - - - =Microsoft.VisualBasic.Strings.UCase(Parameters!ImporteLetra.Value) - - - - ). Valor recibido a mi (nuestra) entera satisfacción. la falta de pago de éste documento a su vencimiento dará derecho a VSH Vigilancia y Proteccion, S.A de C.V o tenedor, desde el día siguiente a cobrar el 10% mensual de interes moratorios hasta su total liquidación y los gastos judiciales que se ocasionen. Lugar y Fecha de Suscripción: Hermosillo, Sonora a - - - - =CDATE(Parameters!Fecha.Value).ToString("dd/MM/yyyy") - - - - - - - - - - - - - - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Nombre: - - - - =Parameters!ClienteNombre.Value - - - - - - - =Parameters!ClienteDireccion.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Acepto de conformidad - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - - - 1.25pt - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Area de Sello y Fecha Recepción - - - - - - - Textbox69 - 1.1706in - 2.94478in - 0.25in - 1.971in - 5 - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Éste documento es una representación impresa de un CFDi - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - 20.98246cm - 0.01861cm - 7.22972cm - 20.05706cm - 16 - - = (Parameters!AplicaPagare.Value="0" ORelse Parameters!AplicaPagare.Value="") - - - - - - - - - - 1.50708cm - - - 1.81634cm - - - 1.63629cm - - - 11.11681cm - - - 1.8977cm - - - 2.0429cm - - - - - 0.52063cm - - - - - true - - - - - Cantidad - - - - - - - Textbox34 - - - #4f81bd - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - UM - - - - - - - Textbox14 - - - #4f81bd - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Codigo - - - - - - - Textbox15 - - - #4f81bd - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - - - - - Descripción - - - - - - - Textbox79 - - - #4f81bd - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - - - - - P. Unitario - - - - - - - Textbox84 - - - #4f81bd - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - - - - - Importe - - - - - - - - - - - - - - - #4f81bd - 2pt - 2pt - 2pt - 2pt - - - - - - - - 0.4148cm - - - - - true - true - - - - - =Fields!Cantidad.Value - - - - - - - Cantidad1 - - - - - - - - - - #4f81bd - - - #4f81bd - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!UM.Value - - - - - - - - - - - - - =Fields!SATClaveUM.Value - - - - - - - UM - - - - - - - - - - - - - #4f81bd - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!SATClaveProdServ.Value - - - - - - - SATClaveProdServ - - - - - - - - - - - - - #4f81bd - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!PS.Value & " " & Fields!Obs.Value - - - - - - - - - - - - - - - - #4f81bd - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!PU.Value - - - - - - - PU1 - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!Cantidad.Value*Fields!PU.Value - - - - - - - Textbox88 - - - - - - - - - - #4f81bd - - - #4f81bd - - 2pt - 2pt - 2pt - 2pt - es-MX - - - - - - - - 0.08406cm - - - - - true - true - - - - - - - - - #4f81bd - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - - - - - #4f81bd - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - - - - - #4f81bd - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - - - - - #4f81bd - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - - - - - #4f81bd - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - - - - - #4f81bd - - - - #4f81bd - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - - - - - - - - - - - - - - - - - - - After - - - - - - Before - - - - DsOC - 4.66273cm - 0.11469cm - 1.01949cm - 20.01712cm - 17 - - - - - - true - - - - - RFC: - - - - =Parameters!ClienteRFC.Value - - - - - - - - - - - - - - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - External - =Parameters!QR.Value - FitProportional - 0.06275in - 0.02693in - 1.31152in - 1.73765in - - - - - - true - true - - - - - Regímen: Regímen General de Ley Personas Morales; Condiciones de pago: - - - - =IIF(Parameters!CondicionPago.Value.ToString="","No Identificado",Parameters!CondicionPago.Value) - - - - ; Método de Pago: - - - - =IIF(Parameters!MetodoPago.Value.ToString="","No Identificado",Parameters!MetodoPago.Value) - - - - ; Num. Cta Pago: - - - - =IIF(Parameters!NumCta.Value="0" Orelse Parameters!NumCta.Value="","No Identificado",Parameters!NumCta.Value) - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - 9.32053cm - - - 5.68277cm - - - - - 0.4721cm - - - - - true - true - - - - - Folio Fiscal: - - - - - - - Textbox9 - - - - White - - - #4f81bd - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Parameters!FolioFiscal.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - 0.52062cm - - - - - true - true - - - - - No. Serie del Certificado del SAT: - - - - - - - Textbox24 - - - - White - - - #4f81bd - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Parameters!SerieCertificadoSAT.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - 0.49417cm - - - - - true - true - - - - - Fecha y Hora de certificación: - - - - - - - Textbox26 - - - - White - - - #4f81bd - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Parameters!FechaCertificacion.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - 0.49417cm - - - - - true - true - - - - - Certificado del Contribuyente: - - - - - - - Textbox28 - - - - White - - - #4f81bd - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Parameters!CertificadoContribuyente.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - 0.46771cm - - - - - true - true - - - - - CFC - - - - CFDI RELACIONADOS - - - - - - - Textbox35 - - - White - 2pt - 2pt - 2pt - 2pt - - - 2 - - - - - - - 0.41479cm - - - - - true - true - - - - - Tipo Relación: - - - - - - - Textbox37 - - - - White - - - #4f81bd - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Parameters!TipoRelacionTexto.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - 0.46771cm - - - - - true - true - - - - - Folio Fiscal - - - - - - - Textbox39 - - - #4f81bd - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Parameters!FolioFiscalRelacionado.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - - - - - - - - - - - - - - - - =IIF(Parameters!TipoRelacionTexto.Value = "" OR Parameters!FolioFiscalRelacionado.Value = "", True,False) - - - - - =IIF(Parameters!TipoRelacionTexto.Value = "" OR Parameters!FolioFiscalRelacionado.Value = "", True,False) - - - - - =IIF(Parameters!TipoRelacionTexto.Value = "" OR Parameters!FolioFiscalRelacionado.Value = "", True,False) - - - - - DataSet1 - 0.15938cm - 5.04053cm - 3.33127cm - 15.0033cm - 2 - - - - - - true - 13.17821cm - 0.04629cm - 4.44266cm - 20.04383cm - 19 - - - - - - true - true - - - - - =Parameters!ClienteDatoExtra1.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - 3.15414cm - - - - - 0.6cm - - - - - true - true - - - - - =Fields!Importe.Value - - - - - - - Importe - - - 2pt - 2pt - 2pt - 2pt - es-MX - - - - - - - - 0.6cm - - - - - true - true - - - - - =Parameters!Moneda.Value - - - - - - - Textbox47 - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - - - - - - - - - - - - =Fields!ImpuestoLocal.Value - - - - 2.52863cm - - - true - true - - - - - =Fields!ImpuestoLocal.Value - - - - - - #4f81bd - 2pt - 2pt - 2pt - 2pt - - - - - - - - 2.52863cm - - - true - true - - - - - Moneda - - - - - - #4f81bd - 2pt - 2pt - 2pt - 2pt - - - - - Before - - - - DataSet1 - 5.84097cm - 14.47429cm - 1.2cm - 5.68277cm - 21 - - - - - - - - - 3.33075cm - - - 10.99712cm - - - - - 0.6cm - - - - - true - true - - - - - =Parameters!Observaciones.Value - - - - - - - Textbox128 - - - - - - - - - - - - - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - 2 - - - - - - - 0.6cm - - - - - true - true - - - - - Importe con letra: - - - - - - - Textbox126 - - - - - 1pt - - - - 1pt - - - - 1pt - - - - 1pt - - #4f81bd - Middle - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - ="SON: " & Microsoft.VisualBasic.Strings.UCase(Parameters!ImporteLetra.Value) - - - - - - - Textbox127 - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - 0.6cm - - - - - true - true - - - - - Método de pago: - - - - - - - Textbox130 - - - - - 1pt - - - - 1pt - - - - 1pt - - - - 1pt - - #4f81bd - Middle - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - - - - - =IIF(Parameters!MetodoPago.Value.ToString="","No Identificado",Parameters!MetodoPago.Value) - - - - - - - Textbox131 - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - 0.6cm - - - - - true - true - - - - - Forma de pago: - - - - - - - Textbox23 - - - - - 1pt - - - - 1pt - - - - 1pt - - - - 1pt - - #4f81bd - Middle - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Parameters!FormaPago.Value - - - - - - - - - - - Textbox41 - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - 0.66668cm - - - - - true - true - - - - - Uso CFDI: - - - - - - - Textbox43 - - - - - 1pt - - - - 1pt - - - - 1pt - - - - 1pt - - #4f81bd - Middle - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Parameters!UsoCFDI.Value - - - - - - - Textbox44 - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - 1.8cm - - - - - true - true - - - - - Sello digital del CFDI: - - - - - - - Textbox132 - - - - - 1pt - - - - 1pt - - - - 1pt - - - - 1pt - - #4f81bd - Middle - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Parameters!SelloCFDI.Value - - - - - - - Textbox133 - - - Top - 2pt - 2pt - 2pt - 2pt - - - - - - - - 1.2cm - - - - - true - true - - - - - Sello del SAT: - - - - - - - Textbox134 - - - - - 1pt - - - - 1pt - - - - 1pt - - - - 1pt - - #4f81bd - Middle - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Parameters!SelloSAT.Value - - - - - - - Textbox135 - - - Top - 2pt - 2pt - 2pt - 2pt - - - - - - - - 0.6cm - - - - - true - true - - - - - Cadena original del complemento de certificación digital del SAT: - - - - - - - Textbox136 - - - - - - - - - - - - - - 1pt - - #4f81bd - Middle - 2pt - 2pt - 2pt - 2pt - - - 2 - - - - - - - 0.6cm - - - - - true - true - - - - - =Parameters!CadenaOriginal.Value - - - - - - - Textbox6 - - - - - - - - - - - - - - 1pt - - Middle - 2pt - 2pt - 2pt - 2pt - - - 2 - - - - - - - - - - - - - - - - - - - - - - - - - - - DsOC - 5.84097cm - 0.10736cm - 7.26668cm - 14.32787cm - 22 - - - - - - - - true - true - - - - - CFDI Relacionados - - - - - - - Textbox5 - 0.11382cm - 0.05336cm - 0.54004cm - 20.00281cm - - - #4f81bd - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Tipo Relación: - - - - - - - Textbox29 - 0.83025cm - 4.33636cm - 0.41981cm - 5.31841cm - 1 - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!TipoRelacionTexto.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - 2.42456cm - - - 2.05585cm - - - 3.03631cm - - - 7.7847cm - - - - - 0.44125cm - - - - - true - true - - - - - Folio - - - - - - - Textbox10 - - - #4f81bd - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Fecha - - - - - - - Textbox12 - - - #4f81bd - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Importe - - - - - - - Textbox21 - - - #4f81bd - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Folio Fiscal - - - - - - - Textbox11 - - - #4f81bd - 2pt - 2pt - 2pt - 2pt - - - - - - - - 0.41479cm - - - - - true - true - - - - - =Fields!SerieFolio.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!Fecha.Value - - - - - - - Fecha - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!Importe.Value - - - - - - - Importe1 - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!FolioFiscal.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - - - - - - - - - - - - - After - - - - - - - DataSet4 - 1.39643cm - 2.83462cm - 0.85604cm - 15.30142cm - 3 - - - - - - true - true - - - - - VERSION 3.3 - - - - - - - Textbox5 - 2.28775cm - 17.08931cm - 0.6cm - 3.06609cm - 4 - - - 2pt - 2pt - 2pt - 2pt - - - - true - 17.79725cm - 0.05538cm - 2.97096cm - 20.1554cm - 23 - - =Microsoft.VisualBasic.Interaction.IIF(First(Fields!SerieFolio.Value, "DataSet4") <> "", False, True) - - - - - - - 28.21218cm - - - - - - - Textbox3 - 0.10583cm - 16.30721cm - 0.6cm - 3.95896cm - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - 27.94cm - 21.59cm - 0.5cm - 0.5cm - 1cm - 0.5cm - 1.27cm - + + + + + + Textbox3 + 0.90692in + 5.662in + 0.5cm + 2.24597in + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + Fecha y hora de emisión + + + + + + + + + + + + + + + + Textbox3 + 0.46414in + 5.662in + 0.5cm + 2.24597in + 1 + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + =IIF(Parameters!Serie.Value.ToString="",Parameters!Folio.Value,Parameters!Serie.Value & "-" &Parameters!Folio.Value) + + + + + + + Textbox3 + 0.22455in + 5.662in + 0.60856cm + 2.24597in + 2 + + + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + Folio + + + + + + + Textbox3 + 0.0412cm + 5.662in + 0.5cm + 2.24597in + 3 + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + VSH VIGILANCIA Y PROTECCION SA DE CV + + + + + + + + + R.F.C. VVP091222RF5|Reg. Fed. DGSP/122-10/1558|Reg. Est. + + + + =IIF(UCase(Parameters!Sucursal.Value.ToString) ="TIJUANA" or UCase(Parameters!Sucursal.Value.ToString) = "MEXICALI" , "SSP-01PM20120309140", "LSP-R-2010-M-271" ) + + + + + + + + + |www.vsh-seguridad.com|ventas@vsh-seguridad.com| + + + + 0cm + 0cm + + + + Textbox4 + 1.93416in + 0.66099in + 3.62386in + 4 + + + 2pt + 2pt + 2pt + 2pt + + + + Embedded + Logo + FitProportional + 0.30578cm + 0.03093cm + 2.88998cm + 4.56434cm + 5 + + + + + + true + + + + + =Parameters!Fecha.Value + + + + + + + Textbox3 + 0.66099in + 5.662in + 0.25114in + 2.24597in + 6 + + + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + =Parameters!Tipo.Value & Parameters!Ref.Value + + + + + + + Textbox3 + 1.10364in + 5.662in + 0.25635in + 2.24597in + 7 + + + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + Domicilio Fiscal + + + + + + + + + Calle Benito Juarez #32, Local 3, Col.: Hermosillo Centro C.P 83000 Hermosillo, Sonora, México Tel.:(662)210-64-00 + + + + + + + Textbox10 + 0.51102in + 1.93416in + 0.65513in + 1.79619in + 8 + + + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + Lugar de Expedición + + + + + + + + + =Parameters!DomicilioSucursal.Value + + + + + + + Textbox10 + 0.51102in + 3.77202in + 0.65513in + 1.786in + 9 + + + Top + + + + true + true + + + + + Nombre + + + + + + + + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + =Parameters!ClienteNombre.Value + + + + + + + + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Dirección + + + + + + + + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + =Parameters!ClienteDireccion.Value + + + + + + + + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Ciudad + + + + + + + #4f81bd + + 1.25pt + + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + =Parameters!ClienteLugar.Value + + + + + + + + + + + + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + true + true + + + + + P A G A R E con Folio + + + + =Parameters!Serie.Value + + + + - + + + + =Parameters!Folio.Value + + + + Por éste pagare prometo (emos) pagar incondicionalmente a la orden de VSH Vigilancia y Proteccion, S.A de C.V, a su vencimiento el + + + + =Parameters!Vencimiento.Value + + + + , en Hermosillo, Sonora o en el domicilio señalado a elección del acreedor o tenedor la cantidad de $ + + + + =Parameters!Total.Value + + + + SON: ( + + + + =Microsoft.VisualBasic.Strings.UCase(Parameters!ImporteLetra.Value) + + + + ). Valor recibido a mi (nuestra) entera satisfacción. la falta de pago de éste documento a su vencimiento dará derecho a VSH Vigilancia y Proteccion, S.A de C.V o tenedor, desde el día siguiente a cobrar el 10% mensual de interes moratorios hasta su total liquidación y los gastos judiciales que se ocasionen. Lugar y Fecha de Suscripción: Hermosillo, Sonora a + + + + =CDATE(Parameters!Fecha.Value).ToString("dd/MM/yyyy") + + + + + + + + + + + + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Nombre: + + + + =Parameters!ClienteNombre.Value + + + + + + + =Parameters!ClienteDireccion.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Acepto de conformidad + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + + + 1.25pt + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Area de Sello y Fecha Recepción + + + + + + + Textbox69 + 1.1706in + 2.94478in + 0.25in + 1.971in + 5 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Éste documento es una representación impresa de un CFDi + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + 20.98246cm + 0.01861cm + 7.22972cm + 20.05706cm + 16 + + = (Parameters!AplicaPagare.Value="0" ORelse Parameters!AplicaPagare.Value="") + + + + + + + + + + 1.50708cm + + + 1.81634cm + + + 1.63629cm + + + 11.11681cm + + + 1.8977cm + + + 2.0429cm + + + + + 0.52063cm + + + + + true + + + + + Cantidad + + + + + + + Textbox34 + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + UM + + + + + + + Textbox14 + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Codigo + + + + + + + Textbox15 + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + + + + + Descripción + + + + + + + Textbox79 + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + + + + + P. Unitario + + + + + + + Textbox84 + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + + + + + Importe + + + + + + + + + + + + + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.4148cm + + + + + true + true + + + + + =Fields!Cantidad.Value + + + + + + + Cantidad1 + + + + + + + + + + #4f81bd + + + #4f81bd + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!UM.Value + + + + + + + + + + + + + =Fields!SATClaveUM.Value + + + + + + + UM + + + + + + + + + + + + + #4f81bd + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!SATClaveProdServ.Value + + + + + + + SATClaveProdServ + + + + + + + + + + + + + #4f81bd + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!PS.Value & " " & Fields!Obs.Value + + + + + + + + + + + + + + + + #4f81bd + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!PU.Value + + + + + + + PU1 + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!Cantidad.Value*Fields!PU.Value + + + + + + + Textbox88 + + + + + + + + + + #4f81bd + + + #4f81bd + + 2pt + 2pt + 2pt + 2pt + es-MX + + + + + + + + 0.08406cm + + + + + true + true + + + + + + + + + #4f81bd + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + #4f81bd + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + #4f81bd + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + #4f81bd + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + #4f81bd + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + #4f81bd + + + + #4f81bd + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + + + + + + + + + + + + After + + + + + + Before + + + + DsOC + 4.66273cm + 0.11469cm + 1.01949cm + 20.01712cm + 17 + + + + + + true + + + + + RFC: + + + + =Parameters!ClienteRFC.Value + + + + + + + + + + + + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + External + =Parameters!QR.Value + FitProportional + 0.06275in + 0.02693in + 1.31152in + 1.73765in + + + + + + true + true + + + + + Regímen: Regímen General de Ley Personas Morales; Condiciones de pago: + + + + =IIF(Parameters!CondicionPago.Value.ToString="","No Identificado",Parameters!CondicionPago.Value) + + + + ; Método de Pago: + + + + =IIF(Parameters!MetodoPago.Value.ToString="","No Identificado",Parameters!MetodoPago.Value) + + + + ; Num. Cta Pago: + + + + =IIF(Parameters!NumCta.Value="0" Orelse Parameters!NumCta.Value="","No Identificado",Parameters!NumCta.Value) + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + 9.32053cm + + + 5.68277cm + + + + + 0.4721cm + + + + + true + true + + + + + Folio Fiscal: + + + + + + + Textbox9 + + + + White + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Parameters!FolioFiscal.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.52062cm + + + + + true + true + + + + + No. Serie del Certificado del SAT: + + + + + + + Textbox24 + + + + White + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Parameters!SerieCertificadoSAT.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.49417cm + + + + + true + true + + + + + Fecha y Hora de certificación: + + + + + + + Textbox26 + + + + White + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Parameters!FechaCertificacion.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.49417cm + + + + + true + true + + + + + Certificado del Contribuyente: + + + + + + + Textbox28 + + + + White + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Parameters!CertificadoContribuyente.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.46771cm + + + + + true + true + + + + + CFC + + + + CFDI RELACIONADOS + + + + + + + Textbox35 + + + White + 2pt + 2pt + 2pt + 2pt + + + 2 + + + + + + + 0.41479cm + + + + + true + true + + + + + Tipo Relación: + + + + + + + Textbox37 + + + + White + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Parameters!TipoRelacionTexto.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.46771cm + + + + + true + true + + + + + Folio Fiscal + + + + + + + Textbox39 + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Parameters!FolioFiscalRelacionado.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + + + + + + + + + + + + + =IIF(Parameters!TipoRelacionTexto.Value = "" OR Parameters!FolioFiscalRelacionado.Value = "", True,False) + + + + + =IIF(Parameters!TipoRelacionTexto.Value = "" OR Parameters!FolioFiscalRelacionado.Value = "", True,False) + + + + + =IIF(Parameters!TipoRelacionTexto.Value = "" OR Parameters!FolioFiscalRelacionado.Value = "", True,False) + + + + + DataSet1 + 0.15938cm + 5.04053cm + 3.33127cm + 15.0033cm + 2 + + + + + + true + 13.17821cm + 0.04629cm + 4.44266cm + 20.04383cm + 19 + + + + + + true + true + + + + + =Parameters!ClienteDatoExtra1.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + 3.15414cm + + + + + 0.6cm + + + + + true + true + + + + + =Fields!Importe.Value + + + + + + + Importe + + + 2pt + 2pt + 2pt + 2pt + es-MX + + + + + + + + 0.6cm + + + + + true + true + + + + + =Replace(Parameters!Moneda.Value,"Pesos","Peso mexicano") + + + + + + + Textbox47 + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + + + + + + + + + =Fields!ImpuestoLocal.Value + + + + 2.52863cm + + + true + true + + + + + =Fields!ImpuestoLocal.Value + + + + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + + + + + 2.52863cm + + + true + true + + + + + Moneda + + + + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + + Before + + + + DataSet1 + 5.84097cm + 14.47429cm + 1.2cm + 5.68277cm + 21 + + + + + + + + + 3.33075cm + + + 10.99712cm + + + + + 0.6cm + + + + + true + true + + + + + =Parameters!Observaciones.Value + + + + + + + Textbox128 + + + + + + + + + + + + + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + 2 + + + + + + + 0.6cm + + + + + true + true + + + + + Importe con letra: + + + + + + + Textbox126 + + + + + 1pt + + + + 1pt + + + + 1pt + + + + 1pt + + #4f81bd + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + ="SON: " & Microsoft.VisualBasic.Strings.UCase(Replace(Parameters!ImporteLetra.Value,"M.N.","MXN")) + + + + + + + Textbox127 + + + 2pt + 2pt + 2pt + 2pt + + + true + + + + + + 0.6cm + + + + + true + true + + + + + Método de pago: + + + + + + + Textbox130 + + + + + 1pt + + + + 1pt + + + + 1pt + + + + 1pt + + #4f81bd + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + =IIF(Parameters!MetodoPago.Value.ToString="","No Identificado",Parameters!MetodoPago.Value) + + + + + + + Textbox131 + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.6cm + + + + + true + true + + + + + Forma de pago: + + + + + + + Textbox23 + + + + + 1pt + + + + 1pt + + + + 1pt + + + + 1pt + + #4f81bd + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Parameters!FormaPago.Value + + + + + + + + + + + Textbox41 + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.66668cm + + + + + true + true + + + + + Uso CFDI: + + + + + + + Textbox43 + + + + + 1pt + + + + 1pt + + + + 1pt + + + + 1pt + + #4f81bd + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Parameters!UsoCFDI.Value + + + + + + + Textbox44 + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 1.8cm + + + + + true + true + + + + + Sello digital del CFDI: + + + + + + + Textbox132 + + + + + 1pt + + + + 1pt + + + + 1pt + + + + 1pt + + #4f81bd + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Parameters!SelloCFDI.Value + + + + + + + Textbox133 + + + Top + 2pt + 2pt + 2pt + 2pt + + + + + + + + 1.2cm + + + + + true + true + + + + + Sello del SAT: + + + + + + + Textbox134 + + + + + 1pt + + + + 1pt + + + + 1pt + + + + 1pt + + #4f81bd + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Parameters!SelloSAT.Value + + + + + + + Textbox135 + + + Top + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.6cm + + + + + true + true + + + + + Cadena original del complemento de certificación digital del SAT: + + + + + + + Textbox136 + + + + + + + + + + + + + + 1pt + + #4f81bd + Middle + 2pt + 2pt + 2pt + 2pt + + + 2 + + + + + + + 0.6cm + + + + + true + true + + + + + =Parameters!CadenaOriginal.Value + + + + + + + Textbox6 + + + + + + + + + + + + + + 1pt + + Middle + 2pt + 2pt + 2pt + 2pt + + + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + DsOC + 5.84097cm + 0.10736cm + 7.26668cm + 14.32787cm + 22 + + + + + + + + true + true + + + + + CFDI Relacionados + + + + + + + Textbox5 + 0.11382cm + 0.05336cm + 0.54004cm + 20.00281cm + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Tipo Relación: + + + + + + + Textbox29 + 0.83025cm + 4.33636cm + 0.41981cm + 5.31841cm + 1 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!TipoRelacionTexto.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + 2.42456cm + + + 2.05585cm + + + 3.03631cm + + + 7.7847cm + + + + + 0.44125cm + + + + + true + true + + + + + Folio + + + + + + + Textbox10 + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Fecha + + + + + + + Textbox12 + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Importe + + + + + + + Textbox21 + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Folio Fiscal + + + + + + + Textbox11 + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.41479cm + + + + + true + true + + + + + =Fields!SerieFolio.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!Fecha.Value + + + + + + + Fecha + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!Importe.Value + + + + + + + Importe1 + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!FolioFiscal.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + + + + + + + + + + After + + + + + + + DataSet4 + 1.39643cm + 2.83462cm + 0.85604cm + 15.30142cm + 3 + + + + + + true + true + + + + + VERSION 3.3 + + + + + + + Textbox5 + 2.28775cm + 17.08931cm + 0.6cm + 3.06609cm + 4 + + + 2pt + 2pt + 2pt + 2pt + + + + true + 17.79725cm + 0.05538cm + 2.97096cm + 20.1554cm + 23 + + =Microsoft.VisualBasic.Interaction.IIF(First(Fields!SerieFolio.Value, "DataSet4") <> "", False, True) + + + + + + + 28.21218cm + + + + + + + Textbox3 + 0.10583cm + 16.30721cm + 0.6cm + 3.95896cm + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 27.94cm + 21.59cm + 0.5cm + 0.5cm + 1cm + 0.5cm + 1.27cm +