From 9af5891916d9268127ff80d80cc6c656d96ff0eb Mon Sep 17 00:00:00 2001 From: Antonio Gonzalez Date: Wed, 16 Oct 2019 13:45:17 -0500 Subject: [PATCH 01/20] quitando validacion en OC sobre el activo fijo --- OC/OC.aspx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OC/OC.aspx b/OC/OC.aspx index d43c018cc..c0448c64b 100644 --- a/OC/OC.aspx +++ b/OC/OC.aspx @@ -795,8 +795,8 @@ - - + <%----%> + <%----%> Activo Fijo From 34b0b071022000749d59680596ea4dabb9eb7b6c Mon Sep 17 00:00:00 2001 From: Rene Molina Date: Wed, 16 Oct 2019 18:19:46 -0700 Subject: [PATCH 02/20] =?UTF-8?q?devoluci=C3=B3n=20efectivo,=20otros=20ing?= =?UTF-8?q?resos?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Bancos/IE.aspx | 11 +++++++++++ Bancos/IE.aspx.vb | 26 +++++++++++++++++++++++++- Compras/RepNotasCredito.aspx.vb | 2 +- 3 files changed, 37 insertions(+), 2 deletions(-) diff --git a/Bancos/IE.aspx b/Bancos/IE.aspx index 53489d4c4..e47da35f1 100644 --- a/Bancos/IE.aspx +++ b/Bancos/IE.aspx @@ -246,6 +246,17 @@ +
+ +
+
+ +
+ $ + + +
+

diff --git a/Bancos/IE.aspx.vb b/Bancos/IE.aspx.vb index 21a8f8590..0e8ec390a 100644 --- a/Bancos/IE.aspx.vb +++ b/Bancos/IE.aspx.vb @@ -2686,7 +2686,31 @@ Partial Class Bancos_IE Exit Select End If - 'IMPUESTOS + '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, CveVenta:=CveVentaDevDin, CveCliente:=CveCliente, ImporteMX:=Impo, ImporteME:=0) Then + MsgError = "Ocurrió un error al registrar el asiento de pago de devolución" + Exit Select + End If + End If + + + + 'IMPUESTOS If ObjMov.GetPrePolizasDetalle(CvePrePolizaDevDin) Then Dim PorcentajePagoDevDin = (TxtImporte.Text.ToDecimal / ImporteOriginalDevDin).RoundSQL(6) Dim CveConceptoContableAplciar = -1 diff --git a/Compras/RepNotasCredito.aspx.vb b/Compras/RepNotasCredito.aspx.vb index c04fd2c3e..f5d63a35b 100644 --- a/Compras/RepNotasCredito.aspx.vb +++ b/Compras/RepNotasCredito.aspx.vb @@ -143,7 +143,7 @@ Partial Class Compras_RepNotasCredito TCCompra = gr.DataKey("TipoCambio").ToDecimal CveMoneda = gr.DataKey("CveMoneda").ToEntero - CvePrePoliza = ObjConta.AddPrePolizas("Compras/RepNotasCredito", 2, gr.DataKey("Saldo").ToDecimal, gr.DataKey("Saldo").ToDecimal, gr.DataKey("CveMoneda").ToEntero, Now, "Saldado manual", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) + CvePrePoliza = ObjConta.AddPrePolizas("Compras/RepNotasCredito", 103, gr.DataKey("Saldo").ToDecimal, gr.DataKey("Saldo").ToDecimal, gr.DataKey("CveMoneda").ToEntero, Now, "Saldado manual", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) If CveMoneda > 1 Then IdCtaContable = gr.DataKey("IdCtaContExtranjera").ToEntero From 10a9d38942c5ab0893d99f55bd32754cf7142cb0 Mon Sep 17 00:00:00 2001 From: janeth arvizu Date: Thu, 17 Oct 2019 12:18:17 -0700 Subject: [PATCH 03/20] No Eliminar Mov si esta Contabilizada --- Inventarios/EntradasSalidas.aspx.vb | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/Inventarios/EntradasSalidas.aspx.vb b/Inventarios/EntradasSalidas.aspx.vb index baab9686f..969fe1031 100644 --- a/Inventarios/EntradasSalidas.aspx.vb +++ b/Inventarios/EntradasSalidas.aspx.vb @@ -588,8 +588,8 @@ Partial Class Inventarios_EntradasSalidas If DtMov.Rows(0)("CvePrePoliza").ToString.ToEntero > 0 Then HplPrePoliza.Visible = True HplPrePoliza.NavigateUrl = String.Format("/Contabilidad/RegPrePoliza.aspx?CvePrePoliza={0}", DtMov.Rows(0)("CvePrePoliza")) - CvePrePoliza = DtMov.Rows(0)("CvePrePoliza").ToString.ToEntero - Else + CvePrePoliza = DtMov.Rows(0)("CvePrePoliza").ToString.ToEntero + Else If UsuarioActual.CveRol = 1 Then BtnGeneraPrepoliza.Visible = True End If @@ -874,7 +874,18 @@ Partial Class Inventarios_EntradasSalidas TxtFecha.Enabled = True ImgFecha.Enabled = True TxtObservaciones.Enabled = True - End If + End If + + Dim ObjContabilidad As New ClsContabilidad + If ObjContabilidad.GetPrePoliza(CvePrePoliza, UsuarioActual.CveEmpresa) Then + Dim dr As DataRow = ObjContabilidad.DtResultados.FiltroPrimero("") + If dr IsNot Nothing Then + If dr("IdPoliza").ToString.ToEntero > 0 Then + BtnEliminar.Visible = False + End If + End If + End If + ObjContabilidad.Dispose() 'SI TIENE PREPOLIZA NO SE DEBE PODER EDITAR If Mov.TienePrePoliza > 0 Then From b35f9bf78e94a8018575f3fedfb94da99e2dbad9 Mon Sep 17 00:00:00 2001 From: Rene Molina Date: Thu, 17 Oct 2019 12:50:02 -0700 Subject: [PATCH 04/20] mensaje de negativos --- Contabilidad/RepIVA.aspx | 1 + Contabilidad/RepIVA.aspx.cs | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/Contabilidad/RepIVA.aspx b/Contabilidad/RepIVA.aspx index cd25184a0..254800fc3 100644 --- a/Contabilidad/RepIVA.aspx +++ b/Contabilidad/RepIVA.aspx @@ -167,6 +167,7 @@

IVA Acreditable

