diff --git a/AF/AF.aspx.vb b/AF/AF.aspx.vb index 0bc3e00f1..608f2bbdf 100644 --- a/AF/AF.aspx.vb +++ b/AF/AF.aspx.vb @@ -424,6 +424,10 @@ Partial Class AF_AF ModalidadesPaginaAFInicial(Request("Op").ToString) End If + If UsuarioActual.TienePermisoProceso(410) Then + BtnGuardar.Visible = False + BtnEliminar.Visible = False + End If End If diff --git a/App_Code/ClsCompProveedores.vb b/App_Code/ClsCompProveedores.vb index 2829632c9..3ffbe0066 100644 --- a/App_Code/ClsCompProveedores.vb +++ b/App_Code/ClsCompProveedores.vb @@ -66,6 +66,7 @@ Public Class ClsCompProveedores Public Property DIOTNacionalidad As String Public Property CveRegimenFiscal As Integer = -1 Public Property PorcentajeProntoPago As Decimal = 0D + Public Property CveTipoFechaVencimiento As Integer = 1 Public ReadOnly Property DtResultados() As DataTable Get @@ -302,6 +303,7 @@ Public Class ClsCompProveedores Me.DIOTNacionalidad = Data.Rows(0)("DIOTNacionalidad").ToString Me.CveRegimenFiscal = Data.Rows(0)("CveRegimenFiscal").ToString.ToEntero Me.PorcentajeProntoPago = Data.Rows(0)("PorcentajeProntoPago").ToString.ToDecimal + Me.CveTipoFechaVencimiento = Data.Rows(0)("CveTipoFechaVencimiento").ToString.ToEntero End If @@ -524,28 +526,30 @@ Public Class ClsCompProveedores Return Retorno End Function -Public Function UpdateProveedorLimiteCredito(CveProveedor As Integer, LimiteCredito As Decimal, PlazoPago As Integer, UsaLimiteCredito As Boolean, CveUsuario As Integer, CveEmpresa As Integer) As Boolean - Dim Retorno As Boolean = False - DataAdapter("PA_Comp_ProveedorLimiteCreditoUpdate") + Public Function UpdateProveedorLimiteCredito(CveProveedor As Integer, LimiteCredito As Decimal, PlazoPago As Integer, UsaLimiteCredito As Boolean, CveUsuario As Integer, CveEmpresa As Integer, Optional CveTipoFechaVencimiento As Integer = 1) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_Comp_ProveedorLimiteCreditoUpdate") - With SqlAdapter.SelectCommand.Parameters - .Add("@CveProveedor", SqlDbType.Int).Value = CveProveedor - .Add("@LimiteCredito", SqlDbType.Money).Value = LimiteCredito - .Add("@PlazoPago", SqlDbType.Int).Value = PlazoPago - .Add("@UsaLimiteCredito", SqlDbType.Bit).Value = UsaLimiteCredito - .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario - .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa - End With + With SqlAdapter.SelectCommand.Parameters + .Add("@CveProveedor", SqlDbType.Int).Value = CveProveedor + .Add("@LimiteCredito", SqlDbType.Money).Value = LimiteCredito + .Add("@PlazoPago", SqlDbType.Int).Value = PlazoPago + .Add("@UsaLimiteCredito", SqlDbType.Bit).Value = UsaLimiteCredito + .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + .Add("@CveTipoFechaVencimiento", SqlDbType.TinyInt).Value = CveTipoFechaVencimiento - Try - SqlAdapter.Fill(Data) - Retorno = True - Catch ex As Exception - OnError("Ocurrió un error al Actualizar el limite de crédito del Proveedor.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) - End Try + End With - Return Retorno -End Function + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al Actualizar el limite de crédito del Proveedor.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + End Try + + Return Retorno + End Function Public Function UpdateProveedorPagoElectronico(EstatusPagoElectronico As Boolean, CveUsuario As Integer, CveProveedor As Integer) As Boolean Dim Retorno As Boolean = False diff --git a/App_Code/Modelos.vb b/App_Code/Modelos.vb index 65862b025..53c73fd47 100644 --- a/App_Code/Modelos.vb +++ b/App_Code/Modelos.vb @@ -849,53 +849,6 @@ Namespace Modelos End If End If - 'SI ES REFACTURACION - 'Dim ObjNC As List(Of Object) = Nothing - 'If ErrorList.Count = 0 Then - ' If NuevaFactura = 1 AndAlso FacturaDevolucion IsNot Nothing Then - - ' ObjNC = GeneraNC(ObjVentas, ObjConta, ObjInventario, ObjContr, FacturaDevolucion, ObjBancos, ObjEventos) - - ' If ObjNC Is Nothing Then - ' ErrorList.Add("No se pudo Cancelar la Factura") - ' End If - - ' 'Esquema viejo, evitamos que aparezca por surtir - ' If ErrorList.Count = 0 Then - ' If Not ObjInventario.ActualizarEsDevolucionVenta(CveVenta, 2) Then - ' ErrorList.Add("No se pudo Cancelar el movimiento de almacen de la Factura") - ' End If - ' End If - - ' End If - 'End If - - 'SI ES amortizacion 3.3 - 'Dim Obj2 As New List(Of Object) - - 'If ErrorList.Count = 0 Then - ' ' cambiar la condicion para saber si hay seleccionado - ' If TieneAnticipo AndAlso Me.CveTipoAmortizacionAnticipo = 2 Then - - ' If TieneAnticipo Then - ' Try - ' 'DESCOMENTAR - ' If RegistrarNCAmortizacion(ObjVentas, ObjConta, ObjInventario, ObjContr, FacturaDevolucion, ObjBancos, Nothing, Nothing) Then - ' Obj2.Add(FacturaDevolucion) - ' End If - ' Catch ex As Exception - ' ErrorList.Add("No se pudo generarse la nota de crédito de amortización") - ' End Try - - - ' End If - - ' If Obj2 Is Nothing AndAlso Obj2.Count = 0 Then - ' ErrorList.Add("No se pudo generarse la nota de crédito de amortización") - ' End If - ' End If - 'End If - 'MARCA PARA NO SURTIR VENTA DE COTNRATO DE CONSIGNACION DE VENTA | [IPP] : PARCHE If ErrorList.Count = 0 Then If Me.CveVenta > 0 And Me.CveAlmacenExistenciasContrato > 0 And Me.TipoDocto = "Ing" Then @@ -1065,17 +1018,6 @@ Namespace Modelos SeTimbro = ObjTimbrado.TimbrarFactura(UsuarioActual, Me, CvePACEspecial:=CvePAC) - 'NOTA DE CREDITO - REFACTURADA - CASO ESPECIAL, TIMBRADO E IMPRESION - 'If Not IsNothing(Obj2) AndAlso Obj2.Count > 0 Then - ' Dim ofa As Modelos.Factura = CType(Obj2(0), Modelos.Factura) - ' 'asigna el foliofiscal del ingreso que se acaba de timbrar, cuando es amortización de anticipo con NC - ' If TieneAnticipo AndAlso CveTipoAmortizacionAnticipo = 2 Then - ' ofa.Timbre.CFDIRelacionados.UUID.Clear() - ' ofa.Timbre.CFDIRelacionados.UUID.Add(ObjTimbrado.UUID) - ' End If - ' ObjTimbrado.TimbrarFactura(UsuarioActual, ofa) - 'End If - If SeTimbro AndAlso Me.TipoDocto.Contiene("Ing") Then EstatusSMS = EnviarSMSTimbrado(ObjEventos) End If @@ -1085,14 +1027,6 @@ Namespace Modelos End If End If - - 'NOTA DE CREDITO DE REFACTURACION - 'If RefacturacionGeneroNC Then - ' If Not IsNothing(ObjNC) AndAlso ObjNC.Count > 0 Then - ' Dim ofa As Modelos.Factura = CType(ObjNC(0), Modelos.Factura) - ' SeTimbroNC = ObjTimbrado.TimbrarFactura(UsuarioActual, ofa) - ' End If - 'End If End If End If End If @@ -1337,7 +1271,7 @@ Namespace Modelos End Function - Private Shared Function CreaDTFactura() As DataTable + Public Shared Function CreaDTFactura() As DataTable Dim TmpDT As New DataTable TmpDT.Columns.Add("CveVenta", GetType(Integer)) TmpDT.Columns.Add("Consec", GetType(Integer)) @@ -1451,6 +1385,15 @@ Namespace Modelos TmpDT.Columns.Add("CveViajePasajero", GetType(Integer)) TmpDT.Columns("CveViajePasajero").DefaultValue = -1 + TmpDT.Columns.Add("CantidadConversion", GetType(Decimal)) + TmpDT.Columns("CantidadConversion").DefaultValue = 0 + + 'COLUMNAS DE PV.aspx + TmpDT.Columns.Add("PUOriginal", GetType(Decimal)) + TmpDT.Columns.Add("ConsecPSPadre", GetType(Integer)) + TmpDT.Columns.Add("EliminarDB", GetType(Boolean)) + TmpDT.Columns("EliminarDB").DefaultValue = False + Return TmpDT End Function @@ -1460,7 +1403,7 @@ Namespace Modelos Optional SubProyecto As String = "", Optional PorcentajeIVA As Decimal = -1, Optional CuentaPredial As String = "", Optional CveVentaDetallePadre As Integer = -1, Optional CveVentaDetalleRemision As Integer = -1, Optional CveViajePasajero As Integer = -1, Optional RedondearTotal As Boolean = True, - Optional CvePromocionDetalle As Integer = -1) As Boolean + Optional CvePromocionDetalle As Integer = -1, Optional CantidadConversion As Decimal = 0) As Boolean If Not CvePS > 0 Then Alert("Ocurrió un error al cargar la información del producto a agregar. Por favor verifique y vuelva a intentar.", TipoMensaje.MsgError) @@ -1650,6 +1593,7 @@ Namespace Modelos Row("CuentaPredial") = CuentaPredial Row("EsCargo") = 0 Row("CvePromocionDetalle") = CvePromocionDetalle + Row("CantidadConversion") = CantidadConversion If Me.DtDetalle.Columns.Contains("CveMarca") Then Row("CveMarca") = DrPS("CveMarca") @@ -2241,7 +2185,7 @@ Namespace Modelos IEPS:=Row("ImporteIEPS").ToString.ToDecimal, CveMovimientoDetallePedido:=Row("CveMovimientoDetallePedido").ToString.ToEntero, ImporteRetIVA:=Row("ImporteRetIVA").ToString.ToDecimal, ImporteRetISR:=Row("ImporteRetISR").ToString.ToDecimal, PorcentajeIEPS:=Row("PorcentajeIEPS").ToString.ToDecimal, PorcentajeRetIVA:=Row("PorcentajeRetIVA").ToString.ToDouble, PorcentajeRetISR:=Row("PorcentajeRetISR").ToString.ToDecimal, CuentaPredial:=Row("CuentaPredial").ToString, - PorcentajeIVA:=Row("PorcentajeIVA").ToString.ToDecimal, CveViajePasajero:=CveViajePasajero) Then + PorcentajeIVA:=Row("PorcentajeIVA").ToString.ToDecimal, CveViajePasajero:=CveViajePasajero, CantidadConversion:=Row("CantidadConversion").ToString.ToDecimal) Then ErrorList.Add("Ocurrió un error al agregar un Producto o Servicio a la factura.
Revise su factura y cualquier detalle comuníquese a Soporte Técnico") Exit For Else @@ -3107,7 +3051,7 @@ Namespace Modelos Pago.TCPago = DrPago("TipoCambio").ToString().ToDecimal() Pago.AplicaTraslado = False Pago.Referencia = DrPago("Folio").ToString() - Pago.CveVentaAmortizacion = DrPago("CveVenta").ToString().ToEntero() + Pago.CveVentaAmortizacion = DrPago("CveVentaNC").ToString().ToEntero() Pago.TipoPago = DrPago("TipoPago").ToString() Pago.CveClientePago = ObjFactura.CveCliente @@ -3128,11 +3072,10 @@ Namespace Modelos Dim DT As DataTable Dim CvePlantilaPoliza As Integer - Dim PorcentajeAmortizacion As Decimal = 0 - Dim sumaAmorticaciones As Decimal = 0 + Dim alertaContabilizacion As String = "Se enviaron correctamente las siguientes pólizas:

