diff --git a/Ventas/RepPedidosSTF.aspx b/Ventas/RepPedidosSTF.aspx index 33ce5f120..93dfabfb4 100644 --- a/Ventas/RepPedidosSTF.aspx +++ b/Ventas/RepPedidosSTF.aspx @@ -121,7 +121,7 @@ + DataKeyNames="CveCliente,CveVendedor,CveSubProyecto,CvePS,CveUnidadMedida,Cantidad,PU,CveVentaDetalle,GastosEnvio,CveVenta,SerieFolio,CodigoPS,CantidadOrg,CvePSOrg,CodigoPSOrg" data-sort="true" GridLines="None" Width="99%"> diff --git a/Ventas/RepPedidosSTF.aspx.vb b/Ventas/RepPedidosSTF.aspx.vb index d78cd04fd..7aaa02d40 100644 --- a/Ventas/RepPedidosSTF.aspx.vb +++ b/Ventas/RepPedidosSTF.aspx.vb @@ -1,6 +1,7 @@ Option Explicit On Option Strict On +Imports System.Activities.Expressions Imports System.Data Imports DocumentFormat.OpenXml.Office.CustomUI Imports Extensiones @@ -90,6 +91,11 @@ Partial Class Ventas_RepPedidosSTF Dim ObjVentas As New ClsVentas If ObjVentas.GetRepPedidosSTF(DdlSubProyecto.SelectedValue.ToEntero, DdlVendedor.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, Opcion, FechaInicio, FechaFin) Then DatosGV = ObjVentas.DtResultados + + DatosGV.Columns.Add("CantidadOrg", GetType(Decimal)) + DatosGV.Columns.Add("CvePSOrg", GetType(Integer)) + DatosGV.Columns.Add("CodigoPSOrg", GetType(String)) + GvDatos.DataSource = DatosGV End If @@ -175,6 +181,15 @@ Partial Class Ventas_RepPedidosSTF Exit Sub End If + Dim CvPSOrg As Integer = DatosGV.Rows(GvDatos.EditIndex)("CvePSOrg").ToString.ToEntero + Dim CantidadOrg As Decimal = DatosGV.Rows(GvDatos.EditIndex)("CantidadOrg").ToString.ToDecimal + + If Not (CvPSOrg > 0 Or CantidadOrg > 0) Then + DatosGV.Rows(GvDatos.EditIndex)("CantidadOrg") = GvDatos.Rows(GvDatos.EditIndex).DataKey("Cantidad") + DatosGV.Rows(GvDatos.EditIndex)("CvePSOrg") = GvDatos.Rows(GvDatos.EditIndex).DataKey("CvePS") + DatosGV.Rows(GvDatos.EditIndex)("CodigoPSOrg") = GvDatos.Rows(GvDatos.EditIndex).DataKey("CodigoPS") + End If + DatosGV.Rows(GvDatos.EditIndex)("Cantidad") = Cantidad DatosGV.Rows(GvDatos.EditIndex)("CvePS") = CvePSNuevo DatosGV.Rows(GvDatos.EditIndex)("CodigoPS") = PSNuevo @@ -216,6 +231,10 @@ Partial Class Ventas_RepPedidosSTF TmpDTRemis.Columns.Add("CveVendedor", GetType(Decimal)) TmpDTRemis.Columns.Add("GastosEnvio", GetType(Decimal)) TmpDTRemis.Columns.Add("Observacion", GetType(String)) + + TmpDTRemis.Columns.Add("CantidadOrg", GetType(Decimal)) + TmpDTRemis.Columns.Add("CvePSOrg", GetType(Integer)) + TmpDTRemis.Columns.Add("CodigoPSOrg", GetType(String)) 'agruparo por cliente For Each gvr As GridViewRow In GvDatos.Rows @@ -233,10 +252,16 @@ Partial Class Ventas_RepPedidosSTF drp("GastosEnvio") = gvr.DataKey("GastosEnvio").ToDecimal drp("Observacion") = gvr.DataKey("SerieFolio") + drp("CantidadOrg") = gvr.DataKey("CantidadOrg").ToDecimal + drp("CvePSOrg") = gvr.DataKey("CvePSOrg").ToEntero + drp("CodigoPSOrg") = gvr.DataKey("CodigoPSOrg") + TmpDTRemis.Rows.Add(drp) End If Next + + If TmpDTRemis IsNot Nothing AndAlso TmpDTRemis.Rows.Count = 0 Then Alert("No se ha seleccionado ninguna partida, favor de seleccionar", TipoMensaje.MsgAdvertencia) Exit Sub @@ -254,7 +279,19 @@ Partial Class Ventas_RepPedidosSTF For Each dr As DataRow In TmpDTRemis.FiltraParametros($"CveCliente ={drt("CveCliente")} AND CveVendedor = {drt("CveVendedor")} AND CveSubProyecto = {drt("CveSubProyecto")}").Rows If ObjFactura IsNot Nothing Then - If Not ObjFactura.AgregarPS(dr("CvePS").ToString.ToEntero, dr("Cantidad").ToString.ToDecimal, dr("PU").ToString.ToDecimal, 0, dr("Observacion").ToString, CveSubProyecto:=dr("CveSubProyecto").ToString.ToEntero, CveVentaDetallePadre:=dr("CveVentaDetalle").ToString.ToEntero) Then + + Dim Obs As String = dr("Observacion").ToString + + If (dr("CantidadOrg").ToString.ToEntero > 0) AndAlso (dr("Cantidad").ToString.ToDecimal <> dr("CantidadOrg").ToString.ToDecimal) Then + Obs = $"{Obs}, Cantidad Original: {dr("CantidadOrg").ToString.ToDecimal.ToString("###,###,###.00")}" + End If + + + If (dr("CvePSOrg").ToString.ToEntero > 0) AndAlso (dr("CvePS").ToString.ToEntero <> dr("CvePSOrg").ToString.ToEntero) Then + Obs = $"{Obs}, Producto Original: {dr("CodigoPSOrg").ToString}" + End If + + If Not ObjFactura.AgregarPS(dr("CvePS").ToString.ToEntero, dr("Cantidad").ToString.ToDecimal, dr("PU").ToString.ToDecimal, 0, Obs, CveSubProyecto:=dr("CveSubProyecto").ToString.ToEntero, CveVentaDetallePadre:=dr("CveVentaDetalle").ToString.ToEntero) Then Alert("Error al agregar producto", TipoMensaje.MsgAdvertencia) TieneError = True Exit For @@ -267,8 +304,15 @@ Partial Class Ventas_RepPedidosSTF Next If drt("GastosEnvio").ToString.ToDecimal > 0 Then - Dim tCvePSEnvio As Integer = usuarioactual.empresa.Funcionalidad(160).ToEntero - If Not ObjFactura.AgregarPS(tCvePSEnvio, 1, drt("GastosEnvio").ToString.ToDecimal, 0, drt("Observacion").ToString, CveSubProyecto:=drt("CveSubProyecto").ToString.ToEntero) Then + Dim tCvePSEnvio As Integer = UsuarioActual.Empresa.Funcionalidad(160).ToEntero + + Dim Obs As String = drt("Observacion").ToString + + If (drt("CantidadOrg").ToString.ToEntero > 0 Or drt("CvePSOrg").ToString.ToEntero > 0) AndAlso (drt("CvePS").ToString.ToEntero <> drt("CvePSOrg").ToString.ToEntero Or drt("Cantidad").ToString.ToDecimal <> drt("CantidadOrg").ToString.ToDecimal) Then + Obs = $"{Obs} - Cantidad Original: {drt("CantidadOrg").ToString.ToDecimal.ToString("###,###,###.00")}, Producto Original: {drt("CodigoPSOrg").ToString}" + End If + + If Not ObjFactura.AgregarPS(tCvePSEnvio, 1, drt("GastosEnvio").ToString.ToDecimal, 0, Obs, CveSubProyecto:=drt("CveSubProyecto").ToString.ToEntero) Then TieneError = True End If End If