diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb index 04ad93303..a643b79af 100644 --- a/App_Code/ClsPaginas.vb +++ b/App_Code/ClsPaginas.vb @@ -1355,12 +1355,12 @@ Public Class ClsPaginas Application("GlobalDTTipoTransacciones") = value End Set End Property - Property GlobalDTEstatusIE() As DataTable + Property GlobalDTBancosEstatusIE() As DataTable Get - GlobalDTEstatusIE = DirectCast(Application("GlobalDTEstatusIE"), DataTable) + GlobalDTBancosEstatusIE = DirectCast(Application("GlobalDTBancosEstatusIE"), DataTable) End Get Set(value As DataTable) - Application("GlobalDTEstatusIE") = value + Application("GlobalDTBancosEstatusIE") = value End Set End Property Property GlobalDTBancosIE() As DataTable diff --git a/Bancos/CatBancosEstatusIE.aspx.vb b/Bancos/CatBancosEstatusIE.aspx.vb index e1fc26f75..c82dab5bd 100644 --- a/Bancos/CatBancosEstatusIE.aspx.vb +++ b/Bancos/CatBancosEstatusIE.aspx.vb @@ -25,8 +25,8 @@ Partial Class Bancos_CatBancosEstatusIE Dim ObjEstatusIE As New ClsBancos If ObjEstatusIE.GetBancos_EstatusIE() Then ViewState("DTEstatusIE") = ObjEstatusIE.DtResultados - GlobalDTEstatusIE = ObjEstatusIE.DtResultados - Else + GlobalDTBancosEstatusIE = ObjEstatusIE.DtResultados + Else Me.GvDatos.DataSource = Nothing End If @@ -47,9 +47,9 @@ Partial Class Bancos_CatBancosEstatusIE Alert("El nuevo Estatus de Ingresos y Egresos se guardó correctamente.", TipoMensaje.MsgInformacion) UpTitulos.Update() ViewState("DTEstatusIE") = ObjEstatusIE.DtResultados - GlobalDTEstatusIE = ObjEstatusIE.DtResultados + GlobalDTBancosEstatusIE = ObjEstatusIE.DtResultados - If ViewState("Orden").ToString() <> String.Empty Then + If ViewState("Orden").ToString() <> String.Empty Then CargaGrid(ViewState("Orden").ToString()) Else CargaGrid("") @@ -145,8 +145,8 @@ Partial Class Bancos_CatBancosEstatusIE TxtCveEstatusIE.Text = "" GvDatos.EditIndex = -1 ViewState("DTEstatusIE") = ObjEstatusIE.DtResultados - GlobalDTEstatusIE = ObjEstatusIE.DtResultados - Alert("El Estatus de Ingresos y Egresos se eliminó correctamente.", TipoMensaje.MsgInformacion) + GlobalDTBancosEstatusIE = ObjEstatusIE.DtResultados + Alert("El Estatus de Ingresos y Egresos se eliminó correctamente.", TipoMensaje.MsgInformacion) End If ObjEstatusIE.Dispose() @@ -178,8 +178,8 @@ Partial Class Bancos_CatBancosEstatusIE If ObjEstatusIE.UpdateBancos_EstatusIE(EstatusIE, Estatus, CveEstatusIE) Then GvDatos.EditIndex = -1 ViewState("DTEstatusIE") = ObjEstatusIE.DtResultados - GlobalDTEstatusIE = ObjEstatusIE.DtResultados - Alert("Los cambios se guardaron correctamente.", TipoMensaje.MsgInformacion) + GlobalDTBancosEstatusIE = ObjEstatusIE.DtResultados + Alert("Los cambios se guardaron correctamente.", TipoMensaje.MsgInformacion) End If ObjEstatusIE.Dispose() diff --git a/Bancos/CatEstatusIE.aspx.vb b/Bancos/CatEstatusIE.aspx.vb index d639e2a0a..9950ba678 100644 --- a/Bancos/CatEstatusIE.aspx.vb +++ b/Bancos/CatEstatusIE.aspx.vb @@ -42,8 +42,8 @@ Partial Class Bancos_CatEstatusIE Dim ObjEstatusIE As New ClsBancos If ObjEstatusIE.GetBancos_EstatusIE() Then ViewState("DTEstatusIE") = ObjEstatusIE.DtResultados - GlobalDTEstatusIE = ObjEstatusIE.DtResultados - GvDatos.DataSource = GlobalDTEstatusIE + GlobalDTBancosEstatusIE = ObjEstatusIE.DtResultados + GvDatos.DataSource = GlobalDTBancosEstatusIE Else GvDatos.DataSource = Nothing End If diff --git a/Bancos/IE.aspx.vb b/Bancos/IE.aspx.vb index 5fac3a880..873ea911d 100644 --- a/Bancos/IE.aspx.vb +++ b/Bancos/IE.aspx.vb @@ -1107,6 +1107,7 @@ Partial Class Bancos_IE If (Not VerificaComplementos(True)) And UsuarioActual.TienePermisoProceso(99) And ObjIE.CveEstatusIE <> 2 Then BtnEditar.Visible = True PermisoComplementoVigente = True + Else BtnEditar.Visible = True End If diff --git a/Bancos/RepIE.aspx.vb b/Bancos/RepIE.aspx.vb index 35516d24a..0f11dd4a5 100644 --- a/Bancos/RepIE.aspx.vb +++ b/Bancos/RepIE.aspx.vb @@ -423,7 +423,7 @@ Partial Class Bancos_RepIE DdlMoneda.Items.Insert(0, New ListItem("Todas", "-1")) End Sub Private Sub CargaEstatusIE() - DdlEstatusIE.DataSource = GlobalDTEstatusIE + DdlEstatusIE.DataSource = GlobalDTBancosEstatusIE DdlEstatusIE.DataBind() End Sub Private Sub CargaUsuarioConcilio() diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index ee9dc3df8..78272dc76 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -9741,18 +9741,21 @@ Partial Class Compras_Compras ReceptorRFC = ValorXML(node, "RFC") End If - node = XMLDoc.SelectSingleNode(String.Format("//{0}:CfdiRelacionados", Prefijo), namespaces) - If node IsNot Nothing AndAlso node.ChildNodes.Count > 0 Then - If ValorXML(node, "TipoRelacion").ToString.Contiene("04", "07") Then - Dim nodeDocumentosRelacionados As XmlNodeList = XMLDoc.SelectNodes(String.Format("//{0}:CfdiRelacionado", Prefijo), namespaces) - For Each documento As XmlNode In nodeDocumentosRelacionados - If documento.Attributes("UUID").Value <> "" Then - ListaDocumentos.Add(documento.Attributes("UUID").Value) - End If - Next + If UsuarioActual.CveEmpresa.Contiene(119) Then + node = XMLDoc.SelectSingleNode(String.Format("//{0}:CfdiRelacionados", Prefijo), namespaces) + If node IsNot Nothing AndAlso node.ChildNodes.Count > 0 Then + If ValorXML(node, "TipoRelacion").ToString.Contiene("04", "07") Then + Dim nodeDocumentosRelacionados As XmlNodeList = XMLDoc.SelectNodes(String.Format("//{0}:CfdiRelacionado", Prefijo), namespaces) + For Each documento As XmlNode In nodeDocumentosRelacionados + If documento.Attributes("UUID").Value <> "" Then + ListaDocumentos.Add(documento.Attributes("UUID").Value) + End If + Next + End If End If End If + node = XMLDoc.SelectSingleNode(String.Format("//{0}:Impuestos", Prefijo), namespaces) If node IsNot Nothing AndAlso node.ChildNodes.Count > 0 Then Dim nodeRetenciones As XmlNodeList = XMLDoc.SelectNodes(String.Format("//{0}:Comprobante/{0}:Impuestos/{0}:Retenciones/{0}:Retencion", Prefijo), namespaces) diff --git a/Empresas/Grales/Formatos/RepProductosServiciosDetalle.rdlc b/Empresas/Grales/Formatos/RepProductosServiciosDetalle.rdlc index ce7fb0e14..c9bcd8e99 100644 --- a/Empresas/Grales/Formatos/RepProductosServiciosDetalle.rdlc +++ b/Empresas/Grales/Formatos/RepProductosServiciosDetalle.rdlc @@ -456,7 +456,7 @@ @@ -468,7 +468,7 @@ - =iif(Fields!CveVenta.Value = "", "#67809F", "Transparent") + =iif(Fields!CveVenta.Value = "",IIf(Fields!Gpo.Value = "","#67809F","#cccccc"), "Transparent") 2pt 2pt 2pt @@ -490,7 +490,7 @@ 8pt =iif(Fields!CveVenta.Value = "", "Bold", "Normal") dd/MM/yyyy - =iif(Fields!CveVenta.Value= "", "White", "Black") + =iif(Fields!CveVenta.Value = "",IIf(Fields!Gpo.Value = "","White","#67809F"), "Black") @@ -504,7 +504,7 @@ - =iif(Fields!CveVenta.Value = "", "#67809F", "Transparent") + =iif(Fields!CveVenta.Value = "",IIf(Fields!Gpo.Value = "","#67809F","#cccccc"), "Transparent") 2pt 2pt 2pt @@ -525,7 +525,7 @@ @@ -537,7 +537,7 @@ - =iif(Fields!CveVenta.Value = "", "#67809F", "Transparent") + =iif(Fields!CveVenta.Value = "",IIf(Fields!Gpo.Value = "","#67809F","#cccccc"), "Transparent") 2pt 2pt 2pt @@ -555,11 +555,11 @@ - =Fields!Nombre.Value + =IIf(Fields!Nombre.Value = "", IIf(Fields!Gpo.Value = "", Fields!Moneda.Value, Fields!Gpo.Value), Fields!Nombre.Value) @@ -571,13 +571,14 @@ - =iif(Fields!CveVenta.Value = "", "#67809F", "Transparent") + =iif(Fields!CveVenta.Value = "",IIf(Fields!Gpo.Value = "","#67809F","#cccccc"), "Transparent") 2pt 2pt 2pt 2pt + true @@ -592,7 +593,7 @@ @@ -606,7 +607,7 @@ - =iif(Fields!CveVenta.Value = "", "#67809F", "Transparent") + =iif(Fields!CveVenta.Value = "",IIf(Fields!Gpo.Value = "","#67809F","#cccccc"), "Transparent") 2pt 2pt 2pt @@ -629,7 +630,7 @@ 8pt =iif(Fields!CveVenta.Value = "", "Bold", "Normal") f2 - =iif(Fields!CveVenta.Value= "", "White", "Black") + =iif(Fields!CveVenta.Value = "",IIf(Fields!Gpo.Value = "","White","#67809F"), "Black") @@ -641,7 +642,7 @@ - =iif(Fields!CveVenta.Value = "", "#67809F", "Transparent") + =iif(Fields!CveVenta.Value = "",IIf(Fields!Gpo.Value = "","#67809F","#cccccc"), "Transparent") 2pt 2pt 2pt @@ -664,7 +665,7 @@ 8pt =iif(Fields!CveVenta.Value = "", "Bold", "Normal") #,0.00;- #,0.00;'-' - =iif(Fields!CveVenta.Value= "", "White", "Black") + =iif(Fields!CveVenta.Value = "",IIf(Fields!Gpo.Value = "","White","#67809F"), "Black") @@ -678,7 +679,7 @@ - =iif(Fields!CveVenta.Value = "", "#67809F", "Transparent") + =iif(Fields!CveVenta.Value = "",IIf(Fields!Gpo.Value = "","#67809F","#cccccc"), "Transparent") 2pt 2pt 2pt @@ -701,7 +702,7 @@ 8pt =iif(Fields!CveVenta.Value = "", "Bold", "Normal") #,0.00;- #,0.00;'-' - =iif(Fields!CveVenta.Value= "", "White", "Black") + =iif(Fields!CveVenta.Value = "",IIf(Fields!Gpo.Value = "","White","#67809F"), "Black") @@ -715,7 +716,7 @@ - =iif(Fields!CveVenta.Value = "", "#67809F", "Transparent") + =iif(Fields!CveVenta.Value = "",IIf(Fields!Gpo.Value = "","#67809F","#cccccc"), "Transparent") 2pt 2pt 2pt @@ -737,7 +738,7 @@ 8pt =iif(Fields!CveVenta.Value = "", "Bold", "Normal") #,0.00;-#,0.00;'-' - =iif(Fields!CveVenta.Value= "", "White", "Black") + =iif(Fields!CveVenta.Value = "",IIf(Fields!Gpo.Value = "","White","#67809F"), "Black") @@ -751,7 +752,7 @@ - =iif(Fields!CveVenta.Value = "", "#67809F", "Transparent") + =iif(Fields!CveVenta.Value = "",IIf(Fields!Gpo.Value = "","#67809F","#cccccc"), "Transparent") 2pt 2pt 2pt @@ -773,7 +774,7 @@ 8pt =iif(Fields!CveVenta.Value = "", "Bold", "Normal") #,0.00;- #,0.00;'-' - =iif(Fields!CveVenta.Value= "", "White", "Black") + =iif(Fields!CveVenta.Value = "",IIf(Fields!Gpo.Value = "","White","#67809F"), "Black") @@ -787,7 +788,7 @@ - =iif(Fields!CveVenta.Value = "", "#67809F", "Transparent") + =iif(Fields!CveVenta.Value = "",IIf(Fields!Gpo.Value = "","#67809F","#cccccc"), "Transparent") 2pt 2pt 2pt @@ -810,7 +811,7 @@ 8pt =iif(Fields!CveVenta.Value = "", "Bold", "Normal") #,0.00;-#,0.00;'-' - =iif(Fields!CveVenta.Value= "", "White", "Black") + =iif(Fields!CveVenta.Value = "",IIf(Fields!Gpo.Value = "","White","#67809F"), "Black") @@ -824,7 +825,7 @@ - =iif(Fields!CveVenta.Value = "", "#67809F", "Transparent") + =iif(Fields!CveVenta.Value = "",IIf(Fields!Gpo.Value = "","#67809F","#cccccc"), "Transparent") 2pt 2pt 2pt @@ -896,14 +897,16 @@ - Textbox1 0.18521cm - 2.8349cm + 3.37444cm 0.6cm - 12.60299cm + 21.20747cm @@ -949,9 +952,9 @@ Textbox2 1.10271cm - 8.17404cm + 9.22743cm 0.52945cm - 10.36447cm + 10.12635cm 1 - 0.58209cm + 1.04773cm true true @@ -1140,9 +1143,9 @@ Textbox10 0.0829cm - 9.84544cm + 10.83183cm 0.38981cm - 2.92333cm + 2.91804cm 3 + + + + + + Textbox11 + 0.0829cm + 13.56466cm + 0.38981cm + 6.47703cm + 4 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + IMPRESO EN SIG, Rep. Productos Servicios @@ -1272,6 +1309,14 @@ Nombre System.String + + Gpo + System.String + + + Moneda + System.String + Codigo System.String @@ -1331,6 +1376,7 @@ ReportParameter1 + es-MX Cm 40c94aad-a12a-44fb-ab0d-ea36a9656792 \ No newline at end of file diff --git a/General/SaldosIniciales.aspx.vb b/General/SaldosIniciales.aspx.vb index 8997c6309..8d64e696a 100644 --- a/General/SaldosIniciales.aspx.vb +++ b/General/SaldosIniciales.aspx.vb @@ -5,6 +5,8 @@ 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 @@ -25,44 +27,46 @@ Partial Class General_SaldosIniciales Private Sub CargarArchivo(Ruta As String, FileName As String, Tipo As String) Dim dt As New DataTable - Dim Conexion As Odbc.OdbcConnection = Nothing + ' Conexion As Odbc.OdbcConnection = Nothing Dim ErrorArchivo = False Dim ErrorExcel = False - 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() + + 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 @@ -1523,57 +1527,69 @@ Partial Class General_SaldosIniciales ElseIf RblFormato.SelectedValue = "12" Then Dim ObjMovimientos As New ClsInventarios ObjMovimientos.IniciaTransacSQL() - Dim OcurrioError As Boolean = False + + 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("", 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 = 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 CvePS As Integer = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CvePS", $"Codigo = '{nuevaEntrada("CodigoPS")}'").ToEntero - Dim CveUM As Integer = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveUnidadMedida", $"Codigo = '{nuevaEntrada("CodigoPS")}'").ToEntero + Dim RowPS As DataRow = ProductosServiciosRef.FiltroPrimero($"Codigo = '{nuevaEntrada("CodigoPS")}' AND CveEmpresa = {UsuarioActual.CveEmpresa}") + + Dim CvePS As Integer = RowPS("CvePS").ToString().ToEntero + Dim CveUM As Integer = RowPS("CveUnidadMedida").ToString().ToEntero If CvePS > 0 Then 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 - OcurrioError = True + mensajeError = "No se logró generar el detalle del movimiento" + Throw New Exception() End If Else - OcurrioError = True + mensajeError = $"La unidad de medida no se reconoce para el producto servicio:{nuevaEntrada("CodigoPS")}" + Throw New Exception() End If Else - OcurrioError = True - + mensajeError = $"No se encontró el producto o servicio con código ""{nuevaEntrada("CodigoPS")}""" + Throw New Exception() End If Next Else - OcurrioError = True - 'alert amacén no existe + mensajeError = $"No se encontró el almacén con nombre ""{almacenActual}""" + Throw New Exception() Exit For End If Next Catch ex As Exception - OcurrioError = True + If mensajeError = "" Then + mensajeError = "Error técnico, informar a soporte" + End If ObjMovimientos.RollBack() End Try - If Not OcurrioError Then + If mensajeError = "" Then ObjMovimientos.Commit() Alert($"Se cargaron correctamente {contadorMovimientos} movimientos