" Dim idCuentaContabilizacion As Integer = 1 - Dim CveCuentaContabilizacion As Integer = 1 + Dim tipoCambio As Decimal Dim CuentasContablesInvalidas As New StringBuilder Dim CuentasContablesInvalidasSIG As New StringBuilder @@ -3760,13 +3703,13 @@ Namespace Modelos End If End If - 'PorcentajeAmortizacion = sumaAmorticaciones / TxtTotal.Text.ToDecimal importeMovimiento = 0 Case 91 'Amortizacion Nota de Credito Dim Contabilizable As Boolean = If(UsuarioActual.CveEmpresa = 119, False, True) - If ValorMultiplicador = -1 Then + 'CANCELACION + If Not ErrorPrepoliza AndAlso ValorMultiplicador = -1 Then Dim TipoCambioNC As Decimal = 1 If ObjFactura.CveMoneda = 2 Then @@ -3781,7 +3724,7 @@ Namespace Modelos End If End If - 'cuando es cancelación + 'CANCELA LA APLICACION DEL PAGO DE LA NC EN LA FACTURA APLICADA If ObjFactura.DtNCVinculadas IsNot Nothing Then For Each row2 As DataRow In ObjFactura.DtNCVinculadas.Rows @@ -3891,76 +3834,54 @@ Namespace Modelos End If End If - Else + + End If + + 'VENTA NUEVA + If Not ErrorPrepoliza AndAlso ValorMultiplicador = 1 AndAlso ObjFactura.CveTipoAmortizacionAnticipo = 4 Then + importeMovimiento = 0 + importeMX = 0 + If ObjFactura.DtAnticiposAplicados IsNot Nothing Then + Dim VentaActual As New ClsPaginas.Venta(ObjFactura, UsuarioActual) + For Each row2 As DataRow In ObjFactura.DtAnticiposAplicados.Rows If row2("CveConceptoContable").ToString().ToEntero = 12 Then - importeMovimiento = row2("Importe").ToString().ToDecimal() - sumaAmorticaciones += importeMovimiento - If tipoCambio > 1 Then Concepto += $" TC:{tipoCambio} ${importeMovimiento.FormatoNumero(2)}" - CveSubProyectoContabilizar = CveSubProyectoVenta + importeMovimiento = row2("Importe").ToString().ToDecimal If importeMovimiento <> 0 Then - If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, importeMovimiento, importeMovimiento * tipoCambio, - ConceptoContable, Referencia, Concepto, - CveVenta:=row2("CveVenta").ToString.ToEntero, CveCliente:=ObjFactura.CveCliente, - CveVentaAmortizacion:=ObjFactura.CveVenta, - ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), - CveSubProyecto:=CveSubProyectoContabilizar, Contabilizable:=Contabilizable) Then - ErrorPrepoliza = True - End If + Dim Pago As New ClsPaginas.VentaPago + Pago.Fecha = Now + Pago.FechaDocumentoRelacionado = row2("Fecha").ToString().ToDateTime() + Pago.ImportePagoVenta = importeMovimiento + Pago.ImportePago = importeMovimiento + Pago.CveIE = row2("CveIE").ToString().ToEntero() + Pago.CveMonedaPago = row2("CveMoneda").ToString().ToEntero() + Pago.TCPago = row2("TipoCambioPago").ToString().ToDecimal() + Pago.AplicaTraslado = False + Pago.Referencia = row2("Folio").ToString() + Pago.CveVentaAmortizacion = row2("CveVenta").ToString().ToEntero() + Pago.TipoPago = "NC" + Pago.CveClientePago = ObjFactura.CveCliente + + ErrorPrepoliza = ClsPaginas.AplicaPrePolizaPagoVenta(VentaActual, Pago, ObjFactura.CvePrePoliza, ObjConta, AplicarConceptoAplicacion:=True) End If End If - 'SI ES PAGO CON DEVOLUCION - If Not ErrorPrepoliza AndAlso ObjFactura.CveTipoAmortizacionAnticipo = 4 Then - If row2("CveConceptoContable").ToString().ToEntero = 277 Then - - importeMovimiento = row2("Importe").ToString().ToDecimal() - importeMX = importeMovimiento * tipoCambio - sumaAmorticaciones += importeMovimiento - - If importeMovimiento <> 0 Then - If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, importeMovimiento, importeMovimiento * tipoCambio, 150, Referencia, Concepto, CveVenta:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveVentaAmortizacion:=-1, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveClasificacion:=ObjFactura.DtDetalle.MAX("CveClasificacion").ToEntero(), CveSubProyecto:=ObjFactura.CveSubProyecto, Contabilizable:=Contabilizable) Then - ErrorPrepoliza = True - End If - - If ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, importeMovimiento * -1, importeMX * -1, 277, Referencia, Concepto, CveVenta:=row2("CveVenta").ToString().ToEntero(), CveVentaAmortizacion:=-1, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIE, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), Contabilizable:=False, CveSubProyecto:=CveSubProyectoContabilizar) Then - If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, Not TipoMovimiento, importeMovimiento * -1, importeMX * -1, 278, Referencia, Concepto, CveVenta:=row2("CveVenta").ToString().ToEntero(), CveVentaAmortizacion:=-1, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIE, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), Contabilizable:=False, CveSubProyecto:=CveSubProyectoContabilizar) Then - ErrorPrepoliza = True - End If - Else - ErrorPrepoliza = True - End If - End If - - End If - End If - If ErrorPrepoliza Then Exit For End If - - Next End If - If Not ErrorPrepoliza AndAlso sumaAmorticaciones <> 0 Then - If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, True, sumaAmorticaciones, sumaAmorticaciones * tipoCambio, 251, Referencia, Concepto, - CveVenta:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIE, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), - CveSubProyecto:=CveSubProyectoContabilizar, Contabilizable:=Contabilizable) Then - ErrorPrepoliza = True - Else - ObjFactura.SeGuardoPrePoliza = True - End If - End If - End If + importeMovimiento = 0 + importeMX = 0 Case 4 'Venta Clasificacion @@ -4314,7 +4235,7 @@ Namespace Modelos Pago.TCPago = DrPago("TipoCambio").ToString().ToDecimal() Pago.AplicaTraslado = False Pago.Referencia = DrPago("Folio").ToString() - Pago.CveVentaAmortizacion = -1 + Pago.CveVentaAmortizacion = DrPago("CveVentaNC").ToString().ToEntero() Pago.TipoPago = DrPago("TipoPago").ToString() Pago.CveClientePago = ObjFactura.CveCliente @@ -4366,7 +4287,7 @@ Namespace Modelos Pago.TCPago = DrPago("TipoCambio").ToString().ToDecimal() Pago.AplicaTraslado = False Pago.Referencia = DrPago("Folio").ToString() - Pago.CveVentaAmortizacion = DrPago("CveVenta").ToString().ToEntero() + Pago.CveVentaAmortizacion = DrPago("CveVentaNC").ToString().ToEntero() Pago.TipoPago = DrPago("TipoPago").ToString() Pago.CveClientePago = ObjFactura.CveCliente diff --git a/Compras/Compras.aspx b/Compras/Compras.aspx index a80a8b9a8..35f1ec5fc 100644 --- a/Compras/Compras.aspx +++ b/Compras/Compras.aspx @@ -2476,7 +2476,7 @@ - + @@ -2491,23 +2491,12 @@ - + - - + - - <%----%> - <%-- - - - - - - - --%> - - <%-- --%> + + diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index 8fefa2be5..1c656dea0 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -1568,6 +1568,7 @@ Partial Class Compras_Compras If UsuarioActual.CveEmpresa = 189 Then BtnCancelarCompra.Visible = False End If + CargaGvPersonal() Else ViewState("CveProveedor") = -1 @@ -9357,6 +9358,16 @@ Partial Class Compras_Compras Dim CvePersonal As Integer = 0 If Cont < GvPersonal.Rows.Count Then CvePersonal = GvPersonal.Rows(Cont).FCDropDownList("DdlPersonalGv").SelectedValue.ToEntero + + 'If CvePersonal <= 0 AndAlso RBLContado.SelectedValue.ToEntero = 2 AndAlso TxtNumeroReembolso.Text.Length > 0 Then + ' CvePersonal = DdlPersonalReembolso.SelectedValue.ToEntero + ' If Not CvePersonal > 0 Then + ' Alert("Debe asignar personal al reembolso.", TipoMensaje.MsgAdvertencia) + ' Retorno = False + ' End If + 'End If + + Dim Referencia As String = "" If Cont < GvPersonal.Rows.Count Then Referencia = GvPersonal.Rows(Cont).FCTextBox("TxtReferencia").Text diff --git a/Compras/PopUpVerFactura.aspx.vb b/Compras/PopUpVerFactura.aspx.vb index b8d896db9..a71ab3f41 100644 --- a/Compras/PopUpVerFactura.aspx.vb +++ b/Compras/PopUpVerFactura.aspx.vb @@ -781,7 +781,7 @@ Partial Class PopUpVerFactura Cliente = row("Cliente").ToString() Direccion = row("Direccion").ToString() Correo = row("Correo").ToString() - Fecha = String.Format("{0dd/MM/yyyy}", row("Fecha")) + Fecha = String.Format("{0:dd/MM/yyyy}", row("Fecha")) DivisoresdeCarton = String.Format("{0:N0}", row("DivisoresdeCarton")) BolsasdePlastico = String.Format("{0:N0}", row("BolsasdePlastico")) TapaderasdeCarton = String.Format("{0:N0}", row("TapaderasdeCarton")) @@ -790,13 +790,11 @@ Partial Class PopUpVerFactura BINSDECARTON = String.Format("{0:N0}", row("BINSDECARTON")) TotalDlls = String.Format("{0:N0}", row("TotalDlls")) - - SubProyecto = row("SubProyecto").ToString() AgenciaAduanalUSA = row("AgenciaAduanalUSA").ToString() AgenciaAduanalMEX = row("AgenciaAduanalMEX").ToString() Temperatura = row("Temperatura").ToString() - Hora = String.Format("{0hh }:{0:mm }:{0:ss tt}:", row("FechaIng")) + Hora = String.Format("{0:hh }:{0:mm }:{0:ss tt}:", row("FechaIng")) Chofer = row("Chofer").ToString() CamPlaca = row("CamPlaca").ToString() Camion = String.Format("{0} {1}", row("CamEspecificacion"), row("CamAnio")) diff --git a/Compras/Proveedores.aspx b/Compras/Proveedores.aspx index 81079cc46..d15ca089f 100644 --- a/Compras/Proveedores.aspx +++ b/Compras/Proveedores.aspx @@ -3287,6 +3287,17 @@ +
+ + - + Fecha Factura + Fecha Entrada + + + + +
+ - -
+
" style="display: inline-block; width: 150px;" /> @@ -176,7 +221,8 @@ + CssClass="table table-striped table-advance table-hover Widthall ScrollAD" + data-sort="true" GridLines="None"> diff --git a/Contabilidad/RepGastosCC.aspx.vb b/Contabilidad/RepGastosCC.aspx.vb index 553e99dab..90d6291b3 100644 --- a/Contabilidad/RepGastosCC.aspx.vb +++ b/Contabilidad/RepGastosCC.aspx.vb @@ -35,13 +35,17 @@ Partial Class RepGastosCC Dim Obj As New ClsContabilidad If Obj.GetGastosRepCC(txtFechaI.Text.Trim.ToDate, txtFechaF.Text.Trim().ToDate, UsuarioActual.CveEmpresa) Then - GvDatos.DataSource = Obj.DtResultados - + Dim dt As DataTable = Obj.DtResultados + If DdlOpcionCuenta.SelectedValue = "2" Then + dt = dt.FiltraParametros("Total > 0") + ElseIf DdlOpcionCuenta.SelectedValue = "1" Then + dt = dt.FiltraParametros("isnull(Total,0) = 0") + End If + GvDatos.DataSource = dt End If Obj.Dispose() GvDatos.DataBind() - UPDatos.Update() End Sub #End Region @@ -68,7 +72,7 @@ Partial Class RepGastosCC ' e.Row.Cells(5).Text = e.Row.Cells(5).Text + "%" - e.Row.Cells(1).Width = 250 + e.Row.Cells(1).Width = 300 e.Row.Cells(0).Visible = False For Each Cells As TableCell In e.Row.Cells @@ -92,14 +96,12 @@ Partial Class RepGastosCC End If ElseIf e.Row.RowType = DataControlRowType.Header Then e.Row.Cells(0).Visible = False - + e.Row.Cells(1).CssClass = "grid-column250" End If End Sub #End Region - - #Region "PDF" 'Private Sub LnkPdf_Click(sender As Object, e As EventArgs) Handles LnkPdf.Click ' If DtVentas IsNot Nothing Then diff --git a/Contabilidad/RepIVA.aspx b/Contabilidad/RepIVA.aspx index 3f452be28..243f59c2b 100644 --- a/Contabilidad/RepIVA.aspx +++ b/Contabilidad/RepIVA.aspx @@ -27,14 +27,16 @@ -
  • - Generar DIOT + Generar DIOT
  • - +
  • + Excel DIOT +
  • - + +
  • diff --git a/Contabilidad/RepIVA.aspx.cs b/Contabilidad/RepIVA.aspx.cs index ac8f7ced2..a15292e63 100644 --- a/Contabilidad/RepIVA.aspx.cs +++ b/Contabilidad/RepIVA.aspx.cs @@ -72,7 +72,8 @@ public partial class Contabilidad_RepIVA : ClsPaginas txtFechaI.Text = $"01/{FF.Month}/{FF.Year}"; txtFechaF.Text = FF.LastDayOfMonth().ToShortDateString(); - LnkAccionesDIOT.Visible = true; + LnkTxtDIOT.Visible = true; + LnkExcelDIOT.Visible = true; DdlCuenta.DataSource = get_GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveEmpresa:UsuarioActual.CveEmpresa, CveTipoCuenta:2); DdlCuenta.DataBind(); @@ -181,15 +182,15 @@ public partial class Contabilidad_RepIVA : ClsPaginas } 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 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); + Decimal dif = Math.Round(e.Row.DBCampo("SubTotal16").ToDecimal() * 0.16M, 2) + Math.Round(e.Row.DBCampo("SubTotal8").ToDecimal() * 0.08M , 2) - Math.Round(e.Row.DBCampo("IVA").ToDecimal(), 2); if (Math.Abs(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:" + SubTotal + " - IVA:" + e.Row.DBCampo("IVA"); + e.Row.ToolTip = "Dif:" + dif.ToString() + " - IVA:" + e.Row.DBCampo("IVA"); } } if (e.Row.DBCampo("IVA").ToDecimal() < 0 || e.Row.DBCampo("IEPS").ToDecimal() < 0 || e.Row.DBCampo("SubTotal16").ToDecimal() < 0 || e.Row.DBCampo("SubTotal8").ToDecimal() < 0 || e.Row.DBCampo("valorActosImp0").ToDecimal() < 0) @@ -276,7 +277,6 @@ public partial class Contabilidad_RepIVA : ClsPaginas //ImprimirbytesPDF(ImprimirPDFCrystal(Ruta, Dt, para, "Reporte de IVA", Opcion), "Reporte de IVA", Opcion); ImprimirbytesPDF(ImprimirSubRepPDFCrystal(Ruta, Dt, para, new DataTable(), new DataTable(), "RepIEPSPorcentaje.rpt", "RepIVAPorcentaje.rpt", "Reporte de IVA", Opcion), "Reporte de IVA", Opcion); } - }else { Ruta = ModExtensiones.DirectorioBaseEmpresas + $@"Empresas\Grales\Formatos\{Formato}"; @@ -290,10 +290,6 @@ public partial class Contabilidad_RepIVA : ClsPaginas //ImprimirbytesPDF(ImprimirPDFCrystal(Ruta, Dt, para, "Reporte de IVA", Opcion), "Reporte de IVA", Opcion); ImprimirbytesPDF(ImprimirSubRepPDFCrystal(Ruta, Dt, para, new DataTable(), new DataTable(), "RepIEPSPorcentaje.rpt", "RepIVAPorcentaje.rpt", "Reporte de IVA", Opcion), "Reporte de IVA", Opcion); } - - - - } Ruta.GuardaLogAD(); //ImprimirbytesPDF(ImprimirPDFCrystal(Ruta, Dt, para, "Reporte de IVA", Opcion), "Reporte de IVA", Opcion); @@ -334,7 +330,7 @@ public partial class Contabilidad_RepIVA : ClsPaginas return Respuesta.ToString(); } - protected void LnkAccionesDIOT_Click(object sender, EventArgs e) + protected void LnkTxtDIOT_Click(object sender, EventArgs e) { ClsContabilidad Objconta = new ClsContabilidad(); @@ -380,7 +376,12 @@ public partial class Contabilidad_RepIVA : ClsPaginas } else { - foreach (DataRow Drow in Objconta.DtResultados.FiltraParametros("CveCompra is null and CveProveedor > 0 ").Rows) // and(IVA > 1 OR IEPS > 0) + DataTable dtt = new DataTable(); + dtt = Objconta.DtResultados.FiltraParametros("CveCompra is null and CveProveedor > 0 AND ( ActosFN > 0 OR ActosFS > 0 OR Actos16 > 0 OR ActosImp16 > 0 OR ActosImpNotan16 > 0 OR DATasa0 > 0 OR DANoObjetoTN > 0 OR DANoObjetoNoTN > 0)"); + //acumula los prov, globales en un solo registro + dtt = AcumularYReemplazar(dtt); + + foreach (DataRow Drow in dtt.Rows) { SBDIOT.AppendLine( Drow["TipoTercero"].ToString() + "|" + @@ -391,55 +392,56 @@ public partial class Contabilidad_RepIVA : ClsPaginas Drow["PaisResidenciaFiscal"].ToString() + "|" + Drow["Jurisdiccion"].ToString() + "|" + // 3.2 valor de los actos o actividades - LV0(Drow["ActosFN"].ToString()) + "|" + // actos norte - LV0(Drow["ActosDevFN"].ToString()) + "|" + // desc norte - LV0(Drow["ActosFS"].ToString()) + "|" + // actos sur - LV0(Drow["ActosDevFS"].ToString()) + "|" + // desc sur - LV0(Drow["Actos16"].ToString()) + "|" + // 16% - LV0(Drow["ActosDev16"].ToString()) + "|" + // desc 16% - LV0(Drow["ActosImp16"].ToString()) + "|" + // importacion 16% - LV0(Drow["ActosImpDev16"].ToString()) + "|" + // desc importacion 16% - LV0(Drow["ActosImpNotan16"].ToString()) + "|" + // importacion intangibles 16% - LV0(Drow["ActosImpNotanDev16"].ToString()) + "|" + // desc intangibles 16% + LV(Drow["ActosFN"].ToString()) + "|" + // actos norte + LV(Drow["ActosDevFN"].ToString()) + "|" + // desc norte + LV(Drow["ActosFS"].ToString()) + "|" + // actos sur + LV(Drow["ActosDevFS"].ToString()) + "|" + // desc sur + LV(Drow["Actos16"].ToString()) + "|" + // 16% + LV(Drow["ActosDev16"].ToString()) + "|" + // desc 16% + LV(Drow["ActosImp16"].ToString()) + "|" + // importacion 16% + LV(Drow["ActosImpDev16"].ToString()) + "|" + // desc importacion 16% + LV(Drow["ActosImpNotan16"].ToString()) + "|" + // importacion intangibles 16% + LV(Drow["ActosImpNotanDev16"].ToString()) + "|" + // desc intangibles 16% // 3.3 IVA Acreditable - LV0(Drow["AcredFN"].ToString()) + "|" + // actos norte - LV0(Drow["AcreNoFN"].ToString()) + "|" + // proporcion actos norte - LV0(Drow["AcredFS"].ToString()) + "|" + // actos sur - LV0(Drow["AcredNoFS"].ToString()) + "|" + // proporcion actos sur - LV0(Drow["Acred16"].ToString()) + "|" + // 16% - LV0(Drow["AcredIva16"].ToString()) + "|" + // proporcion 16% - LV0(Drow["AcredImp16"].ToString()) + "|" + // importacion 16% - LV0(Drow["AcredNoImp16"].ToString()) + "|" + // proporción importacion 16% - LV0(Drow["AcredImpIntan16"].ToString()) + "|" + // intangibles 16% - LV0(Drow["AcredNoImpIntan16"].ToString()) + "|" + // proporcion intangibles 16% + LV(Drow["AcredFN"].ToString()) + "|" + // actos norte + LV(Drow["AcreNoFN"].ToString()) + "|" + // proporcion actos norte + LV(Drow["AcredFS"].ToString()) + "|" + // actos sur + LV(Drow["AcredNoFS"].ToString()) + "|" + // proporcion actos sur + LV(Drow["Acred16"].ToString()) + "|" + // 16% + LV(Drow["AcredIva16"].ToString()) + "|" + // proporcion 16% + LV(Drow["AcredImp16"].ToString()) + "|" + // importacion 16% + LV(Drow["AcredNoImp16"].ToString()) + "|" + // proporción importacion 16% + LV(Drow["AcredImpIntan16"].ToString()) + "|" + // intangibles 16% + LV(Drow["AcredNoImpIntan16"].ToString()) + "|" + // proporcion intangibles 16% // 3.4 IVA NO Acreditable - LV0(Drow["NoAcredFN"].ToString()) + "|" + - LV0(Drow["NoAcredNoFN"].ToString()) + "|" + - LV0(Drow["NoAcredExentaFN"].ToString()) + "|" + - LV0(Drow["NoAcredNoObjetoFN"].ToString()) + "|" + - LV0(Drow["NoAcredFS"].ToString()) + "|" + - LV0(Drow["NoAcredNoFS"].ToString()) + "|" + - LV0(Drow["NoAcredExentaFS"].ToString()) + "|" + - LV0(Drow["NoAcredNoObjetoFS"].ToString()) + "|" + - LV0(Drow["NoAcred16"].ToString()) + "|" + - LV0(Drow["NoAcredNo16"].ToString()) + "|" + - LV0(Drow["NoAcredExenta16"].ToString()) + "|" + - LV0(Drow["NoAcredNoObjeto16"].ToString()) + "|" + - LV0(Drow["NoAcredIntan16"].ToString()) + "|" + - LV0(Drow["NoAcredIntanNo16"].ToString()) + "|" + - LV0(Drow["NoAcredIntanExenta16"].ToString()) + "|" + - LV0(Drow["NoAcredIntanNoObjeto16"].ToString()) + "|" + - LV0(Drow["NoAcredImp16"].ToString()) + "|" + - LV0(Drow["NoAcredImpNo16"].ToString()) + "|" + - LV0(Drow["NoAcredImpExenta16"].ToString()) + "|" + - LV0(Drow["NoAcredImpNoObjeto16"].ToString()) + "|" + + LV(Drow["NoAcredFN"].ToString()) + "|" + + LV(Drow["NoAcredNoFN"].ToString()) + "|" + + LV(Drow["NoAcredExentaFN"].ToString()) + "|" + + LV(Drow["NoAcredNoObjetoFN"].ToString()) + "|" + + LV(Drow["NoAcredFS"].ToString()) + "|" + + LV(Drow["NoAcredNoFS"].ToString()) + "|" + + LV(Drow["NoAcredExentaFS"].ToString()) + "|" + + LV(Drow["NoAcredNoObjetoFS"].ToString()) + "|" + + LV(Drow["NoAcred16"].ToString()) + "|" + + LV(Drow["NoAcredNo16"].ToString()) + "|" + + LV(Drow["NoAcredExenta16"].ToString()) + "|" + + LV(Drow["NoAcredNoObjeto16"].ToString()) + "|" + + + LV(Drow["NoAcredTan16"].ToString()) + "|" + + LV(Drow["NoAcredTanNo16"].ToString()) + "|" + + LV(Drow["NoAcredTanExenta16"].ToString()) + "|" + + LV(Drow["NoAcredTanNoObjeto16"].ToString()) + "|" + + LV(Drow["NoAcredImpIntan16"].ToString()) + "|" + + LV(Drow["NoAcredImpIntanNo16"].ToString()) + "|" + + LV(Drow["NoAcredImpIntanExenta16"].ToString()) + "|" + + LV(Drow["NoAcredImpIntanNoObjeto16"].ToString()) + "|" + // 3.5 datos adicionales - LV0(Drow["DAIvaRetenido"].ToString()) + "|" + // VA retenido por el contribuyente - LV0(Drow["DAIvaExentoImpo"].ToString()) + "|" + //Actos o actividades pagados en la importación de bienes y servicios por los que no se pagara el IVA (Exentos) - LV0(Drow["DAIvaExento"].ToString()) + "|" + // Actos o actividades pagados por los que no se pagará el IVA(Exentos) - LV0(Drow["DATasa0"].ToString()) + "|" + // Demás actos o actividades pagados a la tasa del 0% - LV0(Drow["DANoObjetoTN"].ToString()) + "|" + // Actos o actividades no objeto del IVA realizados en - LV0(Drow["DANoObjetoNoTN"].ToString()) + "|" + // Actos o actividades no objeto del IVA por no contar on establecimiento en territorio nacion + LV(Drow["DAIvaRetenido"].ToString()) + "|" + // VA retenido por el contribuyente + LV(Drow["DAIvaExentoImpo"].ToString()) + "|" + //Actos o actividades pagados en la importación de bienes y servicios por los que no se pagara el IVA (Exentos) + LV(Drow["DAIvaExento"].ToString()) + "|" + // Actos o actividades pagados por los que no se pagará el IVA(Exentos) + LV(Drow["DATasa0"].ToString()) + "|" + // Demás actos o actividades pagados a la tasa del 0% + LV(Drow["DANoObjetoTN"].ToString()) + "|" + // Actos o actividades no objeto del IVA realizados en + LV(Drow["DANoObjetoNoTN"].ToString()) + "|" + // Actos o actividades no objeto del IVA por no contar on establecimiento en territorio nacion (Drow["DAManifiesto"].ToString())); // Manifiesto que se dio efectos fiscales a los comprobantes que amparan las operaciones realizadas con el proveedor } @@ -478,6 +480,81 @@ public partial class Contabilidad_RepIVA : ClsPaginas Response.End(); } + static DataTable AcumularYReemplazar(DataTable dt) + { + if (dt.Rows.Count == 0) return dt; + + // 🔹 Crear una nueva fila con valores acumulados + DataRow nuevaFila = dt.NewRow(); + nuevaFila["TipoTercero"] = "15"; // Puedes definir un ID especial o NULL si no se usa. + nuevaFila["TipoOperacion"] = "87"; + nuevaFila["RFC_DIOT"] = "XAXX010101000"; + + var filasFiltradas = dt.AsEnumerable() + .Where(row => row.Field("TipoTercero") == "15") + .ToList(); + + // 🔹 Recorrer las filas y sumar valores + foreach (DataRow row in dt.FiltraParametros("TipoTercero = '15' ").Rows) + { + // 3.2 valor de los actos o actividades + nuevaFila["ActosFN"] = nuevaFila["ActosFN"].ToString().ToEntero() + row["ActosFN"].ToString().ToEntero(); // actos norte + nuevaFila["ActosFN"] = nuevaFila["ActosFN"].ToString().ToEntero() + row["ActosFN"].ToString().ToEntero(); + nuevaFila["ActosDevFN"] = nuevaFila["ActosDevFN"].ToString().ToEntero() + row["ActosDevFN"].ToString().ToEntero(); + nuevaFila["ActosFS"] = nuevaFila["ActosFS"].ToString().ToEntero() + row["ActosFS"].ToString().ToEntero(); + nuevaFila["ActosDevFS"] = nuevaFila["ActosDevFS"].ToString().ToEntero() + row["ActosDevFS"].ToString().ToEntero(); + nuevaFila["Actos16"] = nuevaFila["Actos16"].ToString().ToEntero() + row["Actos16"].ToString().ToEntero(); + nuevaFila["ActosDev16"] = nuevaFila["ActosDev16"].ToString().ToEntero() + row["ActosDev16"].ToString().ToEntero(); + nuevaFila["ActosImp16"] = nuevaFila["ActosImp16"].ToString().ToEntero() + row["ActosImp16"].ToString().ToEntero(); + nuevaFila["ActosImpDev16"] = nuevaFila["ActosImpDev16"].ToString().ToEntero() + row["ActosImpDev16"].ToString().ToEntero(); + nuevaFila["ActosImpNotan16"] = nuevaFila["ActosImpNotan16"].ToString().ToEntero() + row["ActosImpNotan16"].ToString().ToEntero(); + nuevaFila["ActosImpNotanDev16"] = nuevaFila["ActosImpNotanDev16"].ToString().ToEntero() + row["ActosImpNotanDev16"].ToString().ToEntero(); + + // 3.3 IVA Acreditable + nuevaFila["AcredFN"] = nuevaFila["AcredFN"].ToString().ToEntero() + row["AcredFN"].ToString().ToEntero(); + nuevaFila["AcreNoFN"] = nuevaFila["AcreNoFN"].ToString().ToEntero() + row["AcreNoFN"].ToString().ToEntero(); + nuevaFila["AcredFS"] = nuevaFila["AcredFS"].ToString().ToEntero() + row["AcredFS"].ToString().ToEntero(); + nuevaFila["AcredNoFS"] = nuevaFila["AcredNoFS"].ToString().ToEntero() + row["AcredNoFS"].ToString().ToEntero(); + nuevaFila["Acred16"] = nuevaFila["Acred16"].ToString().ToEntero() + row["Acred16"].ToString().ToEntero(); + nuevaFila["AcredIva16"] = nuevaFila["AcredIva16"].ToString().ToEntero() + row["AcredIva16"].ToString().ToEntero(); + nuevaFila["AcredImp16"] = nuevaFila["AcredImp16"].ToString().ToEntero() + row["AcredImp16"].ToString().ToEntero(); + nuevaFila["AcredNoImp16"] = nuevaFila["AcredNoImp16"].ToString().ToEntero() + row["AcredNoImp16"].ToString().ToEntero(); + nuevaFila["AcredImpIntan16"] = nuevaFila["AcredImpIntan16"].ToString().ToEntero() + row["AcredImpIntan16"].ToString().ToEntero(); + nuevaFila["AcredNoImpIntan16"] = nuevaFila["AcredNoImpIntan16"].ToString().ToEntero() + row["AcredNoImpIntan16"].ToString().ToEntero(); + + // 3.4 IVA NO Acreditable + nuevaFila["NoAcredFN"] = nuevaFila["NoAcredFN"].ToString().ToEntero() + row["NoAcredFN"].ToString().ToEntero(); + nuevaFila["NoAcredNoFN"] = nuevaFila["NoAcredNoFN"].ToString().ToEntero() + row["NoAcredNoFN"].ToString().ToEntero(); + nuevaFila["NoAcredExentaFN"] = nuevaFila["NoAcredExentaFN"].ToString().ToEntero() + row["NoAcredExentaFN"].ToString().ToEntero(); + nuevaFila["NoAcredNoObjetoFN"] = nuevaFila["NoAcredNoObjetoFN"].ToString().ToEntero() + row["NoAcredNoObjetoFN"].ToString().ToEntero(); + nuevaFila["NoAcredFS"] = nuevaFila["NoAcredFS"].ToString().ToEntero() + row["NoAcredFS"].ToString().ToEntero(); + nuevaFila["NoAcredNoFS"] = nuevaFila["NoAcredNoFS"].ToString().ToEntero() + row["NoAcredNoFS"].ToString().ToEntero(); + nuevaFila["NoAcredExentaFS"] = nuevaFila["NoAcredExentaFS"].ToString().ToEntero() + row["NoAcredExentaFS"].ToString().ToEntero(); + nuevaFila["NoAcredNoObjetoFS"] = nuevaFila["NoAcredNoObjetoFS"].ToString().ToEntero() + row["NoAcredNoObjetoFS"].ToString().ToEntero(); + nuevaFila["NoAcred16"] = nuevaFila["NoAcred16"].ToString().ToEntero() + row["NoAcred16"].ToString().ToEntero(); + nuevaFila["NoAcredNo16"] = nuevaFila["NoAcredNo16"].ToString().ToEntero() + row["NoAcredNo16"].ToString().ToEntero(); + nuevaFila["NoAcredExenta16"] = nuevaFila["NoAcredExenta16"].ToString().ToEntero() + row["NoAcredExenta16"].ToString().ToEntero(); + nuevaFila["NoAcredNoObjeto16"] = nuevaFila["NoAcredNoObjeto16"].ToString().ToEntero() + row["NoAcredNoObjeto16"].ToString().ToEntero(); + + // 3.5 Datos Adicionales + nuevaFila["DAIvaRetenido"] = nuevaFila["DAIvaRetenido"].ToString().ToEntero() + row["DAIvaRetenido"].ToString().ToEntero(); + nuevaFila["DAIvaExentoImpo"] = nuevaFila["DAIvaExentoImpo"].ToString().ToEntero() + row["DAIvaExentoImpo"].ToString().ToEntero(); + nuevaFila["DAIvaExento"] = nuevaFila["DAIvaExento"].ToString().ToEntero() + row["DAIvaExento"].ToString().ToEntero(); + nuevaFila["DATasa0"] = nuevaFila["DATasa0"].ToString().ToEntero() + row["DATasa0"].ToString().ToEntero(); + nuevaFila["DANoObjetoTN"] = nuevaFila["DANoObjetoTN"].ToString().ToEntero() + row["DANoObjetoTN"].ToString().ToEntero(); + nuevaFila["DANoObjetoNoTN"] = nuevaFila["DANoObjetoNoTN"].ToString().ToEntero() + row["DANoObjetoNoTN"].ToString().ToEntero(); + nuevaFila["DAManifiesto"] = "01"; + } + // 🔹 Eliminar filas originales filtradas + foreach (var row in filasFiltradas) + { + dt.Rows.Remove(row); + } + // 🔹 Agregar la nueva fila acumulada + dt.Rows.Add(nuevaFila); + return dt; + } + protected void LnkModalCompara_Click(object sender, EventArgs e) { @@ -678,4 +755,153 @@ public partial class Contabilidad_RepIVA : ClsPaginas } } + protected void LnkExcelDIOT_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, -1, Conciliado, UsuarioActual.CveEmpresa, TipoCambio, TCEspecifico)) + { + DataTable TmpDIOT = new DataTable("DIOT"); + TmpDIOT.Columns.Add("TipoTercero", typeof(string)); TmpDIOT.Columns.Add("TipoOperacion", typeof(string)); + TmpDIOT.Columns.Add("RFC_DIOT", typeof(string)); TmpDIOT.Columns.Add("NumeroIDFiscal", typeof(string)); + TmpDIOT.Columns.Add("NombreExtranjero", typeof(string)); TmpDIOT.Columns.Add("PaisResidenciaFiscal", typeof(string)); + TmpDIOT.Columns.Add("Jurisdiccion", typeof(string)); + + TmpDIOT.Columns.Add("ActosFN", typeof(string)); TmpDIOT.Columns.Add("ActosDevFN", typeof(string)); + TmpDIOT.Columns.Add("ActosFS", typeof(string)); TmpDIOT.Columns.Add("ActosDevFS", typeof(string)); + TmpDIOT.Columns.Add("Actos16", typeof(string)); TmpDIOT.Columns.Add("ActosDev16", typeof(string)); + TmpDIOT.Columns.Add("ActosImp16", typeof(string)); TmpDIOT.Columns.Add("ActosImpDev16", typeof(string)); + TmpDIOT.Columns.Add("ActosImpNotan16", typeof(string)); TmpDIOT.Columns.Add("ActosImpNotanDev16", typeof(string)); + + TmpDIOT.Columns.Add("AcredFN", typeof(string)); TmpDIOT.Columns.Add("AcreNoFN", typeof(string)); + TmpDIOT.Columns.Add("AcredFS", typeof(string)); TmpDIOT.Columns.Add("AcredNoFS", typeof(string)); + TmpDIOT.Columns.Add("Acred16", typeof(string)); TmpDIOT.Columns.Add("AcredIva16", typeof(string)); + TmpDIOT.Columns.Add("AcredImp16", typeof(string)); TmpDIOT.Columns.Add("AcredNoImp16", typeof(string)); + TmpDIOT.Columns.Add("AcredImpIntan16", typeof(string)); TmpDIOT.Columns.Add("AcredNoImpIntan16", typeof(string)); + + TmpDIOT.Columns.Add("NoAcredFN", typeof(string)); TmpDIOT.Columns.Add("NoAcredNoFN", typeof(string)); + TmpDIOT.Columns.Add("NoAcredExentaFN", typeof(string)); TmpDIOT.Columns.Add("NoAcredNoObjetoFN", typeof(string)); + TmpDIOT.Columns.Add("NoAcredFS", typeof(string)); TmpDIOT.Columns.Add("NoAcredNoFS", typeof(string)); + TmpDIOT.Columns.Add("NoAcredExentaFS", typeof(string)); TmpDIOT.Columns.Add("NoAcredNoObjetoFS", typeof(string)); + TmpDIOT.Columns.Add("NoAcred16", typeof(string)); TmpDIOT.Columns.Add("NoAcredNo16", typeof(string)); + + TmpDIOT.Columns.Add("NoAcredExenta16", typeof(string)); TmpDIOT.Columns.Add("NoAcredNoObjeto16", typeof(string)); + TmpDIOT.Columns.Add("NoAcredTan16", typeof(string)); TmpDIOT.Columns.Add("NoAcredTanNo16", typeof(string)); + TmpDIOT.Columns.Add("NoAcredTanExenta16", typeof(string)); TmpDIOT.Columns.Add("NoAcredTanNoObjeto16", typeof(string)); + TmpDIOT.Columns.Add("NoAcredImpIntan16", typeof(string)); TmpDIOT.Columns.Add("NoAcredImpIntanNo16", typeof(string)); + TmpDIOT.Columns.Add("NoAcredImpIntanExenta16", typeof(string)); TmpDIOT.Columns.Add("NoAcredImpIntanNoObjeto16", typeof(string)); + + TmpDIOT.Columns.Add("DAIvaRetenido", typeof(string)); TmpDIOT.Columns.Add("DAIvaExentoImpo", typeof(string)); + TmpDIOT.Columns.Add("DAIvaExento", typeof(string)); TmpDIOT.Columns.Add("DATasa0", typeof(string)); + TmpDIOT.Columns.Add("DANoObjetoTN", typeof(string)); TmpDIOT.Columns.Add("DANoObjetoNoTN", typeof(string)); + TmpDIOT.Columns.Add("DAManifiesto", typeof(string)); + + DataTable dtt = new DataTable(); + dtt = Objconta.DtResultados.FiltraParametros("CveCompra is null and CveProveedor > 0 AND ( ActosFN > 0 OR ActosFS > 0 OR Actos16 > 0 OR ActosImp16 > 0 OR ActosImpNotan16 > 0 OR DATasa0 > 0 OR DANoObjetoTN > 0 OR DANoObjetoNoTN > 0)"); + //acumula los prov, globales en un solo registro + dtt = AcumularYReemplazar(dtt); + + foreach (DataRow Drow in dtt.Rows) // and(IVA > 1 OR IEPS > 0) + { + DataRow dr = TmpDIOT.NewRow(); + + dr["TipoTercero"] = Drow["TipoTercero"].ToString(); + dr["TipoOperacion"] = Drow["TipoOperacion"].ToString(); + dr["RFC_DIOT"] = Drow["RFC_DIOT"].ToString(); + dr["NumeroIDFiscal"] = Drow["NumeroIDFiscal"].ToString(); + dr["NombreExtranjero"] = Drow["NombreExtranjero"].ToString(); + dr["PaisResidenciaFiscal"] = Drow["PaisResidenciaFiscal"].ToString(); + dr["Jurisdiccion"] = Drow["Jurisdiccion"].ToString(); + // 3.2 valor de los actos o actividades + dr["ActosFN"] = LV(Drow["ActosFN"].ToString()); // actos norte + dr["ActosDevFN"] = LV(Drow["ActosDevFN"].ToString()); // desc norte + dr["ActosFS"] = LV(Drow["ActosFS"].ToString()); // actos sur + dr["ActosDevFS"] = LV(Drow["ActosDevFS"].ToString()); // desc sur + dr["Actos16"] = LV(Drow["Actos16"].ToString()); // 16% + dr["ActosDev16"] = LV(Drow["ActosDev16"].ToString()); // desc 16% + dr["ActosImp16"] = LV(Drow["ActosImp16"].ToString()); // importacion 16% + dr["ActosImpDev16"] = LV(Drow["ActosImpDev16"].ToString()); // desc importacion 16% + dr["ActosImpNotan16"] = LV(Drow["ActosImpNotan16"].ToString()); // importacion intangibles 16% + dr["ActosImpNotanDev16"] = LV(Drow["ActosImpNotanDev16"].ToString()); // desc intangibles 16% + // 3.3 IVA Acreditable + dr["AcredFN"] = LV(Drow["AcredFN"].ToString()); // actos norte + dr["AcreNoFN"] = LV(Drow["AcreNoFN"].ToString()); // proporcion actos norte + dr["AcredFS"] = LV(Drow["AcredFS"].ToString()); // actos sur + dr["AcredNoFS"] = LV(Drow["AcredNoFS"].ToString()); // proporcion actos sur + dr["Acred16"] = LV(Drow["Acred16"].ToString()); // 16% + dr["AcredIva16"] = LV(Drow["AcredIva16"].ToString()); // proporcion 16% + dr["AcredImp16"] = LV(Drow["AcredImp16"].ToString()); // importacion 16% + dr["AcredNoImp16"] = LV(Drow["AcredNoImp16"].ToString()); // proporción importacion 16% + dr["AcredImpIntan16"] = LV(Drow["AcredImpIntan16"].ToString()); // intangibles 16% + dr["AcredNoImpIntan16"] = LV(Drow["AcredNoImpIntan16"].ToString()); // proporcion intangibles 16% + // 3.4 IVA NO Acreditable + dr["NoAcredFN"] = LV(Drow["NoAcredFN"].ToString()); + dr["NoAcredNoFN"] = LV(Drow["NoAcredNoFN"].ToString()); + dr["NoAcredExentaFN"] = LV(Drow["NoAcredExentaFN"].ToString()); + dr["NoAcredNoObjetoFN"] = LV(Drow["NoAcredNoObjetoFN"].ToString()); + dr["NoAcredFS"] = LV(Drow["NoAcredFS"].ToString()); + dr["NoAcredNoFS"] = LV(Drow["NoAcredNoFS"].ToString()); + dr["NoAcredExentaFS"] = LV(Drow["NoAcredExentaFS"].ToString()); + dr["NoAcredNoObjetoFS"] = LV(Drow["NoAcredNoObjetoFS"].ToString()); + dr["NoAcred16"] = LV(Drow["NoAcred16"].ToString()); + dr["NoAcredNo16"] = LV(Drow["NoAcredNo16"].ToString()); + + dr["NoAcredExenta16"] = LV(Drow["NoAcredExenta16"].ToString()); + dr["NoAcredNoObjeto16"] = LV(Drow["NoAcredNoObjeto16"].ToString()); + dr["NoAcredTan16"] = LV(Drow["NoAcredTan16"].ToString()); + dr["NoAcredTanNo16"] = LV(Drow["NoAcredTanNo16"].ToString()); + dr["NoAcredTanExenta16"] = LV(Drow["NoAcredTanExenta16"].ToString()); + dr["NoAcredTanNoObjeto16"] = LV(Drow["NoAcredTanNoObjeto16"].ToString()); + dr["NoAcredImpIntan16"] = LV(Drow["NoAcredImpIntan16"].ToString()); + dr["NoAcredImpIntanNo16"] = LV(Drow["NoAcredImpIntanNo16"].ToString()); + dr["NoAcredImpIntanExenta16"] = LV(Drow["NoAcredImpIntanExenta16"].ToString()); + dr["NoAcredImpIntanNoObjeto16"] = LV(Drow["NoAcredImpIntanNoObjeto16"].ToString()); + // 3.5 datos adicionales + dr["DAIvaRetenido"] = LV(Drow["DAIvaRetenido"].ToString()); // VA retenido por el contribuyente + dr["DAIvaExentoImpo"] = LV(Drow["DAIvaExentoImpo"].ToString()); //Actos o actividades pagados en la importación de bienes y servicios por los que no se pagara el IVA (Exentos) + dr["DAIvaExento"] = LV(Drow["DAIvaExento"].ToString()); // Actos o actividades pagados por los que no se pagará el IVA(Exentos) + dr["DATasa0"] = LV(Drow["DATasa0"].ToString()); // Demás actos o actividades pagados a la tasa del 0% + dr["DANoObjetoTN"] = LV(Drow["DANoObjetoTN"].ToString()); // Actos o actividades no objeto del IVA realizados en + dr["DANoObjetoNoTN"] = LV(Drow["DANoObjetoNoTN"].ToString()); // Actos o actividades no objeto del IVA por no contar on establecimiento en territorio nacion + dr["DAManifiesto"] = (Drow["DAManifiesto"].ToString()); // Manifiesto que se dio efectos fiscales a los comprobantes que amparan las operaciones realizadas con el proveedor + TmpDIOT.Rows.Add(dr); + } + Objconta.Dispose(); + TmpDIOT.Columns[0].ColumnName = "01- Tipo de tercero\r\n"; TmpDIOT.Columns[1].ColumnName = "02 -Tipo de operación\r\n"; + TmpDIOT.Columns[2].ColumnName = "03- RFC\r\n"; TmpDIOT.Columns[3].ColumnName = "04 - ID Fiscal"; + TmpDIOT.Columns[4].ColumnName = "05- Nombre del Extranjero\r\n"; TmpDIOT.Columns[5].ColumnName = "06 - País de residencia\r\n"; + TmpDIOT.Columns[6].ColumnName = "07- Jurisdicción Fiscal\r\n"; TmpDIOT.Columns[7].ColumnName = "08 - Actividades pagadas RFN\r\n"; + TmpDIOT.Columns[8].ColumnName = "09- Devoluciones, Descuentos y Bonificaciones RFN\r\n"; TmpDIOT.Columns[9].ColumnName = "10 - Actividades pagadas RFS\r\n"; + TmpDIOT.Columns[10].ColumnName = "11- Devoluciones, Descuentos y Bonificaciones RFS\r\n"; TmpDIOT.Columns[11].ColumnName = " 12 - Actividades pagadas Resto del país\r\n"; + TmpDIOT.Columns[12].ColumnName = "13- Devoluciones, Descuentos y Bonificaciones Resto del país\r\n"; TmpDIOT.Columns[13].ColumnName = "14 - Importaciones 16%\r\n"; + TmpDIOT.Columns[14].ColumnName = "15- Devoluciones, Descuentos y Bonificaciones en Importaciones\r\n"; TmpDIOT.Columns[15].ColumnName = "16 - Importaciones Intangibles 16%\r\n"; + TmpDIOT.Columns[16].ColumnName = "17- Devoluciones, Descuentos y Bonificaciones en Importaciones Intangibles\r\n"; TmpDIOT.Columns[17].ColumnName = "18 - IVA Acreditable Pagado Frontera Norte\r\n"; + + TmpDIOT.Columns[18].ColumnName = "19- Proporción de actividades pagadas Frontera Norte\r\n"; TmpDIOT.Columns[19].ColumnName = "20 - IVA Acreditable Pagado Frontera Sur\r\n"; + TmpDIOT.Columns[20].ColumnName = "21- Proporción de actividades pagadas Frontera Sur\r\n"; TmpDIOT.Columns[21].ColumnName = "22 - IVA Acreditable Pagado Resto del País\r\n"; + TmpDIOT.Columns[22].ColumnName = "23- Proporción de actividades pagadas Resto del País\r\n"; TmpDIOT.Columns[23].ColumnName = "24- IVA Acreditable Pagado Importación Tangibles\r\n"; + TmpDIOT.Columns[24].ColumnName = "25- Proporción de actividades pagadas Importación Tangibles \r\n"; TmpDIOT.Columns[25].ColumnName = "26- IVA Acreditable Pagado Importación Intangibles\r\n"; + TmpDIOT.Columns[26].ColumnName = "27- Proporción de actividades pagadas Importación Intangibles\r\n"; TmpDIOT.Columns[27].ColumnName = "28- IVA no acreditable - Proporción de actividades pagadas 16% RFN\r\n"; + + TmpDIOT.Columns[28].ColumnName = "29- IVA No Acreditable - Actividades que no cumplen requisitos fiscales RFN\r\n"; TmpDIOT.Columns[29].ColumnName = "30- IVA No Acreditable - Actividades Exentas RFN\r\n"; + TmpDIOT.Columns[30].ColumnName = "31 - IVA No Acreditable - Actividades No Objeto RFN\r\n"; TmpDIOT.Columns[31].ColumnName = "32 - IVA no acreditable - Proporción de actividades pagadas 16% RFS\r\n"; + TmpDIOT.Columns[32].ColumnName = "33 - IVA No Acreditable - Actividades que no cumplen requisitos fiscales RFS\r\n"; TmpDIOT.Columns[33].ColumnName = "34- IVA No Acreditable - Actividades Exentas RFS\r\n"; + TmpDIOT.Columns[34].ColumnName = "35 -IVA No Acreditable - Actividades No Objeto RFS\r\n"; TmpDIOT.Columns[35].ColumnName = "36 - IVA no acreditable - Proporción de actividades pagadas 16% Resto del país\r\n"; + TmpDIOT.Columns[36].ColumnName = "37- IVA No Acreditable - Actividades que no cumplen requisitos fiscales Resto del país\r\n"; TmpDIOT.Columns[37].ColumnName = "38 - IVA No Acreditable - Actividades Exentas Resto del país\r\n"; + + TmpDIOT.Columns[38].ColumnName = "39 - IVA No Acreditable - Actividades No Objeto Resto del país\r\n"; TmpDIOT.Columns[39].ColumnName = "40 - IVA no acreditable - Proporción de actividades pagadas 16% Importación Tangibles\r\n"; + TmpDIOT.Columns[40].ColumnName = "41 - IVA No Acreditable - Actividades que no cumplen requisitos fiscales Importación Tangibles\r\n"; TmpDIOT.Columns[41].ColumnName = "42 - IVA No Acreditable - Actividades Exentas Importación Tangibles\r\n"; + TmpDIOT.Columns[42].ColumnName = "43 - IVA No Acreditable - Actividades No Objeto Importación Tangibles\r\n"; TmpDIOT.Columns[43].ColumnName = "44 - IVA no acreditable - Proporción de actividades pagadas 16% Importación Intangibles\r\n"; + TmpDIOT.Columns[44].ColumnName = "45 - IVA No Acreditable - Actividades que no cumplen requisitos fiscales Importación Intangibles\r\n"; TmpDIOT.Columns[45].ColumnName = "46 - IVA No Acreditable - Actividades Exentas Importación Intangibles\r\n"; + TmpDIOT.Columns[46].ColumnName = "47 - IVA No Acreditable - Actividades No Objeto Importación Intangibles\r\n"; TmpDIOT.Columns[47].ColumnName = "48 - IVA Retenido POR el contribuyente\r\n"; + + TmpDIOT.Columns[48].ColumnName = "49 - Valor de los actos o actividades en la importación exentos\r\n"; TmpDIOT.Columns[49].ColumnName = "50 - Valor de actos o actividades exentos\r\n"; + TmpDIOT.Columns[50].ColumnName = "51 - Valor de actos o actividades 0%\r\n"; TmpDIOT.Columns[51].ColumnName = "52 -Valor de actos o actividades no objeto en territorio nacional\r\n"; + TmpDIOT.Columns[52].ColumnName = "53 - Valor de actos o actividades no objeto sin establecimiento en territorio nacional\r\n"; TmpDIOT.Columns[53].ColumnName = "54 - Efectos fiscales a los comprobantes de operaciones realizadas con el proveedor\r\n"; + + TmpDIOT.ExportToExcelG("DIOT_"+ txtFechaI.Text,"Reporte DIOT"); + } + } } \ No newline at end of file diff --git a/Empresas/15/Formatos/Factura.rdlc b/Empresas/15/Formatos/Factura.rdlc index 033714ae1..a897c6417 100644 --- a/Empresas/15/Formatos/Factura.rdlc +++ b/Empresas/15/Formatos/Factura.rdlc @@ -1424,10 +1424,10 @@ 4.82589cm - 2.5cm + 1.75917cm - 1.6882cm + 2.42903cm 2.33651cm diff --git a/Empresas/Grales/Formatos/RepTraspasoAlmacen.rdlc b/Empresas/Grales/Formatos/RepTraspasoAlmacen.rdlc index 37dd8f1c3..c1ffcb13c 100644 --- a/Empresas/Grales/Formatos/RepTraspasoAlmacen.rdlc +++ b/Empresas/Grales/Formatos/RepTraspasoAlmacen.rdlc @@ -21,6 +21,10 @@ Cantidad System.Double + + CantidadOriginal + System.Decimal + UnidadMedida System.String @@ -93,32 +97,35 @@ 1.69333cm + + 1.29923cm + 1.16467cm - 1.51446cm + 1.17434cm 3.37414cm - 5.82471cm + 6.19513cm 1.53921cm - 1.57859cm + 1.86963cm - 2.32298cm + 2.02533cm 2.21787cm - 2.36613cm + 2.44551cm @@ -237,6 +244,62 @@ + + + + true + true + + + + + C.Orig. + + + + + + + Textbox23 + + + + Black + + 1pt + + + Black + + 1pt + + + Black + + 1pt + + + Black + + 1pt + + Silver + 2pt + 2pt + 2pt + 2pt + + + + @@ -582,7 +645,7 @@ - Alm. Origen + Alm.Origen + + + + + + CantidadOriginal + + + =IIf(Fields!PS.Value = "", "#9cacc1", "NoColor") + 2pt + 2pt + 2pt + 2pt + + + + @@ -1004,6 +1104,7 @@ @@ -1152,6 +1253,7 @@ + @@ -1171,7 +1273,7 @@ DataSet1 0.17639cm 1.0148cm - 24.56252cm + 25.96481cm @@ -1182,7 +1284,7 @@ 0.67394in diff --git a/Ventas/Ventas.aspx b/Ventas/Ventas.aspx index 1be79ef50..7f4359172 100644 --- a/Ventas/Ventas.aspx +++ b/Ventas/Ventas.aspx @@ -654,19 +654,7 @@ - - - - Educ. Médica: - - - - - - - - - +
  • @@ -9155,8 +9143,11 @@
    - - <%----%> + + + + + diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb index 1ef94d20a..bd1adab56 100644 --- a/Ventas/Ventas.aspx.vb +++ b/Ventas/Ventas.aspx.vb @@ -7962,10 +7962,14 @@ Partial Class Ventas EsCotizacion = True End If - If UsuarioActual.TienePermisoProceso(199) Then DdlTipoComprobante.SelectedValueExistInsert("Rem", "Remisión") ' puede remisionar - If UsuarioActual.TienePermisoProceso(60) Then DdlTipoComprobante.SelectedValueExistInsert("Ing", "Ingresos") 'puede facturar + 'NO MODIFIQUE EL TipoComprobante + If CveVenta <= 0 OrElse EsCreaApartirDe Then + If UsuarioActual.TienePermisoProceso(199) Then DdlTipoComprobante.SelectedValueExistInsert("Rem", "Remisión") ' puede remisionar + If UsuarioActual.TienePermisoProceso(60) Then DdlTipoComprobante.SelectedValueExistInsert("Ing", "Ingresos") 'puede facturar + + DdlTipoComprobante.SelectedValueExist(UsuarioActual.CveTipoDocumento) + End If - DdlTipoComprobante.SelectedValueExist(UsuarioActual.CveTipoDocumento) If EsCotizacion Then DdlTipoComprobante.SelectedValueExistInsert("Cot", "Cotización") End If @@ -14619,7 +14623,6 @@ Partial Class Ventas CveMedico = DdlMedico.SelectedValue.ToEntero CveProcedimiento = DdlProcedimiento.SelectedValue.ToEntero CveTipoVentaGuardar = If(SeEstaFActurandoVentaMedica, CveTipoVenta, RBLTipoVenta.SelectedValue.ToEntero) - factura.Alfa2 = TxtEducMedica.Text.Trim 'CveAlmacenTraspasoDestino End If @@ -15310,8 +15313,7 @@ Partial Class Ventas Try Dim DT As DataTable Dim CvePlantilaPoliza As Integer - Dim PorcentajeAmortizacion As Decimal = 0 - Dim sumaAmorticaciones As Decimal = 0 + Dim ErrorPrepoliza As Boolean = False Dim alertaContabilizacion As String = "Se enviaron correctamente las siguientes pólizas:

    " Dim CveCuentaContabilizacion As Integer = 1 @@ -15888,133 +15890,46 @@ Partial Class Ventas End If End If - 'PorcentajeAmortizacion = sumaAmorticaciones / TxtTotal.Text.ToDecimal importeMovimiento = 0 Case 91 'Amortizacion Nota de Credito Dim Contabilizable As Boolean = If(UsuarioActual.CveEmpresa = 119, False, True) - If ValorMultiplicador = -1 Then - 'cuando es cancelación - For Each row2 As GridViewRow In GvNC.Rows - - If row2.DataKey("CveConceptoContable").ToString().ToEntero() = 91 Then - - importeMovimiento = row2.DataKey("Importe").ToDecimal * ValorMultiplicador - sumaAmorticaciones += importeMovimiento - If tipoCambio > 1 Then Concepto += $" TC:{tipoCambio} ${importeMovimiento.FormatoNumero(2)}" - - CveSubProyectoContabilizar = CveSubProyectoVenta - - If importeMovimiento <> 0 Then - - Dim CveConceptoPagoNC As Integer = 251 - If ObjFactura.CveMoneda > 1 Then - CveConceptoPagoNC = 301 - End If - - If ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, True, importeMovimiento, importeMovimiento * tipoCambio, CveConceptoPagoNC, Referencia, Concepto, CveVenta:=row2.DataKey("CveVentaNC").ToString().ToEntero(), CveCliente:=ObjFactura.CveCliente, CveVentaAmortizacion:=ObjFactura.CveVenta, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveSubProyecto:=CveSubProyectoContabilizar, Contabilizable:=Contabilizable) Then - If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, False, importeMovimiento, importeMovimiento * tipoCambio, 91, Referencia, Concepto, CveVenta:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveVentaAmortizacion:=row2.DataKey("CveVentaNC").ToString().ToEntero(), ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveSubProyecto:=CveSubProyectoContabilizar, Contabilizable:=Contabilizable) Then - ErrorPrepoliza = True - Exit For - End If - Else - ErrorPrepoliza = True - Exit For - End If - End If - End If - Next - - Else - - 'If DdlTipoAmortizacionAnticipo.SelectedValue <> "4" Then - - 'End If + If Not ErrorPrepoliza AndAlso ValorMultiplicador = 1 Then + Dim VentaRef As New ClsPaginas.Venta(ObjFactura, UsuarioActual) + importeMovimiento = 0 For Each row2 As GridViewRow In GVAnticipos.Rows If row2.DataKey("CveConceptoContable").ToString().ToEntero() = 12 Then If row2.FCCheckBox("Chk" & row2.RowIndex).Checked Then + importeMovimiento = row2.FCTextBox("TxtAnticipo" & row2.RowIndex).Text.ToDecimal - sumaAmorticaciones += importeMovimiento - If tipoCambio > 1 Then Concepto += $" TC:{tipoCambio} ${importeMovimiento.FormatoNumero(2)}" - CveSubProyectoContabilizar = CveSubProyectoVenta - If importeMovimiento <> 0 Then - If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, importeMovimiento, importeMovimiento * tipoCambio, ConceptoContable, Referencia, Concepto, CveVenta:=row2.DataKey("CveVenta").ToString().ToEntero(), CveCliente:=row2.DataKey("CveCliente").ToString().ToEntero(), CveVentaAmortizacion:=ObjFactura.CveVenta, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveSubProyecto:=CveSubProyectoContabilizar, Contabilizable:=Contabilizable) Then - ErrorPrepoliza = True - End If - End If - End If + Dim Pago As New ClsPaginas.VentaPago + Pago.Fecha = Now + Pago.FechaDocumentoRelacionado = row2.DataKey("Fecha").ToString().ToDateTime() + Pago.ImportePagoVenta = importeMovimiento + Pago.ImportePago = importeMovimiento + Pago.CveIE = row2.DataKey("CveIE").ToString().ToEntero() + Pago.CveMonedaPago = row2.DataKey("CveMoneda").ToString().ToEntero() + Pago.TCPago = row2.DataKey("TipoCambioPago").ToString().ToDecimal() + Pago.AplicaTraslado = False + Pago.Referencia = row2.DataKey("Folio").ToString() + Pago.CveVentaAmortizacion = row2.DataKey("CveVenta").ToString().ToEntero() + Pago.TipoPago = "NC" + Pago.CveClientePago = ObjFactura.CveCliente + Pago.Referencia = Referencia - End If - - 'SI ES PAGO CON DEVOLUCION - If DdlTipoAmortizacionAnticipo.SelectedValue = "4" Then - If row2.DataKey("CveConceptoContable").ToString().ToEntero() = 277 Then - - If row2.FCCheckBox("Chk" & row2.RowIndex).Checked Then - importeMovimiento = row2.FCTextBox("TxtAnticipo" & row2.RowIndex).Text.ToDecimal() * Multiplicador - importeMX = importeMovimiento * tipoCambio - sumaAmorticaciones += importeMovimiento - - If importeMovimiento <> 0 Then - If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, importeMovimiento, importeMovimiento * tipoCambio, 150, Referencia, Concepto, CveVenta:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveVentaAmortizacion:=-1, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveClasificacion:=ObjFactura.DtDetalle.MAX("CveClasificacion").ToEntero(), CveSubProyecto:=ObjFactura.CveSubProyecto, Contabilizable:=Contabilizable) Then - ErrorPrepoliza = True - End If - - If ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, importeMovimiento * -1, importeMX * -1, 277, Referencia, Concepto, CveVenta:=row2.DataKey("CveVenta").ToString().ToEntero(), CveVentaAmortizacion:=-1, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIE, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), Contabilizable:=False, CveSubProyecto:=CveSubProyectoContabilizar) Then - If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, Not TipoMovimiento, importeMovimiento * -1, importeMX * -1, 278, Referencia, Concepto, CveVenta:=row2.DataKey("CveVenta").ToString().ToEntero(), CveVentaAmortizacion:=-1, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIE, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), Contabilizable:=False, CveSubProyecto:=CveSubProyectoContabilizar) Then - ErrorPrepoliza = True - End If - Else - ErrorPrepoliza = True - End If - End If - End If + ErrorPrepoliza = ClsPaginas.AplicaPrePolizaPagoVenta(VentaRef, Pago, ObjFactura.CvePrePoliza, ObjConta, AplicarConceptoAplicacion:=True) End If + End If Next - If ObjFactura.AplicaDevolucion AndAlso ObjFactura.TipoDocto = "RNC" AndAlso CveVentaDevolucion > 0 Then - Dim importeMovimientoDev As Decimal = TxtTotal.Text.ToDecimal - importeMovimientoDev = If(SaldoVentaDevolucion < importeMovimientoDev, SaldoVentaDevolucion, importeMovimientoDev) - - importeMovimiento = importeMovimientoDev * Multiplicador - importeMX = importeMovimiento * tipoCambio - - If importeMovimiento <> 0 Then - If Not ErrorPrepoliza AndAlso Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, importeMovimiento, importeMovimiento * tipoCambio, 150, Referencia, Concepto, CveVenta:=CveVentaDevolucion, CveCliente:=ObjFactura.CveCliente, CveVentaAmortizacion:=-1, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveClasificacion:=ObjFactura.DtDetalle.MAX("CveClasificacion").ToEntero(), CveSubProyecto:=ObjFactura.CveSubProyecto, Contabilizable:=Contabilizable) Then - ErrorPrepoliza = True - End If - - If Not ErrorPrepoliza AndAlso Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, importeMovimiento * -1, importeMX * -1, 277, Referencia, Concepto, CveVenta:=ObjFactura.CveVenta, CveVentaAmortizacion:=-1, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIE, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), Contabilizable:=False, CveSubProyecto:=CveSubProyectoContabilizar) Then - ErrorPrepoliza = True - End If - - If Not ErrorPrepoliza AndAlso Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, Not TipoMovimiento, importeMovimiento * -1, importeMX * -1, 278, Referencia, Concepto, CveVenta:=ObjFactura.CveVenta, CveVentaAmortizacion:=-1, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIE, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), Contabilizable:=False, CveSubProyecto:=CveSubProyectoContabilizar) Then - ErrorPrepoliza = True - End If - - If Not ErrorPrepoliza Then - Dim CveConceptoPagoNC As Integer = 251 - If ObjFactura.CveMoneda > 1 Then - CveConceptoPagoNC = 301 - End If - - If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, True, importeMovimiento, importeMX, CveConceptoPagoNC, Referencia, Concepto, CveVenta:=CveVentaDevolucion, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIE, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveSubProyecto:=CveSubProyectoContabilizar, Contabilizable:=Contabilizable) Then - ErrorPrepoliza = True - Else - ViewState("SeGuardoPrePoliza") = True - End If - End If - - End If - End If If UsuarioActual.Empresa.Funcionalidad(344) = "1" AndAlso ObjFactura.TipoDocto = "Egs" Then Dim ListaNC As List(Of Modelos.Factura) = Nothing @@ -16084,19 +15999,6 @@ Partial Class Ventas Next End If End If - If sumaAmorticaciones <> 0 Then - - Dim CveConceptoPagoNC As Integer = 251 - If ObjFactura.CveMoneda > 1 Then - CveConceptoPagoNC = 301 - End If - - If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, True, sumaAmorticaciones, sumaAmorticaciones * tipoCambio, CveConceptoPagoNC, Referencia, Concepto, CveVenta:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIE, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveSubProyecto:=CveSubProyectoContabilizar, Contabilizable:=Contabilizable) Then - ErrorPrepoliza = True - Else - ViewState("SeGuardoPrePoliza") = True - End If - End If End If importeMovimiento = 0 @@ -19981,11 +19883,6 @@ Partial Class Ventas HdnPS.Value = PSValidarModal End If - 'If HdnPS.Value = "" Or HdnPS.Value = "-1" Then - ' Alert("Es necesario seleccionar el Producto o Servicio a facturar.", TipoMensaje.MsgAdvertencia) - ' Return False - 'End If - 'SI USA CONTABILIDAD LA CLASIFICACION ES OBLIGATORIA If CveClasificacion <= 0 AndAlso UsuarioActual.Empresa.UsaContabilidad Then Alert("La Clasificación es obligatoria, favor de seleccionarla", TipoMensaje.MsgAdvertencia) @@ -20140,7 +20037,7 @@ Partial Class Ventas If ValidaExistencia Then 'VALIDA EXISTENCIA - If UsuarioActual.CveEmpresa.Contiene({72, 80, 119, 153, 140, 186, 190, 192, 197, 189}) Then + If UsuarioActual.CveEmpresa.Contiene({72, 80, 119, 153, 140, 186, 190, 192, 197, 189, 186}) Then Dim BuscarEnTabla As Boolean = If(UsuarioActual.Empresa.Funcionalidad(715) = "1", True, False) Dim Existencia As Decimal = 0D @@ -40002,16 +39899,13 @@ Partial Class Ventas TrVentasMedicas1.Visible = True TrVentasMedicas2.Visible = True TrVentasMedicas3.Visible = True - TrVentasMedicas5.Visible = True For Each item As ListItem In RBLTipoVenta.Items item.Text = $"  {item.Text}" Next - If Opcion = "Cot" Then 'TrVentasMedicas2.Visible = False TrVentasMedicas3.Visible = False - TrVentasMedicas5.Visible = False Else RegistraScript("$('#DvModalTipoVenta').modal({ backdrop: 'static', keyboard: false });") End If @@ -40096,16 +39990,10 @@ Partial Class Ventas ChkRequiereTecnicoModal.Checked = True ChkRequiereTecnicoModal.Enabled = True DvModalRequiereOSFecha.Visible = True - - 'If CveCliente > 0 Then - ' CargaSucursalesModal(CveCliente) - 'End If - TxtFechaModal.Text = NowADS.AddHours(1).ToString("yyyy-MM-dd HH").Replace(" ", "T") + ":00" ' ToString("yyyy-MM-dd HH:mm:ss").Replace(" ", "T") LnkDvModalTipoVentaAceptar.Visible = True - Select Case RBLTipoVenta.SelectedValue Case "1", "5", "6" '1 Fuera de linea || 5 Consignación - Uso material || A-Vista - Material Utilizado ChkRequiereTecnicoModal.Checked = True @@ -40133,16 +40021,11 @@ Partial Class Ventas UpDvModalTipoVenta.Update() RegistraScript("$('#DvModalTipoVenta').modal('hide');") End Select - - LblDvModalTipoVentaTitulo.Text = RBLTipoVenta.SelectedItem.Text - - End If UpDvModalTipoVenta.Update() End Sub - Protected Sub DdlClienteSucursal_SelectedIndexChanged(sender As Object, e As EventArgs) Dim CveClienteSplit As Integer = -1 CargaPSProcedimiento(DdlProcedimiento.SelectedValue.ToEntero, DdlClienteSucursalCliente, DdlSubProyectoDatos.SelectedValue.ToEntero, CveClienteSucursalL:=DdlClienteSucursalSucursal, CveTipoVentaL:=RBLTipoVenta.SelectedValue.ToEntero) @@ -40165,8 +40048,6 @@ Partial Class Ventas Return If(array(1).ToEntero > 0, array(1).ToEntero, -1) End If End Function - - Private Sub SeleccionarClienteSucursal(CveCliente As Integer) Dim IndexSeleccion As Integer = 0 @@ -40178,9 +40059,7 @@ Partial Class Ventas End If IndexSeleccion = IndexSeleccion + 1 Next - End Sub - Protected Sub ModalValidaMedicoProcedimiento() If DdlMedicoModal.SelectedValue.ToEntero > 0 AndAlso DdlProcedimientoModal.SelectedValue.ToEntero > 0 Then @@ -40188,11 +40067,8 @@ Partial Class Ventas Else LnkDvModalTipoVentaAceptar.Visible = False End If - UpDvModalTipoVenta.Update() - End Sub - Protected Sub LnkDvModalTipoVentaCancelar_Click(sender As Object, e As EventArgs) LnkDvModalTipoVentaAceptar.Visible = False @@ -40214,9 +40090,7 @@ Partial Class Ventas LblDvModalTipoVentaTitulo.Text = "Tipo de Venta" UpDvModalTipoVenta.Update() - End Sub - Protected Sub LnkDvModalTipoVentaAceptar_Click(sender As Object, e As EventArgs) If RBLTipoVenta.SelectedValue = "2" Then 'pago directo @@ -40318,7 +40192,6 @@ Partial Class Ventas ChkRequiereTecnico.Checked = ChkRequiereTecnicoModal.Checked TdFechaOS1.Visible = ChkRequiereTecnicoModal.Checked TdFechaOS2.Visible = ChkRequiereTecnicoModal.Checked - End If DdlTipoComprobante.Enabled = False @@ -40348,13 +40221,15 @@ Partial Class Ventas Dim CveClasificacion As Integer = GvRow.DataKey("CveClasificacion").ToEntero Dim Clasificacion As String = GvRow.DataKey("Clasificacion").ToString Dim CvePS As Integer = GvRow.DataKey("CvePS").ToEntero + Dim EdMedica As Decimal = 0 + If RBLTipoVenta.SelectedValue = "2" Then EdMedica = GvRow.FCTextBox("TxtEdMedica").Text.ToDecimal If Cantidad > 0 Then If AgregarProductoServicio(Cantidad, CveUnidadMedida, Abreviatura, CveClasificacion, Clasificacion, CvePS, "", TxtObsPS.Text.TrimEnd, PU, 0, DdlProyecto.SelectedValue.ToEntero(), DdlProyecto.SelectedItem.Text, DdlSubProyecto.SelectedValue.ToEntero(), DdlSubProyecto.SelectedItem.Text, Serie:=If(DIVCod.Visible, TxtCodigoSerie.Text.Trim, ""), TiempoEntrega:=TxtTiempoEntrega.Text, CuentaPredial:=TxtCuentaPredial.Text.Trim, RegeneraIEPS:=ClienteDesglosaIEPS, CvePromocionDetalle:=-1, - ImporteProntoPago:=0, ObjDescuento:=Nothing, CvePrecioLista:=-1, PrecioLista:="", NumTurnos:=0) Then + ImporteProntoPago:=0, ObjDescuento:=Nothing, CvePrecioLista:=-1, PrecioLista:="", NumTurnos:=0, CantidadConversion:=EdMedica) Then CountPsAgregados = CountPsAgregados + 1 Else Exit For @@ -40420,6 +40295,7 @@ Partial Class Ventas GvPSProced.DataBind() DVGvPSProced.Visible = True + GvPSProced.Columns(4).Visible = RBLTipoVenta.SelectedValue = "2" ' comisión Ed. Médica, solo cuando es pago directo For Each GvRow As GridViewRow In GvPSProced.Rows If RBLTipoVenta.SelectedValue = "2" Then