+ diff --git a/Contabilidad/RepIVA.aspx.cs b/Contabilidad/RepIVA.aspx.cs index 3f8e11bff..0730328b1 100644 --- a/Contabilidad/RepIVA.aspx.cs +++ b/Contabilidad/RepIVA.aspx.cs @@ -62,6 +62,7 @@ public partial class Contabilidad_RepIVA : ClsPaginas { 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)) @@ -83,10 +84,18 @@ public partial class Contabilidad_RepIVA : ClsPaginas { 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(); From 32fdd53e4906400439705c733630bcbfd031a9f7 Mon Sep 17 00:00:00 2001 From: Rakcsle Supertramp Date: Thu, 17 Oct 2019 13:16:50 -0700 Subject: [PATCH 05/20] Autocheck = true con AC --- Contabilidad/RegPrePoliza.aspx.vb | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Contabilidad/RegPrePoliza.aspx.vb b/Contabilidad/RegPrePoliza.aspx.vb index 7f80edd22..f982fbcdd 100644 --- a/Contabilidad/RegPrePoliza.aspx.vb +++ b/Contabilidad/RegPrePoliza.aspx.vb @@ -212,8 +212,14 @@ Partial Class ContabilidadC_RegPrePoliza End If Exit Sub Else + CreaDT() BtnEliminar.Visible = False + + If UsuarioActual.Empresa.UsaAC Then + ChkAutoConta.Checked = True + End If + End If @@ -889,7 +895,7 @@ Partial Class ContabilidadC_RegPrePoliza Next 'El movimiento 2 es el de Pago - If ChkAutoConta.Checked AndAlso UsuarioActual.Empresa.Funcionalidad(200) = "1" AndAlso MsgError = "" Then + If ChkAutoConta.Checked AndAlso MsgError = "" Or UsuarioActual.Empresa.Funcionalidad(200) = "1" And MsgError = "" Then If idCuentaContabilizacion > 0 Then If ObjMov.ContabilizarPrePoliza(CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.Empresa) Then From c544701428b1e99e68ea9d217507afe45e98925d Mon Sep 17 00:00:00 2001 From: janeth arvizu Date: Thu, 17 Oct 2019 13:21:47 -0700 Subject: [PATCH 06/20] Al Cotizar boton que manda a Facturar --- Ventas/Ventas.aspx.vb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb index 24955a9d5..e93d30672 100644 --- a/Ventas/Ventas.aspx.vb +++ b/Ventas/Ventas.aspx.vb @@ -6859,6 +6859,10 @@ Partial Class Ventas If CveVenta > 0 Then MensajeAlert = New StringBuilder Dim ArchivoCotizacion As New System.IO.FileInfo(String.Format("{0}Formatos/Cotizacion.rdlc", UsuarioActual.Empresa.Ruta)) + If Opcion = "Cot" And UsuarioActual.CveEmpresa = 141 Then + MensajeAlert.AppendFormat("Facturar

", CveVenta) + End If + If ArchivoCotizacion.Exists Then MensajeAlert.AppendFormat("
", Encripta(String.Format("OP=VTA&CVEVENTA={0}&PAG=0", CveVenta))) Else From 85629bc3b8651c123c97688d035c42e8b5b75af7 Mon Sep 17 00:00:00 2001 From: janeth arvizu Date: Thu, 17 Oct 2019 14:07:58 -0700 Subject: [PATCH 07/20] =?UTF-8?q?Ampli=C3=B3=20campo=20Importe?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Bancos/IE.aspx | 3130 +++++++++---------- Compras/RepNotasCredito.aspx.vb | 562 ++-- Contabilidad/RepIVA.aspx | 536 ++-- Contabilidad/RepIVA.aspx.cs | 630 ++-- Empresas/Grales/Formatos/RepClientesCxC.rpt | Bin 262144 -> 262144 bytes 5 files changed, 2429 insertions(+), 2429 deletions(-) diff --git a/Bancos/IE.aspx b/Bancos/IE.aspx index e47da35f1..5d8bd47e6 100644 --- a/Bancos/IE.aspx +++ b/Bancos/IE.aspx @@ -1,1565 +1,1565 @@ -<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="IE.aspx.vb" Inherits="Bancos_IE" ValidateRequest="false" %> - - - - - - - - - - -   - - - -
  • - Listado Facturas Pagadas -
  • -
  • - Imprimir -
  • - - -
  • - Complemento Pago -
  • -
    -
    - -
  • - Actualizar Tipo Cambio -
  • - - <%--
  • - Emitir Complemento de Pago -
  • --%> - - - -
  • - Cheque Devuelto -
  • -
  • - Cancelar Movimiento -
  • -
  • - Eliminar Movimiento -
  • -
  • - Refacturar Complemento -
  • -
  • - Cancelar - - <%-- data-original-title="¿Está seguro que desea cancelar el documento?" data-btn-ok-label="si" Style="color: #686868;"> - -
  • -
    -
    - - - - -
  • - Contabilizar -
  • -
  • - Descontabilizar -
  • - -
    - - - - -
    - -
  • - Envíar Comprobante Mail -
  • - - - -
  • - Ajustar -
  • -
    -
    - -
    - - - - - -
    -
    -
    -
    -
    -
    - -   - - <%----%> Comprobante -   - -
    - -
    - - - - - -
    - -
    -
    - -
    - - - - - -
    -
    - - -
    -
    -
    - -
    - -
    -
    - -
    - -
    - -
    -
    -
    - - -
    -
    -
    - -
    - -
    -
    - - - - -
    - - - - - - - -
    -
    -
    - -
    - - - -
    -
    - -
    - $ - -
    -
    -
    -
    -
    Interes:
    -
    - $ - -
    -
    - -
    - -
    -
    - -
    - $ - - - -
    -
    - - - - -
    - - Clientes - Proveedor - Viaticos - Personal - - - - - - - - - - - - - - - - -
    -
    - -
    - - -
    -
    -
    -
    -
    - -
    -
    - -
    - $ - - -
    -
    -
    - - - - -
    - -
    -
    -
    -
    - - - - - -
    -
    - -
    - -
    - -
    -
    -
    - -
    - -
    -
    -
    -
    - -
    - -
    -
    - -
    -
    -
    - - - -
    - -
    - - - - - -
    -
    -
    -
    - - - -
    - - -
    - - - - - - -
    -
    -
    -
    - -
    - -
    - -
    - <%-- - -
    - - - -
    -
    -
    --%> -
    - - - -
    - -
    - -
    -
    -
    -
    - -
    - -
    - -
    -
    - -
    - -
    - -
    -
    - - - -
    - -
    - - - - -
    -
    -
    - -
    - - - -
    -
    -
    -
    - -
    - -
    - - -
    -
    - -
    - -
    - -
    -
    -
    - -
    - - -
    -
    - -
    -
    -
    -
    - -
    - -
    -
    -
    - -
    - - - - - - - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - -
    -
    - -
    -
    - - - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - -
    - -
    -
    -
    -
    - - - -
    -
    -
    - -
    -
    -
    -
    - - - - - - - - - - - -
    - -
    -
    - - - - - - <%-- - - - - --%> - - - - - - - - - - - - - - - - - -
    CveIE: - -
    Tipo de Documento: - - - -
    Fecha Aplicación -
    - - - - -
    - - - <%-- - - - - --%> - -
    -
    - - -
    Complemento de pago Sustituto de: - -
    -
    -
    -
    - - - -
    -
    - Cargar Comprobante - - - - - - - - - - - -
    - -
    -
    - Nota: Si ya tiene un comprobante este sera reemplazado. -
    -
    -
    -
    -
    - -
    -
    -
    - - - - - - - - - - - - - - - - - - - -
    Moneda: - - - - - -
    Registró: -
    F. Registró: -
    Tipo Cambio: -
    -
    -
    - -
    -
    -
    - - <%-- - - - --%> - - - - - - - - - <%-- - - - - - - - - - - - --%> -
    Es Abono en Cuenta: - -
    Aplica Impuestos: - -
    No Deducible: - -
    Fue Impreso: - -
    Fue Conciliado: - -
     Fecha Aplicado:  -
    -
    -
    -
    -
    - - - - - - - - -
    Depositado : - Ir -
    -
    -
    -
    - -
    -
    - - - -
    -
    - - - - -
    -
    -
    -
    - - Datos Generales Cancelación -
    -
    -
    -
    -
    -
    - -
    -
    -
    - - - - - - - - - - - - - - - - - -
    Usuario: - -
    Fecha Cancelación: - -
    Fecha Registro: - -
    - - - -
    -
    -
    -
    - -
    -
    - -
    - -
    -
    - -
    - -
    -
    - - - - - - -
    - - - - - - - - - - -
    - -
    - -
    - -
    -
    -
    -
    - <%----%> - Bitacora -
    -
    -
    - <%--
    - - Agregar -
    --%> -
    - - -
    -
    -
    -
    - - - - - - Fecha - - - - - - Fecha Agenda - - - - - - Usuario - - - - - - Descripción - - - - - - Archivo - - - - - - - - - - - - - -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - Historial de Modificación -
    -
    -
    -
    -
    -
    -
    - - - - Fecha - - - - - - - - - - -
    -
    -
    -
    - <%-- MODAL BITACORA --%> - - - - - - - - - <%-- COMPLEMENTOS PAGO --%> - - - <%-- ACTUALIZAR TIPO CAMBIO PREPOLIZA --%> - - - - - - - - - - - - -
    - - - - +<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="IE.aspx.vb" Inherits="Bancos_IE" ValidateRequest="false" %> + + + + + + + + + + +   + + + +
  • + Listado Facturas Pagadas +
  • +
  • + Imprimir +
  • + + +
  • + Complemento Pago +
  • +
    +
    + +
  • + Actualizar Tipo Cambio +
  • + + <%--
  • + Emitir Complemento de Pago +
  • --%> + + + +
  • + Cheque Devuelto +
  • +
  • + Cancelar Movimiento +
  • +
  • + Eliminar Movimiento +
  • +
  • + Refacturar Complemento +
  • +
  • + Cancelar + + <%-- data-original-title="¿Está seguro que desea cancelar el documento?" data-btn-ok-label="si" Style="color: #686868;"> + +
  • +
    +
    + + + + +
  • + Contabilizar +
  • +
  • + Descontabilizar +
  • + +
    + + + + +
    + +
  • + Envíar Comprobante Mail +
  • + + + +
  • + Ajustar +
  • +
    +
    + +
    + + + + + +
    +
    +
    +
    +
    +
    + +   + + <%----%> Comprobante +   + +
    + +
    + + + + + +
    + +
    +
    + +
    + + + + + +
    +
    + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
    +
    + + +
    +
    +
    + +
    + +
    +
    + + + + +
    + + + + + + + +
    +
    +
    + +
    + + + +
    +
    + +
    + $ + +
    +
    +
    +
    +
    Interes:
    +
    + $ + +
    +
    + +
    + +
    +
    + +
    + $ + + + +
    +
    + + + + +
    + + Clientes + Proveedor + Viaticos - Personal + + + + + + + + + + + + + + + + +
    +
    + +
    + + +
    +
    +
    +
    +
    + +
    +
    + +
    + $ + + +
    +
    +
    + + + + +
    + +
    +
    +
    +
    + + + + + +
    +
    + +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + +
    + +
    + + + + + +
    +
    +
    +
    + + + +
    + + +
    + + + + + + +
    +
    +
    +
    + +
    + +
    + +
    + <%-- + +
    + + + +
    +
    +
    --%> +
    + + + +
    + +
    + +
    +
    +
    +
    + +
    + +
    + +
    +
    + +
    + +
    + +
    +
    + + + +
    + +
    + + + + +
    +
    +
    + +
    + + + +
    +
    +
    +
    + +
    + +
    + + +
    +
    + +
    + +
    + +
    +
    +
    + +
    + + +
    +
    + +
    +
    +
    +
    + +
    + +
    +
    +
    + +
    + + + + + + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    +
    + +
    +
    + + + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + +
    + +
    +
    +
    +
    + + + +
    +
    +
    + +
    +
    +
    +
    + + + + + + + + + + + +
    + +
    +
    + + + + + + <%-- + + + + --%> + + + + + + + + + + + + + + + + + +
    CveIE: + +
    Tipo de Documento: + + + +
    Fecha Aplicación +
    + + + + +
    + + + <%-- + + + + --%> + +
    +
    + + +
    Complemento de pago Sustituto de: + +
    +
    +
    +
    + + + +
    +
    + Cargar Comprobante + + + + + + + + + + + +
    + +
    +
    + Nota: Si ya tiene un comprobante este sera reemplazado. +
    +
    +
    +
    +
    + +
    +
    +
    + + + + + + + + + + + + + + + + + + + +
    Moneda: + + + + + +
    Registró: +
    F. Registró: +
    Tipo Cambio: +
    +
    +
    + +
    +
    +
    + + <%-- + + + --%> + + + + + + + + + <%-- + + + + + + + + + + + --%> +
    Es Abono en Cuenta: + +
    Aplica Impuestos: + +
    No Deducible: + +
    Fue Impreso: + +
    Fue Conciliado: + +
     Fecha Aplicado:  +
    +
    +
    +
    +
    + + + + + + + + +
    Depositado : + Ir +
    +
    +
    +
    + +
    +
    + + + +
    +
    + + + + +
    +
    +
    +
    + + Datos Generales Cancelación +
    +
    +
    +
    +
    +
    + +
    +
    +
    + + + + + + + + + + + + + + + + + +
    Usuario: + +
    Fecha Cancelación: + +
    Fecha Registro: + +
    + + + +
    +
    +
    +
    + +
    +
    + +
    + +
    +
    + +
    + +
    +
    + + + + + + +
    + + + + + + + + + + +
    + +
    + +
    + +
    +
    +
    +
    + <%----%> + Bitacora +
    +
    +
    + <%--
    + + Agregar +
    --%> +
    + + +
    +
    +
    +
    + + + + + + Fecha + + + + + + Fecha Agenda + + + + + + Usuario + + + + + + Descripción + + + + + + Archivo + + + + + + + + + + + + + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + + Historial de Modificación +
    +
    +
    +
    +
    +
    +
    + + + + Fecha + + + + + + + + + + +
    +
    +
    +
    + <%-- MODAL BITACORA --%> + + + + + + + + + <%-- COMPLEMENTOS PAGO --%> + + + <%-- ACTUALIZAR TIPO CAMBIO PREPOLIZA --%> + + + + + + + + + + + + +
    + + + + diff --git a/Compras/RepNotasCredito.aspx.vb b/Compras/RepNotasCredito.aspx.vb index f5d63a35b..cd955ec5c 100644 --- a/Compras/RepNotasCredito.aspx.vb +++ b/Compras/RepNotasCredito.aspx.vb @@ -1,281 +1,281 @@ -Option Explicit On -Option Strict On - -Imports System.Data -Imports Extensiones -Imports Microsoft.Reporting.WebForms - -Partial Class Compras_RepNotasCredito - Inherits ClsPaginas - -#Region "PROPIEDADES" - Private Property DtDatos As DataTable - Get - DtDatos = CType(ViewState("DtDatos"), DataTable) - End Get - Set(value As DataTable) - ViewState("DtDatos") = value - End Set - End Property -#End Region - Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load - If Not Page.IsPostBack Then - DdlProveedores.DataSource = GlobalDTCompProveedores(UsuarioActual.CveEmpresa) - DdlProveedores.DataBind() - TxtFechaSaldar.Text = Now.ToShortDateString - CargaDatos() - End If - End Sub - - Private Sub CargaDatos() - Dim ObjCompras As New ClsCompras - Dim FechaI, FechaF As String - - If txtFechaI.Text <> "" Then FechaI = txtFechaI.Text Else FechaI = "-1" - If txtFechaF.Text <> "" Then FechaF = txtFechaF.Text Else FechaF = "-1" - - - If ObjCompras.GetNotasCreditoRep(DdlProveedores.SelectedValue.ToEntero, DdlOpcion.SelectedValue.ToEntero, FechaI, FechaF, UsuarioActual.CveEmpresa) Then - DtDatos = ObjCompras.DtResultados - CargaGrid("") - Else - Alert("Ocurrió un error al obtener el catálogo de Notas de Crédito", Extensiones.TipoMensaje.MsgError) - End If - - ObjCompras.Dispose() - End Sub - - Protected Sub GvDatos_RowDataBound(sender As Object, e As GridViewRowEventArgs) - If e.Row.RowType = DataControlRowType.DataRow Then - e.Row.FCHyperLink("HLRazonSocial").NavigateUrl = String.Format("/Compras/Proveedores.aspx?CveProveedor={0}", e.Row.DBCampo("CveProveedor")) - e.Row.FCHyperLink("HLSerieFolio").NavigateUrl = String.Format("/Compras/Compras.aspx?CveCompra={0}", e.Row.DBCampo("CveCompra")) - - End If - End Sub - - Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs) - CargaDatos() - End Sub - - Protected Sub ImgExcel_Click(sender As Object, e As EventArgs) Handles ImgExcel.Click - GvDatos.ExportToExcel("RepNotasCredito." & Now.ToShortDateString) - - End Sub - - - Private Sub GenerarPDF(Optional Formato As String = "PDF") - If DtDatos IsNot Nothing Then - Dim StrFiltro As New StringBuilder - 'StrFiltro.AppendFormat(String.Format("Proveedor: {0}, Estatus: {1}", DdlProveedores.SelectedItem.Text, DdlOpcion.SelectedItem.Text)) - ' If DdlTipoComprobante.SelectedValue <> "-1" Then StrFiltro.AppendFormat(" Tipo Documento: {0}", DdlTipoComprobante.SelectedItem.Text) - If DdlProveedores.SelectedValue <> "-1" Then StrFiltro.AppendFormat(" Proveedor: {0}", DdlProveedores.SelectedItem.Text) - If DdlOpcion.SelectedValue <> "-1" Then StrFiltro.AppendFormat(" Estatus: {0}", DdlOpcion.SelectedItem.Text) - - If txtFechaI.Text <> "" Then StrFiltro.AppendFormat(" Fecha Inicio : {0}", txtFechaI.Text.ToDate.ToShortDateString) - If txtFechaF.Text <> "" Then StrFiltro.AppendFormat(" Fecha Fin : {0}", txtFechaF.Text.ToDate.ToShortDateString) - - - 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) - 'Dim dt As DataTable = DtVentas.FiltraParametros("", "Orden") '.FiltraParametros("Total > 0", DistinctColumns:={"GPO", "Cantidad", "SubTotal", "Descuento", "Amortizacion", "IVA", "Total"}) - Dim FechaI, FechaF As String - FechaI = If(txtFechaI.Text = "" Or txtFechaI.Text = "__/__/____", "-1", txtFechaI.Text) - FechaF = If(txtFechaF.Text = "" Or txtFechaF.Text = "__/__/____", "-1", txtFechaF.Text) - Dim params As New List(Of ReportParameter) - - params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa)) - params.Add(New ReportParameter("FechaInicio", FechaI)) - params.Add(New ReportParameter("FechaFin", FechaF)) - params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre)) - params.Add(New ReportParameter("FechaImpresion", Now.ToDateTime.ToShortDateString)) - params.Add(New ReportParameter("Filtros", StrFiltro.ToString)) - - If Imagen.Exists Then - params.Add(New ReportParameter("LogoPath", logouri)) - Else - params.Add(New ReportParameter("LogoPath", "")) - End If - ImprimirPDF("Empresas/Grales/Formatos/RepNotasCredito.rdlc", DtDatos, params, String.Format("ReporteVentas-{0}", Now.ToDateTime.ToShortDateString), Formato:=Formato) - Else - Alert("No hay datos consultados", TipoMensaje.MsgAdvertencia) - End If - - End Sub - - Protected Sub ImgImprimir_Click(sender As Object, e As EventArgs) Handles ImgImprimir.Click - GenerarPDF() - End Sub - - Private Sub LnkHabilitarSaldar_Click(sender As Object, e As EventArgs) Handles LnkHabilitarSaldar.Click - For Each gr As GridViewRow In GvDatos.Rows - If gr.DataKey("CveCompra") <> "" Then - gr.FCCheckBox("Chk").Visible = True - HLSaldar.Visible = True - LnkHabilitarSaldar.Visible = False - UpDatos.Update() - End If - Next - End Sub - - Protected Sub BtnSaldar_Click(sender As Object, e As EventArgs) - Dim ObjConta As New ClsContabilidad - ObjConta.IniciaTransacSQL() - Dim CvePrePoliza As Integer = 0 - Dim MsgError As String = "" - Dim IdCtaContable As Integer = 0 - Dim IdCtaContableComplementaria As Integer = 0 - Dim Importe As Decimal = 0 - Dim ImporteMN As Decimal = 0 - Dim ImporteComplementaria As Decimal = 0 - Dim CveMoneda As Integer = 0 - Dim TC As Decimal = GlobalTipoCambio(TxtFechaSaldar.Text.ToDate).ToDecimal - Dim TCCompra As Decimal = 0 - Dim Concepto As String = TxtConcepto.Text - Dim UsaComplementaria As Boolean = UsuarioActual.CveEmpresa.Contiene(119) - Dim MensajeAlert = New StringBuilder - - For Each gr As GridViewRow In GvDatos.Rows - If gr.FCCheckBox("Chk").Checked Then - IdCtaContable = 0 - IdCtaContableComplementaria = 0 - Importe = gr.DataKey("Saldo").ToDecimal.RoundSQL - ImporteMN = gr.DataKey("Saldo").ToDecimal.RoundSQL - TCCompra = gr.DataKey("TipoCambio").ToDecimal - CveMoneda = gr.DataKey("CveMoneda").ToEntero - - CvePrePoliza = ObjConta.AddPrePolizas("Compras/RepNotasCredito", 103, gr.DataKey("Saldo").ToDecimal, gr.DataKey("Saldo").ToDecimal, gr.DataKey("CveMoneda").ToEntero, Now, "Saldado manual", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) - - If CveMoneda > 1 Then - IdCtaContable = gr.DataKey("IdCtaContExtranjera").ToEntero - ImporteMN = (gr.DataKey("Saldo").ToDecimal * TCCompra).RoundSQL - Else - IdCtaContable = gr.DataKey("IdCtaContProveedores").ToEntero - End If - - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, -Importe, "", 18, Concepto, TxtFechaSaldar.Text.ToDate, IdCtaContable, -1, gr.DataKey("CveIE").ToEntero, CveProveedor:=gr.DataKey("CveProveedor").ToEntero, CvePersonal:=gr.DataKey("CvePersonal").ToEntero, ImporteMX:=-If(CveMoneda > 1 AndAlso UsaComplementaria, Importe, ImporteMN), ImporteME:=-If(CveMoneda > 1, Importe, 0), CveCompra:=gr.DataKey("CveCompra").ToEntero, CveCompraAmortizacion:=gr.DataKey("CveCompra").ToEntero, TipoCambio:=TCCompra) Then - MsgError = "Ocurrio un Error al saldar el movimiento" - End If - - If UsaComplementaria AndAlso CveMoneda > 1 Then - ImporteComplementaria = (Importe * TCCompra - Importe).RoundSQL - IdCtaContableComplementaria = gr.DataKey("IdCtaContComplementaria").ToEntero - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, -ImporteComplementaria, "", 235, Concepto, TxtFechaSaldar.Text.ToDate, IdCtaContableComplementaria, -1, CveCompra:=gr.DataKey("CveCompra").ToEntero, CveCompraAmortizacion:=gr.DataKey("CveCompra").ToEntero, CvePersonal:=gr.DataKey("CvePersonal").ToEntero, CveProveedor:=gr.DataKey("CveProveedor").ToEntero, ImporteMX:=-ImporteComplementaria, ImporteME:=-ImporteComplementaria, TipoCambioPago:=TC, TipoCambio:=TCCompra) Then - MsgError = "Ocurrio un Error al saldar el movimiento" - End If - End If - - IdCtaContable = UsuarioActual.Empresa.Funcionalidad(564).ToString.ToEntero - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Importe, "", 211, Concepto, TxtFechaSaldar.Text.ToDate, IdCtaContable, -1, gr.DataKey("CveIE").ToEntero, ImporteMX:=If(CveMoneda > 1, (Importe * TC), Importe).RoundSQL, CveCuenta:=-1, CveCompra:=gr.DataKey("CveCompra").ToEntero, CveProveedor:=gr.DataKey("CveProveedor").ToEntero) Then - MsgError = "Ocurrio un Error al saldar el movimiento" - End If - - If TC <> TCCompra AndAlso CveMoneda > 1 AndAlso UsaComplementaria Then - Dim difFluctuacion As Decimal = TC - TCCompra - Dim CveConceptoFluctua As Integer = 64 '64.ganacia, 65.perdida - Dim TipoMovtoFluctua As Boolean = True - Dim IdCtaContableFluctua As Integer - Dim CveCuenta As Integer = 0 - If difFluctuacion < 0 Then - CveConceptoFluctua = 65 - TipoMovtoFluctua = False - IdCtaContableFluctua = UsuarioActual.Empresa.IdCuentaPerdidaCambiaria - CveCuenta = UsuarioActual.Empresa.CveCuentaPerdidaCambiaria - Else - CveConceptoFluctua = 64 - TipoMovtoFluctua = True - IdCtaContableFluctua = UsuarioActual.Empresa.IdCuentaGananciaCambiaria - CveCuenta = UsuarioActual.Empresa.CveCuentaGananciaCambiaria - End If - Dim ImporteFluctuacion As Decimal = Math.Abs((Importe * difFluctuacion).RoundSQL) - - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoFluctua, ImporteFluctuacion, "", CveConceptoFluctua, Concepto, Now, IdCtaContableFluctua, -1, CveCompra:=gr.DataKey("CveCompra").ToEntero, CveProveedor:=gr.DataKey("CveProveedor").ToEntero, ImporteMX:=ImporteFluctuacion, ImporteME:=ImporteFluctuacion, TipoCambio:=TCCompra, TipoCambioPago:=TC, CveCuenta:=CveCuenta) Then - MsgError = "Ocurrio un Error al saldar el movimiento" - End If - End If - - If ObjConta.ValidacionPrePolizaCuadre(CvePrePoliza, 5) Then - If ObjConta.ValorPolizaDescuadre > 0 Then - MsgError = ObjConta.MensajePolizaDescuadre - GuardaLogAD($"Ventas/Ventas-ProcesoPrePolizas | Error:{ObjConta.MensajePolizaDescuadre} Diferencia:{ObjConta.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas") - End If - End If - - If UsuarioActual.Empresa.Funcionalidad(200) = "1" AndAlso MsgError = "" Then - If ObjConta.ContabilizarPrePoliza(CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.Empresa) Then - If MensajeAlert.ToString = "" Then - MensajeAlert.AppendFormat("Los siguientes movimientos fueron saldados correctamente:
    ") - End If - MensajeAlert.AppendFormat("", ObjConta.ContaIdPoliza, ObjConta.ContaFolio) - End If - End If - - If MsgError <> "" Then Exit For - - End If - Next - - - If MsgError = "" Then - ObjConta.Commit() - If MensajeAlert.ToString <> "" Then - Alert(MensajeAlert.ToString) - Else - Alert("Los movimientos fueron saldados correctamente.") - End If - Alert(MensajeAlert.ToString) - CargaDatos() - HLSaldar.Visible = False - RegistraScript("$('#DivSaldar').modal('hide')") - LnkHabilitarSaldar.Visible = True - Else - ObjConta.RollBack() - Alert(MsgError, TipoMensaje.MsgError) - End If - ObjConta.Dispose() - End Sub - Protected Sub LnkSaldar_Click(sender As Object, e As EventArgs) - - End Sub - - -#Region "O R D E N A M I E N T O" - Protected Sub LbOrden_Click(ByVal sender As Object, ByVal e As EventArgs) - Dim Orden As String = "" - Dim Campo As String = "" - Dim Literal As Literal = Nothing - Const OrdenInicial As String = "" - Dim Arg(2) As String - - Arg = CType(sender, LinkButton).CommandArgument().ToString.Split(";"c) - Campo = Arg(0) - Literal = CType(CType(sender, LinkButton).NamingContainer.FindControl("Img" & Campo.Replace(", ", "_")), Literal) - - If ViewState(String.Format("O{0}", Campo)) IsNot Nothing AndAlso ViewState(String.Format("O{0}", Campo)).ToString = String.Format("{0} DESC", Campo) Then - ViewState(String.Format("O{0}", Campo)) = String.Format("{0} ASC", Campo) - Literal.Text = String.Format("") - Else - ViewState(String.Format("O{0}", Campo)) = String.Format("{0} DESC", Campo) - Literal.Text = String.Format("") - End If - Orden = OrdenInicial & ViewState(String.Format("O{0}", Campo)).ToString - ViewState("Orden") = Orden - CargaGrid(Orden) - End Sub - - Protected Sub CargaGrid(Orden As String) - Dim DV As DataView = Nothing - DV = New DataView(DtDatos, "", Orden, DataViewRowState.CurrentRows) - If Orden <> String.Empty Then - GvDatos.DataSource = DV.ToTable() - Else - GvDatos.DataSource = DtDatos - End If - - GvDatos.DataBind() - UpDatos.Update() - DV.Dispose() - End Sub -#End Region - - -End Class +Option Explicit On +Option Strict On + +Imports System.Data +Imports Extensiones +Imports Microsoft.Reporting.WebForms + +Partial Class Compras_RepNotasCredito + Inherits ClsPaginas + +#Region "PROPIEDADES" + Private Property DtDatos As DataTable + Get + DtDatos = CType(ViewState("DtDatos"), DataTable) + End Get + Set(value As DataTable) + ViewState("DtDatos") = value + End Set + End Property +#End Region + Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load + If Not Page.IsPostBack Then + DdlProveedores.DataSource = GlobalDTCompProveedores(UsuarioActual.CveEmpresa) + DdlProveedores.DataBind() + TxtFechaSaldar.Text = Now.ToShortDateString + CargaDatos() + End If + End Sub + + Private Sub CargaDatos() + Dim ObjCompras As New ClsCompras + Dim FechaI, FechaF As String + + If txtFechaI.Text <> "" Then FechaI = txtFechaI.Text Else FechaI = "-1" + If txtFechaF.Text <> "" Then FechaF = txtFechaF.Text Else FechaF = "-1" + + + If ObjCompras.GetNotasCreditoRep(DdlProveedores.SelectedValue.ToEntero, DdlOpcion.SelectedValue.ToEntero, FechaI, FechaF, UsuarioActual.CveEmpresa) Then + DtDatos = ObjCompras.DtResultados + CargaGrid("") + Else + Alert("Ocurrió un error al obtener el catálogo de Notas de Crédito", Extensiones.TipoMensaje.MsgError) + End If + + ObjCompras.Dispose() + End Sub + + Protected Sub GvDatos_RowDataBound(sender As Object, e As GridViewRowEventArgs) + If e.Row.RowType = DataControlRowType.DataRow Then + e.Row.FCHyperLink("HLRazonSocial").NavigateUrl = String.Format("/Compras/Proveedores.aspx?CveProveedor={0}", e.Row.DBCampo("CveProveedor")) + e.Row.FCHyperLink("HLSerieFolio").NavigateUrl = String.Format("/Compras/Compras.aspx?CveCompra={0}", e.Row.DBCampo("CveCompra")) + + End If + End Sub + + Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs) + CargaDatos() + End Sub + + Protected Sub ImgExcel_Click(sender As Object, e As EventArgs) Handles ImgExcel.Click + GvDatos.ExportToExcel("RepNotasCredito." & Now.ToShortDateString) + + End Sub + + + Private Sub GenerarPDF(Optional Formato As String = "PDF") + If DtDatos IsNot Nothing Then + Dim StrFiltro As New StringBuilder + 'StrFiltro.AppendFormat(String.Format("Proveedor: {0}, Estatus: {1}", DdlProveedores.SelectedItem.Text, DdlOpcion.SelectedItem.Text)) + ' If DdlTipoComprobante.SelectedValue <> "-1" Then StrFiltro.AppendFormat(" Tipo Documento: {0}", DdlTipoComprobante.SelectedItem.Text) + If DdlProveedores.SelectedValue <> "-1" Then StrFiltro.AppendFormat(" Proveedor: {0}", DdlProveedores.SelectedItem.Text) + If DdlOpcion.SelectedValue <> "-1" Then StrFiltro.AppendFormat(" Estatus: {0}", DdlOpcion.SelectedItem.Text) + + If txtFechaI.Text <> "" Then StrFiltro.AppendFormat(" Fecha Inicio : {0}", txtFechaI.Text.ToDate.ToShortDateString) + If txtFechaF.Text <> "" Then StrFiltro.AppendFormat(" Fecha Fin : {0}", txtFechaF.Text.ToDate.ToShortDateString) + + + 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) + 'Dim dt As DataTable = DtVentas.FiltraParametros("", "Orden") '.FiltraParametros("Total > 0", DistinctColumns:={"GPO", "Cantidad", "SubTotal", "Descuento", "Amortizacion", "IVA", "Total"}) + Dim FechaI, FechaF As String + FechaI = If(txtFechaI.Text = "" Or txtFechaI.Text = "__/__/____", "-1", txtFechaI.Text) + FechaF = If(txtFechaF.Text = "" Or txtFechaF.Text = "__/__/____", "-1", txtFechaF.Text) + Dim params As New List(Of ReportParameter) + + params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa)) + params.Add(New ReportParameter("FechaInicio", FechaI)) + params.Add(New ReportParameter("FechaFin", FechaF)) + params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre)) + params.Add(New ReportParameter("FechaImpresion", Now.ToDateTime.ToShortDateString)) + params.Add(New ReportParameter("Filtros", StrFiltro.ToString)) + + If Imagen.Exists Then + params.Add(New ReportParameter("LogoPath", logouri)) + Else + params.Add(New ReportParameter("LogoPath", "")) + End If + ImprimirPDF("Empresas/Grales/Formatos/RepNotasCredito.rdlc", DtDatos, params, String.Format("ReporteVentas-{0}", Now.ToDateTime.ToShortDateString), Formato:=Formato) + Else + Alert("No hay datos consultados", TipoMensaje.MsgAdvertencia) + End If + + End Sub + + Protected Sub ImgImprimir_Click(sender As Object, e As EventArgs) Handles ImgImprimir.Click + GenerarPDF() + End Sub + + Private Sub LnkHabilitarSaldar_Click(sender As Object, e As EventArgs) Handles LnkHabilitarSaldar.Click + For Each gr As GridViewRow In GvDatos.Rows + If gr.DataKey("CveCompra") <> "" Then + gr.FCCheckBox("Chk").Visible = True + HLSaldar.Visible = True + LnkHabilitarSaldar.Visible = False + UpDatos.Update() + End If + Next + End Sub + + Protected Sub BtnSaldar_Click(sender As Object, e As EventArgs) + Dim ObjConta As New ClsContabilidad + ObjConta.IniciaTransacSQL() + Dim CvePrePoliza As Integer = 0 + Dim MsgError As String = "" + Dim IdCtaContable As Integer = 0 + Dim IdCtaContableComplementaria As Integer = 0 + Dim Importe As Decimal = 0 + Dim ImporteMN As Decimal = 0 + Dim ImporteComplementaria As Decimal = 0 + Dim CveMoneda As Integer = 0 + Dim TC As Decimal = GlobalTipoCambio(TxtFechaSaldar.Text.ToDate).ToDecimal + Dim TCCompra As Decimal = 0 + Dim Concepto As String = TxtConcepto.Text + Dim UsaComplementaria As Boolean = UsuarioActual.CveEmpresa.Contiene(119) + Dim MensajeAlert = New StringBuilder + + For Each gr As GridViewRow In GvDatos.Rows + If gr.FCCheckBox("Chk").Checked Then + IdCtaContable = 0 + IdCtaContableComplementaria = 0 + Importe = gr.DataKey("Saldo").ToDecimal.RoundSQL + ImporteMN = gr.DataKey("Saldo").ToDecimal.RoundSQL + TCCompra = gr.DataKey("TipoCambio").ToDecimal + CveMoneda = gr.DataKey("CveMoneda").ToEntero + + CvePrePoliza = ObjConta.AddPrePolizas("Compras/RepNotasCredito", 103, gr.DataKey("Saldo").ToDecimal, gr.DataKey("Saldo").ToDecimal, gr.DataKey("CveMoneda").ToEntero, Now, "Saldado manual", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) + + If CveMoneda > 1 Then + IdCtaContable = gr.DataKey("IdCtaContExtranjera").ToEntero + ImporteMN = (gr.DataKey("Saldo").ToDecimal * TCCompra).RoundSQL + Else + IdCtaContable = gr.DataKey("IdCtaContProveedores").ToEntero + End If + + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, -Importe, "", 18, Concepto, TxtFechaSaldar.Text.ToDate, IdCtaContable, -1, gr.DataKey("CveIE").ToEntero, CveProveedor:=gr.DataKey("CveProveedor").ToEntero, CvePersonal:=gr.DataKey("CvePersonal").ToEntero, ImporteMX:=-If(CveMoneda > 1 AndAlso UsaComplementaria, Importe, ImporteMN), ImporteME:=-If(CveMoneda > 1, Importe, 0), CveCompra:=gr.DataKey("CveCompra").ToEntero, CveCompraAmortizacion:=gr.DataKey("CveCompra").ToEntero, TipoCambio:=TCCompra) Then + MsgError = "Ocurrio un Error al saldar el movimiento" + End If + + If UsaComplementaria AndAlso CveMoneda > 1 Then + ImporteComplementaria = (Importe * TCCompra - Importe).RoundSQL + IdCtaContableComplementaria = gr.DataKey("IdCtaContComplementaria").ToEntero + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, -ImporteComplementaria, "", 235, Concepto, TxtFechaSaldar.Text.ToDate, IdCtaContableComplementaria, -1, CveCompra:=gr.DataKey("CveCompra").ToEntero, CveCompraAmortizacion:=gr.DataKey("CveCompra").ToEntero, CvePersonal:=gr.DataKey("CvePersonal").ToEntero, CveProveedor:=gr.DataKey("CveProveedor").ToEntero, ImporteMX:=-ImporteComplementaria, ImporteME:=-ImporteComplementaria, TipoCambioPago:=TC, TipoCambio:=TCCompra) Then + MsgError = "Ocurrio un Error al saldar el movimiento" + End If + End If + + IdCtaContable = UsuarioActual.Empresa.Funcionalidad(564).ToString.ToEntero + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Importe, "", 211, Concepto, TxtFechaSaldar.Text.ToDate, IdCtaContable, -1, gr.DataKey("CveIE").ToEntero, ImporteMX:=If(CveMoneda > 1, (Importe * TC), Importe).RoundSQL, CveCuenta:=-1, CveCompra:=gr.DataKey("CveCompra").ToEntero, CveProveedor:=gr.DataKey("CveProveedor").ToEntero) Then + MsgError = "Ocurrio un Error al saldar el movimiento" + End If + + If TC <> TCCompra AndAlso CveMoneda > 1 AndAlso UsaComplementaria Then + Dim difFluctuacion As Decimal = TC - TCCompra + Dim CveConceptoFluctua As Integer = 64 '64.ganacia, 65.perdida + Dim TipoMovtoFluctua As Boolean = True + Dim IdCtaContableFluctua As Integer + Dim CveCuenta As Integer = 0 + If difFluctuacion < 0 Then + CveConceptoFluctua = 65 + TipoMovtoFluctua = False + IdCtaContableFluctua = UsuarioActual.Empresa.IdCuentaPerdidaCambiaria + CveCuenta = UsuarioActual.Empresa.CveCuentaPerdidaCambiaria + Else + CveConceptoFluctua = 64 + TipoMovtoFluctua = True + IdCtaContableFluctua = UsuarioActual.Empresa.IdCuentaGananciaCambiaria + CveCuenta = UsuarioActual.Empresa.CveCuentaGananciaCambiaria + End If + Dim ImporteFluctuacion As Decimal = Math.Abs((Importe * difFluctuacion).RoundSQL) + + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoFluctua, ImporteFluctuacion, "", CveConceptoFluctua, Concepto, Now, IdCtaContableFluctua, -1, CveCompra:=gr.DataKey("CveCompra").ToEntero, CveProveedor:=gr.DataKey("CveProveedor").ToEntero, ImporteMX:=ImporteFluctuacion, ImporteME:=ImporteFluctuacion, TipoCambio:=TCCompra, TipoCambioPago:=TC, CveCuenta:=CveCuenta) Then + MsgError = "Ocurrio un Error al saldar el movimiento" + End If + End If + + If ObjConta.ValidacionPrePolizaCuadre(CvePrePoliza, 5) Then + If ObjConta.ValorPolizaDescuadre > 0 Then + MsgError = ObjConta.MensajePolizaDescuadre + GuardaLogAD($"Ventas/Ventas-ProcesoPrePolizas | Error:{ObjConta.MensajePolizaDescuadre} Diferencia:{ObjConta.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas") + End If + End If + + If UsuarioActual.Empresa.Funcionalidad(200) = "1" AndAlso MsgError = "" Then + If ObjConta.ContabilizarPrePoliza(CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.Empresa) Then + If MensajeAlert.ToString = "" Then + MensajeAlert.AppendFormat("Los siguientes movimientos fueron saldados correctamente:
    ") + End If + MensajeAlert.AppendFormat("", ObjConta.ContaIdPoliza, ObjConta.ContaFolio) + End If + End If + + If MsgError <> "" Then Exit For + + End If + Next + + + If MsgError = "" Then + ObjConta.Commit() + If MensajeAlert.ToString <> "" Then + Alert(MensajeAlert.ToString) + Else + Alert("Los movimientos fueron saldados correctamente.") + End If + Alert(MensajeAlert.ToString) + CargaDatos() + HLSaldar.Visible = False + RegistraScript("$('#DivSaldar').modal('hide')") + LnkHabilitarSaldar.Visible = True + Else + ObjConta.RollBack() + Alert(MsgError, TipoMensaje.MsgError) + End If + ObjConta.Dispose() + End Sub + Protected Sub LnkSaldar_Click(sender As Object, e As EventArgs) + + End Sub + + +#Region "O R D E N A M I E N T O" + Protected Sub LbOrden_Click(ByVal sender As Object, ByVal e As EventArgs) + Dim Orden As String = "" + Dim Campo As String = "" + Dim Literal As Literal = Nothing + Const OrdenInicial As String = "" + Dim Arg(2) As String + + Arg = CType(sender, LinkButton).CommandArgument().ToString.Split(";"c) + Campo = Arg(0) + Literal = CType(CType(sender, LinkButton).NamingContainer.FindControl("Img" & Campo.Replace(", ", "_")), Literal) + + If ViewState(String.Format("O{0}", Campo)) IsNot Nothing AndAlso ViewState(String.Format("O{0}", Campo)).ToString = String.Format("{0} DESC", Campo) Then + ViewState(String.Format("O{0}", Campo)) = String.Format("{0} ASC", Campo) + Literal.Text = String.Format("") + Else + ViewState(String.Format("O{0}", Campo)) = String.Format("{0} DESC", Campo) + Literal.Text = String.Format("") + End If + Orden = OrdenInicial & ViewState(String.Format("O{0}", Campo)).ToString + ViewState("Orden") = Orden + CargaGrid(Orden) + End Sub + + Protected Sub CargaGrid(Orden As String) + Dim DV As DataView = Nothing + DV = New DataView(DtDatos, "", Orden, DataViewRowState.CurrentRows) + If Orden <> String.Empty Then + GvDatos.DataSource = DV.ToTable() + Else + GvDatos.DataSource = DtDatos + End If + + GvDatos.DataBind() + UpDatos.Update() + DV.Dispose() + End Sub +#End Region + + +End Class diff --git a/Contabilidad/RepIVA.aspx b/Contabilidad/RepIVA.aspx index 254800fc3..fe925144c 100644 --- a/Contabilidad/RepIVA.aspx +++ b/Contabilidad/RepIVA.aspx @@ -1,268 +1,268 @@ -<%@ 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

    - - - - - - - - -
    - -
    -
    -
    - -
    -
    - - - - - -
    - - - +<%@ 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 z#_4n21mMmP({RxP{CDgT^{WAh>8r4B923Z*V#G?pn(ya$ul0%dBgh4KY;>hsl=aM! z*hv!PfO!^~=eE~(L3vF%qB1cFa0nC;7ou-)i8yxTPNlR^WONESyctXhkZ~+@GqGNR z-2U^;FOyQ@j4IE#s)*E4&zP~10u0WxC{pg-0Fz+k0q@Kn_JS{N7CggXdu>IJ0h9=A z^Hkb%ADq7;I4p1FrnCRKQ(-Zf!-Jc`X>M*9C9VY@;jwM(pu9^6fKm! zj|37ig>1X!ZwXr7)c_MNsv1gAawtU)Nd5)TSvkhIrJpK$hStq<4wJZ&lB4iRmE0u2f;G*J~H_$MVAbYQ7E;5LV#w z$}*Je+>Ut;^kKUITJ*hr_PcHpDkk^q?p?)k7e7o4p0tB#eCT~W);=B*$i6c+7@O1wW8#!Nx z^Q1~Rk5lmRT7WzaWTr@0NL}+#^2XH0Te!H^BXZk*)L~=2u$Cv`%5eeJCEK$XpN$bJ zSHe4PkRiYzmX6sCn9563X6}XArqm<(314qm(BI0Jwns5-ldTrKAg0*x2V{;iCKK;+ zlRCBcF3gamqg0|{M<6nF2)UsTmU_kxL@L_B$&^kg$$_Kwde zTD5pqNANMlp}r_Q;*RKBfNfxi}~qpd5ZBTSfmDo{`u;|Vl(5Dl!&c^*14Jis_Eum`=Aog$+VX=nN)-I!IRk6!Obs?l5oIpr_O@L ziaM0|1NRSXs^&`M`n_v196&;i$>?boG9UmB3Y2H42K4vS)50U_F0)tg?;YFn2CO{{ z)ujp(Atz-`@2Y|V+FTU~o0f~xb2WdotxlM|Q{*TNp>mnDM=luuYKGYnJkyVdSA~~A zl41K}3{bnK%<_Y|>zL)1=C6B(RDnDR|MomylM#=pXpMdQMVv;!KP6uw$>S}Ro<*N( z0c`00hPO%k(I2|MF({VpvS2r?qQ~nQjn{F1hqaq_G5A)iucz3xNuVpc`6i;Rfm%)o z^{iq_uqm)rnp2@VnqGW_uNdmIY_O6|gw^@;02O;mO-R@6#6@|VxD*tuwilJOP5GNw z=R=+n*RtTb0Tf!o1fafpX~#iA5L&Hx2@DuYb1z2}4?_O_=+d&vV1?{@Ki*p0 z$v1QEPcj`|$pTQs&97EN81S*B?%TPNDK_UKY$mm|m+Z3CE0K{|@Zu-R-1|;oHDI_T zz05pqkiYL+T=zz-HSaRde$PZ_D;eK~I~bjpxzus>V*~m&sYkT;B8XKYh+c96qr!2H z$8h>4;ootB+BB<_e@0lVvvP0-MPs6BYW9!$ww@`iB#?sPwg@MK_ksfd0l@e-egXUk z0OQ~I1@IpLjDO=7z<&TR{*7M%{{g`GH+}*92LR*W_yzDE0E~a*7r=i2F#e5S0RI8N z_&0t5{09Kz-}nXa9{`Mh;}^hx05JZIUjY9rU@T%#bZ@yv|0oXNG~BRvtl;>oB))-0 z+->w^_X@@#wO8Owk7HF;?zAba_4foiifWT}Wvp3+Q$BV}{nA;BLe-W;S+`!Qvl#A_ zs;DDIzKqVVm!8U@kW;nFrn4Ki9g$8OX%ObXdlfqrx~jPrl-!DWu?-%j?qcxgzL7WUL zBt(nkPVsYzvpZK=9w=(U636SVjE9%Qc0n+-u$7rIvGQLnr&cQJmxEO74OKm8G!!#V zF?l28a$zJZ`)dTF(1+>KQr4LJfHlBjT0;*h674`f~$i2sYR*^uA^9PQWuLV!#|mshJ;|sr-wo#W6yMg2h?EV(YvsZcez;`aUXF8 zu?^~#FEA4-hO?Z$Jo2Z#KAB5ga2<`|X}YFEnZiB!Y|PcTxsXZAc*XwGY_DU-tP~1< zUwn2j5fDRjzcze`;kggVhi7mXrsOyDnUpYgLwmhG~Tn#FF;02j#P zyt;-#?j~%M^=uzlXczd}?0B?Q{4U!oH;#qG#9JoYiv`Z9DY68v+WLiwCJ5TUn>oqF zxVz&{0>AXAqbK{O7hFr>Zp3sr*tv@@)%y(H+uoW{_PH*9 zbgeB^1>?9>73CAV1|>LZoqMt5rI}9%>SC$ z;=FcY#pTMdaOeB#B4==3xxjZt@{Ex&u-C0wf}5ME%Dyt?l=WQAVl0U`_BWpQucbyB z>--x9kGml$#pm!`XjM_30ANvpkR0PNav*WBs=yvWj-HU2XZUJRvmL^C9{cxEC7`gI z*k!4Y{C?i#z1$4bT+ALx{lS)4Y~Z)0AM`?-IPp);#y<#Av)x}hke#kCh0}erL)GT& zxhd|}h%f~t>g7EWWuK-Da-~u>7-7sGqnlIp5Kkc4>a53Wsdt#X*uchC?+=KfWKHjg zPxI6vljuk#6p7|uOmG_fJfjzt`i5NyBTd z)XSD+6iRQ#m_fr~pT7kwp6)$iBO@h;wYV;3M@&gmO0piM=kxKOL$7!`j|oWJpd`ND z8c)~RNzw-wHo!zzgHCi(VN_q#vXce9i_*2Qh#_9l$-aH#egR@>T1Y$Q`%(&^lcLiJ z7iUspCFSr>VAXf>PiW*`9S$J*^x`SZSMY)pZ46vabnM&6=d!|Av&3p7^n2ub*XsO- z8Lg3~3pNQmJyA)cASN2PI1L}(5pvj+J_;q3hZIwJ4qf*YgPG-IJi`{ZojsvF8j63m z!_G4|5=(3)1_R|v$+fO|a-JVc&$&IvWzQ1p5^E`e2}sV9qvEK2%uad(Zt7WiTg6|6 z#V!ff#&3VckOa{zG=&?m*Vv9Uqlcu%E`bJCjZzN{Do2a&fnL0bD%LSU z683_;`xi(E{u96Tct*NP!8KF zqH+`!jIT5(LQ<_WI-Zpl_#(0NZ2ZV;dN4=Pf^W^Yqi%QHwV4H|i#OU%9BLK4p3PlTF4HPiW?{Ke&bTjnA@m z-2pa@%I{m~U(KloZ)_xZ#U(Imi)8%xQQ@jQ=o@ADSY7uMQj7&19TCnSw?`^g-f_eb z!bAwk=xn=)ce#NK>Tr)Un7Y;|Oq5+SuO4Bfeop-M&l|_5+nR6`!V^P6=x!o&#b02{ zI*(c^mzNp&Q1qrzlZW>CW!&j1Iq{XSr@(YL--x<#J>jpXjjW`5Apy%iL%r|vci^^P zt&C1k>T(_%^_2!RG}L?1Mf6ETQ^dnG!@g~;LsMFoxou|kw}{^?r7XTSjx!c#M~)$k z=XEUh8q#uX$hA`#0-38bqLqmyMKi)F=3IRd06*-4+`W=$7849hD)+V=av?1-ml;{(k#n4@?@f^9A2HA5%;^&zIv*a3w{cL*kBVK{>~ z@M9^n2#H%#o9ZClO6EZ*GGzDOk=v2h(md+33dF(LJ%6M0co^m@NOSz(-IfQgbQQkZ zrP%6;H~0hdcR%X7SvwAP=fL)&d_KH3|B^SL2Q% z>in8>SQ(D(?05w{x-%;K7q@XfcciX;syUVNH40-y&d9$*s=@so_z+cF(>lQ{^I=ZE zQ}9~$$|Hr)tw>UHG3goh-sD9CJ-_eLA}j`feB-p2v;O4rhvDY-`~6bqV*uY~ZRfw2 zxhrj06R@(qGN2&IxB$#htTt#YpnRDA$oaAFKsulW`jVrJ#5?wPF)Kjm+H2A=@aR6flMp8` zGaxF09U2pDh|~JKsERB_yxCM)n;XFFkQV$0-#V~c16?fAw;jA^>sW71+S(0}Ugvx-cfIYp->0G2(^ zwI8oBsI}zt*A+OZ&YZ=oIr(%`!yw)6`>D#ri#h;qjYJv$&|V!D)zN*?zz;e#Oo^)W z4yt-_OTZjPpj@C7%zZ?xM@Nmvy8`jfZI#@i} zG?zm#%&aT?$=txtNLR<75YllJa;BLvE|BGu-3$N zl4^tV5IBR+aBVCIcizQPPAUCYD>Uw%eYr*4{weAHQ0+b?Hci~YZX@F#VyEe3UR3Yb zsddNOLIad<5v^hmrLvmluY>N6d+0vE7yCzRlV%c*UdV~o>XAyss$uhMv{&0gQ*8z1@q6z$v8H?(FgPcAI|V0Ies5LgoXE~GO>@D)}j znW5WSpRnfh2dU-tNuXf3Jw%w4jSq@i!tRC=K>(mztHCY5F`&gew~Ty%Cf2ma8qe@| zwWcM^enX0$kqRRi6ZUN%5e6o~`opZ$^KbTzxDtnNR^|iF7tP})hh_ta7L3k{U&o|Zek3aKt;`TuW@kcw=z;DXC@ih-Kq{hE> zFSM;H2$gM~*sloF)P^d3ZR<#Vb~;g zy9m^Ro;?&_1Amdaz@D<1jB5;5ql3{B3|!$4+&s$7$$-B60|CgrK_q-8eq8hMIdb`) z@;~%h{N3{2@SdE+~iYfoH=I}pRXyirR zlJOU}Q4@fUq8{)aAEWDtnH;y3+O1<4IV5BvZ~j`=NyjyqV3DMj;Ji3W3n+2}f8C4% z>jsNIwz4P;`_Pwt)6_74I??2B>jwxt{+@HIZ9AQxoQ~mZSa%7c#@h~zf#o~u!`eUu z?0-R9ZF3zRsbuKp?vbKwCOM*_=nCQ|*Xqc;KAYf7pEfLt>$D=nPqD}RRcy&m(opU_ zEt+Q+l@8y9H;@IT@4FwGLdmTJIhZxs?G&#AZ>5tXNO^jq>ZXZ-HM)03Ed%fj<_CsV z2x8`F>1*vI2J7HVFVYKcfG4#t_oEvJRJE8?gwr_q7@w#bd z_=e;5)Zqz3Mu&M`_FFUXaX7eD7GO^IhZHfVg}$f#I9V*kA`gJt_E$=6;uvn>n8IH= zZdHWKv_KcZSz~|p?UKwxRs;NLGYyGaV&7itzL!c#rxSxP+nDQpZ=7QnFn&*k~)xP{lb3{l~2)lXr3 z$p1Y_``ds5RdCnmxJbR>s&(kRGx3LV=C(;!Ut7U1tP^7cv5Ol|Gx;5PBmL^naOa~P zSs@fg7u*1@a|LwM%P#kb|V-kgLbB%&)l1rpLRSL#kK zF|~@Wp;^LM;Ujy%iHQMQIvc~PCLZ1cwN%H0gDR#d`>`I~+7cSRa26&NWoRt&k2%#Z zxjV8DDrjns%xhJ(bfRj`FR)+CB>6va%Z$YH+H<826yKv5j}QRQ!?B9>Io>RnhwEad zyQs8CW0}kb(dNEqSVpd2w&y69O-^;1`B27IZF0Zvtw95QFTCy49X@uG)z5iWy8Yiq za}X%{+F9^DMn!5StWu-k*pdQLjm(wI1Dg^t1VA&sPj4%lgddMH2#+58zE6kR+5{1r zPc+pc()-JsZ7d9^%KtGB@@S&j&4`;iYe!|mb!Es=XF9H%*7zGwf(9QZ+#qC)HA>!l z73u_`)W73HMg2vOaU8yPob#N0P<#+fFhKYXs;f9`5t<%Y~F9NnECizKHCmSKKBLEYggc;e=5!}qiYkRWw`boaHiAF zDie*p37q&R#3uE#$wzYjaGSwkL=!y-A@8D)e{~eX;oCWy(Tab76Q6gcdL}o6TSFOg zt^HG#(Bjw(9t{foKdR>Xzb)nh{vTCy{ofXI(F|_f>Yh*uGMw zljAXA!ql!w}CGtrJP*m_gJ3ikGJ^5Iv zc*sGVmAPb1=o&47wLWZTz9e_gm0OmX2yG!pg{ir7==_M&WR_&FYc$(#f^HZCzT{ z*iT$5Q+-mv$LZi|AzqOF2ok3tW&*4mnY!!5j?<&=2k6r9?bfYiDnW2R=ylD<4?#Y) zcE({0vXqrt@)gBnm)Lsx-2w|Qz8qOX;>|v#96`4fb!*1M?GqEKzjC4aKXn*n97W=6 zBub2cdx1o{$JesoymhVJ%bwfdlI<6Xe}^_vHkV*S^mt)N!@|Qu@lur?7%Dss3e!ft z4$k}S@#IFgBHGGP`j7p8Cr@RU|A;1C|7{7nQOW@3iPx{2@V6<>bHi*zuzmtW&c(d1Gf*TL5W)~_WuOP|RBtX)^iHWzTY?*o%t&#Uu%lNHGfqDPOmb5jfa z6DvV~E2Er6Wfw|JhMo3L(yIOTAuer5NJbg=7}K@blw@BB^(rA-R5JNH6gP+Iuc$Al zT1#h6XQyf=ANXV)&;adwq)wNn4u zX76_>!uNJ0UDB?10U7;T*vmZx262^ndAo1D&=a&=75lnV=yNJ}jb_OYqOWTgoCmjkXwjfEl-X{>iIemBoNHp|`DL-i7 zuT^Bhx+yDFT6>Fy*s|9{!dWPo;yTW^C*TG(3hK5@ifT=*k!IwPGM5nSpKI`&StDpM z2Txft9Q-Nm?8;2L>LReItC!>|ve;kFV!!4MKnCl^#Q2e2_f|mkgtvZ?nL?G4J=2YM z45{ojOd+{k`!jYcTI1W663+9=k z_)F10z=MmXtc~O{OMfGo((0GP7YawJca~PG1mAZai+8lW>YpzvrE{85U#$_fzjfqO zo}N?V6(e7QC1RYp84L7+eyouS60n7-I`?3!OeKkZS7$CEQ}t2+%m#~b4PGtl(cK6u zri1dpZ#W)L{2C-A%2}Ypb<-6-(kx9;4jov%4X>*!PTl`B3ij{A!r=-Og6j_s+zE=W zsHj^yQoHrlYn`p2Vm=#;NYW5>!SLGpo%trcrO;fYKE`gN__u7bQ)FtITuuW?(_P;csKHVZRV%q00jB+_+^3 zKf^mb1?_dcC-~C8{e>#tj49mThavza!5_%<=6CcOx-bX3LeXK@&z{1BNozasfbw7h zEjRXun&9hChy$lf@f!eFM)}{{Ia9U=z?p&n{q(<^JV#YCs$<_lW)jpXA9*om%fq08 zRlTGPNN6+Tp7i5{MFUqu+J{HZ`vuE0v(vyqu!u$p9!(j2Bg{t%7~P-#X={|+uD>v1+}z-^U=X|z5!Tb`xIL{!E4pkd3U zDXxVi*IN=#sP-hdFvv7W-1N&$D;RK$VRlN%!^WPi#T` z%MWsi*gZrF*RFfc&?|nX!JvdU)#J9*WJ^slr-od@$-!x2L2!*? z!m%_0SImzEm(MJd5&+E}c{Se7KLq$KEeJIWe#g^7V|#ES_s`W7S~m}sg>B31zNhi>BM^HcGHv`v-hoZ!nn`LuD@ z1GQg#yI*WGNMdN--j=dNq{wt973;TYu3jnbvUIL}G*lr9A?OK8IP-(sq@sA}#uTZb^S z#uc@b8CO5r3@}LMfRazTcF_5LaM9`#&1Ri4^FPm8F%TT(XTNzR#LQb8Lh&f(G*E!W`S3gS@ELv#E|!8ez8I|}`rUv_8l zBk)vFbj6pe&2pyV<;4**iOVGr2|aMIq}FFTtT=L`)Eaj1D@dIhn=9F>Pa%`-DLero zhG8gfC=4nzHe*?i)hn(Y(rSArD$+Rv*r1+uvk%-g-=jG0NEwNPNPaj;F)%qyMebU; z`6G5-e<(vfM>IXxsK_00M5G{URyF%kkEr#2C2Uh%4DFNau7j+){<9x)OPHjD2xXkt zBVR{n6EBReHF5GWu1L90Y3P^QN9X8_)d-?Bq-sfZ9K0wi;?(ZEs8{rH4c9;)pqsYD zLd7H*N^z|2P2m0qN{#AZ$fLP6=L(-X6ucjVv5|5SafwZEC^vgk4g`K9-i9LMb*+AU zGiVS-l?<#EimkW_$?92EiJomFJZPX}E8y45Q$52e$+$8Hovs3Nc1>9LVw}aoN-jRv zbVwAWW6rUz#F^dFL(nGGr#KT8u<|;cz4u`Ms!;M~>7y-+!0#*0>+HhtL#C&H5Vi4D zo2nvyoO*^3+~GV<3rRbEL`*OJcdR|n7;F-8{9^QS;5{f6rGE-7fawkBohxntcA`k@mQI`s-cx9_+)aSsJT(Rgy!bddZBR9FbP?OYCqv*;r+owyKXG#)soCCbu4CjTXe=MEKrC@Gon z?9I!1I3B=15VRM{Fa0(B2yPc&Bd$rPvAne|+XZ@S-#97^Sf7^Hx9)oKOSK0vZDy!` z;svDrWoB)K4+)>s0m(TNv3=e#Zd++PoSCWZmbI#Hlvi~+h~x?eY}bP&)lj7PDYw&R z9h_GXgPkFWc9yY!;`p0WA-HnJ7e)6QfhAybM{35U)5823D>|vSP>kKZ%!{Sn7CbEO z--}$^*>Kiccm($~_F5k<5CiNh6s=v5|LNjWTPDNaTfNTnfxS;oNoqy=if3y;bBi1! z5QCksDZz^Iv)I`KE<7F0_ACE#L%QNPvj2ISFmS=`R~Ocfc79MVxk5yy(NbU?%SWU+ z71{ma&>W>_qbZ)vM++-azxa_oh_rVU>43V=kOVH-Szn;FU6&IQeB&1gp$VF9RBGJD zx@6}di-_hWcY?T)dQ{R0b^kB4yVJMD5RLZsrGs)ECT^WtbP< z2g(c#=-vV>5T{NhJ6tTU9-=jDt^WLFel{u3+78x#dH{C7w`z$SaGiaJ_(J-{doNud zopH{_`~<@J`7C^<=BOV7yZ0->7zD?$NHL-FuSEu@ZO;6Y(hLj^9-G%E`!Ia!~P zx_QQnI6?o%JH)Gwh|z~JwOZDy?_G{eEp5%g+(RrZrlrrnxeVm(m^NlxxE=fL z!c8lGiyT%ysW0$k#yS+t)%zl2KJReF?<2$o7I2sl@4q-M13BSnur@g&p{={}`&+tX z&mJO%DF_GprgwI$3u^N~0&>mLM9Iaaz^Hhg#TU@=qqkWT7xEuAT25wNp3+QRw5tSq z80xeuze`c39Xxo+km}yFY4uyG;tmASSt2v*S&;oCn{%Yl*akC32+0iI!c*qFl9_8x;c%oOSYiG%QFfdK}6Wx~oF$I?FEp-Y!|-WusSQRpg= zT-g#)I>2#*dxU)ANgjPT-F1l^I=eRb2J_rscab%6;5rf!vf4MiZpGfY_R0zOm7J5; zb*!xS!`C7=EF7n;@dQW$V$IN+Q!kk}E4bjO&5`_S_dd-UqS*Cdo_NamDAof3x^RhL8-8>jkstSzf5mhM&VTtYG zXohWU@dZy$TMSRX(8Ej_fT8ZMRqNr~@sOO&8kVcuUGh!jQ$-O&M<;e?HB;dm+5uW@ z%UY|=qKF8K*D3=P8d>Uf8bbr%fHOhpL8BgN3y;5%wKmAX6m?TujWj28De(t%^+gE1 zTiVX6agBc3hTP;XC^vn|nMy8V^Nj$&1yWNFUw`3^k9E)ho?v@V$vjWyV}csPTd+PP z3b-MO^aI|y#kpMElFlL1fU&=Rx!ZzvRe6dbaQ^8}acl|Nr&f?rg$sbzK}2}I$ZZbG z=GoXlH3A=DoXjb( zHu|Ql<1@{1lb(`wSC2$5c)z6{voh%4##q^a7$PL`34)Bz1)8b=QQ5B|{ZTV8hQe)V z|9$A@sC8}hsAynF6AdWn#~B~yelI(WKe#3kqfj%T%ST2 zeOif!9*Dni-FO3iHxD$AgCH?b+ZED?kH;gl`B4Q*gBd5dO?Fy~=0vGQck@&f`M>lxf-;&9ANx&@FhJ7lbK+6peFXmxO;+_mtwh@ZSC z!;zo%k6QfktkWP-Ya({@*NjJX)?(xgvc@EgUt1n~@P8C@S6@*->K@1Gt{)B3Eg&HR z(&0$wPy!AqAp$aV41DPU2?^;Thi;??K^j3iq`ML6&h0wqX0NmM?OFTg`6E8hYrVgH zm=+U)KC_*(t;^m{Q2KmX>oHwD@q=&gVuL5VSnrZ5vuJoNPS!D!C~mGM-}GnhgyRf_ zc_`HzILC>X8G&o2An*IHO_f17K<#@c(G3PXn9hqfJE(*a4aI5n8IJF_p&v7KJx5Y! zig{g;Qmsu&-bKi()q0|MEMhIDeYIQ(J(AexZZD5}+C=YyM8Y8E{c`!9K5n7LGFvO! z7mS3I>BCyEeycWDB76)Vd2C7#9@w@hGs9tBXHxHyjiI`Q-O`3VvBY#7fFy?U1)j|2 z2;L_Q4z5TOv?GyTwx-P`&b`Yo+wYH;>KcVMb3W-c=+(nnX!<82cWNeBy9C;Ed|0m! zxql<2ILMz=eksgDY~f}TR7+#qOlt`5Whe-xLOk2NA~}vn&bPR-`qiAYSsV1jPD(|` zsdvZr#=|e?2Gs`cc@D<_mF6#fox_;$tcwKDNj8q*z~-7#Zv&yI zBI0eo!A(}>Q%6FRRXmM;ze=6p=!(MG{_(9#`Mrwjk^;EU>1{+a$ddtOmzM zp{ysh`{8r-9V3Frw;{D9`Y*R$;rGaRnXWF>XslcL|7#XpH|8O7Nw z%KUG~=I^aV36P@$4da4Al)sH{rUvq2ho{LC(01wSm_iSRiNE&WQ4i>)M#!}GyA#O{ zRqBQG6TFm4ygn*uq;D$~8y%fYDK{53mb%-|awdOtP>{`29B z_bb?`8qa58Y$}0|UVFNlXa%_^Ie~A}7a7rYN()>k9z8`L0hYko#zyY4anmZxp#urR zkzZ1>oF(BAzksO{Zi+(JdJFHEqb;*XK1W>yh3$wXeHG8}r`eBu;^blC*0+gs-aO&w zT}6i&KwT%ik3$g`%Kz@H{>)?f%S2eqzP{{shP&sg)%jgP6HlP$$r1$4k=PsD`A#xG z-8kbYT3Ul0czPF4!9r7^K!4g!%YS7}0r(hR?U!quzZWQNX)k7I@2}Y&q5oFoI|ff* zY}1YKAahgWK4h#ljPrQ3+&~^NGJ&vJ3AK@dj^xGD1g}2IJQ>5vq>;Zq5BjJAsaB?C z_HN0HHkwFxKvJ5Tn5+07LMKa++cdn&zOWfI&rM+8=691ktEwkWo{02ZZPo@B}Tk=O4bs*t2?*;x)Yp6PZ^H-lN9N;^{5sTO@Uo;p9(b zuJsYc;&eCagr@IE>;&fv*Yn<`SaI!r1p@S-J*J|c8ct0vTPchqAH*GK~4p1B*Kck52Ee(Gj{F~N2KLqfzgwtJ({o1 z+(_V_k+BPEM;5yQmEz*b_(Y$xG9e}os{JTPyd@YiL~rd-@ez>9b(sJwIc|Q3 ztwE51f-0m6B4PakxYJ2KlN7HK{V9?Q>qCHzV2l`k?U8GzV#IDD*BQ%cZ==9Fht~G? zIm-rk_t+TkI|&z-(NLbgNb#EKvOt!MQ`ZbV=hyCxCPah^B=>F)aO}ONgWTn3$z`GW z;ir9>OhDyM+76>=D(wye@k+rHN6&Ev7SKwBv4;dR=x_;zRaUyH>rU^jSF+{3b^#2p zWWm{9BZ?W+pj&?Tbw=7k1UxIXRygk}k@5C~UT$*Yox`%V>P1aYlT~FDe!Ql`B%M#T zohfP>v^L%8cY#)RRE^Tf)Spkm^KNeHnamxG%5q+O25IDT1NnbT;VPGrpW zE{}6KTA=AZJTd$-!61`tNcyb10Dk?Fo$;k_Mqf?AD+3O`@4vM^r<2gJm62?V2;ORq z`^v5Bezm7)CHoc8sR}r)mXTMW6;MW~|L&k|lH&WY+)gY3?d^I4p?XH%3zWTBxDgHH zT;0;(9qT$jDgdv-pPO8*g;Xhw?Ha1AVCY8nkoP?YYsq%`0lmWOe$HQ1 zt(fX)F7-$CdcvOYwf{E{VWJVIQU`I@qSqx=HI^;o!4Le~Pn4g|yhSx7#S*=iGbb}> zAW*8k?W&;MN3DZ7-CT#IzXQJHCTrg-lPf&!D-sIR-`3$Wzk4`_zf5Ytc_T4~R!|bjq)Xm~3EDm^Zkt4W_hU z{Uk-}(sO#B!6JKG)8FpQXgbaI`5U(+kt3K8Z*9bupvVVhnj<6M)_KB41>Ceg`&06J z;TcjVAymhkXL5UC+TQrP+`;u26e~@>jj@g9Ijfs0Usom5Nu|pWohND8bZae9seRAp zde5z!L!->`BQE*6K-9qf#^w%;$Fi4znG$-%V%T2Xf|E2W)I^fJ(L1jl6%W0m!l9*3 z$ynDZ5is6PXO{`8lZi63+LDKzu>p<`xw#CBhv0aL9+J`=h zCg2y7=qy%gS{QoZTkSJbiBw^`o9mhKaneRUPAUw2R=tmplB;LQ8hM;$Ap@ar2iBH2tin(5xsoKQ8K5^P;B;BEnvD zmi5PkPtKwKeWJ7ovyE|H%K@E!4cN&C>*EwA;i&Rch<-qjPGNpJrQ8I+sLPuEbmP93iH{v9)Pr1 zNF7f~Nrf||TX8$)JDQmEFL;*Ds|2Z+X;>r$XO$I&gfG=Zv~7OFyB5{=dV8T+mOu|F z_yB?ZsBjtzHnY-;5Ut0SMj9}1s*_Wx{*Dp|El=2``-Bp=__5koUDUw`y#|kq&TZ`+ zlp4+K+z7}sx_|aZ=itWE6fK*z5git|?i|`v1+Y@ETmhc9+}-Za`~0qci>Gw;$DirQ6+t?s zN3=}#kni28^5T&R(nMa{&+KqCWJ&w^HD%Z>5c@_`J%-L*Tc<^BZB_bbyYoa_Pv<^B zcHC7heSKA{XX&|#&ThUml9Q3=^>?>m^ zrUBbtYpJY+c2_s7vsImHrvuJ!83NRg`l6WFWWO3_gWDdNxcZ77GL6|er8g5UGrDz_ zUlgxJT7a_#QfbqmEpBL&B z{|t}fbpS~?Bs(k^tF5B}w#H($CA)^&6>sho@9l$6L8J@mqbJ&kgG+F9hf&!aFnVf{ zt^Gt>NWx{`*N2L2VHf>)wU6cUPAEQ9{_F1;=At&rrH#{cdSd3+i8X1O< z$);Z>h8pcAtT@y$r87G_pUnxgLFpCMCz=2XZt~I}Ag@I>pBHdf;Q7e!Vmu!UTjqD5 zW%*^o$3S@F_#X0;ROX~`> zd;dmS{S8g@TXi(7#f?6?+I=M=dbG?8tdznhd$*6gbc?tgdY>aQU~dmy1+`_rsVogpZvN|3 zAtkKTEcxB(t~f6w?q`zR(w^Fb`4?CBN{TxaYik_KLE_FL$%5la1?hg|Usa-%KV}NJ z&(O$E-e6I7qwN3LW`l?Uf?xa@?`lro_Nq9T`>H++B{VN*q$Et&PHve!Y3xwGS+Wdf z&C=j1mUtFy>km0llzbV6()mu_d$7ka4qN z(NT*SvnMa!#Q>t;spUA4-?vZvDJ`47%yp})V7%jtbf5u{P`>$hT?q`baT3#~4V%H7 zzg{iK9~OJZwa4~>F1o5#4Vt8a@Sj6*uP5?REz`M6(uqxR-3;mGpSk7X_2Oad^hnAe z?v#W+iuweoc&m{Oh0Jpmgq&qPu96O#CZpFt!raZgT^|3)^<_PY=|b9H{=T!AS`h@5 z`?b)rpHBe_$oI43iRVIGew6(9i-2SJfT2~a2t*}zS{1;pYW8+(492m9)HpgsST^xV%9c%tRmbH(^%8TDNj|j)e*CQM2d|2#u=0@@$H293;53|mf;=!syFMs>9MGnp&HgL7A;2og)FmF^GC zey4>mihg=3+i#v0FCAFqursDykB~_?))mM)r5+2&TB7q~2)#_eYHx|*ltUSK)ppTm zM7K*TVtXI(gJ%U34z<$B1eXzh!LSk~4+J2RlyaU}BVd)hh3SMnviLt5a|`nX?>~m4 z8m|vAKcN4I0yg?;%Jnhk@BdSvYCJi?B*6v#3ohl~Sqku9a4G-JQjGpzUCJ#c7#{-- W3yt>g6r-8)c!^2Xcyx Date: Fri, 18 Oct 2019 10:35:25 -0500 Subject: [PATCH 08/20] 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 09/20] 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 10/20] 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 11/20] 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 12/20] 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 13/20] 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 14/20] 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 15/20] 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 16/20] =?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 17/20] 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 18/20] 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 19/20] =?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 20/20] 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