diff --git a/App_Code/Modelos.vb b/App_Code/Modelos.vb index f242730dd..1b88ed2c4 100644 --- a/App_Code/Modelos.vb +++ b/App_Code/Modelos.vb @@ -3574,21 +3574,6 @@ Namespace Modelos End If Next - If ObjConta.ValidacionesPrePoliza(ObjFactura.CvePrePoliza, UsuarioActual, Opcion:=5) Then - If ObjConta.ValorPolizaDescuadre > 0 Then - ErrorPrepoliza = True - GuardaLogAD($"Ventas/Ventas-ProcesoPrePolizas | Error:{ObjConta.MensajePolizaDescuadre} Diferencia:{ObjConta.ValorDiferencia} | CvePrePoliza:{ObjFactura.CvePrePoliza}", "LogPrePolizas") - - 'SIRVE PARA VER LA PREPOLIZA QUE SE VALIDA - 'If ObjConta.GetPrePolizasDetalle(ObjFactura.CvePrePoliza) Then - ' Dim DtTest = ObjConta.DtResultados - 'End If - End If - - importeMovimiento = 0 - importeMX = 0 - End If - If ErrorPrepoliza Then Exit For End If @@ -3651,15 +3636,12 @@ Namespace Modelos End If End If - If ObjConta.ValidacionesPrePoliza(ObjFactura.CvePrePoliza, UsuarioActual, Opcion:=5) Then - If ObjConta.ValorPolizaDescuadre > 0 Then - ErrorPrepoliza = True - GuardaLogAD($"Ventas/Ventas-ProcesoPrePolizas | Error:{ObjConta.MensajePolizaDescuadre} Diferencia:{ObjConta.ValorDiferencia} | CvePrePoliza:{ObjFactura.CvePrePoliza}", "LogPrePolizas") - End If - End If - End If End If + + importeMovimiento = 0 + importeMX = 0 + End If End If diff --git a/App_Code/Timbrado.vb b/App_Code/Timbrado.vb index cdfff5558..19b3bbb23 100644 --- a/App_Code/Timbrado.vb +++ b/App_Code/Timbrado.vb @@ -352,7 +352,7 @@ Public Class Timbrado Dim UsuarioServicio As String = If(CvePACCancelacion = 2, Empresa.RFC, "rene.molina@adsistemas.mx") Dim ClaveServicio As String = If(CvePACCancelacion = 2, Empresa.RFC.ToLower, "rene2018") Dim Clave As String = Empresa.ContraseñaKey - Dim UrlServicio As String = "https://servicios.gofac.com.mx/cancelacion.asmx" ' Produccion + Dim UrlServicio As String = "https://cfdi.gofac.com.mx/timbrado.asmx" ' Produccion If Not Empresa.FacturaProduccion Then ArchivoLLave = $"{Empresa.Ruta}Certificados\CSD01_ZUÑ920208KL4.key" @@ -360,6 +360,7 @@ Public Class Timbrado UsuarioServicio = "UserTest" ClaveServicio = "1234567890" + UrlServicio = "https://servicios.gofac.com.mx/cancelacion.asmx" ' Produccion End If #Region "Valida" If Not File.Exists(ArchivoCertificado) Then @@ -2877,7 +2878,7 @@ concep.DescripcionesEspecificas.NumeroSerie) Dim TimbraProduccion As Boolean = True If Not Directory.Exists(RutaArchivo) Then Directory.CreateDirectory(RutaArchivo) - UrlServicio = "https://pruebas.gofac.com.mx/timbrado.asmx?WSDL" + UrlServicio = "https://cfdi.gofac.com.mx/timbrado.asmx?WSDL" If Not ClsPaginas.EsProduccion AndAlso (Not UsuarioActual.Empresa.FacturaProduccion OrElse UsuarioActual.CveEmpresa = 1) Then EmisorRFC = "EKU9003173C9" @@ -2897,6 +2898,8 @@ concep.DescripcionesEspecificas.NumeroSerie) UsuarioServicio = "UserTest" ClaveServicio = "1234567890" UsuarioActual.Empresa.CodigoRegimenFiscal = "601" + + UrlServicio = "https://pruebas.gofac.com.mx/timbrado.asmx?WSDL" End If #Region "Valida" diff --git a/Compras/Compras.aspx b/Compras/Compras.aspx index a267bb624..991711e94 100644 --- a/Compras/Compras.aspx +++ b/Compras/Compras.aspx @@ -128,6 +128,20 @@ + + + + + + +
  • + + Prorrateo + +
  • +
    + +
    @@ -4576,7 +4590,6 @@ -
    @@ -5703,6 +5716,130 @@
    + + + +
    diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index d1582c878..9d8c6e07e 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -1662,9 +1662,12 @@ Partial Class Compras_Compras End If If UsuarioActual.Empresa.Funcionalidad(574).ToEntero = 1 AndAlso DdlTipoComprobante.SelectedValue = "NC" Then - ConfiguraseleccionRemisionNotaCredito() + End If + If Not CveCompra > 0 Then + LnkProrrateoGasolina.Visible = True + InicializaDTProrrateoGasolina() End If End If @@ -22326,6 +22329,278 @@ Partial Class Compras_Compras End Sub + +#Region "PRORRATEO GASOLINA" + Property DTProrrateoGasolina As DataTable + Get + If ViewState("DTProrrateoGasolina") Is Nothing Then + ViewState("DTProrrateoGasolina") = New DataTable + End If + Return DirectCast(ViewState("DTProrrateoGasolina"), DataTable) + End Get + Set(value As DataTable) + ViewState("DTProrrateoGasolina") = value + End Set + End Property + + Private Sub InicializaDTProrrateoGasolina() + Dim TmpDTProrrateoGasolina As New DataTable + TmpDTProrrateoGasolina.Columns.Add("CvePS", GetType(Integer)) + TmpDTProrrateoGasolina.Columns.Add("CveSubProyecto", GetType(Integer)) + TmpDTProrrateoGasolina.Columns.Add("SubProyecto", GetType(String)) + TmpDTProrrateoGasolina.Columns.Add("SubTotal", GetType(Decimal)) + TmpDTProrrateoGasolina.Columns.Add("IVA", GetType(Decimal)) + TmpDTProrrateoGasolina.Columns.Add("RetIVA", GetType(Decimal)) + TmpDTProrrateoGasolina.Columns.Add("RetISR", GetType(Decimal)) + TmpDTProrrateoGasolina.Columns.Add("Total", GetType(Decimal)) + TmpDTProrrateoGasolina.Columns.Add("PorcentajeIVA", GetType(Decimal)) + + TmpDTProrrateoGasolina.Columns.Add("CveUM", GetType(Integer)) + TmpDTProrrateoGasolina.Columns.Add("CveClasificacion", GetType(Integer)) + TmpDTProrrateoGasolina.Columns.Add("UM", GetType(String)) + TmpDTProrrateoGasolina.Columns.Add("Clasificacion", GetType(String)) + TmpDTProrrateoGasolina.Columns.Add("PS", GetType(String)) + TmpDTProrrateoGasolina.Columns.Add("Porcentaje", GetType(Decimal)) + + + DTProrrateoGasolina = TmpDTProrrateoGasolina + End Sub + + Protected Sub LnkProrrateoGasolina_Click(sender As Object, e As EventArgs) + + InicializaDTProrrateoGasolina() + CargarCentrosDeCosto(Nothing, Nothing, Nothing, LblSubProyectoProrrateoGasolina,) + GvProrrateoGasolina.Columns(0).HeaderText = LblSubProyectoProrrateoGasolina.Text + LblRiruloProrrareo.Text = $"Prorratear por { LblSubProyectoProrrateoGasolina.Text}" + + DdlSubProyectoProrrateoGasolina.Items.Clear() + DdlSubProyectoProrrateoGasolina.DataSource = If(Not UsuarioActual.TienePermisoProceso(110), GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1), GlobalDTSubProyectos(UsuarioActual.CveEmpresa, CveProyecto:=-1)) + DdlSubProyectoProrrateoGasolina.DataBind() + DdlSubProyectoProrrateoGasolina.Items.Insert(0, New ListItem("Todos", "-1")) + + LblTotalProrrateoGasolina.Text = TxtTotal.Text + + CargaProrratePS(-1) + + RegistraScript("$('#DVModalProrrateoGasolina').modal();") + UpModalProrrateoGasolina.Update() + UpProrratearTitulo.Update() + + End Sub + + + Private Sub CargaProrratePS(CveClasificacion As Integer) + + DdlPSProrrateoGasolina.setEsWebService(UsuarioActual.Empresa.Funcionalidad(105) = "1") + + If UsuarioActual.Empresa.Funcionalidad(105) = "1" Then + DdlPSProrrateoGasolina.ddlWS.Attributes.Add("data-cveclasificacion", DdlClasificacion.SelectedValue) + DdlPSProrrateoGasolina.SelectedText = "" + DdlPSProrrateoGasolina.SelectedValue = "-1" + Else + DdlPSProrrateoGasolina.ddl.Items.Clear() + + 'DdlPS.ddl.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CveClasificacion:=CveClasificacion) + + If UsuarioActual.TienePermisoProceso(300) Or UsuarioActual.TienePermisoProceso(301) Then + + Dim DTTemp As New DataTable + DTTemp.Columns.Add("CvePS", GetType(Integer)) + DTTemp.Columns.Add("PSCodigo", GetType(String)) + DTTemp.Columns.Add("CveClasificacion", GetType(Integer)) + + For Each dRow As DataRow In GlobalDTPSSimplificado(UsuarioActual.CveEmpresa).Rows + For Each drowCla As DataRow In DTClasificacionesComprobaciones.Rows + + If drowCla("CveClasificacion").ToString.ToEntero = dRow("CveClasificacion").ToString.ToEntero Then + + Dim InRow As DataRow = DTTemp.NewRow + InRow("CvePS") = dRow("CvePS").ToString.ToEntero + InRow("PSCodigo") = dRow("PSCodigo").ToString + InRow("CveClasificacion") = dRow("CveClasificacion").ToString.ToEntero + DTTemp.Rows.Add(InRow) + + End If + Next + Next + DdlPSProrrateoGasolina.DataSource = If(CveClasificacion > 0, DTTemp.FiltraParametros($"CveClasificacion = {CveClasificacion}"), DTTemp) + Else + DdlPSProrrateoGasolina.DataSource = If(CveClasificacion > 0, GlobalDTPSSimplificado(UsuarioActual.CveEmpresa).FiltraParametros($"CveClasificacion = {CveClasificacion}"), GlobalDTPSSimplificado(UsuarioActual.CveEmpresa)) + End If + + DdlPSProrrateoGasolina.ddl.DataBind() + DdlPSProrrateoGasolina.ddl.Items.Insert(0, New ListItem("Seleccione el Producto", "-1")) + End If + + End Sub + + Private Sub GvProrrateoGasolinaBind() + GvProrrateoGasolina.DataSource = DTProrrateoGasolina + GvProrrateoGasolina.DataBind() + UpModalProrrateoGasolina.Update() + End Sub + + Protected Sub LnkEliminarProrrateoGasolina_Click(sender As Object, e As EventArgs) + + Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow) + DTProrrateoGasolina.Rows.RemoveAt(GvRow.RowIndex) + DTProrrateoGasolina.AcceptChanges() + ProrateoCalculaRestante() + GvProrrateoGasolinaBind() + + End Sub + + + + Protected Sub LnkAgregarProrrateoGasolina_Click(sender As Object, e As EventArgs) + + Dim CvePs As Integer = DdlPSProrrateoGasolina.SelectedValue.ToEntero + + If Not CvePs > 0 Then + Alert("Debe seleccionar un producto", TipoMensaje.MsgAdvertencia) + Exit Sub + End If + + Dim PsRow As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePs).FiltroPrimero("") + + If PsRow Is Nothing Then + Alert("No se encontro el producto", TipoMensaje.MsgAdvertencia) + Exit Sub + End If + + Dim CveUM As Integer = PsRow("CveUM").ToString.ToEntero + Dim UM As String = GlobalDTUnidadesMedida(UsuarioActual.CveEmpresa).FiltroPrimeroValor("UnidadMedida", $" CveUnidadMedida = {CveUM} ") + + Dim CveClasificacion As Integer = PsRow("CveClasificacion").ToString.ToEntero + Dim Clasificacion As String = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("Clasificacion", $" CveClasificacion = {CveClasificacion} ") + + + If DdlSubProyectoProrrateoGasolina.SelectedValue.ToEntero > 0 Then + AgregarProrrateoGasolina(DdlSubProyectoProrrateoGasolina.SelectedValue.ToEntero, DdlSubProyectoProrrateoGasolina.SelectedItem.Text, CvePs, CveUM, UM, CveClasificacion, Clasificacion) + Else + DTProrrateoGasolina.Rows.Clear() + + For Each item As ListItem In DdlSubProyectoProrrateoGasolina.Items + If item.Value.ToEntero > 0 Then + AgregarProrrateoGasolina(item.Value.ToEntero, item.Text, CvePs, CveUM, UM, CveClasificacion, Clasificacion) + End If + Next + End If + + TxtPrecioProrrateoGasolina.Text = "" + DdlSubProyectoProrrateoGasolina.SelectedValueExist(-1) + UpModalProrrateoGasolina.Update() + + End Sub + + + Private Sub AgregarProrrateoGasolina(CveSubProyecto As Integer, SubProyecto As String, CvePS As Integer, CveUM As Integer, UM As String, CveClasificacion As Integer, Clasificacion As String) + + Dim SubTotalOriginal As Decimal = TxtSubTotal.Text.ToDecimal + Dim IVAOriginal As Decimal = TxtIVA.Text.ToDecimal + Dim RetISROriginal As Decimal = TxtRetISR.Text.ToDecimal + Dim RetIVAOriginal As Decimal = TxtRetIVA.Text.ToDecimal + Dim TotalOriginal As Decimal = TxtTotal.Text.ToDecimal + + Dim totalParcialDeseado As Decimal = TxtPrecioProrrateoGasolina.Text.ToDecimal + + Dim PorcentajeCalculado As Decimal = totalParcialDeseado / TotalOriginal + + Dim subtotalParcial As Decimal = SubTotalOriginal * PorcentajeCalculado + Dim ivaParcial As Decimal = IVAOriginal * PorcentajeCalculado + Dim retIsrParcial As Decimal = RetISROriginal * PorcentajeCalculado + Dim retIvaParcial As Decimal = RetIVAOriginal * PorcentajeCalculado + + Dim nRow As DataRow = DTProrrateoGasolina.NewRow + + nRow("CvePS") = DdlPSProrrateoGasolina.SelectedValue.ToEntero + nRow("CveSubProyecto") = CveSubProyecto + nRow("SubProyecto") = SubProyecto + + If CveFactura > 0 Then + nRow("IVA") = ivaParcial.RoundSQL(4) + nRow("RetIVA") = retIvaParcial.RoundSQL(4) + nRow("RetISR") = retIsrParcial.RoundSQL(4) + Else + nRow("IVA") = (ivaParcial / subtotalParcial).RoundSQL(4) + nRow("RetIVA") = (retIvaParcial / subtotalParcial).RoundSQL(4) + nRow("RetISR") = (retIsrParcial / subtotalParcial).RoundSQL(4) + End If + + nRow("SubTotal") = subtotalParcial.RoundSQL(4) + + nRow("Total") = totalParcialDeseado.RoundSQL(4) + nRow("PorcentajeIVA") = (ivaParcial / subtotalParcial).RoundSQL(4) + nRow("Porcentaje") = ((totalParcialDeseado.RoundSQL(4) * 100) / TotalOriginal).RoundSQL(2) + + + nRow("CveUM") = CveUM + nRow("UM") = UM + nRow("CveClasificacion") = CveClasificacion + nRow("Clasificacion") = Clasificacion + nRow("PS") = DdlPSProrrateoGasolina.txtText.Value + + DTProrrateoGasolina.Rows.Add(nRow) + + ProrateoCalculaRestante() + GvProrrateoGasolinaBind() + End Sub + + + Function ProrateoCalculaRestante(Optional MostrarMensaje As Boolean = False) As Boolean + + Dim Acumulado As Decimal = DTProrrateoGasolina.SUM("Total").RoundSQL(2) + Dim Total As Decimal = TxtTotal.Text.ToDecimal.RoundSQL(2) + Dim Respuesta As Boolean = False + + LblRestoProrrateoGasolina.Text = (Total - Acumulado).ToString("###,###,###.00") + + If Acumulado = Total Then + Respuesta = True + Else + Respuesta = False + If MostrarMensaje Then + + If Acumulado <> Total Then + Alert($"El importe prorrateado es diferente del total, Diferencia: {(Acumulado - Total).Abs()}, Total:{Total.ToString("###,###,###.00")}, Prorrateado:{Acumulado.ToString("###,###,###.00")}", TipoMensaje.MsgAdvertencia) + End If + + End If + End If + + Return Respuesta + + End Function + + + + Protected Sub BtnGuardarProrrateoGasolina_Click(sender As Object, e As EventArgs) + + If Not ProrateoCalculaRestante(True) Then + Exit Sub + End If + + If DTProrrateoGasolina.Rows.Count > 0 Then + TmpDT.Rows.Clear() + For Each dRow As DataRow In DTProrrateoGasolina.Rows + AddPS(1, dRow("CveUM").ToString.ToEntero, dRow("UM").ToString, dRow("CveClasificacion").ToString.ToEntero, dRow("Clasificacion").ToString, dRow("CvePS").ToString.ToEntero, dRow("PS").ToString, 1, dRow("CveSubProyecto").ToString, dRow("SubProyecto").ToString, "", + "-1", "", dRow("SubTotal").ToString.ToDecimal, dRow("Total").ToString.ToDecimal, dRow("PorcentajeIVA").ToString.ToDecimal, dRow("RetIVA").ToString.ToDecimal, dRow("RetISR").ToString.ToDecimal, 0, 0, 0, PorcentajeIVA:=dRow("PorcentajeIVA").ToString.ToDecimal) + Next + + AddPS2() + RegistraScript("$('#DVModalProrrateoGasolina').modal('hide');") + + End If + + + + + End Sub + + +#End Region + + End Class diff --git a/Compras/PopUpVerFactura.aspx.vb b/Compras/PopUpVerFactura.aspx.vb index 77c1bb16c..bb7c75bd0 100644 --- a/Compras/PopUpVerFactura.aspx.vb +++ b/Compras/PopUpVerFactura.aspx.vb @@ -1425,9 +1425,14 @@ Partial Class PopUpVerFactura 'Imprime Movimiento de IE If UrlParametros("OP").ToString = "ImprimeMov" Then + + Dim ImportePagoTotal As Decimal = If(UrlParametros("IMPORTEPAGOTOTAL") IsNot Nothing AndAlso UrlParametros("IMPORTEPAGOTOTAL").ToString.ToDecimal > 0, UrlParametros("IMPORTEPAGOTOTAL").ToString.ToDecimal, -1) + Dim SaldoTotal As Decimal = If(UrlParametros("SALDO") IsNot Nothing AndAlso UrlParametros("SALDO").ToString.ToDecimal > 0, UrlParametros("SALDO").ToString.ToDecimal, -1) + If UrlParametros("CVEIE") IsNot Nothing AndAlso UrlParametros("CVEIE").ToString.ToEntero > 0 Then - ImprimeMov(UrlParametros("CVEIE").ToString.ToEntero) + ImprimeMov(UrlParametros("CVEIE").ToString.ToEntero, ImportePagoTotal, SaldoTotal) End If + End If 'IMPRIME DEPOSITOS CAJA @@ -5885,7 +5890,7 @@ Partial Class PopUpVerFactura End Sub - Private Sub ImprimeMov(CveIE As Integer) + Private Sub ImprimeMov(CveIE As Integer, Optional ImportePagoTotal As Decimal = 0, Optional SaldoTotal As Decimal = 0) Dim ObjIE As New ClsBancos() Dim DtGvRH As New DataTable Dim DtComprobacion As New DataTable @@ -5969,6 +5974,16 @@ Partial Class PopUpVerFactura params.Add(New ReportParameter("importe", ParamComprobacion.Rows(0)("Importe").ToString)) params.Add(New ReportParameter("TotAbono", DtComprobacion.SUM("Abonado").ToString)) + + + If UsuarioActual.CveEmpresa = 140 Then + Dim Aplicado As Decimal = 0 + Dim ImporteDoc As Decimal = ParamComprobacion.Rows(0)("Importe").ToString.ToDecimal + Dim LeyendaSaldo As String = $"Folio #{ParamComprobacion.Rows(0)("Folio").ToString} con importe de ${ImporteDoc.ToString("###,###,###.00")} y saldo antes de la comprobación de ${SaldoTotal.ToString("###,###,###.00")}, Comprobaciones a la fecha {ParamComprobacion.Rows(0)("FechaDocumento").ToString().ToDate().ToString("dd/MM/yyyy")} ${ImportePagoTotal.ToString("###,###,###.00")} saldo después de la comprobación ${(SaldoTotal - ImportePagoTotal).ToString("###,###,###.00")} ." + params.Add(New ReportParameter("LeyendaSaldo", LeyendaSaldo)) + End If + + params.Add(New ReportParameter("LogoPath", RutaImagenLogo)) ImprimirPDF("Empresas/Grales/Formatos/RepRembolsosComprobaciones.rdlc", DtComprobacion, params, String.Format("IE{0}", CveIE), Formato:="PDF") diff --git a/Compras/ReembolsosComprobaciones.aspx.vb b/Compras/ReembolsosComprobaciones.aspx.vb index 164479187..822888a18 100644 --- a/Compras/ReembolsosComprobaciones.aspx.vb +++ b/Compras/ReembolsosComprobaciones.aspx.vb @@ -387,6 +387,8 @@ Partial Class Compras_ReembolsosComprobaciones Dim FoliosFechasValFechaDocumentoPagoMesSuperior As New StringBuilder Dim FoliosFechasValFechaDocumentoMesInferior As New StringBuilder + Dim SaldoAntesPago As Decimal = TxtChequeSaldo.Text.ToDecimal + For Each gvRowVal As GridViewRow In GvCxP.Rows If gvRowVal.FCCheckBox("Chk").Checked Then @@ -602,6 +604,7 @@ Partial Class Compras_ReembolsosComprobaciones End If End If + Dim ImportePagoTotal As Decimal = 0 If CveIERegistrado > 0 Or CveIEExcedente > 0 Or ChkReembolsarSinBancos.Checked Then 'inserto los movimientos de la conta para abonar al saldo If ((TxtImporte.Text.ToDecimal > 0 Or ChkReembolsarSinBancos.Checked) And CvePrePolizaIERegistrado > 0) Or ((TxtImporteVinculado.Text.ToDecimal > 0 And HdnCheque.Value.ToEntero > 0) Or ChkReembolsarSinBancos.Checked) Then @@ -676,7 +679,7 @@ Partial Class Compras_ReembolsosComprobaciones Pago.CveMonedaPago = CveMonedaPago Pago.TCPago = TipoCambioPago Pago.CvePersonal =CvePersonal - + ImportePagoTotal = ImportePagoTotal + ImporteMovto 'Otros Ingresos If MsgError = "" AndAlso (ChkAjusteOI.Checked Or ChkOtrosIngresosCheque.Checked) AndAlso gvr.FCTextBox("TxtComision").Text.ToDecimal <> 0 Then Pago.OtroGastoIngreso = gvr.FCTextBox("TxtComision").Text.ToDecimal @@ -819,7 +822,7 @@ Partial Class Compras_ReembolsosComprobaciones Dim Mensaje As New StringBuilder If CvePrePolizaExcedente > 0 Then - Mensaje.AppendFormat("Abono Registrado Correctamente.

    Cheque: {1}

    Imprimir", CveIEExcedente, TxtFolio.Text, Encripta(String.Format("OP=ImprimeMov&CveIE={0}", CveIEExcedente))) + Mensaje.AppendFormat("Abono Registrado Correctamente.

    Cheque: {1}

    Imprimir", CveIEExcedente, TxtFolio.Text, Encripta(String.Format("OP=ImprimeMov&CveIE={0}&CvePrePoliza={1}", CveIEExcedente, CvePrePolizaIERegistrado))) If UsuarioActual.Empresa.TipoContabilidad = 2 Then Mensaje.AppendFormat("

    Póliza: {1}
    ", ObjMov.ContaIdPoliza, ObjMov.ContaFolio) Else @@ -827,7 +830,7 @@ Partial Class Compras_ReembolsosComprobaciones End If Alert(Mensaje.ToString, TipoMensaje.MsgInformacion) Else - Mensaje.AppendFormat("Abono Registrado Correctamente.

    Imprimir", Encripta(String.Format("OP=ImprimeMov&CveIE={0}", CveIERegistrado))) + Mensaje.AppendFormat("Abono Registrado Correctamente.

    Imprimir", Encripta(String.Format("OP=ImprimeMov&CveIE={0}&ImportePagoTotal={1}&Saldo={2}", CveIERegistrado, ImportePagoTotal, SaldoAntesPago))) If CvePrePolizaIERegistrado > 0 Then If UsuarioActual.Empresa.TipoContabilidad = 2 Then Mensaje.AppendFormat("

    Póliza: {1}
    ", ObjMov.ContaIdPoliza, ObjMov.ContaFolio) diff --git a/Empresas/189/Formatos/Entradas.rdlc b/Empresas/189/Formatos/Entradas.rdlc index c7cf50e59..2b765df5f 100644 --- a/Empresas/189/Formatos/Entradas.rdlc +++ b/Empresas/189/Formatos/Entradas.rdlc @@ -188,10 +188,10 @@ 1.40148cm - 10.82525cm + 2.95567cm - 3.03882cm + 10.82525cm 1.63389cm @@ -365,14 +365,14 @@ - + true true - Descripción + # Parte - Textbox11 + Textbox1 - Textbox1 + Textbox11 + + + + + + NumeroParte + + + 2pt + 2pt + =IIf(RowNumber(Nothing)=1,"1pt","0pt") + + + + @@ -715,38 +749,6 @@ - - - - true - true - - - - - =Fields!NumeroParte.Value - - - - - - 2pt - 2pt - =IIf(RowNumber(Nothing)=1,"1pt","0pt") - - - - @@ -848,7 +850,7 @@ 0.17639cm 0.09756cm 0.74125cm - 21.24632cm + 21.16317cm diff --git a/Empresas/189/Formatos/Factura.mrt b/Empresas/189/Formatos/Factura.mrt index 1b3733a19..c576c96ae 100644 --- a/Empresas/189/Formatos/Factura.mrt +++ b/Empresas/189/Formatos/Factura.mrt @@ -593,7 +593,7 @@ iigAooooAKKKKAP/2Q== True Transparent True - 0.12,2.4,9.62,2.28 + 0.12,2.4,9.62,2.48 Myriad Pro,9,Regular,Point,False,0 @@ -601,8 +601,8 @@ iigAooooAKKKKAP/2Q== Textbox20 - <div><b>Facturado a:&nbsp;</b></div><div><b>Cliente: </b>{ClienteCodigo} - {ClienteNombre}&nbsp;</div><div><b>RFC:</b> {ClienteRFC} -<b>Colonia: </b> {ClienteColonia}&nbsp;</div><div><b>Ciudad: </b>{ClienteCiudad} <b>Estado: </b> {ClienteEstado}</div><div><b>Municipio y/o Delegación: </b>{ClienteMunicipio}&nbsp;</div><div><b>Pais:</b> {ClientePais} <b> CP: </b>{ClienteCP}</div> + <div><font size="8"><b>Facturado a:&nbsp;</b></font></div><div><font size="8"><b>Cliente: </b>{ClienteCodigo} - {ClienteNombre}&nbsp;</font></div><div><font size="8"><b>RFC:</b> {ClienteRFC} +<b>Colonia: </b> {ClienteColonia}&nbsp;</font></div><div><font size="8"><b>Ciudad: </b>{ClienteCiudad} <b>Estado: </b> {ClienteEstado}</font></div><div><font size="8"><b>Municipio y/o Delegación: </b>{ClienteMunicipio}&nbsp;</font></div><div><font size="8"><b>Pais:</b> {ClientePais} <b> CP: </b>{ClienteCP}</font></div><div><font face="Myriad Pro" style="" size="8"><b>Régimen Fiscal:</b> {ClienteRegimenFiscal}</font></div> Black Wysiwyg Expression @@ -6326,8 +6326,8 @@ FUERO DE MI DOMICILIO. LA CANTIDAD DE $ {Total} SON: {(ImporteLetra)}. Factura 12/30/2024 5:44:19 PM 7/11/2022 2:49:19 PM - C:\inetpub\WWWSigGit\Empresas\189\Formatos\Factura.mrt - e8b162183e2340d1bbaad55d91fb8962 + Factura.mrt + e849bb4463e44732ae40e92228d31a35 Factura Centimeters 2022.4.5.0 diff --git a/Empresas/189/Formatos/Traslado.rdlc b/Empresas/189/Formatos/Traslado.rdlc index c4ef6ff32..c14892759 100644 --- a/Empresas/189/Formatos/Traslado.rdlc +++ b/Empresas/189/Formatos/Traslado.rdlc @@ -53,6 +53,10 @@ Almacen System.String + + NumeroParte + System.String + DsInventarios @@ -81,7 +85,10 @@ 2.35965cm - 13.49625cm + 3.67771cm + + + 9.81854cm @@ -220,6 +227,50 @@ + + + + true + true + + + + + # Parte + + + + + + + Black + + 1pt + + + Black + + 1pt + + #e36c09 + 2pt + 2pt + 2pt + 2pt + + + + @@ -380,6 +431,40 @@ + + + + true + true + + + + + =Fields!NumeroParte.Value + + + + + + + NumeroParte + + + Bottom + 2pt + 2pt + =IIf(rownumber(nothing) = 1, "2pt", "0pt") + + + + @@ -525,6 +610,39 @@ + + + + true + true + + + + + + + + + + + + Textbox14 + + + Bottom + 2pt + 2pt + =IIf(rownumber(nothing) = 1, "2pt", "0pt") + + + + @@ -568,6 +686,7 @@ + diff --git a/Empresas/Grales/Formatos/RepRembolsosComprobaciones.rdlc b/Empresas/Grales/Formatos/RepRembolsosComprobaciones.rdlc index e21960ecc..baf4d6fd7 100644 --- a/Empresas/Grales/Formatos/RepRembolsosComprobaciones.rdlc +++ b/Empresas/Grales/Formatos/RepRembolsosComprobaciones.rdlc @@ -1,1772 +1,5 @@ - - - - - - - - 2.66884cm - - - 6.50417cm - - - 1.79565cm - - - 2.02289cm - - - 2.54059cm - - - 2.29435cm - - - 1.87171cm - - - 1.19239cm - - - - - 0.46186cm - - - - - true - true - - - - - Compra - - - - - - - Textbox14 - - - - - - - - - LightGrey - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Proveedor - - - - - - - Textbox16 - - - - - - - - - LightGrey - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Fecha - - - - - - - Textbox12 - - - - - - - - - LightGrey - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Proyecto - - - - - - - Textbox24 - - - - - - - - - LightGrey - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - # R - - - - - - - Textbox26 - - - - - - - - - LightGrey - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Original $ - - - - - - - Textbox3 - - - - - - - - - LightGrey - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Abonado $ - - - - - - - Textbox28 - - - - - - - - - LightGrey - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Saldo $ - - - - - - - Textbox30 - - - - - - - - - LightGrey - 2pt - 2pt - 2pt - - - - - - - - 0.38833cm - - - - - true - - - - - =Fields!SerieFolio.Value - - - - - - - SerieFolio - - - =IIF(Fields!SerieFolio.Value = "TOTAL", "#67809F", "No color") - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!Proveedor.Value - - - - - - - RazonSocial - - - =IIF(Fields!SerieFolio.Value = "TOTAL", "#67809F", "No color") - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!FechaCompra.Value - - - - - - - RazonSocial - - - =IIF(Fields!SerieFolio.Value = "TOTAL", "#67809F", "No color") - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!SubProyecto.Value - - - - - - - SubProyecto - - - =IIF(Fields!SerieFolio.Value = "TOTAL", "#67809F", "No color") - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!NumeroReembolso.Value - - - - - - - NumeroReembolso - - - =IIF(Fields!SerieFolio.Value = "TOTAL", "#67809F", "No color") - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!Original.Value - - - - - - - Original - - - =IIF(Fields!SerieFolio.Value = "TOTAL", "#67809F", "No color") - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!Abonado.Value - - - - - - - Abonado - - - =IIF(Fields!SerieFolio.Value = "TOTAL", "#67809F", "No color") - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!Saldo.Value - - - - - - - Saldo - - - =IIF(Fields!SerieFolio.Value = "TOTAL", "#67809F", "No color") - 2pt - 2pt - 2pt - 2pt - - - - - - - - 0.49417cm - - - - - true - true - - - - - Total de Facturas: - - - - - - - Textbox77 - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =IIf(First(Fields!Proveedor.Value, "DataSet1") = "", COUNT(Fields!SerieFolio.Value, "DataSet1")-1, COUNT(Fields!SerieFolio.Value, "DataSet1")) - - - - - - - Textbox73 - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - - - - - - - - Textbox74 - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - - - - - - - - Textbox75 - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - - - - - - - - Textbox76 - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Total Abonado: $ - - - - - - - Textbox5 - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Sum(Fields!Abonado.Value) - - - - - - - Textbox22 - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - - - - - - - - Textbox79 - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - - - - - - - - - - - - - - - - - After - - - - - - - - - Before - - - - true - DataSet1 - 0.17639cm - 0.07091cm - 1.34436cm - 20.89059cm - - - - CornflowerBlue - - - CornflowerBlue - - - CornflowerBlue - - - CornflowerBlue - - - - - 0.127cm - 0cm - 20.66109cm - 1 - - - - - - 0.64039in - - - - - 8.25256in - - - 4.96478cm - true - true - - - External - =Parameters!LogoPath.Value - FitProportional - 0.30903cm - 0.127cm - 2.25453cm - 4.18606cm - - - - - - true - true - - - - - =Parameters!NombreEmpresa.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - REPORTE DE REMBOLSOS / COMPROBACIONES - - - - - - - - - - - - - - - - Textbox2 - 1.00428cm - 5.352cm - 0.66174cm - 11.63523cm - 2 - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!cuentaRetiro.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!CajaChica.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!observaciones.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!folio.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!fecha.Value - - - - - - - Textbox4 - 3.24443cm - 16.34707cm - 0.49417cm - 4.41841cm - 7 - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!importe.Value - - - - - - - Textbox4 - 3.80915cm - 16.38234cm - 0.49417cm - 4.38314cm - 8 - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Fecha: - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Importe: - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Folio: - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Fecha Inicio: - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!FechaInicio.Value - - - - - - - Textbox4 - 4.36478cm - 2.77813cm - 0.49417cm - 4.9674cm - 13 - - =Microsoft.VisualBasic.Interaction.IIf(Parameters!FechaInicio.Value = "", True, False) - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Fecha Fin: - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!FechaFin.Value - - - - - - - Textbox4 - 4.3774cm - 9.99399cm - 0.49417cm - 4.41841cm - 15 - - =Microsoft.VisualBasic.Interaction.IIf(Parameters!FechaFin.Value = "", true, false) - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - - 0.57501cm - true - true - - - true - true - - - - - ="Página " & Globals.PageNumber & " de " & Globals.TotalPages - - - - - - - Textbox3 - 0.21166cm - 18.69961cm - 0.36335cm - 2.06587cm - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Usuario: - - - - - - - Textbox8 - 0.21166cm - 0.07091cm - 0.36335cm - 1.60042cm - 1 - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!UsuarioImprimio.Value - - - - - - - Textbox9 - 0.21166cm - 1.61524cm - 0.36335cm - 5.14936cm - 2 - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Fecha Impresión: - - - - - - - Textbox10 - 0.21166cm - 7.92524cm - 0.36335cm - 2.92333cm - 3 - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!FechaImpresion.Value - - - - - - - Textbox11 - 0.21166cm - 10.83446cm - 0.36335cm - 4.32745cm - 4 - - - 2pt - 2pt - 2pt - 2pt - - - - 0.10583cm - 0.07091cm - 0cm - 20.71718cm - 5 - - - - - - - - - - 29.7cm - 21cm - 0cm - 0cm - 0.5cm - 0.5cm - 0.13cm - + + + + + + Textbox14 + + + + + + + + + LightGrey + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Proveedor + + + + + + + Textbox16 + + + + + + + + + LightGrey + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Fecha + + + + + + + Textbox12 + + + + + + + + + LightGrey + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Proyecto + + + + + + + Textbox24 + + + + + + + + + LightGrey + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + # R + + + + + + + Textbox26 + + + + + + + + + LightGrey + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Original $ + + + + + + + Textbox3 + + + + + + + + + LightGrey + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Abonado $ + + + + + + + Textbox28 + + + + + + + + + LightGrey + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Saldo $ + + + + + + + Textbox30 + + + + + + + + + LightGrey + 2pt + 2pt + 2pt + + + + + + + + 0.38833cm + + + + + true + + + + + =Fields!SerieFolio.Value + + + + + + + SerieFolio + + + =IIF(Fields!SerieFolio.Value = "TOTAL", "#67809F", "No color") + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!Proveedor.Value + + + + + + + RazonSocial + + + =IIF(Fields!SerieFolio.Value = "TOTAL", "#67809F", "No color") + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!FechaCompra.Value + + + + + + + RazonSocial + + + =IIF(Fields!SerieFolio.Value = "TOTAL", "#67809F", "No color") + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!SubProyecto.Value + + + + + + + SubProyecto + + + =IIF(Fields!SerieFolio.Value = "TOTAL", "#67809F", "No color") + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!NumeroReembolso.Value + + + + + + + NumeroReembolso + + + =IIF(Fields!SerieFolio.Value = "TOTAL", "#67809F", "No color") + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!Original.Value + + + + + + + Original + + + =IIF(Fields!SerieFolio.Value = "TOTAL", "#67809F", "No color") + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!Abonado.Value + + + + + + + Abonado + + + =IIF(Fields!SerieFolio.Value = "TOTAL", "#67809F", "No color") + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!Saldo.Value + + + + + + + Saldo + + + =IIF(Fields!SerieFolio.Value = "TOTAL", "#67809F", "No color") + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.49417cm + + + + + true + true + + + + + Total de Facturas: + + + + + + + Textbox77 + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =IIf(First(Fields!Proveedor.Value, "DataSet1") = "", COUNT(Fields!SerieFolio.Value, "DataSet1")-1, COUNT(Fields!SerieFolio.Value, "DataSet1")) + + + + + + + Textbox73 + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + + + + Textbox74 + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + + + + Textbox75 + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + + + + Textbox76 + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Total Abonado: $ + + + + + + + Textbox5 + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Sum(cdbl(IIF(Fields!NumeroReembolso.Value<>"",Fields!Abonado.Value,0))) + + + + + + + Textbox22 + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + + + + Textbox79 + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + + + + + + + + + + + + + + After + + + + + + + + + Before + + + + true + DataSet1 + 0.17639cm + 0.07091cm + 1.34436cm + 20.89059cm + + + + CornflowerBlue + + + CornflowerBlue + + + CornflowerBlue + + + CornflowerBlue + + + + + 0.127cm + 0cm + 20.66109cm + 1 + + + + + + true + true + + + + + =Parameters!LeyendaSaldo.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + 1.03033in + + + + + 8.25256in + + + 4.96478cm + true + true + + + External + =Parameters!LogoPath.Value + FitProportional + 0.30903cm + 0.127cm + 2.25453cm + 4.18606cm + + + + + + true + true + + + + + =Parameters!NombreEmpresa.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + REPORTE DE REMBOLSOS / COMPROBACIONES + + + + + + + + + + + + + + + + Textbox2 + 1.00428cm + 5.352cm + 0.66174cm + 11.63523cm + 2 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!cuentaRetiro.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!CajaChica.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!observaciones.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!folio.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!fecha.Value + + + + + + + Textbox4 + 3.24443cm + 16.34707cm + 0.49417cm + 4.41841cm + 7 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!importe.Value + + + + + + + Textbox4 + 3.80915cm + 16.38234cm + 0.49417cm + 4.38314cm + 8 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Fecha: + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Importe: + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Folio: + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Fecha Inicio: + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!FechaInicio.Value + + + + + + + Textbox4 + 4.36478cm + 2.77813cm + 0.49417cm + 4.9674cm + 13 + + =Microsoft.VisualBasic.Interaction.IIf(Parameters!FechaInicio.Value = "", True, False) + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Fecha Fin: + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!FechaFin.Value + + + + + + + Textbox4 + 4.3774cm + 9.99399cm + 0.49417cm + 4.41841cm + 15 + + =Microsoft.VisualBasic.Interaction.IIf(Parameters!FechaFin.Value = "", true, false) + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + + 0.57501cm + true + true + + + true + true + + + + + ="Página " & Globals.PageNumber & " de " & Globals.TotalPages + + + + + + + Textbox3 + 0.21166cm + 18.69961cm + 0.36335cm + 2.06587cm + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Usuario: + + + + + + + Textbox8 + 0.21166cm + 0.07091cm + 0.36335cm + 1.60042cm + 1 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!UsuarioImprimio.Value + + + + + + + Textbox9 + 0.21166cm + 1.61524cm + 0.36335cm + 5.14936cm + 2 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Fecha Impresión: + + + + + + + Textbox10 + 0.21166cm + 7.92524cm + 0.36335cm + 2.92333cm + 3 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!FechaImpresion.Value + + + + + + + Textbox11 + 0.21166cm + 10.83446cm + 0.36335cm + 4.32745cm + 4 + + + 2pt + 2pt + 2pt + 2pt + + + + 0.10583cm + 0.07091cm + 0cm + 20.71718cm + 5 + + + + + + + + + + 29.7cm + 21cm + 0cm + 0cm + 0.5cm + 0.5cm + 0.13cm +