diff --git a/Bancos/PopIEVentas.aspx.vb b/Bancos/PopIEVentas.aspx.vb index 8884ffc0f..587e2dafd 100644 --- a/Bancos/PopIEVentas.aspx.vb +++ b/Bancos/PopIEVentas.aspx.vb @@ -1555,6 +1555,8 @@ Partial Class Bancos_PopIEVentas 'CveConcepto2 = 43 CveIE = -1 End If + Case Else + MsgError = "No se ha especificada opcion." End Select @@ -3461,19 +3463,13 @@ Partial Class Bancos_PopIEVentas ImporteMovimiento = 0 End Select - If ImporteMovimiento <> 0 AndAlso MsgError <> "" Then + If ImporteMovimiento <> 0 AndAlso MsgError = "" Then 'Conta ContPAQ If IdCtaContable = 0 Then CuentasContablesInvalidas.Append("
" & GlobalDTContaConceptosContables(-1).FiltroPrimero(String.Format("CveConceptoContable = {0}", ConceptoContable))("ConceptoContable").ToString) idCuentaContabilizacion = 0 End If - ''Conta SIG - 'If CveCuenta = 0 Then - ' CuentasContablesInvalidasSIG.Append("
" & GlobalDTContaConceptosContables(-1).FiltroPrimero(String.Format("CveConceptoContable = {0}", ConceptoContable))("ConceptoContable").ToString) - ' CveCuentaContabilizacion = 0 - 'End If - If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteMovimiento, ReferenciaConcepto, ConceptoContable, ConceptoMovimiento, Fecha, IdCtaContable, -1, CveIE, CveVenta, -1, CveSubProyectoContabilizar, CveCliente:=CveClienteOriginal, ImporteMX:=ImporteMX, CveCuenta:=CveCuenta, CvePersonal:=CvePersonal, TipoCambio:=TimpocambioGeneral, TipoCambioPago:=tipoCambioPago, PorcentajeImpuesto:=PorcentajeImpuesto) Then MsgError = "No se pudo insertar la póliza" Exit For diff --git a/Compras/Compras.aspx b/Compras/Compras.aspx index 800a6922b..9ef3bda65 100644 --- a/Compras/Compras.aspx +++ b/Compras/Compras.aspx @@ -1201,8 +1201,8 @@ - - + + diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index 646faeb46..07ce7e246 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -1624,7 +1624,7 @@ Partial Class Compras_Compras - LtlTareaNueva.Text = String.Format(" Tarea", CveCompra) + LtlTareaNueva.Text = String.Format(" Tarea", CveCompra) End If @@ -1704,7 +1704,7 @@ Partial Class Compras_Compras Dim dr As DataRow = ObjeFacturas.DtResultados.Rows(0) ' no toma la cero, porque es el totalizador Dim XMLDoc As New XmlDocument - Dim Archivo As String = String.Format("{0}\Compras\{1}\{2}", UsuarioActual.Empresa.Ruta, dr("RFCDe"), dr("XML")) + Dim Archivo As String = String.Format("{0}Empresas\{1}\Compras\{2}\{3}", ModExtensiones.DirectorioBaseEmpresas, UsuarioActual.CveEmpresa, dr("RFCDe"), dr("XML")) If IO.File.Exists(Archivo) Then Dim Validada As Boolean = True @@ -5811,7 +5811,11 @@ Partial Class Compras_Compras CuentasContablesInvalidas.Append("
" & GlobalDTContaConceptosContables(-1).FiltroPrimero(String.Format("CveConceptoContable = {0}", 6))("ConceptoContable").ToString) idCuentaContabilizacion = 0 End If - + 'Conta SIG + If CveCuenta = 0 Then + CuentasContablesInvalidasSIG.Append("
" & GlobalDTContaConceptosContables(-1).FiltroPrimero(String.Format("CveConceptoContable = {0}", 6))("ConceptoContable").ToString) + CveCuentaContabilizacion = 0 + End If End If Next @@ -6389,7 +6393,7 @@ Partial Class Compras_Compras Dim AgregaMercanciaInventario As Boolean = UsuarioActual.CveEmpresa.Contiene(1, 72, 80, 119, 140, 141) AndAlso UsuarioActual.Empresa.UsaInventarios AndAlso Not UsuarioActual.Empresa.Funcionalidad(126) = "1" - Dim RegistraConcepto225 As Boolean = UsuarioActual.Empresa.UsaInventarios AndAlso DdlTipoComprobante.SelectedValue.Contiene("DEV") AndAlso Not UsuarioActual.Empresa.Funcionalidad(126) = "1" + Dim RegistraConcepto225 As Boolean = UsuarioActual.Empresa.UsaInventarios AndAlso DdlTipoComprobante.SelectedValue.Contiene("NC", "DEV") AndAlso Not UsuarioActual.Empresa.Funcionalidad(126) = "1" If RBLPago.SelectedValue.ToEntero = 4 Then Exit Select 'Es credito el concepto 6 se agrega en CASE 17 @@ -6415,7 +6419,11 @@ Partial Class Compras_Compras CuentasContablesInvalidas.Append("
" & GlobalDTContaConceptosContables(-1).FiltroPrimero(String.Format("CveConceptoContable = {0}", 49))("ConceptoContable").ToString) idCuentaContabilizacion = 0 End If - + 'Conta SIG + If CveCuenta = 0 Then + CuentasContablesInvalidasSIG.Append("
" & GlobalDTContaConceptosContables(-1).FiltroPrimero(String.Format("CveConceptoContable = {0}", 49))("ConceptoContable").ToString) + CveCuentaContabilizacion = 0 + End If If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, importeMovimiento, Row2("CodAF").ToString, 49, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveActivoFijo:=Row2("CveActivoFijo").ToString.ToEntero, CveAcreedor:=CveAcreedor, CveIE:=CveIE, CvePersonal:=CvePersonal, CveColectiva:=CveColectiva, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=importeMN, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), CveCuenta:=CveCuenta, TipoCambio:=tipoCambioActual, Contabilizable:=SeContabiliza) Then ErrorPrepoliza = True End If @@ -6741,13 +6749,9 @@ Partial Class Compras_Compras ' CveCuenta = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaGastoSIG", String.Format("CveClasificacion = {0}", Row2("CveClasificacion"))).ToString.ToEntero End If End If - 'Conta ContPAQ - End If - 'If IdCtaContable = 0 AndAlso DdlTipoComprobante.SelectedValue = "Fac" Then - ' CuentasContablesInvalidas.Append("
" & GlobalDTContaConceptosContables(-1).FiltroPrimero(String.Format("CveConceptoContable = {0}", 6))("ConceptoContable").ToString) - ' idCuentaContabilizacion = 0 - 'End If + + 'SEGMENTO DE NEGOCIO @@ -6759,6 +6763,12 @@ Partial Class Compras_Compras 'AGREGA MOVIMIENTO If importeMovimiento.RoundSQL <> 0 Then + 'Conta ContPAQ + ' If IdCtaContable = 0 Then + ' CuentasContablesInvalidas.Append("
" & GlobalDTContaConceptosContables(-1).FiltroPrimero(String.Format("CveConceptoContable = {0}", 6))("ConceptoContable").ToString) + ' idCuentaContabilizacion = 0 + 'End If + Dim tcvecon As Integer = 6 Dim tidctacon As Integer = 6 @@ -6796,6 +6806,9 @@ Partial Class Compras_Compras End If + + + End If Next @@ -6873,6 +6886,11 @@ Partial Class Compras_Compras CuentasContablesInvalidas.Append("
" & GlobalDTContaConceptosContables(-1).FiltroPrimero(String.Format("CveConceptoContable = {0}", ConceptoContable))("ConceptoContable").ToString) idCuentaContabilizacion = 0 End If + 'Conta SIG + If CveCuenta = 0 Then + CuentasContablesInvalidasSIG.Append("
" & GlobalDTContaConceptosContables(-1).FiltroPrimero(String.Format("CveConceptoContable = {0}", ConceptoContable))("ConceptoContable").ToString) + CveCuentaContabilizacion = 0 + End If If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, importeMovimiento, Referencia, ConceptoContable, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveAcreedor:=CveAcreedor, CveIE:=rw.DataKey("CveIE").ToString.ToEntero, CvePersonal:=CvePersonal, CveColectiva:=CveColectiva, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=importeMN, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), CveCuenta:=CveCuenta, Contabilizable:=SeContabiliza) Then ErrorPrepoliza = True @@ -7128,6 +7146,11 @@ Partial Class Compras_Compras CuentasContablesInvalidas.Append("
" & GlobalDTContaConceptosContables(-1).FiltroPrimero(String.Format("CveConceptoContable = {0}", ConceptoContable))("ConceptoContable").ToString) idCuentaContabilizacion = 0 End If + 'Conta SIG + If CveCuenta = 0 Then + CuentasContablesInvalidas.Append("
" & GlobalDTContaConceptosContables(-1).FiltroPrimero(String.Format("CveConceptoContable = {0}", ConceptoContable))("ConceptoContable").ToString) + idCuentaContabilizacion = 0 + End If 'AMORTIZACIÓN NC ESPECIAL COMPLEMENTARIA If ConceptoContableAnticipo.Contiene(60) And DdlMoneda.SelectedValue.ToEntero <> 1 And UsuarioActual.CveEmpresa.Contiene(119) Then @@ -7458,6 +7481,11 @@ Partial Class Compras_Compras CuentasContablesInvalidas.Append("
" & GlobalDTContaConceptosContables(-1).FiltroPrimero(String.Format("CveConceptoContable = {0}", ConceptoContable))("ConceptoContable").ToString) idCuentaContabilizacion = 0 End If + 'COnta SIG + If CveCuenta = 0 Then + CuentasContablesInvalidasSIG.Append("
" & GlobalDTContaConceptosContables(-1).FiltroPrimero(String.Format("CveConceptoContable = {0}", ConceptoContable))("ConceptoContable").ToString) + CveCuentaContabilizacion = 0 + End If If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, importeMovimiento, Referencia, ConceptoContable, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveAcreedor:=CveAcreedor, CveIE:=CveIE, CvePersonal:=CvePersonal, CveColectiva:=CveColectiva, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=Math.Round(importeMN, 2, MidpointRounding.AwayFromZero), ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), CveCuenta:=CveCuenta, TipoCambio:=tipoCambioActual, PorcentajeImpuesto:=PorcentajeImpuesto, Contabilizable:=SeContabiliza) Then ErrorPrepoliza = True @@ -9098,6 +9126,11 @@ Partial Class Compras_Compras CuentasContablesInvalidas.Append("
" & GlobalDTContaConceptosContables(-1).FiltroPrimero(String.Format("CveConceptoContable = {0}", ConceptoContable))("ConceptoContable").ToString) idCuentaContabilizacion = 0 End If + 'Conta SIG + If CveCuenta = 0 Then + CuentasContablesInvalidasSIG.Append("
" & GlobalDTContaConceptosContables(-1).FiltroPrimero(String.Format("CveConceptoContable = {0}", ConceptoContable))("ConceptoContable").ToString) + CveCuentaContabilizacion = 0 + End If If Not ObjConta.AddPrePolizasDetalle(CvePrePolizaNueva, TipoMovimiento, ImporteMovimiento, Concepto, ConceptoContable, Concepto, Fecha, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CveIE:=CveIE, ImporteMX:=importeMN, CvePrePolizaOriginal:=CvePrePoliza, ImporteME:=If(tipoCambio = 1, 0, ImporteMovimiento), CveCuenta:=CveCuenta, PorcentajeImpuesto:=PorcentajeImpuesto) Then ErrorMovtosCxP = 1 diff --git a/Contratos/Contrato.aspx b/Contratos/Contrato.aspx index c75733b7f..e28415dcf 100644 --- a/Contratos/Contrato.aspx +++ b/Contratos/Contrato.aspx @@ -1788,7 +1788,7 @@ - + @@ -1843,7 +1843,7 @@ - + @@ -1882,7 +1882,7 @@ - + diff --git a/Contratos/Contrato.vb b/Contratos/Contrato.vb index 4adb7f0ae..546200e3f 100644 --- a/Contratos/Contrato.vb +++ b/Contratos/Contrato.vb @@ -2149,502 +2149,18 @@ Partial Class Contratos_Default Else Alert("No existe el archivo. Favor de subir un archivo excel a la plataforma.", TipoMensaje.MsgError) End If - End Sub - - + End Sub + + #End Region - - - - - 'VIEJO ALMACEN - '#Region " MOVIMIENTOS ALMACEN " - ' Private Sub CargaInventarios() - ' If CveMovimiento > 0 Then - ' Dim ObjInventarios As New ClsInventarios - - - ' If ObjInventarios.GetMovimientos(CveMovimiento, 8, -1, UsuarioActual.CveEmpresa) Then - ' TxtFechaAlmacen.Text = ObjInventarios.Fecha.ToShortDateString - ' DdlAlmacen.SelectedValue = ObjInventarios.CveAlmacen.ToString - ' TxtObservaciones.Text = ObjInventarios.Observaciones - - ' 'cargar también los movimentos detalle - ' If ObjInventarios.GetMovimientosDetalle(CveMovimiento, UsuarioActual.CveEmpresa) Then - ' DtMovimientos = ObjInventarios.DtResultados.FiltraParametros("", "CveMovimientoDetalle") - - ' DtMovimientos.Columns.Add("EstatusExistencia") - ' DtMovimientos.Columns("No").AutoIncrement = True - ' DtMovimientos.Columns("No").AutoIncrementSeed = DtMovimientos.Rows.Count + 1 - ' DtMovimientos.Columns("No").AutoIncrementStep = 1 - - ' Dim keys(1) As DataColumn - ' keys(0) = DtMovimientos.Columns("No") - ' DtMovimientos.PrimaryKey = keys - - ' CargaGvDatos() - - ' 'BLOQUEA - ' TxtFechaAlmacen.Enabled = False - ' ImgFechaAlmacen.Enabled = False - ' DdlAlmacen.Enabled = False - ' TxtObservaciones.Enabled = False - ' LbAgregarAlmacen.Visible = False - ' 'TxtCantidadAlmacen.Enabled = False - ' 'DdlUnidad.Enabled = False - ' DdlProducto2.Enabled = False - ' DdlClasificacion.Enabled = False - ' TxtnSerieLote.Enabled = False - ' DivCodigoSeriePS.Visible = False - - ' Else - ' Alert("Ocurrió un error al cargar la información de los Activos Fijos. Por favor vuelva a intentar.", TipoMensaje.MsgError) - ' End If - - ' Else - ' Alert("Ocurrió un error al cargar la información de los Activos Fijos. Por favor vuelva a intentar.", TipoMensaje.MsgError) - ' End If - - - ' ObjInventarios.Dispose() - ' End If - ' End Sub - - ' Private Sub InicializaAlmacen() - ' CreaDTAlmacen() - ' CargaPS() - ' TxtFechaAlmacen.Text = Now.ToShortDateString - - ' 'DdlAlmacen.DataSource = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) - ' 'DdlAlmacen.DataBind() - ' 'DdlAlmacen.Items.Insert(0, New ListItem("Seleccione", "-1")) - - ' End Sub - - '#Region "CARGA DATOS" - ' Protected Sub CreaDTAlmacen() - ' Dim dt As New DataTable - - ' Dim column As DataColumn = New DataColumn("No") - ' column.DataType = Type.GetType("System.Int32") - ' With column - ' .AutoIncrement = True - ' .AutoIncrementSeed = 1 - ' .AutoIncrementStep = 1 - ' End With - - ' dt.Columns.Add(column) - - - ' dt.Columns.Add("Cantidad", Type.GetType("System.Double")) - ' dt.Columns.Add("CveUM", Type.GetType("System.Int32")) - ' dt.Columns.Add("UnidadMedida") - ' dt.Columns.Add("CvePS", Type.GetType("System.Int32")) - ' dt.Columns.Add("PS") - ' dt.Columns.Add("SerieLote") - - - ' dt.Columns.Add("CveClasificacion", Type.GetType("System.Int32")) - ' dt.Columns.Add("EstatusExistencia") - - ' DtMovimientos = dt - - ' CargaGvDatos() - - ' End Sub - - ' Private Sub CargaPS() - ' DdlProducto2.setEsWebService(UsuarioActual.Empresa.Funcionalidad(105) = "1") - - ' If UsuarioActual.CveEmpresa = 66 Then - ' DdlProducto2.ddlWS.Attributes.Add("data-pagina", "Inventarios") - ' End If - ' If Not DdlProducto2.UsaWebService AndAlso CType(DdlProducto2.DataSource, DataTable) Is Nothing Then - ' DdlProducto2.DataSource = GlobalDTProductosServicios(UsuarioActual.CveEmpresa).FiltraParametros($"Inv_CveMetodoInventario = 5") - ' DdlProducto2.DataBind() - ' DdlProducto2.ddl.Items.Insert(0, New ListItem("----", "-1")) - ' End If - - ' End Sub - '#End Region - - '#Region "AGREGAR Y GUARDAR" - ' Protected Sub btnAgregar_Click(sender As Object, e As EventArgs) Handles LBAgregar.Click - ' BtnAgregarPS(1) - ' End Sub - ' Protected Sub BtnSerieAddNew_Click(sender As Object, e As EventArgs) - ' BtnAgregarPS(1) - ' End Sub - ' Private Sub BtnAgregarPS(Cantidad As Double) - ' Dim CveProducto As Integer = DdlProducto2.SelectedValue.ToEntero - - ' If CveProducto > 0 Then - ' If TxtnSerieLote.Visible AndAlso TxtnSerieLote.Text = "" Then - ' Alert("Serie-Lote es necesario", TipoMensaje.MsgAdvertencia) - ' Exit Sub - ' End If - - ' Dim Valido = ValidaExistencia(Cantidad, CveProducto, -1, TxtnSerieLote.Text) 'If(TxtnSerieLote.Visible, TxtnSerieLote.Text, "-1") - - ' If Valido Then - ' AgregarPS(Cantidad, CveProducto, -1, TxtnSerieLote.Text) 'If(TxtnSerieLote.Visible, TxtnSerieLote.Text, "-1") - ' End If - - ' End If - ' End Sub - ' Private Function ValidaExistencia(Cantidad As Double, CvePS As Integer, CveUnidadMedida As Integer, Optional SerieLote As String = "-1") As Boolean - ' Dim Retorno = True - - ' Dim Inv As New ClsInventarios - ' Dim Existencia As Double = Inv.GetExistenciasPS(CvePS, CveUnidadMedida, UsuarioActual.CveEmpresa, DdlAlmacen.SelectedValue.ToEntero, -1, TxtFechaAlmacen.Text.ToDate.ToString("yyyy/MM/dd 23:59"), SerieLote) - ' Inv.Dispose() - - ' If Existencia - Cantidad - DtMovimientos.SUM("Cantidad", $"CvePS = {CvePS} AND CveUM = {CveUnidadMedida} {If(SerieLote <> "-1", $" AND SerieLote = '{SerieLote}'", "")}") < 0 Then - ' If Existencia = 0 Then - ' Alert("No hay existencia del producto", TipoMensaje.MsgAdvertencia) - ' Else - ' Alert(String.Format("Solo hay en existencia: {0}", Existencia), TipoMensaje.MsgAdvertencia) - ' End If - ' Retorno = False - ' End If - - ' Return Retorno - ' End Function - ' Private Sub AgregarPS(Cantidad As Double, CvePS As Integer, CveUnidadMedida As Integer, Optional SerieLote As String = "-1") - ' If Cantidad <= 0 Then - ' Alert("La cantidad debe ser mayor a cero (0). Por favor verifique y vuelva a intentar", TipoMensaje.MsgAdvertencia) - ' End If - - ' Dim CveClasificacion As Integer - - ' Dim DrPS As DataRow = GlobalDTProductosServicios(UsuarioActual.CveEmpresa).FiltroPrimero(String.Format("CvePS = {0}", CvePS)) - ' If DrPS IsNot Nothing Then CveClasificacion = DrPS("CveClasificacion").ToString.ToEntero - - ' Dim registro As DataRow = DtMovimientos.NewRow - ' registro.Item("Cantidad") = Cantidad - ' registro.Item("CveUM") = DrPS("CveUnidadMedida") - ' registro.Item("UnidadMedida") = DrPS("UnidadMedida") - ' registro.Item("CvePS") = CvePS - ' registro.Item("PS") = DrPS("PS") - ' registro.Item("SerieLote") = SerieLote - ' registro.Item("CveClasificacion") = CveClasificacion - ' registro.Item("EstatusExistencia") = "1" - - ' DtMovimientos.Rows.Add(registro) - - ' CargaGvDatos() - - ' LimpiaAgregar() - ' End Sub - - ' Private Sub LimpiaAgregar() - ' DdlClasificacion.SelectedValue = "-1" - ' DdlClasificacion_SelectedIndexChanged(DdlClasificacion, EventArgs.Empty) - ' 'TxtCantidad.Text = "" - ' TxtnSerieLote.Text = "" - ' 'TxtnSerieLote.Visible = False - ' End Sub - - ' Protected Function GuardarAlmacen(ObjInventarios As ClsInventarios) As Boolean - ' Dim ErrorMovInv As Boolean = False - - ' 'NO HACE NADA YA QUE TIENE MOVIMIENTO REGISTRADO O NO TENGA DETALLES EN EL GV - ' If CveMovimiento > 0 Or GvDatos.Rows.Count = 0 Then - ' Return ErrorMovInv - ' End If - - - ' 'VALIDA ESTATUS EXISTENCIA - ' For Each dr As DataRow In DtMovimientos.Rows - ' If dr("EstatusExistencia").ToString = "-1" Then - ' Alert("Tiene que rectificar los movimientos con error.", TipoMensaje.MsgError) - ' Return True - ' End If - ' Next - - ' Dim CveMovimientoSalida = 0 - ' Dim CveMovimientoEntrada = 0 - ' Dim IDPoliza As Integer = 0 - ' Dim FolioSalida = 0 - ' Dim FolioEntrada = 0 - ' Dim AlmacenEntrada = -1 - - ' Dim ErrorAC As Boolean = False - ' Dim ErrorExistencia = False - - ' Dim TextoError = "" - ' Dim TextoExistencia As StringBuilder = New StringBuilder - - - ' 'VALIDA EXISTENCIA - ' Dim Existencia As Double - ' TextoExistencia.Append("Los siguiente productos se ajustaron por falta de exitencia:
") - ' For Each dr As DataRow In DtMovimientos.Rows - ' Existencia = ObjInventarios.GetExistenciasPS(dr("CvePS").ToString.ToEntero, dr("CveUM").ToString.ToEntero, UsuarioActual.CveEmpresa, DdlAlmacen.SelectedValue.ToEntero, -1, TxtFechaAlmacen.Text.ToDate.ToString("yyyy/MM/dd 23:59"), If(dr("SerieLote").ToString = "", "-1", dr("SerieLote").ToString)) - - ' Existencia -= DtMovimientos.SUM("Cantidad", $"CvePS = {dr("CvePS").ToString.ToEntero} AND CveUM = {dr("CveUM").ToString.ToEntero} {If(dr("SerieLote").ToString <> "-1", $" AND SerieLote = '{dr("SerieLote").ToString}'", "")}") - - ' If Existencia < 0 Then - ' ErrorExistencia = True - ' dr("EstatusExistencia") = "-1" - ' dr("Cantidad") = Existencia - ' TextoExistencia.AppendFormat("- #{0} {1}
", dr("No").ToString, dr("PS").ToString) - ' End If - ' Next - - ' 'REGISTRA LA SALIDA Y ENTRADA (TRASPASO) - ' If Not ErrorExistencia Then - ' Dim Fecha As Date = TxtFechaAlmacen.Text.ToDate - - ' 'AGREGAMOS LA SALIDA DEL ALMACEN ORIGEN - ' CveMovimientoSalida = ObjInventarios.AddMovimiento(DdlAlmacen.SelectedValue.ToEntero, 8, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, Observaciones:=TxtObservaciones.Text.Trim, CveContrato:=CveContrato) - ' FolioSalida = ObjInventarios.Folio - - ' If CveMovimientoSalida <= 0 Then - ' TextoError = "No se pudo generar el movimiento de salida correctamente" - ' ErrorMovInv = True - ' Else - - ' For Each Dr As DataRow In DtMovimientos.Rows - ' If Not ObjInventarios.AddMovimientoDetalle(CveMovimientoSalida, Dr("Cantidad").ToString.ToDouble, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, 0, -1, -1, Dr("SerieLote").ToString) Then - ' ErrorMovInv = True - ' TextoError = "Ocurrió un error al guardar los movimientos de salida" - ' Exit For - ' End If - ' Next - ' End If - - ' 'AGREGAMOS LA ENTRADA - ' If Not ErrorMovInv Then - ' AlmacenEntrada = 89 - - ' CveMovimientoEntrada = ObjInventarios.AddMovimiento(AlmacenEntrada, 9, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, Observaciones:=TxtObservaciones.Text.Trim, CveMovimientoRelacionado:=CveMovimientoSalida, CveContrato:=CveContrato) - ' FolioEntrada = ObjInventarios.Folio - - ' If CveMovimientoEntrada <= 0 Then - ' TextoError = "No se pudo generar el movimiento de entrada correctamente" - ' ErrorMovInv = True - ' Else - - ' If ObjInventarios.GetMovimientosDetalle(CveMovimientoSalida, UsuarioActual.CveEmpresa) Then - - ' For Each Dr As DataRow In ObjInventarios.DtResultados.Rows - ' If Not ObjInventarios.AddMovimientoDetalle(CveMovimientoEntrada, Dr("Cantidad").ToString.ToDouble, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("PU").ToString.ToDouble, Dr("CveAF").ToString.ToEntero, -1, Dr("SerieLote").ToString) Then - ' ErrorMovInv = True - ' TextoError = "Ocurrió un error al guardar los movimientos de entrada" - ' Exit For - ' End If - ' Next - - ' End If - - ' End If - ' End If - - - ' If Not ErrorMovInv Then - ' Dim Mensaje As StringBuilder = New StringBuilder - - ' Mensaje.Append("Se realizó con éxito el traspaso.") - - ' Mensaje.AppendFormat("
Folio de Salida: {0}", FolioSalida, CveMovimientoSalida) - ' Mensaje.AppendFormat("
Imprimir Reporte", Encripta(String.Format("OP=Alm&CveMovimiento={0}", CveMovimientoSalida))) - - ' Mensaje.AppendFormat("
Folio de Entrada: {0}", FolioEntrada, CveMovimientoEntrada) - ' Mensaje.AppendFormat("
Imprimir Reporte", Encripta(String.Format("OP=Alm&CveMovimiento={0}", CveMovimientoEntrada))) - - ' Alert(Mensaje.ToString, TipoMensaje.MsgInformacion) - - ' TxtResponsable.Text = "" - ' TxtFechaAlmacen.Text = Now.ToShortDateString - ' TxtObservaciones.Text = "" - ' 'TxtCantidad.Text = "" - - ' DtMovimientos.Rows.Clear() - ' CargaGvDatos() - ' Else - ' Alert(TextoError, TipoMensaje.MsgError) - ' End If - - ' Else - ' Alert(TextoExistencia.ToString, TipoMensaje.MsgError) - ' ErrorMovInv = True - ' End If - - - ' 'SI OCURRIO UN ERROR EN LA EXISTENCIA RECARGAMOS EL GRID PARA COLOREAR LOS DETALLES CON ERROR - ' If ErrorExistencia Then - ' CargaGvDatos() - ' End If - - ' Return ErrorMovInv - - ' End Function - - - '#End Region - - '#Region " AGREGA CON TXT | CODIGO - SERIE " - ' Protected Sub BtnCodigoPS_Click(sender As Object, e As EventArgs) - - ' If TxtCodigoPS.Text = "" Then - ' Exit Sub - ' End If - - ' TdSeriePS.Visible = False - - ' Dim DrPS = GlobalDTProductosServicios(UsuarioActual.CveEmpresa).FiltroPrimero($"CodigoBarras = '{TxtCodigoPS.Text}'") - ' If DrPS Is Nothing Then - ' Alert($"No se ha encontrado un producto del Codigo ""{TxtCodigoPS.Text}"". ", TipoMensaje.MsgAdvertencia, "window.setTimeout(Focus,200);") - ' TxtCodigoPS.Text = "" - ' Exit Sub - ' End If - - ' If DrPS("Inv_CveMetodoInventario").ToString.ToEntero = 5 Then - ' TdSeriePS.Visible = True - ' TxtSeriePS.Focus() - ' CvePSSerieLote = DrPS("CvePS").ToString.ToEntero - ' CveUMSerieLote = DrPS("CveUnidadMedida").ToString.ToEntero - ' Exit Sub - ' End If - - ' AgregarPS(1, DrPS("CvePS").ToString.ToEntero, DrPS("CveUnidadMedida").ToString.ToEntero) - - ' TxtCodigoPS.Text = "" - - ' End Sub - ' Protected Sub BtnSeriePS_Click(sender As Object, e As EventArgs) - ' If TxtSeriePS.Text.Trim = "" Then - ' Exit Sub - ' End If - - ' 'TxtCantidad.Text = "1" - - ' Dim Valido = ValidaExistencia(1, CvePSSerieLote, CveUMSerieLote, TxtSeriePS.Text.Trim) - - ' If Valido Then - ' AgregarPS(1, CvePSSerieLote, CveUMSerieLote, TxtSeriePS.Text.Trim) - ' Else - ' TxtSeriePS.Text = "" - ' TxtSeriePS.Focus() - ' Exit Sub - ' End If - - ' TdSeriePS.Visible = False - ' TxtSeriePS.Text = "" - ' TxtCodigoPS.Text = "" - ' TxtCodigoPS.Focus() - - ' End Sub - '#End Region - - '#Region "DDL CLASIFICACION" - ' Protected Sub DdlClasificacion_SelectedIndexChanged(sender As Object, e As System.EventArgs) Handles DdlClasificacion.SelectedIndexChanged - ' ChangeDdlProducto() - ' End Sub - ' Private Sub ChangeDdlProducto() - ' If UsuarioActual.Empresa.Funcionalidad(105) = "" Then - ' Dim filtro As String = "" - ' If Not (DdlClasificacion.SelectedValue = "-1") Then - - ' If isWhitFamily() Then - ' filtro = String.Format("AND CveSubFamilia={0}", DdlClasificacion.SelectedValue) - ' Else - ' filtro = String.Format("AND CveClasificacion={0}", DdlClasificacion.SelectedValue) - ' End If - ' End If - ' DdlProducto2.DataSource = GlobalDTProductosServicios(UsuarioActual.CveEmpresa).FiltraParametros($"Inv_CveMetodoInventario = 5 {filtro}", "PS") - ' DdlProducto2.DataBind() - ' DdlProducto2.ddl.Items.Insert(0, New ListItem("----", "-1")) - ' Else - ' If isWhitFamily() Then - ' DdlProducto2.ddlWS.Attributes.Add("data-idSubFamilia", DdlClasificacion.SelectedValue) - ' Else - ' DdlProducto2.ddlWS.Attributes.Add("data-idClasificacion", DdlClasificacion.SelectedValue) - ' End If - ' End If - ' End Sub - - ' Protected Sub DdlProducto_ValueChanged(sender As Object, e As EventArgs) Handles DdlProducto2.selectedindexchange - ' ElProductoChange() - ' End Sub - ' Private Sub ElProductoChange() - ' 'TxtnSerieLote.Visible = False - - ' 'If DdlProducto2.SelectedValue.ToEntero > 0 Then - ' ' If GlobalDTProductosServicios(UsuarioActual.CveEmpresa).FiltraParametros(String.Format("CvePS = {0} AND Inv_CveMetodoInventario = 5 ", DdlProducto2.SelectedValue), "PS").Rows.Count > 0 Then - ' ' ThSerieLote.Visible = True - ' ' TdSerieLote.Visible = True - ' ' TxtnSerieLote.Visible = True - ' ' GvDatos.Columns(2).Visible = True - ' ' End If - ' 'End If - - ' 'Dim objinv As New ClsInventarios - ' 'If objinv.GetExistenciasProducto(DdlProducto2.SelectedValue.ToEntero, -1, UsuarioActual.CveEmpresa, DdlAlmacen.SelectedValue.ToEntero, -1, Now) Then - ' ' If objinv.DtResultados.Rows.Count = 0 Then - ' ' Alert("No hay existencias de este producto", TipoMensaje.MsgAdvertencia) - ' ' End If - ' 'End If - - ' 'UpGral.Update() - - ' End Sub - ' Private Function isWhitFamily() As Boolean - ' Return (UsuarioActual.CveEmpresa = 66) - ' End Function - '#End Region - - '#Region "GV DATOS" - ' Private Sub CargaGvDatos() - ' 'TxtnSerieLote.Visible = False - ' 'ThSerieLote.Visible = False - ' 'TdSerieLote.Visible = False - ' 'GvDatos.Columns(4).Visible = False - - ' GvDatos.DataSource = DtMovimientos - ' GvDatos.DataBind() - ' UpGral.Update() - ' End Sub - ' Protected Sub GvDatos_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvDatos.RowDataBound - ' If e.Row.RowType = DataControlRowType.DataRow Then - - ' If CveMovimiento > 0 Then - ' e.Row.FCLinkButton("lnkRemove").Visible = False - ' End If - - ' If e.Row.DBCampo("EstatusExistencia").ToEntero < 0 Then - ' e.Row.Cells(0).BackColor = Drawing.Color.Red - ' End If - - ' If e.Row.DBCampo("SerieLote").ToString <> "-1" Then - ' 'TxtnSerieLote.Visible = True - ' 'ThSerieLote.Visible = True - ' 'TdSerieLote.Visible = True - ' 'GvDatos.Columns(2).Visible = True - ' 'e.Row.Cells(2).Text = e.Row.DBCampo("SerieLote").ToString - ' Else - ' e.Row.Cells(2).Text = "" - ' End If - - ' End If - ' End Sub - ' Protected Sub GvPS_RowDeleting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles GvDatos.RowDeleting - ' Dim DbRow As DataRow = Nothing - ' DbRow = DtMovimientos.Rows(e.RowIndex) - - ' DtMovimientos.Rows.Remove(DbRow) - ' CargaGvDatos() - ' End Sub - '#End Region - - '#End Region - - - - - - + + + + + + + + End Class diff --git a/OC/OC.aspx b/OC/OC.aspx index a26900c6e..340dca446 100644 --- a/OC/OC.aspx +++ b/OC/OC.aspx @@ -1378,7 +1378,7 @@ - + diff --git a/OC/OC.aspx.vb b/OC/OC.aspx.vb index 43b09710e..ea5f2e8f6 100644 --- a/OC/OC.aspx.vb +++ b/OC/OC.aspx.vb @@ -2841,7 +2841,7 @@ Partial Class OC Dim CveMovimientoEntradaAjuste = ObjInventarios.AddMovimiento(CveAlmacen, 2, 1, Now, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, Modulo:="OC/G") If ObjInventarios.GetMovimientosDetalle(CveMovimientoSalidaAjuste, UsuarioActual.CveEmpresa) Then For Each Dr As DataRow In ObjInventarios.DtResultados.Rows - If Not ObjInventarios.AddMovimientoDetalle(CveMovimientoEntradaAjuste, Dr("Cantidad").ToString.ToDouble, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, DtInvOCDiferencias.FiltroPrimeroValor("ImporteMovto", $"CveOrdenCompraDetalle = {Dr("CveOrdenCompraDetalle").ToString.ToEntero}").ToDouble, Dr("CveAF").ToString.ToEntero, -1, Dr("SerieLote").ToString, Lote:=Dr("Lote").ToString, FechaCaducidad:=Dr("FechaCaducidad").ToString.ToDate, CveOrdenCompraDetalle:=Dr("CveOrdenCompraDetalle").ToString.ToEntero) Then + If Not ObjInventarios.AddMovimientoDetalle(CveMovimientoEntradaAjuste, Dr("Cantidad").ToString.ToDouble, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, DtInvOCDiferencias.FiltroPrimeroValor("ImporteMovto", $"CveOrdenCompraDetalle = {Dr("CveOrdenCompraDetalle").ToString.ToEntero}").ToDouble, Dr("CveAF").ToString.ToEntero, -1, Dr("Serie").ToString, Lote:=Dr("Lote").ToString, FechaCaducidad:=Dr("FechaCaducidad").ToString.ToDate, CveOrdenCompraDetalle:=Dr("CveOrdenCompraDetalle").ToString.ToEntero) Then TieneError = True Exit For End If @@ -6811,7 +6811,7 @@ Partial Class OC Else 'DETALLE - If e.Row.DBCampo("SerieLote") <> "" Then + If e.Row.DBCampo("Serie") <> "" Then GVInv.Columns(4).Visible = True End If diff --git a/PortalCliente/PortalCliente.aspx.vb b/PortalCliente/PortalCliente.aspx.vb index 8712a2117..cf9b3414e 100644 --- a/PortalCliente/PortalCliente.aspx.vb +++ b/PortalCliente/PortalCliente.aspx.vb @@ -2216,7 +2216,7 @@ Partial Class Ventas_PortalCliente TmpDT.Columns.Add("NoIdentificacion", GetType(String)) TmpDT.Columns.Add("CveTipoPS", GetType(Integer)) TmpDT.Columns.Add("CveTipoInvPS", GetType(Integer)) - TmpDT.Columns.Add("SerieLote", GetType(String)) + TmpDT.Columns.Add("Serie", GetType(String)) TmpDT.Columns.Add("CuentaPredial", GetType(String)) TmpDT.Columns.Add("Obs", GetType(String)) TmpDT.Columns.Add("TiempoEntrega", GetType(String)) @@ -2482,7 +2482,7 @@ Partial Class Ventas_PortalCliente Private Function AgregarProductoServicio(Cantidad As Decimal, CveUM As Integer, UM As String, CveClasificacion As Integer, Clasificacion As String, CvePS As Integer, PS As String, Obs As String, PU As Decimal, Descuento As Decimal, CveProyecto As Integer, Proyecto As String, CveSubProyecto As Integer, SubProyecto As String, - Optional SerieLote As String = "", Optional TiempoEntrega As String = "", Optional EntregaDirecta As Integer = 0, + Optional Serie As String = "", Optional TiempoEntrega As String = "", Optional EntregaDirecta As Integer = 0, 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) As Boolean @@ -2510,7 +2510,7 @@ Partial Class Ventas_PortalCliente Row("Proyecto") = Proyecto Row("CveSubProyecto") = CveSubProyecto Row("SubProyecto") = SubProyecto - Row("SerieLote") = SerieLote + Row("Serie") = Serie Row("TiempoEntrega") = TiempoEntrega Row("Orden") = TmpDT.Rows.Count + 1 Row("Cantidad") = Cantidad diff --git a/Sistemas/Empresa.aspx b/Sistemas/Empresa.aspx index 244ff92f6..505dbd406 100644 --- a/Sistemas/Empresa.aspx +++ b/Sistemas/Empresa.aspx @@ -1325,7 +1325,7 @@ - + diff --git a/Ventas/Clientes.aspx.vb b/Ventas/Clientes.aspx.vb index e1d3732bd..74de44917 100644 --- a/Ventas/Clientes.aspx.vb +++ b/Ventas/Clientes.aspx.vb @@ -9064,7 +9064,7 @@ Partial Class Clientes TmpDT.Columns.Add("NoIdentificacion", GetType(String)) TmpDT.Columns.Add("CveTipoPS", GetType(Integer)) TmpDT.Columns.Add("CveTipoInvPS", GetType(Integer)) - TmpDT.Columns.Add("SerieLote", GetType(String)) + TmpDT.Columns.Add("Serie", GetType(String)) TmpDT.Columns.Add("CuentaPredial", GetType(String)) TmpDT.Columns.Add("Obs", GetType(String)) TmpDT.Columns.Add("TiempoEntrega", GetType(String)) @@ -9138,7 +9138,7 @@ Partial Class Clientes Private Function AgregarProductoServicio(Cantidad As Decimal, CveUM As Integer, UM As String, CveClasificacion As Integer, Clasificacion As String, CvePS As Integer, PS As String, Obs As String, PU As Decimal, Descuento As Decimal, CveProyecto As Integer, Proyecto As String, CveSubProyecto As Integer, SubProyecto As String, - Optional SerieLote As String = "", Optional TiempoEntrega As String = "", Optional EntregaDirecta As Integer = 0, + Optional Serie As String = "", Optional TiempoEntrega As String = "", Optional EntregaDirecta As Integer = 0, 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 EsCargo As Boolean = False, Optional PorcentajeIVA As Decimal = 0D) As Boolean @@ -9164,7 +9164,7 @@ Partial Class Clientes Row("Proyecto") = Proyecto Row("CveSubProyecto") = CveSubProyecto Row("SubProyecto") = SubProyecto - Row("SerieLote") = SerieLote + Row("Serie") = Serie Row("TiempoEntrega") = TiempoEntrega Row("Orden") = TmpDT.Rows.Count + 1 Row("Cantidad") = Cantidad diff --git a/Ventas/ClientesAbonar.aspx.vb b/Ventas/ClientesAbonar.aspx.vb index 6a9bc3112..cc9f9197d 100644 --- a/Ventas/ClientesAbonar.aspx.vb +++ b/Ventas/ClientesAbonar.aspx.vb @@ -1973,7 +1973,7 @@ Partial Class Ventas_ClientesAbonar CveClasificacion As Integer, Clasificacion As String, CveProyecto As Integer, CveSubProyecto As Integer, Obs As String, Cantidad As Double, PU As Double, PorcentajeIVA As Double, ImporteIVA As Double, PorcentajeRetIVA As Double, ImporteRetIVA As Double, PorcentajeRetISR As Double, ImporteRetISR As Double, PorcentajeIEPS As Double, ImporteIEPS As Double, TipoDescuento As Integer, Descuento As Double, - Total As Double, SerieLote As String, TiempoEntrega As String, CvePresupuestoIngreso As Integer, EntregaDirecta As Integer, SATClaveProdServ As String, + Total As Double, Serie As String, TiempoEntrega As String, CvePresupuestoIngreso As Integer, EntregaDirecta As Integer, SATClaveProdServ As String, SATClaveUM As String, CveContratoDetalle As Integer, CveVentaDetalle As Integer, CveMovimientoDetallePedido As Integer, CveOrdenCompraDetalle As Integer, CveVentaDetalleRemision As Integer, CveVentaDetalleCotizacion As Integer) @@ -2018,7 +2018,7 @@ Partial Class Ventas_ClientesAbonar Row("Total") = Math.Round(Total, 2) Row("TotalImporte") = Math.Round(Total, 2) - Row("SerieLote") = SerieLote + Row("Serie") = Serie Row("TiempoEntrega") = TiempoEntrega Row("CvePresupuestoIngreso") = CvePresupuestoIngreso Row("EntregaDirecta") = EntregaDirecta @@ -2182,7 +2182,7 @@ Partial Class Ventas_ClientesAbonar TmpDT.Columns.Add("NoIdentificacion", GetType(String)) TmpDT.Columns.Add("CveTipoPS", GetType(Integer)) TmpDT.Columns.Add("CveTipoInvPS", GetType(Integer)) - TmpDT.Columns.Add("SerieLote", GetType(String)) + TmpDT.Columns.Add("Serie", GetType(String)) TmpDT.Columns.Add("CuentaPredial", GetType(String)) TmpDT.Columns.Add("Obs", GetType(String)) TmpDT.Columns.Add("TiempoEntrega", GetType(String)) diff --git a/Ventas/PV.aspx b/Ventas/PV.aspx index a662f8e14..4cbab9abb 100644 --- a/Ventas/PV.aspx +++ b/Ventas/PV.aspx @@ -936,12 +936,11 @@ - - + + diff --git a/Ventas/PV.aspx.vb b/Ventas/PV.aspx.vb index b26ef73a2..a9126e7f2 100644 --- a/Ventas/PV.aspx.vb +++ b/Ventas/PV.aspx.vb @@ -2924,7 +2924,7 @@ Partial Class PV DtTemporal.Columns.Add("FechaCaducidad", Type.GetType("System.DateTime")) End If - GvInv.Columns(4).Visible = DtTemporal.MAX("SerieLote", "SerieLote <> ''") <> "" Or CveVenta <= 0 + GvInv.Columns(4).Visible = DtTemporal.MAX("Serie", "Serie <> ''") <> "" Or CveVenta <= 0 GvInv.Columns(5).Visible = DtTemporal.MAX("Lote", "Lote <> ''") <> "" GvInv.Columns(6).Visible = DtTemporal.MAX("FechaCaducidad", "FechaCaducidad <> ''") <> "" @@ -2989,7 +2989,7 @@ Partial Class PV 'COSTO ALMACEN If UsuarioActual.Empresa.Funcionalidad(129).ToEntero > 0 AndAlso UsuarioActual.CveUsuario <> 1560 Then - Costo = ObjInventarios.GetCostoPS(dr("CvePS").ToString.ToEntero, dr("Cantidad").ToString.ToDouble, -1, dr("SerieLote").ToString, TxtFecha.Text.ToDate, -1) + Costo = ObjInventarios.GetCostoPS(dr("CvePS").ToString.ToEntero, dr("Cantidad").ToString.ToDouble, -1, dr("Serie").ToString, TxtFecha.Text.ToDate, -1) CostoMenor = Costo + ((UsuarioActual.Empresa.Funcionalidad(129).ToDecimal / 100) * Costo) 'SI EL PRECIO ES MAYOR AL COSTO, SI PASA If PU >= CostoMenor Then @@ -3000,7 +3000,7 @@ Partial Class PV End If If UsuarioActual.Empresa.Funcionalidad(133).ToEntero > 0 AndAlso UsuarioActual.CveUsuario <> 1560 Then - Costo = ObjInventarios.GetCostoPS(dr("CvePS").ToString.ToEntero, dr("Cantidad").ToString.ToDouble, -1, dr("SerieLote").ToString, TxtFecha.Text.ToDate) + Costo = ObjInventarios.GetCostoPS(dr("CvePS").ToString.ToEntero, dr("Cantidad").ToString.ToDouble, -1, dr("Serie").ToString, TxtFecha.Text.ToDate) CostoMayor = Costo + ((UsuarioActual.Empresa.Funcionalidad(133).ToDecimal / 100) * Costo) 'SI EL PRECIO ES MAYOR AL COSTO, SI PASA If PU <= CostoMayor Then @@ -3901,7 +3901,7 @@ Partial Class PV Private Sub AddPS(Cantidad As Double, CveUM As Integer, UM As String, CveClasificacion As Integer, Clasificacion As String, CvePS As Integer, PS As String, Obs As String, PU As Double, IVA As Double, RetIVA As Double, Descuento As Double, AsientoContableVentas As Integer, IdCtaContable As Integer, AplicaParaConcepto As Boolean, - Codigo As String, CveProyecto As Integer, Proyecto As String, CveSubProyecto As Integer, SubProyecto As String, Optional CveTipoPS As Integer = -1, Optional SerieLote As String = "", + Codigo As String, CveProyecto As Integer, Proyecto As String, CveSubProyecto As Integer, SubProyecto As String, Optional CveTipoPS As Integer = -1, Optional Serie As String = "", Optional CveContratoDetalle As Integer = -1, Optional TiempoEntrega As String = "", Optional CodigoPS As String = "") If Not CvePS > 0 Then @@ -3948,7 +3948,7 @@ Partial Class PV Row("Proyecto") = Proyecto Row("CveSubProyecto") = CveSubProyecto Row("SubProyecto") = SubProyecto - Row("SerieLote") = SerieLote + Row("Serie") = Serie Row("TiempoEntrega") = TiempoEntrega TmpDT.Rows.Add(Row) @@ -4069,7 +4069,7 @@ Partial Class PV Private Function AgregarProductoServicio(Cantidad As Decimal, CveUM As Integer, UM As String, CveClasificacion As Integer, Clasificacion As String, CvePS As Integer, PS As String, Obs As String, PU As Decimal, Descuento As Decimal, CveProyecto As Integer, Proyecto As String, CveSubProyecto As Integer, SubProyecto As String, - Optional SerieLote As String = "", Optional TiempoEntrega As String = "", Optional EntregaDirecta As Integer = 0, + Optional Serie As String = "", Optional TiempoEntrega As String = "", Optional EntregaDirecta As Integer = 0, 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 EsCargo As Boolean = False, @@ -4128,7 +4128,7 @@ Partial Class PV Row("Proyecto") = Proyecto Row("CveSubProyecto") = CveSubProyecto Row("SubProyecto") = SubProyecto - Row("SerieLote") = SerieLote + Row("Serie") = Serie Row("TiempoEntrega") = TiempoEntrega Row("Orden") = TmpDT.Rows.Count + 1 Row("Cantidad") = Cantidad @@ -4599,7 +4599,7 @@ Partial Class PV Dim Consec = AgregarProductoServicio(Cantidad, DdlUnidadMedida.SelectedValue.ToEntero, DdlUnidadMedida.SelectedItem.Text, DdlClasificacion.SelectedValue.ToEntero, DdlClasificacion.SelectedItem.Text, CvePS, "", TxtObsPS.Text.Trim, PU, Descuento, CveProyecto, Proyecto, DdlSubProyectoDatos.SelectedValue.ToEntero, DdlSubProyectoDatos.SelectedItem.Text, - SerieLote:="", TiempoEntrega:="", CuentaPredial:="", RegeneraIEPS:=ClienteDesglosaIEPS, CveVentaDetalle:=CveVentaDetalle, EsCargo:=EsCargo) + Serie:="", TiempoEntrega:="", CuentaPredial:="", RegeneraIEPS:=ClienteDesglosaIEPS, CveVentaDetalle:=CveVentaDetalle, EsCargo:=EsCargo) If CveVentaDetalle <= 0 AndAlso Not EsCargo Then Dim ListaPSCargo = CalculaUsados(Consec) @@ -5067,7 +5067,7 @@ Partial Class PV ' 'AddPS(TxtCantidad.Text.Trim.ToDouble, DrProducto("CveUM").ToString.ToEntero, DrProducto("UnidadMedida").ToString, DrProducto("CveClasificacion").ToString.ToEntero, DrProducto("Clasificacion").ToString, ' ' DrProducto("CvePS").ToString.ToEntero, DrProducto("PS").ToString, TxtObsPS.Text.Trim, TxtPrecio.Text.Trim.ToDouble, HdnIVAPS.Value.ToDouble, 0, 0, ' ' -1, -1, True, DrProducto("Codigo").ToString, DdlProyecto.SelectedValue.ToEntero, - ' ' DdlProyecto.SelectedItem.Text, DdlSubProyecto.SelectedValue.ToEntero, DdlSubProyecto.SelectedItem.Text, DrProducto("CveTipoPS").ToString.ToEntero, DrProducto("Inv_CveMetodoInventario").ToString.ToEntero, SerieLote:=SerieLote, CodigoPS:=DrProducto("PSCodigo").ToString) + ' ' DdlProyecto.SelectedItem.Text, DdlSubProyecto.SelectedValue.ToEntero, DdlSubProyecto.SelectedItem.Text, DrProducto("CveTipoPS").ToString.ToEntero, DrProducto("Inv_CveMetodoInventario").ToString.ToEntero, SerieLote:=SerieLote, CodigoPS:=DrProducto("PSCodigo").ToString) ' LimpiaAgregar() ' End If @@ -5391,17 +5391,17 @@ Partial Class PV Dim Index = Row.RowIndex Dim ObjInventarios As New ClsInventarios Dim Existencia = ObjInventarios.GetExistenciasPSSerie("", ddlAlmacen.SelectedValue.ToEntero, UsuarioActual.CveEmpresa) - Dim ExistenciaActual = DtInv.SUM("Cantidad", String.Format("SerieLote = '{0}'", Row.FCTextBox("TxtSerie").Text.ToString)) + Dim ExistenciaActual = DtInv.SUM("Cantidad", String.Format("Serie = '{0}'", Row.FCTextBox("TxtSerie").Text.ToString)) 'Valida Existencia If Existencia - ExistenciaActual <= 0 Then Alert(String.Format("Not hay existencia suficiente del producto con la Serie: {0}. Por favor rectifique y vuelva a intentar", Row.FCTextBox("TxtSerie").Text.ToString), TipoMensaje.MsgAdvertencia) Row.FCTextBox("TxtSerie").Text = "" Row.FCHiddenField("HdnSerie").Value = "" - TmpDT.Rows(Index)("SerieLote") = "" + TmpDT.Rows(Index)("Serie") = "" Else Row.FCHiddenField("HdnSerie").Value = Row.FCTextBox("TxtSerie").Text - TmpDT.Rows(Index)("SerieLote") = Row.FCTextBox("TxtSerie").Text + TmpDT.Rows(Index)("Serie") = Row.FCTextBox("TxtSerie").Text End If TmpDT.AcceptChanges() @@ -5428,7 +5428,7 @@ Partial Class PV If Gvr.FCTextBox("TxtSerie").Visible = True And Gvr.FCTextBox("TxtSerie").Text.Trim <> "" Then Existencia = ObjInventarios.GetExistenciasPSSerie(Gvr.FCTextBox("TxtSerie").Text.ToString, ddlAlmacen.SelectedValue.ToEntero, UsuarioActual.CveEmpresa) - ExistenciaActual = DtInv.SUM("Cantidad", String.Format("SerieLote = '{0}'", Gvr.FCTextBox("TxtSerie").Text.Trim)) + ExistenciaActual = DtInv.SUM("Cantidad", String.Format("Serie = '{0}'", Gvr.FCTextBox("TxtSerie").Text.Trim)) 'Valida Existencia If Existencia - ExistenciaActual < 0 Or Existencia = 0 Then diff --git a/Ventas/ProductosServicios.aspx b/Ventas/ProductosServicios.aspx index 960263d11..57658e998 100644 --- a/Ventas/ProductosServicios.aspx +++ b/Ventas/ProductosServicios.aspx @@ -835,6 +835,38 @@ +
+ +
+ + + +
+
+
+ +
+ + + +
+
+
+ +
+ + + +
+
+
+ +
+ + + +
+
diff --git a/Ventas/ProductosServicios.aspx.vb b/Ventas/ProductosServicios.aspx.vb index 3bf35821a..ba06b0a52 100644 --- a/Ventas/ProductosServicios.aspx.vb +++ b/Ventas/ProductosServicios.aspx.vb @@ -146,7 +146,7 @@ Partial Class ProductosyServicios CargarAlias() CargaExistencias() - CargaGvSeccionAlmacen() + Else 'Configuración de Modalidad Insert RegistraScript("$('#C_Tab_TabPaquetes_tab').css('display' , 'none')") @@ -286,7 +286,7 @@ Partial Class ProductosyServicios CveSATPS = -1 CargaCombosSeccionAlmacen() - DivSeccionAlmacen.Visible = UsuarioActual.Empresa.Funcionalidad(563).ToString = "1" + CreaDtSeccionAlmacen() If UsuarioActual.Empresa.UsaContabilidad Then @@ -863,6 +863,16 @@ Partial Class ProductosyServicios ViewState("CveSubFamilia") = ObjProductosServicios.DtResultados.Rows(0)("CveSubFamilia") + ChkSerie.Checked = ObjProductosServicios.AplicaSerie + ChkLote.Checked = ObjProductosServicios.AplicaLote + ChkCaducidad.Checked = ObjProductosServicios.AplicaCaducidad + ChkSeccion.Checked = ObjProductosServicios.AplicaSeccion + + If ObjProductosServicios.AplicaSeccion Then + CargaGvSeccionAlmacen() + DivSeccionAlmacen.Visible = True + End If + CargaCaracteristicas() LnkUnificar.Visible = True @@ -1208,7 +1218,8 @@ Partial Class ProductosyServicios CveUsuarioModifico:=UsuarioActual.CveUsuario, CveClasificacionDetalle:=DdlTipoPSDes.SelectedValue.ToEntero, CveTamaño:=DdlTamanio.SelectedValue.ToEntero, CveModelo:=DdlModelo.SelectedValue.ToEntero(), CveMedida:=DdlMedida.SelectedValue.ToEntero(), CveRinTamaño:=DdlRin.SelectedValue.ToEntero(), ClaveImpuestoEmpaque:=DdlImpEmpaque.SelectedValue.ToString, ClaveImpuestoUM:=DdlImpUM.SelectedValue.ToString, ClaveCategoriaToxicidad:=DdlCategoriaToxicidad.SelectedValue.ToString, - ClaveImpuestoTipoProducto:=DdlImpTipoProducto.SelectedValue.ToString, EsOutSourcing:=ChkEsOutSourcing.Checked) Then + ClaveImpuestoTipoProducto:=DdlImpTipoProducto.SelectedValue.ToString, EsOutSourcing:=ChkEsOutSourcing.Checked, + AplicaSerie:=ChkSerie.Checked, AplicaLote:=ChkLote.Checked, AplicaCaducidad:=ChkCaducidad.Checked, AplicaSeccion:=ChkSeccion.Checked) Then If Not ObjProductosServicios.LimpiaImpuestosLocales(CvePS) Then TieneError = True @@ -2530,9 +2541,10 @@ Partial Class ProductosyServicios End Sub Private Sub CargaGvSeccionAlmacen() Dim ObjInv As New ClsInventarios - If ObjInv.GetProductosServiciosAlmacenSeccion(CvePS, -1, -1) Then + If ObjInv.GetProductosServiciosAlmacenSeccion(CvePS, -1, -1, UsuarioActual.CveEmpresa) Then GvSeccionAlmacen.DataSource = ObjInv.DtResultados DtSeccionAlmacen = ObjInv.DtResultados + End If ObjInv.Dispose() GvSeccionAlmacen.DataBind() @@ -2545,7 +2557,7 @@ Partial Class ProductosyServicios DdlAlmacen.Items.Add(New ListItem("Seleccione", "-1")) DdlAlmacen.DataBind() - DdlSeccionAlmacen.DataSource = GlobalDTSeccionAlmacen(UsuarioActual.CveEmpresa, -1) + DdlSeccionAlmacen.DataSource = GlobalDTSeccionAlmacen(UsuarioActual.CveEmpresa, DdlAlmacen.SelectedValue.ToEntero) DdlSeccionAlmacen.Items.Add(New ListItem("Seleccione", "-1")) DdlSeccionAlmacen.DataBind() diff --git a/Ventas/RepConciliacionEmitidosSat.aspx.cs b/Ventas/RepConciliacionEmitidosSat.aspx.cs index 7657eda61..6a0ac55c8 100644 --- a/Ventas/RepConciliacionEmitidosSat.aspx.cs +++ b/Ventas/RepConciliacionEmitidosSat.aspx.cs @@ -520,7 +520,7 @@ public partial class Ventas_RepConciliacionEmitidosSat : ClsPaginas TmpDT.Columns.Add("NoIdentificacion", typeof(string)); TmpDT.Columns.Add("CveTipoPS", typeof(int)); TmpDT.Columns.Add("CveTipoInvPS", typeof(int)); - TmpDT.Columns.Add("SerieLote", typeof(string)); + TmpDT.Columns.Add("Serie", typeof(string)); TmpDT.Columns.Add("CuentaPredial", typeof(string)); TmpDT.Columns.Add("Obs", typeof(string)); TmpDT.Columns.Add("TiempoEntrega", typeof(string)); @@ -635,7 +635,7 @@ public partial class Ventas_RepConciliacionEmitidosSat : ClsPaginas Row["Proyecto"] = DrSubProyecto["Proyecto"].ToString(); Row["CveSubProyecto"] = CveSubProyecto; Row["SubProyecto"] = DrSubProyecto["SubProyecto"].ToString(); - Row["SerieLote"] = ""; + Row["Serie"] = ""; Row["TiempoEntrega"] = ""; Row["Orden"] = TmpDT.Rows.Count + 1; Row["Cantidad"] = item.Cantidad; diff --git a/Ventas/Ventas.aspx b/Ventas/Ventas.aspx index fe284e7fa..d410596a0 100644 --- a/Ventas/Ventas.aspx +++ b/Ventas/Ventas.aspx @@ -10,7 +10,7 @@ padding: 0px 5px; } - .nolineheight { + .nolineheight TxtNombreCliente line-height: 1; } @@ -1311,7 +1311,7 @@
+ DataKeyNames="CvePolizaVirtual,Serie,IdProductoPolizaVirtual,Total,Descuento,AnioVehiculo,FechaUsado,IdModeloAuto,IdMarcaAuto,IdBCI,TipoServicio,TipoPoliza,TieneUsado,IdMarcaUsado" ClientIDMode="Static" EmptyDataText="" GridLines="None"> @@ -1646,16 +1646,16 @@ - - + + - +
@@ -3543,7 +3543,7 @@
+ DataKeyNames="ISTotal,Saldo,CveIE,Folio,Tipo,CveVenta,CveConceptoContable,CveConceptoContableAmor, TotalAnticipo, SubTotalAnticipo, IVAAnticipo, ImpuestosLocalesAnticipo, SubTotalAmortizacion, SubTotal, Original, IVA, RetIVA, RetISR, IdCtaContableNC,FolioFiscal, CveClasificacionNC, IdCtaContableNCSIG, TipoCambio,TipoCambioPago,TipoCambioHoy, CveMoneda,Fecha,SaldoSubTotal,SaldoConImpuestos"> @@ -3567,7 +3567,7 @@   - + Moneda Venta @@ -5405,9 +5405,9 @@ Serie: - - - + + + Series total: 0 @@ -6310,7 +6310,7 @@
- +
@@ -7231,7 +7231,8 @@ let TipoAnticipo = $('#<%= DdlTipoAmortizacionAnticipo.ClientID %>').val(); $get("HdnTipoDescuento").value = "3"; - var Total = ToDouble($get('TxtSubTotal').value); + //si es con.nc,es.el.total + var Total = ToDouble($get(TipoAnticipo == 2? 'TxtTotal':'TxtSubTotal').value); var SaldoCompra = parseFloat(parseFloat($get('HdnVentaSaldo').value).toFixed(2)); if (ToDouble($get('HdnCveVenta').value) == 0) SaldoCompra = Total; diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb index e828f93c6..f2e53e0e0 100644 --- a/Ventas/Ventas.aspx.vb +++ b/Ventas/Ventas.aspx.vb @@ -1311,36 +1311,36 @@ Partial Class Ventas ViewState("DtContratosSerieDetalle") = value End Set End Property - Private Property CvePSSerieLote As Integer + Private Property CvePSSerie As Integer Get - Return CType(ViewState("CvePSSerieLote"), Integer) + Return CType(ViewState("CvePSSerie"), Integer) End Get Set(value As Integer) - ViewState("CvePSSerieLote") = value + ViewState("CvePSSerie") = value End Set End Property - Private Property CveUMSerieLote As Integer + Private Property CveUMSerie As Integer Get - Return CType(ViewState("CveUMSerieLote"), Integer) + Return CType(ViewState("CveUMSerie"), Integer) End Get Set(value As Integer) - ViewState("CveUMSerieLote") = value + ViewState("CveUMSerie") = value End Set End Property - Private Property CveConsecSerieLote As Integer + Private Property CveConsecSerie As Integer Get - Return CType(ViewState("CveConsecSerieLote"), Integer) + Return CType(ViewState("CveConsecSerie"), Integer) End Get Set(value As Integer) - ViewState("CveConsecSerieLote") = value + ViewState("CveConsecSerie") = value End Set End Property - Private Property LimitaCantidadSerieLote As Integer + Private Property LimitaCantidadSerie As Integer Get - Return CType(ViewState("LimitaCantidadSerieLote"), Integer) + Return CType(ViewState("LimitaCantidadSerie"), Integer) End Get Set(value As Integer) - ViewState("LimitaCantidadSerieLote") = value + ViewState("LimitaCantidadSerie") = value End Set End Property @@ -2591,7 +2591,7 @@ Partial Class Ventas TrPedido.Visible = False ' TrKilometrajeTxt.Visible = True End If - LtlTareaNueva.Text = String.Format(" Tarea", CveVenta) + LtlTareaNueva.Text = String.Format(" Tarea", CveVenta) End If @@ -3379,17 +3379,17 @@ Partial Class Ventas 'Si es contrato flexible le damos una cantidad alta de lo contrario lo maximo es lo estipulado en el contrato If e.Row.DataKey("LimitarCantidad").ToString() = "True" Or DdlTipoComprobante.SelectedValue.Contiene("Egs", "Dev") Or e.Row.DataKey("ModalidadDetalle").ToString() = "1" Then e.Row.FCRangeValidator("RVCant").MaximumValue = CantidadDisponible - LimitaCantidadSerieLote = 1 + LimitaCantidadSerie = 1 Else e.Row.FCRangeValidator("RVCant").MaximumValue = "10000000" - LimitaCantidadSerieLote = 0 + LimitaCantidadSerie = 0 End If 'CONSIGNACION DE VENTA If CveAlmacenExistenciasContrato > 0 And e.Row.DBCampo("Inv_CveMetodoInventario").ToString().ToEntero() = 5 Then GvContratoDetalles.Columns(8).Visible = True e.Row.FCButton("BtnSerieConsignacion").Visible = True - e.Row.FCButton("BtnSerieConsignacion").CommandArgument = $"{e.Row.DBCampo("CveContratoDetalle")}°{e.Row.DBCampo("CvePS")}°{e.Row.DBCampo("CveUM")}°{e.Row.DBCampo("CodigoPS")}°{e.Row.DBCampo("Cantidad")}°{LimitaCantidadSerieLote}" + e.Row.FCButton("BtnSerieConsignacion").CommandArgument = $"{e.Row.DBCampo("CveContratoDetalle")}°{e.Row.DBCampo("CvePS")}°{e.Row.DBCampo("CveUM")}°{e.Row.DBCampo("CodigoPS")}°{e.Row.DBCampo("Cantidad")}°{LimitaCantidadSerie}" e.Row.FCTextBox("TxtCant").Enabled = False End If @@ -7752,6 +7752,19 @@ Partial Class Ventas 'GENERO LOS DATOS DE LA NC Dim tmpcon As DataTable = TmpDT.Clone tmpcon.Clear() + Dim DtImpuestos As New DataTable + DtImpuestos.Columns.Add("ImportePU", GetType(Decimal)) + DtImpuestos.Columns.Add("ImporteTotal", GetType(Decimal)) + DtImpuestos.Columns.Add("PorcentajeIVA", GetType(Decimal)) + DtImpuestos.Columns.Add("ImporteIVA", GetType(Decimal)) + DtImpuestos.Columns.Add("PorcentajeRetIVA", GetType(Decimal)) + DtImpuestos.Columns.Add("ImporteRetIVA", GetType(Decimal)) + DtImpuestos.Columns.Add("PorcentajeRetISR", GetType(Decimal)) + DtImpuestos.Columns.Add("ImporteRetISR", GetType(Decimal)) + DtImpuestos.Columns.Add("PorcentajeIEPS", GetType(Decimal)) + DtImpuestos.Columns.Add("ImporteIEPS", GetType(Decimal)) + DtImpuestos.Columns.Add("CveSubProyecto", GetType(Integer)) + DtImpuestos.AcceptChanges() Dim drpss As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=DdlNCPSAnt.SelectedValue.ToEntero()).FiltroPrimero("") @@ -7760,51 +7773,71 @@ Partial Class Ventas Dim CveVentaP As Integer = 0 For Each gvrt As GridViewRow In GVAnticipos.Rows If gvrt.FCCheckBox(String.Format("Chk{0}", gvrt.RowIndex)).Checked Then + + Dim CveSub As Integer = TmpDT.FiltroPrimeroValor("CveSubProyecto").ToEntero() Dim dr As DataRow = tmpcon.NewRow Dim Cantidad As Decimal = 1 - Dim PU As Decimal = gvrt.FCTextBox(String.Format("TxtAnticipo{0}", gvrt.RowIndex)).Text.ToDecimal - Dim TotalCalculableImpuestos As Decimal = (Cantidad * (PU)) - dr("CvePS") = drpss("CvePS") - dr("PS") = drpss("PS") - dr("OBS") = drpss("PS") - dr("PU") = PU - dr("Cantidad") = Cantidad - dr("CveUM") = drpss("CveUnidadMedida") - dr("SATClaveProdServ") = "84111506" - dr("SATClaveUM") = "ACT" - dr("Consec") = ii - If drpss("IVA").ToString() = "-1" Then - dr("PorcentajeIVA") = PorcentajeIVA ' GlobalDTSubProyectos(-1,cves DrPS("IVA") - Else - dr("PorcentajeIVA") = drpss("IVA") - End If + Dim tTipoAmortizacion As Integer = If(DdlTipoAmortizacionAnticipo.SelectedValue = "2", 1, 2) - dr("IVA") = dr("PorcentajeIVA") - dr("ImporteIVA") = Math.Round(dr("PorcentajeIVA").ToString().ToDecimal * TotalCalculableImpuestos, NumeroDecimales) - dr("ImporteRetIVA") = Math.Round(ClienteRetIVA * TotalCalculableImpuestos, NumeroDecimales) - dr("ImporteRetISR") = Math.Round(ClienteRetISR * TotalCalculableImpuestos, NumeroDecimales) - dr("PorcentajeRetIVA") = ClienteRetIVA - dr("PorcentajeRetISR") = ClienteRetISR - If UsuarioActual.Empresa.Funcionalidad(343) = "1" Then - dr("PorcentajeIEPS") = drpss("IEPSPorcentaje") - dr("ImporteIEPS") = Math.Round(drpss("IEPSPorcentaje").ToString().ToDecimal * TotalCalculableImpuestos, NumeroDecimales) - Else - dr("PorcentajeIEPS") = 0 ' DrPS("IEPSPorcentaje") - dr("ImporteIEPS") = 0 'Math.Round(DrPS("IEPSPorcentaje").ToString().ToDecimal * TotalCalculableImpuestos, NumeroDecimales) - End If - dr("IEPS") = dr("ImporteIEPS") - dr("Descuento") = Math.Round(0, NumeroDecimales) - dr("TipoDescuento") = HdnTipoDescuento.Value - dr("Total") = (Cantidad * PU) - dr("CveClasificacion") = drpss("CveClasificacion") - dr("CveSubProyecto") = CveSub - dr("TotalImporte") = Math.Round(Cantidad * PU, NumeroDecimales) - CveVentaP = gvrt.DataKey("CveVenta").ToEntero() - tmpcon.Rows.Add(dr) - ii += 1 + DtImpuestos = CargaDtImpuestosNC(gvrt.DataKey("CveVenta").ToString().ToEntero(), gvrt.FCTextBox(String.Format("TxtAnticipo{0}", gvrt.RowIndex)).Text.ToDecimal, AplicaImpuestosLocales:=True, NCDescuento:=False, NivelTotal:=tTipoAmortizacion) + + Dim query = From ddr In DtImpuestos + Group By PorcentajeIVA = ddr("PorcentajeIVA").ToString().ToDecimal, + PorcentajeRetIVA = ddr("PorcentajeRetIVA").ToString().ToDecimal, + PorcentajeRetISR = ddr("PorcentajeRetISR").ToString().ToDecimal, + PorcentajeIEPS = ddr("PorcentajeIEPS").ToString().ToDecimal + Into x = Group + Select ImportePU = x.Sum(Function(s) s("ImportePU").ToString().ToDecimal), + ImporteTotal = x.Sum(Function(s) s("ImporteTotal").ToString().ToDecimal), + ImporteIVA = x.Sum(Function(s) (s("ImporteIVA").ToString().ToDecimal)).RoundSQL(2), ' Math.Round(s("ImporteIVA").ToString().ToDecimal, 2)) * (1 + PorcentajeIEPS) * PorcentajeIVA, + ImporteRetIVA = x.Sum(Function(s) Math.Round(s("ImporteRetIVA").ToString().ToDecimal, 2)),' Math.Round(s("ImportePU").ToString().ToDecimal, 2)) * PorcentajeRetIVA, + ImporteRetISR = x.Sum(Function(s) Math.Round(s("ImporteRetISR").ToString().ToDecimal, 2)),' Math.Round(s("ImportePU").ToString().ToDecimal, 2)) * PorcentajeRetISR, + ImporteIEPS = x.Sum(Function(s) Math.Round(s("ImporteIEPS").ToString().ToDecimal, 2)), 'Math.Round(s("ImportePU").ToString().ToDecimal, 2)) * PorcentajeIEPS, + PorcentajeIVA = PorcentajeIVA, + PorcentajeRetIVA = PorcentajeRetIVA, + PorcentajeRetISR = PorcentajeRetISR, + PorcentajeIEPS = PorcentajeIEPS + + DtImpuestos = query.QueryToDataTable(False) + For Each Drr As DataRow In DtImpuestos.Rows + + dr("CvePS") = drpss("CvePS") + dr("PS") = drpss("PS") + dr("OBS") = drpss("PS") + dr("PU") = Drr("ImportePU").ToString().ToDecimal + dr("Cantidad") = Cantidad + dr("CveUM") = drpss("CveUnidadMedida") + dr("SATClaveProdServ") = "84111506" + dr("SATClaveUM") = "ACT" + dr("Consec") = ii + + dr("PorcentajeIVA") = dr("PorcentajeIVA").ToString().ToDecimal + + dr("IVA") = Drr("PorcentajeIVA") + dr("ImporteIVA") = Drr("ImporteIVA").ToString().ToDecimal + dr("ImporteRetIVA") = Drr("ImporteRetIVA").ToString().ToDecimal + dr("ImporteRetISR") = Drr("ImporteRetISR").ToString().ToDecimal + dr("PorcentajeRetIVA") = Drr("PorcentajeRetIVA").ToString().ToDecimal + dr("PorcentajeRetISR") = Drr("PorcentajeRetISR").ToString().ToDecimal + + dr("PorcentajeIEPS") = Drr("PorcentajeIEPS").ToString().ToDecimal + dr("ImporteIEPS") = Drr("ImporteIEPS").ToString().ToDecimal + + + dr("IEPS") = Drr("ImporteIEPS").ToString().ToDecimal + dr("Descuento") = Math.Round(0, NumeroDecimales) + dr("TipoDescuento") = HdnTipoDescuento.Value + dr("Total") = Drr("ImporteTotal").ToString().ToDecimal + dr("CveClasificacion") = drpss("CveClasificacion") + dr("CveSubProyecto") = CveSub + dr("TotalImporte") = Drr("ImporteTotal").ToString().ToDecimal + CveVentaP = gvrt.DataKey("CveVenta").ToEntero() + tmpcon.Rows.Add(dr) + ii += 1 + Next End If Next @@ -10096,71 +10129,81 @@ Partial Class Ventas If row2.FCCheckBox("Chk" & row2.RowIndex).Checked Then CveIEAnticipo = row2.DataKey("CveIE").ToString().ToEntero() importeMovimiento = row2.FCTextBox("TxtAnticipo" & row2.RowIndex).Text.ToDecimal '- ((row2.FCTextBox("TxtAnticipo" & row2.RowIndex).Text.ToDecimal / row2.DataKey("TotalAnticipo").ToDecimal) * row2.DataKey("IVAAnticipo").ToDecimal) + Dim ImporteAnticipo As Decimal = importeMovimiento If tipoCambio > 1 Then Concepto += $" TC:{tipoCambio} ${importeMovimiento.FormatoNumero(2)}" + If DdlTipoAmortizacionAnticipo.SelectedValue = "2" Then ImporteAnticipo = row2.FCTextBox("TxtAnticipo" & row2.RowIndex).Text.ToDecimal / row2.DataKey("TotalAnticipo").ToDecimal * row2.DataKey("SubTotalAnticipo").ToDecimal + IdCtaContable = IdCtaContAnticipos CveCuenta = CveCuentaAnticipos CveSubProyectoContabilizar = CveSubProyectoVenta If importeMovimiento <> 0 Then - If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, False, importeMovimiento, Referencia, 11, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=row2.DataKey("CveVenta").ToEntero(), CveVentaAmortizacion:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIEAnticipo, ImporteMX:=importeMovimiento * tipoCambio, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveCuenta:=CveCuenta, CveSubProyecto:=CveSubProyectoContabilizar, Contabilizable:=SeContabiliza) Then + If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, False, ImporteAnticipo, Referencia, 11, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=row2.DataKey("CveVenta").ToEntero(), CveVentaAmortizacion:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIEAnticipo, ImporteMX:=ImporteAnticipo * tipoCambio, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveCuenta:=CveCuenta, CveSubProyecto:=CveSubProyectoContabilizar, Contabilizable:=SeContabiliza) Then ErrorPrepoliza = True Exit For Else ViewState("SeGuardoPrePoliza") = True - If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, True, importeMovimiento, Referencia, 2, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=Dr("CveVenta").ToString().ToEntero(), CveCliente:=ObjFactura.CveCliente, ImporteMX:=importeMovimiento, ImporteME:=If(Dr("TCCambioValuacion").ToString().ToDecimal = 1, 0, importeMovimiento), CveSubProyecto:=CveSubProyectoContabilizar, CveIE:=CveIEAnticipo, CveVentaAmortizacion:=ObjFactura.CveVenta, TipoCambio:=Dr("TCCambioValuacion").ToString().ToDecimal, TipoCambioPago:=tipoCambio) Then - ErrorPrepoliza = True - Exit For - End If + If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, True, importeMovimiento, Referencia, 2, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=Dr("CveVenta").ToString().ToEntero(), CveCliente:=ObjFactura.CveCliente, ImporteMX:=importeMovimiento, ImporteME:=If(Dr("TCCambioValuacion").ToString().ToDecimal = 1, 0, importeMovimiento), CveSubProyecto:=CveSubProyectoContabilizar, CveIE:=CveIEAnticipo, CveVentaAmortizacion:=ObjFactura.CveVenta, TipoCambio:=Dr("TCCambioValuacion").ToString().ToDecimal, TipoCambioPago:=tipoCambio) Then + ErrorPrepoliza = True + Exit For + End If 'se hace acreditamiento de impuestos 'IVA X TRASLADAR - Dim PorcentajeImpuestoPago As Decimal = TmpDT.MAX("PorcentajeIVA").ToDecimal - '' si se esta aplicando NC por amortizaion, se trasladan impuestos - If EsNCAmortizacion Then - Dim IngresoIVA As Decimal = TxtIVA.Text.ToDecimal - Dim IngresoIEPS As Decimal = TxtIEPS.Text.ToDecimal - Dim IngresoTotal As Decimal = TxtTotal.Text.ToDecimal + Dim EsAnticipoEspecial As Boolean = False - If IngresoIVA > 0 Then + If UsuarioActual.CveEmpresa.Contiene(1, 119) Then EsAnticipoEspecial = True + If EsAnticipoEspecial Then + Dim PorcentajeImpuestoPago As Decimal = TmpDT.MAX("PorcentajeIVA").ToDecimal + '' si se esta aplicando NC por amortizaion, se trasladan impuestos + If EsNCAmortizacion Then + Dim IngresoIVA As Decimal = TxtIVA.Text.ToDecimal + Dim IngresoIEPS As Decimal = TxtIEPS.Text.ToDecimal + Dim IngresoTotal As Decimal = TxtTotal.Text.ToDecimal - IdCtaIVAXTrasladar = If(IdCtaIVAXTrasladar > 0, IdCtaIVAXTrasladar, UsuarioActual.Empresa.IdCuentaIVAxTrasladar) - Concepto = ObjConta.ObtenerConceptoEmpresa(UsuarioActual.CveEmpresa, 13, NombreCliente, $"{ObjFactura.Serie}-{ObjFactura.Folio}", FolioIE.ToString()) - If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, (importeMovimiento * IngresoIVA) / IngresoTotal, Referencia, 13, Concepto, Fecha, IdCtaIVAXTrasladar, -1, CveVenta:=Dr("CveVenta").ToString().ToEntero(), CveCliente:=CveCliente, CveIE:=CveIEAnticipo, ImporteMX:=((importeMovimiento * IngresoIVA) / IngresoTotal) * tipoCambio * Multiplicador, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveSubProyecto:=CveSubProyectoContabilizar, PorcentajeImpuesto:=PorcentajeImpuestoPago) Then - ErrorPrepoliza = True - Exit For - End If - 'IVA PAGADO - IdCtaIVATrasladado = If(IdCtaIVATrasladado > 0, IdCtaIVATrasladado, UsuarioActual.Empresa.IdCuentaIVATrasladado) - Concepto = ObjConta.ObtenerConceptoEmpresa(UsuarioActual.CveEmpresa, 61, NombreCliente, $"{ObjFactura.Serie}-{ObjFactura.Folio}", FolioIE.ToString()) - If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, Not TipoMovimiento, (importeMovimiento * IngresoIVA) / IngresoTotal, Referencia, 61, Concepto, Fecha, IdCtaIVATrasladado, -1, CveVenta:=Dr("CveVenta").ToString().ToEntero(), CveCliente:=CveCliente, CveIE:=CveIEAnticipo, ImporteMX:=((importeMovimiento * IngresoIVA) / IngresoTotal) * tipoCambio * Multiplicador, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveSubProyecto:=CveSubProyectoContabilizar, PorcentajeImpuesto:=PorcentajeImpuestoPago) Then - ErrorPrepoliza = True - Exit For - End If - End If + If IngresoIVA > 0 Then - - If IngresoIEPS > 0 Then - 'IEPS X TRASLADAR - Concepto = ObjConta.ObtenerConceptoEmpresa(UsuarioActual.CveEmpresa, 38, NombreCliente, $"{ObjFactura.Serie}-{ObjFactura.Folio}", FolioIE.ToString()) - If IngresoIEPS > 0 AndAlso Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, (importeMovimiento * IngresoIEPS) / IngresoTotal, Referencia, 38, Concepto, Fecha, UsuarioActual.Empresa.IdCuentaIEPSxTrasladar, -1, CveVenta:=Dr("CveVenta").ToString().ToEntero(), CveCliente:=CveCliente, CveIE:=CveIEAnticipo, ImporteMX:=((importeMovimiento * IngresoIEPS) / IngresoTotal) * tipoCambio * Multiplicador, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveSubProyecto:=CveSubProyectoContabilizar) Then - ErrorPrepoliza = True - Exit For + IdCtaIVAXTrasladar = If(IdCtaIVAXTrasladar > 0, IdCtaIVAXTrasladar, UsuarioActual.Empresa.IdCuentaIVAxTrasladar) + Concepto = ObjConta.ObtenerConceptoEmpresa(UsuarioActual.CveEmpresa, 13, NombreCliente, $"{ObjFactura.Serie}-{ObjFactura.Folio}", FolioIE.ToString()) + If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, (importeMovimiento * IngresoIVA) / IngresoTotal, Referencia, 13, Concepto, Fecha, IdCtaIVAXTrasladar, -1, CveVenta:=Dr("CveVenta").ToString().ToEntero(), CveCliente:=CveCliente, CveIE:=CveIEAnticipo, ImporteMX:=((importeMovimiento * IngresoIVA) / IngresoTotal) * tipoCambio * Multiplicador, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveSubProyecto:=CveSubProyectoContabilizar, PorcentajeImpuesto:=PorcentajeImpuestoPago) Then + ErrorPrepoliza = True + Exit For + End If + 'IVA PAGADO + IdCtaIVATrasladado = If(IdCtaIVATrasladado > 0, IdCtaIVATrasladado, UsuarioActual.Empresa.IdCuentaIVATrasladado) + Concepto = ObjConta.ObtenerConceptoEmpresa(UsuarioActual.CveEmpresa, 61, NombreCliente, $"{ObjFactura.Serie}-{ObjFactura.Folio}", FolioIE.ToString()) + If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, Not TipoMovimiento, (importeMovimiento * IngresoIVA) / IngresoTotal, Referencia, 61, Concepto, Fecha, IdCtaIVATrasladado, -1, CveVenta:=Dr("CveVenta").ToString().ToEntero(), CveCliente:=CveCliente, CveIE:=CveIEAnticipo, ImporteMX:=((importeMovimiento * IngresoIVA) / IngresoTotal) * tipoCambio * Multiplicador, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveSubProyecto:=CveSubProyectoContabilizar, PorcentajeImpuesto:=PorcentajeImpuestoPago) Then + ErrorPrepoliza = True + Exit For + End If End If - 'IEPS PAGADO - Concepto = ObjConta.ObtenerConceptoEmpresa(UsuarioActual.CveEmpresa, 39, NombreCliente, $"{ObjFactura.Serie}-{ObjFactura.Folio}", FolioIE.ToString()) - If IngresoIEPS > 0 AndAlso Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, Not TipoMovimiento, (importeMovimiento * IngresoIEPS) / IngresoTotal, Referencia, 39, Concepto, Fecha, UsuarioActual.Empresa.IdCuentaIEPSTrasladado, -1, CveVenta:=Dr("CveVenta").ToString().ToEntero(), CveCliente:=CveCliente, CveIE:=CveIEAnticipo, ImporteMX:=((importeMovimiento * IngresoIEPS) / IngresoTotal) * tipoCambio * Multiplicador, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveSubProyecto:=CveSubProyectoContabilizar) Then - ErrorPrepoliza = True - Exit For + + If IngresoIEPS > 0 Then + 'IEPS X TRASLADAR + Concepto = ObjConta.ObtenerConceptoEmpresa(UsuarioActual.CveEmpresa, 38, NombreCliente, $"{ObjFactura.Serie}-{ObjFactura.Folio}", FolioIE.ToString()) + If IngresoIEPS > 0 AndAlso Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, (importeMovimiento * IngresoIEPS) / IngresoTotal, Referencia, 38, Concepto, Fecha, UsuarioActual.Empresa.IdCuentaIEPSxTrasladar, -1, CveVenta:=Dr("CveVenta").ToString().ToEntero(), CveCliente:=CveCliente, CveIE:=CveIEAnticipo, ImporteMX:=((importeMovimiento * IngresoIEPS) / IngresoTotal) * tipoCambio * Multiplicador, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveSubProyecto:=CveSubProyectoContabilizar) Then + ErrorPrepoliza = True + Exit For + End If + + 'IEPS PAGADO + Concepto = ObjConta.ObtenerConceptoEmpresa(UsuarioActual.CveEmpresa, 39, NombreCliente, $"{ObjFactura.Serie}-{ObjFactura.Folio}", FolioIE.ToString()) + If IngresoIEPS > 0 AndAlso Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, Not TipoMovimiento, (importeMovimiento * IngresoIEPS) / IngresoTotal, Referencia, 39, Concepto, Fecha, UsuarioActual.Empresa.IdCuentaIEPSTrasladado, -1, CveVenta:=Dr("CveVenta").ToString().ToEntero(), CveCliente:=CveCliente, CveIE:=CveIEAnticipo, ImporteMX:=((importeMovimiento * IngresoIEPS) / IngresoTotal) * tipoCambio * Multiplicador, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveSubProyecto:=CveSubProyectoContabilizar) Then + ErrorPrepoliza = True + Exit For + End If End If End If End If - End If - End If + + End If + End If + + End If End If - End If Next End If @@ -11200,7 +11243,7 @@ Partial Class Ventas CveUnidad = Dr("CveUM").ToString().ToEntero() Cantidad = Dr("Cantidad").ToString().ToDouble - If Dr("CveTipoInvPS").ToString().ToEntero() = 5 And Dr("SerieLote").ToString() = "" Then + If Dr("CveTipoInvPS").ToString().ToEntero() = 5 And Dr("Serie").ToString() = "" Then OcurrioError = True ErrorList.Add("Se deben especificar las Series de los productos de almacén") Exit For @@ -11240,7 +11283,7 @@ Partial Class Ventas End If End If - If Not ObjInventario.AddMovimientoDetalle(CveMovimientoInventario, Cantidad, CveUnidad, CveProducto, PU, -1, SerieLote:=Dr("SerieLote").ToString(), CveVentaDetalle:=Dr("CveVentaDetalle").ToString().ToEntero()) Then + If Not ObjInventario.AddMovimientoDetalle(CveMovimientoInventario, Cantidad, CveUnidad, CveProducto, PU, -1, Serie:=Dr("Serie").ToString(), CveVentaDetalle:=Dr("CveVentaDetalle").ToString().ToEntero()) Then OcurrioError = True ErrorList.Add("Ocurrió un error al agregar los Movimientos de salida al Inventario.
") Exit For @@ -11996,7 +12039,12 @@ Partial Class Ventas saldo = e.Row.DataKey("Saldo").ToString().ToDecimal If CveVenta <= 0 Then - saldo = e.Row.DataKey("SaldoSubTotal").ToString().ToDecimal + If DdlTipoAmortizacionAnticipo.SelectedValue = "2" Then 'cuando es por NC, debe de tomar el total de su saldo respectivo + saldo = e.Row.DataKey("SaldoConImpuestos").ToString().ToDecimal + Else + saldo = e.Row.DataKey("SaldoSubTotal").ToString().ToDecimal + End If + e.Row.FCLiteral("LtlAnticipos").Text = saldo.FormatoNumero End If @@ -13240,7 +13288,7 @@ Partial Class Ventas Protected Function CancelarMovimientoInventario(ByRef ObjInventario As ClsInventarios, ByRef ObjConta As ClsContabilidad, CveVentaNueva As Integer, CveVentaVieja As Integer) As Boolean 'SI YA ESTA QUEMADA DE ALMACEN LA VENTA, NO SE CANCELAN LOS MOVIMIENTOS DE INVENTARIO - If ObjInventario.GetEstatusVentaPorSurir(CveVentaVieja) Then + If ObjInventario.GetEstatusVentaPorSurtir(CveVentaVieja) Then If ObjInventario.EsDevolucionVenta = 2 Then Return True End If @@ -13279,12 +13327,15 @@ Partial Class Ventas Dim CveUnidad As Integer = MovDet("CveUM").ToString().ToEntero() Dim PU As Decimal = MovDet("PU").ToString().ToDecimal Dim CveProducto As Integer = MovDet("CvePS").ToString().ToEntero() - Dim SerieLote As String = MovDet("SerieLote").ToString() + Dim Serie As String = MovDet("Serie").ToString() + Dim Lote As String = MovDet("Lote").ToString() + Dim FechaCaducidad As Date = MovDet("FechaCaducidad").ToString().ToDate + Dim CveVentaDetalle = MovDet("CveVentaDetalle").ToString().ToEntero() 'Entrada - If Not ObjInventario.AddMovimientoDetalle(CveMovimientoInventarioEntrada, Cantidad, CveUnidad, CveProducto, PU, -1, SerieLote:=SerieLote, CveVentaDetalle:=CveVentaDetalle) Then + If Not ObjInventario.AddMovimientoDetalle(CveMovimientoInventarioEntrada, Cantidad, CveUnidad, CveProducto, PU, -1, Serie:=Serie, Lote:=Lote, FechaCaducidad:=FechaCaducidad, CveVentaDetalle:=CveVentaDetalle) Then OcurrioError = True Exit For End If @@ -13292,7 +13343,7 @@ Partial Class Ventas 'Salida CveVentaDetalle = ObjInventario.VentaDetallePadreGet(CveVentaDetalle).ToString().ToEntero() If CveVentaDetalle > 0 Then - If Not ObjInventario.AddMovimientoDetalle(CveMovimientoInventarioSalida, Cantidad, CveUnidad, CveProducto, PU, -1, SerieLote:=SerieLote, CveVentaDetalle:=CveVentaDetalle) Then + If Not ObjInventario.AddMovimientoDetalle(CveMovimientoInventarioSalida, Cantidad, CveUnidad, CveProducto, PU, -1, Serie:=Serie, Lote:=Lote, FechaCaducidad:=FechaCaducidad, CveVentaDetalle:=CveVentaDetalle) Then OcurrioError = True Exit For End If @@ -14576,7 +14627,7 @@ Partial Class Ventas AgregarProductoServicio(Cantidad, DdlUnidadMedida.SelectedValue.ToEntero(), DdlUnidadMedida.SelectedItem.Text, DdlClasificacion.SelectedValue.ToEntero(), DdlClasificacion.SelectedItem.Text, 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, CvePromocionDetalle:=ObjDescuento.CvePromocionDetalle) + Serie:=If(DIVCod.Visible, TxtCodigoSerie.Text.Trim, ""), TiempoEntrega:=TxtTiempoEntrega.Text, CuentaPredial:=TxtCuentaPredial.Text.Trim, RegeneraIEPS:=ClienteDesglosaIEPS, CvePromocionDetalle:=ObjDescuento.CvePromocionDetalle) CalculaUsados() @@ -14706,7 +14757,7 @@ Partial Class Ventas Private Function AgregarProductoServicio(Cantidad As Decimal, CveUM As Integer, UM As String, CveClasificacion As Integer, Clasificacion As String, CvePS As Integer, PS As String, Obs As String, PU As Decimal, Descuento As Decimal, CveProyecto As Integer, Proyecto As String, CveSubProyecto As Integer, SubProyecto As String, - Optional SerieLote As String = "", Optional TiempoEntrega As String = "", Optional EntregaDirecta As Integer = 0, + Optional Serie As String = "", Optional TiempoEntrega As String = "", Optional EntregaDirecta As Integer = 0, 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, @@ -14745,7 +14796,7 @@ Partial Class Ventas Row("Proyecto") = Proyecto Row("CveSubProyecto") = CveSubProyecto Row("SubProyecto") = SubProyecto - Row("SerieLote") = SerieLote + Row("Serie") = Serie Row("TiempoEntrega") = TiempoEntrega Row("Orden") = TmpDT.Rows.Count + 1 Row("Cantidad") = Cantidad @@ -15021,7 +15072,7 @@ Partial Class Ventas TmpDT.Columns.Add("NoIdentificacion", GetType(String)) TmpDT.Columns.Add("CveTipoPS", GetType(Integer)) TmpDT.Columns.Add("CveTipoInvPS", GetType(Integer)) - TmpDT.Columns.Add("SerieLote", GetType(String)) + TmpDT.Columns.Add("Serie", GetType(String)) TmpDT.Columns.Add("CuentaPredial", GetType(String)) TmpDT.Columns.Add("Obs", GetType(String)) TmpDT.Columns.Add("TiempoEntrega", GetType(String)) @@ -16136,7 +16187,7 @@ Partial Class Ventas 'Si no se ha terminado de surtir agregamos el movimiento If Indice >= 0 Then - ' rowSurtidos("Surtido").ToString().ToDouble < rowSurtidos("Cantidad").ToString().ToDouble AndAlso (dr("CantidadDisponible").ToString().ToDouble - rowSurtidos("Surtido").ToString().ToDouble > 0 Or dr("SerieLote").ToString() <> "") + ' rowSurtidos("Surtido").ToString().ToDouble < rowSurtidos("Cantidad").ToString().ToDouble AndAlso (dr("CantidadDisponible").ToString().ToDouble - rowSurtidos("Surtido").ToString().ToDouble > 0 Or dr("Serie").ToString() <> "") If rowSurtidos("Surtido").ToString().ToDecimal < rowSurtidos("Cantidad").ToString().ToDecimal Then Dim CantidadSurtida As Double = If(dr("CantidadDisponible").ToString().ToDecimal < rowSurtidos("Cantidad").ToString().ToDouble, dr("CantidadDisponible").ToString().ToDecimal, rowSurtidos("Cantidad").ToString().ToDecimal) MovDTCuadrados.ImportRow(dr) @@ -16219,7 +16270,10 @@ Partial Class Ventas Dim CveUnidad As Integer = MovDet("CveUM").ToString().ToEntero() Dim PU As Decimal = MovDet("PU").ToString().ToDecimal Dim CveProducto As Integer = MovDet("CvePS").ToString().ToEntero() - Dim SerieLote As String = MovDet("SerieLote").ToString() + Dim Serie As String = MovDet("Serie").ToString() + Dim Lote As String = MovDet("Lote").ToString() + Dim FechaCaducidad As Date = MovDet("FechaCaducidad").ToString.ToDate + Dim CveSeccionAlmacen As Integer = MovDet("CveSeccionAlmacen").ToString.ToEntero Dim Consec As Integer = DtRemisionesTmpDT.FiltroPrimeroValor("Consec", $"CveVentaDetalle = {MovDet("CveVentaDetalle").ToString()}").ToEntero() 'COMIENZA: VENTADETALLE @@ -16245,7 +16299,7 @@ Partial Class Ventas CveMovimientoDetalleEntrada = MovDet("CveMovimientoDetalle").ToString().ToEntero() End If - If ObjInventario.AddMovimientoDetalle(CveMovimientoInventario, Cantidad, CveUnidad, CveProducto, PU, -1, SerieLote:=SerieLote, CveVentaDetalle:=CveVentaDetalle, CveMovimientoDetalleEntrada:=CveMovimientoDetalleEntrada) Then + If ObjInventario.AddMovimientoDetalle(CveMovimientoInventario, Cantidad, CveUnidad, CveProducto, PU, -1, CveSeccionAlmacen:=CVeSeccionAlmacen, Serie:=Serie, Lote:=Lote, FechaCaducidad:=FechaCaducidad, CveVentaDetalle:=CveVentaDetalle, CveMovimientoDetalleEntrada:=CveMovimientoDetalleEntrada) Then ContadorMovtosDetalles += 1 Else OcurrioError = True @@ -17208,7 +17262,7 @@ Partial Class Ventas For Each Row As DataRow In TmpDT.Rows Dim CveVentaDetalle As Integer = Row("CveVentaDetalle").ToString().ToEntero() If CveVentaDetalle > 0 Then - If Not ObjVentas.UpdateVentaDetalleRemision(Row("CveVentaDetalle").ToString().ToEntero(), Row("CvePS").ToString().ToEntero(), Row("Cantidad").ToString().ToDecimal, Row("PU").ToString().ToDecimal(), Row("ImporteIEPS").ToString().ToDecimal(), Row("Obs").ToString(), UsuarioActual.CveUsuario) Then + If Not ObjVentas.UpdateVentaDetalleRemision(Row("CveVentaDetalle").ToString().ToEntero(), Row("CvePS").ToString().ToEntero(), Row("Cantidad").ToString().ToDecimal, Row("PU").ToString().ToDecimal(), Row("ImporteIEPS").ToString().ToDecimal(), Row("PorcentajeIEPS").ToString().ToDecimal(), Row("Obs").ToString(), UsuarioActual.CveUsuario) Then OcurrioError = True Exit For End If @@ -17360,7 +17414,7 @@ Partial Class Ventas Dim DrProducto As DataRow = Nothing If TxtCantidad.Text.Trim.ToDouble <= 0 Then TxtCantidad.Text = "1" - Dim SerieLote As String = "" + Dim SerieL As String = "" Dim CodigoBarras As String = "" Dim CvePS As Integer @@ -17369,10 +17423,10 @@ Partial Class Ventas 'BUSCA POR SERIE E IGNORA CODIGO DE BARRAS (LIMPIA) If TxtCodigoSerie.Text.Trim <> "" Then - SerieLote = TxtCodigoSerie.Text.Trim().ToUpper() + Dim Serie As String = TxtCodigoSerie.Text.Trim().ToUpper() Dim Objinventarios As New ClsInventarios - Dim Existencia = Objinventarios.GetExistenciasPS(-1, -1, UsuarioActual.CveEmpresa, -1, SerieLote:=SerieLote, ExcluyeAdelantado:=1, PendientePorSurtir:=1, RestringirAlmacenes:=1, ExcluyeApartados:=-1, CveSubProyecto:=DdlSubProyectoDatos.SelectedValue.ToEntero()) - Dim ExistenciaActual = DtInv.SUM("Cantidad", String.Format("SerieLote = '{0}'", SerieLote)) + Dim Existencia = Objinventarios.GetExistenciasPS(-1, -1, UsuarioActual.CveEmpresa, -1, Serie:=Serie, ExcluyeAdelantado:=1, PendientePorSurtir:=1, RestringirAlmacenes:=1, ExcluyeApartados:=-1, CveSubProyecto:=DdlSubProyectoDatos.SelectedValue.ToEntero()) + Dim ExistenciaActual = DtInv.SUM("Cantidad", String.Format("Serie = '{0}'", Serie)) CvePS = Objinventarios.CvePS Objinventarios.Dispose() @@ -17383,11 +17437,11 @@ Partial Class Ventas HdnCvePS.Value = CvePS.ToString() TxtCantidad.Text = "1" Else - Alert($"No se encontró un producto con la serie: {SerieLote}. Por favor verifique y vuelva a intentar ", TipoMensaje.MsgAdvertencia) + Alert($"No se encontró un producto con la serie: {Serie}. Por favor verifique y vuelva a intentar ", TipoMensaje.MsgAdvertencia) End If End If Else - Alert(String.Format("No hay existencia suficiente del producto con la Serie: {0}. Por favor rectifique y vuelva a intentar", SerieLote), TipoMensaje.MsgAdvertencia) + Alert(String.Format("No hay existencia suficiente del producto con la Serie: {0}. Por favor rectifique y vuelva a intentar", Serie), TipoMensaje.MsgAdvertencia) TxtCodigoSerie.Focus() RegistraScript($"$('#{TxtCodigoSerie.ClientID}').select();") Exit Sub @@ -17400,7 +17454,7 @@ Partial Class Ventas CodigoBarras = TxtCodigoBarras.Text.Trim() DrProducto = GlobalDTPS(UsuarioActual.CveEmpresa).FiltroPrimero($"CodigoBarras = '{CodigoBarras}'") If DrProducto IsNot Nothing Then - If DrProducto("Inv_CveMetodoInventario").ToString() = "5" Then 'si es serielote + If DrProducto("Inv_CveMetodoInventario").ToString() = "5" Then 'si es serie TxtCodigoSerie.Focus() Exit Sub Else @@ -17410,7 +17464,7 @@ Partial Class Ventas Else TxtCodigoBarras.Focus() RegistraScript($"$('#{TxtCodigoBarras.ClientID}').select();") - Alert($"No se encontró un producto con el código de barras: {SerieLote}. Por favor verifique y vuelva a intentar ", TipoMensaje.MsgAdvertencia) + Alert($"No se encontró un producto con el código de barras: {Serie}. Por favor verifique y vuelva a intentar ", TipoMensaje.MsgAdvertencia) Exit Sub End If End If @@ -17479,7 +17533,7 @@ Partial Class Ventas 'AddPS(TxtCantidad.Text.Trim.ToDouble, DrProducto("CveUM").ToString().ToEntero(), DrProducto("UnidadMedida").ToString(), DrProducto("CveClasificacion").ToString().ToEntero(), DrProducto("Clasificacion").ToString(), ' DrProducto("CvePS").ToString().ToEntero(), DrProducto("PS").ToString(), TxtObsPS.Text.Trim, TxtPrecio.Text.Trim.ToDouble, HdnIVAPS.Value.ToDouble, 0, 0, ' -1, -1, True, DrProducto("Codigo").ToString(), DdlProyecto.SelectedValue.ToEntero(), - ' DdlProyecto.SelectedItem.Text, DdlSubProyecto.SelectedValue.ToEntero(), DdlSubProyecto.SelectedItem.Text, DrProducto("CveTipoPS").ToString().ToEntero(), DrProducto("Inv_CveMetodoInventario").ToString().ToEntero(), SerieLote:=SerieLote, CodigoPS:=DrProducto("PSCodigo").ToString()) + ' DdlProyecto.SelectedItem.Text, DdlSubProyecto.SelectedValue.ToEntero(), DdlSubProyecto.SelectedItem.Text, DrProducto("CveTipoPS").ToString().ToEntero(), DrProducto("Inv_CveMetodoInventario").ToString().ToEntero(), Serie:=Serie, CodigoPS:=DrProducto("PSCodigo").ToString()) LimpiaAgregar() End If @@ -17991,17 +18045,17 @@ Partial Class Ventas Dim Index = Row.RowIndex Dim ObjInventarios As New ClsInventarios Dim Existencia = ObjInventarios.GetExistenciasPSSerie(Row.FCTextBox("TxtSerie").Text.ToString(), ddlAlmacen.SelectedValue.ToEntero(), UsuarioActual.CveEmpresa) - Dim ExistenciaActual = DtInv.SUM("Cantidad", String.Format("SerieLote = '{0}'", Row.FCTextBox("TxtSerie").Text.ToString())) + Dim ExistenciaActual = DtInv.SUM("Cantidad", String.Format("Serie = '{0}'", Row.FCTextBox("TxtSerie").Text.ToString())) 'Valida Existencia If Existencia - ExistenciaActual <= 0 Then Alert(String.Format("No hay existencia suficiente del producto con la Serie: {0}. Por favor rectifique y vuelva a intentar", Row.FCTextBox("TxtSerie").Text.ToString()), TipoMensaje.MsgAdvertencia) Row.FCTextBox("TxtSerie").Text = "" Row.FCHiddenField("HdnSerie").Value = "" - TmpDT.Rows(Index)("SerieLote") = "" + TmpDT.Rows(Index)("Serie") = "" Else Row.FCHiddenField("HdnSerie").Value = Row.FCTextBox("TxtSerie").Text - TmpDT.Rows(Index)("SerieLote") = Row.FCTextBox("TxtSerie").Text + TmpDT.Rows(Index)("Serie") = Row.FCTextBox("TxtSerie").Text End If TmpDT.AcceptChanges() @@ -18027,8 +18081,8 @@ Partial Class Ventas 'SIN EXISTENCIA If Gvr.FCTextBox("TxtSerie").Visible = True And Gvr.FCTextBox("TxtSerie").Text.Trim <> "" Then - Existencia = ObjInventarios.GetExistenciasPS(-1, -1, UsuarioActual.CveEmpresa, ddlAlmacen.SelectedValue.ToEntero(), SerieLote:=Gvr.FCTextBox("TxtSerie").Text.ToString(), ExcluyeAdelantado:=1, PendientePorSurtir:=1, RestringirAlmacenes:=1, ExcluyeApartados:=1) - ExistenciaActual = DtInv.SUM("Cantidad", String.Format("SerieLote = '{0}'", Gvr.FCTextBox("TxtSerie").Text.Trim)) + Existencia = ObjInventarios.GetExistenciasPS(-1, -1, UsuarioActual.CveEmpresa, ddlAlmacen.SelectedValue.ToEntero(), Serie:=Gvr.FCTextBox("TxtSerie").Text.ToString(), ExcluyeAdelantado:=1, PendientePorSurtir:=1, RestringirAlmacenes:=1, ExcluyeApartados:=1) + ExistenciaActual = DtInv.SUM("Cantidad", String.Format("Serie = '{0}'", Gvr.FCTextBox("TxtSerie").Text.Trim)) 'Valida Existencia If Existencia - ExistenciaActual < 0 Then @@ -18226,13 +18280,13 @@ Partial Class Ventas DtTemporal.Columns.Add("Lote", Type.GetType("System.String")) End If - If Not DtTemporal.Columns.Contains("Batch") Then - DtTemporal.Columns.Add("Batch", Type.GetType("System.String")) + If Not DtTemporal.Columns.Contains("FechaCaducidad") Then + DtTemporal.Columns.Add("FechaCaducidad", Type.GetType("System.DateTime")) End If - GvInv.Columns(4).Visible = DtTemporal.MAX("SerieLote", "SerieLote <> ''") <> "" Or CveVenta <= 0 + GvInv.Columns(4).Visible = DtTemporal.MAX("Serie", "Serie <> ''") <> "" Or CveVenta <= 0 GvInv.Columns(5).Visible = DtTemporal.MAX("Lote", "Lote <> ''") <> "" - GvInv.Columns(6).Visible = DtTemporal.MAX("Lote", "Lote <> ''") <> "" + GvInv.Columns(6).Visible = DtTemporal.MAX("FechaCaducidad").ToDate > MinFecha GvInv.DataSource = DtTemporal GvInv.DataBind() @@ -19922,7 +19976,7 @@ Partial Class Ventas End If For Each dr As DataRow In ObjInventarios.DtResultados.FiltraParametros($"ExistenciaPedido > 0 {Filtro}").Rows AgregarProductoServicio(dr("Cantidad").ToString().ToDecimal, dr("CveUM").ToString().ToEntero(), dr("UnidadMedida").ToString(), dr("CveClasificacion").ToString().ToEntero(), dr("Clasificacion").ToString(), - dr("CvePS").ToString().ToEntero(), dr("PS").ToString(), dr("SerieLote").ToString(), dr("PU").ToString().ToDecimal, 0.0D, + dr("CvePS").ToString().ToEntero(), dr("PS").ToString(), dr("Serie").ToString(), dr("PU").ToString().ToDecimal, 0.0D, dr("CveProyecto").ToString().ToEntero(), dr("Proyecto").ToString(), dr("CveSubProyecto").ToString().ToEntero(), dr("SubProyecto").ToString(), CveMovimientoDetallePedido:=dr("CveMovimientoDetalle").ToString().ToEntero()) Next @@ -20428,12 +20482,12 @@ Partial Class Ventas If Dr("CveTipoInvPS").ToString().ToEntero() = 5 Then For Each Dr2 As DataRow In DtContratosSerieDetalle.FiltraParametros($"ConsecId = {Dr("CveContratoDetalle")}").Rows - Existencia = ObjInventario.GetExistenciasPS(CveProducto, CveUnidad, factura.CveEmpresa, CveAlmacenExistenciasContrato, SerieLote:=Dr2("Serie").ToString(), FechaMovto:=DateTime.Today.AddDays(1).ToString("yyyy/MM/dd HH:mm"), CveSubProyecto:=DdlSubProyectoDatos.SelectedValue.ToEntero(), ExcluyeAdelantado:=1, RestringirAlmacenes:=1, ExcluyeApartados:=1) + Existencia = ObjInventario.GetExistenciasPS(CveProducto, CveUnidad, factura.CveEmpresa, CveAlmacenExistenciasContrato, Serie:=Dr2("Serie").ToString(), FechaMovto:=DateTime.Today.AddDays(1).ToString("yyyy/MM/dd HH:mm"), CveSubProyecto:=DdlSubProyectoDatos.SelectedValue.ToEntero(), ExcluyeAdelantado:=1, RestringirAlmacenes:=1, ExcluyeApartados:=1) If Existencia < 1 Then Return False End If - If Not ObjInventario.AddMovimientoDetalle(CveMovimientoSalidaConsignacion, 1, CveUnidad, CveProducto, 0, -1, SerieLote:=Dr2("Serie").ToString(), CveVentaDetalle:=Dr("CveVentaDetalle").ToString().ToEntero()) Then + If Not ObjInventario.AddMovimientoDetalle(CveMovimientoSalidaConsignacion, 1, CveUnidad, CveProducto, 0, -1, Serie:=Dr2("Serie").ToString(), CveVentaDetalle:=Dr("CveVentaDetalle").ToString().ToEntero()) Then Return False End If Next @@ -20458,7 +20512,7 @@ Partial Class Ventas If CveMovimientoEntradaGeneral > 0 Then If ObjInventario.GetMovimientosDetalle(CveMovimientoSalidaConsignacion, UsuarioActual.CveEmpresa) Then For Each Dr As DataRow In ObjInventario.DtResultados.Rows - If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntradaGeneral, Dr("Cantidad").ToString().ToDouble, Dr("CveUM").ToString().ToEntero(), Dr("CvePS").ToString().ToEntero(), Dr("PU").ToString().ToDecimal, Dr("CveAF").ToString().ToEntero(), Dr("CveSeccionAlmacen").ToString().ToEntero(), Dr("SerieLote").ToString(), Lote:=Dr("Lote").ToString(), Batch:=Dr("Batch").ToString(), CveMovimientoDetalleEntrada:=Dr("CveMovimientoDetalle").ToString().ToEntero(), CveVentaDetalle:=Dr("CveVentaDetalle").ToString().ToEntero()) Then + If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntradaGeneral, Dr("Cantidad").ToString().ToDouble, Dr("CveUM").ToString().ToEntero(), Dr("CvePS").ToString().ToEntero(), Dr("PU").ToString().ToDecimal, CveAF:=Dr("CveAF").ToString().ToEntero(), CveSeccionAlmacen:=Dr("CveSeccionAlmacen").ToString().ToEntero(), Serie:=Dr("Serie").ToString(), Lote:=Dr("Lote").ToString(), CveMovimientoDetalleEntrada:=Dr("CveMovimientoDetalle").ToString().ToEntero(), CveVentaDetalle:=Dr("CveVentaDetalle").ToString().ToEntero()) Then Return False End If Next @@ -20472,7 +20526,7 @@ Partial Class Ventas If CveMovimientoEntradaGeneral > 0 Then If ObjInventario.GetMovimientosDetalle(CveMovimientoSalidaConsignacion, UsuarioActual.CveEmpresa) Then For Each Dr As DataRow In ObjInventario.DtResultados.Rows - If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntradaGeneral, Dr("Cantidad").ToString().ToDouble, Dr("CveUM").ToString().ToEntero(), Dr("CvePS").ToString().ToEntero(), Dr("PU").ToString().ToDecimal, Dr("CveAF").ToString().ToEntero(), Dr("CveSeccionAlmacen").ToString().ToEntero(), Dr("SerieLote").ToString(), Lote:=Dr("Lote").ToString(), Batch:=Dr("Batch").ToString(), CveMovimientoDetalleEntrada:=Dr("CveMovimientoDetalle").ToString().ToEntero(), CveVentaDetalle:=Dr("CveVentaDetalle").ToString().ToEntero()) Then + If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntradaGeneral, Dr("Cantidad").ToString().ToDouble, Dr("CveUM").ToString().ToEntero(), Dr("CvePS").ToString().ToEntero(), Dr("PU").ToString().ToDecimal, CveAF:=Dr("CveAF").ToString().ToEntero(), CveSeccionAlmacen:=Dr("CveSeccionAlmacen").ToString().ToEntero(), Serie:=Dr("Serie").ToString(), Lote:=Dr("Lote").ToString(), CveMovimientoDetalleEntrada:=Dr("CveMovimientoDetalle").ToString().ToEntero(), CveVentaDetalle:=Dr("CveVentaDetalle").ToString().ToEntero()) Then Return False End If Next @@ -20506,12 +20560,12 @@ Partial Class Ventas Protected Sub BtnSerieConsignacion_Click(sender As Object, e As EventArgs) Dim Argumentos = CType(sender, Button).CommandArgument.Split("°"c) - CveConsecSerieLote = Argumentos(0).ToEntero() - CvePSSerieLote = Argumentos(1).ToEntero() - CveUMSerieLote = Argumentos(2).ToEntero() + CveConsecSerie = Argumentos(0).ToEntero() + CvePSSerie = Argumentos(1).ToEntero() + CveUMSerie = Argumentos(2).ToEntero() LbProducto.Text = Argumentos(3) LbCantidad.Text = If(Argumentos(4).ToDecimal < 0.0D, 0, Argumentos(4).ToDecimal).FormatoNumero - LimitaCantidadSerieLote = Argumentos(5).ToEntero() + LimitaCantidadSerie = Argumentos(5).ToEntero() CargaSerie() End Sub @@ -20520,11 +20574,11 @@ Partial Class Ventas Private Sub CargaSerie(Optional CerrarCompletado As Boolean = False) RegistraScript("$('#DivSerieConsignacion').modal();", "ModalLote") - GvSerie.DataSource = DtContratosSerieDetalle.FiltraParametros(String.Format("ConsecId = {0}", CveConsecSerieLote), "Consec DESC") + GvSerie.DataSource = DtContratosSerieDetalle.FiltraParametros(String.Format("ConsecId = {0}", CveConsecSerie), "Consec DESC") GvSerie.DataBind() lblSerieTotal.Text = GvSerie.Rows.Count.ToString() 'VALIDA QUE SIGA AGREGANDO - If DtContratosSerieDetalle.FiltraParametros(String.Format("ConsecId = {0}", CveConsecSerieLote)).Rows.Count = LbCantidad.Text.ToEntero() And LimitaCantidadSerieLote = 1 Then + If DtContratosSerieDetalle.FiltraParametros(String.Format("ConsecId = {0}", CveConsecSerie)).Rows.Count = LbCantidad.Text.ToEntero() And LimitaCantidadSerie = 1 Then BtnAgregarPS.Enabled = False If CerrarCompletado Then RegistraScript("$('#DivSerieConsignacion').modal('hide');") @@ -20534,22 +20588,21 @@ Partial Class Ventas End If UpSerieConsignacion.Update() - TxtSerieLote.Text = "" - TxtSerieLote.Focus() + TxtSerie.Text = "" + TxtSerie.Focus() End Sub Protected Sub BtnAgregarPS_Click(sender As Object, e As EventArgs) - AgregaSerieLote(TxtSerieLote.Text.Replace(" ", String.Empty)) + AgregaSerie(TxtSerie.Text.Replace(" ", String.Empty)) End Sub - Private Sub AgregaSerieLote(SerieLote As String) - 'SerieLote = SerieLote.Trim.Replace(" ", " ") + Private Sub AgregaSerie(Serie As String) - If SerieLote.Trim = "" Then + If Serie.Trim = "" Then Alert("El campo Serie es obligatorio. Por favor rectifique y vuelva a intentar.", TipoMensaje.MsgAdvertencia) Exit Sub End If - Dim SeriesArreglo = SerieLote.Trim.Split(";"c) + Dim SeriesArreglo = Serie.Trim.Split(";"c) 'VALIDACION DE SERIES DUPLICADAS Dim MensajeAlert As New StringBuilder @@ -20558,13 +20611,13 @@ Partial Class Ventas DtSeriesNuevas.Columns.Add("Serie", GetType(String)) 'PARA VALIDAR SI LA SERIE ES IGUAL AL CODIGO O CODIGOBARRAS - ' Dim dr As DataRow = GlobalDTProductosServicios(UsuarioActual.CveEmpresa).FiltroPrimero(String.Format("CvePS = {0}", CvePSSerieLote), "PS") - Dim dr As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePSSerieLote).FiltroPrimero("", "PS") + ' Dim dr As DataRow = GlobalDTProductosServicios(UsuarioActual.CveEmpresa).FiltroPrimero(String.Format("CvePS = {0}", CvePSSerie), "PS") + Dim dr As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePSSerie).FiltroPrimero("", "PS") For Each SerieRow In SeriesArreglo SerieRow = SerieRow.ToUpper - DtDuplicado = DtContratosSerieDetalle.FiltraParametros($"ConsecId = {CveConsecSerieLote} AND Serie = '{SerieRow}'") + DtDuplicado = DtContratosSerieDetalle.FiltraParametros($"ConsecId = {CveConsecSerie} AND Serie = '{SerieRow}'") If DtDuplicado IsNot Nothing AndAlso DtDuplicado.Rows.Count > 0 Then MensajeAlert.Append($"
El numero de Serie ""{SerieRow}"" proporcionado ya se encuentra ingresado.") Continue For @@ -20602,29 +20655,29 @@ Partial Class Ventas Dim Row = DtContratosSerieDetalle.NewRow Index = Index + 1 - If Index > LbCantidad.Text.ToEntero() And LimitaCantidadSerieLote = 1 Then + If Index > LbCantidad.Text.ToEntero() And LimitaCantidadSerie = 1 Then MensajeSinExistencias.Append($"Serie: {SerieRow} - En esta serie ocurrió un error por favor de comunicarse con soporte tecnico..
") Continue For End If 'VERIFICA EXISTENCIAS - Dim Existencia = ObjInventarios.GetExistenciasPS(CvePSSerieLote, CveUMSerieLote, UsuarioActual.CveEmpresa, CveAlmacenExistenciasContrato, FechaMovto:=TxtFecha.Text.ToDateTime.ToString("yyyy/MM/dd HH:mm"), SerieLote:=SerieRow) + Dim Existencia = ObjInventarios.GetExistenciasPS(CvePSSerie, CveUMSerie, UsuarioActual.CveEmpresa, CveAlmacenExistenciasContrato, FechaMovto:=TxtFecha.Text.ToDateTime.ToString("yyyy/MM/dd HH:mm"), Serie:=SerieRow) If Existencia < 1 Then MensajeSinExistencias.Append($"Serie: {SerieRow}.
") Continue For End If - Row("ConsecId") = CveConsecSerieLote + Row("ConsecId") = CveConsecSerie Row("Consec") = DtContratosSerieDetalle.Rows.Count + 1 - Row("CvePS") = CvePSSerieLote - Row("CveUM") = CveUMSerieLote + Row("CvePS") = CvePSSerie + Row("CveUM") = CveUMSerie Row("Serie") = SerieRow DtContratosSerieDetalle.Rows.Add(Row) Next ObjInventarios.Dispose() - TxtSerieLote.Text = "" + TxtSerie.Text = "" CargaCantidadSerieGV() @@ -20641,9 +20694,9 @@ Partial Class Ventas Protected Sub GvSerie_RowDeleting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles GvSerie.RowDeleting Try - Dim keySerieLote As String = e.Keys("Serie").ToString() + Dim keySerie As String = e.Keys("Serie").ToString() For Each dr As DataRow In DtContratosSerieDetalle.Rows - If dr("Serie").ToString() = keySerieLote Then + If dr("Serie").ToString() = keySerie Then dr.Delete() End If Next @@ -20658,7 +20711,7 @@ Partial Class Ventas Private Sub CargaCantidadSerieGV() 'MODIFICA CANTIDAD DEL GV CONTRATOS For Each Gvr As GridViewRow In GvContratoDetalles.Rows - If Gvr.DataKey("CvePS").ToEntero() = CvePSSerieLote Then + If Gvr.DataKey("CvePS").ToEntero() = CvePSSerie Then Dim Contador = DtContratosSerieDetalle.FiltraParametros(String.Format("ConsecId = {0}", Gvr.DataKey("CveContratoDetalle"))).Rows.Count Gvr.FCTextBox("TxtCant").Text = Contador.ToString() UPEstimaciones.Update() @@ -21962,13 +22015,13 @@ Partial Class Ventas If AplicaNCMasiva Then If NCDescuento Then For Each RNC In ListaNCDesc - DtImpuestos.Merge(CargaDtImpuestosNC(RNC.CveVenta, RNC.TotalRemNCAplicado, NCDescuento:=True, AplicaImpuestosLocales:=AplicaImpuestosLocales), True, MissingSchemaAction.Ignore) + DtImpuestos.Merge(CargaDtImpuestosNC(RNC.CveVenta, RNC.TotalRemNCAplicado, NCDescuento:=True, AplicaImpuestosLocales:=AplicaImpuestosLocales, NivelTotal:=DdlNCNivelImporte.SelectedValue.ToEntero()), True, MissingSchemaAction.Ignore) Next Else For Each Gvr As GridViewRow In GvCxC.Rows If Gvr.FCCheckBox("ChkCxC").Checked Then - DtImpuestos.Merge(CargaDtImpuestosNC(Gvr.DataKey("CveVenta").ToString().ToEntero(), Gvr.FCTextBox("TxtImporte").Text.ToString().ToDecimal, AplicaImpuestosLocales:=AplicaImpuestosLocales), True, MissingSchemaAction.Ignore) + DtImpuestos.Merge(CargaDtImpuestosNC(Gvr.DataKey("CveVenta").ToString().ToEntero(), Gvr.FCTextBox("TxtImporte").Text.ToString().ToDecimal, AplicaImpuestosLocales:=AplicaImpuestosLocales, NivelTotal:=DdlNCNivelImporte.SelectedValue.ToEntero()), True, MissingSchemaAction.Ignore) 'CARGA FACTURA A LA CUAL SE APLICA LA NC AcumuladoNC += Gvr.FCTextBox("TxtImporte").Text.ToString().ToDecimal CargaNCDT(Gvr.DataKey("CveVenta").ToString().ToEntero(), Gvr.FCTextBox("TxtImporte").Text.ToString().ToDecimal) @@ -21976,7 +22029,7 @@ Partial Class Ventas Next End If Else - DtImpuestos = CargaDtImpuestosNC(CveVenta, TxtNCImporte.Text.Trim.ToDecimal, AplicaImpuestosLocales:=AplicaImpuestosLocales) + DtImpuestos = CargaDtImpuestosNC(CveVenta, TxtNCImporte.Text.Trim.ToDecimal, AplicaImpuestosLocales:=AplicaImpuestosLocales, NivelTotal:=DdlNCNivelImporte.SelectedValue.ToEntero()) If EsNCAmortizacion Then If DtAnticipoAmortizacion Is Nothing Then @@ -21995,7 +22048,7 @@ Partial Class Ventas End If Else For Each RNC In ListaRemisionesNC - DtImpuestos.Merge(CargaDtImpuestosNC(RNC.CveVenta, RNC.TotalRemNCAplicado, NCDescuento:=True, AplicaImpuestosLocales:=AplicaImpuestosLocales), True, MissingSchemaAction.Ignore) + DtImpuestos.Merge(CargaDtImpuestosNC(RNC.CveVenta, RNC.TotalRemNCAplicado, NCDescuento:=True, AplicaImpuestosLocales:=AplicaImpuestosLocales, NivelTotal:=DdlNCNivelImporte.SelectedValue.ToEntero()), True, MissingSchemaAction.Ignore) Next End If @@ -22112,12 +22165,13 @@ Partial Class Ventas End Sub - Private Function CargaDtImpuestosNC(CveVentaNC As Integer, Importe As Decimal, Optional NCDescuento As Boolean = False, Optional AplicaImpuestosLocales As Boolean = True) As DataTable + Private Function CargaDtImpuestosNC(CveVentaNC As Integer, Importe As Decimal, Optional NCDescuento As Boolean = False, Optional AplicaImpuestosLocales As Boolean = True, Optional NivelTotal As Integer = 1) As DataTable Dim Total As Decimal = 0, SubTotal As Decimal = 0, Saldo As Decimal = 0 Dim TmpDT As DataTable = Nothing Dim TmpDTImpuestos As DataTable = Nothing + Dim ObjVentas As New ClsVentas If ObjVentas.GetVentaImpuestosLocales(CveVentaNC) Then If ObjVentas.DtResultados.Rows.Count > 0 Then @@ -22153,7 +22207,7 @@ Partial Class Ventas DtImpuestosLocal.Columns.Add("ImporteRetISR", GetType(Decimal)) DtImpuestosLocal.Columns.Add("ImporteIEPS", GetType(Decimal)) - Dim ImporteReferencia As Decimal = If(DdlNCNivelImporte.SelectedValue.ToEntero() = 1, Total, SubTotal) + Dim ImporteReferencia As Decimal = If(NivelTotal = 1, Total, SubTotal) Dim Porcentaje As Decimal = ((Importe * 100) / ImporteReferencia) / 100 Dim FiltroStr As String = "" Dim importePuTemp As Decimal = 0 @@ -22212,7 +22266,7 @@ Partial Class Ventas CveClasificacion As Integer, Clasificacion As String, CveProyecto As Integer, Proyecto As String, CveSubProyecto As Integer, SubProyecto As String, Obs As String, Cantidad As Double, PU As Double, PorcentajeIVA As Double, ImporteIVA As Double, PorcentajeRetIVA As Double, ImporteRetIVA As Double, PorcentajeRetISR As Double, ImporteRetISR As Double, PorcentajeIEPS As Double, ImporteIEPS As Double, TipoDescuento As Integer, Descuento As Double, - Total As Double, SerieLote As String, TiempoEntrega As String, CvePresupuestoIngreso As Integer, EntregaDirecta As Integer, SATClaveProdServ As String, + Total As Double, Serie As String, TiempoEntrega As String, CvePresupuestoIngreso As Integer, EntregaDirecta As Integer, SATClaveProdServ As String, SATClaveUM As String, CveContratoDetalle As Integer, CveVentaDetalle As Integer, CveMovimientoDetallePedido As Integer, CveOrdenCompraDetalle As Integer, CveVentaDetalleRemision As Integer, CveVentaDetalleCotizacion As Integer, Optional CveTamaño As Integer = -1) @@ -22258,7 +22312,7 @@ Partial Class Ventas Row("TotalImporte") = Math.Round(Total, NumeroDecimales) - Row("SerieLote") = SerieLote + Row("Serie") = Serie Row("TiempoEntrega") = TiempoEntrega Row("CvePresupuestoIngreso") = CvePresupuestoIngreso Row("EntregaDirecta") = EntregaDirecta @@ -23106,8 +23160,14 @@ Partial Class Ventas End If - If DdlTipoAmortizacionAnticipo.SelectedValue = "2" Then DivConceptoNC.Visible = True Else DivConceptoNC.Visible = False + If DdlTipoAmortizacionAnticipo.SelectedValue = "2" Then + 'debo de cambiar la columna que se tomaria como total, por si tiene impuestos, la NC estaria abarcandolos + DivConceptoNC.Visible = True + Else + DivConceptoNC.Visible = False + End If + CargaAnticipos(CveCliente) DdlTipoRelacionAnticipo.SelectedValueExist("7") Else DivConceptoNC.Visible = False