diff --git a/App_Code/ClsBancos.vb b/App_Code/ClsBancos.vb index 8f973e376..176ed8ac9 100644 --- a/App_Code/ClsBancos.vb +++ b/App_Code/ClsBancos.vb @@ -1159,10 +1159,7 @@ Public Class ClsBancos End If End If Mensaje = ObjTimbrado.MensajeErrorCFDI - - GuardaLog(ObjTimbrado.MensajeErrorCFDI) Timbre = Nothing - Else GuardaLog(Mensaje) End If diff --git a/App_Code/Timbrado.vb b/App_Code/Timbrado.vb index 087ed3309..5592f5c09 100644 --- a/App_Code/Timbrado.vb +++ b/App_Code/Timbrado.vb @@ -895,10 +895,10 @@ Public Class Timbrado Equivalencia = 1 'condiciones especiales para el pago en pesos, facturas en moneda extranjera ElseIf MonedaPago = "MXN" AndAlso VentaAbreviaturaSAT <> "MXN" Then - VentaTipoCambio = Math.Round(VentaTipoCambio, 6) + VentaTipoCambio = Math.Round(VentaTipoCambio, 10) Equivalencia = Math.Round((1 / VentaTipoCambio), 10) ElseIf MonedaPago = "USD" AndAlso VentaAbreviaturaSAT <> "USD" Then - VentaTipoCambio = Math.Round(VentaTipoCambio, 6) + VentaTipoCambio = Math.Round(VentaTipoCambio, 10) Equivalencia = VentaTipoCambio End If @@ -924,8 +924,8 @@ Public Class Timbrado .TasaOCuota = drp("PorcentajeImpuesto").ToString().ToDecimal, .Impuesto = drp("TipoImpuesto").ToString, .Importe = drp("Importe").ToString().ToDecimal.RoundSQL, - .BaseMN = (drp("Base").ToString.ToDecimal / Equivalencia).RoundSQL(6), - .ImporteMN = (drp("Importe").ToString.ToDecimal / Equivalencia).RoundSQL(6) + .BaseMN = (drp("Base").ToString.ToDecimal / Equivalencia).RoundSQL(2), + .ImporteMN = (drp("Importe").ToString.ToDecimal / Equivalencia).RoundSQL(2) } ) @@ -2552,74 +2552,140 @@ concep.DescripcionesEspecificas.NumeroSerie) Dim Carta As CFDICartaPorte = ObjCFDITimbre.Complementos.CartaPorte - ''DATOS GENERALES - cfdi.CartaPorte30("", Carta.TranspInternac, Carta.RegimenAduanero, Carta.EntradaSalidaMercancia, Carta.PaisOrigenDestino, Carta.ViaEntradaSalida, Carta.TotalDistanciaRecorrida, Carta.RegistroISTMO, Carta.UbicacionPoloOrigen, Carta.UbicacionPoloDestino) + If UsuarioActual.CveEmpresa = 1 Then + ''DATOS GENERALES + cfdi.CartaPorte31("", Carta.TranspInternac, Carta.EntradaSalidaMercancia, Carta.PaisOrigenDestino, Carta.ViaEntradaSalida, Carta.TotalDistanciaRecorrida, Carta.RegistroISTMO, Carta.UbicacionPoloOrigen, Carta.UbicacionPoloDestino) - 'UBICACIONES - If Carta.Ubicaciones IsNot Nothing AndAlso Carta.Ubicaciones.Count > 0 Then - For Each ubica As CFDICartaPorteUbicacion In Carta.Ubicaciones - 'origen - cfdi.CartaPorte30Ubicacion(ubica.TipoUbicacion, ubica.IDUbicacion, ubica.RFCRemitenteDestinatario, ubica.NombreRemitenteDestinatario, ubica.NumRegIdTrib, ubica.ResidenciaFiscal, ubica.NumEstacion, ubica.NombreEstacion, ubica.NavegacionTrafico, ubica.FechaHoraSalidaLlegada, ubica.TipoEstacion, ubica.DistanciaRecorrida) - 'cfdi.CartaPorteOrigen(ubica.Origen.IDOrigen, ubica.Origen.RFCRemitente, ubica.Origen.NombreRemitente, ubica.NumRegIdTrib, ubica.Origen.ResidenciaFiscal, ubica.Origen.NumEstacion, ubica.Origen.NombreEstacion, ubica.Origen.NavegacionTrafico, ubica.Origen.FechaHoraSalida) - cfdi.CartaPorte30Domicilio(ubica.Domicilio.Calle, ubica.Domicilio.NumeroExterior, ubica.Domicilio.NumeroInterior, ubica.Domicilio.Colonia, ubica.Domicilio.Localidad, ubica.Domicilio.Referencia, ubica.Domicilio.Municipio, ubica.Domicilio.Estado, ubica.Domicilio.Pais, ubica.Domicilio.CP) - Next - End If - - 'MERCANCIAS - If Carta.Mercancias IsNot Nothing Then - cfdi.CartaPorte30Mercancias(Carta.Mercancias.PesoBrutoTotal, Carta.Mercancias.UnidadPeso, Carta.Mercancias.PesoNetoTotal, Carta.Mercancias.NumTotalMercancias, Carta.Mercancias.CargoporTasacion, Carta.Mercancias.LogisticaInversaRecoleccionDevolucion) - If Carta.Mercancias IsNot Nothing AndAlso Carta.Mercancias.Mercancias.Count > 0 Then - For Each concep As CFDICartaPorteMercancia In Carta.Mercancias.Mercancias - If concep.ValorMercancia <= 0 Then concep.Moneda = "" - cfdi.CartaPorte30Mercancia(concep.BienesTransp, concep.ClaveSTCC, concep.Descripción, concep.Cantidad, concep.ClaveUnidad, concep.Unidad, concep.Dimensiones, concep.MaterialPeligroso, concep.ClaveMaterialPeligroso, If(concep.ClaveMaterialPeligroso <> "", concep.Embalaje, ""), If(concep.ClaveMaterialPeligroso <> "", concep.DescripEmbalaje, ""), - concep.SectorCOFEPRIS, concep.NombreIngredienteActivo, concep.NomQuimico, concep.DenominacionGenericaProd, concep.DenominacionDistintivaProd, concep.Fabricante, concep.FechaCaducidad, concep.LoteMedicamento, concep.FormaFarmaceutica, concep.CondicionesEspTransp, concep.RegistroSanitarioFolioAutorizacion, - If(Carta.TranspInternac <> "No", concep.PermisoImportacion, ""), If(Carta.TranspInternac <> "No", concep.FolioImpoVUCEM, ""), concep.NumCAS, If(Carta.TranspInternac <> "No", concep.RazonSocialEmpImp, ""), concep.NumRegSanPlagCOFEPRIS, concep.DatosFabricante, concep.DatosFormulador, concep.DatosMaquilador, concep.UsoAutorizado, - concep.PesoenKg, concep.ValorMercancia, concep.Moneda, concep.FraccionArrancelaria, concep.UUIDComercioExt, concep.TipoMateria, If(concep.TipoMateria = "05", concep.TipoMateriaDescripcion, "")) - For Each transp As CFDICartaPorteMercanciaTransporta In concep.MercanciasCantidadTransporta - cfdi.CartaPorte30CantidadTransporta(transp.Cantidad, transp.IDOrigen, transp.IDDestino, transp.CvesTransportes) - Next + 'UBICACIONES + If Carta.Ubicaciones IsNot Nothing AndAlso Carta.Ubicaciones.Count > 0 Then + For Each ubica As CFDICartaPorteUbicacion In Carta.Ubicaciones + 'origen + cfdi.CartaPorte31Ubicacion(ubica.TipoUbicacion, ubica.IDUbicacion, ubica.RFCRemitenteDestinatario, ubica.NombreRemitenteDestinatario, ubica.NumRegIdTrib, ubica.ResidenciaFiscal, ubica.NumEstacion, ubica.NombreEstacion, ubica.NavegacionTrafico, ubica.FechaHoraSalidaLlegada, ubica.TipoEstacion, ubica.DistanciaRecorrida) + 'cfdi.CartaPorteOrigen(ubica.Origen.IDOrigen, ubica.Origen.RFCRemitente, ubica.Origen.NombreRemitente, ubica.NumRegIdTrib, ubica.Origen.ResidenciaFiscal, ubica.Origen.NumEstacion, ubica.Origen.NombreEstacion, ubica.Origen.NavegacionTrafico, ubica.Origen.FechaHoraSalida) + cfdi.CartaPorte31Domicilio(ubica.Domicilio.Calle, ubica.Domicilio.NumeroExterior, ubica.Domicilio.NumeroInterior, ubica.Domicilio.Colonia, ubica.Domicilio.Localidad, ubica.Domicilio.Referencia, ubica.Domicilio.Municipio, ubica.Domicilio.Estado, ubica.Domicilio.Pais, ubica.Domicilio.CP) Next End If - End If - ' - If Carta.FiguraTransporte IsNot Nothing Then - If Carta.FiguraTransporte.AutoTransporte IsNot Nothing Then - - cfdi.CartaPorte30Autotransporte(Carta.FiguraTransporte.AutoTransporte.PermisoSCT, Carta.FiguraTransporte.AutoTransporte.NumPermisoSCT) - - cfdi.CartaPorte30IdentificacionVehicular(Carta.FiguraTransporte.AutoTransporte.Vehiculo.ConfigVehicular, Carta.FiguraTransporte.AutoTransporte.Vehiculo.PesoBrutoVehicular, Carta.FiguraTransporte.AutoTransporte.Vehiculo.PlacaVM, Carta.FiguraTransporte.AutoTransporte.Vehiculo.AnioModeloVM) - - If Carta.Mercancias.Mercancias.Max(Function(x) x.MaterialPeligroso) = "" Then 'si no hay material peligro se limpian los valores - Carta.FiguraTransporte.AutoTransporte.NombreSeguroMedioAmbiente = "" - Carta.FiguraTransporte.AutoTransporte.PolizaSeguroMedioAmbiente = "" - End If - - cfdi.CartaPorte30Seguros(Carta.FiguraTransporte.AutoTransporte.NombreSeguroResponsabilidadCivil, Carta.FiguraTransporte.AutoTransporte.PolizaSeguroResponsabilidadCivil, - Carta.FiguraTransporte.AutoTransporte.NombreSeguroMedioAmbiente, Carta.FiguraTransporte.AutoTransporte.PolizaSeguroMedioAmbiente, - Carta.FiguraTransporte.AutoTransporte.NombreSeguroCarga, Carta.FiguraTransporte.AutoTransporte.PolizaSeguroCarga, - Carta.FiguraTransporte.AutoTransporte.PrimaSeguro) - - If Carta.FiguraTransporte.AutoTransporte.Remolques IsNot Nothing AndAlso Carta.FiguraTransporte.AutoTransporte.Remolques.Count > 0 Then - For Each concep As CFDICartaPorteRemolque In Carta.FiguraTransporte.AutoTransporte.Remolques - cfdi.CartaPorte30Remolque(concep.SubTipoRemolque, concep.Placa) + 'MERCANCIAS + If Carta.Mercancias IsNot Nothing Then + cfdi.CartaPorte31Mercancias(Carta.Mercancias.PesoBrutoTotal, Carta.Mercancias.UnidadPeso, Carta.Mercancias.PesoNetoTotal, Carta.Mercancias.NumTotalMercancias, Carta.Mercancias.CargoporTasacion, Carta.Mercancias.LogisticaInversaRecoleccionDevolucion) + If Carta.Mercancias IsNot Nothing AndAlso Carta.Mercancias.Mercancias.Count > 0 Then + For Each concep As CFDICartaPorteMercancia In Carta.Mercancias.Mercancias + If concep.ValorMercancia <= 0 Then concep.Moneda = "" + cfdi.CartaPorte31Mercancia(concep.BienesTransp, concep.ClaveSTCC, concep.Descripción, concep.Cantidad, concep.ClaveUnidad, concep.Unidad, concep.Dimensiones, concep.MaterialPeligroso, concep.ClaveMaterialPeligroso, If(concep.ClaveMaterialPeligroso <> "", concep.Embalaje, ""), If(concep.ClaveMaterialPeligroso <> "", concep.DescripEmbalaje, ""), + concep.SectorCOFEPRIS, concep.NombreIngredienteActivo, concep.NomQuimico, concep.DenominacionGenericaProd, concep.DenominacionDistintivaProd, concep.Fabricante, concep.FechaCaducidad, concep.LoteMedicamento, concep.FormaFarmaceutica, concep.CondicionesEspTransp, concep.RegistroSanitarioFolioAutorizacion, + If(Carta.TranspInternac <> "No", concep.PermisoImportacion, ""), If(Carta.TranspInternac <> "No", concep.FolioImpoVUCEM, ""), concep.NumCAS, If(Carta.TranspInternac <> "No", concep.RazonSocialEmpImp, ""), concep.NumRegSanPlagCOFEPRIS, concep.DatosFabricante, concep.DatosFormulador, concep.DatosMaquilador, concep.UsoAutorizado, + concep.PesoenKg, concep.ValorMercancia, concep.Moneda, concep.FraccionArrancelaria, concep.UUIDComercioExt, concep.TipoMateria, If(concep.TipoMateria = "05", concep.TipoMateriaDescripcion, "")) + For Each transp As CFDICartaPorteMercanciaTransporta In concep.MercanciasCantidadTransporta + cfdi.CartaPorte31CantidadTransporta(transp.Cantidad, transp.IDOrigen, transp.IDDestino, transp.CvesTransportes) + Next Next End If End If + ' + If Carta.FiguraTransporte IsNot Nothing Then - If Carta.FiguraTransporte.Operadores IsNot Nothing AndAlso Carta.FiguraTransporte.Operadores.Count > 0 Then - For Each concep As CFDICartaPorteOperador In Carta.FiguraTransporte.Operadores - cfdi.CartaPorte30TiposFigura(concep.TipoFigura, concep.RFCFigura, concep.NumLicencia, concep.NombreFigura, concep.NumRegidTribFigura, If(concep.ResidenciaFiscalFigura <> "MEX", concep.ResidenciaFiscalFigura, "")) - If concep.TipoFigura.Contiene("02", "03") Then ' “02”- Propietario o “03” -Arrendador - cfdi.CartaPorte30PartesTransporte("PT01") - cfdi.CartaPorte30PartesTransporteDomicilio(concep.Domicilio.Calle, concep.Domicilio.NumeroExterior, concep.Domicilio.NumeroInterior, concep.Domicilio.Colonia, concep.Domicilio.Localidad, concep.Domicilio.Referencia, concep.Domicilio.Municipio, concep.Domicilio.Estado, concep.Domicilio.Pais, concep.Domicilio.CP) + If Carta.FiguraTransporte.AutoTransporte IsNot Nothing Then + + cfdi.CartaPorte31Autotransporte(Carta.FiguraTransporte.AutoTransporte.PermisoSCT, Carta.FiguraTransporte.AutoTransporte.NumPermisoSCT) + + cfdi.CartaPorte31IdentificacionVehicular(Carta.FiguraTransporte.AutoTransporte.Vehiculo.ConfigVehicular, Carta.FiguraTransporte.AutoTransporte.Vehiculo.PesoBrutoVehicular, Carta.FiguraTransporte.AutoTransporte.Vehiculo.PlacaVM, Carta.FiguraTransporte.AutoTransporte.Vehiculo.AnioModeloVM) + + If Carta.Mercancias.Mercancias.Max(Function(x) x.MaterialPeligroso) = "" Then 'si no hay material peligro se limpian los valores + Carta.FiguraTransporte.AutoTransporte.NombreSeguroMedioAmbiente = "" + Carta.FiguraTransporte.AutoTransporte.PolizaSeguroMedioAmbiente = "" End If + + cfdi.CartaPorte31Seguros(Carta.FiguraTransporte.AutoTransporte.NombreSeguroResponsabilidadCivil, Carta.FiguraTransporte.AutoTransporte.PolizaSeguroResponsabilidadCivil, + Carta.FiguraTransporte.AutoTransporte.NombreSeguroMedioAmbiente, Carta.FiguraTransporte.AutoTransporte.PolizaSeguroMedioAmbiente, + Carta.FiguraTransporte.AutoTransporte.NombreSeguroCarga, Carta.FiguraTransporte.AutoTransporte.PolizaSeguroCarga, + Carta.FiguraTransporte.AutoTransporte.PrimaSeguro) + + If Carta.FiguraTransporte.AutoTransporte.Remolques IsNot Nothing AndAlso Carta.FiguraTransporte.AutoTransporte.Remolques.Count > 0 Then + For Each concep As CFDICartaPorteRemolque In Carta.FiguraTransporte.AutoTransporte.Remolques + cfdi.CartaPorte31Remolque(concep.SubTipoRemolque, concep.Placa) + Next + End If + End If + + If Carta.FiguraTransporte.Operadores IsNot Nothing AndAlso Carta.FiguraTransporte.Operadores.Count > 0 Then + For Each concep As CFDICartaPorteOperador In Carta.FiguraTransporte.Operadores + cfdi.CartaPorte31TiposFigura(concep.TipoFigura, concep.RFCFigura, concep.NumLicencia, concep.NombreFigura, concep.NumRegidTribFigura, If(concep.ResidenciaFiscalFigura <> "MEX", concep.ResidenciaFiscalFigura, "")) + If concep.TipoFigura.Contiene("02", "03") Then ' “02”- Propietario o “03” -Arrendador + cfdi.CartaPorte31PartesTransporte("PT01") + cfdi.CartaPorte31PartesTransporteDomicilio(concep.Domicilio.Calle, concep.Domicilio.NumeroExterior, concep.Domicilio.NumeroInterior, concep.Domicilio.Colonia, concep.Domicilio.Localidad, concep.Domicilio.Referencia, concep.Domicilio.Municipio, concep.Domicilio.Estado, concep.Domicilio.Pais, concep.Domicilio.CP) + End If + Next + End If + End If + Else + ''DATOS GENERALES + cfdi.CartaPorte30("", Carta.TranspInternac, Carta.RegimenAduanero, Carta.EntradaSalidaMercancia, Carta.PaisOrigenDestino, Carta.ViaEntradaSalida, Carta.TotalDistanciaRecorrida, Carta.RegistroISTMO, Carta.UbicacionPoloOrigen, Carta.UbicacionPoloDestino) + + 'UBICACIONES + If Carta.Ubicaciones IsNot Nothing AndAlso Carta.Ubicaciones.Count > 0 Then + For Each ubica As CFDICartaPorteUbicacion In Carta.Ubicaciones + 'origen + cfdi.CartaPorte30Ubicacion(ubica.TipoUbicacion, ubica.IDUbicacion, ubica.RFCRemitenteDestinatario, ubica.NombreRemitenteDestinatario, ubica.NumRegIdTrib, ubica.ResidenciaFiscal, ubica.NumEstacion, ubica.NombreEstacion, ubica.NavegacionTrafico, ubica.FechaHoraSalidaLlegada, ubica.TipoEstacion, ubica.DistanciaRecorrida) + 'cfdi.CartaPorteOrigen(ubica.Origen.IDOrigen, ubica.Origen.RFCRemitente, ubica.Origen.NombreRemitente, ubica.NumRegIdTrib, ubica.Origen.ResidenciaFiscal, ubica.Origen.NumEstacion, ubica.Origen.NombreEstacion, ubica.Origen.NavegacionTrafico, ubica.Origen.FechaHoraSalida) + cfdi.CartaPorte30Domicilio(ubica.Domicilio.Calle, ubica.Domicilio.NumeroExterior, ubica.Domicilio.NumeroInterior, ubica.Domicilio.Colonia, ubica.Domicilio.Localidad, ubica.Domicilio.Referencia, ubica.Domicilio.Municipio, ubica.Domicilio.Estado, ubica.Domicilio.Pais, ubica.Domicilio.CP) Next End If + + 'MERCANCIAS + If Carta.Mercancias IsNot Nothing Then + cfdi.CartaPorte30Mercancias(Carta.Mercancias.PesoBrutoTotal, Carta.Mercancias.UnidadPeso, Carta.Mercancias.PesoNetoTotal, Carta.Mercancias.NumTotalMercancias, Carta.Mercancias.CargoporTasacion, Carta.Mercancias.LogisticaInversaRecoleccionDevolucion) + If Carta.Mercancias IsNot Nothing AndAlso Carta.Mercancias.Mercancias.Count > 0 Then + For Each concep As CFDICartaPorteMercancia In Carta.Mercancias.Mercancias + If concep.ValorMercancia <= 0 Then concep.Moneda = "" + cfdi.CartaPorte30Mercancia(concep.BienesTransp, concep.ClaveSTCC, concep.Descripción, concep.Cantidad, concep.ClaveUnidad, concep.Unidad, concep.Dimensiones, concep.MaterialPeligroso, concep.ClaveMaterialPeligroso, If(concep.ClaveMaterialPeligroso <> "", concep.Embalaje, ""), If(concep.ClaveMaterialPeligroso <> "", concep.DescripEmbalaje, ""), + concep.SectorCOFEPRIS, concep.NombreIngredienteActivo, concep.NomQuimico, concep.DenominacionGenericaProd, concep.DenominacionDistintivaProd, concep.Fabricante, concep.FechaCaducidad, concep.LoteMedicamento, concep.FormaFarmaceutica, concep.CondicionesEspTransp, concep.RegistroSanitarioFolioAutorizacion, + If(Carta.TranspInternac <> "No", concep.PermisoImportacion, ""), If(Carta.TranspInternac <> "No", concep.FolioImpoVUCEM, ""), concep.NumCAS, If(Carta.TranspInternac <> "No", concep.RazonSocialEmpImp, ""), concep.NumRegSanPlagCOFEPRIS, concep.DatosFabricante, concep.DatosFormulador, concep.DatosMaquilador, concep.UsoAutorizado, + concep.PesoenKg, concep.ValorMercancia, concep.Moneda, concep.FraccionArrancelaria, concep.UUIDComercioExt, concep.TipoMateria, If(concep.TipoMateria = "05", concep.TipoMateriaDescripcion, "")) + For Each transp As CFDICartaPorteMercanciaTransporta In concep.MercanciasCantidadTransporta + cfdi.CartaPorte30CantidadTransporta(transp.Cantidad, transp.IDOrigen, transp.IDDestino, transp.CvesTransportes) + Next + Next + End If + End If + ' + If Carta.FiguraTransporte IsNot Nothing Then + + If Carta.FiguraTransporte.AutoTransporte IsNot Nothing Then + + cfdi.CartaPorte30Autotransporte(Carta.FiguraTransporte.AutoTransporte.PermisoSCT, Carta.FiguraTransporte.AutoTransporte.NumPermisoSCT) + + cfdi.CartaPorte30IdentificacionVehicular(Carta.FiguraTransporte.AutoTransporte.Vehiculo.ConfigVehicular, Carta.FiguraTransporte.AutoTransporte.Vehiculo.PesoBrutoVehicular, Carta.FiguraTransporte.AutoTransporte.Vehiculo.PlacaVM, Carta.FiguraTransporte.AutoTransporte.Vehiculo.AnioModeloVM) + + If Carta.Mercancias.Mercancias.Max(Function(x) x.MaterialPeligroso) = "" Then 'si no hay material peligro se limpian los valores + Carta.FiguraTransporte.AutoTransporte.NombreSeguroMedioAmbiente = "" + Carta.FiguraTransporte.AutoTransporte.PolizaSeguroMedioAmbiente = "" + End If + + cfdi.CartaPorte30Seguros(Carta.FiguraTransporte.AutoTransporte.NombreSeguroResponsabilidadCivil, Carta.FiguraTransporte.AutoTransporte.PolizaSeguroResponsabilidadCivil, + Carta.FiguraTransporte.AutoTransporte.NombreSeguroMedioAmbiente, Carta.FiguraTransporte.AutoTransporte.PolizaSeguroMedioAmbiente, + Carta.FiguraTransporte.AutoTransporte.NombreSeguroCarga, Carta.FiguraTransporte.AutoTransporte.PolizaSeguroCarga, + Carta.FiguraTransporte.AutoTransporte.PrimaSeguro) + + If Carta.FiguraTransporte.AutoTransporte.Remolques IsNot Nothing AndAlso Carta.FiguraTransporte.AutoTransporte.Remolques.Count > 0 Then + For Each concep As CFDICartaPorteRemolque In Carta.FiguraTransporte.AutoTransporte.Remolques + cfdi.CartaPorte30Remolque(concep.SubTipoRemolque, concep.Placa) + Next + End If + End If + + If Carta.FiguraTransporte.Operadores IsNot Nothing AndAlso Carta.FiguraTransporte.Operadores.Count > 0 Then + For Each concep As CFDICartaPorteOperador In Carta.FiguraTransporte.Operadores + cfdi.CartaPorte30TiposFigura(concep.TipoFigura, concep.RFCFigura, concep.NumLicencia, concep.NombreFigura, concep.NumRegidTribFigura, If(concep.ResidenciaFiscalFigura <> "MEX", concep.ResidenciaFiscalFigura, "")) + If concep.TipoFigura.Contiene("02", "03") Then ' “02”- Propietario o “03” -Arrendador + cfdi.CartaPorte30PartesTransporte("PT01") + cfdi.CartaPorte30PartesTransporteDomicilio(concep.Domicilio.Calle, concep.Domicilio.NumeroExterior, concep.Domicilio.NumeroInterior, concep.Domicilio.Colonia, concep.Domicilio.Localidad, concep.Domicilio.Referencia, concep.Domicilio.Municipio, concep.Domicilio.Estado, concep.Domicilio.Pais, concep.Domicilio.CP) + End If + Next + End If + End If End If End If - - #End Region #Region "C O M P L E M E N T O D E P A G O" diff --git a/Ashx/CargaEventos.ashx b/Ashx/CargaEventos.ashx index 42e76b85e..59d60041c 100644 --- a/Ashx/CargaEventos.ashx +++ b/Ashx/CargaEventos.ashx @@ -78,18 +78,19 @@ Public Class CargaEventos : Implements IHttpHandler, IRequiresSessionState cevent.CveOS = dr("CveOS").ToString.ToEntero cevent.allDay = False If dr("EstatusOSGral").ToString.Contiene("Levantamiento") Then - cevent.backgroundColor = "#006699" + cevent.backgroundColor = "#3598dc" ElseIf dr("EstatusOSGral").ToString.Contiene("Surtido") Then cevent.backgroundColor = "#002699" ElseIf dr("EstatusOSGral").ToString.Contiene("Asignado") Then - cevent.backgroundColor = "#025716" + cevent.backgroundColor = "#8E44AD" ElseIf dr("EstatusOSGral").ToString.Contiene("Finalizado") Then - cevent.backgroundColor = "#730505" + cevent.backgroundColor = "#26C281" ElseIf dr("EstatusOSGral").ToString.Contiene("Facturado") Then - cevent.backgroundColor = "#006699" + cevent.backgroundColor = "#4B77BE" ElseIf dr("EstatusOSGral").ToString.Contiene("Cobrado") Then - cevent.backgroundColor = "#007699" + cevent.backgroundColor = "#29b4b6" ElseIf dr("EstatusOSGral").ToString.Contiene("Cancelado") Then + cevent.backgroundColor = "#e43a45" End If events.Add(cevent) Next diff --git a/Bancos/DepositosCaja.aspx.vb b/Bancos/DepositosCaja.aspx.vb index f5244df41..0338bb999 100644 --- a/Bancos/DepositosCaja.aspx.vb +++ b/Bancos/DepositosCaja.aspx.vb @@ -52,7 +52,7 @@ Partial Class Bancos_DepositosCaja DdlCajaChica.DataSource = GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveEmpresa:=UsuarioActual.CveEmpresa).FiltraParametros(" CveTipoCuenta = 1", "", {"CveCuenta", "NumCuentaMoneda"}) DdlCajaChica.DataBind() 'código temporal, para claudia y toñita, monge, anadelia, alba,patricia - If UsuarioActual.CveUsuario.Contiene(1937, 2452, 3358, 3033, 2897, 2560) Then + If UsuarioActual.TienePermisoProceso(383) Then 'UsuarioActual.CveUsuario.Contiene(1937, 2452, 3358, 3033, 2897, 2560) Then DdlCajaChica.Items.Add(New ListItem("Todas", "-1")) DdlCuentaDeposito.Items.Add(New ListItem("Cuadre Solidaridad", "7850")) DdlCuentaDeposito.Items.Add(New ListItem("Cuadre Obregón", "7853")) @@ -312,7 +312,7 @@ Partial Class Bancos_DepositosCaja 'End If 'código temporal, para claudia y toñita, monge, anadelia, alba,patricia - If UsuarioActual.CveUsuario.Contiene(1937, 2452, 3358, 3033, 2897, 2560) Then + If UsuarioActual.TienePermisoProceso(383) Then 'CveUsuario.Contiene(1937, 2452, 3358, 3033, 2897, 2560) Then FolioIE = TxtFolio.Text.ToEntero End If diff --git a/Bancos/PagoAcreedor.aspx b/Bancos/PagoAcreedor.aspx index 704c2ed38..56deee488 100644 --- a/Bancos/PagoAcreedor.aspx +++ b/Bancos/PagoAcreedor.aspx @@ -272,7 +272,8 @@
- + +
@@ -284,7 +285,7 @@
- +
@@ -637,7 +638,21 @@ txt.value = ""; } - $get('TxtImporte').value = FormatoNumero(SumaValores(CveMonedaPago), 2); + let Suma = SumaValores(CveMonedaPago); + let TxtDDImporte; + if ($('#TxtDDImporte').length > 0) { + TxtDDImporte = parseFloat($('#TxtDDImporte').val().replace(/,/g, '')); + } else { + TxtDDImporte = 0; // Asigna un valor por defecto si el elemento no existe + } + + //let TxtDDImporte = parseFloat($('#TxtDDImporte').val().replace(/,/g, '')); + + if (!isNaN(TxtDDImporte)) { + Suma = Suma + TxtDDImporte; + } + + $get('TxtImporte').value = FormatoNumero(Suma, 2); } function FnCambia(chk, txt, saldo, op, text, CveMonedaPago) { @@ -653,7 +668,21 @@ txt.value = saldo; alert(text); } - var Suma = SumaValores(CveMonedaPago); + + let Suma = SumaValores(CveMonedaPago); + + //let TxtDDImporte = parseFloat($('#TxtDDImporte').val().replace(/,/g, '')); + let TxtDDImporte; + if ($('#TxtDDImporte').length > 0) { + TxtDDImporte = parseFloat($('#TxtDDImporte').val().replace(/,/g, '')); + } else { + TxtDDImporte = 0; // Asigna un valor por defecto si el elemento no existe + } + + if (!isNaN(TxtDDImporte) ) { + Suma = Suma + TxtDDImporte; + } + $get('TxtImporte').value = FormatoNumero(Suma, 2); if ($get('TxtTotal') != null) { @@ -720,6 +749,28 @@ return Importe } } + + + function validaDeudoresDiversos(CveMoneda) { + + $get('TxtImporte').value = FormatoNumero(SumaValores(CveMoneda), 2) + + let TxtImporte = parseFloat($get('TxtImporte').value.replace(/,/g, '')); + let TxtDDImporte = parseFloat($get('TxtDDImporte').value.replace(/,/g, '')); + + + + if (isNaN(TxtImporte) || isNaN(TxtDDImporte)) { + return; + } + let resultado = TxtImporte + TxtDDImporte; + + $get('TxtImporte').value = resultado.toFixed(2); + // $('#TxtDDImporte').val(TxtDDImporte.toFixed(2)); + + + } + diff --git a/Bancos/PagoAcreedor.aspx.cs b/Bancos/PagoAcreedor.aspx.cs index d72929c9c..dbae5d93f 100644 --- a/Bancos/PagoAcreedor.aspx.cs +++ b/Bancos/PagoAcreedor.aspx.cs @@ -6,6 +6,7 @@ using System.Text; using System.Web; using System.Web.UI.WebControls; using static Extensiones.ModExtensiones; +using static Microsoft.EntityFrameworkCore.DbLoggerCategory; public partial class Bancos_PagoAcreedor : ClsPaginas { @@ -140,6 +141,10 @@ public partial class Bancos_PagoAcreedor : ClsPaginas Folio = bancos.GetNextFolio(DdlCuenta.SelectedValue.ToEntero(), DdlTipoTransaccion.SelectedValue.ToEntero()); bancos.Dispose(); TxtFolio.Text = Folio.ToString(); + + + TxtDDImporte.Attributes.Add("onblur",$"validaDeudoresDiversos({CveMonedaCuentaPago});FormatoMoneda(this);"); + UpDatos.Update(); } protected void DdlProveedores_selectedindexchange(object sender, EventArgs e) @@ -345,12 +350,13 @@ public partial class Bancos_PagoAcreedor : ClsPaginas MsgError = "No se pudo insertar concepto de diferencia cambiaria"; } - if (ImporteComision != 0 && MsgError == "") + if (ImporteComision != 0 && MsgError == "" && DdlOtrosPagos.SelectedValue == "2" ) { + ImporteComisionMN = (ImporteComision * TCPago).RoundSQL(); int tTipoConceptoOtro = 255; - if (DdlOtrosPagos.SelectedValue == "3") tTipoConceptoOtro = 43; //deudores diversos + //if (DdlOtrosPagos.SelectedValue == "3") tTipoConceptoOtro = 43; //deudores diversos if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoComision, ImporteComision, ImporteComisionMN, tTipoConceptoOtro, Ref, Conc, CveIE: CveIE, CveProveedor: DdlProveedores.SelectedValue.ToEntero(),CveIEDevolucion: gvr.DataKey("CveIE").ToEntero(), TipoCambio: TC, TipoCambioPago: TCPago, CveSubProyecto: DdlSubProyectoPago.SelectedValue.ToEntero())) { MsgError = "No se pudo insertar concepto de pago acreedor"; @@ -360,6 +366,39 @@ public partial class Bancos_PagoAcreedor : ClsPaginas } } + if (TxtDDImporte.Text.ToDecimal() != 0 && MsgError == "" && DdlOtrosPagos.SelectedValue == "3") + { + ImporteComision = TxtDDImporte.Text.ToDecimal(); + ImporteComisionMN = ImporteComision; + + if (TxtDDImporte.Text.ToDecimal() < 0) + { + TipoMovtoComision = true; + ImporteComision = ImporteComision * -1; + ImporteComisionMN = ImporteComisionMN * -1; + } + else + { + TipoMovtoComision = false; + } + + //Decimal TC = get_GlobalTipoCambio(TxtFechaDocumento.Text.ToDate()).ToDecimal(); + //int tCveMoneda = get_GlobalDTBancosCuentas(-1, DdlCuenta.SelectedValue.ToEntero()).FiltroPrimeroValor("CveMoneda").ToEntero(); + //CveMonedaPago + + ImporteComision = ImporteComision.RoundSQL(); + ImporteComisionMN = (ImporteComision * TCPago).RoundSQL() ; + + ImporteComisionMN = (ImporteComision * TCPago).RoundSQL(); + + + int tTipoConceptoOtro = 43; //deudores diversos + if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoComision, ImporteComision, ImporteComisionMN, tTipoConceptoOtro, Ref, Conc, CveIE: CveIE, CveProveedor: DdlProveedores.SelectedValue.ToEntero(), TipoCambio: TCPago, TipoCambioPago: TCPago, CveSubProyecto: DdlSubProyectoPago.SelectedValue.ToEntero())) + { + MsgError = "No se pudo insertar concepto de pago acreedor"; + } + } + if (CveMonedaPago != 1) { ImporteComplementaria = (ImporteBanco * TCPago - ImporteBanco).RoundSQL(); @@ -767,7 +806,7 @@ public partial class Bancos_PagoAcreedor : ClsPaginas divDD.Visible = false; if (DdlOtrosPagos.SelectedValue == "2") { - TxtOtrosImportes.Visible = true; + TxtOtrosImportes.Visible = true; TxtTotal.Visible = true; GvMovAcreedor.Columns[8].Visible = true; TxtOtrosImportes.Text = ""; diff --git a/Bin/GoCfdi.dll b/Bin/GoCfdi.dll index 5ef366436..2f89b7c04 100644 Binary files a/Bin/GoCfdi.dll and b/Bin/GoCfdi.dll differ diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index 46dc9e0b8..4137467d2 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -8557,6 +8557,8 @@ Partial Class Compras_Compras Protected Sub BtnActualizar_Click(sender As Object, e As EventArgs) Handles BtnActualizar.Click + Dim SeActualizoDetalle As Boolean = False + Dim CveSubProyectoPrincipal As Integer = AsignarSubProyectoPrincipal() If Not CveSubProyectoPrincipal > 0 Then Alert("Falta asignar Proyecto a la compra", TipoMensaje.MsgAdvertencia) @@ -8654,7 +8656,7 @@ Partial Class Compras_Compras CveTipoCompra:=DdlTipoCompra.SelectedValue.ToEntero, NoDeducible:=tNoDeducible, CveRetIVAConcepto:=TmpCveRetIVAConcepto, CveRetISRConcepto:=TmpCveRetISRConcepto, CveSubProyecto:=CveSubProyectoPrincipal, CveFolioGarantia:=DdlFolioGarantia.SelectedValue.ToEntero) Then If Not ComparaDatatables() Then - + SeActualizoDetalle = True 'Regeneramos el concepto 6 de PrePolizas 'If UsuarioActual.Empresa.Funcionalidad(207) = "1" Then ' If Not RegenerarPrePoliza(ObjContabilidad, ObjContaAC, 6, False, MultiplicadorNC) Then @@ -9010,7 +9012,7 @@ Partial Class Compras_Compras End If End If - If Not ObjCompra.AddCompraDetalle(CveCompra, Row("CveUM").ToString.ToEntero, Row("CvePS").ToString.ToEntero, Row("CveSubProyecto").ToString.ToEntero, -1, CveAF, + If ObjCompra.AddCompraDetalle(CveCompra, Row("CveUM").ToString.ToEntero, Row("CvePS").ToString.ToEntero, Row("CveSubProyecto").ToString.ToEntero, -1, CveAF, Row("Cantidad").ToString.ToDecimal, Row("PU").ToString.ToDecimal, Row("IVA").ToString.ToDecimal, Row("Total").ToString.ToDecimal, Row("Descuento").ToString.ToDecimal, Row("Obs").ToString, Row("CveOrdenCompraDetalle").ToString.ToEntero, TipoRecepcion, Row("CveContrato").ToString.ToEntero, Row("CvePresupuestoEgreso").ToString.ToEntero, AplicaCostoIndirecto:=Row("AplicaCostoIndirecto").ToString.ToEntero, EstatusAlmacen:=Row("EntregaDirecta").ToString.ToEntero, CvePersonal:=CvePersonal, @@ -9019,7 +9021,17 @@ Partial Class Compras_Compras IVAPorcentaje:=Row("IVAPorcentaje").ToString.ToDecimal, RetIVAPorcentaje:=Row("RetIVAPorcentaje").ToString.ToDecimal, RetISRPorcentaje:=Row("RetISRPorcentaje").ToString.ToDecimal, IEPSPSPorcentaje:=Row("IEPSPSPorcentaje").ToString.ToDecimal, IEPSPSIVAPorcentaje:=Row("IEPSPSIVAPorcentaje").ToString.ToDecimal, NoDeducible:=If((Row("NoDeducible").ToString().ToUpper().Contiene("TRUE", "1")) AndAlso EsNoDeducible, True, False), CveContratoDetalle:=Row("CveContratoDetalle").ToString.ToEntero, CveCultivoCuadroDetalle:=Row("CveCultivoCuadroDetalle").ToString.ToEntero) Then + Dim objGeneral As New ClsGenerales(ObjCompra.IniciaTransacSQL) + Dim NuevoDetalle As String = $"Cantidad: {Row("Cantidad").ToString} Producto: {Row("CodigoPS").ToString}, PU: {Row("PU").ToString.ToDecimal}, Total: {Row("Total").ToString.ToDecimal}" + + If Not objGeneral.AddHistorialBitacora(441, -1, -1, -1, -1, -1, CveCompra, -1, NuevoDetalle, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 0, "", "", "") Then + Retorno = False + Exit For + End If + + + Else Retorno = False Exit For End If @@ -9143,6 +9155,7 @@ Partial Class Compras_Compras ObjCompra.RollBack() If ObjContaAC IsNot Nothing Then ObjContaAC.RollBack() + SeActualizoDetalle = False Finally If Retorno Then If ObjContabilidad.MensajePolizaDescuadre IsNot Nothing AndAlso ObjContabilidad.MensajePolizaDescuadre.ToString <> "" Then @@ -9161,6 +9174,7 @@ Partial Class Compras_Compras ObjCompra.RollBack() If ObjContaAC IsNot Nothing Then ObjContaAC.RollBack() Alert("Ocurrió un error al actualizar la compra, por favor vuelva a intentar.", TipoMensaje.MsgAdvertencia) + SeActualizoDetalle = False End If If ObjContaAC IsNot Nothing Then ObjContaAC.Dispose() @@ -9176,6 +9190,81 @@ Partial Class Compras_Compras CargaGvBitacora() UpBitacora.Update() + + + If SeActualizoDetalle Then + MandaCorreoActualizacionDetalle(CveCompra) + End If + + End Sub + + Private Sub MandaCorreoActualizacionDetalle(CveCompra As Integer) + + If UsuarioActual.CveRol <> 1 Then + Exit Sub + End If + + Dim DTCorreos As New DataTable + Dim DTMovimientos As New DataTable + Dim strBody As New StringBuilder + Dim Asunto, Para, ArrayCC, Body As String + Para = GlobalDTUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa).FiltroPrimeroValor("Correo") + + If Para.ToString = "" AndAlso UsuarioActual.CveRol = 1 Then + Para = Para & ";oscar.irigoyen@adssistemas.mx;rene.molina@adssistemas.mx" + End If + + Dim uri As Uri = HttpContext.Current.Request.Url + Dim URlCompleta As String = uri.AbsoluteUri + + Dim SerieFolioCompra As String = $"{TxtSerie.Text}{If(TxtSerie.Text.Trim.Length > 0, "-", "")}{TxtFolio.Text.Trim}" + + strBody.Append(" ") + strBody.Append(" ") + strBody.Append(" ") + strBody.Append(" ") + strBody.Append("") + strBody.Append($"

Se realizo una actualización en los detalles de la compra {SerieFolioCompra} del proveedor {HplProveedor.Text}

") + strBody.Append("") + + strBody.Append("") + + + '' ENVIO DEL CORREO + Asunto = $"Actualizacion de Compra: {SerieFolioCompra} Proveedor: {HplProveedor.Text}" + ArrayCC = "" + Body = strBody.ToString + Dim Mail As New ClsSisMail() + Mail.SendMail(ClsPaginas.EmpresaNotificaciones, Para, Asunto, Body, ArrayCC) + + + End Sub Private Function ComparaDatatables() As Boolean diff --git a/Compras/PopUpVerFactura.aspx.vb b/Compras/PopUpVerFactura.aspx.vb index 0fcf524a0..386792d7a 100644 --- a/Compras/PopUpVerFactura.aspx.vb +++ b/Compras/PopUpVerFactura.aspx.vb @@ -2714,6 +2714,7 @@ Partial Class PopUpVerFactura Dim NombreEntrego As String = ObjInventarios.DtResultados.FiltroPrimeroValor("Entrego") Dim CveAlmacen As Integer = ObjInventarios.CveAlmacen Dim Recibio As String = ObjInventarios.Recibio + Dim Guia As String = ObjInventarios.Guia Dim PuestoRecibio As String = ObjInventarios.PuestoRecibio Dim PuestoEnrego As String = ObjInventarios.PuestoEntrego Dim ResponsableCarga As String = ObjInventarios.ResponsableCarga @@ -2912,7 +2913,7 @@ Partial Class PopUpVerFactura PuestoEnrego, RazonSocial, ResponsableCarga, ResponsableRecibio, NombreCliente, CantidadProductos:=CantidadProductos, CantidadUsados:=CantidadUsados, CveTipoAlmacen:=CveTipoAlmacen, NombreEntrego:=NombreEntrego, CveConceptoMovRelacionado:=CveConceptoMovtoRelacionado, FolioRelacionado:=FolioRelacionado, UsuarioRegistro:=UsuarioCapturo, - Ruta:=Ruta, Supervisor:=Supervisor, Consola:=Consola) + Ruta:=Ruta, Supervisor:=Supervisor, Guia:=Guia, Consola:=Consola) End Sub Private Sub PUanacExtr(CveMoneda As Integer) 'preciounitario a moneda nacional o extranjera @@ -2931,7 +2932,7 @@ Partial Class PopUpVerFactura EstadoDestino As String, PaisDestino As String, CPDestino As String, FechaMovimiento As Date, NombreCapturo As String, PuestoRecibio As String, PuestoEntrego As String, RazonSocial As String, ResponsableCarga As String, ResponsableRecibio As String, NombreCliente As String, Optional CantidadProductos As Decimal = 0, Optional CantidadUsados As Decimal = 0, Optional CveTipoAlmacen As Integer = -1, Optional NombreEntrego As String = "", Optional CveConceptoMovRelacionado As Integer = -1, Optional FolioRelacionado As String = "", Optional UsuarioRegistro As String = "", - Optional Ruta As String = Nothing, Optional Supervisor As String = Nothing, Optional Consola As String = "-1") + Optional Ruta As String = Nothing, Optional Supervisor As String = Nothing, Optional Guia As String = "", Optional Consola As String = "-1") Select Case CveConcepto @@ -3617,22 +3618,20 @@ Partial Class PopUpVerFactura params.Add(New ReportParameter("Accion", "RECIBE")) 'Antes Trasladó params.Add(New ReportParameter("Observaciones", Observaciones)) - Dim DTCliente As New DataTable Dim SBDireccionO As New StringBuilder() Dim SBDireccionD As New StringBuilder() Dim CveCliente As Integer = 0 Dim CveDireccionEnvio As Integer = 0 Dim ClienteNombre As String = "", EnvioContacto As String = "", EnvioDireccion As String = "", EnvioColonia As String = "", EnvioCiudad As String = "", EnvioEstado As String = "", ClientePais As String = "", EnvioCP As String = "", Contrato As String = "", - Paqueteria As String = "", NumContrato As String = "", Guia As String = "", Documentacion As String = "" + Paqueteria As String = "", NumContrato As String = "", Documentacion As String = "" Dim CveContrato As Integer = 0 If DtMovimientos IsNot Nothing AndAlso DtMovimientos.Rows.Count > 0 Then CveContrato = DtMovimientos.FiltroPrimeroValor("CveContrato").ToEntero End If - - If UsuarioActual.Empresa.Funcionalidad(578).ToEntero = 1 Then + If UsuarioActual.Empresa.Funcionalidad(578) = "1" Then CveCliente = DtMovimientos.FiltroPrimeroValor("CveCliente").ToEntero DTCliente = GlobalDTCliente(UsuarioActual.CveEmpresa).FiltraParametros($"CveCliente = {CveCliente}") @@ -3644,12 +3643,11 @@ Partial Class PopUpVerFactura If Consola <> "-1" And Consola.Trim.Length > 0 Then RutaFormato = "{0}Formatos\Consola.rdlc" params.Add(New ReportParameter("Consola", Consola)) + params.Add(New ReportParameter("SerieConsola", Guia)) + params.Add(New ReportParameter("SeriePedal", Recibio)) End If - - Dim CveVentaConsulta As Integer = DtMovimientos.FiltroPrimeroValor("CveVenta").ToEntero - params.Add(New ReportParameter("Documentacion", DTCliente.FiltroPrimeroValor("Documentacion"))) Dim ObjVentas As New ClsVentas() @@ -3670,18 +3668,9 @@ Partial Class PopUpVerFactura params.Add(New ReportParameter("ClienteMunicipio", dtVentas.Rows(0)("SucClienteCiudad").ToString)) params.Add(New ReportParameter("ClienteCP", dtVentas.Rows(0)("CPCliente").ToString)) - - - - - End If ObjVentas.Dispose() - - - - End If If CveContrato > 0 Then diff --git a/Compras/eFacturas.aspx b/Compras/eFacturas.aspx index 061e4ba57..1081e1dde 100644 --- a/Compras/eFacturas.aspx +++ b/Compras/eFacturas.aspx @@ -1047,7 +1047,7 @@
-
+
Concepto
- + =Parameters!SerieConsola.Value @@ -804,7 +804,7 @@ - + =Parameters!SeriePedal.Value @@ -3051,6 +3051,18 @@ Municipio y/o Delegación: true ReportParameter1 + + String + true + true + ReportParameter1 + + + String + true + true + ReportParameter1 + diff --git a/General/SaldosIniciales.aspx.vb b/General/SaldosIniciales.aspx.vb index 567f194cf..20b5f1f01 100644 --- a/General/SaldosIniciales.aspx.vb +++ b/General/SaldosIniciales.aspx.vb @@ -2625,7 +2625,6 @@ Partial Class General_SaldosIniciales Throw New Exception() End If End If - Else mensajeError.Append($"La unidad de medida no se reconoce para el producto servicio:{nuevaEntrada("CodigoPS")}") Throw New Exception() @@ -2650,7 +2649,6 @@ Partial Class General_SaldosIniciales Throw New Exception() Exit For End If - Next Catch ex As Exception If mensajeError.ToString = "" Then diff --git a/Inventarios/EntregaAlmacen.aspx b/Inventarios/EntregaAlmacen.aspx index ebc97ad3a..b8eeeb2b6 100644 --- a/Inventarios/EntregaAlmacen.aspx +++ b/Inventarios/EntregaAlmacen.aspx @@ -266,9 +266,20 @@
+ + +
+
Consola
+
+
+
Pedal
+
+
+
+ + - diff --git a/Inventarios/EntregaAlmacen.aspx.vb b/Inventarios/EntregaAlmacen.aspx.vb index 23437744e..8a945b90a 100644 --- a/Inventarios/EntregaAlmacen.aspx.vb +++ b/Inventarios/EntregaAlmacen.aspx.vb @@ -321,14 +321,11 @@ Partial Class Inventarios_EntregaAlmacen End Set End Property - Private Property CargaBitacora As Boolean Get - If ViewState("CargaBitacora") Is Nothing Then ViewState("CargaBitacora") = False End If - Return Boolean.Parse(ViewState("CargaBitacora").ToString) End Get Set(value As Boolean) @@ -336,7 +333,6 @@ Partial Class Inventarios_EntregaAlmacen End Set End Property - Private Property BloqueCantidad As Boolean Get If ViewState("BloqueCantidad") Is Nothing Then @@ -348,9 +344,6 @@ Partial Class Inventarios_EntregaAlmacen ViewState("BloqueCantidad") = value End Set End Property - - - Private Property Adjunto As String Get If ViewState("Adjunto") Is Nothing Then @@ -364,8 +357,6 @@ Partial Class Inventarios_EntregaAlmacen End Set End Property - - #End Region Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load @@ -376,10 +367,8 @@ Partial Class Inventarios_EntregaAlmacen If UsuarioActual.CveEmpresa.Contiene(1, 72, 80, 146, 119, 186) Then DdlAlmacen.AutoPostBack = True If UsuarioActual.Empresa.Funcionalidad(281).ToEntero() = 1 Then - TxtFecha.Enabled = False ImgFecha.Visible = False - End If If UsuarioActual.Empresa.Funcionalidad(109) = "1" Then @@ -547,11 +536,9 @@ Partial Class Inventarios_EntregaAlmacen Alert("No se podrá realizar entrega de mercancía si no se les da salida a los documentos pendientes. Para más información ver el Reporte de notas sin entrada en la sección Ventas.", TipoMensaje.MsgAdvertencia) Else BtnGuardar.Enabled = True - End If End If End If - ObjInventarios.Dispose() If DtPendientes IsNot Nothing Then @@ -641,7 +628,6 @@ Partial Class Inventarios_EntregaAlmacen Adjunto = "" BtnArchivoAdjunto.Visible = False - LbSurtida.Visible = False CveContrato = -1 CveSubProyecto = -1 @@ -651,7 +637,6 @@ Partial Class Inventarios_EntregaAlmacen BtnGuardar.Visible = True Dim StrAlmacenes As String = "CveTipoAlmacen IN (1,2,26)" - If UsuarioActual.CveSubProyecto = 8804 Then StrAlmacenes = "CveTipoAlmacen IN (1,2,12)" End If @@ -733,12 +718,9 @@ Partial Class Inventarios_EntregaAlmacen CveSubProyecto = drE("CveSubProyecto").ToString().ToEntero() EsInterno = CBool(DtDatos.Rows(0)("EsInterno").ToString()) CveDireccionEnvio = drE("CveDireccionEnvio").ToString.ToEntero - - Adjunto = drE("Adjunto").ToString() If Adjunto.Trim.Length > 0 Then - Dim ruta As String = HttpContext.Current.Request.ApplicationPath ruta = String.Format("{0}Ventas", UsuarioActual.Empresa.Ruta) ruta += $"/{Adjunto}" @@ -747,9 +729,6 @@ Partial Class Inventarios_EntregaAlmacen BtnArchivoAdjunto.Visible = True BtnArchivoAdjunto.Text = $"Adjunto: {Adjunto}" End If - - - End If If CveDireccionEnvio > 0 Then @@ -785,7 +764,6 @@ Partial Class Inventarios_EntregaAlmacen BtnGuardar.Visible = False End If - If CveAlmacen <= 0 Then DdlAlmacen.Items.Clear() If CveAlmacenTraspasoOrigen > 0 Then 'Not (EsDevolucionVenta = 1 And DtDatos.Rows(0)("TipoDocto").ToString() = "Rem" And UsuarioActual.Empresa.Funcionalidad(145) = "1") - ESTO ES PARA CUANDO SEA REMISION DE ENTREGA POR ADELANTADO FUNCIONA LA DEVOLUCION @@ -816,8 +794,49 @@ Partial Class Inventarios_EntregaAlmacen If Not DtDatos.Columns.Contains("Seleccionado") Then DtDatos.Columns.Add("Seleccionado", GetType(Boolean)) - If Not DtDatos.Columns.Contains("CantidadSeleccionada") Then DtDatos.Columns.Add("CantidadSeleccionada", GetType(Double)) - + If Not DtDatos.Columns.Contains("CantidadSeleccionada") Then DtDatos.Columns.Add("CantidadSeleccionada", GetType(Double)) + + If UsuarioActual.Empresa.Funcionalidad(578) = "1" AndAlso TipoMovimiento = 1 Then + TrConsola.Visible = False + ' valida que estén los productos + Dim cargapedales As Boolean = False + If DtDatos.COUNT("Codigo", "Codigo like '306%' OR Codigo like '404%' OR Codigo like '405%'") > 0 Then + '306, 404, 405, ARS-600 + DdlConsola.Items.Clear() + DdlConsola.Items.Add(New ListItem("A6-2106045-GM", "A6-2106045-GM")) + DdlConsola.Items.Add(New ListItem("A6-2101023-GM", "A6-2101023-GM")) + DdlConsola.Items.Add(New ListItem("A6-2994026-GM", "A6-2994026-GM")) + DdlConsola.Items.Add(New ListItem("A6-2203055-GM", "A6-2203055-GM")) + DdlConsola.Items.Add(New ListItem("A6-2304031-GM", "A6-2304031-GM")) + DdlConsola.Items.Add(New ListItem("A6-2304030-GM", "A6-2304030-GM")) + DdlConsola.Items.Add(New ListItem("RENTA", "RENTA")) + cargapedales = True + TrConsola.Visible = True + Consola = "ARS600" + End If + If DtDatos.COUNT("Codigo", "Codigo like '106%'") > 0 Then + '306, 404, 405, ARS-800, + DdlConsola.Items.Clear() + DdlConsola.Items.Add(New ListItem("A8-2205011-DM", "A8-2205011-DM")) + DdlConsola.Items.Add(New ListItem("RENTA", "RENTA")) + cargapedales = True + TrConsola.Visible = True + Consola = "ARS800" + End If + + If cargapedales Then + DdlPedales.Items.Clear() + DdlPedales.Items.Add(New ListItem("AJ-23040710-S", "AJ-23040710-S")) + DdlPedales.Items.Add(New ListItem("AJ-22110355-S", "AJ-22110355-S")) + DdlPedales.Items.Add(New ListItem("AJ-23040709-S", "AJ-23040709-S")) + DdlPedales.Items.Add(New ListItem("AJ-20050605-S", "AJ-20050605-S")) + DdlPedales.Items.Add(New ListItem("AJ-20111710-S", "AJ-20111710-S")) + DdlPedales.Items.Add(New ListItem("AJ-2106045-S", "AJ-2106045-S")) + DdlPedales.Items.Add(New ListItem("AJ-22980506-S", "AJ-22980506-S")) + DdlPedales.Items.Add(New ListItem("RENTA", "RENTA")) + End If + End If + If UsuarioActual.Empresa.Funcionalidad(280) = "1" Then FormaPaqueteria = DtDatos.Rows(0)("FormaPaqueteria").ToString().ToEntero() Dim FormaPaq As Integer = FormaPaqueteria @@ -1977,10 +1996,7 @@ Partial Class Inventarios_EntregaAlmacen End Sub - Private Sub GuardaVenta() - - ValidaUsaConsola() - + Private Sub GuardaVenta() Dim CantidadVenta As Decimal = 0 '' INICIA: VALIDACIONES @@ -2053,9 +2069,7 @@ Partial Class Inventarios_EntregaAlmacen If Gvr.FCCheckBox("cbInv").Checked AndAlso Gvr.FCTextBox("TbCantidadF").Text.ToDecimal > 0 Then Cantidad += Gvr.FCTextBox("TbCantidadF").Text.ToDecimal End If - End If - End If Next @@ -2095,11 +2109,16 @@ Partial Class Inventarios_EntregaAlmacen Next End If End If - + Dim Guia As String = TxtGuia.Text.Trim + Dim Recibio As String = "" If EsDevolucionVenta = 1 Or TipoDocto.Contiene({"Ped"}) Then Dim ValidaSalidaCompleta As Boolean = Not (EsDevolucionVenta = 1 And TipoDocto.Contiene("Rem", "Ped")) 'LIMITAR EL NUMERO DE PARTIDAS QUE SE PUEDEN ENTREGAR If UsuarioActual.Empresa.Funcionalidad(578) = "1" Then + If TrConsola.Visible Then + Guia = DdlConsola.SelectedItem.Text + Recibio = DdlPedales.SelectedItem.Text + End If 'SoloNumeros entrega 'SI EL CLIENTE ES OPERADORA DE HOSPITALES ANGELES SOLO SE PUEDEN RECIBIR MAXIMO 9 @@ -2116,7 +2135,6 @@ Partial Class Inventarios_EntregaAlmacen End If End If End If - ValidaSalidaCompleta = False End If @@ -2128,12 +2146,9 @@ Partial Class Inventarios_EntregaAlmacen Exit Sub End If Next - End If - End If - Dim EsInterno As Integer = -1 'If TipoDocto = "Ped" Then ' EsInterno = If(Me.EsInterno, 1, 0) @@ -2281,10 +2296,7 @@ Partial Class Inventarios_EntregaAlmacen If Dr("FechaCaducidad").ToString.Trim.Length > 0 AndAlso Dr("FechaCaducidad").ToString.Trim <> "-1" Then SerieLoteCaducidad = $"{SerieLoteCaducidad} Caducidad: { Dr("FechaCaducidad").ToString.Trim.ToDate.ToString("dd/MM/yyyy")}" End If - TextoError.AppendFormat(" - {0} Existencia: {1:#,##0.##} {2}
", Dr("CodigoPS"), Dr("Existencia"), If(SerieLoteCaducidad <> ",", SerieLoteCaducidad, "")) - - Next End If Else @@ -2303,7 +2315,6 @@ Partial Class Inventarios_EntregaAlmacen RegistraScript("playsonidito('142608__autistic-lucario__error.wav')") Exit Sub End If - End If '' TERMINA: VALIDACIONES @@ -2332,7 +2343,7 @@ Partial Class Inventarios_EntregaAlmacen If Not CveMovimientoSalida > 0 Then CveMovimientoSalida = ObjInventario.AddMovimiento(Dr2("CveAlmacen").ToString().ToEntero(), CveConceptoSalidaSinCosto, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveVentaSurtir, -1, -1, CveOS:=CveOSSurtir, - Observaciones:=TxtObservaciones.Text.Trim, Guia:=TxtGuia.Text, CveContrato:=CveContrato, Modulo:="RE/GSC1") + Observaciones:=TxtObservaciones.Text.Trim, Guia:=Guia, CveContrato:=CveContrato, Modulo:="RE/GSC1") FolioSalida = ObjInventario.Folio If Not CveMovimientoSalida > 0 Then @@ -2382,7 +2393,7 @@ Partial Class Inventarios_EntregaAlmacen If Not CveMovimientoSalida > 0 Then CveMovimientoSalida = ObjInventario.AddMovimiento(Dr1("CveAlmacen").ToString().ToEntero(), CveConceptoSalidaSinCosto, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveVentaSurtir, -1, -1, CveOS:=CveOSSurtir, - Observaciones:=TxtObservaciones.Text.Trim, Guia:=TxtGuia.Text, CveContrato:=CveContrato, Modulo:="RE/GSC3") + Observaciones:=TxtObservaciones.Text.Trim, Guia:=Guia, CveContrato:=CveContrato, Modulo:="RE/GSC3") FolioSalida = ObjInventario.Folio If Not CveMovimientoSalida > 0 Then @@ -2401,7 +2412,6 @@ Partial Class Inventarios_EntregaAlmacen DtTraspasos.Rows.Add(DrMovto) End If - CantidadPendienteSinCosto = If(Dr1("ExistenciaFinal").ToString().ToDecimal > CantidadSaldoSinCosto, CantidadSaldoSinCosto, Dr1("ExistenciaFinal").ToString().ToDecimal) If Not ObjInventario.AddMovimientoDetalle(CveMovimientoSalida, CantidadPendienteSinCosto.ToString().ToDecimal, Dr("CveUM").ToString().ToEntero(), Dr("CvePS").ToString().ToEntero(), 0, @@ -2414,7 +2424,6 @@ Partial Class Inventarios_EntregaAlmacen TextoError.AppendFormat("Ocurrió un error al procesar los conceptos de traspaso de apartado. Por favor vuelva a intentar.") Exit For End If - CantidadSaldoSinCosto -= CantidadPendienteSinCosto Dr("CantidadTraspaso") = Dr("CantidadTraspaso").ToString().ToDecimal + CantidadPendienteSinCosto If CantidadSaldoSinCosto <= 0 Then Exit For @@ -2424,14 +2433,10 @@ Partial Class Inventarios_EntregaAlmacen Else ErrorMovInv = True End If - End If - CantidadSalidaSinCosto += Dr("CantidadTraspaso").ToString().ToDecimal() If ErrorMovInv Then Exit For - End If - Next 'ENTRADA POR TRASPASO A ENTREGA POR ADELANTADO @@ -2443,7 +2448,7 @@ Partial Class Inventarios_EntregaAlmacen CveMovimientoEntradaApartado = ObjInventario.AddMovimiento(CveAlmacenExA, 9, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveVentaSurtir, -1, -1, CveOS:=CveOSSurtir, Observaciones:=TxtObservaciones.Text.Trim, CveAlmacenDestino:=DdlAlmacen.SelectedValue.ToEntero(), CveMovimientoRelacionado:=CveMovimientoSalida, - Guia:=TxtGuia.Text, CveContrato:=CveContrato, CveVendedor:=CveVendedor, CveCliente:=CveCliente, Modulo:="RE/G4") + Guia:=Guia, CveContrato:=CveContrato, CveVendedor:=CveVendedor, CveCliente:=CveCliente, Modulo:="RE/G4") FolioEntrada = ObjInventario.Folio If Not CveMovimientoEntradaApartado > 0 Then @@ -2524,7 +2529,7 @@ Partial Class Inventarios_EntregaAlmacen If Not CveMovimientoSalida > 0 Then CveMovimientoSalida = ObjInventario.AddMovimiento(Dr2("CveAlmacen").ToString().ToEntero(), 8, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveVentaSurtir, -1, -1, CveOS:=CveOSSurtir, - Observaciones:=TxtObservaciones.Text.Trim, Guia:=TxtGuia.Text, CveContrato:=CveContrato, CveVendedor:=CveVendedor, CveCliente:=If(UsuarioActual.Empresa.Funcionalidad(146) = "1", -1, CveCliente), + Observaciones:=TxtObservaciones.Text.Trim, Guia:=Guia, CveContrato:=CveContrato, CveVendedor:=CveVendedor, CveCliente:=If(UsuarioActual.Empresa.Funcionalidad(146) = "1", -1, CveCliente), CveAlmacenDestino:=DdlAlmacen.SelectedValue.ToEntero(), Modulo:="RE/G1") FolioSalida = ObjInventario.Folio @@ -2578,7 +2583,7 @@ Partial Class Inventarios_EntregaAlmacen If Not CveMovimientoSalida > 0 Then CveMovimientoSalida = ObjInventario.AddMovimiento(Dr2("CveAlmacen").ToString().ToEntero(), 8, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveVentaSurtir, -1, -1, CveOS:=CveOSSurtir, Observaciones:=TxtObservaciones.Text.Trim, - Guia:=TxtGuia.Text, CveContrato:=CveContrato, CveVendedor:=CveVendedor, CveCliente:=If(UsuarioActual.Empresa.Funcionalidad(146) = "1", -1, CveCliente), + Guia:=Guia, CveContrato:=CveContrato, CveVendedor:=CveVendedor, CveCliente:=If(UsuarioActual.Empresa.Funcionalidad(146) = "1", -1, CveCliente), CveAlmacenDestino:=DdlAlmacen.SelectedValue.ToEntero(), Modulo:="RE/G2") FolioSalida = ObjInventario.Folio @@ -2631,7 +2636,7 @@ Partial Class Inventarios_EntregaAlmacen CveMovimientoSalida = ObjInventario.AddMovimiento(Dr1("CveAlmacen").ToString().ToEntero(), 8, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveVentaSurtir, -1, -1, CveOS:=CveOSSurtir, - Observaciones:=TxtObservaciones.Text.Trim, Guia:=TxtGuia.Text, CveContrato:=CveContrato, CveVendedor:=CveVendedor, + Observaciones:=TxtObservaciones.Text.Trim, Guia:=Guia, CveContrato:=CveContrato, CveVendedor:=CveVendedor, CveCliente:=If(UsuarioActual.Empresa.Funcionalidad(146) = "1", -1, CveCliente), CveAlmacenDestino:=DdlAlmacen.SelectedValue.ToEntero(), Modulo:="RE/G3") FolioSalida = ObjInventario.Folio @@ -2690,7 +2695,7 @@ Partial Class Inventarios_EntregaAlmacen CveMovimientoEntradaApartado = ObjInventario.AddMovimiento(DdlAlmacen.SelectedValue.ToEntero(), 9, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveVentaSurtir, -1, -1, CveOS:=CveOSSurtir, Observaciones:=TxtObservaciones.Text.Trim, CveAlmacenDestino:=DdlAlmacen.SelectedValue.ToEntero(), CveMovimientoRelacionado:=CveMovimientoSalida, - Guia:=TxtGuia.Text, CveContrato:=CveContrato, CveVendedor:=CveVendedor, CveCliente:=CveCliente, Modulo:="RE/G4") + Guia:=Guia, CveContrato:=CveContrato, CveVendedor:=CveVendedor, CveCliente:=CveCliente, Modulo:="RE/G4") FolioEntrada = ObjInventario.Folio If Not CveMovimientoEntradaApartado > 0 Then @@ -2732,7 +2737,7 @@ Partial Class Inventarios_EntregaAlmacen End If If DtGarantias IsNot Nothing AndAlso DtGarantias.Rows.Count > 0 AndAlso CveAlmacenGarantia > 0 Then - CveMovimientoGarantia = ObjInventario.AddMovimiento(CveAlmacenGarantia, 14, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveVentaSurtir, -1, -1, CveOS:=CveOSSurtir, Observaciones:=TxtObservaciones.Text.Trim, Guia:=TxtGuia.Text, Modulo:="EA/G5") + CveMovimientoGarantia = ObjInventario.AddMovimiento(CveAlmacenGarantia, 14, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveVentaSurtir, -1, -1, CveOS:=CveOSSurtir, Observaciones:=TxtObservaciones.Text.Trim, Guia:=Guia, Modulo:="EA/G5") FolioGarantia = ObjInventario.Folio For Each RowGarantia As DataRow In DtGarantias.Rows @@ -2786,7 +2791,7 @@ Partial Class Inventarios_EntregaAlmacen Dim CveMovimientoDevolucionSinCosto As Integer = ObjInventario.AddMovimiento(DdlAlmacen.SelectedValue.ToEntero(), 41, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveVentaSurtir, -1, -1, CveOS:=CveOSSurtir, Observaciones:=TxtObservaciones.Text.Trim, CveAlmacenDestino:=DdlAlmacen.SelectedValue.ToEntero(), CveMovimientoRelacionado:=CveMovimientoSalida, - Guia:=TxtGuia.Text, CveContrato:=CveContrato, CveVendedor:=CveVendedor, CveCliente:=CveCliente, Modulo:="RE/G4") + Guia:=Guia, CveContrato:=CveContrato, CveVendedor:=CveVendedor, CveCliente:=CveCliente, Modulo:="RE/G4") Dim FolioDevSinCosto As Integer = ObjInventario.Folio If Not CveMovimientoDevolucionSinCosto > 0 Then @@ -2868,7 +2873,7 @@ Partial Class Inventarios_EntregaAlmacen ConceptoMovimiento = 41 End If - CveMovimiento = ObjInventario.AddMovimiento(Almacen1, ConceptoMovimiento, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveVentaSurtir, -1, -1, CveOS:=CveOSSurtir, Observaciones:=TxtObservaciones.Text.Trim, Guia:=TxtGuia.Text, + CveMovimiento = ObjInventario.AddMovimiento(Almacen1, ConceptoMovimiento, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveVentaSurtir, -1, -1, CveOS:=CveOSSurtir, Observaciones:=TxtObservaciones.Text.Trim, Guia:=Guia, Recibio:=Recibio, CveContrato:=CveContrato, CveAlmacenDestino:=tCveAlmacenTraspasoDestino, Modulo:="RE/G7") Folio = ObjInventario.Folio @@ -2969,7 +2974,7 @@ Partial Class Inventarios_EntregaAlmacen 'ENTRADA POR TRASPASO CUANDO ES REMISION If Not ErrorMovInv Then If tCveAlmacenTraspasoDestino > 0 AndAlso Not (TipoMovimiento = 2 And TipoDocto = "Dev" And EsDevolucionVenta = 1) Then ' TRASPASO CUANDO ES REMISION - CveMovimientoEntrada = ObjInventario.AddMovimiento(tCveAlmacenTraspasoDestino, 9, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveVentaSurtir, -1, -1, CveOS:=CveOSSurtir, Observaciones:=TxtObservaciones.Text.Trim, Guia:=TxtGuia.Text, CveContrato:=CveContrato, + CveMovimientoEntrada = ObjInventario.AddMovimiento(tCveAlmacenTraspasoDestino, 9, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveVentaSurtir, -1, -1, CveOS:=CveOSSurtir, Observaciones:=TxtObservaciones.Text.Trim, Guia:=Guia, CveContrato:=CveContrato, CveMovimientoRelacionado:=CveMovimiento, CveAlmacenDestino:=DdlAlmacen.SelectedValue.ToEntero(), Modulo:="RE/G8") FolioEntrada = ObjInventario.Folio Dim ImporteAlmacen As Decimal = 0 @@ -3027,7 +3032,7 @@ Partial Class Inventarios_EntregaAlmacen If CveMovimientoSalidaApartado = -1 Or CveAlmacenApartado <> Dr("CveAlmacen").ToString().ToEntero() Then CveMovimientoSalidaApartado = ObjInventario.AddMovimiento(CveAlmacenOrigen, 8, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveVentaSurtir, -1, -1, CveOS:=CveOSSurtir, - Observaciones:=TxtObservaciones.Text.Trim, Guia:=TxtGuia.Text, CveContrato:=CveContrato, CveVendedor:=CveVendedor, CveCliente:=CveCliente, + Observaciones:=TxtObservaciones.Text.Trim, Guia:=Guia, CveContrato:=CveContrato, CveVendedor:=CveVendedor, CveCliente:=CveCliente, CveAlmacenDestino:=Dr("CveAlmacen").ToString().ToEntero(), Modulo:="RE/G9") FolioSalida = ObjInventario.Folio CveAlmacenApartado = Dr("CveAlmacen").ToString().ToEntero() @@ -3074,7 +3079,7 @@ Partial Class Inventarios_EntregaAlmacen CveMovimientoEntradaApartado = ObjInventario.AddMovimiento(Dr1("CveAlmacen").ToString().ToEntero(), 9, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveVentaSurtir, -1, -1, CveOS:=CveOSSurtir, Observaciones:=TxtObservaciones.Text.Trim, CveAlmacenDestino:=DdlAlmacen.SelectedValue.ToEntero(), - CveMovimientoRelacionado:=CveMovimientoSalida, Guia:=TxtGuia.Text, CveContrato:=CveContrato, CveVendedor:=CveVendedor, + CveMovimientoRelacionado:=CveMovimientoSalida, Guia:=Guia, CveContrato:=CveContrato, CveVendedor:=CveVendedor, CveCliente:=CveCliente, Modulo:="RE/G10") FolioEntrada = ObjInventario.Folio @@ -3220,7 +3225,7 @@ Partial Class Inventarios_EntregaAlmacen If DtPSVirtual IsNot Nothing AndAlso DtPSVirtual.Rows.Count > 0 AndAlso CveAlmacenVirtual > 0 AndAlso CveConceptoMovimientoVirtual > 0 Then CveMovimientoVirtual = ObjInventario.AddMovimiento(CveAlmacenVirtual, CveConceptoMovimientoVirtual, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveVentaSurtir, -1, -1, CveOS:=CveOSSurtir, - Observaciones:=TxtObservaciones.Text.Trim, Guia:=TxtGuia.Text, CveMovimientoRelacionado:=CveMovimientoRelacionadoVirtual, Modulo:="RE/G6") + Observaciones:=TxtObservaciones.Text.Trim, Guia:=Guia, CveMovimientoRelacionado:=CveMovimientoRelacionadoVirtual, Modulo:="RE/G6") FolioVirtual = ObjInventario.Folio If CveMovimientoVirtual > 0 Then diff --git a/Inventarios/PopUpBuscarMovto.aspx.vb b/Inventarios/PopUpBuscarMovto.aspx.vb index 060e21c47..8ff678e65 100644 --- a/Inventarios/PopUpBuscarMovto.aspx.vb +++ b/Inventarios/PopUpBuscarMovto.aspx.vb @@ -76,10 +76,10 @@ Partial Class PopUpBuscarFolio End Sub Private Function ValidarFiltrosSeleccionados() As Boolean - If DdlAlmacen.SelectedValue.ToEntero > 0 Then Return True - If DdlTipoMovimiento.SelectedValue.ToEntero > 0 Then Return True - If TxtFolio.Text.Length > 0 Then Return True - Return False + 'If DdlAlmacen.SelectedValue.ToEntero > 0 Then Return True + 'If DdlTipoMovimiento.SelectedValue.ToEntero > 0 Then Return True + 'If TxtFolio.Text.Length > 0 Then Return True + Return True End Function #End Region diff --git a/OS/RepServiciosMedicos.aspx b/OS/RepServiciosMedicos.aspx index 9dcc831c9..13814deaa 100644 --- a/OS/RepServiciosMedicos.aspx +++ b/OS/RepServiciosMedicos.aspx @@ -443,17 +443,13 @@
- - + + - - + - - - +
@@ -464,24 +460,16 @@
-
-
-
- Cliente: - - +
+ <%--DESCRIPCION--%> +
+ + +
- - -
- - - -
-
@@ -492,84 +480,70 @@
+ +
+
+ <%--MEDICO--%> +
+ + +
+
+
+ <%--PROCEDIMIENTO--%> +
+ + +
+
+
+
+
+ <%--TIPO VENTA--%> +
+ + +
+
+
+ <%--TÉCNICO--%> +
+ + +
+

-
+
-
-
- - - - <%-- - --%> - - -
-
-
- +
+ + + + + +
+
+
- - -
+
- - + @@ -925,10 +899,10 @@ if (validando == 1) { var timestamp = Date.parse(Text); - if (isNaN(timestamp) == false) { + <%--if (isNaN(timestamp) == false) { $('#<%=LnkValidaHorarioNoOperativo.ClientID%>').click(); - } + }--%> } diff --git a/OS/RepServiciosMedicos.aspx.vb b/OS/RepServiciosMedicos.aspx.vb index 4d33a8f19..a3e7bfff5 100644 --- a/OS/RepServiciosMedicos.aspx.vb +++ b/OS/RepServiciosMedicos.aspx.vb @@ -251,8 +251,6 @@ Partial Class OS_RepServiciosMedicos Asignacion End Enum - - #End Region Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load @@ -268,15 +266,7 @@ Partial Class OS_RepServiciosMedicos InicializaCalendar() GetCargaTiposOrden() cargaDropsModal() - CargaClientePublicoGeneral() - If UsuarioActual.TienePermisoProceso(348) Then - DVModalAsignacion.Visible = True - End If - - If UsuarioActual.TienePermisoProceso(352) Then - LnkCancelarOrden.Visible = True - End If End If End Sub @@ -374,10 +364,6 @@ Partial Class OS_RepServiciosMedicos 'ObjOS.Dispose() - DdlTecnicoAsignar.DataSource = DTTecnicos 'GlobalDTUsuarios(-1, UsuarioActual.CveEmpresa).FiltraParametros("Estatus = 'True'") - DdlTecnicoAsignar.DataBind() - DdlTecnicoAsignar.Items.Insert(0, New ListItem("Seleccione uno", "-1")) - UpModalOS.Update() End Sub @@ -592,38 +578,28 @@ Partial Class OS_RepServiciosMedicos 'DdlClientesWS.txtText.Value = "" 'DdlClientesWS.txtValue.Value = "" - If UsuarioActual.Empresa.Funcionalidad(105) = "1" Then - DdlClientesWS.setEsWebService(True) - Else - DdlClientesWS.setEsWebService(False) - CargaClientes() - End If + 'If UsuarioActual.Empresa.Funcionalidad(105) = "1" Then + ' DdlClientesWS.setEsWebService(True) + 'Else + ' DdlClientesWS.setEsWebService(False) + ' CargaClientes() + 'End If End Sub Private Sub CargaClientes() - If Not UsuarioActual.Empresa.Funcionalidad(105) = "1" Then - DdlClientesWS.ddl.Items.Clear() - DdlClientesWS.DataSource = GlobalDTCliente(UsuarioActual.CveEmpresa, -1) - DdlClientesWS.DataBind() - DdlClientesWS.ddl.Items.Insert(0, New ListItem("Todos", "-1")) - End If + 'If Not UsuarioActual.Empresa.Funcionalidad(105) = "1" Then + ' DdlClientesWS.ddl.Items.Clear() + ' DdlClientesWS.DataSource = GlobalDTCliente(UsuarioActual.CveEmpresa, -1) + ' DdlClientesWS.DataBind() + ' DdlClientesWS.ddl.Items.Insert(0, New ListItem("Todos", "-1")) + 'End If End Sub Private Sub LipiaModalOS() - TxtSolicito.Text = "" TxtDescripcion.Text = "" TxtFechaOS.Text = "" - - DdlClientesWS.txtText.Value = "" - DdlClientesWS.txtValue.Value = "" - DdlClientesWS.ddl.SelectedValueExist("-1") - DdlTecnicoAsignar.SelectedValueExist("-1") - - 'TSTimeSelector.Hour = NowADS().Hour - 'TSTimeSelector.Minute = NowADS().Minute - CveTecnicoAsignarOrioginal = -1 FechaInicioOriginal = NowADS() @@ -642,12 +618,6 @@ Partial Class OS_RepServiciosMedicos LipiaModalOS() If TipoAccion = OSModalTipoAccion.Agregar Then - If UsuarioActual.Empresa.Funcionalidad(105) = "1" Then - DdlClientesWS.txtValue.Value = CveClientePublicoGeneral.ToString - DdlClientesWS.txtText.Value = NombreClientePublicoGeneral - Else - DdlClientesWS.ddl.SelectedValueExist(CveClientePublicoGeneral) - End If TxtFechaOS.Text = NowADS().ToString("dd/MM/yyyy") RegistraScript("$('#DVModalOS').modal('show');") @@ -656,60 +626,51 @@ Partial Class OS_RepServiciosMedicos ElseIf TipoAccion = OSModalTipoAccion.Actualizacion Or TipoAccion = OSModalTipoAccion.Asignacion Then 'cargaDropsModal() - LblModalOStitulo.Text = "Actualizar Orden de Servicio" - - + LblModalOStitulo.Text = "Orden de Servicio" Dim IDOSDetalle As Integer = 1 Dim SeFacturara = "" Dim CveOsConsultar As Integer = HFCveOS.Value.ToEntero - 'If Not CveOsConsultar > 0 AndAlso Not DdlOrdenesSinAsignar.SelectedValue.ToEntero > 0 Then - ' Alert("clave de orden de servicio no encontrada.", TipoMensaje.MsgAdvertencia) - ' Exit Sub - 'End If - If CveOsConsultar > 0 Then DdlOrdenesSinAsignar.SelectedValueExist(-1) End If Dim ObjOS As New ClsOS() If ObjOS.GetOrdenesServicios(CveOsConsultar, -1, -1, -1, -1, UsuarioActual.CveEmpresa, CveOSDetalle:=DdlOrdenesSinAsignar.SelectedValue.ToEntero) Then + Dim thospital As String = ObjOS.Cliente + If ObjOS.CveClienteSucursal > 0 Then + thospital = GlobalDTClientesSucursales(ObjOS.CveEmpresa, ObjOS.CveCliente).FiltroPrimeroValor("SucursalCliente", $"CveClienteSucursal = {ObjOS.CveClienteSucursal}") + End If DVFolio.Visible = True HLkFolio.Text = ObjOS.Folio.ToString HLkFolio.NavigateUrl = $"/OS/OrdenesServicios.aspx?CveOS={ObjOS.CveOS}" - HLKPDF.NavigateUrl = $"/Compras/PopUpVerFactura.aspx?P={Encripta(String.Format("OP=OS&CVEOS={0}", ObjOS.CveOS))}" - HFCveOS.Value = ObjOS.CveOS.ToString HFCveOsDetalle.Value = ObjOS.CveOSDetalle.ToString TxtDescripcion.Text = ObjOS.Descripcion - TxtSolicito.Text = ObjOS.PersonaSolicito - TxtFechaOS.Text = ObjOS.FechaRecepcion.ToString("dd/MM/yyyy") - 'DdlSubProyectoOS.SelectedValueExist(ObjOS.CveSubProyecto) - DdlClientesWS.txtText.Value = ObjOS.Cliente - DdlClientesWS.txtValue.Value = ObjOS.CveCliente.ToString - DdlClientesWS.ddl.SelectedValueExist(ObjOS.CveCliente.ToString) + TxtFechaOS.Text = ObjOS.FechaCita.ToString("dd/MM/yyyy HH:mm") + TxtProcedimiento.Text = GlobalDTProcedimientos(UsuarioActual.CveEmpresa).FiltroPrimeroValor("Procedimiento", "CveProcedimiento =" & ObjOS.CveProcedimiento) + TxtMedico.Text = GlobalDTMedicos(UsuarioActual.CveEmpresa).FiltroPrimeroValor("Medico", "CveMedico =" & ObjOS.CveMedico) + TxtCliente.Text = thospital + TxtTipoVenta.Text = GlobalDTTipoVenta(UsuarioActual.CveEmpresa).FiltroPrimeroValor("TipoVenta", $"CveTipoVenta ={ObjOS.CveTipoVenta}") + TxtTecnico.Text = ObjOS.UsuarioAtendio - If TipoAccion = OSModalTipoAccion.Actualizacion Then - DdlTecnicoAsignar.SelectedValueExist(ObjOS.CveUsuarioAtendio) - CveTecnicoAsignarOrioginal = ObjOS.CveUsuarioAtendio - FechaInicioOriginal = ObjOS.FechaInicio - - DvModalSubProyecto.Visible = True - LblModalOStitulo.Text = "Actualizar Orden de Servicio" - 'TSTimeSelector.Hour = If(ObjOS.FechaInicio.Hour > 12, ObjOS.FechaInicio.Hour - 12, ObjOS.FechaInicio.Hour) - 'TSTimeSelector.Minute = ObjOS.FechaInicio.Minute - 'TSTimeSelector.AmPm = If(ObjOS.FechaInicio.Hour > 12, MKB.TimePicker.TimeSelector.AmPmSpec.PM, MKB.TimePicker.TimeSelector.AmPmSpec.AM) + Dim tCve As Integer = ObjOS.CveVenta 'busca la remisión + If tCve <= 0 Then tCve = ObjOS.CveCotizacion 'sino hay remisión toma el pedido + If tCve > 0 Then + Dim objv As New ClsVentas + Dim dttps As New DataTable + If objv.GetVentaDetalle(tCve) Then + dttps = objv.DtResultados + End If + objv.Dispose() + GvPS.DataSource = dttps + GvPS.DataBind() End If - - Dim TipoEstatus As Integer = 0 TipoEstatus = GlobalDTEstatusOrdenServicios(UsuarioActual.CveEmpresa).FiltroPrimeroValor("TipoEstatus", String.Format("CveEstatusOrdenServicio = {0}", ObjOS.CveEstatusOrdenServicio), "CveEstatusOrdenServicio ASC").ToEntero - 'LnkModalAsignar.Visible = If(TipoEstatus.Contiene(4, 5), False, True) - LnkCancelarOrden.Visible = If(TipoEstatus.Contiene(4, 5), False, True) - If (TipoEstatus = 5) Then LblModalOStitulo.Text = "Orden Cancelada" End If @@ -752,345 +713,6 @@ Partial Class OS_RepServiciosMedicos End Sub - Protected Sub LnkModalAsignar_Click(sender As Object, e As EventArgs) - - Dim TieneError As Boolean = False - Dim CveEstatusSolicidato = GlobalDTEstatusOrdenServicios(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveEstatusOrdenServicio", "TipoEstatus = 1", "CveEstatusOrdenServicio ASC").ToEntero - Dim CveEstatusAsiganada = GlobalDTEstatusOrdenServicios(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveEstatusOrdenServicio", "TipoEstatus = 2", "CveEstatusOrdenServicio ASC").ToEntero - - Dim CveCliente As Integer = If(Not DdlClientesWS.SelectedValue.ToEntero > 0, DdlClientesWS.txtValue.Value.ToString.ToEntero, DdlClientesWS.SelectedValue.ToEntero) - Dim CvePSDetalle As Integer = UsuarioActual.Empresa.Funcionalidad(708).ToEntero - Dim EsNueva As Boolean = False - - - Dim CveOS As Integer = HFCveOS.Value.ToEntero - Dim CveOsDetalle As Integer = HFCveOsDetalle.Value.ToEntero - - - Dim CveSubProyectoTecnico As Integer = If(DdlTecnicoAsignar.SelectedValue.ToEntero > 0, GlobalDTUsuarios(DdlTecnicoAsignar.SelectedValue.ToEntero, UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", " CveSubProyecto > 0 ").ToEntero, -1) - - If CveSubProyectoTecnico = 0 And DdlTecnicoAsignar.SelectedValue.ToEntero = 100 Then - CveSubProyectoTecnico = GlobalDTSubProyectos(-1, -1, UsuarioActual.CveEmpresa, 1).FiltroPrimeroValor("CveSubProyecto").ToEntero - End If - - - If TipoAccion = OSModalTipoAccion.Asignacion AndAlso Not CveSubProyectoTecnico > 0 Then - Alert("No se encontro el subproyecto o centro de costo del tecnico seleccionado.") - Exit Sub - End If - - If Not CvePSDetalle > 0 Then - Alert("No esta asiganado el producto del detalle a la funcionalidad.") - Exit Sub - End If - - If Not CveCliente > 0 Then - Alert("Debe seleccionar una cliente.") - Exit Sub - End If - - If TipoAccion = OSModalTipoAccion.Asignacion Then - - If Not DdlTecnicoAsignar.SelectedValue.ToEntero > 0 Then - Alert("El tecnico es requerido", TipoMensaje.MsgAdvertencia) - Exit Sub - End If - - - - End If - - Dim ObjOS As New ClsOS - ObjOS.IniciaTransacSQL() - - If CveOS > 0 Then - - Dim CveEstatusOrden = CveEstatusSolicidato - If DdlTecnicoAsignar.SelectedValue.ToEntero > 0 Then - CveEstatusOrden = CveEstatusAsiganada - End If - - If TipoAccion = OSModalTipoAccion.Asignacion Then - CveEstatusOrden = CveEstatusAsiganada - End If - - CveOS = HFCveOS.Value.ToEntero - CveOsDetalle = HFCveOsDetalle.Value.ToEntero - - If CveOS > 0 Then - - If Not ObjOS.UpdateOrdenesServicios(TxtSolicito.Text, TxtFechaOS.Text, TxtDescripcion.Text, UsuarioActual.CveUsuario, CveEstatusOrden, CveOS, UsuarioActual.CveUsuario, - -1, CveClienteSucursal:=-1, Direccion:="", Telefono:="", - CveSubProyecto:=CveSubProyectoTecnico, Correo:="") Then - TieneError = True - End If - Else - TieneError = True - End If - - End If - - 'Dim picker As MKB.TimePicker.TimeSelector = TSTimeSelector - 'Dim time As DateTime - 'time = DateTime.Parse(String.Format("{0} {1}:{2} {3}", TxtModalFechaOS.Text, picker.Hour, picker.Minute, picker.AmPm)) - - If Not TieneError AndAlso CveOS > 0 AndAlso CveOsDetalle > 0 AndAlso DdlTecnicoAsignar.SelectedValue.ToEntero > 0 AndAlso - (HFCveUsuarioAtendio.Value.ToEntero <> DdlTecnicoAsignar.SelectedValue.ToEntero) Then - - - 'If Not ObjOS.UpdateOrdenesServiciosAsignadas(CveOsDetalle, DdlTecnicoAsignar.SelectedValue.ToEntero, TxtModalFechaOS.Text.ToDate, TxtModalFechaOS.Text.ToDateTime(), UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario) Then - ' TieneError = True - 'End If - - - 'If ObjOS.GetSubProyectosEstatusInicial(DdlTecnicoAsignar.SelectedValue.ToEntero, 3, UsuarioActual.CveEmpresa) Then - ' Dim subProyectoDelTecnico As DataTable - ' subProyectoDelTecnico = ObjOS.DtResultados.FiltraParametros($"CveSubProyecto = {CveSubProyectoTecnico}") - - ' If subProyectoDelTecnico.Rows.Count > 0 Then - ' If Not ObjOS.UpdateOrdenesServiciosAsignadas(CveOsDetalle, DdlTecnicoAsignar.SelectedValue.ToEntero, TxtModalFechaOS.Text.ToDate, TxtModalFechaOS.Text.ToDateTime(), UsuarioActual.CveEmpresa) Then - ' TieneError = True - ' End If - ' Else - ' Alert("El técnico y la Orden de Servicio deben pertenecer al mismo subProyecto", TipoMensaje.MsgAdvertencia) - ' TieneError = True - ' End If - 'End If - - - - If Not TieneError Then - - If Not ObjOS.UpdateOrdenesServiciosEstatus(CveEstatusAsiganada, UsuarioActual.CveUsuario, CveOS) Then - TieneError = True - End If - - If Not TieneError Then - - - Dim ObjEventos As New ClsOIEventos(ObjOS.IniciaTransacSQL()) - - If HFOCveOIEvento.Value.ToEntero > 0 Then - - If Not ObjEventos.RemoveAgendaBitacora(HFOCveOIEvento.Value.ToEntero, UsuarioActual.CveEmpresa) Then - TieneError = True - End If - - End If - - - Dim RecurrenciaTipo = 0, Frecuencia = -1, DiasSemana = "-1", Dias = -1, Mes = -1, RecurrenciaFin = "-1" - Dim OIDescripcion As String = $"{DdlTecnicoAsignar.SelectedItem.Text} Orden de servicio {FolioAsignar} " - If Not ObjEventos.AddEventoAgenda(2, DdlTecnicoAsignar.SelectedItem.Text, OIDescripcion, 2, TxtFechaOS.Text.ToDateTime(), TxtFechaOS.Text.ToDateTime().AddHours(1), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, - RecurrenciaTipo:=RecurrenciaTipo, Frecuencia:=Frecuencia, DiasSemana:=DiasSemana, Dia:=Dias, Mes:=Mes, RecurrenciaFin:=RecurrenciaFin, CveTipoEvento:=2, - Importe:=0, CveOS:=CveOS, CveSubProyecto:=CveSubProyectoTecnico, CveUsuarioPara:=DdlTecnicoAsignar.SelectedValue.ToEntero) Then - TieneError = True - End If - End If - End If - End If - - If Not TieneError Then - ObjOS.Commit() - Else - ObjOS.RollBack() - End If - ObjOS.Dispose() - - Dim CorreoAsignado As String = GlobalDTUsuarios(DdlTecnicoAsignar.SelectedValue.ToEntero).Rows(0)("Correo").ToString - If Not TieneError And CorreoAsignado.Trim.Length > 0 AndAlso DdlTecnicoAsignar.SelectedValue.ToEntero > 0 Then - CorreoAsignado = GlobalDTUsuarios(DdlTecnicoAsignar.SelectedValue.ToEntero).Rows(0)("Correo").ToString - MandaCorreOS(CveOS, CorreoAsignado) - End If - - 'If Not TieneError And TxtEmail.Text.Trim.Length > 0 AndAlso DdlTecnicoAsignar.SelectedValue.ToEntero > 0 Then - ' MandaCorreOS(CveOS, TxtEmail.Text, True) - 'End If - - If Not TieneError Then - - ConsultaOrdenesServiciosNoAsignadas() - CargaOrdenesServiciosNoAsignadas() - - If TipoAccion = OSModalTipoAccion.Asignacion Then - Alert("Orden asignada correctamente.") - ElseIf TipoAccion = OSModalTipoAccion.Agregar Then - Alert("Orden Guardada correctamente.") - ElseIf TipoAccion = OSModalTipoAccion.Actualizacion Then - Alert("Orden actualizada correctamente.") - End If - - RegistraScript("$('#DVModalOS').modal('hide');Calendario();") - - End If - - End Sub - - Private Sub MandaCorreOS(CveOS As Integer, CorreoUsuarioAsignado As String, Optional EsCliente As Boolean = False) - - Dim ObjOS As New ClsOS() - Dim params As New List(Of ReportParameter) - Dim CveFolio = "" - - Dim TmpDTOS = New DataTable - TmpDTOS.Columns.Add("CveOSDetalle", GetType(Integer)) - - TmpDTOS.Columns.Add("CveClasificacion", GetType(Integer)) - TmpDTOS.Columns.Add("Clasificacion", GetType(String)) - TmpDTOS.Columns.Add("CvePS", GetType(Integer)) - TmpDTOS.Columns.Add("CveUM", GetType(Integer)) - TmpDTOS.Columns.Add("UM", GetType(String)) - TmpDTOS.Columns.Add("Cantidad", GetType(Integer)) - TmpDTOS.Columns.Add("PS", GetType(String)) - TmpDTOS.Columns.Add("Especificaciones", GetType(String)) - TmpDTOS.Columns.Add("Materiales", GetType(String)) - TmpDTOS.Columns.Add("CveCuentaEquipo", GetType(Integer)) - TmpDTOS.Columns.Add("Observaciones", GetType(String)) - TmpDTOS.Columns.Add("FechaAtencion", GetType(String)) - TmpDTOS.Columns.Add("CveUsuarioAtendio", GetType(Integer)) - TmpDTOS.Columns.Add("UsuarioAtendio", GetType(String)) - TmpDTOS.Columns.Add("FechaTermino", GetType(String)) - TmpDTOS.Columns.Add("FechaEntrega", GetType(String)) - TmpDTOS.Columns.Add("CveUsuarioEntrego", GetType(Integer)) - TmpDTOS.Columns.Add("UsuarioEntrego", GetType(String)) - TmpDTOS.Columns.Add("SeFacturara", GetType(String)) - TmpDTOS.Columns.Add("SeSuperviso", GetType(String)) - TmpDTOS.Columns.Add("Estatus", GetType(String)) - TmpDTOS.Columns.Add("Archivo", GetType(String)) - TmpDTOS.Columns.Add("ComentarioTecnico", GetType(String)) - - - Dim TmpDTMaterialesOS = New DataTable - TmpDTMaterialesOS.Columns.Add("CveOSDetalle", GetType(Integer)) - TmpDTMaterialesOS.Columns.Add("CveConsecutivo", GetType(Integer)) - TmpDTMaterialesOS.Columns.Add("CveConsecutivoDetalle", GetType(Integer)) - TmpDTMaterialesOS.Columns.Add("CveMaterial", GetType(Integer)) - TmpDTMaterialesOS.Columns.Add("Cantidad", GetType(Integer)) - TmpDTMaterialesOS.Columns.Add("CveClasificacion", GetType(Integer)) - TmpDTMaterialesOS.Columns.Add("CvePS", GetType(String)) - TmpDTMaterialesOS.Columns.Add("CveUM", GetType(String)) - TmpDTMaterialesOS.Columns.Add("Clasificacion", GetType(String)) - TmpDTMaterialesOS.Columns.Add("PS", GetType(String)) - TmpDTMaterialesOS.Columns.Add("UM", GetType(String)) - - Dim FolioOS As String = "" - - Dim RutaReporte As New System.IO.FileInfo(String.Format("{0}Formatos/OrdenServicio.rdlc", UsuarioActual.Empresa.Ruta)) - - If ObjOS.GetOrdenesServicios(CveOS, -1, -1, -1, -1, UsuarioActual.CveEmpresa) Then - If ObjOS.DtResultados.Rows.Count > 0 Then - - Dim dtOS As DataTable = ObjOS.DtResultados - Dim dr As DataRow = dtOS.Rows(0) - params.Add(New ReportParameter("Cliente", dr("Cliente").ToString)) - params.Add(New ReportParameter("Solicito", dr("PersonaSolicito").ToString)) - params.Add(New ReportParameter("Descripcion", dr("Descripcion").ToString)) - params.Add(New ReportParameter("Recibio", UsuarioActual.Nombre)) - params.Add(New ReportParameter("FechaRecibido", dr("FechaRecepcion").ToString.ToDate.ToString("dd/MM/yyyy"))) - params.Add(New ReportParameter("FolioOS", dr("Folio").ToString)) - params.Add(New ReportParameter("ClienteTelefono", dr("Telefono").ToString)) - params.Add(New ReportParameter("ClienteCalle", dr("Direccion").ToString)) - params.Add(New ReportParameter("ClienteColonia", dr("Colonia").ToString)) - params.Add(New ReportParameter("ClienteCiudad", dr("Ciudad").ToString)) - params.Add(New ReportParameter("ClienteEstado", dr("Estado").ToString)) - CveFolio = dr("Folio").ToString - - 'If RutaReporte.Exists Then - params.Add(New ReportParameter("NoDeCliente", dr("CveCliente").ToString)) - params.Add(New ReportParameter("RFC", dr("RFC").ToString)) - params.Add(New ReportParameter("Vendedor", " ")) - params.Add(New ReportParameter("Correo", dr("Correo").ToString)) - params.Add(New ReportParameter("CodigoDeServicio", dr("CveOS").ToString)) - params.Add(New ReportParameter("Sucursal", dr("SubProyecto").ToString)) - params.Add(New ReportParameter("TipoServicio", dr("TipoServicio").ToString)) - params.Add(New ReportParameter("TipoEquipo", dr("TipoEquipo").ToString)) - 'params.Add(New ReportParameter("Descripcion", dr("Descripcion").ToString)) - params.Add(New ReportParameter("Copia", "Copia: Original")) - params.Add(New ReportParameter("Equipo", dr("Equipo").ToString)) - - params.Add(New ReportParameter("DireccionOS", dr("DireccionOS").ToString)) - params.Add(New ReportParameter("Telefono", dr("Telefono").ToString)) - params.Add(New ReportParameter("CorreoOS", dr("CorreoOS").ToString)) - - params.Add(New ReportParameter("ModeloMarca", dr("ModeloMarca").ToString)) - params.Add(New ReportParameter("Año", dr("Año").ToString)) - params.Add(New ReportParameter("TelefonoContacto", dr("TelefonoContacto").ToString)) - - params.Add(New ReportParameter("FechaImpresion", NowADS().ToString("dd/MM/yyyy"))) - params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Usuario)) - params.Add(New ReportParameter("Condiciones", dr("Condiciones").ToString)) - params.Add(New ReportParameter("FechaAtencion", If(dr("FechaInicio").ToString.Length > 0, dr("FechaInicio").ToString.ToDate.ToString("dd/MM/yyyy hh:mm tt"), ""))) - params.Add(New ReportParameter("TecnicoAsignado", dr("UsuarioAtendio").ToString)) - - 'End If - - End If - End If - - Dim Imagen As New System.IO.FileInfo($"{UsuarioActual.Empresa.Ruta}/Logo.png") - - If Not RutaReporte.Exists Then - - RutaReporte = New System.IO.FileInfo(String.Format("{0}Empresas\Grales\Formatos\OrdenServicio.rdlc", ModExtensiones.DirectorioBaseEmpresas)) - - params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa)) - params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre)) - params.Add(New ReportParameter("FechaImpresion", NowADS().ToDateTime.ToShortDateString)) - params.Add(New ReportParameter("LogoPath", If(Imagen.Exists, $"file://{Imagen.FullName}", ""))) - - End If - - - If ObjOS.GetOrdenesServiciosDetalle(CveOS) Then - TmpDTMaterialesOS = ObjOS.DtResultados - End If - - Dim lrds As New List(Of ReportDataSource) - Dim rds As New ReportDataSource With {.Name = "DataSet2", .Value = TmpDTMaterialesOS} - Dim rds2 As New ReportDataSource With {.Name = "DataSet1", .Value = TmpDTMaterialesOS} - - lrds.Add(rds) - lrds.Add(rds2) - ObjOS.Dispose() - - Dim ReporteByte As Byte() = StreamPDF(RutaReporte.FullName, lrds, params, NombreArchivo:=String.Format("OrdenServicio-{0}", CveFolio)) - - If ReporteByte IsNot Nothing Then - Try - ViewState("Para") = CorreoUsuarioAsignado - ViewState("ArrayCC") = "" - ViewState("Asunto") = "Asinación Orden de Servicio" - ViewState("FolioOSMail") = FolioOS - ViewState("Body") = "Asinación Orden de Servicio" - - - ViewState("bytesOS") = ReporteByte - Dim Hilo As New Threading.Thread(AddressOf SendmailOS) - Hilo.Start() - Catch ex As Exception - GuardaLogAD($"Error al enviar correo de OS {ex.StackTrace}") - End Try - End If - - End Sub - - Private Sub SendmailOS() - - Dim Asunto, Para, ArrayCC, Body As String - Asunto = If(IsNothing(ViewState("Asunto")), "", ViewState("Asunto").ToString) - Para = If(IsNothing(ViewState("Para")), "", ViewState("Para").ToString) - ArrayCC = If(IsNothing(ViewState("ArrayCC")), "", ViewState("ArrayCC").ToString) - - Body = If(IsNothing(ViewState("Body")), "", ViewState("Body").ToString) - - - Dim Mail As New ClsSisMail() - Dim LSRutasMail As New List(Of ClsSisMail.ArchivoMail) - LSRutasMail.Add(New ClsSisMail.ArchivoMail With {.NombreArchivo = $"OS_{ViewState("FolioOSMail") }.pdf", .ArchivoBinario = DirectCast(ViewState("bytesOS"), Byte())}) - Mail.SendMail(ClsPaginas.EmpresaNotificaciones, Para, Asunto, Body, ArrayCC, LSRutasMail) - - End Sub - Private Sub GetCargaTiposOrden() Dim ObjOS As New ClsOS @@ -1113,120 +735,5 @@ Partial Class OS_RepServiciosMedicos End Sub - Protected Sub DdlTecnicoAsignar_SelectedIndexChanged(sender As Object, e As EventArgs) - - If TipoAccion = OSModalTipoAccion.Asignacion Then - - - 'DdlTecnicoAsignar.Visible = True - 'RfvDdlTecnicoAsignar.Visible = True - 'VCERfvDdlTecnicoAsignar.Visible = True - - 'RfvTxtModalFechaOS.Visible = True - 'VceRfvTxtModalFechaOS.Enabled = True - ElseIf TipoAccion = OSModalTipoAccion.Agregar Or TipoAccion = OSModalTipoAccion.Actualizacion Then - - 'DdlTecnicoAsignar.Visible = False - 'RfvDdlTecnicoAsignar.Visible = False - ' VCERfvDdlTecnicoAsignar.Visible = False - - 'RfvTxtModalFechaOS.Visible = False - 'VceRfvTxtModalFechaOS.Enabled = False - - End If - - UpModalOS.Update() - - End Sub - - Private Sub CargaClientePublicoGeneral() - - Dim ObjCliente As New ClsClientes() - - If ObjCliente.GetClientes(-1, "PUBLICO EN GENERAL", "-1", "-1", "-1", "-1", "-1", -1, UsuarioActual.CveEmpresa, -1) Then - - If ObjCliente.DtResultados.Rows.Count > 0 Then - Me.CveClientePublicoGeneral = ObjCliente.CveCliente - Me.NombreClientePublicoGeneral = ObjCliente.Nombre - End If - End If - ObjCliente.Dispose() - - End Sub - - - Protected Sub DdlTecnicoAsignar_SelectedIndexChanged1(sender As Object, e As EventArgs) - ValidaHorarioNoOperativo() - End Sub - - Protected Sub LnkValidaHorarioNoOperativo_Click(sender As Object, e As EventArgs) - ValidaHorarioNoOperativo() - End Sub - - Private Sub ValidaHorarioNoOperativo() - If DdlTecnicoAsignar.SelectedValue.ToEntero > 0 Then - - Dim objOS As New ClsOS - Dim DTHorarios As New DataTable - - If objOS.GetOrdenesServiciosTecnicoHorarioNoOperativo(DdlTecnicoAsignar.SelectedValue.ToEntero, UsuarioActual.CveEmpresa) Then - DTHorarios = objOS.DtResultados - End If - objOS.Dispose() - - If DTHorarios IsNot Nothing AndAlso DTHorarios.Rows.Count > 0 Then - - Dim HoraInicio As TimeSpan = DTHorarios.Rows(0)("HoraInicio").ToString.ToDate.TimeOfDay - Dim HoraFin As TimeSpan = DTHorarios.Rows(0)("HoraFin").ToString.ToDate.TimeOfDay - Dim HoraAsignacion As TimeSpan = TxtFechaOS.Text.ToDate.TimeOfDay - - If HoraAsignacion >= HoraInicio And HoraAsignacion <= HoraFin Then - Alert($"La hora especificada esta dentro del horario no operativo del Técnico {HoraInicio.ToString()} a {HoraFin.ToString()} .", TipoMensaje.MsgAdvertencia) - End If - End If - 'ViewState("Validando") = Nothing - - End If - End Sub - - Protected Sub LnkCancelarOrden_Click(sender As Object, e As EventArgs) - - RegistraScript($"$('#{TxtModalCancelarOrdenMotivo.ClientID}').focus();;$('#DVModalCancelacionOrden').modal('show');") - - TxtModalCancelarOrdenMotivo.Focus() - TxtModalCancelarOrdenMotivo.Text = "" - UpmodalCacelaOrden.Update() - - End Sub - - - - Protected Sub LnkmodalCancelarORdenServicio_Click(sender As Object, e As EventArgs) - - Dim TieneError As Boolean = True - Dim CveOS As Integer = HFCveOS.Value.ToEntero - Dim objOS As New ClsOS - Dim ObjEventoBitacora As New ClsOIEventos(objOS.IniciaTransacSQL) - If objOS.UpdateOrdenesServiciosFinaliza(CveOS, -1, -1, UsuarioActual.CveEmpresa, Opcion:=2) Then 'Opcion:=2 Es para cancelar - If ObjEventoBitacora.AddEventoBitacora($"Motivo Cancelación: {TxtModalCancelarOrdenMotivo.Text.Trim}", "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, CveOS, -1, -1, -1, -1) Then - TieneError = False - End If - End If - - If TieneError Then - objOS.RollBack() - Else - objOS.Commit() - End If - - objOS.Dispose() - - - If Not TieneError Then - Alert("Orden Cancelada Correctamente", TipoMensaje.MsgInformacion, "location.reload(true);") - RegistraScript("$('#DVModalCancelacionOrden').modal('hide');") - RegistraScript("$('#DVModalFinalizarOrden').modal('hide');") - End If - End Sub End Class diff --git a/Transportes/RepContratosCalendario.aspx b/Transportes/RepContratosCalendario.aspx index e099a267b..fc5d4ebea 100644 --- a/Transportes/RepContratosCalendario.aspx +++ b/Transportes/RepContratosCalendario.aspx @@ -722,7 +722,6 @@ let mes = parseInt($('#<%=HidCurrentMonth.ClientID%>').val()); let anio = parseInt($('#<%=HidCurrentYear.ClientID%>').val()); - Calendario(mes,anio); }); diff --git a/Transportes/RepContratosCalendario.aspx.vb b/Transportes/RepContratosCalendario.aspx.vb index beaf9c67a..0df284b3b 100644 --- a/Transportes/RepContratosCalendario.aspx.vb +++ b/Transportes/RepContratosCalendario.aspx.vb @@ -31,10 +31,10 @@ Partial Class RepContratosCalendario Public Property CveContrato As Integer Get - Return IfNull(ViewState("CveContrato"), "").ToString.ToEntero + Return HdnCveContrato.Value.ToEntero End Get Set(value As Integer) - ViewState("CveContrato") = value + HdnCveContrato.Value = value.ToString End Set End Property @@ -244,7 +244,8 @@ Partial Class RepContratosCalendario DdlChofer.SelectedValueExist(GvRow.DataKey("CveChofer")) DdlChofer2.SelectedValueExist(GvRow.DataKey("CveChofer2")) DdlEstatusContrato.SelectedValue = GvRow.DataKey("CveContratosEstatus") - + CveContrato = GvRow.DataKey("CveContrato").ToEntero + UpModal.Update() RegistraScript("$('#ModalActualizar').modal('show');") End Sub diff --git a/Ventas/PV.aspx.vb b/Ventas/PV.aspx.vb index 1dd7fefbf..31faf3fc8 100644 --- a/Ventas/PV.aspx.vb +++ b/Ventas/PV.aspx.vb @@ -1353,6 +1353,7 @@ Partial Class PV DdlMarcaPS.DataSource = GlobalDTGralMarcas(UsuarioActual.CveEmpresa) DdlMarcaPS.DataBind() + DdlMarcaPSAjuste.DataSource = GlobalDTGralMarcas(UsuarioActual.CveEmpresa) DdlMarcaPSAjuste.DataBind() DdlMarcaUsado.DataBind() @@ -3344,7 +3345,6 @@ Partial Class PV End If ObjVentas.Dispose() - Dim ObjInventarios As New ClsInventarios Dim PU As Decimal = 0 For Each dr As DataRow In TmpDT.Rows diff --git a/Ventas/RepPedidosSTF.aspx b/Ventas/RepPedidosSTF.aspx index b783ed353..4bea386f3 100644 --- a/Ventas/RepPedidosSTF.aspx +++ b/Ventas/RepPedidosSTF.aspx @@ -68,6 +68,44 @@
+ @@ -82,12 +120,13 @@ - - + + + - - - + + + diff --git a/Ventas/RepPedidosSTF.aspx.vb b/Ventas/RepPedidosSTF.aspx.vb index f9974ffa5..d32d8d548 100644 --- a/Ventas/RepPedidosSTF.aspx.vb +++ b/Ventas/RepPedidosSTF.aspx.vb @@ -15,6 +15,9 @@ Partial Class Ventas_RepPedidosSTF Private Sub CargaCombos() + txtFechaI.Text = NowADS.FirstDayOfMonth.ToShortDateString + txtFechaF.Text = NowADS.LastDayOfMonth.ToShortDateString + CargarCentrosDeCosto(DdlProyecto, DdlSubProyecto, LblProyecto, LblSubProyecto, divProyecto:=DivProyecto) 'Vendedor @@ -37,6 +40,8 @@ Partial Class Ventas_RepPedidosSTF If TabG.ActiveTabIndex = 1 Then ' entregados Opcion = 2 + FechaInicio = txtFechaI.Text.ToDate + FechaFin = txtFechaF.Text.ToDate Dim ObjVentas As New ClsVentas If ObjVentas.GetRepPedidosSTF(DdlSubProyecto.SelectedValue.ToEntero, DdlVendedor.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, Opcion, FechaInicio, FechaFin) Then GvE.DataSource = ObjVentas.DtResultados