{listadoMovimientos}") Else - Alert("Ocurrió un error al cargar las existencias", TipoMensaje.MsgError) + Alert(mensajeError, TipoMensaje.MsgError) ObjMovimientos.RollBack() End If ObjMovimientos.Dispose() + ProductosServiciosRef.Dispose() + AlmacenRef.Dispose() End If End If @@ -1618,5 +1634,51 @@ Partial Class General_SaldosIniciales 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 + End Function End Class diff --git a/Planeacion/CatFolios.aspx.vb b/Planeacion/CatFolios.aspx.vb index 70eaeb189..1c8f92399 100644 --- a/Planeacion/CatFolios.aspx.vb +++ b/Planeacion/CatFolios.aspx.vb @@ -70,6 +70,7 @@ Partial Class CatFolios DdlTipoDocto.Items.Insert(31, New ListItem("Proveedor", "Pro")) DdlTipoDocto.Items.Insert(32, New ListItem("Acreedor", "Acr")) DdlTipoDocto.Items.Insert(33, New ListItem("Productos/Servicios", "PS")) + DdlTipoDocto.Items.Insert(34, New ListItem("NC de Remisión", "RNC")) ElseIf UsuarioActual.Empresa.CvePlataforma = 2 Then DdlTipoDocto.Items.Insert(1, New ListItem("Facturas", "Ing")) DdlTipoDocto.Items.Insert(2, New ListItem("Notas de Crédito", "Egs")) diff --git a/Ventas/PopUpBuscarFolio.aspx b/Ventas/PopUpBuscarFolio.aspx index 79cf3b927..e05a1490b 100644 --- a/Ventas/PopUpBuscarFolio.aspx +++ b/Ventas/PopUpBuscarFolio.aspx @@ -46,6 +46,7 @@ + Estatus Factura: diff --git a/Ventas/RepProductosServiciosDetalle.aspx.vb b/Ventas/RepProductosServiciosDetalle.aspx.vb index c6af54b8b..47ff0cc89 100644 --- a/Ventas/RepProductosServiciosDetalle.aspx.vb +++ b/Ventas/RepProductosServiciosDetalle.aspx.vb @@ -661,6 +661,7 @@ Partial Class Ventas_RepProductosServiciosDetalle params.Add(New ReportParameter("LogoPath", "")) End If + params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre)) params.Add(New ReportParameter("FechaImpresion", DateTime.Now.ToString("dd/MM/yyyy"))) params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa)) ImprimirPDF("Empresas/Grales/Formatos/RepProductosServiciosDetalle.rdlc", TmpDT, params, "ReportePS") diff --git a/Ventas/RepVentasUtilidad.aspx b/Ventas/RepVentasUtilidad.aspx index adf3f6615..a514f9b50 100644 --- a/Ventas/RepVentasUtilidad.aspx +++ b/Ventas/RepVentasUtilidad.aspx @@ -233,7 +233,7 @@ Venta Costo - Utilidad/Pérdida + Utilidad/Pérdida @@ -287,7 +287,7 @@ - + diff --git a/Ventas/RepVentasUtilidad.aspx.vb b/Ventas/RepVentasUtilidad.aspx.vb index 6be403b27..230979595 100644 --- a/Ventas/RepVentasUtilidad.aspx.vb +++ b/Ventas/RepVentasUtilidad.aspx.vb @@ -180,7 +180,9 @@ Partial Class Ventas_RepVentasUtilidad e.Row.BackColor = ColorTranslator.FromHtml("#95A5A6") End If - If Not e.Row.RowIndex = 0 AndAlso e.Row.DBCampo("CveVenta") <> "" Then + If Not e.Row.RowIndex = 0 AndAlso e.Row.DBCampo("SubTotal").ToDecimal = 0 AndAlso e.Row.DBCampo("CveVenta").ToEntero > 0 Then + e.Row.CssClass = "danger" + ElseIf Not e.Row.RowIndex = 0 AndAlso e.Row.DBCampo("CveVenta") <> "" Then e.Row.Cells(0).BackColor = ColorTranslator.FromHtml("#e9e9e9") e.Row.Cells(1).BackColor = ColorTranslator.FromHtml("#e9e9e9") e.Row.Cells(2).BackColor = ColorTranslator.FromHtml("#e9e9e9") diff --git a/Ventas/RepVentasUtilidadDetalle.aspx b/Ventas/RepVentasUtilidadDetalle.aspx index 359d5a7be..5a9551967 100644 --- a/Ventas/RepVentasUtilidadDetalle.aspx +++ b/Ventas/RepVentasUtilidadDetalle.aspx @@ -4,7 +4,7 @@