diff --git a/App_Code/ClsCRM.vb b/App_Code/ClsCRM.vb index 7227fdf29..1fb7574c9 100644 --- a/App_Code/ClsCRM.vb +++ b/App_Code/ClsCRM.vb @@ -1102,7 +1102,8 @@ Public Class ClsCRM End Function Public Function RepAcercamientosDetalle(CveEmpresa As Int32, cveVendedor As Int32, cveMedioCaptacion As Int32, cveProbabilidadAcercamiento As Int32, cveEtapaProceso As Int32, sFecha As String, sFechaIni As String, - sFechaFin As String, Optional CveTipoProceso As Integer = -1, Optional CveRechazoMotivo As Integer = -1) As Boolean + sFechaFin As String, Optional CveTipoProceso As Integer = -1, Optional CveRechazoMotivo As Integer = -1, Optional EnPausa As Integer = -1, Optional CveGiroClasificacion As Integer = -1, + Optional EsRechazo As Boolean = False) As Boolean Dim retorno As Boolean = False DataAdapter("PA_CRM_RepAcercamientosDetalle", CommandType.StoredProcedure) With SqlAdapter.SelectCommand.Parameters @@ -1116,6 +1117,9 @@ Public Class ClsCRM .Add("@SFechaFin", SqlDbType.VarChar).Value = sFechaFin .Add("@CveTipoProceso", SqlDbType.Int).Value = CveTipoProceso .Add("@CveRechazoMotivo", SqlDbType.Int).Value = CveRechazoMotivo + .Add("@EnPausa", SqlDbType.Int).Value = EnPausa + .Add("@CveGiroClasificacion", SqlDbType.Int).Value = CveGiroClasificacion + .Add("@EsRechazo", SqlDbType.Bit).Value = EsRechazo End With Try SqlAdapter.Fill(Data) diff --git a/App_Code/ClsCompras.vb b/App_Code/ClsCompras.vb index 4ca46507c..5d751b497 100644 --- a/App_Code/ClsCompras.vb +++ b/App_Code/ClsCompras.vb @@ -904,7 +904,8 @@ Public Class ClsCompras Public Function GetRepProductosServicios(CveProyecto As Integer, CveSubProyecto As String, CveCategoria As String, CveClasificacion As Integer, CvePS As Integer, FechaI As Date, FechaF As Date, CveProveedor As Integer, CveUsuario As Integer, CveEstatus As Integer, CveEmpresa As Integer, Gpo As Integer, CveFamilia As Integer, CveSubFamilia As Integer, CveTipoActivoFijo As String, CveSubTipoActivoFijo As String, CveActivoFijo As Integer, TipoCambio As Integer, Optional TCEspecifico As Double = -1, Optional TipoGasto As String = "-1", - Optional CveUsuarioConsulta As Integer = -1, Optional TipoDocto As String = "-1", Optional Deducible As Integer = -1, Optional CveCultivo As String = "-1") As Boolean + Optional CveUsuarioConsulta As Integer = -1, Optional TipoDocto As String = "-1", Optional Deducible As Integer = -1, Optional CveCultivo As String = "-1", + Optional CveTipoProveedor As Integer = -1, Optional CveProveedorClasificacion As Integer = -1) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Comp_GetRepPS") @@ -934,6 +935,8 @@ Public Class ClsCompras .Add("@TipoDocto", SqlDbType.VarChar).Value = TipoDocto .Add("@Deducible", SqlDbType.Int).Value = Deducible .Add("@CveCultivo", SqlDbType.VarChar).Value = CveCultivo + .Add("@CveTipoProveedor", SqlDbType.VarChar).Value = CveTipoProveedor + .Add("@CveProveedorClasificacion", SqlDbType.VarChar).Value = CveProveedorClasificacion End With diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb index 27356ad4f..3674d029d 100644 --- a/App_Code/ClsPaginas.vb +++ b/App_Code/ClsPaginas.vb @@ -4989,6 +4989,7 @@ Public Class ClsPaginas PaginaDict.Add("/General/CatMedidas.aspx".ToUpper(), 712) PaginaDict.Add("/General/CatSatListado69B.aspx".ToUpper, 1038) PaginaDict.Add("/General/CatMedidaEquivalencia.aspx".ToUpper(), 773) + PaginaDict.Add("/General/RepIndicadorResumen.aspx".ToUpper(), 110) #End Region @@ -7185,7 +7186,7 @@ Public Class ClsPaginas CEId = "" Try - CEId = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).SelectSingleNode("//cce11:Destinatario", namespaces).Attributes("NumRegIdTrib").InnerText 'XmlDoc.SelectNodes("//cfdi:Complemento/tfd:TimbreFiscalDigital/cce11:Destinatario") + CEId = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).SelectSingleNode("//cce11:Receptor", namespaces).Attributes("NumRegIdTrib").InnerText 'XmlDoc.SelectNodes("//cfdi:Complemento/tfd:TimbreFiscalDigital/cce11:Destinatario") Catch ex As Exception End Try @@ -8217,7 +8218,7 @@ Public Class ClsPaginas TmpDTImpuestos.Columns.Add("Importe", GetType(Double)) TmpDTImpuestos.Columns.Add("Orden", GetType(Integer)) - If ObjVentas.GetVenta(CveVenta, UsuarioActual.CveEmpresa) AndAlso ObjVentas.DtResultados.Rows.Count > 0 Then + If ObjVentas.GetVenta(CveVenta, UsuarioActual.CveEmpresa, False) AndAlso ObjVentas.DtResultados.Rows.Count > 0 Then Dim dtVentas As DataTable = ObjVentas.DtResultados ' se rellenan los campos de la factura diff --git a/CRM/Acercamiento.aspx b/CRM/Acercamiento.aspx index c17f410ef..3345c66c5 100644 --- a/CRM/Acercamiento.aspx +++ b/CRM/Acercamiento.aspx @@ -77,6 +77,11 @@ .MultiLineTextBox { resize: none; } + + + .listTerminado{ + text-decoration: line-through; + } - - - - - - Textbox1 - - - - Black - - 1pt - - - Black - - 1pt - - - Black - - 1pt - - - Black - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - CODIGO - - - - - - - Textbox7 - - - - Black - - 1pt - - - Black - - 1pt - - - Black - - 1pt - - - Black - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - D E S C R I P C I O N - - - - - - - Textbox9 - - - - Black - - 1pt - - - Black - - 1pt - - - Black - - 1pt - - - Black - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - OBSERVACIONES - - - - - - - Textbox1 - - - - Black - - 1pt - - - Black - - 1pt - - - Black - - 1pt - - - Black - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - P. UNITARIO - - - - - - - Textbox13 - - - - Black - - 1pt - - - Black - - 1pt - - - Black - - 1pt - - - Black - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - IMPORTE - - - - - - - Textbox5 - - - - Black - - 1pt - - - Black - - 1pt - - - Black - - 1pt - - - Black - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - - - - - 0.25in - - - - - true - true - - - - - =Fields!Cantidad.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!Codigo.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!PS.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!Obs.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!PU.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!Cantidad.Value*Fields!PU.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - - - - - - - - - - - - - - - After - - - - - - - DsOC - 2.2762in - 0.23429in - 0.5in - 6.93425in - - - - - - true - true - - - - - C O T I Z A C I O N - - - - - - - Textbox3 - 0.19535in - 1.54477in - 0.6cm - 14.42497cm - 1 - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!ClienteCodigo.Value - - - - - - - - - - - - - - - - =Parameters!ClienteTelefono.Value - - - - - - - =Parameters!ClienteContacto.Value - - - - - - - Black - - 1pt - - - Black - - 1pt - - - Black - - 1pt - - - Black - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - FECHA: - - - - =Parameters!FechaSolicitud.Value - - - - - - - =Parameters!VendedorNombre.Value - - - - - - - =Parameters!Folio.Value - - - - - - - - - - - =Parameters!ClienteContactoMail.Value - - - - - - - =Parameters!Status.Value - - - - - - - Black - - 1pt - - - Black - - 1pt - - - Black - - 1pt - - - Black - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - ATENDIENDO A SU AMABLE PETICION ESTAMOS PRESENTANDO COTIZACION POR EL SIGUIENTE SERVICIO: - - - - - - - Textbox8 - 4.8906cm - 0.21762in - 0.74984cm - 14.80195cm - 4 - - - Bottom - 2pt - 2pt - 2pt - 2pt - - - - Embedded - VSH - FitProportional - 0.59509cm - 1.65182cm - 2.95521cm - 5 - - - - - - true - true - - - - - Datos Cliente - - - - - - - Black - - 1pt - - - Black - - 1pt - - - Black - - 1pt - - - Black - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Datos Factura - - - - - - - Black - - 1pt - - - Black - - 1pt - - - Black - - 1pt - - - Black - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - I.V.A. - - - - - - - Textbox20 - 9.09726cm - 14.02872cm - 0.45183cm - 2.5cm - 8 - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - TOTAL: - - - - - - - Textbox20 - 9.5491cm - 14.02872cm - 0.45183cm - 2.5cm - 9 - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - SUB-TOTAL: - - - - - - - Textbox20 - 8.64543cm - 14.02872cm - 0.45183cm - 2.5cm - 10 - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!IVA.Value - - - - - - - Textbox20 - 9.09726cm - 16.52872cm - 0.45183cm - 2.5cm - 11 - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!Total.Value - - - - - - - Textbox20 - 9.5491cm - 16.52872cm - 0.45183cm - 2.5cm - 12 - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!SubTotal.Value - - - - - - - Textbox20 - 8.64543cm - 16.52872cm - 0.45183cm - 2.5cm - 13 - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - DESCUENTO: - - - - - - - Textbox20 - 8.1936cm - 14.02872cm - 0.45183cm - 2.5cm - 14 - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!Descuento.Value - - - - - - - Textbox20 - 8.1936cm - 16.52872cm - 0.45183cm - 2.5cm - 15 - - - 2pt - 2pt - 2pt - 2pt - - - - true - - - - - =Parameters!ImporteLetra.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - 10.62098cm - 0cm - 19.08683cm - 17 - - - - - - true - true - - - - - =Parameters!Observaciones.Value - - - - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - A T E N T A M E N T E - - - - - - - - - - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Tel.- - - - - =Parameters!VendedorTelefono.Value - - - - Cel.- - - - - =Parameters!VendedorCelular.Value - - - - - - - - =Parameters!VendedorMail.Value - - - - - - - - - 2pt - 2pt - 2pt - 2pt - - - - 5.93748in - - - - - - - - =Today - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - 11.69in - 8.27in - 0.25in - 0.25in - 0.25in - 0.5in - + + + + + + Textbox1 + + + + Black + + 1pt + + + Black + + 1pt + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + CODIGO + + + + + + + Textbox7 + + + + Black + + 1pt + + + Black + + 1pt + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + D E S C R I P C I O N + + + + + + + Textbox9 + + + + Black + + 1pt + + + Black + + 1pt + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + OBSERVACIONES + + + + + + + Textbox1 + + + + Black + + 1pt + + + Black + + 1pt + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + P. UNITARIO + + + + + + + Textbox13 + + + + Black + + 1pt + + + Black + + 1pt + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + IMPORTE + + + + + + + Textbox5 + + + + Black + + 1pt + + + Black + + 1pt + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.25in + + + + + true + true + + + + + =Fields!Cantidad.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!Codigo.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!PS.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!Obs.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!PU.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!Cantidad.Value*Fields!PU.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + + + + + + + + + + + + After + + + + + + + DsOC + 2.2762in + 0.23429in + 0.5in + 6.93425in + + + + + + true + true + + + + + C O T I Z A C I O N + + + + + + + Textbox3 + 0.19535in + 1.54477in + 0.6cm + 14.42497cm + 1 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!ClienteCodigo.Value + + + + + + + + + + + + + + + + =Parameters!ClienteTelefono.Value + + + + + + + =Parameters!ClienteContacto.Value + + + + + + + Black + + 1pt + + + Black + + 1pt + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + FECHA: + + + + =Parameters!FechaSolicitud.Value + + + + + + + =Parameters!VendedorNombre.Value + + + + + + + =Parameters!Folio.Value + + + + + + + + + + + =Parameters!ClienteContactoMail.Value + + + + + + + =Parameters!Status.Value + + + + + + + Black + + 1pt + + + Black + + 1pt + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + ATENDIENDO A SU AMABLE PETICION ESTAMOS PRESENTANDO COTIZACION POR EL SIGUIENTE SERVICIO: + + + + + + + Textbox8 + 4.8906cm + 0.21762in + 0.74984cm + 14.80195cm + 4 + + + Bottom + 2pt + 2pt + 2pt + 2pt + + + + Embedded + VSH + FitProportional + 0.59509cm + 1.65182cm + 2.95521cm + 5 + + + + + + true + true + + + + + Datos Cliente + + + + + + + Black + + 1pt + + + Black + + 1pt + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Datos Factura + + + + + + + Black + + 1pt + + + Black + + 1pt + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + I.V.A. + + + + + + + Textbox20 + 9.09726cm + 14.02872cm + 0.45183cm + 2.5cm + 8 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + TOTAL: + + + + + + + Textbox20 + 9.5491cm + 14.02872cm + 0.45183cm + 2.5cm + 9 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + SUB-TOTAL: + + + + + + + Textbox20 + 8.64543cm + 14.02872cm + 0.45183cm + 2.5cm + 10 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!IVA.Value + + + + + + + Textbox20 + 9.09726cm + 16.52872cm + 0.45183cm + 2.5cm + 11 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!Total.Value + + + + + + + Textbox20 + 9.5491cm + 16.52872cm + 0.45183cm + 2.5cm + 12 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!SubTotal.Value + + + + + + + Textbox20 + 8.64543cm + 16.52872cm + 0.45183cm + 2.5cm + 13 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + DESCUENTO: + + + + + + + Textbox20 + 8.1936cm + 14.02872cm + 0.45183cm + 2.5cm + 14 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!Descuento.Value + + + + + + + Textbox20 + 8.1936cm + 16.52872cm + 0.45183cm + 2.5cm + 15 + + + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + =Parameters!ImporteLetra.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + 10.62098cm + 0cm + 19.08683cm + 17 + + + + + + true + true + + + + + =Parameters!Observaciones.Value + + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + A T E N T A M E N T E + + + + + + + + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Tel.- + + + + =Parameters!VendedorTelefono.Value + + + + Cel.- + + + + =Parameters!VendedorCelular.Value + + + + + + + + =Parameters!VendedorMail.Value + + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + 5.93748in + + + + + + + + =Today + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 11.69in + 8.27in + 0.25in + 0.25in + 0.25in + 0.5in + - - - - - #4f81bd - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Sello digital del SAT: - - - - - - #4f81bd - 2pt - 2pt - 2pt - 2pt - - - - true - 9.74563cm - 4.02751cm - 5.4cm - 3.14425cm - - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - #4f81bd - - - - - - - 2.55292cm - - - 3.0262cm - - - 9.76834cm - - - 2.55292cm - - - 2.63526cm - - - - - 0.49cm - - - - - true - true - - - - - Cantidad - - - - - - - Textbox24 - - - #4f81bd - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - UM - - - - - - - Textbox27 - - - #4f81bd - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Descripción - - - - - - - Textbox26 - - - #4f81bd - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - P. Unitario - - - - - - - Textbox36 - - - #4f81bd - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Importe - - - - - - - Textbox38 - - - #4f81bd - 2pt - 2pt - 2pt - 2pt - - - - - - - - 0.6cm - - - - - true - true - - - - - =Parameters!Cantidad.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Parameters!UnidadMedida.Value - - - - - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Parameters!Descripcion.Value - - - - - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Parameters!PU.Value - - - - - - - Textbox37 - - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - 2pt - 2pt - 2pt - 2pt - es-MX - - - - - - - - true - true - - - - - =Parameters!Importe.Value - - - - - - - Textbox39 - - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - 2pt - 2pt - 2pt - 2pt - es-MX - - - - - - - - - - - - - - - - - - - - - - - - DataSet2 - 3.16535cm - 0.01844cm - 1.09cm - 20.53564cm - 1 - - - - - - - - - 5.35332cm - - - 1.8cm - - - 1.8cm - - - 1.99576cm - - - 1.8cm - - - 1.99576cm - - - 2.49576cm - - - 3.2908cm - - - - - 0.49cm - - - - - true - true - - - - - UUID - - - - - - - Textbox6 - - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - #4f81bd - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Serie - - - - - - - Textbox3 - - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - #4f81bd - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Folio - - - - - - - Textbox9 - - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - #4f81bd - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Método Pago - - - - - - - Textbox13 - - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - #4f81bd - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Moneda - - - - - - - Textbox31 - - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - #4f81bd - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Num. Parc. - - - - - - - Textbox8 - - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - #4f81bd - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Saldo Anterior - - - - - - - Textbox19 - - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - #4f81bd - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Monto Pagado - - - - - - - Textbox25 - - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - #4f81bd - 2pt - 2pt - 2pt - 2pt - - - - - - - - 0.6cm - - - - - true - true - - - - - =Fields!IdDocumento.Value - - - - - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!Serie.Value - - - - - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!Folio.Value - - - - - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!MetodoDePagoDR.Value - - - - - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!MonedaDR.Value - - - - - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!NumParcialidad.Value - - - - - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!ImpSaldoAnt.Value - - - - - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - 2pt - 2pt - 2pt - 2pt - es-MX - - - - - - - - true - true - - - - - =Fields!ImpPagado.Value - - - - - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - - - - - - - - - - - - - - - - - - - - - After - - - - - - - DataSet2 - 5.19822cm - 0.01844cm - 1.09cm - 20.5314cm - 2 - - - - - - - - - 4.5cm - - - 1.74905cm - - - 1.5cm - - - 2.96606cm - - - 6.82934cm - - - 2.98695cm - - - - - 0.49cm - - - - - true - true - - - - - Fecha y hora de pago - - - - - - - Textbox45 - - - #4f81bd - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Moneda - - - - - - - Textbox21 - - - #4f81bd - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - TC - - - - - - - Textbox5 - - - #4f81bd - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Cta Ordenante - - - - - - - Textbox12 - - - #4f81bd - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Forma de Pago - - - - - - - Textbox48 - - - #4f81bd - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Total de Pago - - - - - - - Textbox50 - - - #4f81bd - 2pt - 2pt - 2pt - 2pt - - - - - - - - 0.6cm - - - - - true - true - - - - - =CDate(Fields!FechaPago.Value).ToString("dd-MM-yyyy") & "T12:00:00" - - - - - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!MonedaP.Value - - - - - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!TipoCambioP.Value - - - - - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - 2pt - 2pt - 2pt - 2pt - es-MX - - - - - - - - true - true - - - - - =Fields!CtaOrdenante.Value - - - - - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!FormaDePagoP.Value - - - - - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!Monto.Value - - - - - - - Monto - - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - 2pt - 2pt - 2pt - 2pt - es-MX - - - - - - - - 0.6cm - - - - - true - true - - - - - - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Cantidad con letra: - - - - =Parameters!CantidadLetra.Value - - - - - - - Textbox16 - - - 2pt - 2pt - 2pt - 2pt - - - 3 - - - - - - - - - - - - - - - - - - - - - - After - - - - - - Before - - - - DataSet1 - 6.73607cm - 0.01844cm - 1.69cm - 20.5314cm - 3 - - - - - - true - true - - - - - CFDI Relacionados - - - - - - - Textbox5 - 4.58762cm - 0.01844cm - 0.49cm - 20.5314cm - 4 - - - #4f81bd - 2pt - 2pt - 2pt - 2pt - - - - External - =Parameters!QR.Value - FitProportional - 3.48253in - 0.00726in - 1.3in - 1.5in - 5 - - - - - - true - true - - - - - Cadena original del complemento de certificación digital del SAT: - - - - - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - #4f81bd - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!CadenaOriginal.Value - - - - - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - No. Certificado: - - - - - - #4f81bd - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - UUID: - - - - - - #4f81bd - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!Sello.Value - - - - - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!SelloSAT.Value - - - - - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!NoCertificado.Value - - - - - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!UUIDPago.Value - - - - - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Regímen: Regímen General de Ley Personas Morales - - - - - - - - - Éste documento es una representación impresa de un CFDi - - - - - - - Textbox171 - 15.14563cm - 4.02751cm - 0.89979cm - 16.53791cm - 14 - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Datos del Cliente: - - - - - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - #4f81bd - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Cliente: - - - - - - #4f81bd - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!Cliente.Value - - - - - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!ClienteDireccion.Value - - - - , - - - - =Parameters!ClienteColonia.Value - - - - - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Dirección: - - - - - - #4f81bd - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Ciudad: - - - - - - #4f81bd - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!ClienteCiudad.Value - - - - - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!ClienteCP.Value - - - - - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - CP: - - - - - - #4f81bd - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - RFC Ordenante: - - - - - - #4f81bd - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!RFCOrdenante.Value - - - - - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - - #4f81bd - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - 16.75918cm - - - - - - - Textbox3 - 0.16028cm - 5.84339in - 0.5cm - 2.24597in - - - #4f81bd - 2pt - 2pt - 2pt - 2pt - - - - true - - - - - =Parameters!SerieFolio.Value - - - - - - - Textbox3 - 0.27143in - 5.84339in - 0.60856cm - 2.24597in - 1 - - - 2pt - 2pt - 2pt - 2pt - - - - true - - - - - Fecha Timbre - - - - - - - - - - - - - - - - Textbox3 - 0.51102in - 5.84339in - 0.5cm - 2.24597in - 2 - - - #4f81bd - 2pt - 2pt - 2pt - 2pt - - - - true - - - - - =Parameters!FechaTimbre.Value - - - - - - - Textbox3 - 0.70787in - 5.84339in - 0.25114in - 2.24597in - 3 - - - 2pt - 2pt - 2pt - 2pt - - - - true - - - - - Domicilio Fiscal - - - - - - - - - Calle Benito Juarez #32, Local 3, Col.: Hermosillo Centro C.P 83000 Hermosillo, Sonora, México Tel.:(662)210-64-00 - - - - - - - Textbox10 - 0.51102in - 2.84028in - 0.65513in - 1.79619in - 4 - - - 2pt - 2pt - 2pt - 2pt - - - - true - - - - - VSH VIGILANCIA Y PROTECCION SA DE CV - - - - - - - - - R.F.C. VVP091222RF5|Reg. Fed. DGSP/122-10/1558 - - - - - - - - - |www.vsh-seguridad.com|ventas@vsh-seguridad.com| - - - - 0cm - 0cm - - - - Textbox4 - 1.92645in - 0.51102in - 3.62386in - 5 - - - 2pt - 2pt - 2pt - 2pt - - - - Embedded - Logo2 - FitProportional - 0.01134cm - 2.88998cm - 4.56434cm - 6 - - - - - - - - - - - 0.84667cm - true - true - - - true - true - - - - - ="Página " & Globals.PageNumber & " de " & Globals.TotalPages - - - - - - - Textbox35 - 0.21343cm - 17.10903cm - 0.41981cm - 2.94979cm - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Usuario: - - - - - - - - =Parameters!UsuarioImprimio.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Fecha Impresión: - - - - - - - - =Parameters!FechaImpresion.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - 27.94cm - 21.59cm - 0.5cm - 0.5cm - 0.5cm - 0.5cm - 1.27cm - + + + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Sello digital del SAT: + + + + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + true + 10.34888cm + 4.02751cm + 5.4cm + 3.14425cm + + + + #4f81bd + + 1pt + + + #4f81bd + + 1pt + + + #4f81bd + + 1pt + + + #4f81bd + + 1pt + + #4f81bd + + + + + + + 2.55292cm + + + 3.0262cm + + + 9.76834cm + + + 2.55292cm + + + 2.63526cm + + + + + 0.49cm + + + + + true + true + + + + + Cantidad + + + + + + + Textbox24 + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + UM + + + + + + + Textbox27 + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Descripción + + + + + + + Textbox26 + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + P. Unitario + + + + + + + Textbox36 + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Importe + + + + + + + Textbox38 + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.6cm + + + + + true + true + + + + + =Parameters!Cantidad.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Parameters!UnidadMedida.Value + + + + + + + #4f81bd + + 1pt + + + #4f81bd + + 1pt + + + #4f81bd + + 1pt + + + #4f81bd + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Parameters!Descripcion.Value + + + + + + + #4f81bd + + 1pt + + + #4f81bd + + 1pt + + + #4f81bd + + 1pt + + + #4f81bd + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Parameters!PU.Value + + + + + + + Textbox37 + + + + #4f81bd + + 1pt + + + #4f81bd + + 1pt + + + #4f81bd + + 1pt + + + #4f81bd + + 1pt + + 2pt + 2pt + 2pt + 2pt + es-MX + + + + + + + + true + true + + + + + =Parameters!Importe.Value + + + + + + + Textbox39 + + + + #4f81bd + + 1pt + + + #4f81bd + + 1pt + + + #4f81bd + + 1pt + + + #4f81bd + + 1pt + + 2pt + 2pt + 2pt + 2pt + es-MX + + + + + + + + + + + + + + + + + + + + + + + + DataSet2 + 3.48285cm + 0.01844cm + 1.09cm + 20.53564cm + 1 + + + + + + + + + 4.5cm + + + 1.74905cm + + + 1.5cm + + + 2.96606cm + + + 6.82934cm + + + 2.98695cm + + + + + 0.49cm + + + + + true + true + + + + + Fecha y hora de pago + + + + + + + Textbox45 + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Moneda + + + + + + + Textbox21 + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + TC + + + + + + + Textbox5 + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Cta Ordenante + + + + + + + Textbox12 + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Forma de Pago + + + + + + + Textbox48 + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Total de Pago + + + + + + + Textbox50 + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.6cm + + + + + true + true + + + + + =CDate(Fields!FechaPago.Value).ToString("dd-MM-yyyy") & "T12:00:00" + + + + + + + #4f81bd + + 1pt + + + #4f81bd + + 1pt + + + #4f81bd + + 1pt + + + #4f81bd + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!MonedaP.Value + + + + + + + #4f81bd + + 1pt + + + #4f81bd + + 1pt + + + #4f81bd + + 1pt + + + #4f81bd + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!TipoCambioP.Value + + + + + + + #4f81bd + + 1pt + + + #4f81bd + + 1pt + + + #4f81bd + + 1pt + + + #4f81bd + + 1pt + + 2pt + 2pt + 2pt + 2pt + es-MX + + + + + + + + true + true + + + + + =Fields!CtaOrdenante.Value + + + + + + + #4f81bd + + 1pt + + + #4f81bd + + 1pt + + + #4f81bd + + 1pt + + + #4f81bd + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!FormaDePagoP.Value + + + + + + + #4f81bd + + 1pt + + + #4f81bd + + 1pt + + + #4f81bd + + 1pt + + + #4f81bd + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!Monto.Value + + + + + + + Monto + + + + #4f81bd + + 1pt + + + #4f81bd + + 1pt + + + #4f81bd + + 1pt + + + #4f81bd + + 1pt + + 2pt + 2pt + 2pt + 2pt + es-MX + + + + + + + + 0.6cm + + + + + true + true + + + + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Cantidad con letra: + + + + =Parameters!CantidadLetra.Value + + + + + + + Textbox16 + + + 2pt + 2pt + 2pt + 2pt + + + 3 + + + + + + + + + + + + + + + + + + + + + + After + + + + + + Before + + + + DataSet1 + 7.33932cm + 0.01844cm + 1.69cm + 20.5314cm + 2 + + + + + + true + true + + + + + CFDI Relacionados + + + + + + + Textbox5 + 4.90512cm + 0.01844cm + 0.49cm + 20.5314cm + 3 + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + External + =Parameters!QR.Value + FitProportional + 3.72003in + 0.00726in + 1.3in + 1.5in + 4 + + + + + + true + true + + + + + Cadena original del complemento de certificación digital del SAT: + + + + + + + #4f81bd + + 1pt + + + #4f81bd + + 1pt + + + #4f81bd + + 1pt + + + #4f81bd + + 1pt + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!CadenaOriginal.Value + + + + + + + #4f81bd + + 1pt + + + #4f81bd + + 1pt + + + #4f81bd + + 1pt + + + #4f81bd + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + No. Certificado: + + + + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + UUID: + + + + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!Sello.Value + + + + + + + #4f81bd + + 1pt + + + #4f81bd + + 1pt + + + #4f81bd + + 1pt + + + #4f81bd + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!SelloSAT.Value + + + + + + + #4f81bd + + 1pt + + + #4f81bd + + 1pt + + + #4f81bd + + 1pt + + + #4f81bd + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!NoCertificado.Value + + + + + + + #4f81bd + + 1pt + + + #4f81bd + + 1pt + + + #4f81bd + + 1pt + + + #4f81bd + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!UUIDPago.Value + + + + + + + #4f81bd + + 1pt + + + #4f81bd + + 1pt + + + #4f81bd + + 1pt + + + #4f81bd + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Regímen: Regímen General de Ley Personas Morales + + + + + + + + + Éste documento es una representación impresa de un CFDi + + + + + + + Textbox171 + 15.74888cm + 4.02751cm + 0.89979cm + 16.53791cm + 13 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Datos del Cliente: + + + + + + + #4f81bd + + 1pt + + + #4f81bd + + 1pt + + + #4f81bd + + 1pt + + + #4f81bd + + 1pt + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Cliente: + + + + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!Cliente.Value + + + + + + + #4f81bd + + 1pt + + + #4f81bd + + 1pt + + + #4f81bd + + 1pt + + + #4f81bd + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!ClienteDireccion.Value + + + + , + + + + =Parameters!ClienteColonia.Value + + + + + + + #4f81bd + + 1pt + + + #4f81bd + + 1pt + + + #4f81bd + + 1pt + + + #4f81bd + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Dirección: + + + + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Ciudad: + + + + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!ClienteCiudad.Value + + + + + + + #4f81bd + + 1pt + + + #4f81bd + + 1pt + + + #4f81bd + + 1pt + + + #4f81bd + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!ClienteCP.Value + + + + + + + #4f81bd + + 1pt + + + #4f81bd + + 1pt + + + #4f81bd + + 1pt + + + #4f81bd + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + CP: + + + + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + RFC Ordenante: + + + + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!RFCOrdenante.Value + + + + + + + #4f81bd + + 1pt + + + #4f81bd + + 1pt + + + #4f81bd + + 1pt + + + #4f81bd + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + 2.13038cm + + + 1.64459cm + + + 1.80415cm + + + 1.76995cm + + + 1.8cm + + + 1.8cm + + + 1.8cm + + + 1.99576cm + + + 2.49576cm + + + 3.2908cm + + + + + 0.56938cm + + + + + true + true + + + + + UUID + + + + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + 4 + + + + + + + + + true + true + + + + + SERIE + + + + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + FOLIO + + + + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + MONEDA + + + + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + NO.PARC. + + + + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + SALDO ANT. + + + + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + MONTO PAGADO + + + + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.43188cm + + + + + true + true + + + + + =Fields!IdDocumento.Value + + + + + + + + 4 + + + + + + + + + true + true + + + + + =Fields!Serie.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!Folio.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!MonedaDR.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!NumParcialidad.Value + + + + + + + NumParcialidad + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!ImpSaldoAnt.Value + + + + + + + ImpSaldoAnt + + + 2pt + 2pt + 2pt + 2pt + es-MX + + + + + + + + true + true + + + + + =Fields!ImpPagado.Value + + + + + + + ImpPagado + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.07938cm + + + + + true + true + + + + + Impuesto + + + + + + + Textbox108 + + =Microsoft.VisualBasic.Interaction.IIF(Fields!Tra001BaseDR.Value > 0 Or Fields!Tra002BaseDR.Value > 0 Or Fields!Tra003BaseDR.Value > 0 Or Fields!Ret001BaseDR.Value > 0 Or Fields!Ret002BaseDR.Value > 0 Or Fields!Ret003BaseDR.Value > 0, False, True) + + + + Top + + + + + + + + true + true + + + + + Tipo + + + + + + + Textbox109 + + =Microsoft.VisualBasic.Interaction.IIF(Fields!Tra001BaseDR.Value > 0 Or Fields!Tra002BaseDR.Value > 0 Or Fields!Tra003BaseDR.Value > 0 Or Fields!Ret001BaseDR.Value > 0 Or Fields!Ret002BaseDR.Value > 0 Or Fields!Ret003BaseDR.Value > 0, False, True) + + + + Top + + + + + + + + true + true + + + + + Base + + + + + + + Textbox110 + + =Microsoft.VisualBasic.Interaction.IIF(Fields!Tra001BaseDR.Value > 0 Or Fields!Tra002BaseDR.Value > 0 Or Fields!Tra003BaseDR.Value > 0 Or Fields!Ret001BaseDR.Value > 0 Or Fields!Ret002BaseDR.Value > 0 Or Fields!Ret003BaseDR.Value > 0, False, True) + + + + Top + + + + + + + + true + true + + + + + Tipo Factor + + + + + + + Textbox111 + + =Microsoft.VisualBasic.Interaction.IIF(Fields!Tra001BaseDR.Value > 0 Or Fields!Tra002BaseDR.Value > 0 Or Fields!Tra003BaseDR.Value > 0 Or Fields!Ret001BaseDR.Value > 0 Or Fields!Ret002BaseDR.Value > 0 Or Fields!Ret003BaseDR.Value > 0, False, True) + + + + Top + + + + + + + + true + true + + + + + Tasa/Cuota + + + + + + + Textbox112 + + =Microsoft.VisualBasic.Interaction.IIF(Fields!Tra001BaseDR.Value > 0 Or Fields!Tra002BaseDR.Value > 0 Or Fields!Tra003BaseDR.Value > 0 Or Fields!Ret001BaseDR.Value > 0 Or Fields!Ret002BaseDR.Value > 0 Or Fields!Ret003BaseDR.Value > 0, False, True) + + + + Top + + + + + + + + true + true + + + + + Importe + + + + + + + Textbox113 + + =Microsoft.VisualBasic.Interaction.IIF(Fields!Tra001BaseDR.Value > 0 Or Fields!Tra002BaseDR.Value > 0 Or Fields!Tra003BaseDR.Value > 0 Or Fields!Ret001BaseDR.Value > 0 Or Fields!Ret002BaseDR.Value > 0 Or Fields!Ret003BaseDR.Value > 0, False, True) + + + + Top + + + + + + + + true + true + + + + + + + + + + + + Textbox114 + + =Microsoft.VisualBasic.Interaction.IIF(Fields!Tra001BaseDR.Value > 0 Or Fields!Tra002BaseDR.Value > 0 Or Fields!Tra003BaseDR.Value > 0 Or Fields!Ret001BaseDR.Value > 0 Or Fields!Ret002BaseDR.Value > 0 Or Fields!Ret003BaseDR.Value > 0, False, True) + + + + Top + + + + + + + + true + true + + + + + + + + + + + + Textbox115 + + =Microsoft.VisualBasic.Interaction.IIF(Fields!Tra001BaseDR.Value > 0 Or Fields!Tra002BaseDR.Value > 0 Or Fields!Tra003BaseDR.Value > 0 Or Fields!Ret001BaseDR.Value > 0 Or Fields!Ret002BaseDR.Value > 0 Or Fields!Ret003BaseDR.Value > 0, False, True) + + + + Top + + + + + + + + true + true + + + + + + + + + + + Top + + + + + + + + true + true + + + + + + + + + + + Top + + + + + + + + 0.07938cm + + + + + true + true + + + + + ISR + + + + + + + Textbox61 + + =Microsoft.VisualBasic.Interaction.IIF(Fields!Tra001BaseDR.Value > 0, False, True) + + + + + + + + + + + true + true + + + + + Traslado + + + + + + + Textbox204 + + =Microsoft.VisualBasic.Interaction.IIF(Fields!Tra001BaseDR.Value > 0, False, True) + + + + + + + + + + + true + true + + + + + =Fields!ImpPagado.Value + + + + + + + ImpPagado + + =Microsoft.VisualBasic.Interaction.IIF(Fields!Tra001BaseDR.Value > 0, False, True) + + + + + + + + + + + true + true + + + + + =Fields!Tra001TipoFactorDR.Value + + + + + + + ImpPagado + + =Microsoft.VisualBasic.Interaction.IIF(Fields!Tra001BaseDR.Value > 0, False, True) + + + + + + + + + + + true + true + + + + + =Fields!Tra001TasaOCuotaDR.Value + + + + + + + ImpPagado + + =Microsoft.VisualBasic.Interaction.IIF(Fields!Tra001BaseDR.Value > 0, False, True) + + + + + + + + + + + true + true + + + + + =Fields!Tra001ImporteDR.Value + + + + + + + ImpPagado + + =Microsoft.VisualBasic.Interaction.IIF(Fields!Tra001BaseDR.Value > 0, False, True) + + + + + + + + + + + true + true + + + + + + + + + + + + Textbox4 + + =Microsoft.VisualBasic.Interaction.IIF(Fields!Tra001BaseDR.Value > 0, False, True) + + + + + + + + + + + true + true + + + + + + + + + + + + Textbox13 + + =Microsoft.VisualBasic.Interaction.IIF(Fields!Tra001BaseDR.Value > 0, False, True) + + + + + + + + + + + true + true + + + + + + + + + + + + + + + + + + true + true + + + + + + + + + + + + + + + + + + 0.07938cm + + + + + true + true + + + + + IVA + + + + + + + Textbox61 + + =Microsoft.VisualBasic.Interaction.IIF(Fields!Tra002BaseDR.Value > 0, False, True) + + + + + + + + + + + true + true + + + + + Traslado + + + + + + + Textbox204 + + =Microsoft.VisualBasic.Interaction.IIF(Fields!Tra002BaseDR.Value > 0, False, True) + + + + + + + + + + + true + true + + + + + =Fields!ImpPagado.Value + + + + + + + ImpPagado + + =Microsoft.VisualBasic.Interaction.IIF(Fields!Tra002BaseDR.Value > 0, False, True) + + + + + + + + + + + true + true + + + + + =Fields!Tra002TipoFactorDR.Value + + + + + + + ImpPagado + + =Microsoft.VisualBasic.Interaction.IIF(Fields!Tra002BaseDR.Value > 0, False, True) + + + + + + + + + + + true + true + + + + + =Fields!Tra002TasaOCuotaDR.Value + + + + + + + ImpPagado + + =Microsoft.VisualBasic.Interaction.IIF(Fields!Tra002BaseDR.Value > 0, False, True) + + + + + + + + + + + true + true + + + + + =Fields!Tra002ImporteDR.Value + + + + + + + ImpPagado + + =Microsoft.VisualBasic.Interaction.IIF(Fields!Tra002BaseDR.Value > 0, False, True) + + + + + + + + + + + true + true + + + + + + + + + + + + Textbox67 + + =Microsoft.VisualBasic.Interaction.IIF(Fields!Tra002BaseDR.Value > 0, False, True) + + + + + + + + + + + true + true + + + + + + + + + + + + Textbox68 + + =Microsoft.VisualBasic.Interaction.IIF(Fields!Tra002BaseDR.Value > 0, False, True) + + + + + + + + + + + true + true + + + + + + + + + + + + + + + + + + true + true + + + + + + + + + + + + + + + + + + 0.07938cm + + + + + true + true + + + + + IEPS + + + + + + + Textbox61 + + =Microsoft.VisualBasic.Interaction.IIF(Fields!Tra003BaseDR.Value > 0, False, True) + + + + + + + + + + + true + true + + + + + Traslado + + + + + + + Textbox204 + + =Microsoft.VisualBasic.Interaction.IIF(Fields!Tra003BaseDR.Value > 0, False, True) + + + + + + + + + + + true + true + + + + + =Fields!ImpPagado.Value + + + + + + + ImpPagado + + =Microsoft.VisualBasic.Interaction.IIF(Fields!Tra003BaseDR.Value > 0, False, True) + + + + + + + + + + + true + true + + + + + =Fields!Tra003TipoFactorDR.Value + + + + + + + ImpPagado + + =Microsoft.VisualBasic.Interaction.IIF(Fields!Tra003BaseDR.Value > 0, False, True) + + + + + + + + + + + true + true + + + + + =Fields!Tra003TasaOCuotaDR.Value + + + + + + + ImpPagado + + =Microsoft.VisualBasic.Interaction.IIF(Fields!Tra003BaseDR.Value > 0, False, True) + + + + + + + + + + + true + true + + + + + =Fields!Tra003ImporteDR.Value + + + + + + + ImpPagado + + =Microsoft.VisualBasic.Interaction.IIF(Fields!Tra003BaseDR.Value > 0, False, True) + + + + + + + + + + + true + true + + + + + + + + + + + + Textbox51 + + =Microsoft.VisualBasic.Interaction.IIF(Fields!Tra003BaseDR.Value > 0, False, True) + + + + + + + + + + + true + true + + + + + + + + + + + + Textbox55 + + =Microsoft.VisualBasic.Interaction.IIF(Fields!Tra003BaseDR.Value > 0, False, True) + + + + + + + + + + + true + true + + + + + + + + + + + + + + + + + + true + true + + + + + + + + + + + + + + + + + + 0.07938cm + + + + + true + true + + + + + ISR + + + + + + + Textbox61 + + =Microsoft.VisualBasic.Interaction.IIF(Fields!Ret001BaseDR.Value > 0, False, True) + + + + + + + + + + + true + true + + + + + Retención + + + + + + + Textbox207 + + =Microsoft.VisualBasic.Interaction.IIF(Fields!Ret001BaseDR.Value > 0, False, True) + + + + + + + + + + + true + true + + + + + =Fields!ImpPagado.Value + + + + + + + ImpPagado + + =Microsoft.VisualBasic.Interaction.IIF(Fields!Ret001BaseDR.Value > 0, False, True) + + + + + + + + + + + true + true + + + + + =Fields!Ret001TipoFactorDR.Value + + + + + + + ImpPagado + + =Microsoft.VisualBasic.Interaction.IIF(Fields!Ret001BaseDR.Value > 0, False, True) + + + + + + + + + + + true + true + + + + + =Fields!Ret001TasaOCuotaDR.Value + + + + + + + ImpPagado + + =Microsoft.VisualBasic.Interaction.IIF(Fields!Ret001BaseDR.Value > 0, False, True) + + + + + + + + + + + true + true + + + + + =Fields!Ret001ImporteDR.Value + + + + + + + ImpPagado + + =Microsoft.VisualBasic.Interaction.IIF(Fields!Ret001BaseDR.Value > 0, False, True) + + + + + + + + + + + true + true + + + + + + + + + + + + Textbox75 + + =Microsoft.VisualBasic.Interaction.IIF(Fields!Ret001BaseDR.Value > 0, False, True) + + + + + + + + + + + true + true + + + + + + + + + + + + Textbox76 + + =Microsoft.VisualBasic.Interaction.IIF(Fields!Ret001BaseDR.Value > 0, False, True) + + + + + + + + + + + true + true + + + + + + + + + + + + + + + + + + true + true + + + + + + + + + + + + + + + + + + 0.07939cm + + + + + true + true + + + + + IVA + + + + + + + Textbox61 + + =Microsoft.VisualBasic.Interaction.IIF(Fields!Ret002BaseDR.Value > 0, False, True) + + + + + + + + + + + true + true + + + + + Retención + + + + + + + Textbox207 + + =Microsoft.VisualBasic.Interaction.IIF(Fields!Ret002BaseDR.Value > 0, False, True) + + + + + + + + + + + true + true + + + + + =Fields!ImpPagado.Value + + + + + + + ImpPagado + + =Microsoft.VisualBasic.Interaction.IIF(Fields!Ret002BaseDR.Value > 0, False, True) + + + + + + + + + + + true + true + + + + + =Fields!Ret002TipoFactorDR.Value + + + + + + + ImpPagado + + =Microsoft.VisualBasic.Interaction.IIF(Fields!Ret002BaseDR.Value > 0, False, True) + + + + + + + + + + + true + true + + + + + =Fields!Ret002TasaOCuotaDR.Value + + + + + + + ImpPagado + + =Microsoft.VisualBasic.Interaction.IIF(Fields!Ret002BaseDR.Value > 0, False, True) + + + + + + + + + + + true + true + + + + + =Fields!Ret002ImporteDR.Value + + + + + + + ImpPagado + + =Microsoft.VisualBasic.Interaction.IIF(Fields!Ret002BaseDR.Value > 0, False, True) + + + + + + + + + + + true + true + + + + + + + + + + + + Textbox85 + + =Microsoft.VisualBasic.Interaction.IIF(Fields!Ret002BaseDR.Value > 0, False, True) + + + + + + + + + + + true + true + + + + + + + + + + + + Textbox86 + + =Microsoft.VisualBasic.Interaction.IIF(Fields!Ret002BaseDR.Value > 0, False, True) + + + + + + + + + + + true + true + + + + + + + + + + + + + + + + + + true + true + + + + + + + + + + + + + + + + + + 0.07938cm + + + + + true + true + + + + + IEPS + + + + + + + Textbox59 + + =Microsoft.VisualBasic.Interaction.IIF(Fields!Ret003BaseDR.Value > 0, False, True) + + + + + + + + + + + true + true + + + + + Retención + + + + + + + Textbox207 + + =Microsoft.VisualBasic.Interaction.IIF(Fields!Ret003BaseDR.Value > 0, False, True) + + + + + + + + + + + true + true + + + + + =Fields!ImpPagado.Value + + + + + + + ImpPagado + + =Microsoft.VisualBasic.Interaction.IIF(Fields!Ret003BaseDR.Value > 0, False, True) + + + + + + + + + + + true + true + + + + + =Fields!Ret003TipoFactorDR.Value + + + + + + + ImpPagado + + =Microsoft.VisualBasic.Interaction.IIF(Fields!Ret003BaseDR.Value > 0, False, True) + + + + + + + + + + + true + true + + + + + =Fields!Ret003TasaOCuotaDR.Value + + + + + + + ImpPagado + + =Microsoft.VisualBasic.Interaction.IIF(Fields!Ret003BaseDR.Value > 0, False, True) + + + + + + + + + + + true + true + + + + + =Fields!Ret003ImporteDR.Value + + + + + + + ImpPagado + + =Microsoft.VisualBasic.Interaction.IIF(Fields!Ret003BaseDR.Value > 0, False, True) + + + + es-MX + + + + + + + + true + true + + + + + + + + + + + + Textbox95 + + =Microsoft.VisualBasic.Interaction.IIF(Fields!Ret003BaseDR.Value > 0, False, True) + + + + + + + + + + + true + true + + + + + + + + + + + + Textbox96 + + =Microsoft.VisualBasic.Interaction.IIF(Fields!Ret003BaseDR.Value > 0, False, True) + + + + + + + + + + + true + true + + + + + + + + + + + + + + + + + + true + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + After + + + + + + + + + + + + + + + + + DataSet2 + 5.48446cm + 1.55693cm + 20.53139cm + 25 + + + + + + true + true + + + + + Reg. Fiscal: + + + + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!RegimenFiscalCodigo.Value + + + + + + + #4f81bd + + 1pt + + + #4f81bd + + 1pt + + + #4f81bd + + 1pt + + + #4f81bd + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + 16.75918cm + + + + + + + Textbox3 + 0.16028cm + 5.84339in + 0.5cm + 2.24597in + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + =Parameters!SerieFolio.Value + + + + + + + Textbox3 + 0.27143in + 5.84339in + 0.60856cm + 2.24597in + 1 + + + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + Fecha Timbre + + + + + + + + + + + + + + + + Textbox3 + 0.51102in + 5.84339in + 0.5cm + 2.24597in + 2 + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + =Parameters!FechaTimbre.Value + + + + + + + Textbox3 + 0.70787in + 5.84339in + 0.25114in + 2.24597in + 3 + + + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + Domicilio Fiscal + + + + + + + + + Calle Benito Juarez #32, Local 3, Col.: Hermosillo Centro C.P 83000 Hermosillo, Sonora, México Tel.:(662)210-64-00 + + + + + + + Textbox10 + 0.51102in + 2.84028in + 0.65513in + 1.79619in + 4 + + + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + VSH VIGILANCIA Y PROTECCION SA DE CV + + + + + + + + + R.F.C. VVP091222RF5|Reg. Fed. DGSP/122-10/1558 + + + + + + + + + |www.vsh-seguridad.com|ventas@vsh-seguridad.com| + + + + 0cm + 0cm + + + + Textbox4 + 1.92645in + 0.51102in + 3.62386in + 5 + + + 2pt + 2pt + 2pt + 2pt + + + + Embedded + Logo2 + FitProportional + 0.01134cm + 2.88998cm + 4.56434cm + 6 + + + + + + + + + + + 0.84667cm + true + true + + + true + true + + + + + ="Página " & Globals.PageNumber & " de " & Globals.TotalPages + + + + + + + Textbox35 + 0.21343cm + 17.10903cm + 0.41981cm + 2.94979cm + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Usuario: + + + + + + + + =Parameters!UsuarioImprimio.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Fecha Impresión: + + + + + + + + =Parameters!FechaImpresion.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 27.94cm + 21.59cm + 0.5cm + 0.5cm + 0.5cm + 0.5cm + 1.27cm + + + + + + + Textbox3 + 0.90692in + 5.662in + 0.5cm + 2.24597in + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + Fecha y hora de emisión + + + + + + + + + + + + + + + + Textbox3 + 0.46414in + 5.662in + 0.5cm + 2.24597in + 1 + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + =IIF(Parameters!Serie.Value.ToString="",Parameters!Folio.Value,Parameters!Serie.Value & "-" &Parameters!Folio.Value) + + + + + + + Textbox3 + 0.22455in + 5.662in + 0.60856cm + 2.24597in + 2 + + + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + Folio + + + + + + + Textbox3 + 0.0412cm + 5.662in + 0.5cm + 2.24597in + 3 + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + VSH VIGILANCIA Y PROTECCION SA DE CV + + + + + + + + + R.F.C. VVP091222RF5|Reg. Fed. DGSP/122-10/1558|Reg. Est. + + + + =IIF(UCase(Parameters!Sucursal.Value.ToString) ="TIJUANA" or UCase(Parameters!Sucursal.Value.ToString) = "MEXICALI" , "SSP-01PM20120309140", "LSP-R-2010-M-271" ) + + + + + + + + + |www.vsh-seguridad.com|ventas@vsh-seguridad.com| + + + + 0cm + 0cm + + + + Textbox4 + 1.93416in + 0.66099in + 3.62386in + 4 + + + 2pt + 2pt + 2pt + 2pt + + + + Embedded + Logo + FitProportional + 0.30578cm + 0.03093cm + 2.88998cm + 4.56434cm + 5 + + + + + + true + + + + + =Parameters!Fecha.Value + + + + + + + Textbox3 + 0.66099in + 5.662in + 0.25114in + 2.24597in + 6 + + + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + =Parameters!Tipo.Value & Parameters!Ref.Value + + + + + + + Textbox3 + 1.10364in + 5.662in + 0.25635in + 2.24597in + 7 + + + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + Domicilio Fiscal + + + + + + + + + Calle Benito Juarez #32, Local 3, Col.: Hermosillo Centro C.P 83000 Hermosillo, Sonora, México Tel.:(662)210-64-00 + + + + + + + Textbox10 + 0.51102in + 1.93416in + 0.65513in + 1.79619in + 8 + + + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + Lugar de Expedición + + + + + + + + + =Parameters!DomicilioSucursal.Value + + + + + + + Textbox10 + 0.51102in + 3.77202in + 0.65513in + 1.786in + 9 + + + Top + + + + true + true + + + + + Nombre + + + + + + + + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + =Parameters!ClienteNombre.Value + + + + + + + + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Dirección + + + + + + + + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + =Parameters!ClienteDireccion.Value + + + + + + + + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Ciudad + + + + + + + #4f81bd + + 1.25pt + + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + =Parameters!ClienteLugar.Value + + + + + + + + + + + + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + 1.50708cm + + + 1.53472cm + + + 1.63629cm + + + 9.22751cm + + + 2.19617cm + + + 1.8977cm + + + 2.0429cm + + + + + 0.52063cm + + + + + true + + + + + Cantidad + + + + + + + Textbox34 + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + UM + + + + + + + Textbox14 + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Codigo + + + + + + + Textbox15 + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + + + + + Descripción + + + + + + + Textbox79 + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Obj. Imp. + + + + + + + Textbox2 + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + + + + + P. Unitario + + + + + + + Textbox84 + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + + + + + Importe + + + + + + + + + + + + + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.4148cm + + + + + true + true + + + + + =Fields!Cantidad.Value + + + + + + + Cantidad1 + + + + + + + + + + #4f81bd + + + #4f81bd + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!UM.Value + + + + + + + + + + + + + =Fields!SATClaveUM.Value + + + + + + + UM + + + + + + + + + + + + + #4f81bd + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!SATClaveProdServ.Value + + + + + + + SATClaveProdServ + + + + + + + + + + + + + #4f81bd + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!PS.Value & " " & Fields!Obs.Value + + + + + + + + + + + + + + + + #4f81bd + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!CodigoObjetoImpuesto.Value + + + + + + + + + + + + + + + + #4f81bd + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!PU.Value + + + + + + + PU1 + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!Cantidad.Value*Fields!PU.Value + + + + + + + Textbox88 + + + + + + + + + + #4f81bd + + + #4f81bd + + 2pt + 2pt + 2pt + 2pt + es-MX + + + + + + + + 0.08406cm + + + + + true + true + + + + + + + + + #4f81bd + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + #4f81bd + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + #4f81bd + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + #4f81bd + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + #4f81bd + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + #4f81bd + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + #4f81bd + + + + #4f81bd + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + + + + + + + + + + + + + After + + + + + + Before + + + + DsOC + 4.66273cm + 0.11469cm + 1.01949cm + 20.04237cm + 16 + + + + + + true + + + + + RFC: + + + + =Parameters!ClienteRFC.Value + + + + + + + + + + + + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!ClienteDatoExtra1.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + 3.15414cm + + + + + 0.6cm + + + + + true + true + + + + + =Fields!Importe.Value + + + + + + + Importe + + + 2pt + 2pt + 2pt + 2pt + es-MX + + + + + + + + 0.6cm + + + + + true + true + + + + + =Replace(Parameters!Moneda.Value,"Pesos","Peso mexicano") + + + + + + + Textbox47 + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + + + + + + + + + =Fields!ImpuestoLocal.Value + + + + 2.52863cm + + + true + true + + + + + =Fields!ImpuestoLocal.Value + + + + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + + + + + 2.52863cm + + + true + true + + + + + Moneda + + + + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + + Before + + + + DataSet1 + 5.84097cm + 14.47429cm + 1.2cm + 5.68277cm + 19 + + + + + + + + + 3.33075cm + + + 10.99712cm + + + + + 0.6cm + + + + + true + true + + + + + =Parameters!Observaciones.Value + + + + + + + Textbox128 + + + + + + + + + + + + + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + 2 + + + + + + + 0.6cm + + + + + true + true + + + + + Importe con letra: + + + + + + + Textbox126 + + + + + 1pt + + + + 1pt + + + + 1pt + + + + 1pt + + #4f81bd + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + ="SON: " & Microsoft.VisualBasic.Strings.UCase(Replace(Parameters!ImporteLetra.Value,"M.N.","MXN")) + + + + + + + Textbox127 + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.6cm + + + + + true + true + + + + + Método de pago: + + + + + + + Textbox130 + + + + + 1pt + + + + 1pt + + + + 1pt + + + + 1pt + + #4f81bd + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + =IIF(Parameters!MetodoPago.Value.ToString="","No Identificado",Parameters!MetodoPago.Value) + + + + + + + Textbox131 + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.6cm + + + + + true + true + + + + + Forma de pago: + + + + + + + Textbox23 + + + + + 1pt + + + + 1pt + + + + 1pt + + + + 1pt + + #4f81bd + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Parameters!FormaPago.Value + + + + + + + + + + + Textbox41 + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.66668cm + + + + + true + true + + + + + Uso CFDI: + + + + + + + Textbox43 + + + + + 1pt + + + + 1pt + + + + 1pt + + + + 1pt + + #4f81bd + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Parameters!UsoCFDI.Value + + + + + + + Textbox44 + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 1.8cm + + + + + true + true + + + + + Sello digital del CFDI: + + + + + + + Textbox132 + + + + + 1pt + + + + 1pt + + + + 1pt + + + + 1pt + + #4f81bd + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Parameters!SelloCFDI.Value + + + + + + + Textbox133 + + + Top + 2pt + 2pt + 2pt + 2pt + + + + + + + + 1.2cm + + + + + true + true + + + + + Sello del SAT: + + + + + + + Textbox134 + + + + + 1pt + + + + 1pt + + + + 1pt + + + + 1pt + + #4f81bd + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Parameters!SelloSAT.Value + + + + + + + Textbox135 + + + Top + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.6cm + + + + + true + true + + + + + Cadena original del complemento de certificación digital del SAT: + + + + + + + Textbox136 + + + + + + + + + + + + + + 1pt + + #4f81bd + Middle + 2pt + 2pt + 2pt + 2pt + + + 2 + + + + + + + 0.6cm + + + + + true + true + + + + + =Parameters!CadenaOriginal.Value + + + + + + + Textbox6 + + + + + + + + + + + + + + 1pt + + Middle + 2pt + 2pt + 2pt + 2pt + + + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + DsOC + 5.84097cm + 0.10736cm + 7.26668cm + 14.32787cm + 20 + + + + + + true + true + + + + + Reg.fiscal + + + + + + + #4f81bd + + 1.25pt + + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + =Parameters!RegimenFiscalCodigo.Value + + + + + + + + + + + + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + 28.21218cm + + + + + + + Textbox3 + 0.10583cm + 16.30721cm + 0.6cm + 3.95896cm + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 27.94cm + 21.59cm + 0.5cm + 0.5cm + 1cm + 0.5cm + 1.27cm + + + + Reporte de Resumen de Indicadores + + + + <%--Tabla con los campos para filtrar--%> + + +
+
+
+ + "> + +
+
+
+ +
Fecha Inicio
+
+
+ + + + +
+ + +
+ +
Fecha Fin
+
+
+ + + + +
+ + +
+ +
SubProyecto
+
+ + +
+ +
+ +
+
+
> +
+
+ + + + + + +
+
+ + +
+
+ + Ventas por Productos +
+
+
+
+
+
+ +
+
+
+ + + + + + + +
+
+
+
+ +
+ + +
+
+ + Ventas por Productos - Gráfica +
+
+
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+ + +
+
+ + Compras por Productos - Proveedor Productor +
+
+
+
+
+
+ +
+
+
+ + + + + + + +
+
+
+
+ +
+ + +
+
+ + Compras por Productos - Proveedor Productor - Gráfica +
+
+
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+ + +
+
+ + Compras por Productos +
+
+
+
+
+
+ +
+
+
+ + + + + + + +
+
+
+
+ +
+ + +
+
+ + Compras por Productos - Gráfica +
+
+
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+ + +
+
+ + Cuentas por cobrar por Cliente +
+
+
+
+
+
+ +
+
+
+ + + + + + +
+
+
+
+ +
+ + +
+
+ + Cuentas por cobrar por Cliente - Gráfica +
+
+
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+ + +
+
+ + Cuentas por pagar por Proveedor +
+
+
+
+
+
+ +
+
+
+ + + + + + +
+
+
+
+ +
+ + +
+
+ + Cuentas por pagar por Proveedor - Gráfica +
+
+
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+ + + + +
+ +
+
+ +
+ + + + + + + + + + + diff --git a/General/RepIndicadorResumen.aspx.vb b/General/RepIndicadorResumen.aspx.vb new file mode 100644 index 000000000..64dd89557 --- /dev/null +++ b/General/RepIndicadorResumen.aspx.vb @@ -0,0 +1,485 @@ +Imports System.Data +Imports Extensiones +Imports Microsoft.Reporting.WebForms + +Partial Class General_RepIndicadorResumen + Inherits ClsPaginas +#Region "propiedades" + + Private Property VxP As DataTable + Get + + If ViewState("VxP") Is Nothing Then + Return New DataTable + Else + Return DirectCast(ViewState("VxP"), DataTable) + End If + + End Get + Set(value As DataTable) + ViewState("VxP") = value + End Set + End Property + Private Property CxP As DataTable + Get + + If ViewState("CxP") Is Nothing Then + Return New DataTable + Else + Return DirectCast(ViewState("CxP"), DataTable) + End If + + End Get + Set(value As DataTable) + ViewState("CxP") = value + End Set + End Property + Private Property CxP192 As DataTable + Get + + If ViewState("CxP192") Is Nothing Then + Return New DataTable + Else + Return DirectCast(ViewState("CxP192"), DataTable) + End If + + End Get + Set(value As DataTable) + ViewState("CxP192") = value + End Set + End Property + + Private Property CCxC As DataTable + Get + + If ViewState("CCxC") Is Nothing Then + Return New DataTable + Else + Return DirectCast(ViewState("CCxC"), DataTable) + End If + + End Get + Set(value As DataTable) + ViewState("CCxC") = value + End Set + End Property + Private Property CPxP As DataTable + Get + + If ViewState("CPxP") Is Nothing Then + Return New DataTable + Else + Return DirectCast(ViewState("CPxP"), DataTable) + End If + + End Get + Set(value As DataTable) + ViewState("CPxP") = value + End Set + End Property + + Private Property DtColor As DataTable + Get + + If ViewState("DtColor") Is Nothing Then + Return New DataTable + Else + Return DirectCast(ViewState("DtColor"), DataTable) + End If + + End Get + Set(value As DataTable) + ViewState("DtColor") = value + End Set + End Property + +#End Region + + Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load + If Not IsPostBack Then + CargaCombos() + CargaDatos() + End If + End Sub + + + Private Sub CargaCombos() + + 'Carga SubProyectos + DdlSubProyecto.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1) + DdlSubProyecto.DataBind() + DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1")) + + TxtFechaI.Text = $"01/{Now.Month}/{Now.Year}" + TxtFechaF.Text = Now.ToString("dd/MM/yyyy") + + CreaDataTableColor() + End Sub + + + Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs) Handles btnConsultar.Click + CargaDatos() + End Sub + + + Private Sub CargaDatos() + + Dim ObjVentas As New ClsVentas + Dim ObjCompras As New ClsCompras + Dim ObjMovtos As New ClsMovimientos() + + If ObjVentas.GetRepProductosServicios(-1, DdlSubProyecto.SelectedValue.ToEntero, -1, -1, -1, TxtFechaI.Text.Trim(), TxtFechaF.Text.Trim(), MinFecha, MaxFecha, -1, + -1, -1, -1, -1, "-1", UsuarioActual.CveEmpresa, 5, CveUsuarioConsulta:=UsuarioActual.CveUsuario, TipoCambio:=1) Then + VxP = ObjVentas.DtResultados + GvVxP.DataSource = VxP + Else + GvVxP.DataSource = Nothing + VxP = Nothing + End If + + If ObjCompras.GetRepProductosServicios(-1, DdlSubProyecto.SelectedValue.ToEntero, -1, -1, -1, TxtFechaI.Text.Trim(), TxtFechaF.Text.Trim(), -1, -1, -1, + UsuarioActual.CveEmpresa, 5, -1, -1, "-1", "-1", -1, TipoCambio:=1, CveUsuarioConsulta:=UsuarioActual.CveUsuario, CveProveedorClasificacion:=192) Then + CxP192 = ObjCompras.DtResultados + GvCxP192.DataSource = CxP192 + Else + GvCxP192.DataSource = Nothing + CxP192 = Nothing + End If + + If ObjCompras.GetRepProductosServicios(-1, DdlSubProyecto.SelectedValue.ToEntero, -1, -1, -1, TxtFechaI.Text.Trim(), TxtFechaF.Text.Trim(), -1, -1, -1, + UsuarioActual.CveEmpresa, 5, -1, -1, "-1", "-1", -1, TipoCambio:=1, CveUsuarioConsulta:=UsuarioActual.CveUsuario, CveTipoProveedor:=1) Then + CxP = ObjCompras.DtResultados + GvCxP.DataSource = CxP + Else + GvCxP.DataSource = Nothing + CxP = Nothing + End If + + Dim FechaCorte As String = $"31/12/{Now.Year}" + + If ObjMovtos.GetCxC(TxtFechaI.Text, TxtFechaF.Text, -1, DdlSubProyecto.SelectedValue.ToEntero, -1, -1, -1, "-1", UsuarioActual.CveEmpresa, 5, -1, 1, -1, + "-1", "-1", "-1", FechaCorte:=FechaCorte.ToDate, CveUsuarioConsulta:=UsuarioActual.CveUsuario) Then + + CCxC = ObjMovtos.DtResultados + GvCCxC.DataSource = CCxC + Else + GvCCxC.DataSource = Nothing + CCxC = Nothing + End If + + If ObjMovtos.GetCxP(TxtFechaI.Text, TxtFechaF.Text, -1, DdlSubProyecto.SelectedValue.ToEntero, -1, -1, -1, "-1", UsuarioActual.CveEmpresa, 5, -1, 1, -1, + "-1", "-1", "-1", FechaCorte:=FechaCorte.ToDate, CveUsuarioConsulta:=UsuarioActual.CveUsuario) Then + + CPxP = ObjMovtos.DtResultados + GvCPxP.DataSource = CPxP + Else + GvCPxP.DataSource = Nothing + CPxP = Nothing + End If + + ObjVentas.Dispose() + ObjCompras.Dispose() + ObjMovtos.Dispose() + + GvVxP.DataBind() + GvCxP192.DataBind() + GvCxP.DataBind() + GvCCxC.DataBind() + GvCPxP.DataBind() + + ' Mostrar gráficos solo si hay datos en su respectiva tabla + If GvVxP.Rows.Count > 0 Then + UPGraficaVxP.Visible = True + Else + UPGraficaVxP.Visible = False + End If + If GvCxP.Rows.Count > 0 Then + UPGraficaCxP.Visible = True + Else + UPGraficaCxP.Visible = False + End If + If GvCxP192.Rows.Count > 0 Then + UPGraficaCxP192.Visible = True + Else + UPGraficaCxP192.Visible = False + End If + If GvCCxC.Rows.Count > 0 Then + UPGraficaCCxC.Visible = True + Else + UPGraficaCCxC.Visible = False + End If + If GvCPxP.Rows.Count > 0 Then + UPGraficaCPxP.Visible = True + Else + UPGraficaCPxP.Visible = False + End If + + ' Si no había datos en ninguna tabla no cargar función de gráficos + If (GvVxP.Rows.Count = 0 AndAlso GvCxP.Rows.Count = 0 AndAlso GvCxP192.Rows.Count = 0 AndAlso GvCCxC.Rows.Count = 0 AndAlso GvCPxP.Rows.Count = 0) Then Exit Sub + GraficasPastel() + 'GraficasBarras() + End Sub + Protected Sub GvVxP_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvVxP.RowDataBound + If e.Row.RowType = DataControlRowType.DataRow Then + If e.Row.DBCampo("Orden") = "" Then + e.Row.CssClass = "Totales" + End If + End If + End Sub + Protected Sub GvCxP_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvCxP.RowDataBound + If e.Row.RowType = DataControlRowType.DataRow Then + If e.Row.DBCampo("Orden") = "" Then + e.Row.CssClass = "Totales" + End If + End If + End Sub + Protected Sub GvCCxC_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvCCxC.RowDataBound + If e.Row.RowType = DataControlRowType.DataRow Then + If e.Row.DBCampo("Orden") = "" Then + e.Row.CssClass = "Totales" + End If + End If + End Sub + Protected Sub GvCPxP_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvCPxP.RowDataBound + If e.Row.RowType = DataControlRowType.DataRow Then + If e.Row.DBCampo("Orden") = "" Then + e.Row.CssClass = "Totales" + End If + End If + End Sub + Private Sub CreaDataTableColor() + DtColor = New DataTable + DtColor.Columns.Add("Color") + Dim RowColor As DataRow = Nothing + RowColor = DtColor.NewRow() + RowColor("Color") = "#FF0F00" + DtColor.Rows.Add(RowColor) + RowColor = Nothing + RowColor = DtColor.NewRow() + RowColor("Color") = "#FF6600" + DtColor.Rows.Add(RowColor) + RowColor = Nothing + RowColor = DtColor.NewRow() + RowColor("Color") = "#FF9E01" + DtColor.Rows.Add(RowColor) + RowColor = Nothing + RowColor = DtColor.NewRow() + RowColor("Color") = "#FCD202" + DtColor.Rows.Add(RowColor) + RowColor = Nothing + RowColor = DtColor.NewRow() + RowColor("Color") = "#F8FF01" + DtColor.Rows.Add(RowColor) + RowColor = Nothing + RowColor = DtColor.NewRow() + RowColor("Color") = "#B0DE09" + DtColor.Rows.Add(RowColor) + RowColor = Nothing + RowColor = DtColor.NewRow() + RowColor("Color") = "#04D215" + DtColor.Rows.Add(RowColor) + RowColor = Nothing + RowColor = DtColor.NewRow() + RowColor("Color") = "#0D8ECF" + DtColor.Rows.Add(RowColor) + RowColor = Nothing + RowColor = DtColor.NewRow() + RowColor("Color") = "#0D52D1" + DtColor.Rows.Add(RowColor) + RowColor = Nothing + RowColor = DtColor.NewRow() + RowColor("Color") = "#2A0CD0" + DtColor.Rows.Add(RowColor) + RowColor = Nothing + RowColor = DtColor.NewRow() + RowColor("Color") = "#8A0CCF" + DtColor.Rows.Add(RowColor) + RowColor = Nothing + RowColor = DtColor.NewRow() + RowColor("Color") = "#CD0D74" + DtColor.Rows.Add(RowColor) + RowColor = Nothing + RowColor = DtColor.NewRow() + RowColor("Color") = "#754DEB" + DtColor.Rows.Add(RowColor) + RowColor = Nothing + RowColor = DtColor.NewRow() + RowColor("Color") = "#DDDDDD" + DtColor.Rows.Add(RowColor) + RowColor = Nothing + RowColor = DtColor.NewRow() + RowColor("Color") = "#999999" + DtColor.Rows.Add(RowColor) + RowColor = Nothing + RowColor = DtColor.NewRow() + RowColor("Color") = "#333333" + DtColor.Rows.Add(RowColor) + RowColor = Nothing + RowColor = DtColor.NewRow() + RowColor("Color") = "#000000" + DtColor.Rows.Add(RowColor) + End Sub + + Private Sub GraficasPastel() + + Dim DtVxP, DtCxP, DtCxP192, DtCCxC, DtCPxP As New DataTable + Dim RowColorIndex As Integer = 0 + + 'Ventas x Producto + DtVxP.Reset() + DtVxP.Columns.Add("Texto") + DtVxP.Columns.Add("Valor") + DtVxP.Columns.Add("Color") + DtVxP.Columns.Add("Moneda") + RowColorIndex = 0 + For Each Dr As DataRow In VxP.Rows + If Not Dr("Orden").ToString = "" Then + Dim Row As DataRow = Nothing + Row = DtVxP.NewRow() + Row("Texto") = $"{Dr("GPO").ToString} {GlobalDTMonedas().FiltraParametros($"CveMoneda = {Dr("CveMoneda").ToString}").Rows(0)("Abreviatura").ToString}" + Row("Valor") = Dr("SubTotal").ToString.FormatoNumero + Row("Color") = DtColor.Rows(RowColorIndex)("Color").ToString + Row("Moneda") = Dr("Moneda").ToString + DtVxP.Rows.Add(Row) + RowColorIndex += 1 + If RowColorIndex = 17 Then + RowColorIndex = 0 + End If + End If + Next + Dim query_vxp = From s In DtVxP.AsEnumerable() Select New With {.Texto = s("Texto").ToString(), .Valor = s("Valor").ToString().ToDouble(), .Color = s("Color").ToString(), .Moneda = s("Moneda").ToString()} + + 'Compras x Producto TipoProveedor=1 + DtCxP.Reset() + DtCxP.Columns.Add("Texto") + DtCxP.Columns.Add("Valor") + DtCxP.Columns.Add("Color") + DtCxP.Columns.Add("Moneda") + RowColorIndex = 0 + For Each Dr As DataRow In CxP.Rows + If Not Dr("Orden").ToString = "" Then + Dim Row As DataRow = Nothing + Row = DtCxP.NewRow() + Row("Texto") = $"{Dr("GPO").ToString} {GlobalDTMonedas().FiltraParametros($"CveMoneda = {Dr("CveMoneda").ToString}").Rows(0)("Abreviatura").ToString}" + Row("Valor") = Dr("SubTotal").ToString.FormatoNumero + Row("Color") = DtColor.Rows(RowColorIndex)("Color").ToString + Row("Moneda") = Dr("Moneda").ToString + DtCxP.Rows.Add(Row) + RowColorIndex += 1 + If RowColorIndex = 17 Then + RowColorIndex = 0 + End If + End If + Next + Dim query_cxp = From s In DtCxP.AsEnumerable() Select New With {.Texto = s("Texto").ToString(), .Valor = s("Valor").ToString().ToDouble(), .Color = s("Color").ToString(), .Moneda = s("Moneda").ToString()} + + 'Compras x Producto ProveedorClasificacion=192 + DtCxP192.Reset() + DtCxP192.Columns.Add("Texto") + DtCxP192.Columns.Add("Valor") + DtCxP192.Columns.Add("Color") + DtCxP192.Columns.Add("Moneda") + RowColorIndex = 0 + For Each Dr As DataRow In CxP192.Rows + If Not Dr("Orden").ToString = "" Then + Dim Row As DataRow = Nothing + Row = DtCxP192.NewRow() + Row("Texto") = $"{Dr("GPO").ToString} {GlobalDTMonedas().FiltraParametros($"CveMoneda = {Dr("CveMoneda").ToString}").Rows(0)("Abreviatura").ToString}" + Row("Valor") = Dr("SubTotal").ToString.FormatoNumero + Row("Color") = DtColor.Rows(RowColorIndex)("Color").ToString + Row("Moneda") = Dr("Moneda").ToString + DtCxP192.Rows.Add(Row) + RowColorIndex += 1 + If RowColorIndex = 17 Then + RowColorIndex = 0 + End If + End If + Next + Dim query_cxp192 = From s In DtCxP192.AsEnumerable() Select New With {.Texto = s("Texto").ToString(), .Valor = s("Valor").ToString().ToDouble(), .Color = s("Color").ToString(), .Moneda = s("Moneda").ToString()} + + 'Alert(Newtonsoft.Json.JsonConvert.SerializeObject(CCxC.Rows)) + + 'Cuentas por cobrar x Cliente + DtCCxC.Reset() + DtCCxC.Columns.Add("Texto") + DtCCxC.Columns.Add("Valor") + DtCCxC.Columns.Add("Color") + DtCCxC.Columns.Add("Moneda") + RowColorIndex = 0 + For Each Dr As DataRow In CCxC.Rows + If Not Dr("Orden").ToString = "" Then + Dim Row As DataRow = Nothing + Row = DtCCxC.NewRow() + Row("Texto") = $"{Dr("GPO").ToString} {GlobalDTMonedas().FiltraParametros($"CveMoneda = {Dr("CveMoneda").ToString}").Rows(0)("Abreviatura").ToString}" + Row("Valor") = Dr("Saldo").ToString.FormatoNumero + Row("Color") = DtColor.Rows(RowColorIndex)("Color").ToString + Row("Moneda") = Dr("Moneda").ToString + DtCCxC.Rows.Add(Row) + RowColorIndex += 1 + If RowColorIndex = 17 Then + RowColorIndex = 0 + End If + End If + Next + Dim query_ccxc = From s In DtCCxC.AsEnumerable() Select New With {.Texto = s("Texto").ToString(), .Valor = s("Valor").ToString().ToDouble(), .Color = s("Color").ToString(), .Moneda = s("Moneda").ToString()} + + 'Cuentas por pagar x Proveedor + DtCPxP.Reset() + DtCPxP.Columns.Add("Texto") + DtCPxP.Columns.Add("Valor") + DtCPxP.Columns.Add("Color") + DtCPxP.Columns.Add("Moneda") + RowColorIndex = 0 + For Each Dr As DataRow In CPxP.Rows + If Not Dr("Orden").ToString = "" Then + Dim Row As DataRow = Nothing + Row = DtCPxP.NewRow() + Row("Texto") = $"{Dr("GPO").ToString} {GlobalDTMonedas().FiltraParametros($"CveMoneda = {Dr("CveMoneda").ToString}").Rows(0)("Abreviatura").ToString}" + Row("Valor") = Dr("Saldo").ToString.FormatoNumero + Row("Color") = DtColor.Rows(RowColorIndex)("Color").ToString + Row("Moneda") = Dr("Moneda").ToString + DtCPxP.Rows.Add(Row) + RowColorIndex += 1 + If RowColorIndex = 17 Then + RowColorIndex = 0 + End If + End If + Next + Dim query_cpxp = From s In DtCPxP.AsEnumerable() Select New With {.Texto = s("Texto").ToString(), .Valor = s("Valor").ToString().ToDouble(), .Color = s("Color").ToString(), .Moneda = s("Moneda").ToString()} + + 'Serializar datos agrupándolos en su respectivo DataTable, todos en un solo JSON + Dim json As String = Newtonsoft.Json.JsonConvert.SerializeObject(New With {.VxP = query_vxp, .CxP = query_cxp, .CxP192 = query_cxp192, .CCxC = query_ccxc, .CPxP = query_cpxp}) + 'Dim json As String = Newtonsoft.Json.JsonConvert.SerializeObject(New With {.VxP = query_vxp, .CCxC = New String() {}}) + 'Alert(json) + RegistraScript($"CargaGraficasPastel({json})", "22") + UPPMov.Update() + End Sub + Private Sub GraficasBarras() + 'Dim Dt As New DataTable() + 'Dt.Columns.Add("Texto") + 'Dt.Columns.Add("Valor") + 'Dt.Columns.Add("Color") + 'Dt.Columns.Add("Moneda") + 'Dim RowColorIndex As Integer = 0 + 'For Each Dr As DataRow In VxC.Rows + ' If Not Dr("Orden").ToString = "" Then + ' Dim Row As DataRow = Nothing + ' Row = Dt.NewRow() + ' Row("Texto") = $"{Dr("GPO").ToString} {GlobalDTMonedas().FiltraParametros($"CveMoneda = {Dr("CveMoneda").ToString}").Rows(0)("Abreviatura").ToString}" + ' Row("Valor") = Dr("SubTotal").ToString.FormatoNumero + ' Row("Color") = DtColor.Rows(RowColorIndex)("Color").ToString + ' Row("Moneda") = Dr("Moneda").ToString + ' Dt.Rows.Add(Row) + ' RowColorIndex += 1 + ' If RowColorIndex = 17 Then + ' RowColorIndex = 0 + ' End If + ' End If + 'Next + + 'Dim query = From s In Dt.AsEnumerable() Select New With {.Texto = s("Texto").ToString(), .Valor = s("Valor").ToString().ToDouble(), .Color = s("Color").ToString(), .Moneda = s("Moneda").ToString()} + 'Dim json As String = Newtonsoft.Json.JsonConvert.SerializeObject(query) + 'RegistraScript($"CargaGraficasBarras({json})", "22") + 'UPPMov.Update() + End Sub +End Class diff --git a/Inventarios/TraspasoAlmacen.aspx b/Inventarios/TraspasoAlmacen.aspx index c2c8e6347..b5069e9dd 100644 --- a/Inventarios/TraspasoAlmacen.aspx +++ b/Inventarios/TraspasoAlmacen.aspx @@ -609,6 +609,12 @@ +
+ +
+ +
+
diff --git a/Inventarios/TraspasoAlmacen.aspx.vb b/Inventarios/TraspasoAlmacen.aspx.vb index cbccac8d7..3b1b0db67 100644 --- a/Inventarios/TraspasoAlmacen.aspx.vb +++ b/Inventarios/TraspasoAlmacen.aspx.vb @@ -1460,6 +1460,9 @@ Partial Class Inventarios_TraspasoAlmacen End Sub Private Sub CargaRecepcion() + DivRealizarDevolucion.Visible = False + ChkRealizarDevolucion.Checked = False + Dim Dtt As DataTable = Nothing FolioBusqueda = If(TxtFolioRecepcion.Text = "", -1, TxtFolioRecepcion.Text.ToEntero) @@ -1506,6 +1509,11 @@ Partial Class Inventarios_TraspasoAlmacen If UsuarioActual.TienePermisoProceso(290) Then BtnCancelarTraspaso.Visible = True End If + + If UsuarioActual.Empresa.Funcionalidad(162) = "1" Then + DivRealizarDevolucion.Visible = True + ChkRealizarDevolucion.Checked = True + End If End If @@ -1518,6 +1526,7 @@ Partial Class Inventarios_TraspasoAlmacen UpDatosRecepcion.Update() UPDivCodigoSeriePSRecepcion.Update() + UPDatosAlmacen.Update() End Sub Protected Sub GvDatosRecepcion_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvDatosRecepcion.RowDataBound @@ -1815,6 +1824,225 @@ Partial Class Inventarios_TraspasoAlmacen End Sub + Private Class MCancelacionTraspaso + Public Property TieneError As Boolean = False + Public Property MsgError As String = "" + Public Property CveMovimientoEntrada As Integer = -1 + Public Property FolioEntrada As Integer = 0 + Public Property CveMovimientoSalidaTransitorio As Integer = -1 + Public Property FolioSalidaTransitorio As Integer = 0 + End Class + + Private Function CancelarTraspaso(ByRef ObjInventario As ClsInventarios, ByRef ObjConta As ClsContabilidad, CveAlmacenDestino As Integer, Fecha As DateTime) As MCancelacionTraspaso + Dim Retorno As New MCancelacionTraspaso() + Dim ErrorMovInv As Boolean = False + Try + Dim CveMovimientoEntrada = ObjInventario.AddMovimiento(CveAlmacenDestino, 27, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, + Observaciones:=TxtObservacionesRecepcion.Text.Trim, Recibio:=TxtRecibio.Text, CveAlmacenDestino:=CveAlmacenDestino, + CveMovimientoRelacionado:=CveMovimientoSalida, Modulo:="TA/C") + If CveMovimientoEntrada <= 0 Then + Retorno.MsgError = "No se pudo generar el movimiento" + ErrorMovInv = True + End If + + Retorno.CveMovimientoEntrada = CveMovimientoEntrada + Retorno.FolioEntrada = ObjInventario.Folio + + 'AGREGAMOS LA SALIDA + Dim CveMovimientoSalidaTransitorio = ObjInventario.AddMovimiento(CveAlmacenTransitorio, 8, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, + Observaciones:=TxtObservacionesRecepcion.Text.Trim, CveAlmacenDestino:=CveAlmacenDestino, + CveMovimientoRelacionado:=CveMovimientoEntrada, Modulo:="TA/G12") + + Retorno.CveMovimientoSalidaTransitorio = CveMovimientoSalidaTransitorio + + Dim CvePrePoliza As Integer = -1 + Dim Concepto As String = TxtObservacionesRecepcion.Text + If Concepto = "" Then Concepto = "Cancelación Traspaso" + + If Not ErrorMovInv Then + Retorno.FolioSalidaTransitorio = ObjInventario.Folio + CvePrePoliza = ObjConta.AddPrePolizas("Inventario/TraspasoAlmacen", 53, 0, 0, 1, Fecha, Concepto, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) + + If CvePrePoliza <= 0 Then + Retorno.MsgError = "No se pudo generar la Poliza para la cancelación" + ErrorMovInv = True + End If + End If + + If CveMovimientoEntrada <= 0 And Not ErrorMovInv Then + Retorno.MsgError = "No se pudo generar el movimiento de entrada correctamente" + ErrorMovInv = True + Else + Dim CveMovimientoDetalleSalida As Integer = 0 + Dim importe As Double = 0 + + Dim Dtt As DataTable = Nothing + + FolioBusqueda = TxtFolioRecepcion.Text.ToEntero + + If ObjInventario.GetMovimientosTransitorios(DdlAlmacenRecepcion.SelectedValue.ToEntero, -1, DdlAlmacenTransitorioRecepcion.SelectedValue.ToEntero, -1, FolioBusqueda, UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario) Then + Dtt = ObjInventario.DtResultados.FiltraParametros(String.Format("CveTipoAlmacenDestino <> 4")) + Else + Dtt = Nothing + End If + + If Dtt IsNot Nothing Then + For Each GvRow As DataRow In Dtt.Rows + Dim CvePS As Integer = GvRow("CvePS").ToString().ToEntero + 'DEBE CONSIDERAR SOLO LAS FILAS QUE TENGA PRODUCTOS, NO EL TOTALIZADOR + If CvePS > 0 Then + CveMovimientoDetalleSalida = GvRow("CveMovimientoDetalle").ToString.ToEntero + Dim Cantidad As Decimal = GvRow("Cantidad").ToString.ToDecimal + Dim PrecioUnitario As Decimal = GvRow("PU").ToString.ToDecimal + If CveMovimientoDetalleSalida <= 0 Then + ErrorMovInv = True + Retorno.MsgError = "Ocurrió un error al guardar los movimientos de salida" + Exit For + End If + + If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntrada, Cantidad, GvRow("CveUM").ToString().ToEntero, CvePS, PrecioUnitario, -1, -1, Serie:=GvRow("Serie").ToString, Lote:=GvRow("Lote").ToString(), FechaCaducidad:=GvRow("FechaCaducidad").ToString().ToDate, CveMovimientoDetalleEntrada:=CveMovimientoDetalleSalida) Then + ErrorMovInv = True + Retorno.MsgError = "Ocurrió un error al guardar los movimientos de entrada" + Exit For + End If + 'MOV, Alm, Transito + If GvRow("CveMovimientoDetalleTransitorio").ToString.ToEntero > 0 Then + If Not ObjInventario.AddMovimientoDetalle(CveMovimientoSalidaTransitorio, Cantidad, GvRow("CveUM").ToString.ToEntero, CvePS, PrecioUnitario, CveSeccionAlmacen:=-3, Serie:=GvRow("Serie").ToString, Lote:=GvRow("Lote").ToString, FechaCaducidad:=GvRow("FechaCaducidad").ToString().ToDate, CveMovimientoDetalleEntrada:=GvRow("CveMovimientoDetalleTransitorio").ToString.ToEntero) Then + ErrorMovInv = True + Retorno.MsgError = "Ocurrió un error al guardar los movimientos de salida" + Exit For + End If + Else + CveMovimientoSalidaTransitorio = 0 + End If + importe += Cantidad * PrecioUnitario + End If + Next + Else + ErrorMovInv = True + Retorno.MsgError = "Ocurrió un error al guardar los movimientos de salida" + End If + + + 'VIRTUAL ENTRADA + + If UsuarioActual.Empresa.Funcionalidad(573) = "1" Then + + Dim CveAlmacenVirtual As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa, CveAlmacen:=GvDatosRecepcion.Rows(0).DataKey("CveAlmacenSalida").ToEntero).FiltroPrimeroValor("CveAlmacenVirtual", "").ToEntero() + Dim CveAlmacenVirtualSalida As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa, CveAlmacen:=CveAlmacenTransitorio).FiltroPrimeroValor("CveAlmacenVirtual", "").ToEntero() + + 'SI EL ALMACEN ORIGEN ES DE APOPYO LOGISTICO EL ALMACEN VIRTUAL DEBE SER DE APOYO LOGISTICO + 'Dim CveAlmacenVirtual As Integer = -1 + 'If CveTipoAlmacenOrigen = 27 Then + ' CveAlmacenVirtual = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveAlmacen", $" CveTipoAlmacen =25 AND CveSubProyecto={CveSubProyecto}").ToEntero() + 'Else + ' CveAlmacenVirtual = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveAlmacen", $" CveTipoAlmacen =24 AND CveSubProyecto={CveSubProyecto}").ToEntero() + 'End If + + Dim CveMovimientoVirtualEntrada As Integer = -1 + Dim CveMovimientoVirtualSalida As Integer = -1 + + 'VERIFICA SI TIENE ALMACEN VIRTUAL ASIGNADA + If CveAlmacenVirtual > 0 And CveAlmacenVirtualSalida > 0 Then + + Dim dtvirtual As DataTable = Nothing + Dim importePoliza As Decimal = 0 + + If ObjInventario.GetMovimientosDetalleVirtual(CveMovimientoEntrada, UsuarioActual.CveEmpresa, CveMovimientoRelacionado:=CveMovimientoSalida) Then + dtvirtual = ObjInventario.DtResultados + If dtvirtual.Rows.Count > 0 Then + + CveMovimientoVirtualEntrada = ObjInventario.AddMovimiento(CveAlmacenVirtual, 36, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, Observaciones:=TxtObservacionesRecepcion.Text.Trim, CveMovimientoRelacionado:=CveMovimientoEntrada, Modulo:="TA/C2") + + CveMovimientoVirtualSalida = ObjInventario.AddMovimiento(CveAlmacenVirtualSalida, 37, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, Observaciones:=TxtObservacionesRecepcion.Text.Trim, CveMovimientoRelacionado:=CveMovimientoSalidaTransitorio, Modulo:="TA/C3") + + Dim FolioVirtualEntrada = ObjInventario.Folio + + For Each RowVirtual As DataRow In dtvirtual.Rows + Dim CvePS = RowVirtual("CvePS").ToString().ToEntero() + Dim CantidadUsado As Decimal = RowVirtual("Cantidad").ToString().ToDecimal() + Dim PU As Decimal = RowVirtual("PUOriginal").ToString().ToDecimal() + Dim CveUM As Integer = RowVirtual("CveUM").ToString().ToEntero() + Dim CostoIndirecto As Decimal = RowVirtual("CostoIndirecto").ToString().ToDecimal() + + + importePoliza = importePoliza + (CantidadUsado * PU) + + If Not ObjInventario.AddMovimientoDetalle(CveMovimientoVirtualEntrada, CantidadUsado, CveUM, CvePS, PU, -1, CostoIndirecto:=CostoIndirecto, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then + ErrorMovInv = True + Exit For + End If + + If Not ObjInventario.AddMovimientoDetalle(CveMovimientoVirtualSalida, CantidadUsado, CveUM, CvePS, PU, -1, CostoIndirecto:=CostoIndirecto, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then + ErrorMovInv = True + Exit For + End If + + Next + End If + + 'Else + ' TextoError = "No se pudo registrar el movimiento virtual" + ' ErrorMovInv = True + End If + + + If Not ErrorMovInv AndAlso (CveMovimientoSalida > 0 And CveMovimientoVirtualEntrada > 0) Then + + Dim CvePrePolizaMovVirtual As Integer = ObjConta.AddPrePolizas("TA/C2|TA/C3", 53, importePoliza, importePoliza, 1, TxtFecha.Text.ToDate, "TA/C2|TA/C3", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) + If CvePrePolizaMovVirtual > 0 Then + If Not ErrorMovInv AndAlso Not ObjConta.AddPrePolizasDetalle(CvePrePolizaMovVirtual, True, importePoliza, importePoliza, 68, TxtObservacionesRecepcion.Text, TxtObservacionesRecepcion.Text, -1, -1, CveMovimientoAlmacen:=CveMovimientoVirtualSalida, Contabilizable:=False) Then + ErrorMovInv = True + End If + + If Not ObjConta.AddPrePolizasDetalle(CvePrePolizaMovVirtual, False, importePoliza, importePoliza, 68, TxtObservacionesRecepcion.Text, TxtObservacionesRecepcion.Text, -1, -1, CveMovimientoAlmacen:=CveMovimientoVirtualEntrada, Contabilizable:=False) Then + ErrorMovInv = True + End If + Else + ErrorMovInv = True + End If + + End If + 'Else + ' TextoError = "La Sucursal no tiene creado un almacen virtual" + ' ErrorMovInv = True + End If + + End If + + If Not ErrorMovInv Then + Dim ImporteDecimal As Decimal = importe.ToDecimal.RoundAD + Dim IdCtaContable As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContable", String.Format("CveAlmacen = {0}", DdlAlmacenTransitorioRecepcion.SelectedValue.ToEntero)).ToEntero + + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteDecimal, TxtObservaciones.Text, 68, TxtObservaciones.Text, Fecha, IdCtaContable, -1, + CveMovimientoAlmacen:=CveMovimientoEntrada, ImporteMX:=ImporteDecimal, Contabilizable:=False) Then + ErrorMovInv = True + Retorno.MsgError = "Ocurrió un error al cancelar el traspaso" + End If + + If CveMovimientoSalidaTransitorio > 0 Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteDecimal, TxtObservaciones.Text, 68, TxtObservaciones.Text, Fecha, IdCtaContable, -1, + CveMovimientoAlmacen:=CveMovimientoSalidaTransitorio, ImporteMX:=ImporteDecimal, Contabilizable:=False) Then + ErrorMovInv = True + Retorno.MsgError = "Ocurrió un error al cancelar el traspaso" + End If + End If + + End If + + End If + + Catch ex As Exception + ErrorMovInv = True + Retorno.MsgError = "Ocurrió un error al cancelar el traspaso" + OnError("Ocurrió un erro al cancelar el traspaso", ex) + End Try + + Retorno.TieneError = ErrorMovInv + + Return Retorno + End Function + Protected Sub BtnRecibir_Click(sender As Object, e As EventArgs) If GvDatosRecepcion.Rows.Count > 0 Then 'Valida Movimientos @@ -2039,6 +2267,13 @@ Partial Class Inventarios_TraspasoAlmacen End If End If + Dim CancelacionTraspaso As MCancelacionTraspaso = Nothing + If UsuarioActual.Empresa.Funcionalidad(162) = "1" AndAlso ChkRealizarDevolucion.Checked AndAlso Not ErrorMovInv Then + CancelacionTraspaso = CancelarTraspaso(ObjInventario, ObjConta, GvDatosRecepcion.Rows(0).DataKey("CveAlmacenSalida").ToEntero, TxtFechaRecepcion.Text.ToDateTime()) + If CancelacionTraspaso IsNot Nothing Then + ErrorMovInv = CancelacionTraspaso.TieneError + End If + End If If Not ErrorMovInv Then @@ -2053,6 +2288,9 @@ Partial Class Inventarios_TraspasoAlmacen Mensaje.AppendFormat("
Imprimir Reporte", Encripta(String.Format("OP=Alm&CveMovimiento={0}", CveMovimientoEntrada))) 'onclick='ImprimirTraslado()' If CveMovimientoVirtualEntrada > 0 Then Mensaje.AppendFormat("


Folio Virtual {2}
Imprimir Reporte", Encripta(String.Format("OP=Alm&CveMovimiento={0}", CveMovimientoVirtualEntrada)), CveMovimientoVirtualEntrada, FolioVirtualEntrada) 'onclick='ImprimirTraslado()' + If CancelacionTraspaso IsNot Nothing Then + If CancelacionTraspaso.CveMovimientoEntrada > 0 Then Mensaje.AppendFormat("


Folio Devolución {2}
Imprimir Reporte", Encripta(String.Format("OP=Alm&CveMovimiento={0}", CancelacionTraspaso.CveMovimientoEntrada)), CancelacionTraspaso.CveMovimientoEntrada, CancelacionTraspaso.FolioEntrada) 'onclick='ImprimirTraslado()' + End If Alert(Mensaje.ToString, TipoMensaje.MsgInformacion) diff --git a/Ventas/Clientes.aspx.vb b/Ventas/Clientes.aspx.vb index 84c7b3b23..5f5496898 100644 --- a/Ventas/Clientes.aspx.vb +++ b/Ventas/Clientes.aspx.vb @@ -2965,7 +2965,7 @@ Partial Class Clientes 'HLRemision.HRef = $"/Ventas/Ventas.aspx?CveRemision={e.Row.DBCampo("CveVenta")}" Dim Liga As String = String.Format("< a class=""Texto"" href=""/Ventas/Ventas.aspx?CveVenta={0}"">", e.Row.DBCampo("CveVenta")) - HLSendMail.HRef = String.Format("javascript:(function mail(){{$get('HdnTipoDocto').value='{0}';$get('HdnCveVenta').value='{1}';$get('HdnFolioVenta').value='{2}';$get('TxtParaMail').value='{3}';$get('HdnSerieFolio').value='{4}';$get('HdnSubProyecto').value='{5}';$('#ModalDivMail').modal();return false;}})();", e.Row.DBCampo("TipoDocto"), e.Row.DBCampo("CveVenta"), e.Row.DBCampo("folio"), e.Row.DBCampo("Correo"), e.Row.DBCampo("SerieFolio"), e.Row.DBCampo("SubProyecto")) + HLSendMail.HRef = String.Format("javascript:(function mail(){{$get('HdnTipoDocto').value='{0}';$get('HdnCveVenta').value='{1}';$get('HdnFolioVenta').value='{2}';$get('TxtParaMail').value='{3}';$get('HdnSerieFolio').value='{4}';$get('HdnSubProyecto').value='{5}';$('#ModalDivMail').modal();void(0);}})();", e.Row.DBCampo("TipoDocto"), e.Row.DBCampo("CveVenta"), e.Row.DBCampo("folio"), e.Row.DBCampo("Correo"), e.Row.DBCampo("SerieFolio"), e.Row.DBCampo("SubProyecto")) e.Row.FCLiteral("LtlFactura").Text = String.Format("{1}", e.Row.DBCampo("CveVenta"), e.Row.DBCampo("Folio")) UpSendMail.Update() diff --git a/Ventas/ProductosServicios.aspx.vb b/Ventas/ProductosServicios.aspx.vb index 4fcba66fb..f34184d5b 100644 --- a/Ventas/ProductosServicios.aspx.vb +++ b/Ventas/ProductosServicios.aspx.vb @@ -962,6 +962,9 @@ Partial Class ProductosyServicios ' DdlPSAdicional.SelectedText = "Seleccione" 'End If + DdlEmpacado.SelectedValueExist(ObjProductosServicios.DtResultados.Rows(0)("CveTipoEmpacado").ToString) + DdlTipoOrganico.SelectedValueExist(ObjProductosServicios.DtResultados.Rows(0)("CveTipoOrganico").ToString) + Try DdlClasificacion_SelectedIndexChanged(DdlClasificacion, Nothing) @@ -1450,6 +1453,7 @@ Partial Class ProductosyServicios CveTipoFactor:=DdlTipoFactor.SelectedValue.ToEntero, CveFraccionArancelaria:=DdlFraccionArancelaria.SelectedValue.ToEntero, CveClasificacionDetalle:=DdlTipoPSDes.SelectedValue.ToEntero, CveTamaño:=CveTamaño, CveModelo:=DdlModelo.SelectedValue.ToEntero(), CveMedida:=DdlMedida.SelectedValue.ToEntero(), CveRinTamaño:=DdlRin.SelectedValue.ToEntero(), + CveTipoEmpacado:=DdlEmpacado.SelectedValue.ToEntero(), CveTipoOrganico:=DdlTipoOrganico.SelectedValue.ToEntero(), ClaveImpuestoEmpaque:=DdlImpEmpaque.SelectedValue.ToString, ClaveImpuestoUM:=DdlImpUM.SelectedValue.ToString, ClaveCategoriaToxicidad:=DdlCategoriaToxicidad.SelectedValue.ToString, ClaveImpuestoTipoProducto:=DdlImpTipoProducto.SelectedValue.ToString, EsOutSourcing:=ChkEsOutSourcing.Checked, TiempoCaducidad:=TiempoCaducidad, CvePSAdicionalVigencia:=DdlPSAdicionalVigencia.SelectedValue.ToEntero(), PrecioLibre:=ChkPrecioLibre.Checked, CveMaterialPeligroso:=DdlMaterialPeligroso.SelectedValue.ToEntero, CveEmbalaje:=DdlEmbalaje.SelectedValue.ToEntero, PesoKg:=TxtPesoKg.Text.ToDecimal, Dimensiones:=TxtDimensiones.Text.Trim, @@ -1500,6 +1504,7 @@ Partial Class ProductosyServicios CveTipoFactor:=DdlTipoFactor.SelectedValue.ToEntero, CveFraccionArancelaria:=DdlFraccionArancelaria.SelectedValue.ToEntero, CveUsuarioModifico:=UsuarioActual.CveUsuario, CveClasificacionDetalle:=DdlTipoPSDes.SelectedValue.ToEntero, CveTamaño:=CveTamaño, CveModelo:=DdlModelo.SelectedValue.ToEntero(), CveMedida:=DdlMedida.SelectedValue.ToEntero(), CveRinTamaño:=DdlRin.SelectedValue.ToEntero(), + CveTipoEmpacado:=DdlEmpacado.SelectedValue.ToEntero(), CveTipoOrganico:=DdlTipoOrganico.SelectedValue.ToEntero(), ClaveImpuestoEmpaque:=DdlImpEmpaque.SelectedValue.ToString, ClaveImpuestoUM:=DdlImpUM.SelectedValue.ToString, ClaveCategoriaToxicidad:=DdlCategoriaToxicidad.SelectedValue.ToString, ClaveImpuestoTipoProducto:=DdlImpTipoProducto.SelectedValue.ToString, EsOutSourcing:=ChkEsOutSourcing.Checked, AplicaSerie:=ChkSerie.Checked, AplicaLote:=ChkLote.Checked, AplicaCaducidad:=ChkCaducidad.Checked, AplicaSeccion:=ChkSeccion.Checked, TiempoCaducidad:=TiempoCaducidad, CvePSAdicionalVigencia:=DdlPSAdicionalVigencia.SelectedValue.ToEntero(), PrecioLibre:=ChkPrecioLibre.Checked, diff --git a/Ventas/RepVentasResumen.aspx.vb b/Ventas/RepVentasResumen.aspx.vb index 87e2f0f68..13b684f15 100644 --- a/Ventas/RepVentasResumen.aspx.vb +++ b/Ventas/RepVentasResumen.aspx.vb @@ -73,8 +73,6 @@ Partial Class Ventas_RepVentasResumen CargaCombos() CargaDatos() - GraficaPastel() - GraficaBarras() End If End Sub @@ -142,19 +140,16 @@ Partial Class Ventas_RepVentasResumen Datos = Nothing End If + ObjVentas.Dispose() + ObjMovtos.Dispose() GvVxP.DataBind() GvVxC.DataBind() GvPxC.DataBind() GvCxC.DataBind() - ObjVentas.Dispose() - ObjMovtos.Dispose() - - GvVxP.Dispose() - GvVxC.Dispose() - GvPxC.Dispose() - GvCxC.Dispose() + GraficaPastel() + GraficaBarras() End Sub Protected Sub GvVxP_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvVxP.RowDataBound diff --git a/Ventas/Ventas.aspx b/Ventas/Ventas.aspx index 8e1a04e7f..af25c390a 100644 --- a/Ventas/Ventas.aspx +++ b/Ventas/Ventas.aspx @@ -404,7 +404,8 @@
- Cliente: + + @@ -424,20 +425,15 @@
- + + - - <%-- - - - --%> +
Nombre:  Enviar Mail:
Facturar Sucursal : - -
@@ -510,6 +506,26 @@
+ + <%--CRM--%> + + Empresa:  + + + + + RFC:  + + + + + Medio de Captación::  + + + + <%--CRM--%> + + Atención A: @@ -536,16 +552,20 @@ + + + +
- +<%--
-
+
EMPRESA CRM
@@ -557,26 +577,15 @@
- - - - - - - - - - - - + + + +
Empresa:  -
RFC:  -
Medio de Captación::  -
- + --%> @@ -1406,6 +1415,29 @@
+ + + + + + + + + + + + + + + + +
Descuento Adicional Por Pago: +   +
Total Original: +   +
Total a Pagar: +   +
@@ -2449,127 +2481,127 @@
- - - -
- -
- -
- -
- -
-
-
-
- -
-
- - -
-
-
- -
- -
- -
- -
-
-
-
- - -
-
Nombre:
-
- -
-
-
-
Calle:
-
- -
-
Núm.
-
- -
-
CP.
-
- -
-
-
-
Pais:
-
- - -
-
Estado:
-
- - -
-
-
-
Municipio:
-
- - -
-
Colonia:
-
- - -
-
-
-
+ + +
+ +
+ +
+ +
+ +
-
-
-
- Convertir a unidad Aduana +
+
+ +
+
+ + +
+
+
+ <%-- +
+ +
--%> + +
+ +
+
+
+
+ + +
+
Nombre:
+
+ +
+
+
+
Calle:
+
+ +
+
Núm.
+
+ +
+
CP.
+
+ +
+
+
+
Pais:
+
+ + +
+
Estado:
+
+ + +
+
+
+
Municipio:
+
+ + +
+
Colonia:
+
+ + +
+
+
+
+ +
+
+
+
+ Convertir a unidad Aduana - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + +
-
- - + +
diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb index 2580050e6..c60c002ed 100644 --- a/Ventas/Ventas.aspx.vb +++ b/Ventas/Ventas.aspx.vb @@ -2407,7 +2407,7 @@ Partial Class Ventas UpFacturar.Update() 'CargaTiposDocumentos() TrEmitir.Visible = False - If UsuarioActual.CveRol = 1 OrElse UsuarioActual.CveEmpresa.Contiene(13, 83) Then + If UsuarioActual.CveRol = 1 OrElse UsuarioActual.CveEmpresa.Contiene(13, 83, 172, 173) Then DivCartaPorte.Visible = True End If ViewState("EstablecioFolio") = False @@ -2512,7 +2512,13 @@ Partial Class Ventas TrObsAlmacen.Visible = False TrTxtObsAlmacen.Visible = False TrPedido.Visible = False + + + TrOC.Visible = False + + + DdlTipoComprobante.SelectedValue = "Op" Else Opcion = "Ing" @@ -5993,6 +5999,21 @@ Partial Class Ventas DdlFormaCliente.DataBind() DdlMetodoCliente.DataSource = GlobalDTVtaMetodoPago DdlMetodoCliente.DataBind() + + If CveMetodoPago = 1 AndAlso DdlTipoComprobante.SelectedValue = "Cot" AndAlso UsuarioActual.Empresa.Funcionalidad(558) = "1" AndAlso TbDescuentosAdicionales.Visible Then + If TmpDT.SUMD("Descuento") > 0 Then + Dim TotalDescuento As Decimal = TmpDT.SUMD("Total", "Descuento > 0") * 0.05D + Dim RowDescuentos = TmpDT.Select("Descuento > 0") + + If RowDescuentos IsNot Nothing Then + LblDescuentoAdicional.Text = TotalDescuento.FormatoNumero(2) + CalculaTotalesVenta() + End If + Else + LblDescuentoAdicional.Text = "0.00" + End If + UpPS.Update() + End If 'End If End Sub Private Sub CargaUsoCFDI() @@ -6149,6 +6170,8 @@ Partial Class Ventas If CveSubProyecto > 0 Then DdlSubProyecto.SelectedValueExist(CveSubProyecto) End Sub + + Private Sub CargaEmpresaCRM(CveEmpresaCRM As Integer) Dim ObjCRM As New ClsCRM If ObjCRM.GetEmpresasCRM(UsuarioActual.CveEmpresa, CveEmpresaCRM) Then @@ -6165,7 +6188,8 @@ Partial Class Ventas TxtCodigo.ReadOnly = True UpCliente.Visible = True - UpEmpresaCRM.Visible = False + + 'UpEmpresaCRM.Visible = False Else LblEmpresaCRM.Text = ObjCRM.DtResultados.Rows(0)("Empresa").ToString() LblRFCCRM.Text = ObjCRM.DtResultados.Rows(0)("RFC").ToString() @@ -6175,8 +6199,28 @@ Partial Class Ventas LblEnviarMail.Visible = False UPCondicionesPago.Visible = True - UpCliente.Visible = False - UpEmpresaCRM.Visible = True + 'UpCliente.Visible = False + 'UpEmpresaCRM.Visible = True + + trNombreCliente.Visible = False + trsucursalciente.Visible = False + TrDireccion.Visible = False + TrCiudad.Visible = False + TrRFC.Visible = False + TrOP.Visible = False + trDireccionEnvio.Visible = False + + TrAtencionA.Visible = True + trCRM1.Visible = True + trCRM2.Visible = True + trCRM3.Visible = True + + LblTituloPorletCliente.Text = "EMPRESA CRM" + + tdTelefonoGen.Visible = False + tdTxtTelefonoGen.Visible = False + + End If Me.CveVendedorEmpresaCRM = ObjCRM.DtResultados.Rows(0)("CveVendedorAsignado").ToString().ToEntero() @@ -6184,16 +6228,22 @@ Partial Class Ventas DdlVendedor.SelectedValueExist(ObjCRM.DtResultados.Rows(0)("CveVendedorAsignado").ToString()) DdlVendedor.Enabled = False LbAgregar.Enabled = True + + 'TrAtencionA.Visible = True + TrOC.Visible = True + End If ThTiempoEntrega.Visible = True - ThTiempoEntrega2.Visible = True - GvPS.Columns(5).Visible = True + ThTiempoEntrega2.Visible = True + GvPS.Columns(5).Visible = True End If ObjCRM.Dispose() End Sub + + Private Sub CargaCliente(CveCliente As Integer, Optional Estatus As Integer = -1) If CveCliente <= 0 Then Exit Sub @@ -6423,9 +6473,9 @@ Partial Class Ventas End If If ObjCliente.AplicaComercioExterior Then - DdlSATMotivoTraslado.DataSource = GlobalDTSATMotivoTraslado - DdlSATMotivoTraslado.DataBind() - DdlSATMotivoTraslado.SelectedValueExist(ObjCliente.CveMotivoTraslado) + 'DdlSATMotivoTraslado.DataSource = GlobalDTSATMotivoTraslado + 'DdlSATMotivoTraslado.DataBind() + 'DdlSATMotivoTraslado.SelectedValueExist(ObjCliente.CveMotivoTraslado) DdlIncoterm.Items.Clear() DdlIncoterm.DataSource = GlobalDTIncoterm() DdlIncoterm.DataBind() @@ -7298,7 +7348,9 @@ Partial Class Ventas LblEstado.Text = ObjCliente.DtResultados.Rows(0)("Estado").ToString() 'TxtNumCtaPago.Text = ObjCliente.DtResultados.Rows(0)("NumCtaPago").ToString() LblTelefono.Text = ObjCliente.DtResultados.Rows(0)("Telefono").ToString() - LblCP.Text = ObjCliente.DtResultados.Rows(0)("CP").ToString() + If Not UsuarioActual.Empresa.Funcionalidad(350) = "1" Then + LblCP.Text = ObjCliente.DtResultados.Rows(0)("CP").ToString() + End If ViewState("CliLocalidad") = ObjCliente.DtResultados.Rows(0)("Localidad").ToString() ViewState("CliPais") = ObjCliente.DtResultados.Rows(0)("Pais").ToString() ViewState("CliNoExt") = ObjCliente.DtResultados.Rows(0)("NoExt").ToString() @@ -8557,7 +8609,6 @@ Partial Class Ventas #End Region #Region " EMITIR IMPRIMIR - GUARDAR " - Protected Sub BtnEmitirImprimir_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BtnEmitirImprimir.Click Try EmitirImprimir() @@ -9184,11 +9235,12 @@ Partial Class Ventas Dim ArchivoSti As New System.IO.FileInfo(String.Format("{0}Formatos/Factura.mrt", UsuarioActual.Empresa.Ruta)) Dim ArchivoSti2 As New System.IO.FileInfo(String.Format("{0}Formatos/Remision.mrt", UsuarioActual.Empresa.Ruta)) + Dim ArchivoSti3 As New System.IO.FileInfo(String.Format("{0}Formatos/Cotizacion.mrt", UsuarioActual.Empresa.Ruta)) LnkImprimir.Visible = False 'If (UsuarioActual.CveEmpresa.Contiene(1, 4, 5, 7, 11, 12, 72, 80, 81, 83) And UsuarioActual.CveUsuario = 100) Or UsuarioActual.CveEmpresa.Contiene(80, 83) Or UsuarioActual.CveUsuario = 100 Then - If (Archivo.Exists Or Archivo2.Exists Or ArchivoSti.Exists Or ArchivoSti2.Exists) And IfNull(CveVenta, 0).ToString().ToEntero() > 0 Then + If (Archivo.Exists Or Archivo2.Exists Or ArchivoSti.Exists Or ArchivoSti2.Exists Or ArchivoSti3.Exists) And IfNull(CveVenta, 0).ToString().ToEntero() > 0 Then HplDownPDF.Visible = True HplDownPDF.NavigateUrl = String.Format("/Compras/PopUpVerFactura.aspx?P={0}", Encripta(String.Format("OP=VTA&CVEVENTA={0}&PAG=1&GUARDAR=1", CveVenta))) If UsuarioActual.CveRol = 1 Then @@ -9218,10 +9270,8 @@ Partial Class Ventas Exit Sub End If - CreaObjetosVenta(TipoDoctoViejo:=TipoDoctoViejo) - 'Verifica versión 3.3.() - If ObjFactura.Version = "3.3" AndAlso Not DdlTipoComprobante.SelectedValue.Contiene("Ped", "PeC") Then + If (Not UsuarioActual.Empresa.Funcionalidad(350) = "1") AndAlso Not DdlTipoComprobante.SelectedValue.Contiene("Ped", "PeC") Then Dim dttsat As DataTable = TmpDT.FiltraParametros("ISNULL(SATClaveProdServ,'') = '' OR ISNULL(SATClaveUM,'') = '' ") If dttsat IsNot Nothing AndAlso dttsat.Rows.Count > 0 Then Dim str As New StringBuilder @@ -9253,6 +9303,40 @@ Partial Class Ventas End If End If + 'CREA UNA COPIA DE SEGURIDAD PARA LOS DATOS DEL TMPDT + If TmpDTError Is Nothing OrElse TmpDTError.Rows.Count = 0 Then + TmpDTError = TmpDT.Copy() + End If + + If UsuarioActual.Empresa.Funcionalidad(558) = "1" AndAlso TbDescuentosAdicionales.Visible Then + If LblDescuentoAdicional.Text.ToDecimal() > 0 Then + Dim TotalDescuento As Decimal = LblDescuentoAdicional.Text.ToDecimal() / (1D + TmpDT.MAX("PorcentajeIVA").ToString().ToDecimal()) + Dim RowDescuentos = TmpDT.Select("Descuento > 0") + + If RowDescuentos IsNot Nothing Then + + Dim Row As DataRow = RowDescuentos(0) + Row("Descuento") = Row("Descuento").ToString().ToDecimal() + TotalDescuento + + Dim TotalCalculableImpuestos As Decimal = (Row("Cantidad").ToString().ToDecimal() * Row("PU").ToString().ToDecimal()) - Row("Descuento").ToString().ToDecimal() + Row("ImporteIVA") = (TotalCalculableImpuestos * Row("PorcentajeIVA").ToString().ToDecimal()).RoundSQL(2) + + CalculaTotalesVenta(RecalcularTotalOriginal:=False) + + 'UpPS.Update() + 'VALIDA EL CALCULO DE LOS DESCUENTOS + If (LblTotalOriginal.Text.ToDecimal() - LblDescuentoAdicional.Text.ToDecimal()) <> TxtTotal.Text.ToDecimal() Then + TmpDT = TmpDTError.Copy() + CalculaTotalesVenta(RecalcularTotalOriginal:=False) + Alert("Ocurrió un error al procesar los datos de la Venta. Los descuentos no coinciden con el importe final", TipoMensaje.MsgError) + Exit Sub + End If + End If + End If + End If + + CreaObjetosVenta(TipoDoctoViejo:=TipoDoctoViejo) + If ObjFactura Is Nothing Or (ObjFactura.Cliente Is Nothing And Not CveEmpresaCRM > 0) Then Alert("Ocurrió un error al procesar los datos de la Venta.", TipoMensaje.MsgError) ObjFactura = Nothing @@ -10138,6 +10222,7 @@ Partial Class Ventas MensajeAlert = Nothing If ObjContPaq IsNot Nothing Then ObjContPaq.Dispose() TmpDT = TmpDTError.Copy + CalculaTotalesVenta(RecalcularTotalOriginal:=False) Else ObjVentas.RollBack() @@ -10161,7 +10246,7 @@ Partial Class Ventas MensajeAlert = Nothing If ObjContPaq IsNot Nothing Then ObjContPaq.Dispose() TmpDT = TmpDTError.Copy - + CalculaTotalesVenta(RecalcularTotalOriginal:=False) End If ObjFactura = Nothing ListaNotasCreditoGeneradas = Nothing @@ -12197,115 +12282,116 @@ Partial Class Ventas i += 1 Next - Dim AplicaComercioExteriorSubProyecto As Boolean + Dim AplicaComercioExteriorSubProyecto As Boolean = True If ChkEmitirComercioExterior.Checked Then - AplicaComercioExteriorSubProyecto = If(GlobalDTSubProyectos(-1, Obj.CveSubProyecto, CveEmpresa:=UsuarioActual.CveEmpresa)(0)("AplicaComercioExterior").ToString() = "True", True, False) + 'AplicaComercioExteriorSubProyecto = If(GlobalDTSubProyectos(-1, Obj.CveSubProyecto, CveEmpresa:=UsuarioActual.CveEmpresa)(0)("AplicaComercioExterior").ToString() = "True", True, False) Timbre.Complementos.ComercioExterior11.AplicaComercioExteriorSubProyecto = AplicaComercioExteriorSubProyecto - If Obj.Cliente.AplicaComercioExterior And AplicaComercioExteriorSubProyecto Then - 'DATOS GENERALES + 'DATOS GENERALES - Timbre.Comprobante.Exportacion = "02" - Timbre.Complementos.ComercioExterior11.TipoOperacion = GlobalDTTipoOperacion().FiltraParametros($"CveTipoOperacion={CveTipoOperacion}")(0)("ClaveSATTipoOperacion").ToString() - Timbre.Complementos.ComercioExterior11.ClavedePedimento = GlobalDTClavePedimento().FiltraParametros($"CvePedimento={CvePedimento}")(0)("ClaveSATPedimento").ToString() - Timbre.Complementos.ComercioExterior11.CertificadoOrigen = "0" - Timbre.Complementos.ComercioExterior11.Incoterm = GlobalDTIncoterm.FiltroPrimeroValor("ClaveSATIncoterm", $"CveIncoterm={DdlIncoterm.SelectedValue}") - Timbre.Complementos.ComercioExterior11.Subdivision = "0" + Timbre.Comprobante.Exportacion = "02" + Timbre.Complementos.ComercioExterior11.TipoOperacion = GlobalDTTipoOperacion().FiltraParametros($"CveTipoOperacion={CveTipoOperacion}")(0)("ClaveSATTipoOperacion").ToString() + Timbre.Complementos.ComercioExterior11.ClavedePedimento = GlobalDTClavePedimento().FiltraParametros($"CvePedimento={CvePedimento}")(0)("ClaveSATPedimento").ToString() + Timbre.Complementos.ComercioExterior11.CertificadoOrigen = "0" + Timbre.Complementos.ComercioExterior11.Incoterm = GlobalDTIncoterm.FiltroPrimeroValor("ClaveSATIncoterm", $"CveIncoterm={DdlIncoterm.SelectedValue}") + Timbre.Complementos.ComercioExterior11.Subdivision = "0" - Timbre.Complementos.ComercioExterior11.TipoCambioUSD = If(Obj.CveMoneda = 1, 1, Obj.TipoCambio) - If Timbre.Comprobante.TipoComprobante = "T" Then - Timbre.Complementos.ComercioExterior11.MotivoTraslado = GlobalDTSATMotivoTraslado.FiltroPrimeroValor("ClaveSATMotivoTraslado", $"CveMotivoTraslado={DdlSATMotivoTraslado.SelectedValue}") - Else - Timbre.Complementos.ComercioExterior11.MotivoTraslado = "" - End If + Timbre.Complementos.ComercioExterior11.TipoCambioUSD = If(Obj.CveMoneda = 1, 1, Obj.TipoCambio) - 'EMISOR - Dim Dr As DataRow - Dr = Nothing - If GlobalDTSubProyectos(-1, DdlSubProyectoDatos.SelectedValue.ToEntero(), CveEmpresa:=UsuarioActual.CveEmpresa).Rows.Count > 0 Then - Dr = GlobalDTSubProyectos(-1, DdlSubProyectoDatos.SelectedValue.ToEntero(), CveEmpresa:=UsuarioActual.CveEmpresa)(0) - End If - Timbre.Complementos.ComercioExterior11.Emisor.CURP = UsuarioActual.Empresa.CURP - Timbre.Complementos.ComercioExterior11.Emisor.Calle = Dr("Calle").ToString() - Timbre.Complementos.ComercioExterior11.Emisor.NumeroExterior = Dr("NoExt").ToString() - Timbre.Complementos.ComercioExterior11.Emisor.NumeroInterior = Dr("NoInt").ToString() - Timbre.Complementos.ComercioExterior11.Emisor.Colonia = Dr("ClaveSATColonia").ToString() - Timbre.Complementos.ComercioExterior11.Emisor.Localidad = "" - Timbre.Complementos.ComercioExterior11.Emisor.Municipio = Dr("ClaveSATMunicipio").ToString() - Timbre.Complementos.ComercioExterior11.Emisor.Estado = Dr("ClaveSATEstado").ToString() - Timbre.Complementos.ComercioExterior11.Emisor.Pais = Dr("ClaveSATPais").ToString() - Timbre.Complementos.ComercioExterior11.Emisor.CP = Dr("ClaveSATCP").ToString() + Timbre.Complementos.ComercioExterior11.MotivoTraslado = "" - Dim ComExtPais, ComExtEstado, ComExtMunicipio, ComExtColonia, ComExtCalle, ComExtNumero, ComExtCP As String - ComExtColonia = "" : ComExtMunicipio = "" - ComExtPais = GlobalDTGralPaises.FiltroPrimeroValor("ClaveSATPais", $"CvePais={DdlComExtPais.SelectedValue}") - ComExtCalle = TxtComExtCalle.Text.Trim - ComExtNumero = TxtComExtNumero.Text.Trim - ComExtCP = TxtComExtCP.Text.Trim + 'If Timbre.Comprobante.TipoComprobante = "T" Then + ' Timbre.Complementos.ComercioExterior11.MotivoTraslado = GlobalDTSATMotivoTraslado.FiltroPrimeroValor("ClaveSATMotivoTraslado", $"CveMotivoTraslado={DdlSATMotivoTraslado.SelectedValue}") + 'Else + ' Timbre.Complementos.ComercioExterior11.MotivoTraslado = "" + 'End If - If ComExtPais = "MEX" Then + 'EMISOR + Dim Dr As DataRow + Dr = Nothing + If GlobalDTSubProyectos(-1, DdlSubProyectoDatos.SelectedValue.ToEntero(), CveEmpresa:=UsuarioActual.CveEmpresa).Rows.Count > 0 Then + Dr = GlobalDTSubProyectos(-1, DdlSubProyectoDatos.SelectedValue.ToEntero(), CveEmpresa:=UsuarioActual.CveEmpresa)(0) + End If + Timbre.Complementos.ComercioExterior11.Emisor.CURP = UsuarioActual.Empresa.CURP + Timbre.Complementos.ComercioExterior11.Emisor.Calle = Dr("Calle").ToString() + Timbre.Complementos.ComercioExterior11.Emisor.NumeroExterior = Dr("NoExt").ToString() + Timbre.Complementos.ComercioExterior11.Emisor.NumeroInterior = Dr("NoInt").ToString() + Timbre.Complementos.ComercioExterior11.Emisor.Colonia = Dr("ClaveSATColonia").ToString() + Timbre.Complementos.ComercioExterior11.Emisor.Localidad = "" + Timbre.Complementos.ComercioExterior11.Emisor.Municipio = Dr("ClaveSATMunicipio").ToString() + Timbre.Complementos.ComercioExterior11.Emisor.Estado = Dr("ClaveSATEstado").ToString() + Timbre.Complementos.ComercioExterior11.Emisor.Pais = Dr("ClaveSATPais").ToString() + Timbre.Complementos.ComercioExterior11.Emisor.CP = Dr("ClaveSATCP").ToString() + + Dim ComExtPais, ComExtEstado, ComExtMunicipio, ComExtColonia, ComExtCalle, ComExtNumero, ComExtCP As String + ComExtColonia = "" : ComExtMunicipio = "" + ComExtPais = GlobalDTGralPaises.FiltroPrimeroValor("ClaveSATPais", $"CvePais={DdlComExtPais.SelectedValue}") + ComExtCalle = TxtComExtCalle.Text.Trim + ComExtNumero = TxtComExtNumero.Text.Trim + ComExtCP = TxtComExtCP.Text.Trim + + If ComExtPais = "MEX" Then + ComExtEstado = GlobalDTGralEstados(ComExtPais).FiltroPrimeroValor("ClaveSATEstado", $"CveEstado={DdlComExtEstado.SelectedValue}") + ComExtMunicipio = GlobalDTGralMunicipios(ComExtEstado).FiltroPrimeroValor("ClaveSATMunicipio", $"CveMunicipio={DdlComExtMunicipio.SelectedValue}") + ComExtColonia = GlobalDTGralColonias("-1", "-1", "-1", CveColonia:=DdlComExtColonia.SelectedValue.ToEntero).FiltroPrimeroValor("ClaveSATColonia", "") + Else + If ComExtPais.Contiene("USA", "CAN") Then ComExtEstado = GlobalDTGralEstados(ComExtPais).FiltroPrimeroValor("ClaveSATEstado", $"CveEstado={DdlComExtEstado.SelectedValue}") - ComExtMunicipio = GlobalDTGralMunicipios(ComExtEstado).FiltroPrimeroValor("ClaveSATMunicipio", $"CveMunicipio={DdlComExtMunicipio.SelectedValue}") - ComExtColonia = GlobalDTGralColonias("-1", "-1", "-1", CveColonia:=DdlComExtColonia.SelectedValue.ToEntero).FiltroPrimeroValor("ClaveSATColonia", "") Else - If ComExtPais.Contiene("USA", "CAN") Then - ComExtEstado = GlobalDTGralEstados(ComExtPais).FiltroPrimeroValor("ClaveSATEstado", $"CveEstado={DdlComExtEstado.SelectedValue}") - Else - ComExtEstado = TxtComExtEstado.Text.Trim - End If - ComExtMunicipio = TxtComExtMunicipio.Text.Trim - ComExtColonia = TxtComExtColonia.Text.Trim + ComExtEstado = TxtComExtEstado.Text.Trim End If + ComExtMunicipio = TxtComExtMunicipio.Text.Trim + ComExtColonia = TxtComExtColonia.Text.Trim + End If - 'RECEPTOR - Timbre.Complementos.ComercioExterior11.Receptor.NumRegIdTrib = If(Timbre.Comprobante.Version = "4.0", Obj.Cliente.NumRegIdTrib, "") ' EN LA VERSION 3.3 NO DEBE DE REGISTRARSE ESTE VALOR - Timbre.Complementos.ComercioExterior11.Receptor.Calle = ComExtCalle - Timbre.Complementos.ComercioExterior11.Receptor.NumeroExterior = ComExtNumero - Timbre.Complementos.ComercioExterior11.Receptor.NumeroInterior = "" - Timbre.Complementos.ComercioExterior11.Receptor.Colonia = ComExtColonia - Timbre.Complementos.ComercioExterior11.Receptor.Localidad = "" - Timbre.Complementos.ComercioExterior11.Receptor.Referencia = Obj.Cliente.ReferenciaFiscal - Timbre.Complementos.ComercioExterior11.Receptor.Municipio = ComExtMunicipio - Timbre.Complementos.ComercioExterior11.Receptor.CP = ComExtCP - Timbre.Complementos.ComercioExterior11.Receptor.Estado = ComExtEstado - Timbre.Complementos.ComercioExterior11.Receptor.Pais = ComExtPais - Timbre.Receptor.ResidenciaFiscal = Obj.Cliente.ClaveSATPais - Timbre.Receptor.NumeroRegistroTributario = Obj.Cliente.NumRegIdTrib + 'RECEPTOR + Timbre.Complementos.ComercioExterior11.Receptor.NumRegIdTrib = If(Timbre.Comprobante.Version = "4.0", Obj.Cliente.NumRegIdTrib, "") ' EN LA VERSION 3.3 NO DEBE DE REGISTRARSE ESTE VALOR + Timbre.Complementos.ComercioExterior11.Receptor.Calle = ComExtCalle + Timbre.Complementos.ComercioExterior11.Receptor.NumeroExterior = ComExtNumero + Timbre.Complementos.ComercioExterior11.Receptor.NumeroInterior = "" + Timbre.Complementos.ComercioExterior11.Receptor.Colonia = ComExtColonia + Timbre.Complementos.ComercioExterior11.Receptor.Localidad = "" + Timbre.Complementos.ComercioExterior11.Receptor.Referencia = Obj.Cliente.ReferenciaFiscal + Timbre.Complementos.ComercioExterior11.Receptor.Municipio = ComExtMunicipio + Timbre.Complementos.ComercioExterior11.Receptor.CP = ComExtCP + Timbre.Complementos.ComercioExterior11.Receptor.Estado = ComExtEstado + Timbre.Complementos.ComercioExterior11.Receptor.Pais = ComExtPais + Timbre.Receptor.ResidenciaFiscal = Obj.Cliente.ClaveSATPais + Timbre.Receptor.NumeroRegistroTributario = Obj.Cliente.NumRegIdTrib - 'DESTINATARIO - Timbre.Complementos.ComercioExterior11.Destinatario = Nothing + 'DESTINATARIO + Timbre.Complementos.ComercioExterior11.Destinatario = Nothing - 'Timbre.Complementos.ComercioExterior11.Destinatario.Nombre = TxtDestinatarioNombre.Text.Trim - 'Timbre.Complementos.ComercioExterior11.Destinatario.Calle = ComExtCalle - 'Timbre.Complementos.ComercioExterior11.Destinatario.NumeroExterior = ComExtNumero - 'Timbre.Complementos.ComercioExterior11.Destinatario.NumeroInterior = "" - 'Timbre.Complementos.ComercioExterior11.Destinatario.Colonia = ComExtColonia - 'Timbre.Complementos.ComercioExterior11.Destinatario.Localidad = "" - 'Timbre.Complementos.ComercioExterior11.Destinatario.Referencia = Obj.Cliente.ReferenciaFiscal - 'Timbre.Complementos.ComercioExterior11.Destinatario.Municipio = ComExtMunicipio - 'Timbre.Complementos.ComercioExterior11.Destinatario.CP = ComExtCP - 'Timbre.Complementos.ComercioExterior11.Destinatario.Estado = ComExtEstado - 'Timbre.Complementos.ComercioExterior11.Destinatario.Pais = ComExtPais - 'Timbre.Complementos.ComercioExterior11.Destinatario.NumRegIdTrib = TxtNumRegIdTrib.Text.Trim + 'Timbre.Complementos.ComercioExterior11.Destinatario.Nombre = TxtDestinatarioNombre.Text.Trim + 'Timbre.Complementos.ComercioExterior11.Destinatario.Calle = ComExtCalle + 'Timbre.Complementos.ComercioExterior11.Destinatario.NumeroExterior = ComExtNumero + 'Timbre.Complementos.ComercioExterior11.Destinatario.NumeroInterior = "" + 'Timbre.Complementos.ComercioExterior11.Destinatario.Colonia = ComExtColonia + 'Timbre.Complementos.ComercioExterior11.Destinatario.Localidad = "" + 'Timbre.Complementos.ComercioExterior11.Destinatario.Referencia = Obj.Cliente.ReferenciaFiscal + 'Timbre.Complementos.ComercioExterior11.Destinatario.Municipio = ComExtMunicipio + 'Timbre.Complementos.ComercioExterior11.Destinatario.CP = ComExtCP + 'Timbre.Complementos.ComercioExterior11.Destinatario.Estado = ComExtEstado + 'Timbre.Complementos.ComercioExterior11.Destinatario.Pais = ComExtPais + 'Timbre.Complementos.ComercioExterior11.Destinatario.NumRegIdTrib = TxtNumRegIdTrib.Text.Trim - 'MERCANCIAS - For Each Gvr As GridViewRow In GvComercioExterior.Rows - Dim mercancia As New CFDIComercioExterior11Mercancias With {.CantidadAduana = Gvr.FCTextBox("TxtCantidad").Text.ToDecimal, + 'MERCANCIAS + For Each Gvr As GridViewRow In GvComercioExterior.Rows + Dim mercancia As New CFDIComercioExterior11Mercancias With {.CantidadAduana = Gvr.FCTextBox("TxtCantidad").Text.ToDecimal, .FraccionArancelaria = Gvr.DataKey("ClaveSATFraccionArancelaria").ToString(), .UnidadAduana = Gvr.DataKey("ClaveSATUnidadAduana").ToString(), .ValorDolares = Math.Round(Gvr.FCTextBox("TxtCantidad").Text.ToDecimal * Gvr.FCTextBox("TxtValorUnitario").Text.ToDecimal, 2), .ValorUnitarioAduana = Gvr.FCTextBox("TxtValorUnitario").Text.ToDecimal, .NoIdentificacion = Gvr.DataKey("Codigo")} - If Gvr.FCTextBox("TxtMarca").Text <> "" Then - mercancia.DescripcionesEspecificas.Marca = Gvr.FCTextBox("TxtMarca").Text - End If + If Gvr.FCTextBox("TxtMarca").Text <> "" Then + mercancia.DescripcionesEspecificas.Marca = Gvr.FCTextBox("TxtMarca").Text + End If - Timbre.Complementos.ComercioExterior11.Mercancias.Add(mercancia) - i += 1 - Next - End If + Timbre.Complementos.ComercioExterior11.Mercancias.Add(mercancia) + i += 1 + Next Else @@ -17750,7 +17836,7 @@ Partial Class Ventas End If 'SI NO TIENE LA FUNCIONALIDAD VALIDARA LAS MONEDAS - If Not UsuarioActual.Empresa.Funcionalidad(524) <> "" Then + If UsuarioActual.Empresa.Funcionalidad(524) <> "" Then If TmpDT IsNot Nothing AndAlso TmpDT.Rows.Count >= 1 Then Dim DrPS As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePS).Rows(0) If DrPS IsNot Nothing Then @@ -17969,6 +18055,12 @@ Partial Class Ventas ObjDescuento.ImporteDescuento = 0 Return ObjDescuento End If + + If DdlTipoComprobante.SelectedValue.Contiene("Ing", "Cot") AndAlso CveRinTamañoPS > 0 Then + If UsuarioActual.Empresa.Funcionalidad(558) = "1" AndAlso Not TbDescuentosAdicionales.Visible Then + TbDescuentosAdicionales.Visible = True + End If + End If End If Dim dr As DataRow = Nothing @@ -19241,7 +19333,7 @@ Partial Class Ventas ConfiguraTipoDocto() End If End Sub - Private Sub CalculaTotalesVenta(Optional RecalculaImpuestosLocales As Boolean = True, Optional NCDescuento As Boolean = False, Optional ValidarDescuentos As Boolean = False) + Private Sub CalculaTotalesVenta(Optional RecalculaImpuestosLocales As Boolean = True, Optional NCDescuento As Boolean = False, Optional ValidarDescuentos As Boolean = False, Optional RecalcularTotalOriginal As Boolean = True) Dim TotalSubTotal As Decimal = TmpDT.SUMD("TotalImporte") Dim TotalSubTotalRef As Decimal = TotalSubTotal @@ -19346,6 +19438,12 @@ Partial Class Ventas LblTotalAPagar.Text = (TxtTotal.Text.ToDecimal() - TotalRemNCAplicado - TotalProntoPago).FormatoNumero + If RecalcularTotalOriginal Then + LblTotalOriginal.Text = (TxtTotal.Text.ToDecimal()).FormatoNumero + End If + + LblTotalAPagarAdicional.Text = (LblTotalOriginal.Text.ToDecimal() - LblDescuentoAdicional.Text.ToDecimal()).FormatoNumero + LblAmort.Text = TxtSubTotal.Text If CveVenta <= 0 OrElse (CveDevolucion > 0 And NuevaFactura = 1) Then HdnVentaSaldo.Value = Total.ToString() @@ -22071,6 +22169,9 @@ Partial Class Ventas Dim saldo = TxtTotal.Text.Replace(",", "").ToDouble - abonado 'CVImporteContado.ValueToCompare = (saldo.FormatoNumero(2).ToDouble).ToString() + LblDescuentoAdicional.Text = "0.00" + CalculaTotalesVenta() + CargaGridContado() UpContado.Update() End Sub @@ -22322,6 +22423,40 @@ Partial Class Ventas End If End If + Dim VieneDeCotizacion As Boolean = False + If DtCotizacionesPS IsNot Nothing AndAlso DtCotizacionesPS.Rows.Count > 0 Then + VieneDeCotizacion = True + End If + + If DdlTipoComprobante.SelectedValue = "Ing" AndAlso (Not VieneDeCotizacion) AndAlso UsuarioActual.Empresa.Funcionalidad(558) = "1" AndAlso DtPagos IsNot Nothing AndAlso TbDescuentosAdicionales.Visible Then + If TmpDT.SUMD("Descuento") > 0 AndAlso DtPagos.SUMD("Importe", "MesesSinIntereses <=0") = TxtTotal.Text.ToDecimal() Then + Dim TotalDescuento As Decimal = TmpDT.SUMD("Total", "Descuento > 0") * 0.05D + Dim RowDescuentos = TmpDT.Select("Descuento > 0") + + If RowDescuentos IsNot Nothing Then + LblDescuentoAdicional.Text = TotalDescuento.FormatoNumero(2) + + 'Dim Row As DataRow = RowDescuentos(0) + 'Row("Descuento") = Row("Descuento").ToString().ToDecimal() + TotalDescuento + + 'Dim TotalCalculableImpuestos As Decimal = (Row("Cantidad").ToString().ToDecimal() * Row("PU").ToString().ToDecimal()) - Row("Descuento").ToString().ToDecimal() + 'Row("ImporteIVA") = (TotalCalculableImpuestos * Row("PorcentajeIVA").ToString().ToDecimal()).RoundSQL(2) + + 'BtnAgregarPago.Enabled = False + + CalculaTotalesVenta() + + Dim RowPago = DtPagos.Rows(0) + RowPago("Importe") = LblTotalAPagarAdicional.Text.ToDecimal() + + + End If + Else + LblDescuentoAdicional.Text = "0.00" + End If + UpPS.Update() + End If + CargaGridContado() UpContado.Update() @@ -22360,7 +22495,7 @@ Partial Class Ventas If (Not PermiteCredito OrElse RBLPago.SelectedValue = "2") AndAlso TienePagos AndAlso TxtTotal.Text.ToDecimal > 0 Then Dim TotalPago As Decimal = DtPagos.SUM("Importe").ToDecimal() + AmortizacionNC - If TotalPago <> TxtTotal.Text.ToDecimal Then + If TotalPago <> (TxtTotal.Text.ToDecimal - LblDescuentoAdicional.Text.ToDecimal()) Then If MostrarAlertas Then Alert("La suma de los pagos debe ser igual al total de la venta.", TipoMensaje.MsgAdvertencia) End If @@ -29481,7 +29616,8 @@ Partial Class Ventas Dim PU As Decimal = If(AplicaPUEditado, Gv.FCTextBox("TxtPrecioEditado").Text.ToDecimal, Gv.DataKey("PU").ToDecimal) Dim Total As Decimal = (Cantidad * PU) Dim TotalImpuestos As Decimal = (Cantidad * PU) - Descuento - Dim ImporteIVA As Decimal = TotalImpuestos * Gv.DataKey("PorcentajeIVA").ToString().ToDecimal + Dim TotalCalculableImpuestosIVA = TotalImpuestos * (1 + Gv.DataKey("PorcentajeIEPS").ToString().ToDecimal) + Dim ImporteIVA As Decimal = TotalCalculableImpuestosIVA * Gv.DataKey("PorcentajeIVA").ToString().ToDecimal Dim ImporteRetIVA As Decimal = TotalImpuestos * Gv.DataKey("PorcentajeRetIVA").ToString().ToDecimal Dim ImporteRetISR As Decimal = TotalImpuestos * Gv.DataKey("PorcentajeRetISR").ToString().ToDecimal Dim ImporteIEPS As Decimal = TotalImpuestos * Gv.DataKey("PorcentajeIEPS").ToString().ToDecimal @@ -35535,6 +35671,9 @@ Partial Class Ventas Protected Sub ChkEmitirComercioExterior_CheckedChanged(sender As Object, e As EventArgs) If CveVenta <= 0 OrElse EsCreaApartirDe Then + + ViewState("AplicaComercioExterior") = ChkEmitirComercioExterior.Checked + If ChkEmitirComercioExterior.Checked Then DdlMoneda.SelectedValueExist("2") CambiaMoneda() diff --git a/vwd.webinfo b/vwd.webinfo deleted file mode 100644 index d54ddc206..000000000 --- a/vwd.webinfo +++ /dev/null @@ -1,590 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file
Descuentos RNC: