diff --git a/Acumuladores/RepIndicadorDiario.aspx b/Acumuladores/RepIndicadorDiario.aspx new file mode 100644 index 000000000..d8060715c --- /dev/null +++ b/Acumuladores/RepIndicadorDiario.aspx @@ -0,0 +1,396 @@ +<%@ Page Title="Reporte de Compras Clasificación" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="RepIndicadorDiario.aspx.vb" Inherits="ACumuladores_RepIndicadorDiario" %> + +<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %> + + +
  • + Generar PDF +
  • +
  • + + Exportar Excel + +
  • + + +
    + + Reporte Indicador Diario + + + + + + + + + + +
    +
    +
    + + +
    +
    +
    + + + + + +
    + Fecha Inicio: +
    +
    +
    + + + + +
    + + + + + + +
    +
    + Fecha Fin: +
    +
    +
    + + + + +
    + + + + + + +
    + + SubProyecto: +
    + <%-- + + --%> + +
    + + +
    +
    +
    + + + +
    +
    +
    +
    + + + + + + + Concepto + + + + + + + + Acumulado + + + + + + + + Importe Acumulado + + + + + + + + Venta Diaria + + + + + + + + Importe Al Día + + + + + + + + + Cantidad Total + + + + + + + + + Total + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + diff --git a/Acumuladores/RepIndicadorDiario.aspx.vb b/Acumuladores/RepIndicadorDiario.aspx.vb new file mode 100644 index 000000000..3a4dbfc10 --- /dev/null +++ b/Acumuladores/RepIndicadorDiario.aspx.vb @@ -0,0 +1,366 @@ +Option Explicit On +Option Strict On + +Imports Extensiones +Imports Microsoft.Reporting.WebForms +Imports System.Data + +Partial Class ACumuladores_RepIndicadorDiario + Inherits ClsPaginas + +#Region " PROPIEDADES " + Private Property DtDatos As DataTable + Get + DtDatos = DirectCast(ViewState("DtDatos"), DataTable) + End Get + + Set(ByVal value As DataTable) + ViewState("DtDatos") = value + End Set + End Property + + Private Property NumeroRemesa As String + Get + NumeroRemesa = ViewState("NumeroRemesa").ToString + End Get + Set(value As String) + ViewState("NumeroRemesa") = value + End Set + End Property + + Private Property TCEspecifico As Double + Get + If ViewState("TCEspecifico") Is Nothing Then + Return -1 + Else + Return DirectCast(ViewState("TCEspecifico"), Double) + End If + End Get + Set(value As Double) + ViewState("TCEspecifico") = value + End Set + End Property + Private Property DtColor As DataTable + Get + Return DirectCast(ViewState("DtColor"), DataTable) + End Get + Set(value As DataTable) + ViewState("DtColor") = value + End Set + End Property + Private Property Agrupador As String + Get + Return ViewState("Agrupador").ToString + End Get + + Set(value As String) + ViewState("Agrupador") = value + End Set + End Property + Private Property CveMoneda As Integer + Get + CveMoneda = ViewState("CveMoneda").ToString.ToEntero + End Get + Set(value As Integer) + ViewState("CveMoneda") = value + End Set + End Property + +#End Region + + Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load + If Not IsPostBack Then + + txtFechaI.Text = Now.FirstDayOfMonth().ToString("dd/MM/yyyy") + txtFechaF.Text = Now.ToString("dd/MM/yyyy") + + CargaCombos() + + CargaDatos() + End If + End Sub + +#Region "CARGAS" + + Private Sub CargaCombos() + + DdlSubProyecto.DataSource = GlobalDTSubProyectos(-1, -1, UsuarioActual.CveEmpresa) + DdlSubProyecto.DataBind() + DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1")) + DdlSubProyecto.SelectedValuesIfExist("-1") + + End Sub + + + + Private Sub CargaDatos() + + Dim ObjAcum As New ClsAcumuladores() + + Dim FechaI, FechaF As Date + FechaI = txtFechaI.Text.ToDate + FechaF = txtFechaF.Text.ToDate + + If RblTipoCambio.SelectedValue.ToEntero = 3 And TxtEspecifico.Text <> "" Then + TCEspecifico = TxtEspecifico.Text.ToDouble + Else + TCEspecifico = -1 + End If + + If ObjAcum.GetRepInicadorDiario(FechaI, FechaF, DdlSubProyecto.SelectedValue.ToEntero, UsuarioActual.CveEmpresa) Then + GvDatos.DataSource = ObjAcum.DtResultados + DtDatos = ObjAcum.DtResultados + Else + GvDatos.DataSource = Nothing + End If + + ObjAcum.Dispose() + GvDatos.DataBind() + + + End Sub + +#End Region + +#Region "SELECTED INDEX CHANGE" + + + + Private Sub RblTipoCambio_SelectedIndexChanged(sender As Object, e As EventArgs) Handles RblTipoCambio.SelectedIndexChanged + If RblTipoCambio.SelectedValue.ToEntero = 3 Then + Dim TipoCambio As Double + LiEspecifico.Visible = True + TipoCambio = GlobalTipoCambio(Now) + TxtEspecifico.Text = TipoCambio.ToString + Else + LiEspecifico.Visible = False + End If + UpBodyTipoCambio.Update() + End Sub + +#End Region + +#Region "CONSULTAR" + + Protected Sub BtnConsultar_Click(sender As Object, e As System.EventArgs) Handles BtnConsultar.Click + CargaDatos() + UPDatos.Update() + End Sub + +#End Region + +#Region "GRIDVIEW" + + Protected Sub GvDatos_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvDatos.RowDataBound + + If e.Row.RowType = DataControlRowType.DataRow Then + + If e.Row.DataKey("Ordernador2").ToEntero = 100 Or e.Row.DataKey("Seccion").ToEntero = 3 And (e.Row.DataKey("TipoCategoria").ToEntero = 6 Or e.Row.DataKey("TipoCategoria").ToEntero = 7) Then + e.Row.Font.Bold = True + + End If + + + End If + End Sub + +#End Region + +#Region " IMPRIMIR " + + Protected Sub LnkExportar_Click(sender As Object, e As EventArgs) Handles LnkExportar.Click + 'GvDatos.ExportToExcel("ReporteComprasClasificacion" & Now.ToShortDateString) + GenerarPDF("EXCEL") + End Sub + + Protected Sub LnkPdf_Click(sender As Object, e As EventArgs) + GenerarPDF("PDF") + End Sub + Private Sub GenerarPDF(Opcion As String) + Dim FechaI = If(txtFechaI.Text = "" Or txtFechaI.Text = "__/__/____", "-1", txtFechaI.Text) + Dim FechaF = If(txtFechaF.Text = "" Or txtFechaF.Text = "__/__/____", "-1", txtFechaF.Text) + + + + Dim FechaIn As String = $" Fecha Inicio: {txtFechaI.Text}" + Dim FechaFn As String = $" Fecha Fin: {txtFechaF.Text}" + If txtFechaI.Text = "" Then FechaIn = "" + If txtFechaF.Text = "" Then FechaFn = "" + + + Dim SubProyecto = If(DdlSubProyecto.GetSelectedText = "", "", $" SubProyecto: {DdlSubProyecto.GetSelectedText}") + + + Dim FechaIF, FechaFF As String + FechaIF = If(IsDate(txtFechaI.Text.Trim()), txtFechaI.Text.Trim(), "-1") + FechaFF = If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.Trim(), "-1") + + + + If DtDatos IsNot Nothing AndAlso DtDatos.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) + + Dim params As New List(Of ReportParameter) + params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa)) + params.Add(New ReportParameter("FechaInicio", FechaI)) + params.Add(New ReportParameter("FechaFin", FechaF)) + params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre)) + params.Add(New ReportParameter("FechaImpresion", Now.ToString)) + params.Add(New ReportParameter("AgrupadoPor", $"Filtros Por: {FechaIn} {FechaFn} {SubProyecto} ")) + + If Imagen.Exists Then + params.Add(New ReportParameter("LogoPath", logouri)) + Else + params.Add(New ReportParameter("LogoPath", "")) + End If + ImprimirPDF("Empresas/Grales/Formatos/RepIndicadorDiario.rdlc", DtDatos, params, $"RepIndicadorDiario_{Now.ToString("yyyyMMddhhmmss")}", Opcion) + Else + Alert("No hay datos consultados", TipoMensaje.MsgAdvertencia) + End If + + End Sub +#End Region + +#Region "GRAFICA" + + Protected Sub LnkVerGrafica_Click(sender As Object, e As EventArgs) + If Not DtDatos IsNot Nothing AndAlso DtDatos.Rows.Count > 0 Then + Alert("No hay datos disponibles", TipoMensaje.MsgAdvertencia) + Exit Sub + End If + + LblTituloGrafica.Text = $"Agrupado por: {Agrupador}" + RegistraScript("$('#DivModalGrafica').modal('show')") + CambioGrafica() + End Sub + Private Sub CreaDataTableColor() + DtColor = New DataTable + DtColor.Columns.Add("Color") + Dim RowColor As DataRow = Nothing + RowColor = DtColor.NewRow() + RowColor("Color") = "#FF0F00" + DtColor.Rows.Add(RowColor) + RowColor = Nothing + RowColor = DtColor.NewRow() + RowColor("Color") = "#FF6600" + DtColor.Rows.Add(RowColor) + RowColor = Nothing + RowColor = DtColor.NewRow() + RowColor("Color") = "#FF9E01" + DtColor.Rows.Add(RowColor) + RowColor = Nothing + RowColor = DtColor.NewRow() + RowColor("Color") = "#FCD202" + DtColor.Rows.Add(RowColor) + RowColor = Nothing + RowColor = DtColor.NewRow() + RowColor("Color") = "#F8FF01" + DtColor.Rows.Add(RowColor) + RowColor = Nothing + RowColor = DtColor.NewRow() + RowColor("Color") = "#B0DE09" + DtColor.Rows.Add(RowColor) + RowColor = Nothing + RowColor = DtColor.NewRow() + RowColor("Color") = "#04D215" + DtColor.Rows.Add(RowColor) + RowColor = Nothing + RowColor = DtColor.NewRow() + RowColor("Color") = "#0D8ECF" + DtColor.Rows.Add(RowColor) + RowColor = Nothing + RowColor = DtColor.NewRow() + RowColor("Color") = "#0D52D1" + DtColor.Rows.Add(RowColor) + RowColor = Nothing + RowColor = DtColor.NewRow() + RowColor("Color") = "#2A0CD0" + DtColor.Rows.Add(RowColor) + RowColor = Nothing + RowColor = DtColor.NewRow() + RowColor("Color") = "#8A0CCF" + DtColor.Rows.Add(RowColor) + RowColor = Nothing + RowColor = DtColor.NewRow() + RowColor("Color") = "#CD0D74" + DtColor.Rows.Add(RowColor) + RowColor = Nothing + RowColor = DtColor.NewRow() + RowColor("Color") = "#754DEB" + DtColor.Rows.Add(RowColor) + RowColor = Nothing + RowColor = DtColor.NewRow() + RowColor("Color") = "#DDDDDD" + DtColor.Rows.Add(RowColor) + RowColor = Nothing + RowColor = DtColor.NewRow() + RowColor("Color") = "#999999" + DtColor.Rows.Add(RowColor) + RowColor = Nothing + RowColor = DtColor.NewRow() + RowColor("Color") = "#333333" + DtColor.Rows.Add(RowColor) + RowColor = Nothing + RowColor = DtColor.NewRow() + RowColor("Color") = "#000000" + DtColor.Rows.Add(RowColor) + End Sub + + Private Sub CambioGrafica() + Dim Dt As New DataTable() + Dt.Columns.Add("Texto") + Dt.Columns.Add("Valor") + Dt.Columns.Add("Color") + Dt.Columns.Add("Moneda") + Dim RowColorIndex As Integer = 0 + For Each Dr As DataRow In DtDatos.Rows + If Not Dr("CveCompra").ToString.ToEntero > 0 Then + Dim Row As DataRow = Nothing + Row = Dt.NewRow() + Row("Texto") = $"{Dr("GPO").ToString} {GlobalDTMonedas().FiltraParametros($"CveMoneda = {CveMoneda}").Rows(0)("Abreviatura").ToString}" + Select Case DdlVer.SelectedValue.ToEntero + Case 1 + Row("Valor") = Dr("Total").ToString.FormatoNumero + Case 2 + Row("Valor") = Dr("SubTotal").ToString.FormatoNumero + Case 3 + Row("Valor") = Dr("IVA").ToString.FormatoNumero + End Select + Row("Color") = DtColor.Rows(RowColorIndex)("Color").ToString + Row("Moneda") = GlobalDTMonedas().FiltraParametros($"CveMoneda = {CveMoneda}").Rows(0)("Moneda").ToString + Dt.Rows.Add(Row) + RowColorIndex += 1 + If RowColorIndex = 17 Then + RowColorIndex = 0 + End If + End If + Next + + Dim query = From s In Dt.AsEnumerable() Select New With {.Texto = s("Texto").ToString(), .Valor = s("Valor").ToString().ToDouble(), .Color = s("Color").ToString(), .Moneda = s("Moneda").ToString()} + Dim json As String = Newtonsoft.Json.JsonConvert.SerializeObject(query) + Select Case DdlGrafica.SelectedValue.ToEntero + Case 1 + RegistraScript($"CargaGraficaBarras({json})", "22") + Case 2 + RegistraScript($"CargaGraficaPastel({json})", "22") + End Select + UPModalProd.Update() + End Sub + Protected Sub DdlGrafica_SelectedIndexChanged(sender As Object, e As EventArgs) + CambioGrafica() + End Sub + + Protected Sub DdlVer_SelectedIndexChanged(sender As Object, e As EventArgs) + CambioGrafica() + End Sub + +#End Region + + + +End Class + diff --git a/App_Code/ClsAcumuladores.vb b/App_Code/ClsAcumuladores.vb index 1980df4a1..c673ba1cf 100644 --- a/App_Code/ClsAcumuladores.vb +++ b/App_Code/ClsAcumuladores.vb @@ -703,7 +703,7 @@ Public Class ClsAcumuladores Public Function AddGarantiasDetalle(CveVentaDetalle As Integer, CvePS As Integer, CveFolioGarantia As Integer, CveTipoUso As Integer, CodigoEnsamble As String, CodigoLinea As String, CodigoInspeccion As String, CveTipoDefecto As Integer, NumPoliza As String, Importe As Double, - Consecutivo As String) As Boolean + Consecutivo As String, FechaAjuste As DateTime) As Boolean Dim Retorno As Boolean = False SqlDataAdapter("PA_Acum_GarantiasDetalleAdd") With SqlAdapter.SelectCommand.Parameters @@ -717,7 +717,8 @@ Public Class ClsAcumuladores .Add("@CveTipoDefecto", SqlDbType.Int).Value = CveTipoDefecto .Add("@NumPoliza", SqlDbType.VarChar).Value = NumPoliza .Add("@Importe", SqlDbType.Float).Value = Importe - .Add("@Consecutivo", SqlDbType.VarChar).Value = Consecutivo + .Add("@Consecutivo", SqlDbType.VarChar).Value = Consecutivo + .Add("@FechaAjuste", SqlDbType.DateTime).Value = FechaAjuste End With Try SqlAdapter.Fill(Data) @@ -898,12 +899,12 @@ Public Class ClsAcumuladores Dim Retorno As Boolean = False - SqlDataAdapter("PA_Acum_RepInicadorDiarioGet") + SqlDataAdapter("PA_Acum_RepIndicadorDiarioGet") With SqlAdapter.SelectCommand.Parameters .Add("@FechaInicio", SqlDbType.Date).Value = FechaInicio .Add("@FechaFin", SqlDbType.Date).Value = FechaFin - .Add("@CveSubProeycto", SqlDbType.Int).Value = CveSubProeycto + .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProeycto .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa End With diff --git a/App_Code/ClsProductosServicios.vb b/App_Code/ClsProductosServicios.vb index 317ff984a..27d3474b3 100644 --- a/App_Code/ClsProductosServicios.vb +++ b/App_Code/ClsProductosServicios.vb @@ -27,6 +27,7 @@ Public Class ClsProductosServicios Public Property CvePS As Integer Public Property CveClasificacion As Integer + Public Property Clasificacion As String Public Property CveUnidadMedida As Integer Public Property CveSATPS As Integer Public Property SATClavePS As String @@ -226,6 +227,7 @@ Public Class ClsProductosServicios If Data.Rows.Count > 0 Then Me.CvePS = Data.Rows(0)("CvePS").ToString().ToEntero Me.CveClasificacion = Data.Rows(0)("CveClasificacion").ToString.ToEntero + Me.Clasificacion = Data.Rows(0)("Clasificacion").ToString CveUnidadMedida = Data.Rows(0)("CveUnidadMedida").ToString.ToEntero CveSATPS = Data.Rows(0)("CveSATPS").ToString.ToEntero Me.SATClavePS = Data.Rows(0)("SATClavePS").ToString diff --git a/App_Code/Modelos.vb b/App_Code/Modelos.vb index e4cdc187b..4e15fb81d 100644 --- a/App_Code/Modelos.vb +++ b/App_Code/Modelos.vb @@ -1349,7 +1349,7 @@ Namespace Modelos For Each Dr As DataRow In DtAjustes.Rows If Not ObjAcum.AddGarantiasDetalle(Dr("CveVentaDetalle").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("CveFolioGarantia").ToString.ToEntero, Dr("CveTipoUso").ToString.ToEntero, Dr("CodigoEnsamble").ToString, Dr("CodigoLinea").ToString, Dr("CodigoInspeccion").ToString, Dr("CveTipoDefecto").ToString.ToEntero, - Dr("NumPoliza").ToString, Dr("Importe").ToString.ToDouble, Dr("Consecutivo").ToString) Then + Dr("NumPoliza").ToString, Dr("Importe").ToString.ToDouble, Dr("Consecutivo").ToString, Dr("FechaAjuste").ToString.ToDateTime()) Then ErrorList.Add("Ocurrió un error al agregar la garantia detalle.") End If Next diff --git a/Ashx/SIGPolizaVirtual.ashx b/Ashx/SIGPolizaVirtual.ashx index 6ba9db938..10eab84ae 100644 --- a/Ashx/SIGPolizaVirtual.ashx +++ b/Ashx/SIGPolizaVirtual.ashx @@ -93,7 +93,7 @@ Public Class SIGPolizaVirtual : Implements IHttpHandler, IRequiresSessionState obj.sale_type = "01" 'PISO obj.sale_type_service = "01" 'PARTICULAR obj.sale_total = ObjFactura.Total - obj.sale_discount = ObjFactura.SubTotal + obj.sale_discount = 0 'ObjFactura.SubTotal obj.sale_id = GuidGenerator.GenerateTimeBasedGuid().ToString() 'Dim PS = ObjFactura.DtDetalle.Rows(0) diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index 24ceab07b..86936d8b7 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -6639,10 +6639,10 @@ Partial Class Compras_Compras IdCtaContable = CtaProveedorExtranjera CveCuenta = CveCuentaProveedorExtranjera - If ObjConta.AddPrePolizasDetalle(CvePrePolizaTemp, False, importeMovimientoNC, Referencia, 17, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=Gvr.DataKey("CveCompra").ToEntero, CveProveedor:=CveProveedorConcepto, CveAcreedor:=CveAcreedor, CvePersonal:=CvePersonal, CveColectiva:=CveColectiva, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=importeMovimientoNC, ImporteME:=importeMovimientoNC, TipoCambio:=TipoCambioFactura, CveCuenta:=CveCuenta, Contabilizable:=SeContabiliza) Then + If ObjConta.AddPrePolizasDetalle(CvePrePolizaTemp, False, importeMovimientoNC, Referencia, 272, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=Gvr.DataKey("CveCompra").ToEntero, CveProveedor:=CveProveedorConcepto, CveAcreedor:=CveAcreedor, CvePersonal:=CvePersonal, CveColectiva:=CveColectiva, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=importeMovimientoNC, ImporteME:=importeMovimientoNC, TipoCambio:=TipoCambioFactura, CveCuenta:=CveCuenta, Contabilizable:=SeContabiliza, CveCompraAmortizacion:=CveCompra) Then IdCtaContable = CtaProveedorComplementaria CveCuenta = CveCuentaProveedorComplementaria - If Not ObjConta.AddPrePolizasDetalle(CvePrePolizaTemp, False, importeMNNC - importeMovimientoNC, Referencia, 206, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=Gvr.DataKey("CveCompra").ToEntero, CveProveedor:=CveProveedorConcepto, CveAcreedor:=CveAcreedor, CvePersonal:=CvePersonal, CveColectiva:=CveColectiva, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=importeMNNC - importeMovimientoNC, ImporteME:=importeMovimientoNC, TipoCambio:=TipoCambioFactura, CveCuenta:=CveCuenta, Contabilizable:=SeContabiliza) Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePolizaTemp, False, importeMNNC - importeMovimientoNC, Referencia, 206, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=Gvr.DataKey("CveCompra").ToEntero, CveProveedor:=CveProveedorConcepto, CveAcreedor:=CveAcreedor, CvePersonal:=CvePersonal, CveColectiva:=CveColectiva, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=importeMNNC - importeMovimientoNC, ImporteME:=importeMovimientoNC, TipoCambio:=TipoCambioFactura, CveCuenta:=CveCuenta, Contabilizable:=SeContabiliza, CveCompraAmortizacion:=CveCompra) Then ErrorPrepoliza = True Exit For End If diff --git a/General/SaldosIniciales.aspx.vb b/General/SaldosIniciales.aspx.vb index 11221fb2f..7e3a9a2bd 100644 --- a/General/SaldosIniciales.aspx.vb +++ b/General/SaldosIniciales.aspx.vb @@ -681,7 +681,7 @@ Partial Class General_SaldosIniciales 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}'").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 diff --git a/Inventarios/RecepcionEntrega.aspx.vb b/Inventarios/RecepcionEntrega.aspx.vb index d2251c4a9..4d3cf4f62 100644 --- a/Inventarios/RecepcionEntrega.aspx.vb +++ b/Inventarios/RecepcionEntrega.aspx.vb @@ -1886,14 +1886,18 @@ Partial Class Inventarios_RecepcionEntrega Dim CveConceptoMovimientoVirtual As Integer = -1 Dim CveAlmacenVirtual As Integer = -1 Dim CveMovimientoRelacionadoVirtual As Integer = -1 + Dim ValidaVirtual As Boolean = False If TipoMovimiento = 1 Then For Each GvRow As GridViewRow In GvDatos.Rows If GvRow.RowType = DataControlRowType.DataRow Then - For Each Tam As DataRow In DtTamanios.Rows - If Tam("CveTamaño").ToString() = GvRow.DataKey("CveTamaño") Then - Dim CvePSCargo = Tam("CvePSCargo").ToString().ToEntero() + If GvRow.datakey("CveTamaño").tostring.toentero > 0 Then + ValidaVirtual = True ' si tiene tamaño, debe de tener virtual + Dim drr As DataRow = DtTamanios.FiltroPrimero(String.Format("CveTamaño={0}", GvRow.DataKey("CveTamaño"))) + If drr IsNot Nothing Then + + Dim CvePSCargo = drr("CvePSCargo").ToString().ToEntero() Dim Row As DataRow = DtPSVirtual.NewRow() Row("CvePS") = CvePSCargo Row("Cantidad") = GvRow.FCTextBox("TbCantidadF").Text.ToDecimal() @@ -1901,9 +1905,9 @@ Partial Class Inventarios_RecepcionEntrega Row("CveUM") = GvRow.DataKey("CveUM").ToEntero() DtPSVirtual.Rows.Add(Row) - End If - Next + + End If End If Next @@ -1911,6 +1915,7 @@ Partial Class Inventarios_RecepcionEntrega CveAlmacenVirtual = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 24).FiltroPrimeroValor("CveAlmacen", $"CveSubProyecto={CveSubProyecto}").ToEntero() ElseIf TipoMovimiento = 2 Then + ValidaVirtual = True Dim CveMovimientoSalidaDev As Integer = -1 If ObjInventario.GetInv_Mov(CveVentaSurtir, UsuarioActual.CveEmpresa) Then Dim RowMovimiento As DataRow = ObjInventario.DtResultados.FiltroPrimero("CvePS IS NULL AND CveTipoAlmacen = 24 AND CveConcepto = 3 AND CveVenta > 0") @@ -1919,6 +1924,7 @@ Partial Class Inventarios_RecepcionEntrega CveMovimientoRelacionadoVirtual = CveMovimientoSalidaDev Else ErrorMovInv = True + TextoError = "Ocurrió un error al procesar el movimiento. Por favor vuelva a intentar." End If 'CARGA CONCEPTOS DEVUELTOS EN LA VENTA @@ -1926,6 +1932,7 @@ Partial Class Inventarios_RecepcionEntrega DtPSVirtual = ObjInventario.DtResultados.Copy() Else ErrorMovInv = True + TextoError = "Ocurrió un error al procesar los movimientos de devolución. Por favor vuelva a intentar." End If CveConceptoMovimientoVirtual = 18 End If @@ -1953,11 +1960,16 @@ Partial Class Inventarios_RecepcionEntrega End If Else - ErrorMovInv = True + If ValidaVirtual Then + ErrorMovInv = True + TextoError = "Ocurrió un error al procesar el movimiento en almacen virtual. Por favor vuelva a intentar." + + End If End If - If DtPSVirtual.Rows.Count = 0 Then + If DtPSVirtual.Rows.Count = 0 AndAlso ValidaVirtual = True Then ErrorMovInv = True + TextoError = "No se tienen productos para el almacen virtual." End If End If diff --git a/Ventas/PV.aspx.vb b/Ventas/PV.aspx.vb index f2ed1bd58..eb7260310 100644 --- a/Ventas/PV.aspx.vb +++ b/Ventas/PV.aspx.vb @@ -5587,9 +5587,8 @@ Partial Class PV Dim CveUnidadMedidaPSA As Integer = -1 Dim UnidadMedidaPSA As String = "Unidad" - Dim CveClacificacionPSA As Integer = -1 - - Dim ClacificacionPSA As String = "" + Dim CveClasificacionPSA As Integer = -1 + Dim ClasificacionPSA As String = "" Dim CveSubProyectoPSA As Integer = -1 Dim SubProyectoPSA As String = "" @@ -5601,8 +5600,8 @@ Partial Class PV DTPSTemp.Columns.Add("Cantidad", GetType(Integer)) DTPSTemp.Columns.Add("CveUnidadMedida", GetType(Integer)) DTPSTemp.Columns.Add("UnidadMedida", GetType(String)) - DTPSTemp.Columns.Add("CveClacificacion", GetType(Integer)) - DTPSTemp.Columns.Add("Clacificacion", GetType(String)) + DTPSTemp.Columns.Add("CveClasificacion", GetType(Integer)) + DTPSTemp.Columns.Add("Clasificacion", GetType(String)) DTPSTemp.Columns.Add("CvePS", GetType(Integer)) DTPSTemp.Columns.Add("PS", GetType(String)) DTPSTemp.Columns.Add("PU", GetType(Decimal)) @@ -5626,21 +5625,14 @@ Partial Class PV If ObjProductosServicios.GetPS(CvePsTemp, -1, UsuarioActual.CveEmpresa) Then CveUnidadMedidaPSA = ObjProductosServicios.CveUnidadMedida - CveClacificacionPSA = ObjProductosServicios.CveClasificacion + CveClasificacionPSA = ObjProductosServicios.CveClasificacion + ClasificacionPSA = ObjProductosServicios.Clasificacion UnidadMedidaPSA = ObjProductosServicios.DtResultados.FiltroPrimeroValor("UnidadMedida") PSPSA = ObjProductosServicios.PS End If - - If UsuarioActual.Empresa.UsaAC Then - ClacificacionPSA = GlobalDTClasificaciones(UsuarioActual.CveEmpresa, UsoClasificacion:=If(UsuarioActual.Empresa.UsaContabilidad, CveClacificacionPSA, -1)).FiltroPrimeroValor("Clasificacion", " Codigo = '' OR Codigo IS NULL ", Orderby:="Clasificacion") - Else - ClacificacionPSA = GlobalDTClasificaciones(UsuarioActual.CveEmpresa, UsoClasificacion:=If(UsuarioActual.Empresa.UsaContabilidad, CveClacificacionPSA, -1)).FiltroPrimeroValor("Clasificacion", Orderby:="Clasificacion") - End If - Dim Cargo As Decimal = DTTamanios.FiltroPrimeroValor("Cargo", $" CveTamaño = { CveTamanioTemp }").ToDecimal - If DTPSTemp.FiltraParametros($"CvePs = { CvePsTemp }").Rows.Count > 0 Then For Each dRowUpdate As DataRow In DTPSTemp.Rows @@ -5660,8 +5652,8 @@ Partial Class PV dRowNuevo("PU") = Cargo dRowNuevo("CveUnidadMedida") = CveUnidadMedidaPSA dRowNuevo("UnidadMedida") = UnidadMedidaPSA - dRowNuevo("CveClacificacion") = CveClacificacionPSA - dRowNuevo("Clacificacion") = ClacificacionPSA + dRowNuevo("CveClasificacion") = CveClasificacionPSA + dRowNuevo("Clasificacion") = ClasificacionPSA dRowNuevo("CvePS") = CvePsTemp dRowNuevo("PS") = PSPSA @@ -5686,7 +5678,7 @@ Partial Class PV For Each drowPsTamaños As DataRow In DTPSTemp.Rows If drowPsTamaños("PU").ToString.ToDecimal > 0 Then Dim Concec = AgregarProductoServicio(drowPsTamaños("Cantidad").ToString.ToEntero, drowPsTamaños("CveUnidadMedida").ToString.ToEntero, drowPsTamaños("UnidadMedida").ToString, - drowPsTamaños("CveClacificacion").ToString.ToEntero, drowPsTamaños("Clacificacion").ToString, drowPsTamaños("CvePS").ToString.ToEntero, + drowPsTamaños("CveClasificacion").ToString.ToEntero, drowPsTamaños("Clasificacion").ToString, drowPsTamaños("CvePS").ToString.ToEntero, drowPsTamaños("PS").ToString, "", drowPsTamaños("PU").ToString.ToDecimal, 0, -1, "", drowPsTamaños("CveSubProyecto").ToString.ToEntero, drowPsTamaños("SubProyecto").ToString, EsCargo:=True, ConsecPSPadre:=drowPsTamaños("ConsecPSPadre").ToString.ToEntero) If Consec > 0 Then diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb index aff09fb81..1ab9afe71 100644 --- a/Ventas/Ventas.aspx.vb +++ b/Ventas/Ventas.aspx.vb @@ -6735,7 +6735,9 @@ Partial Class Ventas 'ENVIAR POLIZA VIRTUAL If ErrorList.Count = 0 Then If UsuarioActual.Empresa.Funcionalidad(576) = "1" Then - GeneraPolizaVentaWS(ObjFactura) + If Not GeneraPolizaVentaWS(ObjVentas, ObjFactura) Then + ErrorList.Add("Ocurrió un error al registrar los movimientos de almacén del contrato de consignación") + End If End If End If @@ -23528,9 +23530,9 @@ Partial Class Ventas Dim CveUnidadMedidaPSA As Integer = -1 Dim UnidadMedidaPSA As String = "Unidad" - Dim CveClacificacionPSA As Integer = -1 + Dim CveClasificacionPSA As Integer = -1 - Dim ClacificacionPSA As String = "" + Dim ClasificacionPSA As String = "" Dim CveSubProyectoPSA As Integer = -1 Dim SubProyectoPSA As String = "" @@ -23538,12 +23540,12 @@ Partial Class Ventas Dim PSPSA As String = "" Dim DTPSTemp As New DataTable '= TmpDT.Clone - 'AgregarProductoServicio(1, CveUnidadMedidaPSA, UnidadMedidaPSA, CveClacificacionPSA, ClacificacionPSA, CvePSPSA, PSPSA, "", ImporteCargo, 0, -1, "", CveSubProyectoPSA, SubProyectoPSA) + DTPSTemp.Columns.Add("Cantidad", GetType(Integer)) DTPSTemp.Columns.Add("CveUnidadMedida", GetType(Integer)) DTPSTemp.Columns.Add("UnidadMedida", GetType(String)) - DTPSTemp.Columns.Add("CveClacificacion", GetType(Integer)) - DTPSTemp.Columns.Add("Clacificacion", GetType(String)) + DTPSTemp.Columns.Add("CveClasificacion", GetType(Integer)) + DTPSTemp.Columns.Add("Clasificacion", GetType(String)) DTPSTemp.Columns.Add("CvePS", GetType(Integer)) DTPSTemp.Columns.Add("PS", GetType(String)) DTPSTemp.Columns.Add("PU", GetType(Decimal)) @@ -23563,20 +23565,16 @@ Partial Class Ventas SubProyectoPSA = DrowPartidas("SubProyecto").ToString Dim ObjProductosServicios As New ClsProductosServicios() + If ObjProductosServicios.GetPS(CvePsTemp, -1, UsuarioActual.CveEmpresa) Then CveUnidadMedidaPSA = ObjProductosServicios.CveUnidadMedida - CveClacificacionPSA = ObjProductosServicios.CveClasificacion + CveClasificacionPSA = ObjProductosServicios.CveClasificacion + ClasificacionPSA = ObjProductosServicios.Clasificacion UnidadMedidaPSA = ObjProductosServicios.DtResultados.FiltroPrimeroValor("UnidadMedida") PSPSA = ObjProductosServicios.PS End If ObjProductosServicios.Dispose() - If UsuarioActual.Empresa.UsaAC Then - ClacificacionPSA = GlobalDTClasificaciones(UsuarioActual.CveEmpresa, UsoClasificacion:=If(UsuarioActual.Empresa.UsaContabilidad, CveClacificacionPSA, -1)).FiltroPrimeroValor("Clasificacion", " Codigo = '' OR Codigo IS NULL ", Orderby:="Clasificacion") - Else - ClacificacionPSA = GlobalDTClasificaciones(UsuarioActual.CveEmpresa, UsoClasificacion:=If(UsuarioActual.Empresa.UsaContabilidad, CveClacificacionPSA, -1)).FiltroPrimeroValor("Clasificacion", Orderby:="Clasificacion") - End If - Dim Cargo As Decimal = DTTamanios.FiltroPrimeroValor("Cargo", $" CveTamaño = { CveTamanioTemp }").ToDecimal @@ -23599,8 +23597,8 @@ Partial Class Ventas dRowNuevo("PU") = Cargo dRowNuevo("CveUnidadMedida") = CveUnidadMedidaPSA dRowNuevo("UnidadMedida") = UnidadMedidaPSA - dRowNuevo("CveClacificacion") = CveClacificacionPSA - dRowNuevo("Clacificacion") = ClacificacionPSA + dRowNuevo("CveClasificacion") = CveClasificacionPSA + dRowNuevo("Clasificacion") = ClasificacionPSA dRowNuevo("CvePS") = CvePsTemp dRowNuevo("PS") = PSPSA @@ -23619,7 +23617,7 @@ Partial Class Ventas Modalidad = "A" If drowPsTamaños("PU").ToString.ToDecimal > 0 Then AgregarProductoServicio(drowPsTamaños("Cantidad").ToString.ToEntero, drowPsTamaños("CveUnidadMedida").ToString.ToEntero, drowPsTamaños("UnidadMedida").ToString, - drowPsTamaños("CveClacificacion").ToString.ToEntero, drowPsTamaños("Clacificacion").ToString, drowPsTamaños("CvePS").ToString.ToEntero, + drowPsTamaños("CveClasificacion").ToString.ToEntero, drowPsTamaños("Clasificacion").ToString, drowPsTamaños("CvePS").ToString.ToEntero, drowPsTamaños("PS").ToString, "", drowPsTamaños("PU").ToString.ToDecimal, 0, -1, "", drowPsTamaños("CveSubProyecto").ToString.ToEntero, drowPsTamaños("SubProyecto").ToString) End If @@ -23812,49 +23810,61 @@ Partial Class Ventas CargaRNC() RegistraScript("$('#ModalAplicarRemisionesNC').modal({backdrop: 'static', keyboard: false });") End Sub - Protected Function GeneraPolizaVentaWS(ObjFactura As Modelos.Factura) As Boolean - Dim obj As New Modelos.MPolizaVentaWS - 'DATOS DEL CLIENTE - obj.customer_name = ObjFactura.Cliente.Nombre - obj.customer_last_name1 = "" - obj.customer_last_name2 = "" - obj.customer_birthday = Nothing - obj.customer_phone = ObjFactura.Cliente.Telefono - obj.customer_email = ObjFactura.Cliente.Mail - obj.customer_gender = "03" 'OTRO GENERO - obj.customer_advertising = False - obj.customer_car_brand = "00" - obj.customer_car_model = "00" - obj.customer_car_year = ObjFactura.Fecha.Year + Protected Function GeneraPolizaVentaWS(ByRef ObjVentas As ClsVentas, ObjFactura As Modelos.Factura) As Boolean + Dim DtUsados As DataTable = Nothing - 'DATOS DE VENTA - obj.sale_date = Now - obj.sale_paidby = "01" - obj.sale_type = "01" 'PISO - obj.sale_type_service = "01" 'PARTICULAR - obj.sale_total = ObjFactura.Total - obj.sale_discount = ObjFactura.SubTotal - obj.sale_id = ObjFactura.CveVenta.ToString() + If ObjVentas.GetVentasUsadosDetalle(ObjFactura.CveVenta) Then + DtUsados = ObjVentas.DtResultados.Copy() + End If - 'DATOS DEL PRODUCTO - obj.product_code = "174925" - obj.product_unique_code = "65047187" - obj.product_sale_type = "02" 'AJUSTE + For Each Row As DataRow In DtUsados.Rows + Dim obj As New Modelos.MPolizaVentaWS + 'DATOS DEL CLIENTE + obj.customer_name = ObjFactura.Cliente.Nombre + obj.customer_last_name1 = "" + obj.customer_last_name2 = "" + obj.customer_birthday = Nothing + obj.customer_phone = ObjFactura.Cliente.Telefono + obj.customer_email = ObjFactura.Cliente.Mail + obj.customer_gender = "03" 'OTRO GENERO + obj.customer_advertising = False + obj.customer_car_brand = "00" + obj.customer_car_model = "00" + obj.customer_car_year = ObjFactura.Fecha.Year - 'DATOS DE USADO - obj.used_product = True - obj.used_brand = "01" - obj.used_bci = "25" - obj.used_month = 1 - obj.used_year = 2015 - obj.used_sale_date = ObjFactura.Fecha + 'DATOS DE VENTA + obj.sale_date = ObjFactura.Fecha + obj.sale_paidby = "01" + obj.sale_type = "01" 'PISO + obj.sale_type_service = "02" 'COMERCIAL + obj.sale_total = ObjFactura.Total + obj.sale_discount = ObjFactura.Descuento + obj.sale_id = String.Format("{0}{1}{2}", ObjFactura.Serie, ObjFactura.Folio, ObjFactura.CveVenta) - Return False - 'EnviarPolizaVentaWS(obj) + 'DATOS DEL PRODUCTO + obj.product_code = Row("Codigo").ToString() + obj.product_unique_code = "" 'se indique el código único de la batería. + obj.product_sale_type = "01 " 'VENTA + + Dim FechaUsado As DateTime = Row("FechaAjuste").ToString().ToDateTime() + + 'DATOS DE USADO + obj.used_product = True + obj.used_brand = Row("IdModelo").ToString() 'MARCAR DEL USADO + obj.used_bci = Row("CveBCIUsado").ToString() 'VALOR DEL BCI + obj.used_month = FechaUsado.Month + obj.used_year = FechaUsado.Year + obj.used_sale_date = FechaUsado + + EnviarPolizaVentaWS(obj) + Next + + Return True End Function Protected Sub EnviarPolizaVentaWS(obj As Modelos.MPolizaVentaWS) - Dim Retorno As String = "[]" + + Dim Respuesta As String = "[]" Dim User As String = "cslth.2809@jcilink.com" Dim Password As String = "ff31580a95f36b51ad27f970428b77a5a9245076" @@ -23898,14 +23908,12 @@ Partial Class Ventas Dim content As New FormUrlEncodedContent(Parametros) Dim response = wc.PostAsync(Url, content).Result - Retorno = response.Content.ReadAsStringAsync().Result + Respuesta = response.Content.ReadAsStringAsync().Result End Using Catch ex As Exception ex.GuardaLog(ex.Message) End Try - - End Sub End Class \ No newline at end of file