From 59b9763907168e264c646ffc95b8facd9a88a228 Mon Sep 17 00:00:00 2001 From: Jonathan Alexis Perez Morales Date: Sat, 12 Oct 2019 15:53:54 -0700 Subject: [PATCH 01/70] Descuento en formato de OC --- Empresas/80/Formatos/OC.rdlc | 9296 +++++++++++++++--------------- Empresas/Grales/Formatos/OC.rdlc | 6406 ++++++++++---------- 2 files changed, 7933 insertions(+), 7769 deletions(-) diff --git a/Empresas/80/Formatos/OC.rdlc b/Empresas/80/Formatos/OC.rdlc index 3a208a4bb..f0feef4e2 100644 --- a/Empresas/80/Formatos/OC.rdlc +++ b/Empresas/80/Formatos/OC.rdlc @@ -1,4613 +1,4685 @@ - - - - - - - - - 0.63942in - - - 1.13111in - - - 3.43044in - - - 1.30958in - - - 0.68106in - - - 0.95956in - - - - - 0.21728in - - - - - true - true - - - - - CANT. - - - - - - #0e2455 - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - CLAVE - - - - - - - Textbox29 - - - #0e2455 - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - DESCRIPCIÓN - - - - - - - Textbox17 - - - #0e2455 - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - OBSERVACIÓN - - - - - - - Textbox46 - - - #0e2455 - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - P/U - - - - - - - Textbox23 - - - #0e2455 - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - IMPORTE - - - - - - - Textbox1 - - - #0e2455 - 2pt - 2pt - 2pt - 2pt - - - - - - - - 0.19644in - - - - - true - true - - - - - =Fields!Cantidad.Value - - - - - - - Cantidad1 - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!CodPS.Value - - - - - - - CodPS - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!Producto.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!Obs.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!Importe.Value - - - - - - - Importe - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!Total.Value - - - - - - - Total - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - - - - - - - - - - - - - - - After - - - - - - - DsOC - 0.04788in - 0.41372in - 8.15117in - - - - - - 0.44497in - - - - : - - - - - - - - - Nombre - - - - : - - - - - - - - =Parameters!ProveedorNombre.Value - - - - - - - - - RFC: - - - - - - - - =Parameters!ProveedorRFC.Value - - - - - - - - - Direccion: - - - - =Parameters!ProveedorDireccion.Value - - - - - - - - - Teléfono: - - - - =Parameters!ProveedorTel.Value - - - - - - - - - Contacto: - - - - =Parameters!ProveedorContacto.Value - - - - - - - - - - - Textbox2 - 1.60003in - 0.12161cm - 1.20291in - 3.01189in - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Enviar a: - - - - - - - - - Nombre: - - - - =Parameters!EnvioContacto.Value - - - - - - - - - - - - - Departamento: - - - - =Parameters!EnvioDepartamento.Value - - - - - - - - - Calle: - - - - - - - - =Parameters!EnvioDireccion.Value - - - - - - - - - Colonia: - - - - - - - - =Parameters!EnvioColonia.Value - - - - - - - - - Ciudad: - - - - - - - - =Parameters!EnvioCiudad.Value - - - - - - - - Estado: - - - - - - - - =Parameters!EnvioEstado.Value - - - - - - - - - Municipio y/o Delegación: - - - - =Parameters!EnvioCiudad.Value - - - - - - - - - - - - - Pais: - - - - - - - - =Parameters!ProveedorPais.Value - - - - - - - - - - - - - - - - CP: - - - - - - - - =Parameters!EnvioCP.Value - - - - - - - - - Teléfono: - - - - - - - - =Parameters!EnvioTel.Value - - - - - - - - - - - - - Pedido/Contrato: - - - - =Parameters!PedidoContrato.Value - - - - - - - Textbox36 - 4.06406cm - 7.84944cm - 4.25633cm - 8.32364cm - 1 - - =IIF(String.IsNullOrEmpty(Parameters!LugarEntrega.Value),False,True) - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Facturar a: - - - - - - - - - DN DIFUSA NORTE, S.A. de C.V. - - - - - - - - - =Parameters!DomicilioSucursal.Value - - - - - - - - - DDN091028GL0 - - - - - - - - - = Parameters!Telefono.Value.ToString() - - - - - - - - - - - - - - - - - - CFDI 3.3: - - - - - - - - - =Parameters!UsoCFDI.Value - - - - - - - Textbox40 - 4.06406cm - 16.26833cm - 4.25633cm - 4.55726cm - 2 - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - ="Envío Directo al Cliente" - - - - - - - EstatusEntrega - 1.27043cm - 4.61876cm - 0.6cm - 5.51419cm - 3 - - =IIF(Parameters!EntregaDirecta.Value <> "False",FALSE,TRUE) - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - - - - - - - - - =Parameters!TipoOC.Value - - - - - - - - - Folio: - - - - =Parameters!Folio.Value - - - - - - - - - Almacen: - - - - =Parameters!Proyecto.Value - - - - - - - - - Fecha de ElaboracIón: - - - - =Parameters!FechaSolicitud.Value - - - - - - - - - Fecha Estimada de Recepción: - - - - =iif(Parameters!FechaEntrega.Value="01/01/0001","",Parameters!FechaEntrega.Value) - - - - - - - - - - - - - Folio Pedido Proveedor: - - - - =Parameters!FolioAdicional.Value - - - - - - - - - Comprador: - - - - =Parameters!Comprador.Value - - - - - - - - - Coordinador Empresarial: - - - - - - - - =Parameters!Vendedor.Value - - - - - - - Textbox40 - 0.16794cm - 12.50129cm - 3.79029cm - 8.3243cm - 4 - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Enviar a: - - - - - - - - - Dirección: - - - - =Parameters!LugarEntrega.Value - - - - - - - - - - - - - - - - - - - - Textbox36 - 4.07112cm - 7.85296cm - 4.25633cm - 8.32364cm - 6 - - =IIF(String.IsNullOrEmpty(Parameters!LugarEntrega.Value),True,False) - - - - 2pt - 2pt - 2pt - 2pt - - - - Embedded - Logo6 - FitProportional - 0.33585cm - 0.37861cm - 1.53458cm - 3.85445cm - 7 - - - - - - - - - - - 6.50904cm - true - true - - - true - true - - - - - I.V.A. - - - - - - - Textbox20 - 0.91629cm - 15.88909cm - 0.45183cm - 2.5cm - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - TOTAL: - - - - - - - Textbox20 - 3.0156cm - 15.89438cm - 0.45183cm - 2.5cm - 1 - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!IVA.Value - - - - - - - Textbox20 - 0.91629cm - 18.38909cm - 0.45183cm - 2.4365cm - 2 - - - 2pt - 2pt - 2pt - 2pt - es-MX - - - - true - true - - - - - =Parameters!Total.Value - - - - - - - Textbox20 - 3.0156cm - 18.39438cm - 0.45183cm - 2.43121cm - 3 - - - 2pt - 2pt - 2pt - 2pt - es-MX - - - - true - true - - - - - SUB-TOTAL - - - - - - - Textbox20 - 0.39363cm - 15.88909cm - 0.45183cm - 2.5cm - 4 - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!SubTotal.Value - - - - - - - Textbox20 - 0.39363cm - 18.38909cm - 0.45183cm - 2.4365cm - 5 - - - 2pt - 2pt - 2pt - 2pt - es-MX - - - - true - true - - - - - =UCase(Parameters!ImporteLetra.Value) - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - - - - #0e2455 - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - - - - - - - #0e2455 - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - - - - - - - #0e2455 - 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 - - - - true - true - - - - - ="Página " & Globals.PageNumber & " de " & Globals.TotalPages - - - - - - - Textbox35 - 5.01502cm - 18.19908cm - 0.41981cm - 2.5cm - 12 - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!Descripcion.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Ret I.V.A - - - - - - - Textbox20 - 1.36812cm - 15.8883cm - 0.45183cm - 2.5cm - 14 - - =IIF(Parameters!RetIVA.Value > 0,FALSE,TRUE) - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!RetIVA.Value - - - - - - - Textbox20 - 1.36812cm - 18.3883cm - 0.45183cm - 2.4365cm - 15 - - =IIF(Parameters!RetIVA.Value > 0,FALSE,TRUE) - - - - 2pt - 2pt - 2pt - 2pt - es-MX - - - - true - true - - - - - Ret I.S.R - - - - - - - Textbox20 - 1.81995cm - 15.8883cm - 0.45183cm - 2.5cm - 16 - - =IIF(Parameters!RetISR.Value > 0,FALSE,TRUE) - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!RetISR.Value - - - - - - - Textbox20 - 1.81995cm - 18.3883cm - 0.45183cm - 2.4365cm - 17 - - =IIF(Parameters!RetISR.Value > 0,FALSE,TRUE) - - - - 2pt - 2pt - 2pt - 2pt - es-MX - - - - true - true - - - - - I.E.P.S - - - - - - - Textbox20 - 2.27178cm - 15.8883cm - 0.45183cm - 2.5cm - 18 - - =IIF(Sum(Fields!IEPS.Value, "DsOC") > 0,FALSE,TRUE) - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Sum(Fields!IEPS.Value, "DsOC") - - - - - - - Textbox20 - 2.27178cm - 18.3883cm - 0.45183cm - 2.4365cm - 19 - - =IIF(Sum(Fields!IEPS.Value, "DsOC") > 0,FALSE,TRUE) - - - - 2pt - 2pt - 2pt - 2pt - es-MX - - - - - - - - 27.94cm - 21.59cm - 0cm - 0cm - 0cm - 0.5cm - 0.13cm - + + + + + #0e2455 + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + CLAVE + + + + + + + Textbox29 + + + #0e2455 + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + DESCRIPCIÓN + + + + + + + Textbox17 + + + #0e2455 + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + OBSERVACIÓN + + + + + + + Textbox46 + + + #0e2455 + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + P/U + + + + + + + Textbox23 + + + #0e2455 + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + IMPORTE + + + + + + + Textbox1 + + + #0e2455 + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.19644in + + + + + true + true + + + + + =Fields!Cantidad.Value + + + + + + + Cantidad1 + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!CodPS.Value + + + + + + + CodPS + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!Producto.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!Obs.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!Importe.Value + + + + + + + Importe + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!Total.Value + + + + + + + Total + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + + + + + + + + + + + + After + + + + + + + DsOC + 0.04788in + 0.41372in + 8.15117in + + + + + + 0.44497in + + + + : + + + + + + + + + Nombre + + + + : + + + + + + + + =Parameters!ProveedorNombre.Value + + + + + + + + + RFC: + + + + + + + + =Parameters!ProveedorRFC.Value + + + + + + + + + Direccion: + + + + =Parameters!ProveedorDireccion.Value + + + + + + + + + Teléfono: + + + + =Parameters!ProveedorTel.Value + + + + + + + + + Contacto: + + + + =Parameters!ProveedorContacto.Value + + + + + + + + + + + Textbox2 + 1.60003in + 0.12161cm + 1.20291in + 3.01189in + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Enviar a: + + + + + + + + + Nombre: + + + + =Parameters!EnvioContacto.Value + + + + + + + + + + + + + Departamento: + + + + =Parameters!EnvioDepartamento.Value + + + + + + + + + Calle: + + + + + + + + =Parameters!EnvioDireccion.Value + + + + + + + + + Colonia: + + + + + + + + =Parameters!EnvioColonia.Value + + + + + + + + + Ciudad: + + + + + + + + =Parameters!EnvioCiudad.Value + + + + + + + + Estado: + + + + + + + + =Parameters!EnvioEstado.Value + + + + + + + + + Municipio y/o Delegación: + + + + =Parameters!EnvioCiudad.Value + + + + + + + + + + + + + Pais: + + + + + + + + =Parameters!ProveedorPais.Value + + + + + + + + + + + + + + + + CP: + + + + + + + + =Parameters!EnvioCP.Value + + + + + + + + + Teléfono: + + + + + + + + =Parameters!EnvioTel.Value + + + + + + + + + + + + + Pedido/Contrato: + + + + =Parameters!PedidoContrato.Value + + + + + + + Textbox36 + 4.06406cm + 7.84944cm + 4.25633cm + 8.32364cm + 1 + + =IIF(String.IsNullOrEmpty(Parameters!LugarEntrega.Value),False,True) + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Facturar a: + + + + + + + + + DN DIFUSA NORTE, S.A. de C.V. + + + + + + + + + =Parameters!DomicilioSucursal.Value + + + + + + + + + DDN091028GL0 + + + + + + + + + = Parameters!Telefono.Value.ToString() + + + + + + + + + + + + + + + + + + CFDI 3.3: + + + + + + + + + =Parameters!UsoCFDI.Value + + + + + + + Textbox40 + 4.06406cm + 16.26833cm + 4.25633cm + 4.55726cm + 2 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + ="Envío Directo al Cliente" + + + + + + + EstatusEntrega + 1.27043cm + 4.61876cm + 0.6cm + 5.51419cm + 3 + + =IIF(Parameters!EntregaDirecta.Value <> "False",FALSE,TRUE) + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + + + + + + + + + =Parameters!TipoOC.Value + + + + + + + + + Folio: + + + + =Parameters!Folio.Value + + + + + + + + + Almacen: + + + + =Parameters!Proyecto.Value + + + + + + + + + Fecha de ElaboracIón: + + + + =Parameters!FechaSolicitud.Value + + + + + + + + + Fecha Estimada de Recepción: + + + + =iif(Parameters!FechaEntrega.Value="01/01/0001","",Parameters!FechaEntrega.Value) + + + + + + + + + + + + + Folio Pedido Proveedor: + + + + =Parameters!FolioAdicional.Value + + + + + + + + + Comprador: + + + + =Parameters!Comprador.Value + + + + + + + + + Coordinador Empresarial: + + + + + + + + =Parameters!Vendedor.Value + + + + + + + Textbox40 + 0.16794cm + 12.50129cm + 3.79029cm + 8.3243cm + 4 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Enviar a: + + + + + + + + + Dirección: + + + + =Parameters!LugarEntrega.Value + + + + + + + + + + + + + + + + + + + + Textbox36 + 4.07112cm + 7.85296cm + 4.25633cm + 8.32364cm + 6 + + =IIF(String.IsNullOrEmpty(Parameters!LugarEntrega.Value),True,False) + + + + 2pt + 2pt + 2pt + 2pt + + + + Embedded + Logo6 + FitProportional + 0.33585cm + 0.37861cm + 1.53458cm + 3.85445cm + 7 + + + + + + + + + + + 5.95342cm + true + true + + + true + true + + + + + TOTAL: + + + + + + + Textbox20 + 3.17435cm + 15.89438cm + 0.45183cm + 2.5cm + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!Total.Value + + + + + + + Textbox20 + 3.2061cm + 18.39438cm + 0.45183cm + 2.43121cm + 1 + + + 2pt + 2pt + 2pt + 2pt + es-MX + + + + true + true + + + + + =UCase(Parameters!ImporteLetra.Value) + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + + + + #0e2455 + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + + + + + + + #0e2455 + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + + + + + + + #0e2455 + 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 + + + + true + true + + + + + ="Página " & Globals.PageNumber & " de " & Globals.TotalPages + + + + + + + Textbox35 + 5.33252cm + 18.19908cm + 0.41981cm + 2.5cm + 8 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!Descripcion.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + I.V.A. + + + + + + + Textbox20 + 1.22239cm + 15.89517cm + 0.45183cm + 2.5cm + 10 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!IVA.Value + + + + + + + Textbox20 + 1.22239cm + 18.39517cm + 0.45183cm + 2.4365cm + 11 + + + 2pt + 2pt + 2pt + 2pt + es-MX + + + + true + true + + + + + SUB-TOTAL + + + + + + + Textbox20 + 0.41398cm + 15.89517cm + 0.45183cm + 2.5cm + 12 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!SubTotal.Value + + + + + + + Textbox20 + 0.41398cm + 18.39517cm + 0.45183cm + 2.4365cm + 13 + + + 2pt + 2pt + 2pt + 2pt + es-MX + + + + true + true + + + + + Ret I.V.A + + + + + + + Textbox20 + 1.67422cm + 15.89438cm + 0.45183cm + 2.5cm + 14 + + =IIF(Parameters!RetIVA.Value > 0,FALSE,TRUE) + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!RetIVA.Value + + + + + + + Textbox20 + 1.67422cm + 18.39438cm + 0.45183cm + 2.4365cm + 15 + + =IIF(Parameters!RetIVA.Value > 0,FALSE,TRUE) + + + + 2pt + 2pt + 2pt + 2pt + es-MX + + + + true + true + + + + + Ret I.S.R + + + + + + + Textbox20 + 2.12605cm + 15.89438cm + 0.45183cm + 2.5cm + 16 + + =IIF(Parameters!RetISR.Value > 0,FALSE,TRUE) + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!RetISR.Value + + + + + + + Textbox20 + 2.12605cm + 18.39438cm + 0.45183cm + 2.4365cm + 17 + + =IIF(Parameters!RetISR.Value > 0,FALSE,TRUE) + + + + 2pt + 2pt + 2pt + 2pt + es-MX + + + + true + true + + + + + I.E.P.S + + + + + + + Textbox20 + 2.57788cm + 15.89438cm + 0.45183cm + 2.5cm + 18 + + =IIF(Sum(Fields!IEPS.Value, "DsOC") > 0,FALSE,TRUE) + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Sum(Fields!IEPS.Value, "DsOC") + + + + + + + Textbox20 + 2.57788cm + 18.39438cm + 0.45183cm + 2.4365cm + 19 + + =IIF(Sum(Fields!IEPS.Value, "DsOC") > 0,FALSE,TRUE) + + + + 2pt + 2pt + 2pt + 2pt + es-MX + + + + true + true + + + + + DESCUENTO + + + + + + + Textbox20 + 0.83759cm + 15.90124cm + 0.45183cm + 2.5cm + 20 + + =IIF(Parameters!Descuento.Value > 0,FALSE,TRUE) + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!Descuento.Value + + + + + + + Textbox20 + 0.83759cm + 18.40124cm + 0.45183cm + 2.4365cm + 21 + + =IIF(Parameters!Descuento.Value > 0,FALSE,TRUE) + + + + 2pt + 2pt + 2pt + 2pt + es-MX + + + + + + + + 27.94cm + 21.59cm + 0cm + 0cm + 0cm + 0.5cm + 0.13cm + - - - - - - Textbox3 - - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - Silver - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - U. M. - - - - - - - Textbox7 - - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - Silver - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Producto o Servicio - - - - - - - Textbox9 - - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - Silver - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Observaciones - - - - - - - Textbox68 - - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - Silver - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Sub Proyecto - - - - - - - Textbox71 - - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - Silver - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Activo Fijo - - - - - - - Textbox11 - - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - Silver - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - P. Unitario - - - - - - - Textbox13 - - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - Silver - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Importe - - - - - - - Textbox5 - - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - Silver - 2pt - 2pt - 2pt - 2pt - - - - - - - - 0.473cm - - - - - true - true - - - - - =Fields!Cantidad.Value - - - - - - - Cantidad - - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - 2pt - 2pt - 1pt - - - - - - - - true - true - - - - - =Fields!UM.Value - - - - - - - UM - - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - 2pt - 2pt - 1pt - - - - - - - - true - true - - - - - =Fields!PS.Value - - - - - - - PS - - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - 2pt - 2pt - 1pt - - - - - - - - true - true - - - - - =Fields!Observacion.Value - - - - - - - Observacion - - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - 2pt - 2pt - 1pt - - - - - - - - true - true - - - - - =Fields!SubProyecto.Value - - - - - - - SubProyecto - - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - 2pt - 2pt - 1pt - - - - - - - - true - true - - - - - =Fields!Codigo.Value - - - - - - - Codigo - - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - 2pt - 2pt - 1pt - - - - - - - - true - true - - - - - =Fields!Importe.Value - - - - - - - Importe - - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - 2pt - 2pt - 1pt - - - - - - - - true - true - - - - - =Fields!Total.Value - - - - - - - Total - - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - 2pt - 2pt - 1pt - - - - - - - - - - - - - - - - - - - - - - - - After - - - - - - - DsOC - 4.45714cm - 0.20457cm - 0.96717cm - 20.25838cm - - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - - - true - true - - - - - IVA - - - - - - - Textbox20 - 5.84792cm - 16.1331cm - 0.45183cm - 2.06968cm - 1 - - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - ="Total " & Parameters!Moneda.Value - - - - - - - Textbox20 - 6.29975cm - 16.1331cm - 0.45183cm - 2.06968cm - 2 - - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - SubTotal - - - - - - - Textbox20 - 5.42431cm - 16.1331cm - 0.42361cm - 2.06968cm - 3 - - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!IVA.Value - - - - - - - Textbox20 - 5.84792cm - 18.20277cm - 0.45183cm - 2.26019cm - 4 - - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!Total.Value - - - - - - - Textbox20 - 6.29975cm - 18.20276cm - 0.45183cm - 2.26019cm - 5 - - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!SubTotal.Value - - - - - - - Textbox20 - 5.42431cm - 18.20276cm - 0.42361cm - 2.26019cm - 6 - - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - true - - - - - =Parameters!ImporteLetra.Value - - - - - - - Textbox46 - 6.29975cm - 0.20457cm - 0.45183cm - 15.92855cm - 7 - - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - ORDEN DE COMPRA DE MATERIALES Y SERVICIOS - - - - - - - Textbox8 - 1.24262cm - 2.95843cm - 0.5365cm - 12.7315cm - 8 - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!TipoOC.Value - - - - - - - Textbox12 - 16.1331cm - 0.44478cm - 4.32987cm - 9 - - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - #3598dc - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!Folio.Value - - - - - - - Textbox12 - 0.44478cm - 16.1331cm - 0.44478cm - 4.32987cm - 10 - - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Fecha Impresion - - - - - - - Textbox12 - 0.88956cm - 16.13311cm - 0.44478cm - 4.32987cm - 11 - - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - #3598dc - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Format(Globals!ExecutionTime,"dd/MM/yyyy") - - - - - - - Textbox12 - 1.33434cm - 16.1331cm - 0.44478cm - 4.32987cm - 12 - - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Proveedor - - - - - - - Textbox12 - 2.41498cm - 0.20457cm - 0.44478cm - 2.34596cm - 13 - - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - #3598dc - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Descripción - - - - - - - Textbox12 - 2.85976cm - 0.20457cm - 0.44478cm - 2.34596cm - 14 - - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - #3598dc - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Justificación - - - - - - - Textbox12 - 3.30454cm - 0.20457cm - 0.44478cm - 2.34596cm - 15 - - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - #3598dc - Middle - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Fecha Entrega - - - - - - - Textbox12 - 2.85976cm - 13.61054cm - 0.44478cm - 2.52258cm - 16 - - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - #3598dc - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Lugar de Entrega - - - - - - - Textbox12 - 3.30454cm - 13.61054cm - 0.44478cm - 2.52258cm - 17 - - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - #3598dc - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Estatus - - - - - - - Textbox12 - 2.41498cm - 13.61054cm - 0.44478cm - 2.52258cm - 18 - - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - #3598dc - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =iif(Parameters!FechaEntrega.Value="01/01/0001","",Parameters!FechaEntrega.Value) - - - - - - - Textbox12 - 2.85976cm - 16.1331cm - 0.44478cm - 4.32987cm - 19 - - - White - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!ProveedorLugar.Value - - - - - - - Textbox12 - 3.30454cm - 16.1331cm - 0.44478cm - 4.32987cm - 20 - - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - White - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!Estatus.Value - - - - - - - Textbox12 - 2.41498cm - 16.1331cm - 0.44478cm - 4.32987cm - 21 - - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - White - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!Descripcion.Value - - - - - - - Textbox12 - 2.85976cm - 2.55053cm - 0.44478cm - 11.06001cm - 22 - - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - White - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!Asunto.Value - - - - - - - Textbox12 - 3.30454cm - 2.55053cm - 0.44478cm - 11.06001cm - 23 - - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - White - Middle - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!ProveedorNombre.Value - - - - - - - Textbox12 - 2.41498cm - 2.55053cm - 0.44478cm - 11.06001cm - 24 - - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - White - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!Empresa.Value - - - - - - - Textbox8 - 0.48034cm - 2.95843cm - 0.76228cm - 12.7315cm - 25 - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Solicitante - - - - - - - Textbox12 - 8.49815cm - 3.07712cm - 0.44478cm - 5.83844cm - 26 - - - #3598dc - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - - - - - - - - Textbox12 - 8.94293cm - 3.07712cm - 0.4095cm - 5.83844cm - 27 - - - - Black - - 1pt - - Top - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!NombreSolicito.Value - - - - - - - Textbox12 - 9.38771cm - 3.07712cm - 0.44478cm - 5.83844cm - 28 - - - White - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Autorizó - - - - - - - Textbox12 - 8.49815cm - 11.4732cm - 0.44478cm - 5.83844cm - 29 - - - #3598dc - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - - - - - - - - Textbox12 - 8.94293cm - 11.4732cm - 0.4095cm - 5.83844cm - 30 - - - - Black - - 1pt - - Top - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!NombreAutorizo.Value - - - - - - - Textbox12 - 9.38771cm - 11.4732cm - 0.44478cm - 5.83844cm - 31 - - - White - 2pt - 2pt - 2pt - 2pt - - - - External - =Parameters!FirmaAutorizo.Value - Fit - 6.92797cm - 12.49243cm - 3.5cm - 3.5cm - 32 - - =iif(Parameters!FirmaAutorizo.Value <> "", False, True) - - - - - - - External - =Parameters!FirmaSolicito.Value - Fit - 6.92797cm - 4.23541cm - 3.5cm - 3.5cm - 33 - - =iif(Parameters!FirmaSolicito.Value <> "", False, True) - - - - - - - true - true - - - - - Uso CFDI 3.3: - - - - - - - Textbox12 - 3.74932cm - 0.20457cm - 0.44478cm - 2.34596cm - 34 - - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - #3598dc - Middle - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!UsoCFDI.Value - - - - - - - Textbox12 - 3.74932cm - 2.55053cm - 0.44478cm - 11.06001cm - 35 - - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - White - Middle - 2pt - 2pt - 2pt - 2pt - - - - 4.12223in - + + + + + + Textbox3 + + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + Silver + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + U. M. + + + + + + + Textbox7 + + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + Silver + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Producto o Servicio + + + + + + + Textbox9 + + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + Silver + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Observaciones + + + + + + + Textbox68 + + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + Silver + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Sub Proyecto + + + + + + + Textbox71 + + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + Silver + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Activo Fijo + + + + + + + Textbox11 + + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + Silver + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + P. Unitario + + + + + + + Textbox13 + + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + Silver + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Importe + + + + + + + Textbox5 + + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + Silver + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.473cm + + + + + true + true + + + + + =Fields!Cantidad.Value + + + + + + + Cantidad + + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + 2pt + 2pt + 1pt + + + + + + + + true + true + + + + + =Fields!UM.Value + + + + + + + UM + + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + 2pt + 2pt + 1pt + + + + + + + + true + true + + + + + =Fields!PS.Value + + + + + + + PS + + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + 2pt + 2pt + 1pt + + + + + + + + true + true + + + + + =Fields!Observacion.Value + + + + + + + Observacion + + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + 2pt + 2pt + 1pt + + + + + + + + true + true + + + + + =Fields!SubProyecto.Value + + + + + + + SubProyecto + + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + 2pt + 2pt + 1pt + + + + + + + + true + true + + + + + =Fields!Codigo.Value + + + + + + + Codigo + + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + 2pt + 2pt + 1pt + + + + + + + + true + true + + + + + =Fields!Importe.Value + + + + + + + Importe + + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + 2pt + 2pt + 1pt + + + + + + + + true + true + + + + + =Fields!Total.Value + + + + + + + Total + + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + 2pt + 2pt + 1pt + + + + + + + + + + + + + + + + + + + + + + + + After + + + + + + + DsOC + 4.45714cm + 0.20457cm + 0.96717cm + 20.25838cm + + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + + + true + true + + + + + IVA + + + + + + + Textbox20 + 6.29242cm + 16.1331cm + 0.45183cm + 2.06968cm + 1 + + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + ="Total " & Parameters!Moneda.Value + + + + + + + Textbox20 + 6.74425cm + 16.1331cm + 0.45183cm + 2.06968cm + 2 + + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Descuento + + + + + + + Textbox20 + 5.86881cm + 16.1331cm + 0.42361cm + 2.06968cm + 3 + + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!IVA.Value + + + + + + + Textbox20 + 6.29242cm + 18.20277cm + 0.45183cm + 2.26019cm + 4 + + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!Total.Value + + + + + + + Textbox20 + 6.74425cm + 18.20276cm + 0.45183cm + 2.26019cm + 5 + + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!Descuento.Value + + + + + + + Textbox20 + 5.86881cm + 18.20276cm + 0.42361cm + 2.26019cm + 6 + + + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + =Parameters!ImporteLetra.Value + + + + + + + Textbox46 + 6.29975cm + 0.20457cm + 0.45183cm + 15.92855cm + 7 + + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + ORDEN DE COMPRA DE MATERIALES Y SERVICIOS + + + + + + + Textbox8 + 1.24262cm + 2.95843cm + 0.5365cm + 12.7315cm + 8 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!TipoOC.Value + + + + + + + Textbox12 + 16.1331cm + 0.44478cm + 4.32987cm + 9 + + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + #3598dc + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!Folio.Value + + + + + + + Textbox12 + 0.44478cm + 16.1331cm + 0.44478cm + 4.32987cm + 10 + + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Fecha Impresion + + + + + + + Textbox12 + 0.88956cm + 16.13311cm + 0.44478cm + 4.32987cm + 11 + + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + #3598dc + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Format(Globals!ExecutionTime,"dd/MM/yyyy") + + + + + + + Textbox12 + 1.33434cm + 16.1331cm + 0.44478cm + 4.32987cm + 12 + + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Proveedor + + + + + + + Textbox12 + 2.41498cm + 0.20457cm + 0.44478cm + 2.34596cm + 13 + + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + #3598dc + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Descripción + + + + + + + Textbox12 + 2.85976cm + 0.20457cm + 0.44478cm + 2.34596cm + 14 + + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + #3598dc + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Justificación + + + + + + + Textbox12 + 3.30454cm + 0.20457cm + 0.44478cm + 2.34596cm + 15 + + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + #3598dc + Middle + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Fecha Entrega + + + + + + + Textbox12 + 2.85976cm + 13.61054cm + 0.44478cm + 2.52258cm + 16 + + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + #3598dc + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Lugar de Entrega + + + + + + + Textbox12 + 3.30454cm + 13.61054cm + 0.44478cm + 2.52258cm + 17 + + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + #3598dc + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Estatus + + + + + + + Textbox12 + 2.41498cm + 13.61054cm + 0.44478cm + 2.52258cm + 18 + + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + #3598dc + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =iif(Parameters!FechaEntrega.Value="01/01/0001","",Parameters!FechaEntrega.Value) + + + + + + + Textbox12 + 2.85976cm + 16.1331cm + 0.44478cm + 4.32987cm + 19 + + + White + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!ProveedorLugar.Value + + + + + + + Textbox12 + 3.30454cm + 16.1331cm + 0.44478cm + 4.32987cm + 20 + + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + White + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!Estatus.Value + + + + + + + Textbox12 + 2.41498cm + 16.1331cm + 0.44478cm + 4.32987cm + 21 + + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + White + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!Descripcion.Value + + + + + + + Textbox12 + 2.85976cm + 2.55053cm + 0.44478cm + 11.06001cm + 22 + + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + White + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!Asunto.Value + + + + + + + Textbox12 + 3.30454cm + 2.55053cm + 0.44478cm + 11.06001cm + 23 + + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + White + Middle + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!ProveedorNombre.Value + + + + + + + Textbox12 + 2.41498cm + 2.55053cm + 0.44478cm + 11.06001cm + 24 + + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + White + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!Empresa.Value + + + + + + + Textbox8 + 0.48034cm + 2.95843cm + 0.76228cm + 12.7315cm + 25 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Solicitante + + + + + + + Textbox12 + 8.49815cm + 3.07712cm + 0.44478cm + 5.83844cm + 26 + + + #3598dc + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + + + + + + + + Textbox12 + 8.94293cm + 3.07712cm + 0.4095cm + 5.83844cm + 27 + + + + Black + + 1pt + + Top + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!NombreSolicito.Value + + + + + + + Textbox12 + 9.38771cm + 3.07712cm + 0.44478cm + 5.83844cm + 28 + + + White + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Autorizó + + + + + + + Textbox12 + 8.49815cm + 11.4732cm + 0.44478cm + 5.83844cm + 29 + + + #3598dc + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + + + + + + + + Textbox12 + 8.94293cm + 11.4732cm + 0.4095cm + 5.83844cm + 30 + + + + Black + + 1pt + + Top + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!NombreAutorizo.Value + + + + + + + Textbox12 + 9.38771cm + 11.4732cm + 0.44478cm + 5.83844cm + 31 + + + White + 2pt + 2pt + 2pt + 2pt + + + + External + =Parameters!FirmaAutorizo.Value + Fit + 6.92797cm + 12.49243cm + 3.5cm + 3.5cm + 32 + + =iif(Parameters!FirmaAutorizo.Value <> "", False, True) + + + + + + + External + =Parameters!FirmaSolicito.Value + Fit + 6.92797cm + 4.23541cm + 3.5cm + 3.5cm + 33 + + =iif(Parameters!FirmaSolicito.Value <> "", False, True) + + + + + + + true + true + + + + + Uso CFDI 3.3: + + + + + + + Textbox12 + 3.74932cm + 0.20457cm + 0.44478cm + 2.34596cm + 34 + + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + #3598dc + Middle + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!UsoCFDI.Value + + + + + + + Textbox12 + 3.74932cm + 2.55053cm + 0.44478cm + 11.06001cm + 35 + + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + White + Middle + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + SubTotal + + + + + + + Textbox20 + 5.43618cm + 16.13311cm + 0.42361cm + 2.0597cm + 36 + + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!SubTotal.Value + + + + + + + Textbox20 + 5.43618cm + 18.19279cm + 0.42361cm + 2.26019cm + 37 + + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + 4.12223in + - 4.12223in + 4.55973in - - - - - - Textbox7 - - - - - 1pt - - - - 1pt - - White - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - CLAVE - - - - - - - Textbox9 - - - - - 1pt - - - - 1pt - - White - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Descripción - - - - - - - Textbox11 - - - - - 1pt - - - - 1pt - - White - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Serie/Lote - - - - - - - Textbox10 - - - - - 1pt - - - - 1pt - - White - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - U.M. - - - - - - - Textbox13 - - - - - 1pt - - - - 1pt - - White - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Precio - - - - - - - Textbox17 - - - - - 1pt - - - - 1pt - - White - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Importe - - - - - - - Textbox19 - - - - - 1pt - - - - 1pt - - White - 2pt - 2pt - 2pt - 2pt - - - - - - - - 0.36717cm - - - - - true - true - - - - - =Fields!Cantidad.Value - - - - - - - Cantidad - - - 2pt - 2pt - =IIf(RowNumber(Nothing)=1,"1pt","0pt") - - - - - - - - true - true - - - - - =Fields!Codigo.Value - - - - - - - Codigo - - - 2pt - 2pt - =IIf(RowNumber(Nothing)=1,"1pt","0pt") - - - - - - - - true - true - - - - - =Fields!PS.Value - - - - - - 2pt - 2pt - =IIf(RowNumber(Nothing)=1,"1pt","0pt") - - - - - - - - true - true - - - - - =Fields!SerieLote.Value - - - - - - 2pt - 2pt - =IIf(RowNumber(Nothing)=1,"1pt","0pt") - - - - - - - - true - true - - - - - =Fields!UnidadMedida.Value - - - - - - - UnidadMedida - - - 2pt - 2pt - =IIf(RowNumber(Nothing)=1,"1pt","0pt") - - - - - - - - true - true - - - - - =Fields!PU.Value - - - - - - - PU - - - 2pt - 2pt - =IIf(RowNumber(Nothing)=1,"1pt","0pt") - - - - - - - - true - true - - - - - =Fields!Total.Value - - - - - - - Total - - - 2pt - 2pt - =IIf(RowNumber(Nothing)=1,"1pt","0pt") - - - - - - - - - - - - - - - - - - - - - - - After - - - - - - - DsInventarios - 0.17639cm - 0.12931cm - 0.96717cm - 19.16931cm - - - - - - 1.21412cm - 0.17882cm - 0cm - 19.11979cm - 1 - - - - - - true - true - - - - - ="Son: " & UCase(Parameters!ImporteLetra.Value) - - - - - - - ImporteLetra - 1.30749in - 2.18543in - 0.18861in - 5.38135in - 2 - - - 2pt - 2pt - 2pt - 2pt - - - - - - - 1.56514cm - - - 2.0317cm - - - - - 0.46771cm - - - - - true - true - - - - - Total: - - - - - - - Textbox33 - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Sum(Fields!Total.Value) - - - - - - - Textbox38 - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - - - - - - - - - - - - - DsInventarios - 1.31995cm - 15.70179cm - 0.46771cm - 3.59684cm - 3 - - - - - - 1.59819in - - - - - - - Textbox34 - 0.07056cm - 9.3683cm - 0.6cm - 9.85131cm - - - 2pt - 2pt - 2pt - 2pt - - - - Embedded - Logo1 - FitProportional - 0.07152in - 0.85657in - 1.28286in - 1 - - - - - - true - true - - - - - Factura de: - - - - - - - - - - - =Parameters!NombreProveedor.Value - - - - - - - - - - - =Parameters!RFCProveedor.Value - - - - - - - - - - - =Parameters!TelefonoProveedor.Value - - - - - - - - - - - =Parameters!ContactoProveedor.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Folio - - - - : - - - - =Parameters!Folio.Value - - - - - - - - - Almacén: - - - - =Parameters!Almacen.Value - - - - - - - - - Fecha: - - - - =Parameters!Fecha.Value - - - - - - - - - Folio Factura del Proveedor: - - - - =Parameters!FacturaProveedor.Value - - - - - - - Textbox50 - 0.74112cm - 10.83216cm - 1.86797cm - 8.38745cm - 3 - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - - 4.7625cm - true - true - - - 0.28886cm - 1.26971cm - 0cm - 5.13525cm - - - - - - true - true - - - - - =Parameters!NombreRecibio.Value - - - - Textbox31 - 0.46525cm - 0.85487cm - 0.6cm - 5.95755cm - 1 - - - 2pt - 2pt - 2pt - 2pt - - - - 0.28886cm - 13.28031cm - 0cm - 5.24108cm - 2 - - - - - - true - true - - - - - =Parameters!NombreEntrego.Value - - - - Textbox31 - 0.42997cm - 12.88344cm - 0.6cm - 5.95755cm - 3 - - - 2pt - 2pt - 2pt - 2pt - - - - 2.04584cm - 0.12912cm - 0cm - 19.1695cm - 4 - - - - - - true - true - - - - - OBSERVACIONES: - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!Observaciones.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - 2.85017cm - 0.05012cm - 0cm - 19.16949cm - 7 - - - - - - true - true - - - - - Usuario: - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!UsuarioImprimio.Value - - - - - - - Textbox18 - 2.956cm - 1.49125cm - 0.44125cm - 5.21516cm - 9 - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Fecha Impresión: - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Globals!ExecutionTime - - - - - - - Textbox18 - 2.956cm - 10.44391cm - 0.44125cm - 3.44953cm - 11 - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - ="Página " & Globals.PageNumber & " de " & Globals.TotalPages - - - - - - - Textbox3 - 2.956cm - 15.59511cm - 0.38981cm - 3.61081cm - 12 - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - IMPRESO EN SIG, Entradas / Salidas - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - 27.94cm - 21.59cm - 1cm - 1cm - 1cm - 0cm - 0.13cm - + + + + + + Textbox7 + + + + + 1pt + + + + 1pt + + White + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + CLAVE + + + + + + + Textbox9 + + + + + 1pt + + + + 1pt + + White + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Descripción + + + + + + + Textbox11 + + + + + 1pt + + + + 1pt + + White + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Serie/Lote + + + + + + + Textbox10 + + + + + 1pt + + + + 1pt + + White + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + U.M. + + + + + + + Textbox13 + + + + + 1pt + + + + 1pt + + White + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Precio + + + + + + + Textbox17 + + + + + 1pt + + + + 1pt + + White + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Importe + + + + + + + Textbox19 + + + + + 1pt + + + + 1pt + + White + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.36717cm + + + + + true + true + + + + + =Fields!Cantidad.Value + + + + + + + Cantidad + + + 2pt + 2pt + =IIf(RowNumber(Nothing)=1,"1pt","0pt") + + + + + + + + true + true + + + + + =Fields!Codigo.Value + + + + + + + Codigo + + + 2pt + 2pt + =IIf(RowNumber(Nothing)=1,"1pt","0pt") + + + + + + + + true + true + + + + + =Fields!PS.Value + + + + + + 2pt + 2pt + =IIf(RowNumber(Nothing)=1,"1pt","0pt") + + + + + + + + true + true + + + + + =Fields!SerieLote.Value + + + + + + 2pt + 2pt + =IIf(RowNumber(Nothing)=1,"1pt","0pt") + + + + + + + + true + true + + + + + =Fields!UnidadMedida.Value + + + + + + + UnidadMedida + + + 2pt + 2pt + =IIf(RowNumber(Nothing)=1,"1pt","0pt") + + + + + + + + true + true + + + + + =Fields!PU.Value + + + + + + + PU + + + 2pt + 2pt + =IIf(RowNumber(Nothing)=1,"1pt","0pt") + + + + + + + + true + true + + + + + =Fields!Total.Value + + + + + + + Total + + + 2pt + 2pt + =IIf(RowNumber(Nothing)=1,"1pt","0pt") + + + + + + + + + + + + + + + + + + + + + + + After + + + + + + + DsInventarios + 0.17639cm + 0.12931cm + 0.96717cm + 19.16931cm + + + + + + 1.21412cm + 0.17882cm + 0cm + 19.11979cm + 1 + + + + + + true + true + + + + + ="Son: " & UCase(Parameters!ImporteLetra.Value) + + + + + + + ImporteLetra + 0.73158in + 1.49813in + 0.18861in + 6.09975in + 2 + + + 2pt + 2pt + 2pt + 2pt + + + + + + + 1.56514cm + + + 2.0317cm + + + + + 0.46771cm + + + + + true + true + + + + + Total: + + + + + + + Textbox33 + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Sum(Fields!Total.Value) + + + + + + + Textbox38 + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + + + + + + + + + + DsInventarios + 1.31995cm + 15.70179cm + 0.46771cm + 3.59684cm + 3 + + + + + + 1.75444in + + + + + + + Textbox34 + 0.07056cm + 9.3683cm + 0.6cm + 9.85131cm + + + 2pt + 2pt + 2pt + 2pt + + + + Embedded + Logo1 + FitProportional + 0.07152in + 0.85657in + 1.28286in + 1 + + + + + + true + true + + + + + Factura de: + + + + + + + + + + + =Parameters!NombreProveedor.Value + + + + + + + + + + + =Parameters!RFCProveedor.Value + + + + + + + + + + + =Parameters!TelefonoProveedor.Value + + + + + + + + + + + =Parameters!ContactoProveedor.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Folio + + + + : + + + + =Parameters!Folio.Value + + + + + + + + + Almacén: + + + + =Parameters!Almacen.Value + + + + + + + + + Fecha: + + + + =Parameters!Fecha.Value + + + + + + + + + Folio Factura del Proveedor: + + + + =Parameters!FacturaProveedor.Value + + + + + + + Textbox50 + 0.74112cm + 10.83216cm + 1.86797cm + 8.38745cm + 3 + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + + 3.15049cm + true + true + + + 0.92688cm + 0.05012cm + 0cm + 19.16949cm + + + + + + true + true + + + + + Usuario: + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!UsuarioImprimio.Value + + + + + + + Textbox18 + 1.03271cm + 1.49125cm + 0.44125cm + 5.21516cm + 2 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Fecha Impresión: + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Globals!ExecutionTime + + + + + + + Textbox18 + 1.03271cm + 10.44391cm + 0.44125cm + 3.44953cm + 4 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + ="Página " & Globals.PageNumber & " de " & Globals.TotalPages + + + + + + + Textbox3 + 1.03271cm + 15.59511cm + 0.38981cm + 3.61081cm + 5 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + IMPRESO EN SIG, Entradas / Salidas + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + 0.19459cm + 1.19476cm + 0cm + 5.13525cm + + + + + + true + true + + + + + =Parameters!NombreRecibio.Value + + + + Textbox31 + 0.37098cm + 0.77992cm + 0.09729cm + 5.95755cm + 1 + + + 2pt + 2pt + 2pt + 2pt + + + + 0.19459cm + 13.20536cm + 0cm + 5.24108cm + 2 + + + + + + true + true + + + + + =Parameters!NombreEntrego.Value + + + + Textbox31 + 0.3357cm + 12.80849cm + 0.13257cm + 5.95755cm + 3 + + + 2pt + 2pt + 2pt + 2pt + + + + 0.75931cm + 0.05417cm + 0cm + 19.1695cm + 4 + + + + + + true + true + + + + + OBSERVACIONES: + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!Observaciones.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + 0cm + 0.05922cm + 0.90952cm + 19.22367cm + 7 + + =IIf( Globals.PageNumber = Globals.TotalPages, False, True) + + + + + + + + + + + 27.94cm + 21.59cm + 1cm + 1cm + 1cm + 0cm + 0.13cm + - - - Reporte de Impuestos - - -
  • - PDF -
  • -
  • - Excel -
  • -
  • - Ver Dlls en pesos -
  • - - - -
  • - Generar DIOT -
  • - -
    - - - -
    -
    - - - - - - - -
    -
    -
    - -
    -
    -
    - -
    -
    - - - - - - - - - - -   -
    -
    - -
    -
    - - - - - - - - - - -
    -
    - -
    - - - - -
    -
    -
    -
    -
    -
    -
    -
    -
    - - - - - - - - -
    - - -

    IVA Trasladado

    - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    - -
    -

    IEPS por Porcentaje

    - - - - - - - - - -
    -
    -

    IVA por Porcentaje

    - - - - - - - - -
    -
    -
    - -
    -
    - - - -

    IVA Acreditable

    - - - - - - - - - - - - - - - - - RetIVA
    Hon/Ser.Prof.
    -
    - - - -
    - - - - - - - - - <%-- - - - --%> - - - - - -
    -
    - -
    -

    IVA por Porcentaje

    - - - - - - - - -
    - -
    -
    -
    - -
    -
    - - - - - -
    - - - +<%@ Page Title="" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="RepIVA.aspx.cs" Inherits="Contabilidad_RepIVA" %> + + + + + + + + Reporte de Impuestos + + +
  • + PDF +
  • +
  • + Excel +
  • +
  • + Ver Dlls en pesos +
  • + + + +
  • + Generar DIOT +
  • + +
    + + + +
    +
    + + + + + + + +
    +
    +
    + +
    +
    +
    + +
    +
    + + + + + + + + + + +   +
    +
    + +
    +
    + + + + + + + + + + +
    +
    + +
    + + + + +
    +
    +
    +
    +
    +
    +
    +
    +
    + + + + + + + + +
    + + +

    IVA Trasladado

    + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    +

    IEPS por Porcentaje

    + + + + + + + + + +
    +
    +

    IVA por Porcentaje

    + + + + + + + + +
    +
    +
    + +
    +
    + + + +

    IVA Acreditable

    + + + + + + + + + + + + + + + + + RetIVA
    Hon/Ser.Prof.
    +
    + + + +
    + + + + + + + + + <%-- + + + --%> + + + + + +
    +
    + +
    +

    IVA por Porcentaje

    + + + + + + + + +
    + +
    +
    +
    + +
    +
    + + + + + +
    + + + diff --git a/Contabilidad/RepIVA.aspx.cs b/Contabilidad/RepIVA.aspx.cs index 0730328b1..176f60830 100644 --- a/Contabilidad/RepIVA.aspx.cs +++ b/Contabilidad/RepIVA.aspx.cs @@ -1,316 +1,316 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Web; -using System.Web.UI.WebControls; -using Extensiones; -using System.Data; -using static Extensiones.ModExtensiones; -using Microsoft.Reporting.WebForms; -using System.Activities.Expressions; -using System.Text; -using System.IO; - -public partial class Contabilidad_RepIVA : ClsPaginas -{ - #region PROPIEDADES - - private DataTable DtIVATrasladado - { - get { return DtIVATrasladado = (DataTable)ViewState["DtIVATrasladado"]; } - set { ViewState["DtIVATrasladado"] = value; } - } - private DataTable DtIVAAcreditable - { - get { return DtIVAAcreditable = (DataTable)ViewState["DtIVAAcreditable"]; } - set { ViewState["DtIVAAcreditable"] = value; } - } - private double TCEspecifico - { - get { return TCEspecifico = (double)ViewState["TCEspecifico"]; } - set { ViewState["TCEspecifico"] = value; } - } - - private int TipoCambio - { - get { return TipoCambio = (int)ViewState["TipoCambio"]; } - set { ViewState["TipoCambio"] = value; } - } - - #endregion - protected void Page_Load(object sender, EventArgs e) - { - if (!IsPostBack) - { - InicializaValores(); - - } - } - - public void InicializaValores() - { - TipoCambio = 1; - TCEspecifico = -1; - txtFechaI.Text = $"01/{DateTime.Now.Month}/{DateTime.Now.Year}"; - txtFechaF.Text = DateTime.Now.ToShortDateString(); - - LnkAccionesDIOT.Visible = true; - - } - - public void Consulta() - { - if (TipoCambio == 3 && TxtEspecifico.Text != "") { TCEspecifico = TxtEspecifico.Text.ToDouble(); } else { TCEspecifico = -1; } - int Conciliado = DdlTipoMovto.SelectedValue.ToEntero(); - LblMsgAcreditable.Text = ""; // lbl de mensajes de negativos - - ClsContabilidad ObjCont = new ClsContabilidad(); - if (ObjCont.GetRepIVA(txtFechaI.Text.ToDate(), txtFechaF.Text.ToDate(), 1, UsuarioActual.CveUsuario, Conciliado, UsuarioActual.CveEmpresa, TipoCambio, TCEspecifico)) - { - GvT.DataSource = ObjCont.DtResultados; - DtIVATrasladado = ObjCont.DtResultados; - if (ObjCont.GetRepIVAAcumulado(txtFechaI.Text.ToDate(), txtFechaF.Text.ToDate(), Conciliado, 1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)) - { - GvIEPSA.DataSource = ObjCont.DtResultados; - } - - if (ObjCont.GetRepIVAAcumulado(txtFechaI.Text.ToDate(), txtFechaF.Text.ToDate(), Conciliado, 2, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)) - { - GvIVAA.DataSource = ObjCont.DtResultados; - } - - } - if (ObjCont.GetRepIVA(txtFechaI.Text.ToDate(), txtFechaF.Text.ToDate(), 2, UsuarioActual.CveUsuario, Conciliado, UsuarioActual.CveEmpresa, TipoCambio, TCEspecifico)) - { - GvA.DataSource = ObjCont.DtResultados; - DtIVAAcreditable = ObjCont.DtResultados; - if (DtIVAAcreditable.FiltraParametros("IVA < 0 OR IEPS < 0 ").Rows.Count > 0) - { - LblMsgAcreditable.Text = "La información presenta importes en negativo, estos no se incluirán en el archivo generado para DIOT"; - } - - - if (ObjCont.GetRepIVAAcumulado(txtFechaI.Text.ToDate(), txtFechaF.Text.ToDate(), Conciliado, 3, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)) - { - GvIVA2.DataSource = ObjCont.DtResultados; - } - - - } - ObjCont.Dispose(); - GvT.DataBind(); - GvA.DataBind(); - GvIEPSA.DataBind(); - GvIVAA.DataBind(); - GvIVA2.DataBind(); - UpDatos.Update(); - } - - protected void BtnConsultar_Click(object sender, EventArgs e) - { - Consulta(); - } - - protected void GvIVATrasladado_RowDataBound(object sender, GridViewRowEventArgs e) - { - if (e.Row.RowType == DataControlRowType.DataRow) - { - if (e.Row.DBCampo("CveVenta").ToEntero() < 1) - { - e.Row.CssClass = "Totales"; - } - } - } - - protected void GvIVAAcreditable_RowDataBound(object sender, GridViewRowEventArgs e) - { - if (e.Row.RowType == DataControlRowType.DataRow) - { - if (e.Row.DBCampo("CveCompra").ToEntero() < 1) - { - e.Row.CssClass = "Totales"; - } - if (e.Row.DBCampo("PorcentajeIVA").ToDecimal() > 0 ) - { - Decimal SubTotal = (e.Row.DBCampo("SubTotal16").ToDecimal() > 0? e.Row.DBCampo("SubTotal16").ToDecimal() : (e.Row.DBCampo("SubTotal8").ToDecimal() > 0? e.Row.DBCampo("SubTotal8").ToDecimal() : (Decimal)0.0) ); - - Decimal dif = Math.Round(SubTotal * e.Row.DBCampo("PorcentajeIVA").ToDecimal(), 2) - Math.Round(e.Row.DBCampo("IVA").ToDecimal(), 2); - if (dif > 1) - { - e.Row.ForeColor = System.Drawing.Color.Red; - e.Row.Cells[0].Text = e.Row.Cells[0].Text + "Err"; - - e.Row.ToolTip = "Dif:" + dif.ToString() + "- Sub:" + e.Row.DBCampo("SubTotal")+ " - IVA:"+ e.Row.DBCampo("IVA"); - } - } - } - } - - protected void LnkPdf_Click(object sender, EventArgs e) - { - Imprimir("PDF"); - } - - protected void LnkExcel_Click(object sender, EventArgs e) - { - Imprimir("EXCEL"); - } - - public void Imprimir(String Opcion) - { - String FechaF; - if (txtFechaF.Text == "" || txtFechaF.Text == "__/__/____") { FechaF = "-1"; } else { FechaF = $" Fecha Final: {txtFechaF.Text}"; } - String FechaI; - if (txtFechaI.Text == "" || txtFechaI.Text == "__/__/____") { FechaI = "-1"; } else { FechaI = $" Fecha Inicial: {txtFechaI.Text}"; } - if (DtIVATrasladado.Rows.Count > 0 || DtIVAAcreditable.Rows.Count > 0) - { - System.IO.FileInfo Imagen; - String logouri = ""; - - if (UsuarioActual.CveEmpresa.Contiene(119)) - { - Imagen = new System.IO.FileInfo(String.Format("{0}/Logo.jpg", UsuarioActual.Empresa.Ruta)); - logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.jpg", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa); - } - else - { - Imagen = new System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta)); - logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa); - } - - List para = new List(); - para.Add(new CrystalParametro("Empresa", UsuarioActual.Empresa.Empresa)); - para.Add(new CrystalParametro("UsuarioImprimio", UsuarioActual.Nombre)); - para.Add(new CrystalParametro("Filtros", $"Filtros: {FechaI}{FechaF}")); - if (Imagen.Exists) - { - para.Add(new CrystalParametro("LogoPath", logouri)); - } - else - { - para.Add(new CrystalParametro("LogoPath", "")); - } - - DataTable Dt = TT.ActiveTabIndex == 0 ? DtIVATrasladado.Copy() : DtIVAAcreditable.Copy(); - string Formato = TT.ActiveTabIndex == 0 ? "RepIVA.rpt" : "RepIVAAcreditable.rpt"; - para.Add(new CrystalParametro("Excel", Formato)); - - ImprimirbytesPDF(ImprimirPDFCrystal(Server.MapPath($"~/Empresas/Grales/Formatos/{Formato}"),Dt,para, "Reporte de IVA", Opcion), "Reporte de IVA", Opcion); - } - else - { - Alert("No hay datos consultados", TipoMensaje.MsgAdvertencia); - } - } - - protected void BtnTipoCambio_Click(object sender, EventArgs e) - { - Consulta(); - RegistraScript(String.Format("$('#{0}').modal('hide');", "DivTipoCambio")); - } - - protected void RblTipoCambio_SelectedIndexChanged(object sender, EventArgs e) - { - TipoCambio = RblTipoCambio.SelectedValue.ToEntero(); - if (TipoCambio == 3) - { - LiEspecifico.Visible = true; - TCEspecifico = get_GlobalTipoCambio(DateTime.Now).ToString().ToDouble(); - TxtEspecifico.Text = TCEspecifico.ToString(); - } - else - { - LiEspecifico.Visible = false; - } - UpBodyTipoCambio.Update(); - } - - - protected string GenerarDIOT() - { - System.Text.StringBuilder Respuesta = new System.Text.StringBuilder(); - - - - return Respuesta.ToString(); - } - - protected void LnkAccionesDIOT_Click(object sender, EventArgs e) - { - - ClsContabilidad Objconta = new ClsContabilidad(); - StringBuilder SBDIOT = new StringBuilder(); - int Conciliado = DdlTipoMovto.SelectedValue.ToEntero(); - - if (Objconta.GetRepIVA(txtFechaI.Text.ToDate(), txtFechaF.Text.ToDate(), 2, UsuarioActual.CveUsuario, Conciliado, UsuarioActual.CveEmpresa, TipoCambio, TCEspecifico)) - { - - foreach (DataRow Drow in Objconta.DtResultados.FiltraParametros("CveCompra is null and CveProveedor > 0 and SubTotal >= 1 ").Rows) // and(IVA > 1 OR IEPS > 0) - { - SBDIOT.AppendLine( - Drow["TipoTercero"].ToString() + "|" + - Drow["TipoOperacion"].ToString() + "|" + - Drow["RFC"].ToString() +"|"+ - Drow["NumeroIDFiscal"].ToString() + "|" + - Drow["NombreExtranjero"].ToString() +"|"+ - Drow["PaisResidencia"].ToString() + "|" + - Drow["Nacionalidad"].ToString() +"|"+ - LV(Drow["valorActos1516"].ToString()) + "|"+ - LV(Drow["valorActos15"].ToString()) + "|" + - LV(Drow["ValorIvaNo1516"].ToString()) +"|"+ - - LV(Drow["valorActos1011"].ToString()) + "|" + - LV(Drow["valorActos10"].ToString()) + "|" + - LV(Drow["valorActosImp8"].ToString()) + "|" + - LV(Drow["ValorIvaNo10"].ToString()) + "|" + - LV(Drow["ValorIvaNo08"].ToString()) + "|" + - - LV(Drow["valorActosImp1516"].ToString()) + "|" + - LV(Drow["ValorIvaNoImp16"].ToString()) + "|" + - - LV(Drow["valorActosImp10"].ToString()) + "|" + - LV(Drow["ValorIvaNoImp10"].ToString()) + "|" + - - LV(Drow["IvaExentoImpo"].ToString()) + "|"+ - LV(Drow["IVACero"].ToString()) + "|" + - LV(Drow["IvaExento"].ToString()) + "|"+ - LV(Drow["IvaRetenido"].ToString()) + "|" + - LV(Drow["IvaDevoluciones"].ToString()) + "|"); - } - } - - Objconta.Dispose(); - - //MemoryStream ms = new MemoryStream(); - //TextWriter tw = new StreamWriter(ms, System.Text.Encoding.UTF8); - - //tw.Write(SBDIOT.ToString()); - - //tw.Flush(); - - //byte[] bytes = ms.ToArray(); - //ms.Close(); - - //Response.Clear(); - //Response.AppendHeader("Content-Length", text.Length.ToString()); - //Response.ContentType = "text/plain"; - //Response.AddHeader("content-disposition", $"attachment; filename=DIOT_{ txtFechaI.Text.ToDate().ToString("ddMMyyyy") }_{txtFechaI.Text.ToDate().ToString("ddMMyyyy") }.txt"); - //Response.BinaryWrite(bytes); - //Response.End(); - - Response.Clear(); - Response.ClearHeaders(); - - Response.AppendHeader("Content-Length", SBDIOT.ToString().Length.ToString()); - Response.ContentType = "text/plain"; - Response.AppendHeader("Content-Disposition", $"attachment;filename=DIOT_{ txtFechaI.Text.ToDate().ToString("ddMMyyyy") }_{txtFechaI.Text.ToDate().ToString("ddMMyyyy") }.txt"); - - Response.Write(SBDIOT.ToString()); - Response.End(); - } - - protected string LV(string Valor ) - { - return (Valor.ToDecimal() > 0) ? Valor.ToDecimal().ToString().FormatoNumero(0).Replace(",", string.Empty) : ""; - } +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; +using System.Web.UI.WebControls; +using Extensiones; +using System.Data; +using static Extensiones.ModExtensiones; +using Microsoft.Reporting.WebForms; +using System.Activities.Expressions; +using System.Text; +using System.IO; + +public partial class Contabilidad_RepIVA : ClsPaginas +{ + #region PROPIEDADES + + private DataTable DtIVATrasladado + { + get { return DtIVATrasladado = (DataTable)ViewState["DtIVATrasladado"]; } + set { ViewState["DtIVATrasladado"] = value; } + } + private DataTable DtIVAAcreditable + { + get { return DtIVAAcreditable = (DataTable)ViewState["DtIVAAcreditable"]; } + set { ViewState["DtIVAAcreditable"] = value; } + } + private double TCEspecifico + { + get { return TCEspecifico = (double)ViewState["TCEspecifico"]; } + set { ViewState["TCEspecifico"] = value; } + } + + private int TipoCambio + { + get { return TipoCambio = (int)ViewState["TipoCambio"]; } + set { ViewState["TipoCambio"] = value; } + } + + #endregion + protected void Page_Load(object sender, EventArgs e) + { + if (!IsPostBack) + { + InicializaValores(); + + } + } + + public void InicializaValores() + { + TipoCambio = 1; + TCEspecifico = -1; + txtFechaI.Text = $"01/{DateTime.Now.Month}/{DateTime.Now.Year}"; + txtFechaF.Text = DateTime.Now.ToShortDateString(); + + LnkAccionesDIOT.Visible = true; + + } + + public void Consulta() + { + if (TipoCambio == 3 && TxtEspecifico.Text != "") { TCEspecifico = TxtEspecifico.Text.ToDouble(); } else { TCEspecifico = -1; } + int Conciliado = DdlTipoMovto.SelectedValue.ToEntero(); + LblMsgAcreditable.Text = ""; // lbl de mensajes de negativos + + ClsContabilidad ObjCont = new ClsContabilidad(); + if (ObjCont.GetRepIVA(txtFechaI.Text.ToDate(), txtFechaF.Text.ToDate(), 1, UsuarioActual.CveUsuario, Conciliado, UsuarioActual.CveEmpresa, TipoCambio, TCEspecifico)) + { + GvT.DataSource = ObjCont.DtResultados; + DtIVATrasladado = ObjCont.DtResultados; + if (ObjCont.GetRepIVAAcumulado(txtFechaI.Text.ToDate(), txtFechaF.Text.ToDate(), Conciliado, 1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)) + { + GvIEPSA.DataSource = ObjCont.DtResultados; + } + + if (ObjCont.GetRepIVAAcumulado(txtFechaI.Text.ToDate(), txtFechaF.Text.ToDate(), Conciliado, 2, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)) + { + GvIVAA.DataSource = ObjCont.DtResultados; + } + + } + if (ObjCont.GetRepIVA(txtFechaI.Text.ToDate(), txtFechaF.Text.ToDate(), 2, UsuarioActual.CveUsuario, Conciliado, UsuarioActual.CveEmpresa, TipoCambio, TCEspecifico)) + { + GvA.DataSource = ObjCont.DtResultados; + DtIVAAcreditable = ObjCont.DtResultados; + if (DtIVAAcreditable.FiltraParametros("IVA < 0 OR IEPS < 0 ").Rows.Count > 0) + { + LblMsgAcreditable.Text = "La información presenta importes en negativo, estos no se incluirán en el archivo generado para DIOT"; + } + + + if (ObjCont.GetRepIVAAcumulado(txtFechaI.Text.ToDate(), txtFechaF.Text.ToDate(), Conciliado, 3, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)) + { + GvIVA2.DataSource = ObjCont.DtResultados; + } + + + } + ObjCont.Dispose(); + GvT.DataBind(); + GvA.DataBind(); + GvIEPSA.DataBind(); + GvIVAA.DataBind(); + GvIVA2.DataBind(); + UpDatos.Update(); + } + + protected void BtnConsultar_Click(object sender, EventArgs e) + { + Consulta(); + } + + protected void GvIVATrasladado_RowDataBound(object sender, GridViewRowEventArgs e) + { + if (e.Row.RowType == DataControlRowType.DataRow) + { + if (e.Row.DBCampo("CveVenta").ToEntero() < 1) + { + e.Row.CssClass = "Totales"; + } + } + } + + protected void GvIVAAcreditable_RowDataBound(object sender, GridViewRowEventArgs e) + { + if (e.Row.RowType == DataControlRowType.DataRow) + { + if (e.Row.DBCampo("CveCompra").ToEntero() < 1) + { + e.Row.CssClass = "Totales"; + } + if (e.Row.DBCampo("PorcentajeIVA").ToDecimal() > 0 ) + { + Decimal SubTotal = (e.Row.DBCampo("SubTotal16").ToDecimal() > 0? e.Row.DBCampo("SubTotal16").ToDecimal() : (e.Row.DBCampo("SubTotal8").ToDecimal() > 0? e.Row.DBCampo("SubTotal8").ToDecimal() : (Decimal)0.0) ); + + Decimal dif = Math.Round(SubTotal * e.Row.DBCampo("PorcentajeIVA").ToDecimal(), 2) - Math.Round(e.Row.DBCampo("IVA").ToDecimal(), 2); + if (dif > 1) + { + e.Row.ForeColor = System.Drawing.Color.Red; + e.Row.Cells[0].Text = e.Row.Cells[0].Text + "Err"; + + e.Row.ToolTip = "Dif:" + dif.ToString() + "- Sub:" + e.Row.DBCampo("SubTotal")+ " - IVA:"+ e.Row.DBCampo("IVA"); + } + } + } + } + + protected void LnkPdf_Click(object sender, EventArgs e) + { + Imprimir("PDF"); + } + + protected void LnkExcel_Click(object sender, EventArgs e) + { + Imprimir("EXCEL"); + } + + public void Imprimir(String Opcion) + { + String FechaF; + if (txtFechaF.Text == "" || txtFechaF.Text == "__/__/____") { FechaF = "-1"; } else { FechaF = $" Fecha Final: {txtFechaF.Text}"; } + String FechaI; + if (txtFechaI.Text == "" || txtFechaI.Text == "__/__/____") { FechaI = "-1"; } else { FechaI = $" Fecha Inicial: {txtFechaI.Text}"; } + if (DtIVATrasladado.Rows.Count > 0 || DtIVAAcreditable.Rows.Count > 0) + { + System.IO.FileInfo Imagen; + String logouri = ""; + + if (UsuarioActual.CveEmpresa.Contiene(119)) + { + Imagen = new System.IO.FileInfo(String.Format("{0}/Logo.jpg", UsuarioActual.Empresa.Ruta)); + logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.jpg", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa); + } + else + { + Imagen = new System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta)); + logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa); + } + + List para = new List(); + para.Add(new CrystalParametro("Empresa", UsuarioActual.Empresa.Empresa)); + para.Add(new CrystalParametro("UsuarioImprimio", UsuarioActual.Nombre)); + para.Add(new CrystalParametro("Filtros", $"Filtros: {FechaI}{FechaF}")); + if (Imagen.Exists) + { + para.Add(new CrystalParametro("LogoPath", logouri)); + } + else + { + para.Add(new CrystalParametro("LogoPath", "")); + } + + DataTable Dt = TT.ActiveTabIndex == 0 ? DtIVATrasladado.Copy() : DtIVAAcreditable.Copy(); + string Formato = TT.ActiveTabIndex == 0 ? "RepIVA.rpt" : "RepIVAAcreditable.rpt"; + para.Add(new CrystalParametro("Excel", Formato)); + + ImprimirbytesPDF(ImprimirPDFCrystal(Server.MapPath($"~/Empresas/Grales/Formatos/{Formato}"),Dt,para, "Reporte de IVA", Opcion), "Reporte de IVA", Opcion); + } + else + { + Alert("No hay datos consultados", TipoMensaje.MsgAdvertencia); + } + } + + protected void BtnTipoCambio_Click(object sender, EventArgs e) + { + Consulta(); + RegistraScript(String.Format("$('#{0}').modal('hide');", "DivTipoCambio")); + } + + protected void RblTipoCambio_SelectedIndexChanged(object sender, EventArgs e) + { + TipoCambio = RblTipoCambio.SelectedValue.ToEntero(); + if (TipoCambio == 3) + { + LiEspecifico.Visible = true; + TCEspecifico = get_GlobalTipoCambio(DateTime.Now).ToString().ToDouble(); + TxtEspecifico.Text = TCEspecifico.ToString(); + } + else + { + LiEspecifico.Visible = false; + } + UpBodyTipoCambio.Update(); + } + + + protected string GenerarDIOT() + { + System.Text.StringBuilder Respuesta = new System.Text.StringBuilder(); + + + + return Respuesta.ToString(); + } + + protected void LnkAccionesDIOT_Click(object sender, EventArgs e) + { + + ClsContabilidad Objconta = new ClsContabilidad(); + StringBuilder SBDIOT = new StringBuilder(); + int Conciliado = DdlTipoMovto.SelectedValue.ToEntero(); + + if (Objconta.GetRepIVA(txtFechaI.Text.ToDate(), txtFechaF.Text.ToDate(), 2, UsuarioActual.CveUsuario, Conciliado, UsuarioActual.CveEmpresa, TipoCambio, TCEspecifico)) + { + + foreach (DataRow Drow in Objconta.DtResultados.FiltraParametros("CveCompra is null and CveProveedor > 0 and SubTotal >= 1 ").Rows) // and(IVA > 1 OR IEPS > 0) + { + SBDIOT.AppendLine( + Drow["TipoTercero"].ToString() + "|" + + Drow["TipoOperacion"].ToString() + "|" + + Drow["RFC"].ToString() +"|"+ + Drow["NumeroIDFiscal"].ToString() + "|" + + Drow["NombreExtranjero"].ToString() +"|"+ + Drow["PaisResidencia"].ToString() + "|" + + Drow["Nacionalidad"].ToString() +"|"+ + LV(Drow["valorActos1516"].ToString()) + "|"+ + LV(Drow["valorActos15"].ToString()) + "|" + + LV(Drow["ValorIvaNo1516"].ToString()) +"|"+ + + LV(Drow["valorActos1011"].ToString()) + "|" + + LV(Drow["valorActos10"].ToString()) + "|" + + LV(Drow["valorActosImp8"].ToString()) + "|" + + LV(Drow["ValorIvaNo10"].ToString()) + "|" + + LV(Drow["ValorIvaNo08"].ToString()) + "|" + + + LV(Drow["valorActosImp1516"].ToString()) + "|" + + LV(Drow["ValorIvaNoImp16"].ToString()) + "|" + + + LV(Drow["valorActosImp10"].ToString()) + "|" + + LV(Drow["ValorIvaNoImp10"].ToString()) + "|" + + + LV(Drow["IvaExentoImpo"].ToString()) + "|"+ + LV(Drow["IVACero"].ToString()) + "|" + + LV(Drow["IvaExento"].ToString()) + "|"+ + LV(Drow["IvaRetenido"].ToString()) + "|" + + LV(Drow["IvaDevoluciones"].ToString()) + "|"); + } + } + + Objconta.Dispose(); + + //MemoryStream ms = new MemoryStream(); + //TextWriter tw = new StreamWriter(ms, System.Text.Encoding.UTF8); + + //tw.Write(SBDIOT.ToString()); + + //tw.Flush(); + + //byte[] bytes = ms.ToArray(); + //ms.Close(); + + //Response.Clear(); + //Response.AppendHeader("Content-Length", text.Length.ToString()); + //Response.ContentType = "text/plain"; + //Response.AddHeader("content-disposition", $"attachment; filename=DIOT_{ txtFechaI.Text.ToDate().ToString("ddMMyyyy") }_{txtFechaI.Text.ToDate().ToString("ddMMyyyy") }.txt"); + //Response.BinaryWrite(bytes); + //Response.End(); + + Response.Clear(); + Response.ClearHeaders(); + + Response.AppendHeader("Content-Length", SBDIOT.ToString().Length.ToString()); + Response.ContentType = "text/plain"; + Response.AppendHeader("Content-Disposition", $"attachment;filename=DIOT_{ txtFechaI.Text.ToDate().ToString("ddMMyyyy") }_{txtFechaI.Text.ToDate().ToString("ddMMyyyy") }.txt"); + + Response.Write(SBDIOT.ToString()); + Response.End(); + } + + protected string LV(string Valor ) + { + return (Valor.ToDecimal() > 0) ? Valor.ToDecimal().ToString().FormatoNumero(0).Replace(",", string.Empty) : ""; + } } \ No newline at end of file diff --git a/Empresas/Grales/Formatos/RepClientesCxC.rpt b/Empresas/Grales/Formatos/RepClientesCxC.rpt index 85aa597c69364c21b9fd2e6557043933b0a09f14..3e2e401dded312041b9b8db870620bd5c632bd52 100644 GIT binary patch delta 23732 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%0A7w~FBe09Az`Il7A^m=s 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 W3yt>g6r-8)c!^2Xcyx Date: Fri, 18 Oct 2019 10:35:25 -0500 Subject: [PATCH 32/70] checkpoint en la orden de servicio --- OS/OrdenesServicios.aspx.vb | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/OS/OrdenesServicios.aspx.vb b/OS/OrdenesServicios.aspx.vb index e586d230e..5bfb5f754 100644 --- a/OS/OrdenesServicios.aspx.vb +++ b/OS/OrdenesServicios.aspx.vb @@ -340,7 +340,7 @@ Partial Class OS_OrdenesServicios hdnEsThickbox.Value = "S" hdnClientIDLink.Value = "NoDefinido" - + ImprimirAlGenerar() End If End Sub @@ -2423,6 +2423,13 @@ Partial Class OS_OrdenesServicios ImprimirPDF("Empresas/Grales/Formatos/OrdenServicio.rdlc", lrds, params, NombreArchivo:=String.Format("OrdenServicio-{0}", CveFolio)) End Sub + + Private Sub ImprimirAlGenerar() + Dim params As New List(Of ReportParameter) + Dim report As LocalReport = New LocalReport() + report.ReportPath = String.Format("Empresas/{0}/Formatos/FormatoOS.rdlc", UsuarioActual.CveEmpresa) + Dim paramCollection = report.GetParameters + End Sub #End Region #Region "S O L I C I T A R M A T E R I A L" From 2d0a35bb7a78f8ee0501e3a67827119f815f8941 Mon Sep 17 00:00:00 2001 From: janeth arvizu Date: Fri, 18 Oct 2019 13:44:57 -0700 Subject: [PATCH 33/70] Sugerir Toxicidad segun IEPS Porcentaje --- Ventas/ProductosServicios.aspx | 2 +- Ventas/ProductosServicios.aspx.vb | 13 ++++++++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/Ventas/ProductosServicios.aspx b/Ventas/ProductosServicios.aspx index 2541f0c6d..c0a918e0c 100644 --- a/Ventas/ProductosServicios.aspx +++ b/Ventas/ProductosServicios.aspx @@ -557,7 +557,7 @@
    - + diff --git a/Ventas/ProductosServicios.aspx.vb b/Ventas/ProductosServicios.aspx.vb index caf2ca126..50e8551cf 100644 --- a/Ventas/ProductosServicios.aspx.vb +++ b/Ventas/ProductosServicios.aspx.vb @@ -2597,5 +2597,16 @@ Partial Class ProductosyServicios #End Region - + Protected Sub DdlIEPSPorcentaje_SelectedIndexChanged(sender As Object, e As System.EventArgs) Handles DdlIEPSPorcentaje.SelectedIndexChanged + Select Case DdlIEPSPorcentaje.SelectedValue + Case "0.09" + DdlCategoriaToxicidad.SelectedValueExist("001") + Case "0.07" + DdlCategoriaToxicidad.SelectedValueExist("002") + Case "0.06" + DdlCategoriaToxicidad.SelectedValueExist("003") + Case Else + DdlCategoriaToxicidad.SelectedValueExist("000") + End Select + End Sub End Class From f3ba2b444b077074561f475b1d0658126fddd3d4 Mon Sep 17 00:00:00 2001 From: janeth arvizu Date: Fri, 18 Oct 2019 14:58:00 -0700 Subject: [PATCH 34/70] DevDinC guarda Importe de Concepto 18 en Negativo --- Bancos/IE.aspx.vb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Bancos/IE.aspx.vb b/Bancos/IE.aspx.vb index 09ab57456..f27e00567 100644 --- a/Bancos/IE.aspx.vb +++ b/Bancos/IE.aspx.vb @@ -2809,8 +2809,9 @@ Partial Class Bancos_IE 'CANCELA NC IdCtaContableAplicar = IDCtaBeneficiario ImporteAplicarMN = ImporteAplicar ' (ImporteAplicar * If(DdlMoneda.SelectedValue.ToEntero = 1, 1, TxtTipoCambio.Text.ToDecimal)).RoundSQL() - - If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, (ImporteAplicar), ReferenciaAplicar, 18, ConceptoAplicar, Now, IdCtaContableAplicar, -1, CveIE, CveCompra:=CveCompraDeCDin, CveProveedor:=CveProveedor, ImporteMX:=(ImporteAplicarMN), ImporteME:=ImporteAplicarME, TipoCambio:=TCCompra) Then + Dim Importe = If(DdlTipoTransaccion.SelectedValue.ToEntero = 7, ImporteAplicar * -1, ImporteAplicar) 'ImporteAplicar * -1 + + If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, (Importe), ReferenciaAplicar, 18, ConceptoAplicar, Now, IdCtaContableAplicar, -1, CveIE, CveCompra:=CveCompraDeCDin, CveProveedor:=CveProveedor, ImporteMX:=(ImporteAplicarMN), ImporteME:=ImporteAplicarME, TipoCambio:=TCCompra) Then MsgError = "Ocurrió un error al registrar el asiento de pago de devolución" Exit Select End If From 4c620aabd32f3ebe0d4beadd4108b57a32f3594f Mon Sep 17 00:00:00 2001 From: Antonio Gonzalez Date: Sat, 19 Oct 2019 13:44:04 -0500 Subject: [PATCH 35/70] agregando formato para imprimir --- OS/OrdenesServicios.aspx.vb | 60 +++++++++++++++++++++++++++++++++++-- 1 file changed, 57 insertions(+), 3 deletions(-) diff --git a/OS/OrdenesServicios.aspx.vb b/OS/OrdenesServicios.aspx.vb index 5bfb5f754..4a954e7ea 100644 --- a/OS/OrdenesServicios.aspx.vb +++ b/OS/OrdenesServicios.aspx.vb @@ -247,6 +247,24 @@ Partial Class OS_OrdenesServicios ViewState("CveTecnico") = value End Set End Property + + Private Property ClienteRFC As String + Get + Return ViewState("ClienteRFC").ToString + End Get + Set(value As String) + ViewState("ClienteRFC") = value + End Set + End Property + + Private Property ClienteMail As String + Get + Return ViewState("ClienteMail").ToString + End Get + Set(value As String) + ViewState("ClienteMail") = value + End Set + End Property #End Region Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load If Not IsPostBack Then @@ -340,7 +358,6 @@ Partial Class OS_OrdenesServicios hdnEsThickbox.Value = "S" hdnClientIDLink.Value = "NoDefinido" - ImprimirAlGenerar() End If End Sub @@ -708,6 +725,8 @@ Partial Class OS_OrdenesServicios ClienteEstado = ObjCliente.Estado TelefonoCliente = ObjCliente.Telefono TxtSolicito.Text = ObjCliente.Contacto + ClienteRFC = ObjCliente.RFC + ClienteMail = ObjCliente.Mail If ObjCliente.GetSucursales(CveCliente) Then DdlSucursalCliente.DataSource = ObjCliente.DtResultados @@ -979,7 +998,7 @@ Partial Class OS_OrdenesServicios If Not ObjOrdenServicio.AddOrdenesServicios(CveCliente, DdlSubProyecto.SelectedValue.ToEntero, TxtSolicito.Text, TxtFechaRecibido.Text.ToDateTime, TxtDescripcion.Text, UsuarioActual.CveUsuario, DdlEstatusOS.SelectedValue.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCotizacion, -1, -1, DdlTipoOrdenOS.SelectedValue.ToEntero, CveClienteSucursal:=DdlSucursalCliente.SelectedValue.ToEntero) Then Errores = True End If - + CargaCliente(CveCliente) For Each Row As DataRow In TmpDT.Rows If Not Errores Then Dim Consecutivo As Integer = Row("Consecutivo").ToString.ToEntero @@ -1046,6 +1065,8 @@ Partial Class OS_OrdenesServicios Dim Liga = $"document.location.href=""/OS/RepOrdenesServicios.aspx"";" + ImprimirAlGenerar() + ObjOrdenServicio.Commit() Alert(MensajeAlert.ToString, TipoMensaje.MsgInformacion, Liga) @@ -2427,8 +2448,41 @@ Partial Class OS_OrdenesServicios Private Sub ImprimirAlGenerar() Dim params As New List(Of ReportParameter) Dim report As LocalReport = New LocalReport() + + Dim dt As DataTable = TmpDT + Dim DtMateriales As DataTable = TmpDTMaterialesDetalle + report.ReportPath = String.Format("Empresas/{0}/Formatos/FormatoOS.rdlc", UsuarioActual.CveEmpresa) - Dim paramCollection = report.GetParameters + + params.Add(New ReportParameter("Cliente", NombreCliente)) + params.Add(New ReportParameter("Direccion", ClienteDireccion)) + params.Add(New ReportParameter("NoDeCliente", TxtCodigo.Text)) + params.Add(New ReportParameter("RFC", ClienteRFC)) + params.Add(New ReportParameter("Poblacion", ClienteCiudad)) + params.Add(New ReportParameter("Vendedor", UsuarioActual.Nombre)) + params.Add(New ReportParameter("Contacto", TxtSolicito.Text)) + params.Add(New ReportParameter("Correo", ClienteMail)) + params.Add(New ReportParameter("Sucursal", DdlSubProyecto.SelectedItem.Value)) + params.Add(New ReportParameter("TipoServicio", "Reparación/Diagnostico")) + params.Add(New ReportParameter("DiaFecha", Date.Today.Day.ToString)) + params.Add(New ReportParameter("MesFecha", Date.Today.Month.ToString)) + params.Add(New ReportParameter("AñoFecha", Date.Today.Year.ToString)) + params.Add(New ReportParameter("DiaVigencia", Date.Today.Day.ToString)) + params.Add(New ReportParameter("MesVigencia", Date.Today.Month.ToString)) + params.Add(New ReportParameter("AñoVigencia", Date.Today.Year.ToString)) + params.Add(New ReportParameter("Folio", CveFolio.ToString)) + params.Add(New ReportParameter("CodigoDeServicio", CveOS.ToString)) + params.Add(New ReportParameter("FallaReportada", TxtDescripcion.Text)) + params.Add(New ReportParameter("Copia", "Copia: Cliente")) + + Dim lrds As New List(Of ReportDataSource) + Dim rds As New ReportDataSource With {.Name = "DataSet2", .Value = DtMateriales} + Dim rds2 As New ReportDataSource With {.Name = "DataSet1", .Value = dt} + + lrds.Add(rds) + lrds.Add(rds2) + + ImprimirPDF(String.Format("Empresas/{0}/Formatos/FormatoOS.rdlc", UsuarioActual.CveEmpresa), lrds, params, NombreArchivo:=String.Format("OrdenServicio-{0}", CveFolio)) End Sub #End Region From 56c4985fb0020f8996762e735a1d0cdb6a814d96 Mon Sep 17 00:00:00 2001 From: rrene Date: Mon, 21 Oct 2019 08:50:41 -0700 Subject: [PATCH 36/70] otros ingresos/egresos IE --- Bancos/IE.aspx | 6 +-- Bancos/IE.aspx.vb | 3 +- Bin/Microsoft.SqlServer.Types.dll | Bin 391880 -> 392456 bytes Compras/Compras.aspx.vb | 6 +-- SqlServerTypes/readme.htm | 61 ++++++++++++++++++++++++++++++ packages.config | 2 + 6 files changed, 70 insertions(+), 8 deletions(-) create mode 100644 SqlServerTypes/readme.htm diff --git a/Bancos/IE.aspx b/Bancos/IE.aspx index 5d8bd47e6..3a606dd7c 100644 --- a/Bancos/IE.aspx +++ b/Bancos/IE.aspx @@ -247,10 +247,8 @@
    - -
    -
    - + +
    $ diff --git a/Bancos/IE.aspx.vb b/Bancos/IE.aspx.vb index 09ab57456..bc8479a7f 100644 --- a/Bancos/IE.aspx.vb +++ b/Bancos/IE.aspx.vb @@ -1180,7 +1180,8 @@ Partial Class Bancos_IE DdlProveedores.SelectedText = ObjProveedor.NombreComercial DdlProveedores.SelectedValue = ObjProveedor.CveProveedor.ToString - + DivOtrosIngresosEgresos.Visible = True + End If Select Case RBL.SelectedValue diff --git a/Bin/Microsoft.SqlServer.Types.dll b/Bin/Microsoft.SqlServer.Types.dll index d4dd789939d82c83eb2720bf5868234ffafca86d..1ccde4ab41861e147c71e420d78328995842559d 100644 GIT binary patch delta 10090 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 a4b8~k#V^m_J?{B1WA(_OiJd%17ykoR 0 AndAlso ArrAnticipos IsNot Nothing AndAlso ArrAnticipos.Count > 0 AndAlso TxtTotal.Text.ToDecimal = 0, "ImporteSinImpuestos", "Total")).ToString.ToDecimal * tipoCambioActual) - (ImporteMN228 + ImporteMN229 - ImporteCI176) - If ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, Importe228, Referencia, ConceptoContabilizacionME, Concepto, FechaMovimiento, IdCtaContableME, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, ImporteMX:=ImporteMN228, ImporteME:=ImporteME228, CveCuenta:=CveCuenta, CveOCDetalle:=Dr("CveOrdenCompraDetalle").ToString.ToEntero, TipoCambio:=TCAjuste, CveMovimientoAlmacen:=Dr("CveMovimientoAlmacen").ToString.ToEntero, Contabilizable:=SeContabiliza) Then - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, Importe229, Referencia, ConceptoContabilizacionMEComp, Concepto, FechaMovimiento, IdCtaContableMEComp, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, ImporteMX:=ImporteMN229, ImporteME:=ImporteME229, CveCuenta:=CveCuenta, CveOCDetalle:=Dr("CveOrdenCompraDetalle").ToString.ToEntero, TipoCambio:=TCAjuste, CveMovimientoAlmacen:=Dr("CveMovimientoAlmacen").ToString.ToEntero, Contabilizable:=SeContabiliza) Then + If ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, Importe228, Referencia, ConceptoContabilizacionME, Concepto, FechaMovimiento, IdCtaContableME, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, ImporteMX:=ImporteMN228, ImporteME:=ImporteME228, CveCuenta:=CveCuenta, CveOCDetalle:=Dr("CveOrdenCompraDetalle").ToString.ToEntero, TipoCambio:=TCAjuste, CveMovimientoAlmacen:=CveMovimientoAlmacen, Contabilizable:=SeContabiliza) Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, Importe229, Referencia, ConceptoContabilizacionMEComp, Concepto, FechaMovimiento, IdCtaContableMEComp, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, ImporteMX:=ImporteMN229, ImporteME:=ImporteME229, CveCuenta:=CveCuenta, CveOCDetalle:=Dr("CveOrdenCompraDetalle").ToString.ToEntero, TipoCambio:=TCAjuste, CveMovimientoAlmacen:=CveMovimientoAlmacen, Contabilizable:=SeContabiliza) Then ErrorPrepoliza = True Exit For End If @@ -6301,7 +6301,7 @@ Partial Class Compras_Compras Concepto = $"{NombreProveedor} {TxtSerie.Text} - {TxtFolio.Text}" - If importeMovimiento > 0 And ChkNCInvNC.Checked Or TxtTotal.Text.ToDecimal = 0 And ChkNCInvNC.Checked Then + If importeMovimiento > 0 Or TxtTotal.Text.ToDecimal = 0 Then RegistroCuentaPuente = True 'Conta ContPAQ If IdCtaContable = 0 Then diff --git a/SqlServerTypes/readme.htm b/SqlServerTypes/readme.htm new file mode 100644 index 000000000..02d9ac8ce --- /dev/null +++ b/SqlServerTypes/readme.htm @@ -0,0 +1,61 @@ + + + + Microsoft.SqlServer.Types + + + +
    +

    Action required to load native assemblies

    +

    + To deploy an application that uses spatial data types to a machine that does not have 'System CLR Types for SQL Server' installed you also need to deploy the native assembly SqlServerSpatial140.dll. Both x86 (32 bit) and x64 (64 bit) versions of this assembly have been added to your project under the SqlServerTypes\x86 and SqlServerTypes\x64 subdirectories. The native assembly msvcr120.dll is also included in case the C++ runtime is not installed. +

    +

    + You need to add code to load the correct one of these assemblies at runtime (depending on the current architecture). +

    +

    ASP.NET Web Sites

    +

    + For ASP.NET Web Sites, add the following block of code to the code behind file of the Web Form where you have added Report Viewer Control: +

    +    Default.aspx.cs:
    +        
    +    public partial class _Default : System.Web.UI.Page
    +    {
    +        static bool _isSqlTypesLoaded = false;
    +
    +        public _Default()
    +        {
    +            if (!_isSqlTypesLoaded)
    +            {
    +                SqlServerTypes.Utilities.LoadNativeAssemblies(Server.MapPath("~"));
    +                _isSqlTypesLoaded = true;
    +            }
    +            
    +        }
    +    }
    +
    +

    +

    ASP.NET Web Applications

    +

    + For ASP.NET Web Applications, add the following line of code to the Application_Start method in Global.asax.cs: +

        SqlServerTypes.Utilities.LoadNativeAssemblies(Server.MapPath("~/bin"));
    +

    +

    Desktop Applications

    +

    + For desktop applications, add the following line of code to run before any spatial operations are performed: +

        SqlServerTypes.Utilities.LoadNativeAssemblies(AppDomain.CurrentDomain.BaseDirectory);
    +

    +
    + + \ No newline at end of file diff --git a/packages.config b/packages.config index ddaa3245a..745b27f24 100644 --- a/packages.config +++ b/packages.config @@ -7,7 +7,9 @@ + + From d75be1b40082b3bc8488783b0b78e20e89016626 Mon Sep 17 00:00:00 2001 From: janeth arvizu Date: Mon, 21 Oct 2019 08:54:08 -0700 Subject: [PATCH 37/70] DevDinC guarda Importe de Concepto 18 en Negativo --- Bancos/IE.aspx.vb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Bancos/IE.aspx.vb b/Bancos/IE.aspx.vb index f27e00567..10ba614b9 100644 --- a/Bancos/IE.aspx.vb +++ b/Bancos/IE.aspx.vb @@ -2809,9 +2809,9 @@ Partial Class Bancos_IE 'CANCELA NC IdCtaContableAplicar = IDCtaBeneficiario ImporteAplicarMN = ImporteAplicar ' (ImporteAplicar * If(DdlMoneda.SelectedValue.ToEntero = 1, 1, TxtTipoCambio.Text.ToDecimal)).RoundSQL() - Dim Importe = If(DdlTipoTransaccion.SelectedValue.ToEntero = 7, ImporteAplicar * -1, ImporteAplicar) 'ImporteAplicar * -1 + 'Dim Importe = If(DdlTipoTransaccion.SelectedValue.ToEntero = 7, ImporteAplicar * -1, ImporteAplicar) 'ImporteAplicar * -1 - If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, (Importe), ReferenciaAplicar, 18, ConceptoAplicar, Now, IdCtaContableAplicar, -1, CveIE, CveCompra:=CveCompraDeCDin, CveProveedor:=CveProveedor, ImporteMX:=(ImporteAplicarMN), ImporteME:=ImporteAplicarME, TipoCambio:=TCCompra) Then + If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, (ImporteAplicar * -1), ReferenciaAplicar, 18, ConceptoAplicar, Now, IdCtaContableAplicar, -1, CveIE, CveCompra:=CveCompraDeCDin, CveProveedor:=CveProveedor, ImporteMX:=(ImporteAplicarMN), ImporteME:=ImporteAplicarME, TipoCambio:=TCCompra) Then MsgError = "Ocurrió un error al registrar el asiento de pago de devolución" Exit Select End If From 1ecafbf06f462199681fa25d40dca8401715fdf9 Mon Sep 17 00:00:00 2001 From: janeth arvizu Date: Mon, 21 Oct 2019 11:29:04 -0700 Subject: [PATCH 38/70] Otros Ingresos/Egresos --- Bancos/IE.aspx.vb | 56 ++++++++++++++++++++++++++++++++--------------- 1 file changed, 38 insertions(+), 18 deletions(-) diff --git a/Bancos/IE.aspx.vb b/Bancos/IE.aspx.vb index 24fc44615..8bdf74e1c 100644 --- a/Bancos/IE.aspx.vb +++ b/Bancos/IE.aspx.vb @@ -1263,6 +1263,7 @@ Partial Class Bancos_IE IDCtaBeneficiarioComplementaria = ObjCliente.IdCtaContCompClientes DdlCliente.SelectedText = ObjCliente.NombreComercial DdlCliente.SelectedValue = ObjCliente.CveCliente.ToString + DivOtrosIngresosEgresos.Visible = True End If If UsuarioActual.Empresa.UsaAC OrElse UsuarioActual.Empresa.Funcionalidad(200) = "1" Then @@ -2677,20 +2678,11 @@ Partial Class Bancos_IE If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, ImporteAplicar, ReferenciaAplicar, 204, ConceptoAplicar, Now, IdCtaContableAplicar, -1, CveIE, CveVenta:=CveVentaDevDin, CveCliente:=CveCliente, ImporteMX:=ImporteAplicarMN, ImporteME:=ImporteAplicarME, CveCuenta:=CveCuentaConta) Then MsgError = "Ocurrió un error al registrar el asiento de bancos complementaria de devolución" End If - End If - - 'CANCELA NC - IdCtaContableAplicar = IDCtaBeneficiario - ImporteAplicarMN = (ImporteAplicar * If(DdlMoneda.SelectedValue.ToEntero = 1, 1, TxtTipoCambio.Text.ToDecimal)).RoundSQL() - If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, -(ImporteAplicar), ReferenciaAplicar, 12, ConceptoAplicar, Now, IdCtaContableAplicar, -1, CveIE, CveVenta:=CveVentaDevDin, CveCliente:=CveCliente, ImporteMX:=-(ImporteAplicarMN), ImporteME:=ImporteAplicarME) Then - MsgError = "Ocurrió un error al registrar el asiento de pago de devolución" - Exit Select - End If - - 'OTROS INGRESOS/EGRESOS - + End If + + 'OTROS INGRESOS/EGRESOS + Dim Impo As Decimal = TxtOtrosIngresosEgresos.Text.ToDecimal If TxtOtrosIngresosEgresos.Text.ToDecimal <> 0 Then - Dim Impo As Decimal = TxtOtrosIngresosEgresos.Text.ToDecimal Dim TipoMovtoIE As Boolean = False Dim CveConcIE As Integer = 78 If Impo > 0 Then @@ -2707,10 +2699,17 @@ Partial Class Bancos_IE MsgError = "Ocurrió un error al registrar el asiento de pago de devolución" Exit Select End If + End If + + 'CANCELA NC + IdCtaContableAplicar = IDCtaBeneficiario + ImporteAplicar = ImporteAplicar + Impo + ImporteAplicarMN = (ImporteAplicar * If(DdlMoneda.SelectedValue.ToEntero = 1, 1, TxtTipoCambio.Text.ToDecimal)).RoundSQL() + If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, -(ImporteAplicar), ReferenciaAplicar, 12, ConceptoAplicar, Now, IdCtaContableAplicar, -1, CveIE, CveVenta:=CveVentaDevDin, CveCliente:=CveCliente, ImporteMX:=-(ImporteAplicarMN), ImporteME:=ImporteAplicarME) Then + MsgError = "Ocurrió un error al registrar el asiento de pago de devolución" + Exit Select End If - - 'IMPUESTOS If ObjMov.GetPrePolizasDetalle(CvePrePolizaDevDin) Then Dim PorcentajePagoDevDin = (TxtImporte.Text.ToDecimal / ImporteOriginalDevDin).RoundSQL(6) @@ -2805,14 +2804,35 @@ Partial Class Bancos_IE If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, ImporteAplicar, ReferenciaAplicar, 204, ConceptoAplicar, Now, IdCtaContableAplicar, -1, CveIE, CveCompra:=CveCompraDeCDin, CveProveedor:=CveProveedor, ImporteMX:=ImporteAplicarMN, ImporteME:=ImporteAplicarME, CveCuenta:=CveCuentaConta, TipoCambio:=TCDocumento) Then MsgError = "Ocurrió un error al registrar el asiento de bancos complementaria de devolución" End If + End If + + 'OTROS INGRESOS/EGRESOS + If TxtOtrosIngresosEgresos.Text.ToDecimal <> 0 Then + Dim Impo As Decimal = TxtOtrosIngresosEgresos.Text.ToDecimal + Dim TipoMovtoIE As Boolean = False + Dim CveConcIE As Integer = 78 + If Impo > 0 Then + TipoMovtoIE = True + Impo = Math.Abs(Impo) + CveConcIE = 78 + Else + TipoMovtoIE = False + Impo = Math.Abs(Impo) + CveConcIE = 211 + End If + + If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoIE, Impo, ReferenciaAplicar, CveConcIE, ConceptoAplicar, Now, IdCtaContableAplicar, -1, CveIE, CveCompra:=CveCompraDeCDin, CveProveedor:=CveProveedor, ImporteMX:=Impo, ImporteME:=0, CveCuenta:=CveCuentaConta, TipoCambio:=TCDocumento) Then + MsgError = "Ocurrió un error al registrar el asiento de pago de devolución" + Exit Select + End If End If 'CANCELA NC IdCtaContableAplicar = IDCtaBeneficiario - ImporteAplicarMN = ImporteAplicar ' (ImporteAplicar * If(DdlMoneda.SelectedValue.ToEntero = 1, 1, TxtTipoCambio.Text.ToDecimal)).RoundSQL() - 'Dim Importe = If(DdlTipoTransaccion.SelectedValue.ToEntero = 7, ImporteAplicar * -1, ImporteAplicar) 'ImporteAplicar * -1 + ImporteAplicar = ImporteAplicar - TxtOtrosIngresosEgresos.Text.ToDecimal + ImporteAplicarMN = ImporteAplicar ' (ImporteAplicar * If(DdlMoneda.SelectedValue.ToEntero = 1, 1, TxtTipoCambio.Text.ToDecimal)).RoundSQL() - If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, (ImporteAplicar * -1), ReferenciaAplicar, 18, ConceptoAplicar, Now, IdCtaContableAplicar, -1, CveIE, CveCompra:=CveCompraDeCDin, CveProveedor:=CveProveedor, ImporteMX:=(ImporteAplicarMN), ImporteME:=ImporteAplicarME, TipoCambio:=TCCompra) Then + If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, -(ImporteAplicar), ReferenciaAplicar, 18, ConceptoAplicar, Now, IdCtaContableAplicar, -1, CveIE, CveCompra:=CveCompraDeCDin, CveProveedor:=CveProveedor, ImporteMX:=(ImporteAplicarMN), ImporteME:=ImporteAplicarME, TipoCambio:=TCCompra) Then MsgError = "Ocurrió un error al registrar el asiento de pago de devolución" Exit Select End If From 4a6db28935e43fc8dca9d8c503acf93f10d66630 Mon Sep 17 00:00:00 2001 From: rrene Date: Mon, 21 Oct 2019 11:30:54 -0700 Subject: [PATCH 39/70] consumo interno, movimiento cargado --- Inventarios/EntradasSalidas.aspx.vb | 1 + 1 file changed, 1 insertion(+) diff --git a/Inventarios/EntradasSalidas.aspx.vb b/Inventarios/EntradasSalidas.aspx.vb index 969fe1031..447588480 100644 --- a/Inventarios/EntradasSalidas.aspx.vb +++ b/Inventarios/EntradasSalidas.aspx.vb @@ -1538,6 +1538,7 @@ Partial Class Inventarios_EntradasSalidas Case 30 CveConceptoContable = 181 + TipoMovtoOtro = False If UsuarioActual.Empresa.Funcionalidad(342).ToEntero > 0 Then IdCtaContableOtro = UsuarioActual.Empresa.Funcionalidad(342).ToEntero End If From 185d40eca81f28829e03d8b8dfe2122a12ca53ea Mon Sep 17 00:00:00 2001 From: rrene Date: Mon, 21 Oct 2019 11:37:08 -0700 Subject: [PATCH 40/70] =?UTF-8?q?movtocontable=20correcci=C3=B3n?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Inventarios/EntradasSalidas.aspx.vb | 1 + 1 file changed, 1 insertion(+) diff --git a/Inventarios/EntradasSalidas.aspx.vb b/Inventarios/EntradasSalidas.aspx.vb index 447588480..20bb83ab8 100644 --- a/Inventarios/EntradasSalidas.aspx.vb +++ b/Inventarios/EntradasSalidas.aspx.vb @@ -1524,6 +1524,7 @@ Partial Class Inventarios_EntradasSalidas Dim OrigenMov As Integer = GlobalDTInvConceptos.FiltroPrimeroValor("Origen", "CveConcepto = " & DdlConcepto.SelectedValue).ToEntero If OrigenMov = 1 Then TipoMovtoAlmacen = False Else TipoMovtoAlmacen = True + TipoMovtoOtro = Not TipoMovtoAlmacen Dim CveConceptoContable As Integer = 78 Dim CveClasificacion As Integer = -1 From cc53c6565bb28a75f740c864277c30ad3e3a60e9 Mon Sep 17 00:00:00 2001 From: janeth arvizu Date: Mon, 21 Oct 2019 11:40:33 -0700 Subject: [PATCH 41/70] Cargo y Bonificacion Usado visible segun funcionalidad --- Ventas/Clientes.aspx | 4 ++-- Ventas/Clientes.aspx.vb | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/Ventas/Clientes.aspx b/Ventas/Clientes.aspx index f18f5428a..7c83e3ae9 100644 --- a/Ventas/Clientes.aspx +++ b/Ventas/Clientes.aspx @@ -584,11 +584,11 @@
    -
    +
    -
    +
    diff --git a/Ventas/Clientes.aspx.vb b/Ventas/Clientes.aspx.vb index fc157f681..e7745f384 100644 --- a/Ventas/Clientes.aspx.vb +++ b/Ventas/Clientes.aspx.vb @@ -1650,6 +1650,8 @@ Partial Class Clientes DivEsDistribuidor.Visible = True TabUsados.Visible = True + DivCargoUsado.Visible = True + DivBonificacionUsado.Visible = True CargaUsados() End If From 4ec808ea50cbd3a520b83eab355e19f06527dbff Mon Sep 17 00:00:00 2001 From: Antonio Gonzalez Date: Mon, 21 Oct 2019 13:45:25 -0500 Subject: [PATCH 42/70] Aun hay problemas con el formato de Orden de servicio --- Compras/PopUpVerFactura.aspx.vb | 84 +++++++++++++++++++++------------ OS/OrdenesServicios.aspx.vb | 16 ++++--- 2 files changed, 64 insertions(+), 36 deletions(-) diff --git a/Compras/PopUpVerFactura.aspx.vb b/Compras/PopUpVerFactura.aspx.vb index 2cdfa5f01..aee05f84b 100644 --- a/Compras/PopUpVerFactura.aspx.vb +++ b/Compras/PopUpVerFactura.aspx.vb @@ -2941,9 +2941,11 @@ Partial Class PopUpVerFactura Dim params As New List(Of ReportParameter) Dim CveFolio = "" CreaDT() + Dim ReporteEmpresa As New System.IO.FileInfo(String.Format("{0}Formatos/OrdenServicio.rdlc", UsuarioActual.Empresa.Ruta)) If ObjOS.GetOrdenesServicios(CveOS, -1, -1, -1, -1, UsuarioActual.CveEmpresa) Then - If ObjOS.DtResultados.Rows.Count > 0 Then + If ObjOS.DtResultados.Rows.Count > 0 Then + Dim dtOS As DataTable = ObjOS.DtResultados Dim dr As DataRow = dtOS.Rows(0) params.Add(New ReportParameter("Cliente", dr("Cliente").ToString)) @@ -2957,41 +2959,65 @@ Partial Class PopUpVerFactura params.Add(New ReportParameter("ClienteColonia", dr("Colonia").ToString)) params.Add(New ReportParameter("ClienteCiudad", dr("Ciudad").ToString)) params.Add(New ReportParameter("ClienteEstado", dr("Estado").ToString)) - CveFolio = dr("Folio").ToString + CveFolio = dr("Folio").ToString + + If ReporteEmpresa.Exists Then + params.Add(New ReportParameter("NoDeCliente", dr("CveCliente").ToString)) + params.Add(New ReportParameter("RFC", dr("RFC").ToString)) + params.Add(New ReportParameter("Vendedor", " ")) + params.Add(New ReportParameter("Correo", dr("Correo").ToString)) + params.Add(New ReportParameter("CodigoDeServicio", dr("CveOS").ToString)) + params.Add(New ReportParameter("Sucursal", dr("SubProyecto").ToString)) + params.Add(New ReportParameter("TipoServicio", dr("TipoServicio").ToString)) + params.Add(New ReportParameter("TipoEquipo", dr("TipoEquipo").ToString)) + params.Add(New ReportParameter("Descripcion", dr("Descripcion").ToString)) + params.Add(New ReportParameter("Copia", "Copia: Original")) + End If End If End If Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta)) Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa) - params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa)) - params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre)) - params.Add(New ReportParameter("FechaImpresion", Now.ToDateTime.ToShortDateString)) + If Not ReporteEmpresa.Exists Then + params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa)) + params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre)) + params.Add(New ReportParameter("FechaImpresion", Now.ToDateTime.ToShortDateString)) + + If Imagen.Exists Then + params.Add(New ReportParameter("LogoPath", logouri)) + Else + params.Add(New ReportParameter("LogoPath", "")) + End If + + If ObjOS.GetOrdenesServiciosDetalle(CveOS) Then + TmpDTOS = ObjOS.DtResultados + End If + + If ObjOS.GetDetalleMateriales(-1, CveOS) Then + TmpDTMaterialesOS = ObjOS.DtResultados + End If - If Imagen.Exists Then - params.Add(New ReportParameter("LogoPath", logouri)) - Else - params.Add(New ReportParameter("LogoPath", "")) - End If - - If ObjOS.GetOrdenesServiciosDetalle(CveOS) Then - TmpDTOS = ObjOS.DtResultados - End If - - If ObjOS.GetDetalleMateriales(-1, CveOS) Then - TmpDTMaterialesOS = ObjOS.DtResultados - End If - - Dim lrds As New List(Of ReportDataSource) - Dim rds As New ReportDataSource With {.Name = "DataSet2", .Value = TmpDTMaterialesOS} - Dim rds2 As New ReportDataSource With {.Name = "DataSet1", .Value = TmpDTOS} - - lrds.Add(rds) - lrds.Add(rds2) - - ImprimirPDF("Empresas/Grales/Formatos/OrdenServicio.rdlc", lrds, params, NombreArchivo:=String.Format("OrdenServicio-{0}", CveFolio)) - - ObjOS.Dispose() + Dim lrds As New List(Of ReportDataSource) + Dim rds As New ReportDataSource With {.Name = "DataSet2", .Value = TmpDTMaterialesOS} + Dim rds2 As New ReportDataSource With {.Name = "DataSet1", .Value = TmpDTOS} + + lrds.Add(rds) + lrds.Add(rds2) + ObjOS.Dispose() + + ImprimirPDF("Empresas/Grales/Formatos/OrdenServicio.rdlc", lrds, params, NombreArchivo:=String.Format("OrdenServicio-{0}", CveFolio)) + Else + Dim lrds As New List(Of ReportDataSource) + Dim rds As New ReportDataSource With {.Name = "DataSet2", .Value = TmpDTMaterialesOS} + Dim rds2 As New ReportDataSource With {.Name = "DataSet1", .Value = TmpDTOS} + + lrds.Add(rds) + lrds.Add(rds2) + ObjOS.Dispose() + + ImprimirPDF(String.Format("Empresas/{0}/Formatos/OrdenServicio.rdlc", UsuarioActual.CveEmpresa), lrds, params, NombreArchivo:=String.Format("OrdenServicio-{0}", CveFolio)) + End If End Sub Private Sub CreaDT() TmpDTOS = New DataTable diff --git a/OS/OrdenesServicios.aspx.vb b/OS/OrdenesServicios.aspx.vb index 4a954e7ea..5ac87f648 100644 --- a/OS/OrdenesServicios.aspx.vb +++ b/OS/OrdenesServicios.aspx.vb @@ -331,7 +331,7 @@ Partial Class OS_OrdenesServicios 'Carga OS If CveOS > 0 Then - CargaEstatusOS() + 'CargaEstatusOS() CargaDatos() 'PermisosSegunEstatus() CargaDetalles() @@ -354,6 +354,7 @@ Partial Class OS_OrdenesServicios TxtFechaRecibido.Text = Now.ToString("dd/MM/yyy") ViewState("CveOS") = -1 DdlEstatusOS.Enabled = False + CargaEstatusOS() End If hdnEsThickbox.Value = "S" @@ -434,9 +435,13 @@ Partial Class OS_OrdenesServicios DdlSubProyecto.Items.Clear() DdlSubProyecto.SelectedValue = Nothing DdlSubProyecto.DataSource = ObjOS.DtResultados.FiltraParametros("", "", {"CveSubProyecto", "SubProyecto"}) - DdlSubProyecto.DataBind() + If CveSubProyecto > 0 Then DdlSubProyecto.SelectedValueExist(CveSubProyecto) + DdlEstatusOS.DataSource = ObjOS.DtResultados.FiltraParametros(String.Format("CveSubProyecto = {0}", CveSubProyecto), "", {"CveEstatusOrdenServicio", "EstatusOrdenServicio"}) End If + ObjOS.Dispose() + DdlSubProyecto.DataBind() + DdlEstatusOS.DataBind() End Sub Private Sub CargaTiposOrden() Dim ObjOS As New ClsOS @@ -447,11 +452,10 @@ Partial Class OS_OrdenesServicios Else DdlTipoOrdenOS.DataSource = Nothing End If - + ObjOS.Dispose() DdlTipoOrdenOS.DataBind() DdlTipoOrdenOS.Items.Insert(0, New ListItem("Seleccione", "-1")) - ObjOS.Dispose() End Sub Private Sub CargaDatos() Dim ObjOS As New ClsOS() @@ -994,7 +998,7 @@ Partial Class OS_OrdenesServicios If Not CveOS > 0 Then - + Dim bandera As Integer = DdlEstatusOS.SelectedValue.ToEntero If Not ObjOrdenServicio.AddOrdenesServicios(CveCliente, DdlSubProyecto.SelectedValue.ToEntero, TxtSolicito.Text, TxtFechaRecibido.Text.ToDateTime, TxtDescripcion.Text, UsuarioActual.CveUsuario, DdlEstatusOS.SelectedValue.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCotizacion, -1, -1, DdlTipoOrdenOS.SelectedValue.ToEntero, CveClienteSucursal:=DdlSucursalCliente.SelectedValue.ToEntero) Then Errores = True End If @@ -1065,8 +1069,6 @@ Partial Class OS_OrdenesServicios Dim Liga = $"document.location.href=""/OS/RepOrdenesServicios.aspx"";" - ImprimirAlGenerar() - ObjOrdenServicio.Commit() Alert(MensajeAlert.ToString, TipoMensaje.MsgInformacion, Liga) From 3011936a3bbebf5d83e03cbf65061c40f124ed60 Mon Sep 17 00:00:00 2001 From: rrene Date: Mon, 21 Oct 2019 19:26:42 -0700 Subject: [PATCH 43/70] =?UTF-8?q?Edici=C3=B3n=20de=20remisi=C3=B3n=20de=20?= =?UTF-8?q?d=C3=B3lares=20a=20pesos.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Ventas/Ventas.aspx | 7 ++++++- Ventas/Ventas.aspx.vb | 24 ++++++++++++++++-------- 2 files changed, 22 insertions(+), 9 deletions(-) diff --git a/Ventas/Ventas.aspx b/Ventas/Ventas.aspx index 6a2ce3a9a..b27e93fb5 100644 --- a/Ventas/Ventas.aspx +++ b/Ventas/Ventas.aspx @@ -3434,6 +3434,7 @@
    +
    @@ -5762,6 +5763,10 @@
    +
    + + +
    @@ -5929,7 +5934,7 @@
    diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb index e93d30672..27961920c 100644 --- a/Ventas/Ventas.aspx.vb +++ b/Ventas/Ventas.aspx.vb @@ -3567,6 +3567,12 @@ Partial Class Ventas HplPagado.NavigateUrl = String.Format("/Contabilidad/PopUpAuxiliar.aspx?Tipo=CxCClientes&CveCliente={0}&CveVenta={1}&TB_iframe=true&height=550&width=920", DbRowVenta("CveCliente"), DbRowVenta("CveVenta")) 'LkNotaCredito.Visible = True HplDownXML.NavigateUrl = String.Format("/Compras/PopUpVerFactura.aspx?P={0}", Encripta(String.Format("OP=FactVta&CVEVENTA={0}&EXT={1}&SERIEFOLIO={2}&TIPODOCTO={3}", CveVenta, "XML", DbRowVenta("SerieFolio"), DbRowVenta("TipoDocto")))) + 'visualizo el saldo de anticipos, para cuando se aplique una Nota de crédito, decida si afecta anticipos o a DSV + LblNCSaldoAnticipo.Visible = True + ChkAplicaNCAnticipo.Visible = True + ChkAplicaNCAnticipo.Checked = True + If DbRowVenta("SaldoAnticipo").ToString.ToDouble <= 0 Then ChkAplicaNCAnticipo.Checked = False : ChkAplicaNCAnticipo.Enabled = False + LblNCSaldoAnticipo.Text = String.Format("Saldo Anticipo: $ {0}", DbRowVenta("SaldoAnticipo").ToString.ToDouble.FormatoNumero) Case "Dev" DdlTipoComprobante.Items.Insert(0, New ListItem("Devolucion", "Dev")) HplDownXML.NavigateUrl = String.Format("/Compras/PopUpVerFactura.aspx?P={0}", Encripta(String.Format("OP=FactVta&CVEVENTA={0}&EXT={1}&SERIEFOLIO={2}&TIPODOCTO={3}", CveVenta, "XML", DbRowVenta("SerieFolio"), DbRowVenta("TipoDocto")))) @@ -9978,7 +9984,7 @@ Partial Class Ventas 'cuando es NC, por amortización de anticipo, no debe de registrar el concepto 11, 'pero cuando es NC y se aplicó anticipo, debe de restarle el importe - If ObjFactura.TipoDocto.Contiene("Egs") And CveAnticipo > 0 Then + If ObjFactura.TipoDocto.Contiene("Egs") And CveAnticipo > 0 AndAlso ChkAplicaNCAnticipo.Checked = True Then ConceptoContableAplicar = 11 CveVentaAplicar = CveAnticipo CveVentaAmortizacionAplicar = ObjFactura.CveVenta @@ -15840,16 +15846,18 @@ Partial Class Ventas 'CONVERTIR REMISION - TIPO MONEDA -PESO A DOLARES If DdlMoneda.SelectedValue.ToEntero <> 1 AndAlso ChkConvertirDoctoPesos.Checked Then - + Dim Importe As Decimal + Dim TCC As Decimal = TxtTipoCambio.Text.Trim.ToDecimal For Each Row As DataRow In TmpDT.Rows - Row("PU") = Math.Round(Row("PU").ToString.ToDecimal * TxtTipoCambio.Text.Trim.ToDecimal, 6) + Row("PU") = Math.Round(Row("PU").ToString.ToDecimal * TCC, 6) Row("Total") = Math.Round(Row("Cantidad").ToString.ToDecimal * Row("PU").ToString.ToDecimal, NumeroDecimales) Row("TotalImporte") = Math.Round(Row("Cantidad").ToString.ToDecimal * Row("PU").ToString.ToDecimal, NumeroDecimales) - Row("Descuento") = Math.Round(Row("Descuento").ToString.ToDecimal * TxtTipoCambio.Text.Trim.ToDecimal, NumeroDecimales) - Row("ImporteIEPS") = Math.Round(Row("ImporteIEPS").ToString.ToDecimal * TxtTipoCambio.Text.Trim.ToDecimal, NumeroDecimales) - Row("ImporteIVA") = Math.Round(Row("ImporteIVA").ToString.ToDecimal * TxtTipoCambio.Text.Trim.ToDecimal, NumeroDecimales) - Row("ImporteRetIVA") = Math.Round(Row("ImporteRetIVA").ToString.ToDecimal * TxtTipoCambio.Text.Trim.ToDecimal, NumeroDecimales) - Row("ImporteRetISR") = Math.Round(Row("ImporteRetISR").ToString.ToDecimal * TxtTipoCambio.Text.Trim.ToDecimal, NumeroDecimales) + Row("Descuento") = Math.Round(Row("Descuento").ToString.ToDecimal * TCC, NumeroDecimales) + Importe = Row("Total").ToString.ToDecimal - Row("Descuento").ToString.ToDecimal + Row("ImporteIEPS") = Math.Round(Importe * Row("PorcentajeIEPS").ToString.ToDecimal, NumeroDecimales) + Row("ImporteIVA") = Math.Round(Importe * Row("PorcentajeIVA").ToString.ToDecimal, NumeroDecimales) + Row("ImporteRetIVA") = Math.Round(Importe * Row("PorcentajeRetIVA").ToString.ToDecimal, NumeroDecimales) + Row("ImporteRetISR") = Math.Round(Importe * Row("PorcentajeRetISR").ToString.ToDecimal, NumeroDecimales) Next Dim ImpuestosLocales As Double = 0 From 7cd01e476f2a8419120a6a3024803f9c8c8921df Mon Sep 17 00:00:00 2001 From: Raul Pimienta Date: Mon, 21 Oct 2019 23:37:18 -0700 Subject: [PATCH 44/70] Cambios en compras pagadas de contado en pesos y dolares --- Compras/Compras.aspx.vb | 139 ++++++++++++++++++++-------------------- 1 file changed, 70 insertions(+), 69 deletions(-) diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index 622ae3546..86e432875 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -5574,17 +5574,18 @@ Partial Class Compras_Compras End If - If TipoCambioCompra > 1 Then Concepto += $" TC:{TipoCambioCompra} ${importeMovimiento.FormatoNumero(2)}" + If TipoCambioCompra > 1 AndAlso DdlMoneda.SelectedValue.ToEntero <> 1 Then Concepto += $" TC:{TipoCambioCompra} ${importeMovimiento.FormatoNumero(2)}" - If TipoCambioCompra = 1 Then + If TipoCambioCompra = 1 Or DdlMoneda.SelectedValue.ToEntero = 1 Then IdCtaContable = CtaProveedor CveCuenta = CveCuentaProveedor + importeMovimiento = importeMN Else IdCtaContable = CtaProveedorComplementaria CveCuenta = CveCuentaProveedorComplementaria If importeMovimiento <> 0 AndAlso (IdCtaContable > 0 Or CveCuenta > 0) Then 'Cuando tiene complementaria lo dividimos en dos importeMN = importeMovimiento - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, 0, Referencia, 201, Concepto, FechaMovimiento, IdCtaContable, -1, CveIE, CveProveedor:=CveProveedor, ImporteMX:=importeMovimiento * TipoCambioCompra - importeMovimiento, CveCuenta:=CveCuenta, Contabilizable:=SeContabiliza, TipoCambio:=TipoCambioCompra) Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, importeMovimiento * TipoCambioCompra - importeMovimiento, Referencia, 206, Concepto, FechaMovimiento, IdCtaContable, -1, CveIE, CveCompra:=CveCompra, CveProveedor:=CveProveedor, ImporteMX:=importeMovimiento * TipoCambioCompra - importeMovimiento, ImporteME:=importeMovimiento, CveCuenta:=CveCuenta, Contabilizable:=SeContabiliza, TipoCambio:=TipoCambioCompra) Then ErrorPrepoliza = True End If End If @@ -5600,9 +5601,9 @@ Partial Class Compras_Compras End If importeMN = importeMovimiento * TCPago * Multiplicador - If TCPago > 1 Then Concepto += $" TC:{TCPago} ${importeMovimiento.FormatoNumero(2)}" + If TCPago > 1 AndAlso CveMonedaPago <> 1 Then Concepto += $" TC:{TCPago} ${importeMovimiento.FormatoNumero(2)}" - If TCPago = 1 Then + If TCPago = 1 Or CveMonedaPago = 1 Then IdCtaContable = IdCuentaBancaria CveCuenta = CveCuentaBancaria Else @@ -5610,7 +5611,7 @@ Partial Class Compras_Compras CveCuenta = CveCuentaBancariaComplementaria If importeMovimiento <> 0 AndAlso (IdCtaContable > 0 Or CveCuenta > 0) Then 'Cuando tiene complementaria lo dividimos en dos importeMN = importeMovimiento - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, 0, Referencia, 201, Concepto, FechaMovimiento, IdCtaContable, -1, CveIE, CveProveedor:=CveProveedor, ImporteMX:=importeMovimiento * TCPago - importeMovimiento, CveCuenta:=CveCuenta, Contabilizable:=SeContabiliza, TipoCambio:=TCPago) Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, importeMovimiento * TCPago - importeMovimiento, Referencia, 204, Concepto, FechaMovimiento, IdCtaContable, -1, CveIE, CveProveedor:=CveProveedor, ImporteMX:=importeMovimiento * TCPago - importeMovimiento, ImporteME:=importeMovimiento, CveCuenta:=CveCuenta, Contabilizable:=SeContabiliza, TipoCambio:=TCPago) Then ErrorPrepoliza = True End If End If @@ -5656,7 +5657,7 @@ Partial Class Compras_Compras End If End If - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not TipoMovimiento, importeMovimiento, Referencia, 14, Concepto + If(tipoCambioActual > 1, $" TC: {tipoCambioActual} ${importeMovimiento.FormatoNumero(2)}", ""), FechaMovimiento, IdCtaIva, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveAcreedor:=CveAcreedor, CveIE:=CveIE, CvePersonal:=CvePersonal, CveColectiva:=CveColectiva, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=importeMovimiento * tipoCambioActual, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), CveCuenta:=CveCuentaIVA, PorcentajeImpuesto:=PorcentajeImpuesto, Contabilizable:=SeContabiliza) Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not TipoMovimiento, importeMovimiento, Referencia, 14, Concepto + If(tipoCambioActual > 1, $" TC: {tipoCambioActual} ${importeMovimiento.FormatoNumero(2)}", ""), FechaMovimiento, IdCtaIva, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveAcreedor:=CveAcreedor, CveIE:=CveIE, CvePersonal:=CvePersonal, CveColectiva:=CveColectiva, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=importeMovimiento * tipoCambioActual, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), CveCuenta:=CveCuentaIVA, PorcentajeImpuesto:=PorcentajeImpuesto, Contabilizable:=SeContabiliza, TipoCambio:=tipoCambioActual) Then ErrorPrepoliza = True End If End If @@ -5717,7 +5718,7 @@ Partial Class Compras_Compras End If End If - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not TipoMovimiento, importeMovimiento, Referencia, 25, Concepto + If(tipoCambioActual > 1, $" TC: {tipoCambioActual} ${importeMovimiento.FormatoNumero(2)}", ""), FechaMovimiento, IdCtaIEPS, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveAcreedor:=CveAcreedor, CveIE:=CveIE, CvePersonal:=CvePersonal, CveColectiva:=CveColectiva, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=importeMovimiento * tipoCambioActual, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), CveCuenta:=CveCuentaIEPS, Contabilizable:=SeContabiliza) Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not TipoMovimiento, importeMovimiento, Referencia, 25, Concepto + If(tipoCambioActual > 1, $" TC: {tipoCambioActual} ${importeMovimiento.FormatoNumero(2)}", ""), FechaMovimiento, IdCtaIEPS, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveAcreedor:=CveAcreedor, CveIE:=CveIE, CvePersonal:=CvePersonal, CveColectiva:=CveColectiva, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=importeMovimiento * tipoCambioActual, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), CveCuenta:=CveCuentaIEPS, Contabilizable:=SeContabiliza, TipoCambio:=tipoCambioActual) Then ErrorPrepoliza = True End If End If @@ -5747,7 +5748,7 @@ Partial Class Compras_Compras 'Agregamos el Opuesto del 22 -> 15 If importeMovimiento <> 0 Then - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not TipoMovimiento, importeMovimiento, Referencia, 15, Concepto + If(tipoCambioActual > 1, $" TC: {tipoCambioActual} ${importeMovimiento.FormatoNumero(2)}", ""), FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveAcreedor:=CveAcreedor, CveIE:=CveIE, CvePersonal:=CvePersonal, CveColectiva:=CveColectiva, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=importeMovimiento * tipoCambioActual, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), CveCuenta:=CveCuenta, Contabilizable:=SeContabiliza) Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not TipoMovimiento, importeMovimiento, Referencia, 15, Concepto + If(tipoCambioActual > 1, $" TC: {tipoCambioActual} ${importeMovimiento.FormatoNumero(2)}", ""), FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveAcreedor:=CveAcreedor, CveIE:=CveIE, CvePersonal:=CvePersonal, CveColectiva:=CveColectiva, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=importeMovimiento * tipoCambioActual, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), CveCuenta:=CveCuenta, Contabilizable:=SeContabiliza, TipoCambio:=tipoCambioActual) Then ErrorPrepoliza = True End If End If @@ -5801,7 +5802,7 @@ Partial Class Compras_Compras 'Agregamos el Opuesto del 184 -> 183 If importeMovimiento <> 0 Then - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not TipoMovimiento, importeMovimiento, Referencia, 183, Concepto + If(tipoCambioActual > 1, $" TC: {tipoCambioActual} ${importeMovimiento.FormatoNumero(2)}", ""), FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveAcreedor:=CveAcreedor, CveIE:=CveIE, CvePersonal:=CvePersonal, CveColectiva:=CveColectiva, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=importeMovimiento * tipoCambioActual, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), CveCuenta:=CveCuenta, Contabilizable:=SeContabiliza) Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not TipoMovimiento, importeMovimiento, Referencia, 183, Concepto + If(tipoCambioActual > 1, $" TC: {tipoCambioActual} ${importeMovimiento.FormatoNumero(2)}", ""), FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveAcreedor:=CveAcreedor, CveIE:=CveIE, CvePersonal:=CvePersonal, CveColectiva:=CveColectiva, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=importeMovimiento * tipoCambioActual, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), CveCuenta:=CveCuenta, Contabilizable:=SeContabiliza, TipoCambio:=tipoCambioActual) Then ErrorPrepoliza = True End If End If @@ -5877,7 +5878,7 @@ Partial Class Compras_Compras 'Agregamos el Opuesto del 186 -> 185 If importeMovimiento <> 0 Then - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not TipoMovimiento, importeMovimiento, Referencia, 185, Concepto + If(tipoCambioActual > 1, $" TC: {tipoCambioActual} ${importeMovimiento.FormatoNumero(2)}", ""), FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveAcreedor:=CveAcreedor, CveIE:=CveIE, CvePersonal:=CvePersonal, CveColectiva:=CveColectiva, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=importeMovimiento * tipoCambioActual, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), CveCuenta:=CveCuenta, Contabilizable:=SeContabiliza) Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not TipoMovimiento, importeMovimiento, Referencia, 185, Concepto + If(tipoCambioActual > 1, $" TC: {tipoCambioActual} ${importeMovimiento.FormatoNumero(2)}", ""), FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveAcreedor:=CveAcreedor, CveIE:=CveIE, CvePersonal:=CvePersonal, CveColectiva:=CveColectiva, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=importeMovimiento * tipoCambioActual, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), CveCuenta:=CveCuenta, Contabilizable:=SeContabiliza, TipoCambio:=tipoCambioActual) Then ErrorPrepoliza = True End If End If @@ -5931,36 +5932,36 @@ Partial Class Compras_Compras If tipoCambioActual > 1 Then Concepto += $" TC:{tipoCambioActual} ${importeMovimiento.FormatoNumero(2)}" End If - End If - Case 23 'RetISR Acreditable - If Not DdlTipoComprobante.SelectedValue.Contiene("Ant") Then - If DdlRetISRConcepto.Items.Count > 0 AndAlso DdlRetISRConcepto.SelectedValue.ToEntero = 1 Then - importeMovimiento = importeRetISRAcreditable - importeMN = Math.Round(importeMovimiento, 2) * tipoCambioActual * Multiplicador - If CtaProveedorRetISR > 0 Then - IdCtaContable = CtaProveedorRetISR - CveCuenta = CveCuentaProveedorRetISR - ElseIf UsuarioActual.Empresa.Funcionalidad(316).ToEntero > 0 Then - IdCtaContable = UsuarioActual.Empresa.Funcionalidad(316).ToEntero - Else - If ObjConta.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then - If ObjConta.DtResultados.Rows.Count > 0 Then - IdCtaContable = ObjConta.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero - CveCuenta = ObjConta.DtResultados.Rows(0)("IdCuentaRetISRCirculacionSIG").ToString.ToEntero - End If - End If - End If - - 'Agregamos el Opuesto del 23 -> 16 - If importeMovimiento <> 0 Then - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not TipoMovimiento, importeMovimiento, Referencia, 15, Concepto + If(tipoCambioActual > 1, $" TC: {tipoCambioActual} ${importeMovimiento.FormatoNumero(2)}", ""), FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveAcreedor:=CveAcreedor, CveIE:=CveIE, CvePersonal:=CvePersonal, CveColectiva:=CveColectiva, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=importeMovimiento * tipoCambioActual, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), CveCuenta:=CveCuenta, Contabilizable:=SeContabiliza) Then - ErrorPrepoliza = True - End If - End If - - If tipoCambioActual > 1 Then Concepto += $" TC:{tipoCambioActual} ${importeMovimiento.FormatoNumero(2)}" - End If - End If + End If + 'Case 23 'RetISR Acreditable + ' If Not DdlTipoComprobante.SelectedValue.Contiene("Ant") Then + ' If DdlRetISRConcepto.Items.Count > 0 AndAlso DdlRetISRConcepto.SelectedValue.ToEntero = 1 Then + ' importeMovimiento = importeRetISRAcreditable + ' importeMN = Math.Round(importeMovimiento, 2) * tipoCambioActual * Multiplicador + ' If CtaProveedorRetISR > 0 Then + ' IdCtaContable = CtaProveedorRetISR + ' CveCuenta = CveCuentaProveedorRetISR + ' ElseIf UsuarioActual.Empresa.Funcionalidad(316).ToEntero > 0 Then + ' IdCtaContable = UsuarioActual.Empresa.Funcionalidad(316).ToEntero + ' Else + ' If ObjConta.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then + ' If ObjConta.DtResultados.Rows.Count > 0 Then + ' IdCtaContable = ObjConta.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero + ' CveCuenta = ObjConta.DtResultados.Rows(0)("IdCuentaRetISRCirculacionSIG").ToString.ToEntero + ' End If + ' End If + ' End If + + ' 'Agregamos el Opuesto del 23 -> 16 + ' If importeMovimiento <> 0 Then + ' If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not TipoMovimiento, importeMovimiento, Referencia, 15, Concepto + If(tipoCambioActual > 1, $" TC: {tipoCambioActual} ${importeMovimiento.FormatoNumero(2)}", ""), FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveAcreedor:=CveAcreedor, CveIE:=CveIE, CvePersonal:=CvePersonal, CveColectiva:=CveColectiva, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=importeMovimiento * tipoCambioActual, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), CveCuenta:=CveCuenta, Contabilizable:=SeContabiliza) Then + ' ErrorPrepoliza = True + ' End If + ' End If + + ' If tipoCambioActual > 1 Then Concepto += $" TC:{tipoCambioActual} ${importeMovimiento.FormatoNumero(2)}" + ' End If + ' End If Case 16 'Ret ISR X Acreditar If Not DdlTipoComprobante.SelectedValue.Contiene("Ant") Then If DdlRetISRConcepto.Items.Count > 0 AndAlso DdlRetISRConcepto.SelectedValue.ToEntero = 1 Then @@ -6003,34 +6004,34 @@ Partial Class Compras_Compras If tipoCambioActual > 1 Then Concepto += $" TC:{tipoCambioActual} ${importeMovimiento.FormatoNumero(2)}" End If - End If - Case 244 'RetISR Acreditable Terceros y Arrendamiento - If Not DdlTipoComprobante.SelectedValue.Contiene("Ant") Then - If DdlRetISRConcepto.Items.Count > 0 AndAlso DdlRetISRConcepto.SelectedValue.ToEntero = 2 Then - importeMovimiento = importeRetISRAcreditable - importeMN = Math.Round(importeMovimiento, 2) * tipoCambioActual * Multiplicador - If CtaProveedorRetISR > 0 Then - IdCtaContable = CtaProveedorRetISR - CveCuenta = CveCuentaProveedorRetISR - ElseIf UsuarioActual.Empresa.Funcionalidad(318).ToEntero > 0 Then - IdCtaContable = UsuarioActual.Empresa.Funcionalidad(318).ToEntero - Else - If ObjConta.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then - If ObjConta.DtResultados.Rows.Count > 0 Then - IdCtaContable = ObjConta.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero - CveCuenta = ObjConta.DtResultados.Rows(0)("IdCuentaRetISRCirculacionSIG").ToString.ToEntero - End If - End If - End If - 'Agregamos el Opuesto del 244 -> 243 - If importeMovimiento <> 0 Then - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not TipoMovimiento, importeMovimiento, Referencia, 243, Concepto + If(tipoCambioActual > 1, $" TC: {tipoCambioActual} ${importeMovimiento.FormatoNumero(2)}", ""), FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveAcreedor:=CveAcreedor, CveIE:=CveIE, CvePersonal:=CvePersonal, CveColectiva:=CveColectiva, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=importeMovimiento * tipoCambioActual, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), CveCuenta:=CveCuenta, Contabilizable:=SeContabiliza) Then - ErrorPrepoliza = True - End If - End If - If tipoCambioActual > 1 Then Concepto += $" TC:{tipoCambioActual} ${importeMovimiento.FormatoNumero(2)}" - End If - End If + End If + 'Case 244 'RetISR Acreditable Terceros y Arrendamiento + ' If Not DdlTipoComprobante.SelectedValue.Contiene("Ant") Then + ' If DdlRetISRConcepto.Items.Count > 0 AndAlso DdlRetISRConcepto.SelectedValue.ToEntero = 2 Then + ' importeMovimiento = importeRetISRAcreditable + ' importeMN = Math.Round(importeMovimiento, 2) * tipoCambioActual * Multiplicador + ' If CtaProveedorRetISR > 0 Then + ' IdCtaContable = CtaProveedorRetISR + ' CveCuenta = CveCuentaProveedorRetISR + ' ElseIf UsuarioActual.Empresa.Funcionalidad(318).ToEntero > 0 Then + ' IdCtaContable = UsuarioActual.Empresa.Funcionalidad(318).ToEntero + ' Else + ' If ObjConta.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then + ' If ObjConta.DtResultados.Rows.Count > 0 Then + ' IdCtaContable = ObjConta.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero + ' CveCuenta = ObjConta.DtResultados.Rows(0)("IdCuentaRetISRCirculacionSIG").ToString.ToEntero + ' End If + ' End If + ' End If + ' 'Agregamos el Opuesto del 244 -> 243 + ' If importeMovimiento <> 0 Then + ' If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not TipoMovimiento, importeMovimiento, Referencia, 243, Concepto + If(tipoCambioActual > 1, $" TC: {tipoCambioActual} ${importeMovimiento.FormatoNumero(2)}", ""), FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveAcreedor:=CveAcreedor, CveIE:=CveIE, CvePersonal:=CvePersonal, CveColectiva:=CveColectiva, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=importeMovimiento * tipoCambioActual, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), CveCuenta:=CveCuenta, Contabilizable:=SeContabiliza) Then + ' ErrorPrepoliza = True + ' End If + ' End If + ' If tipoCambioActual > 1 Then Concepto += $" TC:{tipoCambioActual} ${importeMovimiento.FormatoNumero(2)}" + ' End If + ' End If Case 64 'Ganancia If TCPago <> 1 AndAlso TxtFechaPago.Text <> TxtFecha.Text Then IdCtaContable = UsuarioActual.Empresa.IdCuentaGananciaCambiaria From 7c16087ef3b6a5689f0bbe91857140ebcb933d51 Mon Sep 17 00:00:00 2001 From: Jonathan Alexis Perez Morales Date: Tue, 22 Oct 2019 11:14:17 -0700 Subject: [PATCH 45/70] --- App_Code/ClsClientes.vb | 2 +- Bancos/IE.aspx.vb | 1939 +++++----- GPS/CatRemisionesVehiculos.aspx | 428 ++- GPS/CatRemisionesVehiculos.aspx.vb | 24 +- Inventarios/RecepcionUsados.aspx | 351 +- Inventarios/RecepcionUsados.aspx.vb | 3997 +++++++++++--------- LogMail.txt | 2 +- OC/OC.aspx | 5267 ++++++++++++++------------- OC/OC.aspx.vb | 94 +- Ventas/PV.aspx.vb | 14 + Ventas/Ventas.aspx.vb | 2 +- 11 files changed, 6334 insertions(+), 5786 deletions(-) diff --git a/App_Code/ClsClientes.vb b/App_Code/ClsClientes.vb index 6ffc5438a..2b603bb68 100644 --- a/App_Code/ClsClientes.vb +++ b/App_Code/ClsClientes.vb @@ -261,7 +261,7 @@ Public Class ClsClientes End Sub Public Function GetClientes(CveCliente As Integer, Nombre As String, Codigo As String, NombreCorto As String, RFC As String, Telefono As String, Mail As String, CveSubProyecto As Integer, CveEmpresa As Integer, Optional Estatus As Integer = 1, Optional Notificar As String = "-1", Optional CvePrecioLista As Integer = -1, Optional CveClienteClasificacion As Integer = -1, - Optional TipoCliente As Integer = 1, Optional CveVendedor As Integer = -1, Optional PermiteCreditoFiltro As Integer = -1) As Boolean + Optional TipoCliente As Integer = -1, Optional CveVendedor As Integer = -1, Optional PermiteCreditoFiltro As Integer = -1) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_ClientesGet") diff --git a/Bancos/IE.aspx.vb b/Bancos/IE.aspx.vb index b4a14655d..1eeb43303 100644 --- a/Bancos/IE.aspx.vb +++ b/Bancos/IE.aspx.vb @@ -2266,15 +2266,10 @@ Partial Class Bancos_IE Exit Sub End If - - - Dim ObjIE As New ClsBancos() Dim ObjMov As New ClsContabilidad(ObjIE.IniciaTransacSQL) Dim ObjComp As New ClsCompras(ObjIE.IniciaTransacSQL) - Dim ObjOC As New ClsOC(ObjIE.IniciaTransacSQL) - - ' Dim ObjContabilidad As New ClsContabilidad(ObjIE.IniciaTransacSQL) + Dim ObjOC As New ClsOC(ObjIE.IniciaTransacSQL) Dim MsgError As String = "" Dim CveConceptoContable As Integer = 30 @@ -2284,964 +2279,968 @@ Partial Class Bancos_IE Dim CvePlantillaPoliza As Integer = 3 Dim CvePrePoliza As Integer = 0 Dim alertaContabilizacion As String = "Se enviaron correctamente las siguientes pólizas:

    " - Dim Msg As New StringBuilder - - If CveIE = -1 Then - - Dim CveCuentaDeposito As Integer = 0 - If DdlCuentaDeposito.Items.Count > 0 Then - CveCuentaDeposito = DdlCuentaDeposito.SelectedValue.ToEntero - End If - - 'OBTIENE COMPROBANTE!! - ComprobanteIE = "" - Dim Comprobante As String = "" - Dim filesgral As List(Of Archivo) = Anexo.getfiles().Archivos - Dim filemove As String = "" - For Each fileItem As Archivo In filesgral - Comprobante = IO.Path.GetExtension(String.Format("{0}Temp\{1}", AppDomain.CurrentDomain.BaseDirectory, fileItem.filename)).Replace(".", "") - filemove = fileItem.filename - Next - - - '*****-_- INICIA: CONFIGURACION REGISTRO -_-***** - If CvePersonal > 0 Then - If Opcion IsNot Nothing AndAlso Opcion.Contiene("EGSSINFACT") And DDlCheques.SelectedValue.ToEntero > 0 Then - CveConceptoCompra = 29 'Comprobación Personal - Else - CveConceptoCompra = 28 'Prestamo Personal - End If - CveConceptoContable = 30 'Banco - CvePlantillaPoliza = 8 - End If - - If Request("Opcion") IsNot Nothing AndAlso Request("Opcion").ToString = "DEV" Then - If CvePersonal > 0 Then - CveConceptoCompra = 29 'Comprobacion Personal - CveConceptoContable = 30 'Bancos - CvePlantillaPoliza = 9 - ElseIf CveProveedor > 0 Then - CveConceptoCompra = 21 'Pago a Proveedor/CAncelacion Anticipos - CveConceptoContable = 30 'Bancos - CvePlantillaPoliza = 7 - End If - End If - - If Request("Opcion") IsNot Nothing AndAlso Request("Opcion").ToString = "ANTC" Then - If CveCliente > 0 Then - CveConceptoCompra = 3 'Clientes - CveConceptoContable = 30 'Bancos - CvePlantillaPoliza = 12 - End If - End If - - 'Cuando es Egreso sin factura, se registra una compra tipo anticipo - If Request("Opcion") IsNot Nothing AndAlso Request("Opcion").ToString = "EGSCREDITO" Then - CveConceptoCompra = 48 'Anticipo Acreedores - CveConceptoContable = 30 'Bancos - CveCreditoDetalle = DdlCreditoDetalle.SelectedValue.ToEntero - Dim Estatus As Integer = 2 - If HdnCveTipoCredito.Value = "1" Then - Estatus = 103 - 'cuando es crediproveedores es, pago a documentos por pagar - CveConceptoCompra = 57 - End If - ObjIE.UpdateCreditosDetalle(Estatus, CveCreditoDetalle) - - If HdnImporteCredito.Value.ToDouble > 0 AndAlso TxtImporte.Text.ToDouble > HdnImporteCredito.Value.ToDouble Then - CIF = TxtImporte.Text.ToDecimal - HdnImporteCredito.Value.ToDecimal - Else - CIF = 0 - End If - - CvePlantillaPoliza = 92 - - End If - Dim AgregaPolizaSaldoInicial As Boolean = False - 'Cuando es Egreso sin factura, se registra una compra tipo anticipo - If Request("Opcion") IsNot Nothing AndAlso Request("Opcion").ToString = "EGSSINFACT" Then - Select Case RBL.SelectedValue - Case "P" 'Proveedores - If CveProveedor > 0 Then - CveConceptoCompra = 10 'Anticipo a proveedor - CveConceptoContable = 30 'Pago a Proveedor - CvePlantillaPoliza = 3 - End If - Case "DD" ' Deudores Diversos - If CveProveedor > 0 Then - CveConceptoCompra = 43 'Prestamo a deudor diverso - CveConceptoContable = 30 'Bancos - 'limpio el iva - HdnProvPorIVA.Value = "0" - CvePlantillaPoliza = 6 - End If - Case "AC" ' Acreedores Diversos - If CveProveedor > 0 Then - CveConceptoCompra = 42 'Prestamo a acreedor diverso - CveConceptoContable = 30 'Bancos - 'limpio el iva - HdnProvPorIVA.Value = "0" - CvePlantillaPoliza = 21 - End If - Case "DP" ' Documentos por pagar - If CveProveedor > 0 Then - CveConceptoCompra = 50 'Anticipo doc por pagar - CveConceptoContable = 30 'Bancos - 'limpio el iva - HdnProvPorIVA.Value = "0" - CvePlantillaPoliza = 22 - End If - Case "FE" - AgregaPolizaSaldoInicial = True - End Select - End If - - 'Nuevo Formato Charlie - If Request("Opcion") IsNot Nothing AndAlso Request("Opcion").ToString = "INGPC" Then - HdnProvPorIVA.Value = "0" - CvePlantillaPoliza = 6 - Select Case RBL.SelectedValue - Case "DD" ' Deudores Diversos - If CveProveedor > 0 Then - CveConceptoCompra = 37 'Prestamo a deudor diverso - CveConceptoContable = 30 'Bancos - 'limpio el iva - HdnProvPorIVA.Value = "0" - CvePlantillaPoliza = 45 - End If - Case "C" ' Clientes - If CveCliente > 0 Then - CveConceptoCompra = 66 'Anticipo doc por pagar - CveConceptoContable = 30 'Bancos - 'limpio el iva - HdnProvPorIVA.Value = "0" - End If - Case "AC" ' Acreedores Diversos - If CveCliente > 0 Then - CveConceptoCompra = 41 - CveConceptoContable = 30 'Bancos - 'limpio el iva - HdnProvPorIVA.Value = "0" - End If - End Select - End If - - '*****-_- TERMINA: CONFIGURACION REGISTRO -_-***** - - - Dim FolioFijo As Integer = 0 - Dim tCveMoneda As Integer = DdlMoneda.SelectedValue.ToEntero - Dim tImporteMonedaExtranjera As Decimal = 0 - If tCveMoneda <> 1 Then tImporteMonedaExtranjera = TxtImporte.Text.ToDecimal * GlobalTipoCambio(TxtFechaDocumento.Text.Trim.ToDate).ToString.ToDecimal - Dim PagueseA = "" - - If HdnCveCliente.Value.ToEntero > 0 Then - PagueseA = DdlCliente.SelectedText.ToString() - ElseIf HdnCveProveedor.Value.ToEntero > 0 Then - PagueseA = DdlProveedores.SelectedText.ToString() - ElseIf HdnCvePersonal.Value.ToEntero > 0 Then - PagueseA = DdlPersonal.SelectedItem.ToString - ElseIf DdlCreditoDetalle.SelectedValue.ToEntero > 0 Then - PagueseA = String.Format("{0} {1} {2}", DdlFinanciera.SelectedItem.Text, DdlCredito.SelectedItem.Text, DdlCreditoDetalle.SelectedItem.Text) - End If - - If AgregaPolizaSaldoInicial Then - If AgregarSaldoInicial(TxtImporte.Text.ToDouble(), TxtFechaDocumento.Text.ToDateTime(), DdlMoneda.SelectedValue.ToEntero(), ObjMov) <= 0 Then - MsgError = "No se pudo insertar la póliza de saldo inicial." - End If - End If - - If MsgError = "" Then - - - - CveIE = ObjIE.AddBancos_IE(DdlCuenta.SelectedValue.ToEntero, DdlTipoTransaccion.SelectedValue.ToEntero, TxtFechaDocumento.Text.Trim.ToDate, TxtFolio.Text.Trim, PagueseA, TxtImporte.Text.Trim.ToDouble, DdlMoneda.SelectedValue.ToEntero, - TxtTipoCambio.Text.Trim.ToDouble, TxtObservaciones.Text.Trim, TxtNotificarA.Text.Trim, ChkAbonoCuenta.Checked, ChkAplicaImpuestos.Checked, -1, CvePrePoliza, Comprobante, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCuentaDeposito:=CveCuentaDeposito, CveEstatusIE:=DdlEstatusIE.SelectedValue.ToString.ToEntero, Referencia:=If(TxtReferenciaCIE.Visible, TxtReferenciaCIE.Text, "-1"), CveCuentaTarjeta:=If(DivTarjeta.Visible, DdlTarjeta.SelectedValue.ToEntero, -1)) - - If CveIE > 0 Then - - If DdlTipoTransaccion.SelectedValue = "1" Then FolioFijo = ObjIE.Folio.ToEntero 'cheque - CvePrePoliza = ObjMov.AddPrePolizas("Bancos/IE " + If(Request("Opcion") IsNot Nothing, Request("Opcion").ToString, "") + " " + RBL.SelectedValue, CvePlantillaPoliza, TxtImporte.Text.Trim.ToDouble, TxtImporte.Text.Trim.ToDouble, tCveMoneda, TxtFechaDocumento.Text.ToDate, PagueseA, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, FolioFijo:=FolioFijo, ReglaFolioPoliza:=ObjComp.ObtenerReglaFolio(DdlTipoTransaccion.SelectedValue, Nothing, UsuarioActual.CveEmpresa), CveTipoPoliza:=ObjMov.ObtenerTipoPoliza(DdlTipoTransaccion.SelectedValue, "-1", UsuarioActual.CveEmpresa)) - - 'valida prepoliza - If CvePrePoliza > 0 Then - - If Not ObjIE.UpdateIEPrePoliza(MinFecha, "", -1, CvePrePoliza, CveIE, -1) Then - MsgError = "Ocurrio un error al agregar la prepoliza al IE." - End If - - Dim Conc As String = If(TxtObservaciones.Text = "", ObjIE.Folio, TxtObservaciones.Text) - Dim Ref As String = If(TxtObservaciones.Text = "", ObjIE.Folio, TxtObservaciones.Text) - - If Comprobante <> "" Then - ComprobanteIE = $"{CveIE}.{Comprobante}" - End If - - 'GUARDA COMPROBANTE - If filemove <> "" Then - filemove.FilesMove(CveIE.ToString, String.Format("Empresas\{0}\IE", UsuarioActual.CveEmpresa, UsuarioActual.Empresa.Ruta)) - End If - - 'GUARDA PREPOLIZAS DETALLE [PRIMERO SON LOS CASOS ESPECIALES, AL FINAL (ELSE) LOS CASOS NORMALES] --REEMPLAZA IFs - Select Case Opcion - Case "DEV" - Dim CveIEOtro As Integer = If(CveProveedor > 0 Or CvePersonal > 0, DdlIEDevolucion.SelectedValue.ToEntero, CveIE) - - If CveCliente > 0 AndAlso Not DivIvaIxC.Visible AndAlso TxtIvaIxC.Text.ToDouble = 0 Then - 'RMF- CASO DONDE HAY UNA DEVOLUCION Y TENGO QUE AFECTAR LAS FACTURAS QUE SE HABIAN MARCADO COMO PAGADAS TENGO QUE REGRESARLAS A PENDIENTES - Dim Mov As New ClsMovimientos - If Mov.GetMovimientosIE(2, DdlIEDevolucion.SelectedValue.ToEntero, -1, Now, Now, 1, 0, UsuarioActual.CveEmpresa) Then - Dim DtIE As DataTable = Mov.DtResultados - For Each dr As DataRow In DtIE.Rows - - If MsgError = "" AndAlso Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, If(dr("TipoMovto").ToString.ToEntero = 1, False, True), If(dr("CveConceptoContable").ToString.ToEntero.Contiene(66), -TxtImporte.Text.ToDecimal, dr("Importe").ToString.ToDecimal), "", dr("CveConceptoContable").ToString.ToEntero, "", Now, IDCtaBeneficiario, -1, CveIE, CveCliente:=dr("CveCliente").ToString.ToEntero, CveVenta:=dr("CveVenta").ToString.ToEntero, ImporteMX:=If(dr("CveConceptoContable").ToString.ToEntero.Contiene(66), -TxtImporte.Text.ToDecimal, -dr("Importe").ToString.ToDecimal), ImporteME:=tImporteMonedaExtranjera, CveCuenta:=CveCuentaBeneficiario) Then - MsgError = "no se pudo insertar el detalle de la póliza 2" - End If - Next - ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, TxtImporte.Text.ToDecimal, Ref, CveConceptoContable, Conc, Now, IDCtaContable, -1, CveIE, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=TxtImporte.Text.ToDecimal, ImporteME:=tImporteMonedaExtranjera, CveCuenta:=CveCuentaConta) - - End If - Mov.Dispose() - - 'Devolucion de INGxC Formato Charlie - ElseIf CveCliente > 0 AndAlso DivIvaIxC.Visible Then - - Dim Mov As New ClsMovimientos - 'INGxC - ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, -(TxtImporte.Text.ToDecimal - TxtIvaIxC.Text.ToDecimal), Ref, 66, Conc, Now, IDCtaContable, -1, CveIE, CveIEDevolucion:=DdlIEDevolucion.SelectedValue.ToEntero, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=-(TxtImporte.Text.ToDecimal - TxtIvaIxC.Text.ToDecimal), ImporteME:=tImporteMonedaExtranjera, CveCuenta:=CveCuentaConta) - - If TxtIvaIxC.Text.ToDouble > 0 Then - 'Iva - ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, -TxtIvaIxC.Text.ToDecimal, Ref, 61, Conc, Now, UsuarioActual.Empresa.IdCuentaIVAxTrasladar, -1, CveIE, CveIEDevolucion:=DdlIEDevolucion.SelectedValue.ToEntero, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=-TxtIvaIxC.Text.ToDecimal, ImporteME:=tImporteMonedaExtranjera, CveCuenta:=UsuarioActual.Empresa.CveCuentaIVAxTrasladar) - End If - - 'Bancos - ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, -TxtImporte.Text.ToDecimal, Ref, 30, Conc, Now, IDCtaBeneficiario, -1, CveIE, CveIEDevolucion:=DdlIEDevolucion.SelectedValue.ToEntero, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=-TxtImporte.Text.ToDecimal, ImporteME:=tImporteMonedaExtranjera, CveCuenta:=CveCuentaBeneficiario) - Mov.Dispose() - - Else - If ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, TxtImporte.Text.ToDecimal, Ref, CveConceptoContable, Conc, Now, IDCtaContable, -1, CveIE, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=TxtImporte.Text.ToDecimal, ImporteME:=tImporteMonedaExtranjera, CveCuenta:=CveCuentaConta) Then - If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, TxtImporte.Text.ToDecimal, Ref, CveConceptoCompra, Conc, Now, IDCtaBeneficiario, -1, CveIE:=If(CveIEOtro < 0, CveIE, CveIEOtro), CveCompra:=CveCompra, CveProveedor:=CveProveedor, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=TxtImporte.Text.ToDecimal, ImporteME:=tImporteMonedaExtranjera, CveCuenta:=CveCuentaBeneficiario) Then - MsgError = "no se pudo insertar el detalle de la póliza 2" - End If - Else - MsgError = "no se pudo insertar el detalle de la póliza" - End If - - End If - - - Case "INGPC" - Dim ConceptoContable As Integer - Dim TipoMovimiento As Boolean - Dim importeMovimiento As Decimal - Dim FechaMovimiento As Date = Now - Dim Concepto As String = "" - Dim Referencia As String = PagueseA - - Dim importeMX As Decimal - Dim Multiplicador As Integer - - If ObjMov.GetPlantillaConceptos(UsuarioActual.CveEmpresa, CvePlantillaPoliza) Then - - For Each Row As DataRow In ObjMov.DtResultados.Rows - - ConceptoContable = Row("CveConcepto").ToString.ToEntero - TipoMovimiento = If(Row("TipoMovto").ToString = "True", True, False) - importeMovimiento = 0 - Multiplicador = (Row("Multiplicador").ToString.ToEntero) - Concepto = ObjMov.ObtenerConceptoEmpresa(UsuarioActual.CveEmpresa, ConceptoContable, PagueseA, "", ObjIE.Folio) - - Select Case ConceptoContable - - Case 10 - If RBL.SelectedValue = "P" AndAlso CveProveedor > 0 Then - importeMovimiento = TxtImporte.Text.ToDecimal - importeMX = importeMovimiento - End If - - Case 28 - If RBL.SelectedValue = "FE" AndAlso CvePersonal > 0 Then - importeMovimiento = TxtImporte.Text.ToDecimal - importeMX = importeMovimiento - End If - - Case 37 - If RBL.SelectedValue = "DD" AndAlso CveProveedor > 0 Then - importeMovimiento = TxtImporte.Text.ToDecimal - importeMX = importeMovimiento - End If - - Case 41 - If RBL.SelectedValue = "AC" AndAlso CveProveedor > 0 Then - importeMovimiento = TxtImporte.Text.ToDecimal - importeMX = importeMovimiento - End If - - Case 46 - - If TxtInteresMoratorio.Text.ToDecimal > 0 Then - importeMovimiento = TxtInteresMoratorio.Text.ToDecimal - importeMX = importeMovimiento - Else - importeMovimiento = 0 - importeMX = 0 - End If - - - Case 50 - If RBL.SelectedValue = "DP" AndAlso CveProveedor > 0 Then - importeMovimiento = TxtImporte.Text.ToDecimal - importeMX = importeMovimiento - End If - - Case 66 - If RBL.SelectedValue = "C" AndAlso CveCliente > 0 Then - importeMovimiento = TxtImporte.Text.ToDecimal - TxtIvaIxC.Text.ToDecimal - importeMX = importeMovimiento - - 'Agregamos el IVA - If DivIvaIxC.Visible AndAlso TxtIvaIxC.Text.ToDecimal <> 0 Then - If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, TxtIvaIxC.Text.ToDecimal, Concepto, 61, Concepto, FechaMovimiento, UsuarioActual.Empresa.IdCuentaIVAxTrasladar, -1, CveIE:=CveIE, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=TxtIvaIxC.Text.ToDecimal, ImporteME:=tImporteMonedaExtranjera, CveCuenta:=UsuarioActual.Empresa.CveCuentaIVAxTrasladar) Then - MsgError = "Ocurrió un error al registrar el asiento del ingreso." - End If - End If - If tCveMoneda > 1 AndAlso UsuarioActual.CveEmpresa = 119 Then - 'Agregamos complementaria - Dim TC As Decimal = TxtTipoCambio.Text.ToDecimal - - If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, 0, Concepto, 226, Concepto, FechaMovimiento, IDCtaBeneficiarioComplementaria, -1, CveIE:=CveIE, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=(importeMovimiento * TC - importeMovimiento).RoundSQL, ImporteME:=importeMovimiento, TipoCambio:=TC, CveCuenta:=0) Then - MsgError = "Ocurrió un error al registrar el asiento del ingreso." - End If - - End If - - End If - - Case 30 - importeMovimiento = TxtImporte.Text.ToDecimal - importeMX = importeMovimiento - - If tCveMoneda > 1 AndAlso UsuarioActual.CveEmpresa = 119 Then - 'Agregamos complementaria - Dim TC As Decimal = TxtTipoCambio.Text.ToDecimal - - If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, 0, Concepto, 204, Concepto, FechaMovimiento, IDCtaContableComplementaria, -1, CveIE:=CveIE, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=(importeMovimiento * TC - importeMovimiento).RoundSQL, ImporteME:=importeMovimiento, TipoCambio:=TC, CveCuenta:=UsuarioActual.Empresa.CveCuentaIVAxTrasladar) Then - MsgError = "Ocurrió un error al registrar el asiento del ingreso." - End If - - End If - - End Select - - If importeMovimiento <> 0 Then - If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, importeMovimiento, Concepto, ConceptoContable, Concepto, FechaMovimiento, If(ConceptoContable = 30, IDCtaContable, IDCtaBeneficiario), -1, CveIE:=CveIE, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=importeMovimiento, ImporteME:=tImporteMonedaExtranjera, TipoCambio:=TxtTipoCambio.Text.ToDecimal, CveCuenta:=If(ConceptoContable = 30, CveCuentaConta, CveCuentaBeneficiario)) Then - MsgError = "Ocurrió un error al registrar el asiento del ingreso." - End If - End If - - Next - - End If - - - Case "DevDinV" - Dim IdCtaContableAplicar = -1 - Dim ImporteAplicar = 0.0D - Dim ImporteAplicarMN = 0.0D - Dim ImporteAplicarME = 0.0D - Dim ReferenciaAplicar = ObjIE.Folio - Dim ConceptoAplicar = $"Devolución al cliente {PagueseA} {TxtImporte.Text} NC:{SerieFolioDevDin}" - - ImporteAplicar = TxtImporte.Text.ToDecimal - ImporteAplicarME = ImporteAplicar - - 'CONSIDERA COMPLEMENTARIA - If DdlMoneda.SelectedValue.ToEntero > 1 AndAlso UsuarioActual.CveEmpresa.Contiene(1, 119) Then - ImporteAplicarMN = ImporteAplicar - Else - ImporteAplicarMN = (ImporteAplicar * If(DdlMoneda.SelectedValue.ToEntero = 1, 1, TxtTipoCambio.Text.ToDecimal)).RoundSQL() - End If - - 'BANCOS - IdCtaContableAplicar = If(IDCtaContable > 0, IDCtaContable, 0) - If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, ImporteAplicar, ReferenciaAplicar, 30, ConceptoAplicar, Now, IdCtaContableAplicar, -1, CveIE, CveVenta:=CveVentaDevDin, CveCliente:=CveCliente, ImporteMX:=ImporteAplicarMN, ImporteME:=ImporteAplicarME, CveCuenta:=CveCuentaConta) Then - MsgError = "Ocurrió un error al registrar el asiento de bancos de devolución" - Exit Select - End If - - 'BANCOS COMPLEMENTARIA - If DdlMoneda.SelectedValue.ToEntero > 1 AndAlso UsuarioActual.CveEmpresa.Contiene(1, 119) Then - ImporteAplicarMN = ((ImporteAplicar * If(DdlMoneda.SelectedValue.ToEntero = 1, 1, TxtTipoCambio.Text.ToDecimal)) - ImporteAplicar).RoundSQL() - If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, ImporteAplicar, ReferenciaAplicar, 204, ConceptoAplicar, Now, IdCtaContableAplicar, -1, CveIE, CveVenta:=CveVentaDevDin, CveCliente:=CveCliente, ImporteMX:=ImporteAplicarMN, ImporteME:=ImporteAplicarME, CveCuenta:=CveCuentaConta) Then - MsgError = "Ocurrió un error al registrar el asiento de bancos complementaria de devolución" - End If - End If - - 'CANCELA NC - IdCtaContableAplicar = IDCtaBeneficiario - ImporteAplicarMN = (ImporteAplicar * If(DdlMoneda.SelectedValue.ToEntero = 1, 1, TxtTipoCambio.Text.ToDecimal)).RoundSQL() - If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, -(ImporteAplicar), ReferenciaAplicar, 12, ConceptoAplicar, Now, IdCtaContableAplicar, -1, CveIE, CveVenta:=CveVentaDevDin, CveCliente:=CveCliente, ImporteMX:=-(ImporteAplicarMN), ImporteME:=ImporteAplicarME) Then - MsgError = "Ocurrió un error al registrar el asiento de pago de devolución" - Exit Select - End If - - 'IMPUESTOS - If ObjMov.GetPrePolizasDetalle(CvePrePolizaDevDin) Then - Dim PorcentajePagoDevDin = (TxtImporte.Text.ToDecimal / ImporteOriginalDevDin).RoundSQL(6) - Dim CveConceptoContableAplciar = -1 - Dim TipoMovtoAplicar = False - - For Each Dr As DataRow In ObjMov.DtResultados.FiltraParametros("CveConceptoContable IN (13,8,9,38)").Rows - CveConceptoContableAplciar = Dr("CveConceptoContable").ToString.ToEntero - TipoMovtoAplicar = Not CBool(Dr("TipoMovto").ToString) - ImporteAplicar = (Dr("Importe").ToString.ToDecimal * PorcentajePagoDevDin).RoundSQL() - ImporteAplicarMN = (Dr("ImporteMN").ToString.ToDecimal * PorcentajePagoDevDin).RoundSQL() - ImporteAplicarME = (Dr("ImporteME").ToString.ToDecimal * PorcentajePagoDevDin).RoundSQL() - IdCtaContableAplicar = Dr("IdCtaContable").ToString.ToEntero - - If ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoAplicar, ImporteAplicar, ReferenciaAplicar, CveConceptoContableAplciar, ConceptoAplicar, Now, IdCtaContableAplicar, -1, CveIE, CveVenta:=CveVentaDevDin, CveCliente:=CveCliente, ImporteMX:=ImporteAplicarMN, ImporteME:=ImporteAplicarME) Then - Select Case CveConceptoContableAplciar - Case 13 - CveConceptoContableAplciar = 61 - Case 8 - CveConceptoContableAplciar = 62 - Case 9 - CveConceptoContableAplciar = 63 - Case 38 - CveConceptoContableAplciar = 39 - End Select - TipoMovtoAplicar = Not TipoMovtoAplicar - If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoAplicar, ImporteAplicar, ReferenciaAplicar, CveConceptoContableAplciar, ConceptoAplicar, Now, IdCtaContableAplicar, -1, CveIE, CveVenta:=CveVentaDevDin, CveCliente:=CveCliente, ImporteMX:=ImporteAplicarMN, ImporteME:=ImporteAplicarME) Then - MsgError = "Ocurrió un error al registrar el asiento de impuestos de devolución" - Exit Select - End If - Else - MsgError = "Ocurrió un error al registrar el asiento de impuestos de devolución" - Exit Select - End If - - Next - End If - - Case "DevDinC" - 'asdasdasd - 'asdasdasdasd - Dim IdCtaContableAplicar = -1 - Dim ImporteAplicar = 0.0D - Dim ImporteAplicarMN = 0.0D - Dim ImporteAplicarME = 0.0D - Dim ReferenciaAplicar = ObjIE.Folio - - Dim ConceptoAplicar = $"Devolución de Proveedor {PagueseA} {TxtImporte.Text} NC:{SerieFolioDeCDin}" - - ImporteAplicar = TxtImporte.Text.ToDecimal - ImporteAplicarME = ImporteAplicar - - - 'CONSIDERA COMPLEMENTARIA - If DdlMoneda.SelectedValue.ToEntero > 1 AndAlso UsuarioActual.CveEmpresa.Contiene(1, 119) Then - ImporteAplicarMN = ImporteAplicar - Else - ImporteAplicarMN = (ImporteAplicar * If(DdlMoneda.SelectedValue.ToEntero = 1, 1, TxtTipoCambio.Text.ToDecimal)).RoundSQL() - End If - - Dim TCCompra As Decimal = 1 - Dim TCDocumento As Decimal = 1 - - If DdlMoneda.SelectedValue.ToEntero > 1 AndAlso UsuarioActual.CveEmpresa.Contiene(1, 119) Then - - TCCompra = GlobalTipoCambio(FechaCompra).ToDecimal - TCDocumento = GlobalTipoCambio(TxtFechaDocumento.Text.ToDate).ToDecimal - - If TCCompra <= 0 Then - Alert("No se pudo obtener el tipo de cambio de la nota de crédito.", TipoMensaje.MsgAdvertencia) - End If - - If TCCompra <= 0 Then - Alert("No se pudo obtener el tipo de cambio del documentpo.", TipoMensaje.MsgAdvertencia) - End If - - End If - - - - 'BANCOS - IdCtaContableAplicar = If(IDCtaContable > 0, IDCtaContable, 0) - If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, ImporteAplicar, ReferenciaAplicar, 30, ConceptoAplicar, Now, IdCtaContableAplicar, -1, CveIE, CveCompra:=CveCompraDeCDin, CveProveedor:=CveProveedor, ImporteMX:=ImporteAplicarMN, ImporteME:=ImporteAplicarME, CveCuenta:=CveCuentaConta, TipoCambio:=TCDocumento) Then - MsgError = "Ocurrió un error al registrar el asiento de bancos de devolución" - Exit Select - End If - - - 'BANCOS COMPLEMENTARIA - If DdlMoneda.SelectedValue.ToEntero > 1 AndAlso UsuarioActual.CveEmpresa.Contiene(1, 119) Then - ImporteAplicarMN = ((ImporteAplicar * If(DdlMoneda.SelectedValue.ToEntero = 1, 1, TCDocumento)) - ImporteAplicar).RoundSQL() - If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, ImporteAplicar, ReferenciaAplicar, 204, ConceptoAplicar, Now, IdCtaContableAplicar, -1, CveIE, CveCompra:=CveCompraDeCDin, CveProveedor:=CveProveedor, ImporteMX:=ImporteAplicarMN, ImporteME:=ImporteAplicarME, CveCuenta:=CveCuentaConta, TipoCambio:=TCDocumento) Then - MsgError = "Ocurrió un error al registrar el asiento de bancos complementaria de devolución" - End If - End If - - 'CANCELA NC - IdCtaContableAplicar = IDCtaBeneficiario - ImporteAplicarMN = ImporteAplicar ' (ImporteAplicar * If(DdlMoneda.SelectedValue.ToEntero = 1, 1, TxtTipoCambio.Text.ToDecimal)).RoundSQL() - - If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, (ImporteAplicar), ReferenciaAplicar, 18, ConceptoAplicar, Now, IdCtaContableAplicar, -1, CveIE, CveCompra:=CveCompraDeCDin, CveProveedor:=CveProveedor, ImporteMX:=(ImporteAplicarMN), ImporteME:=ImporteAplicarME, TipoCambio:=TCCompra) Then - MsgError = "Ocurrió un error al registrar el asiento de pago de devolución" - Exit Select - End If - - - 'NC COMPLEMENTARIA - If DdlMoneda.SelectedValue.ToEntero > 1 AndAlso UsuarioActual.CveEmpresa.Contiene(1, 119) Then - - ImporteAplicarMN = ((ImporteAplicar * If(DdlMoneda.SelectedValue.ToEntero = 1, 1, TCCompra)) - ImporteAplicar).RoundSQL() - - If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, -(ImporteAplicar), ReferenciaAplicar, 201, ConceptoAplicar, Now, IdCtaContableAplicar, -1, CveIE, CveCompra:=CveCompraDeCDin, CveProveedor:=CveProveedor, ImporteMX:=-(ImporteAplicarMN), ImporteME:=-(ImporteAplicarME), CveCuenta:=CveCuentaConta, TipoCambio:=TCCompra) Then - MsgError = "Ocurrió un error al registrar el asiento de bancos complementaria de devolución" - End If - - End If - - If TCCompra <> TCDocumento Then - - Dim DiferenciaTC As Decimal = TCCompra - TCDocumento - - Dim DiferenciaImportes As Decimal = Math.Abs((ImporteAplicar * TCCompra) - (ImporteAplicar * TCDocumento)) - - If DiferenciaTC < 0 Then - '64 - If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, DiferenciaImportes, ReferenciaAplicar, 64, ConceptoAplicar, Now, UsuarioActual.Empresa.IdCuentaGananciaCambiaria, -1, CveIE, CveCompra:=CveCompraDeCDin, CveProveedor:=CveProveedor, ImporteMX:=DiferenciaImportes, ImporteME:=0, CveCuenta:=CveCuentaConta, TipoCambio:=TCCompra) Then - MsgError = "Ocurrió un error al registrar el asiento de ganancia cambiaria" - Exit Select - End If - - Else - '65 - If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, DiferenciaImportes, ReferenciaAplicar, 65, ConceptoAplicar, Now, UsuarioActual.Empresa.IdCuentaPerdidaCambiaria, -1, CveIE, CveCompra:=CveCompraDeCDin, CveProveedor:=CveProveedor, ImporteMX:=DiferenciaImportes, ImporteME:=0, CveCuenta:=CveCuentaConta, TipoCambio:=TCCompra) Then - MsgError = "Ocurrió un error al registrar el asiento de perdidada cfambiaria" - Exit Select - End If - - End If - - - - End If - - 'IMPUESTOS - - Dim PorcentajePagoDevDin = (TxtImporte.Text.ToDecimal / ImporteOriginalDevDin).RoundSQL(6) - Dim CveConceptoContableAplciar = -1 - Dim TipoMovtoAplicar = False - - - Dim ObjCompras As New ClsCompras() - If ObjCompras.GetCompras(CveCompraDeCDin, "-1", "-1", -1, -1, UsuarioActual.CveEmpresa) Then - - Dim dr As DataRow = ObjCompras.DtResultados.Rows(0) - If dr IsNot Nothing Then - - Dim CveMonedaDev As Integer = dr("CveMoneda").ToString.ToEntero - Dim TotalCompraDev As Decimal = dr("Total").ToString.ToDecimal - - Dim IVADev As Decimal = dr("IVA").ToString.ToDecimal - Dim IEPSDev As Decimal = dr("IEPS").ToString.ToDecimal - PorcentajeCompraDevDinC = ObjCompras.DtResultados.Rows(0)("PorcentajeIVA").ToString.ToDecimal - - Dim DTCuentas As DataTable = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeCompraDevDinC) - Dim CveCuentaIVAxAcreditarDevDinC = 0 - Dim CveCuentaIVAAcreditableDevDinC = 0 - Dim IdCtaIVAXAcreditarDevDinC = DTCuentas.Rows(0)("IdCtaIVAXAcreditar").ToString.ToEntero - Dim IdCtaIVAAcreditableDevDinC = DTCuentas.Rows(0)("IdCtaIVAAcreditable").ToString.ToEntero - - - Dim IVADevMN As Decimal = 0 - Dim IEPSDevMN As Decimal = 0 - - - Dim PorcentajeDevolucion As Decimal = ((TxtImporte.Text.ToDecimal * 100D / TotalCompraDev) / 100).RoundSQL(2) - - IVADev = Math.Round(IVADev * PorcentajeDevolucion, 2) - IEPSDev = Math.Round(IEPSDev * PorcentajeDevolucion, 2) - - Dim CveCuentaDevolucionIMPUESTOS As Integer = -1 - Dim IdCtaIVADevolucionIMPUESTOS As Integer = -1 - - - If DdlMoneda.SelectedValue.ToEntero > 1 AndAlso UsuarioActual.CveEmpresa.Contiene(1, 119) Then - IVADevMN = IVADev - IEPSDevMN = IEPSDev - Else - IVADevMN = (IVADev * If(CveMonedaDev = 1, 1, TxtTipoCambio.Text.ToDecimal)).RoundSQL(2) - IEPSDevMN = (IEPSDev * If(CveMonedaDev = 1, 1, TxtTipoCambio.Text.ToDecimal)).RoundSQL(2) - End If - - - Dim ErrorDevolucionImpuestos As Boolean = False - - If IVADev > 0 Then - - CveCuentaDevolucionIMPUESTOS = CveCuentaIVAxAcreditarDevDinC - IdCtaIVADevolucionIMPUESTOS = IdCtaIVAXAcreditarDevDinC - - If ObjMov.AddPrePolizasDetalle(CvePrePoliza, Not TipoMovtoAplicar, -IVADev, ReferenciaAplicar, 14, ConceptoAplicar, Now, IdCtaIVADevolucionIMPUESTOS, -1, CveIE, CveCompra:=CveCompraDeCDin, CveProveedor:=CveProveedor, ImporteMX:=-IVADevMN, ImporteME:=-IVADev, CveCuenta:=CveCuentaDevolucionIMPUESTOS) Then - - CveCuentaDevolucionIMPUESTOS = CveCuentaIVAAcreditableDevDinC - IdCtaIVADevolucionIMPUESTOS = IdCtaIVAAcreditableDevDinC - - If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoAplicar, -IVADev, ReferenciaAplicar, 19, ConceptoAplicar, Now, IdCtaIVADevolucionIMPUESTOS, -1, CveIE, CveCompra:=CveCompraDeCDin, CveProveedor:=CveProveedor, ImporteMX:=-IVADevMN, ImporteME:=-IVADev, CveCuenta:=CveCuentaDevolucionIMPUESTOS) Then - MsgError = "Ocurrió un error al registrar el asiento de impuestos de devolución" - ErrorDevolucionImpuestos = True - End If - Else - MsgError = "Ocurrió un error al registrar el asiento de impuestos de devolución" - ErrorDevolucionImpuestos = True - - End If - End If - - - If IEPSDev > 0 Then - 'Dim ObjContabilidad As New ClsContabilidad - If ObjMov.GetRetCuenta(25, UsuarioActual.CveEmpresa) Then - Try - CveCuentaDevolucionIMPUESTOS = ObjMov.DtResultados.Rows(0)("IdCuentaIEPSxAcreditarSIG").ToString.ToEntero - IdCtaIVADevolucionIMPUESTOS = ObjMov.DtResultados.Rows(0)("IdCuentaIEPSxAcreditar").ToString.ToEntero - - If ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoAplicar, -IEPSDev, ReferenciaAplicar, 25, ConceptoAplicar, Now, IdCtaIVADevolucionIMPUESTOS, -1, CveIE, CveCompra:=CveCompraDeCDin, CveProveedor:=CveProveedor, ImporteMX:=-IEPSDevMN, ImporteME:=-IEPSDev, CveCuenta:=CveCuentaDevolucionIMPUESTOS) Then - - If ObjMov.GetRetCuenta(26, UsuarioActual.CveEmpresa) Then - Try - CveCuentaDevolucionIMPUESTOS = ObjMov.DtResultados.Rows(0)("IdCuentaIEPSAcreditableSIG").ToString.ToEntero - IdCtaIVADevolucionIMPUESTOS = ObjMov.DtResultados.Rows(0)("IdCuentaIEPSAcreditable").ToString.ToEntero - - If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoAplicar, -IEPSDev, ReferenciaAplicar, 26, ConceptoAplicar, Now, IdCtaIVADevolucionIMPUESTOS, -1, CveIE, CveCompra:=CveCompraDeCDin, CveProveedor:=CveProveedor, ImporteMX:=-IEPSDevMN, ImporteME:=-IEPSDev, CveCuenta:=CveCuentaDevolucionIMPUESTOS) Then - MsgError = "Ocurrió un error al registrar el asiento de impuestos de devolución" - ErrorDevolucionImpuestos = True - End If - - - Catch ex As Exception - Alert("Se presento un error al obtener las cuentas de IEPS acreditable.") - ErrorDevolucionImpuestos = True - End Try - - End If - - Else - MsgError = "Ocurrió un error al registrar el asiento de impuestos de devolución" - ErrorDevolucionImpuestos = True - End If - - Catch ex As Exception - Alert("Se presento un error al obtener las cuentas de IEPS acreditable.") - ErrorDevolucionImpuestos = True - End Try - End If - End If - - If ErrorDevolucionImpuestos Then - MsgError = MsgError & " Error en devolución compra." - End If - - - End If - End If - - - - Case "EGSCREDITO" - - Dim ConceptoContable As Integer - Dim TipoMovimiento As Boolean - Dim importeMovimiento As Decimal - Dim FechaMovimiento As Date = Now - Dim Concepto As String = "" - Dim Referencia As String = PagueseA - - Dim importeMX As Decimal - Dim Multiplicador As Integer - - If ObjMov.GetPlantillaConceptos(UsuarioActual.CveEmpresa, CvePlantillaPoliza) Then - - For Each Row As DataRow In ObjMov.DtResultados.Rows - - ConceptoContable = Row("CveConcepto").ToString.ToEntero - TipoMovimiento = If(Row("TipoMovto").ToString = "True", True, False) - importeMovimiento = 0 - Multiplicador = (Row("Multiplicador").ToString.ToEntero) - Concepto = ObjMov.ObtenerConceptoEmpresa(UsuarioActual.CveEmpresa, ConceptoContable, PagueseA, "", ObjIE.Folio) - - Select Case ConceptoContable - - Case 30 - importeMovimiento = TxtImporte.Text.ToDecimal - importeMX = importeMovimiento - If tCveMoneda > 1 AndAlso UsuarioActual.CveEmpresa = 119 Then - 'Agregamos complementaria - Dim TC As Decimal = TxtTipoCambio.Text.ToDecimal - - If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, 0, Concepto, 204, Concepto, FechaMovimiento, IDCtaContableComplementaria, -1, CveIE:=CveIE, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=(importeMovimiento * TC - importeMovimiento).RoundSQL, ImporteME:=importeMovimiento, TipoCambio:=TC, CveCuenta:=UsuarioActual.Empresa.CveCuentaIVAxTrasladar) Then - MsgError = "Ocurrió un error al registrar el asiento del ingreso." - End If - End If - Case 42 - - importeMovimiento = TxtImporte.Text.ToDecimal - importeMX = importeMovimiento - - - - Case 46 - If TxtInteresMoratorio.Text.ToDecimal > 0 Then - importeMovimiento = TxtInteresMoratorio.Text.ToDecimal - importeMX = importeMovimiento - Else - importeMovimiento = 0 - importeMX = 0 - End If - Case 48 - - importeMovimiento = TxtImporte.Text.ToDecimal - importeMX = importeMovimiento - - End Select - - If importeMovimiento <> 0 Then - If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, importeMovimiento, Concepto, ConceptoContable, Concepto, FechaMovimiento, If(ConceptoContable = 30, IDCtaContable, IDCtaBeneficiario), -1, CveIE:=CveIE, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=importeMovimiento, ImporteME:=tImporteMonedaExtranjera, TipoCambio:=TxtTipoCambio.Text.ToDecimal, CveCuenta:=If(ConceptoContable = 30, CveCuentaConta, CveCuentaBeneficiario)) Then - MsgError = "Ocurrió un error al registrar el asiento del ingreso." - End If - End If - - Next - End If - - Case Else - Dim TipoMovimiento As Boolean = True - - If Opcion.Contiene("ANTC") Then - TipoMovimiento = False - End If - - If CveConceptoCompra = 10 AndAlso DdlMoneda.SelectedValue.ToEntero > 1 AndAlso UsuarioActual.CveEmpresa.Contiene(1, 119) Then - IDCtaBeneficiario = IdCtaAnticipoExtranjera - CveCuentaConta = 0 - End If - - 'MOVIMIENTOS EGRESOS - If ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, TxtImporte.Text.ToDecimal, Ref, CveConceptoContable, Conc, Now, IDCtaContable, -1, CveIE, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CveOC:=CveOrdenCompra, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=TxtImporte.Text.ToDecimal, ImporteME:=tImporteMonedaExtranjera, CveCuenta:=CveCuentaConta, CveIEDevolucion:=DDlCheques.SelectedValue.ToEntero) Then - Dim IVA As Decimal = 0 ' TxtImporte.Text.ToDouble * HdnProvPorIVA.Value.ToDouble - If ObjMov.AddPrePolizasDetalle(CvePrePoliza, Not TipoMovimiento, TxtImporte.Text.ToDecimal - IVA - CIF, Ref, CveConceptoCompra, Conc, Now, IDCtaBeneficiario, -1, CveIE, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CveOC:=CveOrdenCompra, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=TxtImporte.Text.ToDecimal, ImporteME:=tImporteMonedaExtranjera, CveCuenta:=CveCuentaBeneficiario, CveIEDevolucion:=DdlIEAcreedor.SelectedValue.ToEntero) Then - If IVA > 0 AndAlso Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, IVA, Ref, 19, Conc, Now, IDCtaBeneficiario, -1, CveIE, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CveOC:=CveOrdenCompra, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=TxtImporte.Text.ToDecimal, ImporteME:=tImporteMonedaExtranjera, CveCuenta:=CveCuentaBeneficiario, CveIEDevolucion:=DDlCheques.SelectedValue.ToEntero) Then - MsgError = "Detalle" - End If - 'intereses pagados - If CIF > 0 AndAlso Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, CIF, Ref, 46, Conc, Now, IDCtaBeneficiario, -1, CveIE, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CveOC:=CveOrdenCompra, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=CIF, ImporteME:=tImporteMonedaExtranjera, CveCuenta:=CveCuentaBeneficiario, CveIEDevolucion:=DDlCheques.SelectedValue.ToEntero) Then - MsgError = "Detalle" - End If - Else - MsgError = "no se pudo insertar el detalle de la póliza2" - End If - Else - MsgError = "no se pudo insertar el detalle de la póliza" - End If - - 'BANCOS COMPLEMENTARIA - If DdlMoneda.SelectedValue.ToEntero > 1 AndAlso UsuarioActual.CveEmpresa.Contiene(1, 119) Then - Dim ImporteAplicar As Decimal = TxtImporte.Text.ToDecimal - Dim ImporteAplicarMN = (ImporteAplicar * TxtTipoCambio.Text.ToDecimal - ImporteAplicar).RoundSQL() - If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteAplicar, Ref, 204, Conc, Now, IDCtaContableComplementaria, -1, CveIE, CveCompra:=CveCompraDeCDin, CveProveedor:=CveProveedor, ImporteMX:=ImporteAplicarMN, ImporteME:=ImporteAplicar, CveCuenta:=CveCuentaConta, TipoCambio:=TxtTipoCambio.Text.ToDecimal) Then - MsgError = "Ocurrió un error al registrar el asiento de bancos complementaria de devolución" - End If - - If CveConceptoCompra = 10 Then - If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, Not TipoMovimiento, ImporteAplicar, Ref, 266, Conc, Now, IdCtaAnticipoComplementaria, -1, CveIE, CveCompra:=CveCompraDeCDin, CveProveedor:=CveProveedor, ImporteMX:=ImporteAplicarMN, ImporteME:=ImporteAplicar, CveCuenta:=0, TipoCambio:=TxtTipoCambio.Text.ToDecimal) Then - MsgError = "Ocurrió un error al registrar el asiento de bancos complementaria de devolución" - End If - End If - - - End If - - - - If Opcion.Contiene("EGSSINFACT") AndAlso CveSolicitudViatico > 0 AndAlso MsgError = "" Then - If Not ObjIE.UpdateSolicitudesViaticosIE(CveSolicitudViatico, CveIE) Then - MsgError = "Ocurrió un error al vincular el egreso con la solicitud de viatico." - End If - End If - - End Select - - 'El movimiento 1 es el de Venta - 'Conta SIG - If UsuarioActual.Empresa.Funcionalidad(200) = "1" AndAlso MsgError = "" AndAlso UsuarioActual.Empresa.UsaContabilidadSIG Then - If CveCuentaBeneficiario > 0 And CveCuentaConta > 0 Then - If ObjMov.ContabilizarPrePolizaSIG(CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.Empresa) Then - IDPoliza = ObjMov.ContaIdPoliza - Else - Alert("Ocurrio un error al contabilizar en SIG, pongase en contacto con Soporte Técnico", TipoMensaje.MsgError) - End If - Else - If CveCuentaConta < 1 Then - Alert("No se puede contabilizar la Prepoliza en SIG debido a que la cuenta de Bancos es invalida", TipoMensaje.MsgAdvertencia) - End If - If CveCuentaBeneficiario < 1 Then - Alert("No se puede contabilizar la Prepoliza en SIG debido a que las cuenta del Beneficiario es invalida", TipoMensaje.MsgAdvertencia) - End If - End If - End If - - 'Conta ContPAQ - If UsuarioActual.Empresa.Funcionalidad(200) = "1" AndAlso MsgError = "" Then - If IDCtaBeneficiario > 0 And IDCtaContable > 0 Then - If ObjMov.ContabilizarPrePoliza(CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.Empresa) Then - IDPoliza = ObjMov.ContaIdPoliza - 'Alert(alertaContabilizacion & ObjMov.AlertaMensaje, ModExtensiones.TipoMensaje.MsgInformacion) - Else - Alert("Ocurrio un error al contabilizar, pongase en contacto con Soporte Técnico", TipoMensaje.MsgError) - End If - Else - If IDCtaContable < 1 Then - Alert("No se puede contabilizar la Prepoliza debido a que la cuenta de Bancos es invalida", TipoMensaje.MsgAdvertencia) - End If - If IDCtaBeneficiario < 1 Then - Alert("No se puede contabilizar la Prepoliza debido a que las cuenta del Beneficiario es invalida", TipoMensaje.MsgAdvertencia) - End If - End If - End If - - If UsuarioActual.Empresa.UsaAC Then - Dim ConceptoRenglon, Referencia As String - Dim FolioPoliza As Integer - Dim Fecha As Date = TxtFechaDocumento.Text.ToDate - Dim TipoChq As String = "" - Dim Total As Double = TxtImporte.Text.ToDouble - - Dim Conta As New ClsContPAQi(UsuarioActual.Empresa) - Conta.IniciaTransacSQL() - - If DdlTipoTransaccion.SelectedValue = "1" Then TipoChq = "CHQ" - ConceptoRenglon = String.Format("Anticipo {0}", PagueseA) - - IDPoliza = Conta.AddPoliza(2, ConceptoRenglon, Total, Total, UsuarioActual.CveUsuario, Fecha, ObjIE.Folio, TipoChq) - - If IDPoliza > 0 Then - FolioPoliza = Conta.Folio - Referencia = ObjIE.Folio - ConceptoRenglon = String.Format("Anticipo {0} {1}", PagueseA, TxtObservaciones.Text) - - Total = TxtImporte.Text.ToDouble - - If Not Conta.AddMovimiento(IDPoliza, IDCtaContable, True, Total, Referencia, ConceptoRenglon, 0, Fecha, "") Then MsgError = "No se insertó el movimiento" - - If Not Conta.AddMovimiento(IDPoliza, IDCtaBeneficiario, False, Total, Referencia, ConceptoRenglon, 0, Fecha, "") Then MsgError = "No se insertó el movimiento" - - Else - MsgError = "No se insertó el encabezado" - End If - - If MsgError = "" Then - Conta.Commit() - - Conta.AjustaPoliza(IDPoliza) - 'actualizar la conta del IE - ObjIE.UpdateIEPrePoliza(Fecha, FolioPoliza.ToString, IDPoliza, CvePrePoliza, CveIE, 0) - Else - Conta.RollBack() - IDPoliza = 0 - End If - - Conta.Dispose() - End If - - 'Notificación de Pago - If TxtNotificarA.Text.Trim <> "" Then - NotificacionPago(CveIE, TxtNotificarA.Text.Trim) - End If - - Else - MsgError = "No se pudo insertar la póliza" - End If - - Else - MsgError = "No se insertó el encabezado" - End If - - End If - - Else - Msg.Append("El Documento se guardó correctamente.") - - End If - - 'SOLICITUD DE ANTICIPO OC - If MsgError = "" Then - MsgError = GuardaSolicitudAnticipoOC(ObjOC) - End If - - If MsgError = "" Then - 'VIATICOS - If ChkAplicaViatico.Checked Then - Dim Retorno As String = TimbrarNomina12(CvePersonal) - If Retorno <> "" Then MsgError = $"{MsgError} {Retorno}" : Msg.Clear() : CveIE = -1 - If Retorno <> "" Then - Alert(Retorno, TipoMensaje.MsgError) - End If - End If - End If - - If MsgError = "" Then - If ObjMov.ValidacionPrePolizaCuadre(CvePrePoliza, -1) Then - If ObjMov.ValorPolizaDescuadre > 0 Then - ' MsgError = ObjMov.MensajePolizaDescuadre - GuardaLogAD($"Bancos/IE | Error:{ObjMov.MensajePolizaDescuadre} Diferencia:{ObjMov.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas") - End If - Else - MsgError = "No se pudo validar la prepoliza de cuadre." - End If - End If - - If MsgError = "" Then - 'IMPRIME CHEQUE - 'GeneraChequePDF(CveIE, UsuarioActual.Empresa, IDPoliza) - If Msg.ToString = "" Then - Msg.Append("El Documento se guardo correctamente") - End If - Dim Archivo As System.IO.FileInfo = Nothing - 'VERIFICA SI EXISTE EL FORMATO - If DdlTipoTransaccion.SelectedValue.ToEntero.Contiene(2, 8, 9) Then - Archivo = New System.IO.FileInfo(String.Format("{0}Formatos/Transferencia.rdlc", UsuarioActual.Empresa.Ruta)) - ElseIf DdlTipoTransaccion.SelectedValue.ToEntero.Contiene(1) Then - Archivo = New System.IO.FileInfo(String.Format("{0}Formatos/CHQ-{1}.rdlc", UsuarioActual.Empresa.Ruta, DdlCuenta.SelectedValue.ToEntero)) - If Not Archivo.Exists Then - Archivo = New System.IO.FileInfo(String.Format("{0}\Empresas\Grales\Formatos\CHQ.rdlc", AppDomain.CurrentDomain.BaseDirectory)) - End If - ElseIf DdlTipoTransaccion.SelectedValue.ToEntero.Contiene(6) And UsuarioActual.CveEmpresa = 72 Then - Archivo = New System.IO.FileInfo(String.Format("{0}Formatos/ComprobanteEgreso.rdlc", UsuarioActual.Empresa.Ruta, DdlCuenta.SelectedValue.ToEntero)) - End If - - If Archivo IsNot Nothing Then - If Archivo.Exists Then - Msg.AppendFormat("

    {1} ", Encripta(String.Format("OP=IECHEQUE&CVEIE={0}", CveIE)), String.Format("Imprimir {0}", DdlTipoTransaccion.SelectedItem)) - End If - End If - - If IDPoliza > 0 Then - Msg.AppendFormat("

    Ver Póliza", IDPoliza) - End If - - 'AUTO DESCARGAR PDF PARA COMPU - If UsuarioActual.CveEmpresa.Contiene(72, 1, 2) And CveSolicitudViatico > 0 Then - If DdlTipoTransaccion.SelectedValue.ToEntero.Contiene(1, 2, 6, 8, 9) Then - RegistraScript($"window.location.href = '/Compras/PopUpVerFactura.aspx?P={Encripta(String.Format("OP=IE&CVEIE={0}", CveIE))}'", String.Format("Imprimir {0}", DdlTipoTransaccion.SelectedItem)) - End If - End If - ObjIE.Commit() - - Else - ObjIE.RollBack() + Dim Msg As New StringBuilder + + Try + If CveIE = -1 Then + + Dim CveCuentaDeposito As Integer = 0 + If DdlCuentaDeposito.Items.Count > 0 Then + CveCuentaDeposito = DdlCuentaDeposito.SelectedValue.ToEntero + End If + + 'OBTIENE COMPROBANTE!! + ComprobanteIE = "" + Dim Comprobante As String = "" + Dim filesgral As List(Of Archivo) = Anexo.getfiles().Archivos + Dim filemove As String = "" + For Each fileItem As Archivo In filesgral + Comprobante = IO.Path.GetExtension(String.Format("{0}Temp\{1}", AppDomain.CurrentDomain.BaseDirectory, fileItem.filename)).Replace(".", "") + filemove = fileItem.filename + Next + + + '*****-_- INICIA: CONFIGURACION REGISTRO -_-***** + If CvePersonal > 0 Then + If Opcion IsNot Nothing AndAlso Opcion.Contiene("EGSSINFACT") And DDlCheques.SelectedValue.ToEntero > 0 Then + CveConceptoCompra = 29 'Comprobación Personal + Else + CveConceptoCompra = 28 'Prestamo Personal + End If + CveConceptoContable = 30 'Banco + CvePlantillaPoliza = 8 + End If + + If Request("Opcion") IsNot Nothing AndAlso Request("Opcion").ToString = "DEV" Then + If CvePersonal > 0 Then + CveConceptoCompra = 29 'Comprobacion Personal + CveConceptoContable = 30 'Bancos + CvePlantillaPoliza = 9 + ElseIf CveProveedor > 0 Then + CveConceptoCompra = 21 'Pago a Proveedor/CAncelacion Anticipos + CveConceptoContable = 30 'Bancos + CvePlantillaPoliza = 7 + End If + End If + + If Request("Opcion") IsNot Nothing AndAlso Request("Opcion").ToString = "ANTC" Then + If CveCliente > 0 Then + CveConceptoCompra = 3 'Clientes + CveConceptoContable = 30 'Bancos + CvePlantillaPoliza = 12 + End If + End If + + 'Cuando es Egreso sin factura, se registra una compra tipo anticipo + If Request("Opcion") IsNot Nothing AndAlso Request("Opcion").ToString = "EGSCREDITO" Then + CveConceptoCompra = 48 'Anticipo Acreedores + CveConceptoContable = 30 'Bancos + CveCreditoDetalle = DdlCreditoDetalle.SelectedValue.ToEntero + Dim Estatus As Integer = 2 + If HdnCveTipoCredito.Value = "1" Then + Estatus = 103 + 'cuando es crediproveedores es, pago a documentos por pagar + CveConceptoCompra = 57 + End If + ObjIE.UpdateCreditosDetalle(Estatus, CveCreditoDetalle) + + If HdnImporteCredito.Value.ToDouble > 0 AndAlso TxtImporte.Text.ToDouble > HdnImporteCredito.Value.ToDouble Then + CIF = TxtImporte.Text.ToDecimal - HdnImporteCredito.Value.ToDecimal + Else + CIF = 0 + End If + + CvePlantillaPoliza = 92 + + End If + Dim AgregaPolizaSaldoInicial As Boolean = False + 'Cuando es Egreso sin factura, se registra una compra tipo anticipo + If Request("Opcion") IsNot Nothing AndAlso Request("Opcion").ToString = "EGSSINFACT" Then + Select Case RBL.SelectedValue + Case "P" 'Proveedores + If CveProveedor > 0 Then + CveConceptoCompra = 10 'Anticipo a proveedor + CveConceptoContable = 30 'Pago a Proveedor + CvePlantillaPoliza = 3 + End If + Case "DD" ' Deudores Diversos + If CveProveedor > 0 Then + CveConceptoCompra = 43 'Prestamo a deudor diverso + CveConceptoContable = 30 'Bancos + 'limpio el iva + HdnProvPorIVA.Value = "0" + CvePlantillaPoliza = 6 + End If + Case "AC" ' Acreedores Diversos + If CveProveedor > 0 Then + CveConceptoCompra = 42 'Prestamo a acreedor diverso + CveConceptoContable = 30 'Bancos + 'limpio el iva + HdnProvPorIVA.Value = "0" + CvePlantillaPoliza = 21 + End If + Case "DP" ' Documentos por pagar + If CveProveedor > 0 Then + CveConceptoCompra = 50 'Anticipo doc por pagar + CveConceptoContable = 30 'Bancos + 'limpio el iva + HdnProvPorIVA.Value = "0" + CvePlantillaPoliza = 22 + End If + Case "FE" + AgregaPolizaSaldoInicial = True + End Select + End If + + 'Nuevo Formato Charlie + If Request("Opcion") IsNot Nothing AndAlso Request("Opcion").ToString = "INGPC" Then + HdnProvPorIVA.Value = "0" + CvePlantillaPoliza = 6 + Select Case RBL.SelectedValue + Case "DD" ' Deudores Diversos + If CveProveedor > 0 Then + CveConceptoCompra = 37 'Prestamo a deudor diverso + CveConceptoContable = 30 'Bancos + 'limpio el iva + HdnProvPorIVA.Value = "0" + CvePlantillaPoliza = 45 + End If + Case "C" ' Clientes + If CveCliente > 0 Then + CveConceptoCompra = 66 'Anticipo doc por pagar + CveConceptoContable = 30 'Bancos + 'limpio el iva + HdnProvPorIVA.Value = "0" + End If + Case "AC" ' Acreedores Diversos + If CveCliente > 0 Then + CveConceptoCompra = 41 + CveConceptoContable = 30 'Bancos + 'limpio el iva + HdnProvPorIVA.Value = "0" + End If + End Select + End If + + '*****-_- TERMINA: CONFIGURACION REGISTRO -_-***** + + + Dim FolioFijo As Integer = 0 + Dim tCveMoneda As Integer = DdlMoneda.SelectedValue.ToEntero + Dim tImporteMonedaExtranjera As Decimal = 0 + If tCveMoneda <> 1 Then tImporteMonedaExtranjera = TxtImporte.Text.ToDecimal * GlobalTipoCambio(TxtFechaDocumento.Text.Trim.ToDate).ToString.ToDecimal + Dim PagueseA = "" + + If HdnCveCliente.Value.ToEntero > 0 Then + PagueseA = DdlCliente.SelectedText.ToString() + ElseIf HdnCveProveedor.Value.ToEntero > 0 Then + PagueseA = DdlProveedores.SelectedText.ToString() + ElseIf HdnCvePersonal.Value.ToEntero > 0 Then + PagueseA = DdlPersonal.SelectedItem.ToString + ElseIf DdlCreditoDetalle.SelectedValue.ToEntero > 0 Then + PagueseA = String.Format("{0} {1} {2}", DdlFinanciera.SelectedItem.Text, DdlCredito.SelectedItem.Text, DdlCreditoDetalle.SelectedItem.Text) + End If + + If AgregaPolizaSaldoInicial Then + If AgregarSaldoInicial(TxtImporte.Text.ToDouble(), TxtFechaDocumento.Text.ToDateTime(), DdlMoneda.SelectedValue.ToEntero(), ObjMov) <= 0 Then + MsgError = "No se pudo insertar la póliza de saldo inicial." + End If + End If + + If MsgError = "" Then + + + + CveIE = ObjIE.AddBancos_IE(DdlCuenta.SelectedValue.ToEntero, DdlTipoTransaccion.SelectedValue.ToEntero, TxtFechaDocumento.Text.Trim.ToDate, TxtFolio.Text.Trim, PagueseA, TxtImporte.Text.Trim.ToDouble, DdlMoneda.SelectedValue.ToEntero, + TxtTipoCambio.Text.Trim.ToDouble, TxtObservaciones.Text.Trim, TxtNotificarA.Text.Trim, ChkAbonoCuenta.Checked, ChkAplicaImpuestos.Checked, -1, CvePrePoliza, Comprobante, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCuentaDeposito:=CveCuentaDeposito, CveEstatusIE:=DdlEstatusIE.SelectedValue.ToString.ToEntero, Referencia:=If(TxtReferenciaCIE.Visible, TxtReferenciaCIE.Text, "-1"), CveCuentaTarjeta:=If(DivTarjeta.Visible, DdlTarjeta.SelectedValue.ToEntero, -1)) + + If CveIE > 0 Then + + If DdlTipoTransaccion.SelectedValue = "1" Then FolioFijo = ObjIE.Folio.ToEntero 'cheque + CvePrePoliza = ObjMov.AddPrePolizas("Bancos/IE " + If(Request("Opcion") IsNot Nothing, Request("Opcion").ToString, "") + " " + RBL.SelectedValue, CvePlantillaPoliza, TxtImporte.Text.Trim.ToDouble, TxtImporte.Text.Trim.ToDouble, tCveMoneda, TxtFechaDocumento.Text.ToDate, PagueseA, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, FolioFijo:=FolioFijo, ReglaFolioPoliza:=ObjComp.ObtenerReglaFolio(DdlTipoTransaccion.SelectedValue, Nothing, UsuarioActual.CveEmpresa), CveTipoPoliza:=ObjMov.ObtenerTipoPoliza(DdlTipoTransaccion.SelectedValue, "-1", UsuarioActual.CveEmpresa)) + + 'valida prepoliza + If CvePrePoliza > 0 Then + + If Not ObjIE.UpdateIEPrePoliza(MinFecha, "", -1, CvePrePoliza, CveIE, -1) Then + MsgError = "Ocurrio un error al agregar la prepoliza al IE." + End If + + Dim Conc As String = If(TxtObservaciones.Text = "", ObjIE.Folio, TxtObservaciones.Text) + Dim Ref As String = If(TxtObservaciones.Text = "", ObjIE.Folio, TxtObservaciones.Text) + + If Comprobante <> "" Then + ComprobanteIE = $"{CveIE}.{Comprobante}" + End If + + 'GUARDA COMPROBANTE + If filemove <> "" Then + filemove.FilesMove(CveIE.ToString, String.Format("Empresas\{0}\IE", UsuarioActual.CveEmpresa, UsuarioActual.Empresa.Ruta)) + End If + + 'GUARDA PREPOLIZAS DETALLE [PRIMERO SON LOS CASOS ESPECIALES, AL FINAL (ELSE) LOS CASOS NORMALES] --REEMPLAZA IFs + Select Case Opcion + Case "DEV" + Dim CveIEOtro As Integer = If(CveProveedor > 0 Or CvePersonal > 0, DdlIEDevolucion.SelectedValue.ToEntero, CveIE) + + If CveCliente > 0 AndAlso Not DivIvaIxC.Visible AndAlso TxtIvaIxC.Text.ToDouble = 0 Then + 'RMF- CASO DONDE HAY UNA DEVOLUCION Y TENGO QUE AFECTAR LAS FACTURAS QUE SE HABIAN MARCADO COMO PAGADAS TENGO QUE REGRESARLAS A PENDIENTES + Dim Mov As New ClsMovimientos + If Mov.GetMovimientosIE(2, DdlIEDevolucion.SelectedValue.ToEntero, -1, Now, Now, 1, 0, UsuarioActual.CveEmpresa) Then + Dim DtIE As DataTable = Mov.DtResultados + For Each dr As DataRow In DtIE.Rows + + If MsgError = "" AndAlso Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, If(dr("TipoMovto").ToString.ToEntero = 1, False, True), If(dr("CveConceptoContable").ToString.ToEntero.Contiene(66), -TxtImporte.Text.ToDecimal, dr("Importe").ToString.ToDecimal), "", dr("CveConceptoContable").ToString.ToEntero, "", Now, IDCtaBeneficiario, -1, CveIE, CveCliente:=dr("CveCliente").ToString.ToEntero, CveVenta:=dr("CveVenta").ToString.ToEntero, ImporteMX:=If(dr("CveConceptoContable").ToString.ToEntero.Contiene(66), -TxtImporte.Text.ToDecimal, -dr("Importe").ToString.ToDecimal), ImporteME:=tImporteMonedaExtranjera, CveCuenta:=CveCuentaBeneficiario) Then + MsgError = "no se pudo insertar el detalle de la póliza 2" + End If + Next + ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, TxtImporte.Text.ToDecimal, Ref, CveConceptoContable, Conc, Now, IDCtaContable, -1, CveIE, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=TxtImporte.Text.ToDecimal, ImporteME:=tImporteMonedaExtranjera, CveCuenta:=CveCuentaConta) + + End If + Mov.Dispose() + + 'Devolucion de INGxC Formato Charlie + ElseIf CveCliente > 0 AndAlso DivIvaIxC.Visible Then + + Dim Mov As New ClsMovimientos + 'INGxC + ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, -(TxtImporte.Text.ToDecimal - TxtIvaIxC.Text.ToDecimal), Ref, 66, Conc, Now, IDCtaContable, -1, CveIE, CveIEDevolucion:=DdlIEDevolucion.SelectedValue.ToEntero, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=-(TxtImporte.Text.ToDecimal - TxtIvaIxC.Text.ToDecimal), ImporteME:=tImporteMonedaExtranjera, CveCuenta:=CveCuentaConta) + + If TxtIvaIxC.Text.ToDouble > 0 Then + 'Iva + ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, -TxtIvaIxC.Text.ToDecimal, Ref, 61, Conc, Now, UsuarioActual.Empresa.IdCuentaIVAxTrasladar, -1, CveIE, CveIEDevolucion:=DdlIEDevolucion.SelectedValue.ToEntero, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=-TxtIvaIxC.Text.ToDecimal, ImporteME:=tImporteMonedaExtranjera, CveCuenta:=UsuarioActual.Empresa.CveCuentaIVAxTrasladar) + End If + + 'Bancos + ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, -TxtImporte.Text.ToDecimal, Ref, 30, Conc, Now, IDCtaBeneficiario, -1, CveIE, CveIEDevolucion:=DdlIEDevolucion.SelectedValue.ToEntero, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=-TxtImporte.Text.ToDecimal, ImporteME:=tImporteMonedaExtranjera, CveCuenta:=CveCuentaBeneficiario) + Mov.Dispose() + + Else + If ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, TxtImporte.Text.ToDecimal, Ref, CveConceptoContable, Conc, Now, IDCtaContable, -1, CveIE, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=TxtImporte.Text.ToDecimal, ImporteME:=tImporteMonedaExtranjera, CveCuenta:=CveCuentaConta) Then + If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, TxtImporte.Text.ToDecimal, Ref, CveConceptoCompra, Conc, Now, IDCtaBeneficiario, -1, CveIE:=If(CveIEOtro < 0, CveIE, CveIEOtro), CveCompra:=CveCompra, CveProveedor:=CveProveedor, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=TxtImporte.Text.ToDecimal, ImporteME:=tImporteMonedaExtranjera, CveCuenta:=CveCuentaBeneficiario) Then + MsgError = "no se pudo insertar el detalle de la póliza 2" + End If + Else + MsgError = "no se pudo insertar el detalle de la póliza" + End If + + End If + + + Case "INGPC" + Dim ConceptoContable As Integer + Dim TipoMovimiento As Boolean + Dim importeMovimiento As Decimal + Dim FechaMovimiento As Date = Now + Dim Concepto As String = "" + Dim Referencia As String = PagueseA + + Dim importeMX As Decimal + Dim Multiplicador As Integer + + If ObjMov.GetPlantillaConceptos(UsuarioActual.CveEmpresa, CvePlantillaPoliza) Then + + For Each Row As DataRow In ObjMov.DtResultados.Rows + + ConceptoContable = Row("CveConcepto").ToString.ToEntero + TipoMovimiento = If(Row("TipoMovto").ToString = "True", True, False) + importeMovimiento = 0 + Multiplicador = (Row("Multiplicador").ToString.ToEntero) + Concepto = ObjMov.ObtenerConceptoEmpresa(UsuarioActual.CveEmpresa, ConceptoContable, PagueseA, "", ObjIE.Folio) + + Select Case ConceptoContable + + Case 10 + If RBL.SelectedValue = "P" AndAlso CveProveedor > 0 Then + importeMovimiento = TxtImporte.Text.ToDecimal + importeMX = importeMovimiento + End If + + Case 28 + If RBL.SelectedValue = "FE" AndAlso CvePersonal > 0 Then + importeMovimiento = TxtImporte.Text.ToDecimal + importeMX = importeMovimiento + End If + + Case 37 + If RBL.SelectedValue = "DD" AndAlso CveProveedor > 0 Then + importeMovimiento = TxtImporte.Text.ToDecimal + importeMX = importeMovimiento + End If + + Case 41 + If RBL.SelectedValue = "AC" AndAlso CveProveedor > 0 Then + importeMovimiento = TxtImporte.Text.ToDecimal + importeMX = importeMovimiento + End If + + Case 46 + + If TxtInteresMoratorio.Text.ToDecimal > 0 Then + importeMovimiento = TxtInteresMoratorio.Text.ToDecimal + importeMX = importeMovimiento + Else + importeMovimiento = 0 + importeMX = 0 + End If + + + Case 50 + If RBL.SelectedValue = "DP" AndAlso CveProveedor > 0 Then + importeMovimiento = TxtImporte.Text.ToDecimal + importeMX = importeMovimiento + End If + + Case 66 + If RBL.SelectedValue = "C" AndAlso CveCliente > 0 Then + importeMovimiento = TxtImporte.Text.ToDecimal - TxtIvaIxC.Text.ToDecimal + importeMX = importeMovimiento + + 'Agregamos el IVA + If DivIvaIxC.Visible AndAlso TxtIvaIxC.Text.ToDecimal <> 0 Then + If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, TxtIvaIxC.Text.ToDecimal, Concepto, 61, Concepto, FechaMovimiento, UsuarioActual.Empresa.IdCuentaIVAxTrasladar, -1, CveIE:=CveIE, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=TxtIvaIxC.Text.ToDecimal, ImporteME:=tImporteMonedaExtranjera, CveCuenta:=UsuarioActual.Empresa.CveCuentaIVAxTrasladar) Then + MsgError = "Ocurrió un error al registrar el asiento del ingreso." + End If + End If + If tCveMoneda > 1 AndAlso UsuarioActual.CveEmpresa = 119 Then + 'Agregamos complementaria + Dim TC As Decimal = TxtTipoCambio.Text.ToDecimal + + If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, 0, Concepto, 226, Concepto, FechaMovimiento, IDCtaBeneficiarioComplementaria, -1, CveIE:=CveIE, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=(importeMovimiento * TC - importeMovimiento).RoundSQL, ImporteME:=importeMovimiento, TipoCambio:=TC, CveCuenta:=0) Then + MsgError = "Ocurrió un error al registrar el asiento del ingreso." + End If + + End If + + End If + + Case 30 + importeMovimiento = TxtImporte.Text.ToDecimal + importeMX = importeMovimiento + + If tCveMoneda > 1 AndAlso UsuarioActual.CveEmpresa = 119 Then + 'Agregamos complementaria + Dim TC As Decimal = TxtTipoCambio.Text.ToDecimal + + If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, 0, Concepto, 204, Concepto, FechaMovimiento, IDCtaContableComplementaria, -1, CveIE:=CveIE, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=(importeMovimiento * TC - importeMovimiento).RoundSQL, ImporteME:=importeMovimiento, TipoCambio:=TC, CveCuenta:=UsuarioActual.Empresa.CveCuentaIVAxTrasladar) Then + MsgError = "Ocurrió un error al registrar el asiento del ingreso." + End If + + End If + + End Select + + If importeMovimiento <> 0 Then + If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, importeMovimiento, Concepto, ConceptoContable, Concepto, FechaMovimiento, If(ConceptoContable = 30, IDCtaContable, IDCtaBeneficiario), -1, CveIE:=CveIE, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=importeMovimiento, ImporteME:=tImporteMonedaExtranjera, TipoCambio:=TxtTipoCambio.Text.ToDecimal, CveCuenta:=If(ConceptoContable = 30, CveCuentaConta, CveCuentaBeneficiario)) Then + MsgError = "Ocurrió un error al registrar el asiento del ingreso." + End If + End If + + Next + + End If + + + Case "DevDinV" + Dim IdCtaContableAplicar = -1 + Dim ImporteAplicar = 0.0D + Dim ImporteAplicarMN = 0.0D + Dim ImporteAplicarME = 0.0D + Dim ReferenciaAplicar = ObjIE.Folio + Dim ConceptoAplicar = $"Devolución al cliente {PagueseA} {TxtImporte.Text} NC:{SerieFolioDevDin}" + + ImporteAplicar = TxtImporte.Text.ToDecimal + ImporteAplicarME = ImporteAplicar + + 'CONSIDERA COMPLEMENTARIA + If DdlMoneda.SelectedValue.ToEntero > 1 AndAlso UsuarioActual.CveEmpresa.Contiene(1, 119) Then + ImporteAplicarMN = ImporteAplicar + Else + ImporteAplicarMN = (ImporteAplicar * If(DdlMoneda.SelectedValue.ToEntero = 1, 1, TxtTipoCambio.Text.ToDecimal)).RoundSQL() + End If + + 'BANCOS + IdCtaContableAplicar = If(IDCtaContable > 0, IDCtaContable, 0) + If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, ImporteAplicar, ReferenciaAplicar, 30, ConceptoAplicar, Now, IdCtaContableAplicar, -1, CveIE, CveVenta:=CveVentaDevDin, CveCliente:=CveCliente, ImporteMX:=ImporteAplicarMN, ImporteME:=ImporteAplicarME, CveCuenta:=CveCuentaConta) Then + MsgError = "Ocurrió un error al registrar el asiento de bancos de devolución" + Exit Select + End If + + 'BANCOS COMPLEMENTARIA + If DdlMoneda.SelectedValue.ToEntero > 1 AndAlso UsuarioActual.CveEmpresa.Contiene(1, 119) Then + ImporteAplicarMN = ((ImporteAplicar * If(DdlMoneda.SelectedValue.ToEntero = 1, 1, TxtTipoCambio.Text.ToDecimal)) - ImporteAplicar).RoundSQL() + If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, ImporteAplicar, ReferenciaAplicar, 204, ConceptoAplicar, Now, IdCtaContableAplicar, -1, CveIE, CveVenta:=CveVentaDevDin, CveCliente:=CveCliente, ImporteMX:=ImporteAplicarMN, ImporteME:=ImporteAplicarME, CveCuenta:=CveCuentaConta) Then + MsgError = "Ocurrió un error al registrar el asiento de bancos complementaria de devolución" + End If + End If + + 'CANCELA NC + IdCtaContableAplicar = IDCtaBeneficiario + ImporteAplicarMN = (ImporteAplicar * If(DdlMoneda.SelectedValue.ToEntero = 1, 1, TxtTipoCambio.Text.ToDecimal)).RoundSQL() + If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, -(ImporteAplicar), ReferenciaAplicar, 12, ConceptoAplicar, Now, IdCtaContableAplicar, -1, CveIE, CveVenta:=CveVentaDevDin, CveCliente:=CveCliente, ImporteMX:=-(ImporteAplicarMN), ImporteME:=ImporteAplicarME) Then + MsgError = "Ocurrió un error al registrar el asiento de pago de devolución" + Exit Select + End If + + 'IMPUESTOS + If ObjMov.GetPrePolizasDetalle(CvePrePolizaDevDin) Then + Dim PorcentajePagoDevDin = (TxtImporte.Text.ToDecimal / ImporteOriginalDevDin).RoundSQL(6) + Dim CveConceptoContableAplciar = -1 + Dim TipoMovtoAplicar = False + + For Each Dr As DataRow In ObjMov.DtResultados.FiltraParametros("CveConceptoContable IN (13,8,9,38)").Rows + CveConceptoContableAplciar = Dr("CveConceptoContable").ToString.ToEntero + TipoMovtoAplicar = Not CBool(Dr("TipoMovto").ToString) + ImporteAplicar = (Dr("Importe").ToString.ToDecimal * PorcentajePagoDevDin).RoundSQL() + ImporteAplicarMN = (Dr("ImporteMN").ToString.ToDecimal * PorcentajePagoDevDin).RoundSQL() + ImporteAplicarME = (Dr("ImporteME").ToString.ToDecimal * PorcentajePagoDevDin).RoundSQL() + IdCtaContableAplicar = Dr("IdCtaContable").ToString.ToEntero + + If ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoAplicar, ImporteAplicar, ReferenciaAplicar, CveConceptoContableAplciar, ConceptoAplicar, Now, IdCtaContableAplicar, -1, CveIE, CveVenta:=CveVentaDevDin, CveCliente:=CveCliente, ImporteMX:=ImporteAplicarMN, ImporteME:=ImporteAplicarME) Then + Select Case CveConceptoContableAplciar + Case 13 + CveConceptoContableAplciar = 61 + Case 8 + CveConceptoContableAplciar = 62 + Case 9 + CveConceptoContableAplciar = 63 + Case 38 + CveConceptoContableAplciar = 39 + End Select + TipoMovtoAplicar = Not TipoMovtoAplicar + If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoAplicar, ImporteAplicar, ReferenciaAplicar, CveConceptoContableAplciar, ConceptoAplicar, Now, IdCtaContableAplicar, -1, CveIE, CveVenta:=CveVentaDevDin, CveCliente:=CveCliente, ImporteMX:=ImporteAplicarMN, ImporteME:=ImporteAplicarME) Then + MsgError = "Ocurrió un error al registrar el asiento de impuestos de devolución" + Exit Select + End If + Else + MsgError = "Ocurrió un error al registrar el asiento de impuestos de devolución" + Exit Select + End If + + Next + End If + + Case "DevDinC" + 'asdasdasd + 'asdasdasdasd + Dim IdCtaContableAplicar = -1 + Dim ImporteAplicar = 0.0D + Dim ImporteAplicarMN = 0.0D + Dim ImporteAplicarME = 0.0D + Dim ReferenciaAplicar = ObjIE.Folio + + Dim ConceptoAplicar = $"Devolución de Proveedor {PagueseA} {TxtImporte.Text} NC:{SerieFolioDeCDin}" + + ImporteAplicar = TxtImporte.Text.ToDecimal + ImporteAplicarME = ImporteAplicar + + + 'CONSIDERA COMPLEMENTARIA + If DdlMoneda.SelectedValue.ToEntero > 1 AndAlso UsuarioActual.CveEmpresa.Contiene(1, 119) Then + ImporteAplicarMN = ImporteAplicar + Else + ImporteAplicarMN = (ImporteAplicar * If(DdlMoneda.SelectedValue.ToEntero = 1, 1, TxtTipoCambio.Text.ToDecimal)).RoundSQL() + End If + + Dim TCCompra As Decimal = 1 + Dim TCDocumento As Decimal = 1 + + If DdlMoneda.SelectedValue.ToEntero > 1 AndAlso UsuarioActual.CveEmpresa.Contiene(1, 119) Then + + TCCompra = GlobalTipoCambio(FechaCompra).ToDecimal + TCDocumento = GlobalTipoCambio(TxtFechaDocumento.Text.ToDate).ToDecimal + + If TCCompra <= 0 Then + Alert("No se pudo obtener el tipo de cambio de la nota de crédito.", TipoMensaje.MsgAdvertencia) + End If + + If TCCompra <= 0 Then + Alert("No se pudo obtener el tipo de cambio del documentpo.", TipoMensaje.MsgAdvertencia) + End If + + End If + + + + 'BANCOS + IdCtaContableAplicar = If(IDCtaContable > 0, IDCtaContable, 0) + If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, ImporteAplicar, ReferenciaAplicar, 30, ConceptoAplicar, Now, IdCtaContableAplicar, -1, CveIE, CveCompra:=CveCompraDeCDin, CveProveedor:=CveProveedor, ImporteMX:=ImporteAplicarMN, ImporteME:=ImporteAplicarME, CveCuenta:=CveCuentaConta, TipoCambio:=TCDocumento) Then + MsgError = "Ocurrió un error al registrar el asiento de bancos de devolución" + Exit Select + End If + + + 'BANCOS COMPLEMENTARIA + If DdlMoneda.SelectedValue.ToEntero > 1 AndAlso UsuarioActual.CveEmpresa.Contiene(1, 119) Then + ImporteAplicarMN = ((ImporteAplicar * If(DdlMoneda.SelectedValue.ToEntero = 1, 1, TCDocumento)) - ImporteAplicar).RoundSQL() + If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, ImporteAplicar, ReferenciaAplicar, 204, ConceptoAplicar, Now, IdCtaContableAplicar, -1, CveIE, CveCompra:=CveCompraDeCDin, CveProveedor:=CveProveedor, ImporteMX:=ImporteAplicarMN, ImporteME:=ImporteAplicarME, CveCuenta:=CveCuentaConta, TipoCambio:=TCDocumento) Then + MsgError = "Ocurrió un error al registrar el asiento de bancos complementaria de devolución" + End If + End If + + 'CANCELA NC + IdCtaContableAplicar = IDCtaBeneficiario + ImporteAplicarMN = ImporteAplicar ' (ImporteAplicar * If(DdlMoneda.SelectedValue.ToEntero = 1, 1, TxtTipoCambio.Text.ToDecimal)).RoundSQL() + + If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, (ImporteAplicar), ReferenciaAplicar, 18, ConceptoAplicar, Now, IdCtaContableAplicar, -1, CveIE, CveCompra:=CveCompraDeCDin, CveProveedor:=CveProveedor, ImporteMX:=(ImporteAplicarMN), ImporteME:=ImporteAplicarME, TipoCambio:=TCCompra) Then + MsgError = "Ocurrió un error al registrar el asiento de pago de devolución" + Exit Select + End If + + + 'NC COMPLEMENTARIA + If DdlMoneda.SelectedValue.ToEntero > 1 AndAlso UsuarioActual.CveEmpresa.Contiene(1, 119) Then + + ImporteAplicarMN = ((ImporteAplicar * If(DdlMoneda.SelectedValue.ToEntero = 1, 1, TCCompra)) - ImporteAplicar).RoundSQL() + + If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, -(ImporteAplicar), ReferenciaAplicar, 201, ConceptoAplicar, Now, IdCtaContableAplicar, -1, CveIE, CveCompra:=CveCompraDeCDin, CveProveedor:=CveProveedor, ImporteMX:=-(ImporteAplicarMN), ImporteME:=-(ImporteAplicarME), CveCuenta:=CveCuentaConta, TipoCambio:=TCCompra) Then + MsgError = "Ocurrió un error al registrar el asiento de bancos complementaria de devolución" + End If + + End If + + If TCCompra <> TCDocumento Then + + Dim DiferenciaTC As Decimal = TCCompra - TCDocumento + + Dim DiferenciaImportes As Decimal = Math.Abs((ImporteAplicar * TCCompra) - (ImporteAplicar * TCDocumento)) + + If DiferenciaTC < 0 Then + '64 + If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, DiferenciaImportes, ReferenciaAplicar, 64, ConceptoAplicar, Now, UsuarioActual.Empresa.IdCuentaGananciaCambiaria, -1, CveIE, CveCompra:=CveCompraDeCDin, CveProveedor:=CveProveedor, ImporteMX:=DiferenciaImportes, ImporteME:=0, CveCuenta:=CveCuentaConta, TipoCambio:=TCCompra) Then + MsgError = "Ocurrió un error al registrar el asiento de ganancia cambiaria" + Exit Select + End If + + Else + '65 + If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, DiferenciaImportes, ReferenciaAplicar, 65, ConceptoAplicar, Now, UsuarioActual.Empresa.IdCuentaPerdidaCambiaria, -1, CveIE, CveCompra:=CveCompraDeCDin, CveProveedor:=CveProveedor, ImporteMX:=DiferenciaImportes, ImporteME:=0, CveCuenta:=CveCuentaConta, TipoCambio:=TCCompra) Then + MsgError = "Ocurrió un error al registrar el asiento de perdidada cfambiaria" + Exit Select + End If + + End If + + End If + + 'IMPUESTOS + + Dim PorcentajePagoDevDin = (TxtImporte.Text.ToDecimal / ImporteOriginalDevDin).RoundSQL(6) + Dim CveConceptoContableAplciar = -1 + Dim TipoMovtoAplicar = False + + + Dim ObjCompras As New ClsCompras() + If ObjCompras.GetCompras(CveCompraDeCDin, "-1", "-1", -1, -1, UsuarioActual.CveEmpresa) Then + + Dim dr As DataRow = ObjCompras.DtResultados.Rows(0) + If dr IsNot Nothing Then + + Dim CveMonedaDev As Integer = dr("CveMoneda").ToString.ToEntero + Dim TotalCompraDev As Decimal = dr("Total").ToString.ToDecimal + + Dim IVADev As Decimal = dr("IVA").ToString.ToDecimal + Dim IEPSDev As Decimal = dr("IEPS").ToString.ToDecimal + PorcentajeCompraDevDinC = ObjCompras.DtResultados.Rows(0)("PorcentajeIVA").ToString.ToDecimal + + Dim DTCuentas As DataTable = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeCompraDevDinC) + Dim CveCuentaIVAxAcreditarDevDinC = 0 + Dim CveCuentaIVAAcreditableDevDinC = 0 + + Dim IdCtaIVAXAcreditarDevDinC = 0 + Dim IdCtaIVAAcreditableDevDinC = 0 + + If DTCuentas IsNot Nothing AndAlso DTCuentas.Rows.Count > 0 Then + IdCtaIVAXAcreditarDevDinC = DTCuentas.Rows(0)("IdCtaIVAXAcreditar").ToString.ToEntero + IdCtaIVAAcreditableDevDinC = DTCuentas.Rows(0)("IdCtaIVAAcreditable").ToString.ToEntero + End If + + Dim IVADevMN As Decimal = 0 + Dim IEPSDevMN As Decimal = 0 + + Dim PorcentajeDevolucion As Decimal = ((TxtImporte.Text.ToDecimal * 100D / TotalCompraDev) / 100).RoundSQL(2) + + IVADev = Math.Round(IVADev * PorcentajeDevolucion, 2) + IEPSDev = Math.Round(IEPSDev * PorcentajeDevolucion, 2) + + Dim CveCuentaDevolucionIMPUESTOS As Integer = -1 + Dim IdCtaIVADevolucionIMPUESTOS As Integer = -1 + + If DdlMoneda.SelectedValue.ToEntero > 1 AndAlso UsuarioActual.CveEmpresa.Contiene(1, 119) Then + IVADevMN = IVADev + IEPSDevMN = IEPSDev + Else + IVADevMN = (IVADev * If(CveMonedaDev = 1, 1, TxtTipoCambio.Text.ToDecimal)).RoundSQL(2) + IEPSDevMN = (IEPSDev * If(CveMonedaDev = 1, 1, TxtTipoCambio.Text.ToDecimal)).RoundSQL(2) + End If + + Dim ErrorDevolucionImpuestos As Boolean = False + + If IVADev > 0 Then + + CveCuentaDevolucionIMPUESTOS = CveCuentaIVAxAcreditarDevDinC + IdCtaIVADevolucionIMPUESTOS = IdCtaIVAXAcreditarDevDinC + + If ObjMov.AddPrePolizasDetalle(CvePrePoliza, Not TipoMovtoAplicar, -IVADev, ReferenciaAplicar, 14, ConceptoAplicar, Now, IdCtaIVADevolucionIMPUESTOS, -1, CveIE, CveCompra:=CveCompraDeCDin, CveProveedor:=CveProveedor, ImporteMX:=-IVADevMN, ImporteME:=-IVADev, CveCuenta:=CveCuentaDevolucionIMPUESTOS) Then + + CveCuentaDevolucionIMPUESTOS = CveCuentaIVAAcreditableDevDinC + IdCtaIVADevolucionIMPUESTOS = IdCtaIVAAcreditableDevDinC + + If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoAplicar, -IVADev, ReferenciaAplicar, 19, ConceptoAplicar, Now, IdCtaIVADevolucionIMPUESTOS, -1, CveIE, CveCompra:=CveCompraDeCDin, CveProveedor:=CveProveedor, ImporteMX:=-IVADevMN, ImporteME:=-IVADev, CveCuenta:=CveCuentaDevolucionIMPUESTOS) Then + MsgError = "Ocurrió un error al registrar el asiento de impuestos de devolución" + ErrorDevolucionImpuestos = True + End If + Else + MsgError = "Ocurrió un error al registrar el asiento de impuestos de devolución" + ErrorDevolucionImpuestos = True + + End If + End If + + + If IEPSDev > 0 Then + 'Dim ObjContabilidad As New ClsContabilidad + If ObjMov.GetRetCuenta(25, UsuarioActual.CveEmpresa) Then + Try + CveCuentaDevolucionIMPUESTOS = ObjMov.DtResultados.Rows(0)("IdCuentaIEPSxAcreditarSIG").ToString.ToEntero + IdCtaIVADevolucionIMPUESTOS = ObjMov.DtResultados.Rows(0)("IdCuentaIEPSxAcreditar").ToString.ToEntero + + If ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoAplicar, -IEPSDev, ReferenciaAplicar, 25, ConceptoAplicar, Now, IdCtaIVADevolucionIMPUESTOS, -1, CveIE, CveCompra:=CveCompraDeCDin, CveProveedor:=CveProveedor, ImporteMX:=-IEPSDevMN, ImporteME:=-IEPSDev, CveCuenta:=CveCuentaDevolucionIMPUESTOS) Then + + If ObjMov.GetRetCuenta(26, UsuarioActual.CveEmpresa) Then + Try + CveCuentaDevolucionIMPUESTOS = ObjMov.DtResultados.Rows(0)("IdCuentaIEPSAcreditableSIG").ToString.ToEntero + IdCtaIVADevolucionIMPUESTOS = ObjMov.DtResultados.Rows(0)("IdCuentaIEPSAcreditable").ToString.ToEntero + + If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoAplicar, -IEPSDev, ReferenciaAplicar, 26, ConceptoAplicar, Now, IdCtaIVADevolucionIMPUESTOS, -1, CveIE, CveCompra:=CveCompraDeCDin, CveProveedor:=CveProveedor, ImporteMX:=-IEPSDevMN, ImporteME:=-IEPSDev, CveCuenta:=CveCuentaDevolucionIMPUESTOS) Then + MsgError = "Ocurrió un error al registrar el asiento de impuestos de devolución" + ErrorDevolucionImpuestos = True + End If + + + Catch ex As Exception + Alert("Se presento un error al obtener las cuentas de IEPS acreditable.") + ErrorDevolucionImpuestos = True + End Try + + End If + + Else + MsgError = "Ocurrió un error al registrar el asiento de impuestos de devolución" + ErrorDevolucionImpuestos = True + End If + + Catch ex As Exception + Alert("Se presento un error al obtener las cuentas de IEPS acreditable.") + ErrorDevolucionImpuestos = True + End Try + End If + End If + + If ErrorDevolucionImpuestos Then + MsgError = MsgError & " Error en devolución compra." + End If + + + End If + End If + + Case "EGSCREDITO" + + Dim ConceptoContable As Integer + Dim TipoMovimiento As Boolean + Dim importeMovimiento As Decimal + Dim FechaMovimiento As Date = Now + Dim Concepto As String = "" + Dim Referencia As String = PagueseA + + Dim importeMX As Decimal + Dim Multiplicador As Integer + + If ObjMov.GetPlantillaConceptos(UsuarioActual.CveEmpresa, CvePlantillaPoliza) Then + + For Each Row As DataRow In ObjMov.DtResultados.Rows + + ConceptoContable = Row("CveConcepto").ToString.ToEntero + TipoMovimiento = If(Row("TipoMovto").ToString = "True", True, False) + importeMovimiento = 0 + Multiplicador = (Row("Multiplicador").ToString.ToEntero) + Concepto = ObjMov.ObtenerConceptoEmpresa(UsuarioActual.CveEmpresa, ConceptoContable, PagueseA, "", ObjIE.Folio) + + Select Case ConceptoContable + + Case 30 + importeMovimiento = TxtImporte.Text.ToDecimal + importeMX = importeMovimiento + If tCveMoneda > 1 AndAlso UsuarioActual.CveEmpresa = 119 Then + 'Agregamos complementaria + Dim TC As Decimal = TxtTipoCambio.Text.ToDecimal + + If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, 0, Concepto, 204, Concepto, FechaMovimiento, IDCtaContableComplementaria, -1, CveIE:=CveIE, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=(importeMovimiento * TC - importeMovimiento).RoundSQL, ImporteME:=importeMovimiento, TipoCambio:=TC, CveCuenta:=UsuarioActual.Empresa.CveCuentaIVAxTrasladar) Then + MsgError = "Ocurrió un error al registrar el asiento del ingreso." + End If + End If + Case 42 + + importeMovimiento = TxtImporte.Text.ToDecimal + importeMX = importeMovimiento + + Case 46 + If TxtInteresMoratorio.Text.ToDecimal > 0 Then + importeMovimiento = TxtInteresMoratorio.Text.ToDecimal + importeMX = importeMovimiento + Else + importeMovimiento = 0 + importeMX = 0 + End If + Case 48 + + importeMovimiento = TxtImporte.Text.ToDecimal + importeMX = importeMovimiento + + End Select + + If importeMovimiento <> 0 Then + If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, importeMovimiento, Concepto, ConceptoContable, Concepto, FechaMovimiento, If(ConceptoContable = 30, IDCtaContable, IDCtaBeneficiario), -1, CveIE:=CveIE, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=importeMovimiento, ImporteME:=tImporteMonedaExtranjera, TipoCambio:=TxtTipoCambio.Text.ToDecimal, CveCuenta:=If(ConceptoContable = 30, CveCuentaConta, CveCuentaBeneficiario)) Then + MsgError = "Ocurrió un error al registrar el asiento del ingreso." + End If + End If + + Next + End If + + Case Else + Dim TipoMovimiento As Boolean = True + + If Opcion.Contiene("ANTC") Then + TipoMovimiento = False + End If + + If CveConceptoCompra = 10 AndAlso DdlMoneda.SelectedValue.ToEntero > 1 AndAlso UsuarioActual.CveEmpresa.Contiene(1, 119) Then + IDCtaBeneficiario = IdCtaAnticipoExtranjera + CveCuentaConta = 0 + End If + + 'MOVIMIENTOS EGRESOS + If ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, TxtImporte.Text.ToDecimal, Ref, CveConceptoContable, Conc, Now, IDCtaContable, -1, CveIE, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CveOC:=CveOrdenCompra, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=TxtImporte.Text.ToDecimal, ImporteME:=tImporteMonedaExtranjera, CveCuenta:=CveCuentaConta, CveIEDevolucion:=DDlCheques.SelectedValue.ToEntero) Then + Dim IVA As Decimal = 0 ' TxtImporte.Text.ToDouble * HdnProvPorIVA.Value.ToDouble + If ObjMov.AddPrePolizasDetalle(CvePrePoliza, Not TipoMovimiento, TxtImporte.Text.ToDecimal - IVA - CIF, Ref, CveConceptoCompra, Conc, Now, IDCtaBeneficiario, -1, CveIE, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CveOC:=CveOrdenCompra, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=TxtImporte.Text.ToDecimal, ImporteME:=tImporteMonedaExtranjera, CveCuenta:=CveCuentaBeneficiario, CveIEDevolucion:=DdlIEAcreedor.SelectedValue.ToEntero) Then + If IVA > 0 AndAlso Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, IVA, Ref, 19, Conc, Now, IDCtaBeneficiario, -1, CveIE, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CveOC:=CveOrdenCompra, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=TxtImporte.Text.ToDecimal, ImporteME:=tImporteMonedaExtranjera, CveCuenta:=CveCuentaBeneficiario, CveIEDevolucion:=DDlCheques.SelectedValue.ToEntero) Then + MsgError = "Detalle" + End If + 'intereses pagados + If CIF > 0 AndAlso Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, CIF, Ref, 46, Conc, Now, IDCtaBeneficiario, -1, CveIE, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CveOC:=CveOrdenCompra, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=CIF, ImporteME:=tImporteMonedaExtranjera, CveCuenta:=CveCuentaBeneficiario, CveIEDevolucion:=DDlCheques.SelectedValue.ToEntero) Then + MsgError = "Detalle" + End If + Else + MsgError = "no se pudo insertar el detalle de la póliza2" + End If + Else + MsgError = "no se pudo insertar el detalle de la póliza" + End If + + 'BANCOS COMPLEMENTARIA + If DdlMoneda.SelectedValue.ToEntero > 1 AndAlso UsuarioActual.CveEmpresa.Contiene(1, 119) Then + Dim ImporteAplicar As Decimal = TxtImporte.Text.ToDecimal + Dim ImporteAplicarMN = (ImporteAplicar * TxtTipoCambio.Text.ToDecimal - ImporteAplicar).RoundSQL() + If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteAplicar, Ref, 204, Conc, Now, IDCtaContableComplementaria, -1, CveIE, CveCompra:=CveCompraDeCDin, CveProveedor:=CveProveedor, ImporteMX:=ImporteAplicarMN, ImporteME:=ImporteAplicar, CveCuenta:=CveCuentaConta, TipoCambio:=TxtTipoCambio.Text.ToDecimal) Then + MsgError = "Ocurrió un error al registrar el asiento de bancos complementaria de devolución" + End If + + If CveConceptoCompra = 10 Then + If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, Not TipoMovimiento, ImporteAplicar, Ref, 266, Conc, Now, IdCtaAnticipoComplementaria, -1, CveIE, CveCompra:=CveCompraDeCDin, CveProveedor:=CveProveedor, ImporteMX:=ImporteAplicarMN, ImporteME:=ImporteAplicar, CveCuenta:=0, TipoCambio:=TxtTipoCambio.Text.ToDecimal) Then + MsgError = "Ocurrió un error al registrar el asiento de bancos complementaria de devolución" + End If + End If + + + End If + + If Opcion.Contiene("EGSSINFACT") AndAlso CveSolicitudViatico > 0 AndAlso MsgError = "" Then + If Not ObjIE.UpdateSolicitudesViaticosIE(CveSolicitudViatico, CveIE) Then + MsgError = "Ocurrió un error al vincular el egreso con la solicitud de viatico." + End If + End If + + End Select + + 'El movimiento 1 es el de Venta + 'Conta SIG + If UsuarioActual.Empresa.Funcionalidad(200) = "1" AndAlso MsgError = "" AndAlso UsuarioActual.Empresa.UsaContabilidadSIG Then + If CveCuentaBeneficiario > 0 And CveCuentaConta > 0 Then + If ObjMov.ContabilizarPrePolizaSIG(CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.Empresa) Then + IDPoliza = ObjMov.ContaIdPoliza + Else + Alert("Ocurrio un error al contabilizar en SIG, pongase en contacto con Soporte Técnico", TipoMensaje.MsgError) + End If + Else + If CveCuentaConta < 1 Then + Alert("No se puede contabilizar la Prepoliza en SIG debido a que la cuenta de Bancos es invalida", TipoMensaje.MsgAdvertencia) + End If + If CveCuentaBeneficiario < 1 Then + Alert("No se puede contabilizar la Prepoliza en SIG debido a que las cuenta del Beneficiario es invalida", TipoMensaje.MsgAdvertencia) + End If + End If + End If + + 'Conta ContPAQ + If UsuarioActual.Empresa.Funcionalidad(200) = "1" AndAlso MsgError = "" Then + If IDCtaBeneficiario > 0 And IDCtaContable > 0 Then + If ObjMov.ContabilizarPrePoliza(CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.Empresa) Then + IDPoliza = ObjMov.ContaIdPoliza + 'Alert(alertaContabilizacion & ObjMov.AlertaMensaje, ModExtensiones.TipoMensaje.MsgInformacion) + Else + Alert("Ocurrio un error al contabilizar, pongase en contacto con Soporte Técnico", TipoMensaje.MsgError) + End If + Else + If IDCtaContable < 1 Then + Alert("No se puede contabilizar la Prepoliza debido a que la cuenta de Bancos es invalida", TipoMensaje.MsgAdvertencia) + End If + If IDCtaBeneficiario < 1 Then + Alert("No se puede contabilizar la Prepoliza debido a que las cuenta del Beneficiario es invalida", TipoMensaje.MsgAdvertencia) + End If + End If + End If + + If UsuarioActual.Empresa.UsaAC Then + Dim ConceptoRenglon, Referencia As String + Dim FolioPoliza As Integer + Dim Fecha As Date = TxtFechaDocumento.Text.ToDate + Dim TipoChq As String = "" + Dim Total As Double = TxtImporte.Text.ToDouble + + Dim Conta As New ClsContPAQi(UsuarioActual.Empresa) + Conta.IniciaTransacSQL() + + If DdlTipoTransaccion.SelectedValue = "1" Then TipoChq = "CHQ" + ConceptoRenglon = String.Format("Anticipo {0}", PagueseA) + + IDPoliza = Conta.AddPoliza(2, ConceptoRenglon, Total, Total, UsuarioActual.CveUsuario, Fecha, ObjIE.Folio, TipoChq) + + If IDPoliza > 0 Then + FolioPoliza = Conta.Folio + Referencia = ObjIE.Folio + ConceptoRenglon = String.Format("Anticipo {0} {1}", PagueseA, TxtObservaciones.Text) + + Total = TxtImporte.Text.ToDouble + + If Not Conta.AddMovimiento(IDPoliza, IDCtaContable, True, Total, Referencia, ConceptoRenglon, 0, Fecha, "") Then MsgError = "No se insertó el movimiento" + + If Not Conta.AddMovimiento(IDPoliza, IDCtaBeneficiario, False, Total, Referencia, ConceptoRenglon, 0, Fecha, "") Then MsgError = "No se insertó el movimiento" + + Else + MsgError = "No se insertó el encabezado" + End If + + If MsgError = "" Then + Conta.Commit() + + Conta.AjustaPoliza(IDPoliza) + 'actualizar la conta del IE + ObjIE.UpdateIEPrePoliza(Fecha, FolioPoliza.ToString, IDPoliza, CvePrePoliza, CveIE, 0) + Else + Conta.RollBack() + IDPoliza = 0 + End If + + Conta.Dispose() + End If + + 'Notificación de Pago + If TxtNotificarA.Text.Trim <> "" Then + NotificacionPago(CveIE, TxtNotificarA.Text.Trim) + End If + + Else + MsgError = "No se pudo insertar la póliza" + End If + + Else + MsgError = "No se insertó el encabezado" + End If + + End If + + Else + Msg.Append("El Documento se guardó correctamente.") + + End If + + 'SOLICITUD DE ANTICIPO OC + If MsgError = "" Then + MsgError = GuardaSolicitudAnticipoOC(ObjOC) + End If + + If MsgError = "" Then + 'VIATICOS + If ChkAplicaViatico.Checked Then + Dim Retorno As String = TimbrarNomina12(CvePersonal) + If Retorno <> "" Then MsgError = $"{MsgError} {Retorno}" : Msg.Clear() : CveIE = -1 + If Retorno <> "" Then + Alert(Retorno, TipoMensaje.MsgError) + End If + End If + End If + + If MsgError = "" Then + If ObjMov.ValidacionPrePolizaCuadre(CvePrePoliza, -1) Then + If ObjMov.ValorPolizaDescuadre > 0 Then + ' MsgError = ObjMov.MensajePolizaDescuadre + GuardaLogAD($"Bancos/IE | Error:{ObjMov.MensajePolizaDescuadre} Diferencia:{ObjMov.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas") + End If + Else + MsgError = "No se pudo validar la prepoliza de cuadre." + End If + End If + + If MsgError = "" Then + 'IMPRIME CHEQUE + 'GeneraChequePDF(CveIE, UsuarioActual.Empresa, IDPoliza) + If Msg.ToString = "" Then + Msg.Append("El Documento se guardo correctamente") + End If + Dim Archivo As System.IO.FileInfo = Nothing + 'VERIFICA SI EXISTE EL FORMATO + If DdlTipoTransaccion.SelectedValue.ToEntero.Contiene(2, 8, 9) Then + Archivo = New System.IO.FileInfo(String.Format("{0}Formatos/Transferencia.rdlc", UsuarioActual.Empresa.Ruta)) + ElseIf DdlTipoTransaccion.SelectedValue.ToEntero.Contiene(1) Then + Archivo = New System.IO.FileInfo(String.Format("{0}Formatos/CHQ-{1}.rdlc", UsuarioActual.Empresa.Ruta, DdlCuenta.SelectedValue.ToEntero)) + If Not Archivo.Exists Then + Archivo = New System.IO.FileInfo(String.Format("{0}\Empresas\Grales\Formatos\CHQ.rdlc", AppDomain.CurrentDomain.BaseDirectory)) + End If + ElseIf DdlTipoTransaccion.SelectedValue.ToEntero.Contiene(6) And UsuarioActual.CveEmpresa = 72 Then + Archivo = New System.IO.FileInfo(String.Format("{0}Formatos/ComprobanteEgreso.rdlc", UsuarioActual.Empresa.Ruta, DdlCuenta.SelectedValue.ToEntero)) + End If + + If Archivo IsNot Nothing Then + If Archivo.Exists Then + Msg.AppendFormat("

    {1} ", Encripta(String.Format("OP=IECHEQUE&CVEIE={0}", CveIE)), String.Format("Imprimir {0}", DdlTipoTransaccion.SelectedItem)) + End If + End If + + If IDPoliza > 0 Then + Msg.AppendFormat("

    Ver Póliza", IDPoliza) + End If + + 'AUTO DESCARGAR PDF PARA COMPU + If UsuarioActual.CveEmpresa.Contiene(72, 1, 2) And CveSolicitudViatico > 0 Then + If DdlTipoTransaccion.SelectedValue.ToEntero.Contiene(1, 2, 6, 8, 9) Then + RegistraScript($"window.location.href = '/Compras/PopUpVerFactura.aspx?P={Encripta(String.Format("OP=IE&CVEIE={0}", CveIE))}'", String.Format("Imprimir {0}", DdlTipoTransaccion.SelectedItem)) + End If + End If + + End If + Catch ex As Exception + MsgError = "Ocurrió un error al guardar el IE" + ex.ToString().GuardaLog() + End Try + + If MsgError = "" Then + ObjIE.Commit() + Else + ObjIE.RollBack() + + Alert(MsgError, TipoMensaje.MsgError) End If If Msg.ToString <> "" Then @@ -3264,7 +3263,6 @@ Partial Class Bancos_IE AccionJS = String.Format("document.location.href=""{0}"";", HttpContext.Current.Request.Url.PathAndQuery) End If - If Request("Opcion") IsNot Nothing AndAlso Request("Opcion").ToString.Contiene("EGSCREDITO") Then AccionJS = $"document.location.href=""/Bancos/Creditos.aspx?CveCredito={Request("CveCredito")}"";" Alert(Msg.ToString, TipoMensaje.MsgInformacion, AccionJS) @@ -3272,18 +3270,15 @@ Partial Class Bancos_IE Alert(Msg.ToString, TipoMensaje.MsgInformacion, String.Format("document.location.href=""{0}"";", HttpContext.Current.Request.Url.PathAndQuery)) End If - - - End If End If - RecargaGlobalCuentasBancarias() ObjIE.Dispose() ObjMov.Dispose() - If ObjComp IsNot Nothing Then ObjComp.Dispose() - - + ObjOC.Dispose() + If ObjComp IsNot Nothing Then ObjComp.Dispose() + + RecargaGlobalCuentasBancarias() End Sub #Region " NOTIFICACION PAGO " diff --git a/GPS/CatRemisionesVehiculos.aspx b/GPS/CatRemisionesVehiculos.aspx index c4e4b997e..f60e75505 100644 --- a/GPS/CatRemisionesVehiculos.aspx +++ b/GPS/CatRemisionesVehiculos.aspx @@ -1,180 +1,174 @@ -<%@ Page Title="" Language="VB" MasterPageFile="~/SiteGPS.master" AutoEventWireup="false" CodeFile="CatRemisionesVehiculos.aspx.vb" Inherits="GPS_CatRemisionesVehiculos" %> - - - - - - - -
  • - - Ver Remisiones - -
  • -
    - -
    - - - - - - - - - - - - -
    + diff --git a/GPS/CatRemisionesVehiculos.aspx.vb b/GPS/CatRemisionesVehiculos.aspx.vb index 69a7979ab..f2660c6f5 100644 --- a/GPS/CatRemisionesVehiculos.aspx.vb +++ b/GPS/CatRemisionesVehiculos.aspx.vb @@ -42,14 +42,12 @@ Partial Class GPS_CatRemisionesVehiculos Dim ObjTSoft As New ClsTSoft If ObjTSoft.GetRemisiones(UsuarioActual.CveCliente) Then GvRemisiones.DataSource = ObjTSoft.DtResultados - Else - GvRemisiones.DataSource = Nothing End If If ObjTSoft.GetEstatusRemisiones() Then DdlEstatus.DataSource = ObjTSoft.DtResultados End If - - ObjTSoft.Dispose() + ObjTSoft.Dispose() + DdlEstatus.DataBind() GvRemisiones.DataBind() UPConsulta.Update() @@ -91,16 +89,16 @@ Partial Class GPS_CatRemisionesVehiculos UpContratos.Update() End Sub Protected Sub BtnActualizarEstatus_Click(sender As Object, e As EventArgs) - Dim ObjSoft As New ClsTSoft - Dim TrackingNo As String = If(TxtTracking.Text <> "", TxtTracking.Text, "-1") - Dim NumRemolque As String = If(TxtNoRemolque.Text <> "", TxtNoRemolque.Text, "-1") + Dim TrackingNo As String = If(TxtTracking.Text <> "", TxtTracking.Text, "-1") + Dim NumRemolque As String = If(TxtNoRemolque.Text <> "", TxtNoRemolque.Text, "-1") + Dim ObjSoft As New ClsTSoft If ObjSoft.UpdateEstatusRemisiones(CveRemision, DdlEstatus.SelectedValue.ToEntero, TrackingNo, NumRemolque) Then Alert("El estatus se actualizó correctamente") - End If + End If + ObjSoft.Dispose() TxtNoRemolque.Text = "" TxtTracking.Text = "" - ObjSoft.Dispose() CargaDatos() RegistraScript("$('#C_BtnCerrarContrato').click();") End Sub @@ -108,17 +106,19 @@ Partial Class GPS_CatRemisionesVehiculos RegistraScript("$('#C_BtnCerrarContrato').click();") End Sub Protected Sub imgHistorial_Click(sender As Object, e As EventArgs) - Dim ObjSoft As New ClsTSoft Dim Boton = CType(sender, LinkButton) Dim GvRow As GridViewRow = DirectCast(Boton.NamingContainer, GridViewRow) - CveRemision = Boton.CommandArgument.ToEntero + CveRemision = Boton.CommandArgument.ToEntero + + Dim ObjSoft As New ClsTSoft If ObjSoft.GETRemisionesHistorial(GvRow.DataKey("FolioRemision").ToString, GvRow.DataKey("NoEconomico").ToString) Then GVHistorico.DataSource = ObjSoft.DtResultados End If ObjSoft.Dispose() + H1.InnerText = $"Histórico Remisión: {GvRow.DataKey("FolioRemision").ToString} " GVHistorico.DataBind() UpHistorico.Update() - RegistraScript("$('#dvHistorico').modal();") + RegistraScript("$('#dvHistorico').modal('show');") End Sub End Class diff --git a/Inventarios/RecepcionUsados.aspx b/Inventarios/RecepcionUsados.aspx index 672c93586..cd25a6832 100644 --- a/Inventarios/RecepcionUsados.aspx +++ b/Inventarios/RecepcionUsados.aspx @@ -65,9 +65,9 @@
  • Traspaso Almacen
  • - <%--
  • - + <%--
  • +
  • --%>
  • Ver PrePóliza @@ -94,7 +94,7 @@
  • - Información del movimiento + Información del movimiento
    @@ -120,11 +120,11 @@ - <%-- -
    - - - + <%-- +
    + + +
    --%>
    @@ -151,7 +151,7 @@
    - +
    @@ -242,7 +242,7 @@
    @@ -298,7 +298,7 @@
    -   +   Sucursal: @@ -347,7 +347,7 @@ ">
    - Agregar Producto + Agregar Producto
    @@ -414,14 +414,14 @@
    - Información de registro + Información de registro
    @@ -431,7 +431,7 @@
    @@ -440,7 +440,7 @@
    @@ -453,7 +453,7 @@
    @@ -463,7 +463,7 @@
    @@ -472,7 +472,7 @@
    @@ -490,7 +490,7 @@
    - Tipo de Cambio + Tipo de Cambio
    @@ -557,9 +557,6 @@ - - - - - - @@ -597,12 +591,16 @@ - - + + + + + + @@ -612,13 +610,22 @@ - - +
    +
    +
    +
    + $ + +
    + +
    +
    +
    +

    -
    @@ -628,10 +635,8 @@ -

    -

    @@ -642,14 +647,9 @@

    -
    - -
    - - <%-- EMPIEZA: BITACORA --%> @@ -691,9 +691,7 @@
    -
    - - <%-- TERMINA: BITACORA --%> @@ -741,7 +738,6 @@ -