diff --git a/App_Code/ClsGralFolios.vb b/App_Code/ClsGralFolios.vb
index 023e79994..d252ea8a8 100644
--- a/App_Code/ClsGralFolios.vb
+++ b/App_Code/ClsGralFolios.vb
@@ -168,7 +168,7 @@ Public Class ClsGralFolios
Retorno = True
Catch Ex1 As SqlException
If Ex1.Message.Contains("Número: 2627;") Then
- 'Alert("Ya existe una Aprobación de Folios con el mismo número: " & Aprobacion & ".", TipoMensaje.MsgAdvertencia)
+ Me.OnError("Ocurrió un error al guardar el folio.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
Else
Me.OnError("Ocurrió un error al guardar la nueva Aprobación de Folios.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End If
@@ -201,9 +201,9 @@ Public Class ClsGralFolios
Retorno = True
Catch Ex1 As SqlException
If Ex1.Message.Contains("Número: 2627;") Then
- 'Alert("Ya existe una Aprobación de Folios con el mismo número: " & Aprobacion & ".", TipoMensaje.MsgAdvertencia)
+ Me.OnError("Ocurrió un error al actualizar los folios..", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
Else
- Me.OnError("Ocurrió un error al guardar los cambios en la Aprobación de Folios.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ Me.OnError("Ocurrió un error al actualizar los folios.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End If
Catch ex As Exception
OnError("Ocurrió un error al guardar los cambios en la Aprobación de Folios.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
diff --git a/App_Code/ClsInventarios.vb b/App_Code/ClsInventarios.vb
index a7ab7fdf6..649c5f07f 100644
--- a/App_Code/ClsInventarios.vb
+++ b/App_Code/ClsInventarios.vb
@@ -1485,7 +1485,7 @@ Public Class ClsInventarios
Return Retorno
End Function
- Public Function GetKardex(Entrada As Boolean, Salida As Boolean, CvePS As Integer, FechaI As String, FechaF As String, CveAlmacen As Integer, CveTiposAlmacen As String, CveUnidadMedida As Integer, CveUsuario As Integer, CveEmpresa As Integer, Optional AgruparAlmacen As Boolean = False) As Boolean
+ Public Function GetKardex(Entrada As Boolean, Salida As Boolean, CvePS As Integer, FechaI As String, FechaF As String, CveAlmacen As Integer, CveTiposAlmacen As String, CveUnidadMedida As Integer, CveUsuario As Integer, CveEmpresa As Integer, Optional AgruparAlmacen As Boolean = False, Optional Serie As String = "-1") As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Inv_KardexGet")
@@ -1501,7 +1501,8 @@ Public Class ClsInventarios
.Add("@CveTiposAlmacen", SqlDbType.VarChar).Value = CveTiposAlmacen
.Add("@CveUnidadMedida", SqlDbType.Int).Value = CveUnidadMedida
.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
- .Add("@AgruparAlmacen", SqlDbType.Bit).Value = AgruparAlmacen
+ .Add("@AgruparAlmacen", SqlDbType.Bit).Value = AgruparAlmacen
+ .Add("@Serie", SqlDbType.VarChar).Value = Serie
End With
Try
diff --git a/Bancos/IE.aspx b/Bancos/IE.aspx
index 3a606dd7c..f6da1935f 100644
--- a/Bancos/IE.aspx
+++ b/Bancos/IE.aspx
@@ -1547,7 +1547,10 @@
//VALIDA QUE LA CANTIDAD DE T (TXT) NO SEA MAYOR A C
function ValidarCantidad(t, c) {
- t.value = (ToDouble(t.value) > ToDouble(c) ? c : t.value)
+ var Ot = 0.00;
+ // considera importe de OT ingresos, para que se peuda exceder
+ if ($get('TxtOtrosIngresosEgresos')) { Ot = -ToDouble($get('TxtOtrosIngresosEgresos').value);}
+ t.value = (ToDouble(t.value) > ToDouble(c) + Ot ? c : t.value)
}
var TipoCambioActual = 0.0;
@@ -1557,7 +1560,7 @@
$get("BtnCambiaTipoMoneda").click();
TipoCambioActual = TipoCambioTxt;
}
- }
+ }
diff --git a/Bancos/IE.aspx.vb b/Bancos/IE.aspx.vb
index b0ae49a16..12328b592 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
@@ -1262,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
@@ -2266,10 +2268,15 @@ Partial Class Bancos_IE
Exit Sub
End If
+
+
+
Dim ObjIE As New ClsBancos()
Dim ObjMov As New ClsContabilidad(ObjIE.IniciaTransacSQL)
Dim ObjComp As New ClsCompras(ObjIE.IniciaTransacSQL)
- Dim ObjOC As New ClsOC(ObjIE.IniciaTransacSQL)
+ Dim ObjOC As New ClsOC(ObjIE.IniciaTransacSQL)
+
+ ' Dim ObjContabilidad As New ClsContabilidad(ObjIE.IniciaTransacSQL)
Dim MsgError As String = ""
Dim CveConceptoContable As Integer = 30
@@ -2279,970 +2286,1008 @@ Partial Class Bancos_IE
Dim CvePlantillaPoliza As Integer = 3
Dim CvePrePoliza As Integer = 0
Dim alertaContabilizacion As String = "Se enviaron correctamente las siguientes pólizas:
"
- Dim Msg As New StringBuilder
-
- Try
- If CveIE = -1 Then
-
- Dim CveCuentaDeposito As Integer = 0
- If DdlCuentaDeposito.Items.Count > 0 Then
- CveCuentaDeposito = DdlCuentaDeposito.SelectedValue.ToEntero
- End If
-
- 'OBTIENE COMPROBANTE!!
- ComprobanteIE = ""
- Dim Comprobante As String = ""
- Dim filesgral As List(Of Archivo) = Anexo.getfiles().Archivos
- Dim filemove As String = ""
- For Each fileItem As Archivo In filesgral
- Comprobante = IO.Path.GetExtension(String.Format("{0}Temp\{1}", AppDomain.CurrentDomain.BaseDirectory, fileItem.filename)).Replace(".", "")
- filemove = fileItem.filename
- Next
-
-
- '*****-_- INICIA: CONFIGURACION REGISTRO -_-*****
- If CvePersonal > 0 Then
- If Opcion IsNot Nothing AndAlso Opcion.Contiene("EGSSINFACT") And DDlCheques.SelectedValue.ToEntero > 0 Then
- CveConceptoCompra = 29 'Comprobación Personal
- Else
- CveConceptoCompra = 28 'Prestamo Personal
- End If
- CveConceptoContable = 30 'Banco
- CvePlantillaPoliza = 8
- End If
-
- If Request("Opcion") IsNot Nothing AndAlso Request("Opcion").ToString = "DEV" Then
- If CvePersonal > 0 Then
- CveConceptoCompra = 29 'Comprobacion Personal
- CveConceptoContable = 30 'Bancos
- CvePlantillaPoliza = 9
- ElseIf CveProveedor > 0 Then
- CveConceptoCompra = 21 'Pago a Proveedor/CAncelacion Anticipos
- CveConceptoContable = 30 'Bancos
- CvePlantillaPoliza = 7
- End If
- End If
-
- If Request("Opcion") IsNot Nothing AndAlso Request("Opcion").ToString = "ANTC" Then
- If CveCliente > 0 Then
- CveConceptoCompra = 3 'Clientes
- CveConceptoContable = 30 'Bancos
- CvePlantillaPoliza = 12
- End If
- End If
-
- 'Cuando es Egreso sin factura, se registra una compra tipo anticipo
- If Request("Opcion") IsNot Nothing AndAlso Request("Opcion").ToString = "EGSCREDITO" Then
- CveConceptoCompra = 48 'Anticipo Acreedores
- CveConceptoContable = 30 'Bancos
- CveCreditoDetalle = DdlCreditoDetalle.SelectedValue.ToEntero
- Dim Estatus As Integer = 2
- If HdnCveTipoCredito.Value = "1" Then
- Estatus = 103
- 'cuando es crediproveedores es, pago a documentos por pagar
- CveConceptoCompra = 57
- End If
- ObjIE.UpdateCreditosDetalle(Estatus, CveCreditoDetalle)
-
- If HdnImporteCredito.Value.ToDouble > 0 AndAlso TxtImporte.Text.ToDouble > HdnImporteCredito.Value.ToDouble Then
- CIF = TxtImporte.Text.ToDecimal - HdnImporteCredito.Value.ToDecimal
- Else
- CIF = 0
- End If
-
- CvePlantillaPoliza = 92
-
- End If
- Dim AgregaPolizaSaldoInicial As Boolean = False
- 'Cuando es Egreso sin factura, se registra una compra tipo anticipo
- If Request("Opcion") IsNot Nothing AndAlso Request("Opcion").ToString = "EGSSINFACT" Then
- Select Case RBL.SelectedValue
- Case "P" 'Proveedores
- If CveProveedor > 0 Then
- CveConceptoCompra = 10 'Anticipo a proveedor
- CveConceptoContable = 30 'Pago a Proveedor
- CvePlantillaPoliza = 3
- End If
- Case "DD" ' Deudores Diversos
- If CveProveedor > 0 Then
- CveConceptoCompra = 43 'Prestamo a deudor diverso
- CveConceptoContable = 30 'Bancos
- 'limpio el iva
- HdnProvPorIVA.Value = "0"
- CvePlantillaPoliza = 6
- End If
- Case "AC" ' Acreedores Diversos
- If CveProveedor > 0 Then
- CveConceptoCompra = 42 'Prestamo a acreedor diverso
- CveConceptoContable = 30 'Bancos
- 'limpio el iva
- HdnProvPorIVA.Value = "0"
- CvePlantillaPoliza = 21
- End If
- Case "DP" ' Documentos por pagar
- If CveProveedor > 0 Then
- CveConceptoCompra = 50 'Anticipo doc por pagar
- CveConceptoContable = 30 'Bancos
- 'limpio el iva
- HdnProvPorIVA.Value = "0"
- CvePlantillaPoliza = 22
- End If
- Case "FE"
- AgregaPolizaSaldoInicial = True
- End Select
- End If
-
- 'Nuevo Formato Charlie
- If Request("Opcion") IsNot Nothing AndAlso Request("Opcion").ToString = "INGPC" Then
- HdnProvPorIVA.Value = "0"
- CvePlantillaPoliza = 6
- Select Case RBL.SelectedValue
- Case "DD" ' Deudores Diversos
- If CveProveedor > 0 Then
- CveConceptoCompra = 37 'Prestamo a deudor diverso
- CveConceptoContable = 30 'Bancos
- 'limpio el iva
- HdnProvPorIVA.Value = "0"
- CvePlantillaPoliza = 45
- End If
- Case "C" ' Clientes
- If CveCliente > 0 Then
- CveConceptoCompra = 66 'Anticipo doc por pagar
- CveConceptoContable = 30 'Bancos
- 'limpio el iva
- HdnProvPorIVA.Value = "0"
- End If
- Case "AC" ' Acreedores Diversos
- If CveCliente > 0 Then
- CveConceptoCompra = 41
- CveConceptoContable = 30 'Bancos
- 'limpio el iva
- HdnProvPorIVA.Value = "0"
- End If
- End Select
- End If
-
- '*****-_- TERMINA: CONFIGURACION REGISTRO -_-*****
-
-
- Dim FolioFijo As Integer = 0
- Dim tCveMoneda As Integer = DdlMoneda.SelectedValue.ToEntero
- Dim tImporteMonedaExtranjera As Decimal = 0
- If tCveMoneda <> 1 Then tImporteMonedaExtranjera = TxtImporte.Text.ToDecimal * GlobalTipoCambio(TxtFechaDocumento.Text.Trim.ToDate).ToString.ToDecimal
- Dim PagueseA = ""
-
- If HdnCveCliente.Value.ToEntero > 0 Then
- PagueseA = DdlCliente.SelectedText.ToString()
- ElseIf HdnCveProveedor.Value.ToEntero > 0 Then
- PagueseA = DdlProveedores.SelectedText.ToString()
- ElseIf HdnCvePersonal.Value.ToEntero > 0 Then
- PagueseA = DdlPersonal.SelectedItem.ToString
- ElseIf DdlCreditoDetalle.SelectedValue.ToEntero > 0 Then
- PagueseA = String.Format("{0} {1} {2}", DdlFinanciera.SelectedItem.Text, DdlCredito.SelectedItem.Text, DdlCreditoDetalle.SelectedItem.Text)
- End If
-
- If AgregaPolizaSaldoInicial Then
- If AgregarSaldoInicial(TxtImporte.Text.ToDouble(), TxtFechaDocumento.Text.ToDateTime(), DdlMoneda.SelectedValue.ToEntero(), ObjMov) <= 0 Then
- MsgError = "No se pudo insertar la póliza de saldo inicial."
- End If
- End If
-
- If MsgError = "" Then
-
-
-
- CveIE = ObjIE.AddBancos_IE(DdlCuenta.SelectedValue.ToEntero, DdlTipoTransaccion.SelectedValue.ToEntero, TxtFechaDocumento.Text.Trim.ToDate, TxtFolio.Text.Trim, PagueseA, TxtImporte.Text.Trim.ToDouble, DdlMoneda.SelectedValue.ToEntero,
- TxtTipoCambio.Text.Trim.ToDouble, TxtObservaciones.Text.Trim, TxtNotificarA.Text.Trim, ChkAbonoCuenta.Checked, ChkAplicaImpuestos.Checked, -1, CvePrePoliza, Comprobante, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCuentaDeposito:=CveCuentaDeposito, CveEstatusIE:=DdlEstatusIE.SelectedValue.ToString.ToEntero, Referencia:=If(TxtReferenciaCIE.Visible, TxtReferenciaCIE.Text, "-1"), CveCuentaTarjeta:=If(DivTarjeta.Visible, DdlTarjeta.SelectedValue.ToEntero, -1))
-
- If CveIE > 0 Then
-
- If DdlTipoTransaccion.SelectedValue = "1" Then FolioFijo = ObjIE.Folio.ToEntero 'cheque
- If UsuarioActual.CveEmpresa = 119 Then FolioFijo = 0
-
- CvePrePoliza = ObjMov.AddPrePolizas("Bancos/IE " + If(Request("Opcion") IsNot Nothing, Request("Opcion").ToString, "") + " " + RBL.SelectedValue, CvePlantillaPoliza, TxtImporte.Text.Trim.ToDouble, TxtImporte.Text.Trim.ToDouble, tCveMoneda, TxtFechaDocumento.Text.ToDate, PagueseA, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, FolioFijo:=FolioFijo, ReglaFolioPoliza:=ObjComp.ObtenerReglaFolio(DdlTipoTransaccion.SelectedValue, Nothing, UsuarioActual.CveEmpresa), CveTipoPoliza:=ObjMov.ObtenerTipoPoliza(DdlTipoTransaccion.SelectedValue, "-1", UsuarioActual.CveEmpresa))
-
- 'valida prepoliza
- If CvePrePoliza > 0 Then
-
- If Not ObjIE.UpdateIEPrePoliza(MinFecha, "", -1, CvePrePoliza, CveIE, -1) Then
- MsgError = "Ocurrio un error al agregar la prepoliza al IE."
- End If
-
- Dim Conc As String = If(TxtObservaciones.Text = "", ObjIE.Folio, TxtObservaciones.Text)
- Dim Ref As String = If(TxtObservaciones.Text = "", ObjIE.Folio, TxtObservaciones.Text)
-
- If Comprobante <> "" Then
- ComprobanteIE = $"{CveIE}.{Comprobante}"
- End If
-
- 'GUARDA COMPROBANTE
- If filemove <> "" Then
- filemove.FilesMove(CveIE.ToString, String.Format("Empresas\{0}\IE", UsuarioActual.CveEmpresa, UsuarioActual.Empresa.Ruta))
- End If
-
- 'GUARDA PREPOLIZAS DETALLE [PRIMERO SON LOS CASOS ESPECIALES, AL FINAL (ELSE) LOS CASOS NORMALES] --REEMPLAZA IFs
- Select Case Opcion
- Case "DEV"
- Dim CveIEOtro As Integer = If(CveProveedor > 0 Or CvePersonal > 0, DdlIEDevolucion.SelectedValue.ToEntero, CveIE)
-
- If CveCliente > 0 AndAlso Not DivIvaIxC.Visible AndAlso TxtIvaIxC.Text.ToDouble = 0 Then
- 'RMF- CASO DONDE HAY UNA DEVOLUCION Y TENGO QUE AFECTAR LAS FACTURAS QUE SE HABIAN MARCADO COMO PAGADAS TENGO QUE REGRESARLAS A PENDIENTES
- Dim Mov As New ClsMovimientos
- If Mov.GetMovimientosIE(2, DdlIEDevolucion.SelectedValue.ToEntero, -1, Now, Now, 1, 0, UsuarioActual.CveEmpresa) Then
- Dim DtIE As DataTable = Mov.DtResultados
- For Each dr As DataRow In DtIE.Rows
-
- If MsgError = "" AndAlso Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, If(dr("TipoMovto").ToString.ToEntero = 1, False, True), If(dr("CveConceptoContable").ToString.ToEntero.Contiene(66), -TxtImporte.Text.ToDecimal, dr("Importe").ToString.ToDecimal), "", dr("CveConceptoContable").ToString.ToEntero, "", Now, IDCtaBeneficiario, -1, CveIE, CveCliente:=dr("CveCliente").ToString.ToEntero, CveVenta:=dr("CveVenta").ToString.ToEntero, ImporteMX:=If(dr("CveConceptoContable").ToString.ToEntero.Contiene(66), -TxtImporte.Text.ToDecimal, -dr("Importe").ToString.ToDecimal), ImporteME:=tImporteMonedaExtranjera, CveCuenta:=CveCuentaBeneficiario) Then
- MsgError = "no se pudo insertar el detalle de la póliza 2"
- End If
- Next
- ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, TxtImporte.Text.ToDecimal, Ref, CveConceptoContable, Conc, Now, IDCtaContable, -1, CveIE, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=TxtImporte.Text.ToDecimal, ImporteME:=tImporteMonedaExtranjera, CveCuenta:=CveCuentaConta)
-
- End If
- Mov.Dispose()
-
- 'Devolucion de INGxC Formato Charlie
- ElseIf CveCliente > 0 AndAlso DivIvaIxC.Visible Then
-
- Dim Mov As New ClsMovimientos
- 'INGxC
- ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, -(TxtImporte.Text.ToDecimal - TxtIvaIxC.Text.ToDecimal), Ref, 66, Conc, Now, IDCtaContable, -1, CveIE, CveIEDevolucion:=DdlIEDevolucion.SelectedValue.ToEntero, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=-(TxtImporte.Text.ToDecimal - TxtIvaIxC.Text.ToDecimal), ImporteME:=tImporteMonedaExtranjera, CveCuenta:=CveCuentaConta)
-
- If TxtIvaIxC.Text.ToDouble > 0 Then
- 'Iva
- ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, -TxtIvaIxC.Text.ToDecimal, Ref, 61, Conc, Now, UsuarioActual.Empresa.IdCuentaIVAxTrasladar, -1, CveIE, CveIEDevolucion:=DdlIEDevolucion.SelectedValue.ToEntero, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=-TxtIvaIxC.Text.ToDecimal, ImporteME:=tImporteMonedaExtranjera, CveCuenta:=UsuarioActual.Empresa.CveCuentaIVAxTrasladar)
- End If
-
- 'Bancos
- ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, -TxtImporte.Text.ToDecimal, Ref, 30, Conc, Now, IDCtaBeneficiario, -1, CveIE, CveIEDevolucion:=DdlIEDevolucion.SelectedValue.ToEntero, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=-TxtImporte.Text.ToDecimal, ImporteME:=tImporteMonedaExtranjera, CveCuenta:=CveCuentaBeneficiario)
- Mov.Dispose()
-
- Else
- If ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, TxtImporte.Text.ToDecimal, Ref, CveConceptoContable, Conc, Now, IDCtaContable, -1, CveIE, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=TxtImporte.Text.ToDecimal, ImporteME:=tImporteMonedaExtranjera, CveCuenta:=CveCuentaConta) Then
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, TxtImporte.Text.ToDecimal, Ref, CveConceptoCompra, Conc, Now, IDCtaBeneficiario, -1, CveIE:=If(CveIEOtro < 0, CveIE, CveIEOtro), CveCompra:=CveCompra, CveProveedor:=CveProveedor, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=TxtImporte.Text.ToDecimal, ImporteME:=tImporteMonedaExtranjera, CveCuenta:=CveCuentaBeneficiario) Then
- MsgError = "no se pudo insertar el detalle de la póliza 2"
- End If
- Else
- MsgError = "no se pudo insertar el detalle de la póliza"
- End If
-
- End If
-
-
- Case "INGPC"
- Dim ConceptoContable As Integer
- Dim TipoMovimiento As Boolean
- Dim importeMovimiento As Decimal
- Dim FechaMovimiento As Date = Now
- Dim Concepto As String = ""
- Dim Referencia As String = PagueseA
-
- Dim importeMX As Decimal
- Dim Multiplicador As Integer
-
- If ObjMov.GetPlantillaConceptos(UsuarioActual.CveEmpresa, CvePlantillaPoliza) Then
-
- For Each Row As DataRow In ObjMov.DtResultados.Rows
-
- ConceptoContable = Row("CveConcepto").ToString.ToEntero
- TipoMovimiento = If(Row("TipoMovto").ToString = "True", True, False)
- importeMovimiento = 0
- Multiplicador = (Row("Multiplicador").ToString.ToEntero)
- Concepto = ObjMov.ObtenerConceptoEmpresa(UsuarioActual.CveEmpresa, ConceptoContable, PagueseA, "", ObjIE.Folio)
-
- Select Case ConceptoContable
-
- Case 10
- If RBL.SelectedValue = "P" AndAlso CveProveedor > 0 Then
- importeMovimiento = TxtImporte.Text.ToDecimal
- importeMX = importeMovimiento
- End If
-
- Case 28
- If RBL.SelectedValue = "FE" AndAlso CvePersonal > 0 Then
- importeMovimiento = TxtImporte.Text.ToDecimal
- importeMX = importeMovimiento
- End If
-
- Case 37
- If RBL.SelectedValue = "DD" AndAlso CveProveedor > 0 Then
- importeMovimiento = TxtImporte.Text.ToDecimal
- importeMX = importeMovimiento
- End If
-
- Case 41
- If RBL.SelectedValue = "AC" AndAlso CveProveedor > 0 Then
- importeMovimiento = TxtImporte.Text.ToDecimal
- importeMX = importeMovimiento
- End If
-
- Case 46
-
- If TxtInteresMoratorio.Text.ToDecimal > 0 Then
- importeMovimiento = TxtInteresMoratorio.Text.ToDecimal
- importeMX = importeMovimiento
- Else
- importeMovimiento = 0
- importeMX = 0
- End If
-
-
- Case 50
- If RBL.SelectedValue = "DP" AndAlso CveProveedor > 0 Then
- importeMovimiento = TxtImporte.Text.ToDecimal
- importeMX = importeMovimiento
- End If
-
- Case 66
- If RBL.SelectedValue = "C" AndAlso CveCliente > 0 Then
- importeMovimiento = TxtImporte.Text.ToDecimal - TxtIvaIxC.Text.ToDecimal
- importeMX = importeMovimiento
-
- 'Agregamos el IVA
- If DivIvaIxC.Visible AndAlso TxtIvaIxC.Text.ToDecimal <> 0 Then
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, TxtIvaIxC.Text.ToDecimal, Concepto, 61, Concepto, FechaMovimiento, UsuarioActual.Empresa.IdCuentaIVAxTrasladar, -1, CveIE:=CveIE, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=TxtIvaIxC.Text.ToDecimal, ImporteME:=tImporteMonedaExtranjera, CveCuenta:=UsuarioActual.Empresa.CveCuentaIVAxTrasladar) Then
- MsgError = "Ocurrió un error al registrar el asiento del ingreso."
- End If
- End If
- If tCveMoneda > 1 AndAlso UsuarioActual.CveEmpresa = 119 Then
- 'Agregamos complementaria
- Dim TC As Decimal = TxtTipoCambio.Text.ToDecimal
-
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, 0, Concepto, 226, Concepto, FechaMovimiento, IDCtaBeneficiarioComplementaria, -1, CveIE:=CveIE, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=(importeMovimiento * TC - importeMovimiento).RoundSQL, ImporteME:=importeMovimiento, TipoCambio:=TC, CveCuenta:=0) Then
- MsgError = "Ocurrió un error al registrar el asiento del ingreso."
- End If
-
- End If
-
- End If
-
- Case 30
- importeMovimiento = TxtImporte.Text.ToDecimal
- importeMX = importeMovimiento
-
- If tCveMoneda > 1 AndAlso UsuarioActual.CveEmpresa = 119 Then
- 'Agregamos complementaria
- Dim TC As Decimal = TxtTipoCambio.Text.ToDecimal
-
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, 0, Concepto, 204, Concepto, FechaMovimiento, IDCtaContableComplementaria, -1, CveIE:=CveIE, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=(importeMovimiento * TC - importeMovimiento).RoundSQL, ImporteME:=importeMovimiento, TipoCambio:=TC, CveCuenta:=UsuarioActual.Empresa.CveCuentaIVAxTrasladar) Then
- MsgError = "Ocurrió un error al registrar el asiento del ingreso."
- End If
-
- End If
-
- End Select
-
- If importeMovimiento <> 0 Then
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, importeMovimiento, Concepto, ConceptoContable, Concepto, FechaMovimiento, If(ConceptoContable = 30, IDCtaContable, IDCtaBeneficiario), -1, CveIE:=CveIE, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=importeMovimiento, ImporteME:=tImporteMonedaExtranjera, TipoCambio:=TxtTipoCambio.Text.ToDecimal, CveCuenta:=If(ConceptoContable = 30, CveCuentaConta, CveCuentaBeneficiario)) Then
- MsgError = "Ocurrió un error al registrar el asiento del ingreso."
- End If
- End If
-
- Next
-
- End If
-
-
- Case "DevDinV"
- Dim IdCtaContableAplicar = -1
- Dim ImporteAplicar = 0.0D
- Dim ImporteAplicarMN = 0.0D
- Dim ImporteAplicarME = 0.0D
- Dim ReferenciaAplicar = ObjIE.Folio
- Dim ConceptoAplicar = $"Devolución al cliente {PagueseA} {TxtImporte.Text} NC:{SerieFolioDevDin}"
-
- ImporteAplicar = TxtImporte.Text.ToDecimal
- ImporteAplicarME = ImporteAplicar
-
- 'CONSIDERA COMPLEMENTARIA
- If DdlMoneda.SelectedValue.ToEntero > 1 AndAlso UsuarioActual.CveEmpresa.Contiene(1, 119) Then
- ImporteAplicarMN = ImporteAplicar
- Else
- ImporteAplicarMN = (ImporteAplicar * If(DdlMoneda.SelectedValue.ToEntero = 1, 1, TxtTipoCambio.Text.ToDecimal)).RoundSQL()
- End If
-
- 'BANCOS
- IdCtaContableAplicar = If(IDCtaContable > 0, IDCtaContable, 0)
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, ImporteAplicar, ReferenciaAplicar, 30, ConceptoAplicar, Now, IdCtaContableAplicar, -1, CveIE, CveVenta:=CveVentaDevDin, CveCliente:=CveCliente, ImporteMX:=ImporteAplicarMN, ImporteME:=ImporteAplicarME, CveCuenta:=CveCuentaConta) Then
- MsgError = "Ocurrió un error al registrar el asiento de bancos de devolución"
- Exit Select
- End If
-
- 'BANCOS COMPLEMENTARIA
- If DdlMoneda.SelectedValue.ToEntero > 1 AndAlso UsuarioActual.CveEmpresa.Contiene(1, 119) Then
- ImporteAplicarMN = ((ImporteAplicar * If(DdlMoneda.SelectedValue.ToEntero = 1, 1, TxtTipoCambio.Text.ToDecimal)) - ImporteAplicar).RoundSQL()
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, ImporteAplicar, ReferenciaAplicar, 204, ConceptoAplicar, Now, IdCtaContableAplicar, -1, CveIE, CveVenta:=CveVentaDevDin, CveCliente:=CveCliente, ImporteMX:=ImporteAplicarMN, ImporteME:=ImporteAplicarME, CveCuenta:=CveCuentaConta) Then
- MsgError = "Ocurrió un error al registrar el asiento de bancos complementaria de devolución"
- End If
- End If
-
- 'CANCELA NC
- IdCtaContableAplicar = IDCtaBeneficiario
- ImporteAplicarMN = (ImporteAplicar * If(DdlMoneda.SelectedValue.ToEntero = 1, 1, TxtTipoCambio.Text.ToDecimal)).RoundSQL()
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, -(ImporteAplicar), ReferenciaAplicar, 12, ConceptoAplicar, Now, IdCtaContableAplicar, -1, CveIE, CveVenta:=CveVentaDevDin, CveCliente:=CveCliente, ImporteMX:=-(ImporteAplicarMN), ImporteME:=ImporteAplicarME) Then
- MsgError = "Ocurrió un error al registrar el asiento de pago de devolución"
- Exit Select
- End If
-
- 'IMPUESTOS
- If ObjMov.GetPrePolizasDetalle(CvePrePolizaDevDin) Then
- Dim PorcentajePagoDevDin = (TxtImporte.Text.ToDecimal / ImporteOriginalDevDin).RoundSQL(6)
- Dim CveConceptoContableAplciar = -1
- Dim TipoMovtoAplicar = False
-
- For Each Dr As DataRow In ObjMov.DtResultados.FiltraParametros("CveConceptoContable IN (13,8,9,38)").Rows
- CveConceptoContableAplciar = Dr("CveConceptoContable").ToString.ToEntero
- TipoMovtoAplicar = Not CBool(Dr("TipoMovto").ToString)
- ImporteAplicar = (Dr("Importe").ToString.ToDecimal * PorcentajePagoDevDin).RoundSQL()
- ImporteAplicarMN = (Dr("ImporteMN").ToString.ToDecimal * PorcentajePagoDevDin).RoundSQL()
- ImporteAplicarME = (Dr("ImporteME").ToString.ToDecimal * PorcentajePagoDevDin).RoundSQL()
- IdCtaContableAplicar = Dr("IdCtaContable").ToString.ToEntero
-
- If ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoAplicar, ImporteAplicar, ReferenciaAplicar, CveConceptoContableAplciar, ConceptoAplicar, Now, IdCtaContableAplicar, -1, CveIE, CveVenta:=CveVentaDevDin, CveCliente:=CveCliente, ImporteMX:=ImporteAplicarMN, ImporteME:=ImporteAplicarME) Then
- Select Case CveConceptoContableAplciar
- Case 13
- CveConceptoContableAplciar = 61
- Case 8
- CveConceptoContableAplciar = 62
- Case 9
- CveConceptoContableAplciar = 63
- Case 38
- CveConceptoContableAplciar = 39
- End Select
- TipoMovtoAplicar = Not TipoMovtoAplicar
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoAplicar, ImporteAplicar, ReferenciaAplicar, CveConceptoContableAplciar, ConceptoAplicar, Now, IdCtaContableAplicar, -1, CveIE, CveVenta:=CveVentaDevDin, CveCliente:=CveCliente, ImporteMX:=ImporteAplicarMN, ImporteME:=ImporteAplicarME) Then
- MsgError = "Ocurrió un error al registrar el asiento de impuestos de devolución"
- Exit Select
- End If
- Else
- MsgError = "Ocurrió un error al registrar el asiento de impuestos de devolución"
- Exit Select
- End If
-
- Next
- End If
-
- Case "DevDinC"
- 'asdasdasd
- 'asdasdasdasd
- Dim IdCtaContableAplicar = -1
- Dim ImporteAplicar = 0.0D
- Dim ImporteAplicarMN = 0.0D
- Dim ImporteAplicarME = 0.0D
- Dim ReferenciaAplicar = ObjIE.Folio
-
- Dim ConceptoAplicar = $"Devolución de Proveedor {PagueseA} {TxtImporte.Text} NC:{SerieFolioDeCDin}"
-
- ImporteAplicar = TxtImporte.Text.ToDecimal
- ImporteAplicarME = ImporteAplicar
-
-
- 'CONSIDERA COMPLEMENTARIA
- If DdlMoneda.SelectedValue.ToEntero > 1 AndAlso UsuarioActual.CveEmpresa.Contiene(1, 119) Then
- ImporteAplicarMN = ImporteAplicar
- Else
- ImporteAplicarMN = (ImporteAplicar * If(DdlMoneda.SelectedValue.ToEntero = 1, 1, TxtTipoCambio.Text.ToDecimal)).RoundSQL()
- End If
-
- Dim TCCompra As Decimal = 1
- Dim TCDocumento As Decimal = 1
-
- If DdlMoneda.SelectedValue.ToEntero > 1 AndAlso UsuarioActual.CveEmpresa.Contiene(1, 119) Then
-
- TCCompra = GlobalTipoCambio(FechaCompra).ToDecimal
- TCDocumento = GlobalTipoCambio(TxtFechaDocumento.Text.ToDate).ToDecimal
-
- If TCCompra <= 0 Then
- Alert("No se pudo obtener el tipo de cambio de la nota de crédito.", TipoMensaje.MsgAdvertencia)
- End If
-
- If TCCompra <= 0 Then
- Alert("No se pudo obtener el tipo de cambio del documentpo.", TipoMensaje.MsgAdvertencia)
- End If
-
- End If
-
-
-
- 'BANCOS
- IdCtaContableAplicar = If(IDCtaContable > 0, IDCtaContable, 0)
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, ImporteAplicar, ReferenciaAplicar, 30, ConceptoAplicar, Now, IdCtaContableAplicar, -1, CveIE, CveCompra:=CveCompraDeCDin, CveProveedor:=CveProveedor, ImporteMX:=ImporteAplicarMN, ImporteME:=ImporteAplicarME, CveCuenta:=CveCuentaConta, TipoCambio:=TCDocumento) Then
- MsgError = "Ocurrió un error al registrar el asiento de bancos de devolución"
- Exit Select
- End If
-
-
- 'BANCOS COMPLEMENTARIA
- If DdlMoneda.SelectedValue.ToEntero > 1 AndAlso UsuarioActual.CveEmpresa.Contiene(1, 119) Then
- ImporteAplicarMN = ((ImporteAplicar * If(DdlMoneda.SelectedValue.ToEntero = 1, 1, TCDocumento)) - ImporteAplicar).RoundSQL()
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, ImporteAplicar, ReferenciaAplicar, 204, ConceptoAplicar, Now, IdCtaContableAplicar, -1, CveIE, CveCompra:=CveCompraDeCDin, CveProveedor:=CveProveedor, ImporteMX:=ImporteAplicarMN, ImporteME:=ImporteAplicarME, CveCuenta:=CveCuentaConta, TipoCambio:=TCDocumento) Then
- MsgError = "Ocurrió un error al registrar el asiento de bancos complementaria de devolución"
- End If
- End If
-
- 'CANCELA NC
- IdCtaContableAplicar = IDCtaBeneficiario
- ImporteAplicarMN = ImporteAplicar ' (ImporteAplicar * If(DdlMoneda.SelectedValue.ToEntero = 1, 1, TxtTipoCambio.Text.ToDecimal)).RoundSQL()
-
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, (ImporteAplicar), ReferenciaAplicar, 18, ConceptoAplicar, Now, IdCtaContableAplicar, -1, CveIE, CveCompra:=CveCompraDeCDin, CveProveedor:=CveProveedor, ImporteMX:=(ImporteAplicarMN), ImporteME:=ImporteAplicarME, TipoCambio:=TCCompra) Then
- MsgError = "Ocurrió un error al registrar el asiento de pago de devolución"
- Exit Select
- End If
-
-
- 'NC COMPLEMENTARIA
- If DdlMoneda.SelectedValue.ToEntero > 1 AndAlso UsuarioActual.CveEmpresa.Contiene(1, 119) Then
-
- ImporteAplicarMN = ((ImporteAplicar * If(DdlMoneda.SelectedValue.ToEntero = 1, 1, TCCompra)) - ImporteAplicar).RoundSQL()
-
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, -(ImporteAplicar), ReferenciaAplicar, 201, ConceptoAplicar, Now, IdCtaContableAplicar, -1, CveIE, CveCompra:=CveCompraDeCDin, CveProveedor:=CveProveedor, ImporteMX:=-(ImporteAplicarMN), ImporteME:=-(ImporteAplicarME), CveCuenta:=CveCuentaConta, TipoCambio:=TCCompra) Then
- MsgError = "Ocurrió un error al registrar el asiento de bancos complementaria de devolución"
- End If
-
- End If
-
- If TCCompra <> TCDocumento Then
-
- Dim DiferenciaTC As Decimal = TCCompra - TCDocumento
-
- Dim DiferenciaImportes As Decimal = Math.Abs((ImporteAplicar * TCCompra) - (ImporteAplicar * TCDocumento))
-
- If DiferenciaTC < 0 Then
- '64
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, DiferenciaImportes, ReferenciaAplicar, 64, ConceptoAplicar, Now, UsuarioActual.Empresa.IdCuentaGananciaCambiaria, -1, CveIE, CveCompra:=CveCompraDeCDin, CveProveedor:=CveProveedor, ImporteMX:=DiferenciaImportes, ImporteME:=0, CveCuenta:=CveCuentaConta, TipoCambio:=TCCompra) Then
- MsgError = "Ocurrió un error al registrar el asiento de ganancia cambiaria"
- Exit Select
- End If
-
- Else
- '65
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, DiferenciaImportes, ReferenciaAplicar, 65, ConceptoAplicar, Now, UsuarioActual.Empresa.IdCuentaPerdidaCambiaria, -1, CveIE, CveCompra:=CveCompraDeCDin, CveProveedor:=CveProveedor, ImporteMX:=DiferenciaImportes, ImporteME:=0, CveCuenta:=CveCuentaConta, TipoCambio:=TCCompra) Then
- MsgError = "Ocurrió un error al registrar el asiento de perdidada cfambiaria"
- Exit Select
- End If
-
- End If
-
- End If
-
- 'IMPUESTOS
-
- Dim PorcentajePagoDevDin = (TxtImporte.Text.ToDecimal / ImporteOriginalDevDin).RoundSQL(6)
- Dim CveConceptoContableAplciar = -1
- Dim TipoMovtoAplicar = False
-
-
- Dim ObjCompras As New ClsCompras()
- If ObjCompras.GetCompras(CveCompraDeCDin, "-1", "-1", -1, -1, UsuarioActual.CveEmpresa) Then
-
- Dim dr As DataRow = ObjCompras.DtResultados.Rows(0)
- If dr IsNot Nothing Then
-
- Dim CveMonedaDev As Integer = dr("CveMoneda").ToString.ToEntero
- Dim TotalCompraDev As Decimal = dr("Total").ToString.ToDecimal
-
- Dim IVADev As Decimal = dr("IVA").ToString.ToDecimal
- Dim IEPSDev As Decimal = dr("IEPS").ToString.ToDecimal
- PorcentajeCompraDevDinC = ObjCompras.DtResultados.Rows(0)("PorcentajeIVA").ToString.ToDecimal
-
- Dim DTCuentas As DataTable = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeCompraDevDinC)
- Dim CveCuentaIVAxAcreditarDevDinC = 0
- Dim CveCuentaIVAAcreditableDevDinC = 0
-
- Dim IdCtaIVAXAcreditarDevDinC = 0
- Dim IdCtaIVAAcreditableDevDinC = 0
-
- If DTCuentas IsNot Nothing AndAlso DTCuentas.Rows.Count > 0 Then
- IdCtaIVAXAcreditarDevDinC = DTCuentas.Rows(0)("IdCtaIVAXAcreditar").ToString.ToEntero
- IdCtaIVAAcreditableDevDinC = DTCuentas.Rows(0)("IdCtaIVAAcreditable").ToString.ToEntero
- End If
-
- Dim IVADevMN As Decimal = 0
- Dim IEPSDevMN As Decimal = 0
-
- Dim PorcentajeDevolucion As Decimal = ((TxtImporte.Text.ToDecimal * 100D / TotalCompraDev) / 100).RoundSQL(2)
-
- IVADev = Math.Round(IVADev * PorcentajeDevolucion, 2)
- IEPSDev = Math.Round(IEPSDev * PorcentajeDevolucion, 2)
-
- Dim CveCuentaDevolucionIMPUESTOS As Integer = -1
- Dim IdCtaIVADevolucionIMPUESTOS As Integer = -1
-
- If DdlMoneda.SelectedValue.ToEntero > 1 AndAlso UsuarioActual.CveEmpresa.Contiene(1, 119) Then
- IVADevMN = IVADev
- IEPSDevMN = IEPSDev
- Else
- IVADevMN = (IVADev * If(CveMonedaDev = 1, 1, TxtTipoCambio.Text.ToDecimal)).RoundSQL(2)
- IEPSDevMN = (IEPSDev * If(CveMonedaDev = 1, 1, TxtTipoCambio.Text.ToDecimal)).RoundSQL(2)
- End If
-
- Dim ErrorDevolucionImpuestos As Boolean = False
-
- If IVADev > 0 Then
-
- CveCuentaDevolucionIMPUESTOS = CveCuentaIVAxAcreditarDevDinC
- IdCtaIVADevolucionIMPUESTOS = IdCtaIVAXAcreditarDevDinC
-
- If ObjMov.AddPrePolizasDetalle(CvePrePoliza, Not TipoMovtoAplicar, -IVADev, ReferenciaAplicar, 14, ConceptoAplicar, Now, IdCtaIVADevolucionIMPUESTOS, -1, CveIE, CveCompra:=CveCompraDeCDin, CveProveedor:=CveProveedor, ImporteMX:=-IVADevMN, ImporteME:=-IVADev, CveCuenta:=CveCuentaDevolucionIMPUESTOS) Then
-
- CveCuentaDevolucionIMPUESTOS = CveCuentaIVAAcreditableDevDinC
- IdCtaIVADevolucionIMPUESTOS = IdCtaIVAAcreditableDevDinC
-
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoAplicar, -IVADev, ReferenciaAplicar, 19, ConceptoAplicar, Now, IdCtaIVADevolucionIMPUESTOS, -1, CveIE, CveCompra:=CveCompraDeCDin, CveProveedor:=CveProveedor, ImporteMX:=-IVADevMN, ImporteME:=-IVADev, CveCuenta:=CveCuentaDevolucionIMPUESTOS) Then
- MsgError = "Ocurrió un error al registrar el asiento de impuestos de devolución"
- ErrorDevolucionImpuestos = True
- End If
- Else
- MsgError = "Ocurrió un error al registrar el asiento de impuestos de devolución"
- ErrorDevolucionImpuestos = True
-
- End If
- End If
-
-
- If IEPSDev > 0 Then
- 'Dim ObjContabilidad As New ClsContabilidad
- If ObjMov.GetRetCuenta(25, UsuarioActual.CveEmpresa) Then
- Try
- CveCuentaDevolucionIMPUESTOS = ObjMov.DtResultados.Rows(0)("IdCuentaIEPSxAcreditarSIG").ToString.ToEntero
- IdCtaIVADevolucionIMPUESTOS = ObjMov.DtResultados.Rows(0)("IdCuentaIEPSxAcreditar").ToString.ToEntero
-
- If ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoAplicar, -IEPSDev, ReferenciaAplicar, 25, ConceptoAplicar, Now, IdCtaIVADevolucionIMPUESTOS, -1, CveIE, CveCompra:=CveCompraDeCDin, CveProveedor:=CveProveedor, ImporteMX:=-IEPSDevMN, ImporteME:=-IEPSDev, CveCuenta:=CveCuentaDevolucionIMPUESTOS) Then
-
- If ObjMov.GetRetCuenta(26, UsuarioActual.CveEmpresa) Then
- Try
- CveCuentaDevolucionIMPUESTOS = ObjMov.DtResultados.Rows(0)("IdCuentaIEPSAcreditableSIG").ToString.ToEntero
- IdCtaIVADevolucionIMPUESTOS = ObjMov.DtResultados.Rows(0)("IdCuentaIEPSAcreditable").ToString.ToEntero
-
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoAplicar, -IEPSDev, ReferenciaAplicar, 26, ConceptoAplicar, Now, IdCtaIVADevolucionIMPUESTOS, -1, CveIE, CveCompra:=CveCompraDeCDin, CveProveedor:=CveProveedor, ImporteMX:=-IEPSDevMN, ImporteME:=-IEPSDev, CveCuenta:=CveCuentaDevolucionIMPUESTOS) Then
- MsgError = "Ocurrió un error al registrar el asiento de impuestos de devolución"
- ErrorDevolucionImpuestos = True
- End If
-
-
- Catch ex As Exception
- Alert("Se presento un error al obtener las cuentas de IEPS acreditable.")
- ErrorDevolucionImpuestos = True
- End Try
-
- End If
-
- Else
- MsgError = "Ocurrió un error al registrar el asiento de impuestos de devolución"
- ErrorDevolucionImpuestos = True
- End If
-
- Catch ex As Exception
- Alert("Se presento un error al obtener las cuentas de IEPS acreditable.")
- ErrorDevolucionImpuestos = True
- End Try
- End If
- End If
-
- If ErrorDevolucionImpuestos Then
- MsgError = MsgError & " Error en devolución compra."
- End If
-
-
- End If
- End If
-
- Case "EGSCREDITO"
-
- Dim ConceptoContable As Integer
- Dim TipoMovimiento As Boolean
- Dim importeMovimiento As Decimal
- Dim FechaMovimiento As Date = Now
- Dim Concepto As String = ""
- Dim Referencia As String = PagueseA
-
- Dim importeMX As Decimal
- Dim Multiplicador As Integer
-
- If ObjMov.GetPlantillaConceptos(UsuarioActual.CveEmpresa, CvePlantillaPoliza) Then
-
- For Each Row As DataRow In ObjMov.DtResultados.Rows
-
- ConceptoContable = Row("CveConcepto").ToString.ToEntero
- TipoMovimiento = If(Row("TipoMovto").ToString = "True", True, False)
- importeMovimiento = 0
- Multiplicador = (Row("Multiplicador").ToString.ToEntero)
- Concepto = ObjMov.ObtenerConceptoEmpresa(UsuarioActual.CveEmpresa, ConceptoContable, PagueseA, "", ObjIE.Folio)
-
- Select Case ConceptoContable
-
- Case 30
- importeMovimiento = TxtImporte.Text.ToDecimal
- importeMX = importeMovimiento
- If tCveMoneda > 1 AndAlso UsuarioActual.CveEmpresa = 119 Then
- 'Agregamos complementaria
- Dim TC As Decimal = TxtTipoCambio.Text.ToDecimal
-
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, 0, Concepto, 204, Concepto, FechaMovimiento, IDCtaContableComplementaria, -1, CveIE:=CveIE, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=(importeMovimiento * TC - importeMovimiento).RoundSQL, ImporteME:=importeMovimiento, TipoCambio:=TC, CveCuenta:=UsuarioActual.Empresa.CveCuentaIVAxTrasladar) Then
- MsgError = "Ocurrió un error al registrar el asiento del ingreso."
- End If
- End If
- Case 42
-
- importeMovimiento = TxtImporte.Text.ToDecimal
- importeMX = importeMovimiento
-
- Case 46
- If TxtInteresMoratorio.Text.ToDecimal > 0 Then
- importeMovimiento = TxtInteresMoratorio.Text.ToDecimal
- importeMX = importeMovimiento
- Else
- importeMovimiento = 0
- importeMX = 0
- End If
- Case 48
-
- importeMovimiento = TxtImporte.Text.ToDecimal
- importeMX = importeMovimiento
-
- End Select
-
- If importeMovimiento <> 0 Then
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, importeMovimiento, Concepto, ConceptoContable, Concepto, FechaMovimiento, If(ConceptoContable = 30, IDCtaContable, IDCtaBeneficiario), -1, CveIE:=CveIE, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=importeMovimiento, ImporteME:=tImporteMonedaExtranjera, TipoCambio:=TxtTipoCambio.Text.ToDecimal, CveCuenta:=If(ConceptoContable = 30, CveCuentaConta, CveCuentaBeneficiario)) Then
- MsgError = "Ocurrió un error al registrar el asiento del ingreso."
- End If
- End If
-
- Next
- End If
-
- Case Else
- Dim TipoMovimiento As Boolean = True
-
- If Opcion.Contiene("ANTC") Then
- TipoMovimiento = False
- End If
-
- If CveConceptoCompra = 10 AndAlso DdlMoneda.SelectedValue.ToEntero > 1 AndAlso UsuarioActual.CveEmpresa.Contiene(1, 119) Then
- IDCtaBeneficiario = IdCtaAnticipoExtranjera
- CveCuentaConta = 0
- End If
-
- 'MOVIMIENTOS EGRESOS
- If ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, TxtImporte.Text.ToDecimal, Ref, CveConceptoContable, Conc, Now, IDCtaContable, -1, CveIE, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CveOC:=CveOrdenCompra, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=TxtImporte.Text.ToDecimal, ImporteME:=tImporteMonedaExtranjera, CveCuenta:=CveCuentaConta, CveIEDevolucion:=DDlCheques.SelectedValue.ToEntero) Then
- Dim IVA As Decimal = 0 ' TxtImporte.Text.ToDouble * HdnProvPorIVA.Value.ToDouble
- If ObjMov.AddPrePolizasDetalle(CvePrePoliza, Not TipoMovimiento, TxtImporte.Text.ToDecimal - IVA - CIF, Ref, CveConceptoCompra, Conc, Now, IDCtaBeneficiario, -1, CveIE, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CveOC:=CveOrdenCompra, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=TxtImporte.Text.ToDecimal, ImporteME:=tImporteMonedaExtranjera, CveCuenta:=CveCuentaBeneficiario, CveIEDevolucion:=DdlIEAcreedor.SelectedValue.ToEntero) Then
- If IVA > 0 AndAlso Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, IVA, Ref, 19, Conc, Now, IDCtaBeneficiario, -1, CveIE, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CveOC:=CveOrdenCompra, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=TxtImporte.Text.ToDecimal, ImporteME:=tImporteMonedaExtranjera, CveCuenta:=CveCuentaBeneficiario, CveIEDevolucion:=DDlCheques.SelectedValue.ToEntero) Then
- MsgError = "Detalle"
- End If
- 'intereses pagados
- If CIF > 0 AndAlso Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, CIF, Ref, 46, Conc, Now, IDCtaBeneficiario, -1, CveIE, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CveOC:=CveOrdenCompra, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=CIF, ImporteME:=tImporteMonedaExtranjera, CveCuenta:=CveCuentaBeneficiario, CveIEDevolucion:=DDlCheques.SelectedValue.ToEntero) Then
- MsgError = "Detalle"
- End If
- Else
- MsgError = "no se pudo insertar el detalle de la póliza2"
- End If
- Else
- MsgError = "no se pudo insertar el detalle de la póliza"
- End If
-
- 'BANCOS COMPLEMENTARIA
- If DdlMoneda.SelectedValue.ToEntero > 1 AndAlso UsuarioActual.CveEmpresa.Contiene(1, 119) Then
- Dim ImporteAplicar As Decimal = TxtImporte.Text.ToDecimal
- Dim ImporteAplicarMN = (ImporteAplicar * TxtTipoCambio.Text.ToDecimal - ImporteAplicar).RoundSQL()
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteAplicar, Ref, 204, Conc, Now, IDCtaContableComplementaria, -1, CveIE, CveCompra:=CveCompraDeCDin, CveProveedor:=CveProveedor, ImporteMX:=ImporteAplicarMN, ImporteME:=ImporteAplicar, CveCuenta:=CveCuentaConta, TipoCambio:=TxtTipoCambio.Text.ToDecimal) Then
- MsgError = "Ocurrió un error al registrar el asiento de bancos complementaria de devolución"
- End If
-
- If CveConceptoCompra = 10 Then
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, Not TipoMovimiento, ImporteAplicar, Ref, 266, Conc, Now, IdCtaAnticipoComplementaria, -1, CveIE, CveCompra:=CveCompraDeCDin, CveProveedor:=CveProveedor, ImporteMX:=ImporteAplicarMN, ImporteME:=ImporteAplicar, CveCuenta:=0, TipoCambio:=TxtTipoCambio.Text.ToDecimal) Then
- MsgError = "Ocurrió un error al registrar el asiento de bancos complementaria de devolución"
- End If
- End If
-
-
- End If
-
- If Opcion.Contiene("EGSSINFACT") AndAlso CveSolicitudViatico > 0 AndAlso MsgError = "" Then
- If Not ObjIE.UpdateSolicitudesViaticosIE(CveSolicitudViatico, CveIE) Then
- MsgError = "Ocurrió un error al vincular el egreso con la solicitud de viatico."
- End If
- End If
-
- End Select
-
- 'El movimiento 1 es el de Venta
- 'Conta SIG
- If UsuarioActual.Empresa.Funcionalidad(200) = "1" AndAlso MsgError = "" AndAlso UsuarioActual.Empresa.UsaContabilidadSIG Then
- If CveCuentaBeneficiario > 0 And CveCuentaConta > 0 Then
- If ObjMov.ContabilizarPrePolizaSIG(CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.Empresa) Then
- IDPoliza = ObjMov.ContaIdPoliza
- Else
- Alert("Ocurrio un error al contabilizar en SIG, pongase en contacto con Soporte Técnico", TipoMensaje.MsgError)
- End If
- Else
- If CveCuentaConta < 1 Then
- Alert("No se puede contabilizar la Prepoliza en SIG debido a que la cuenta de Bancos es invalida", TipoMensaje.MsgAdvertencia)
- End If
- If CveCuentaBeneficiario < 1 Then
- Alert("No se puede contabilizar la Prepoliza en SIG debido a que las cuenta del Beneficiario es invalida", TipoMensaje.MsgAdvertencia)
- End If
- End If
- End If
-
- 'Conta ContPAQ
- If UsuarioActual.Empresa.Funcionalidad(200) = "1" AndAlso MsgError = "" Then
- If IDCtaBeneficiario > 0 And IDCtaContable > 0 Then
- If ObjMov.ContabilizarPrePoliza(CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.Empresa) Then
- IDPoliza = ObjMov.ContaIdPoliza
- 'Alert(alertaContabilizacion & ObjMov.AlertaMensaje, ModExtensiones.TipoMensaje.MsgInformacion)
- Else
- Alert("Ocurrio un error al contabilizar, pongase en contacto con Soporte Técnico", TipoMensaje.MsgError)
- End If
- Else
- If IDCtaContable < 1 Then
- Alert("No se puede contabilizar la Prepoliza debido a que la cuenta de Bancos es invalida", TipoMensaje.MsgAdvertencia)
- End If
- If IDCtaBeneficiario < 1 Then
- Alert("No se puede contabilizar la Prepoliza debido a que las cuenta del Beneficiario es invalida", TipoMensaje.MsgAdvertencia)
- End If
- End If
- End If
-
- If UsuarioActual.Empresa.UsaAC Then
- Dim ConceptoRenglon, Referencia As String
- Dim FolioPoliza As Integer
- Dim Fecha As Date = TxtFechaDocumento.Text.ToDate
- Dim TipoChq As String = ""
- Dim Total As Double = TxtImporte.Text.ToDouble
-
- Dim Conta As New ClsContPAQi(UsuarioActual.Empresa)
- Conta.IniciaTransacSQL()
-
- If DdlTipoTransaccion.SelectedValue = "1" Then TipoChq = "CHQ"
- ConceptoRenglon = String.Format("Anticipo {0}", PagueseA)
-
- IDPoliza = Conta.AddPoliza(2, ConceptoRenglon, Total, Total, UsuarioActual.CveUsuario, Fecha, ObjIE.Folio, TipoChq)
-
- If IDPoliza > 0 Then
- FolioPoliza = Conta.Folio
- Referencia = ObjIE.Folio
- ConceptoRenglon = String.Format("Anticipo {0} {1}", PagueseA, TxtObservaciones.Text)
-
- Total = TxtImporte.Text.ToDouble
-
- If Not Conta.AddMovimiento(IDPoliza, IDCtaContable, True, Total, Referencia, ConceptoRenglon, 0, Fecha, "") Then MsgError = "No se insertó el movimiento"
-
- If Not Conta.AddMovimiento(IDPoliza, IDCtaBeneficiario, False, Total, Referencia, ConceptoRenglon, 0, Fecha, "") Then MsgError = "No se insertó el movimiento"
-
- Else
- MsgError = "No se insertó el encabezado"
- End If
-
- If MsgError = "" Then
- Conta.Commit()
-
- Conta.AjustaPoliza(IDPoliza)
- 'actualizar la conta del IE
- ObjIE.UpdateIEPrePoliza(Fecha, FolioPoliza.ToString, IDPoliza, CvePrePoliza, CveIE, 0)
- Else
- Conta.RollBack()
- IDPoliza = 0
- End If
-
- Conta.Dispose()
- End If
-
- 'Notificación de Pago
- If TxtNotificarA.Text.Trim <> "" Then
- NotificacionPago(CveIE, TxtNotificarA.Text.Trim)
- End If
-
- Else
- MsgError = "No se pudo insertar la póliza"
- End If
-
- Else
- MsgError = "No se insertó el encabezado"
- End If
-
- End If
-
- Else
- Msg.Append("El Documento se guardó correctamente.")
-
- End If
-
- 'SOLICITUD DE ANTICIPO OC
- If MsgError = "" Then
- MsgError = GuardaSolicitudAnticipoOC(ObjOC)
- End If
-
- If MsgError = "" Then
- 'VIATICOS
- If ChkAplicaViatico.Checked Then
- Dim Retorno As String = TimbrarNomina12(CvePersonal)
- If Retorno <> "" Then MsgError = $"{MsgError} {Retorno}" : Msg.Clear() : CveIE = -1
- If Retorno <> "" Then
- Alert(Retorno, TipoMensaje.MsgError)
- End If
- End If
- End If
-
- If MsgError = "" Then
- If ObjMov.ValidacionPrePolizaCuadre(CvePrePoliza, -1) Then
- If ObjMov.ValorPolizaDescuadre > 0 Then
- ' MsgError = ObjMov.MensajePolizaDescuadre
- GuardaLogAD($"Bancos/IE | Error:{ObjMov.MensajePolizaDescuadre} Diferencia:{ObjMov.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas")
- End If
- Else
- MsgError = "No se pudo validar la prepoliza de cuadre."
- End If
- End If
-
- If MsgError = "" Then
- 'IMPRIME CHEQUE
- 'GeneraChequePDF(CveIE, UsuarioActual.Empresa, IDPoliza)
- If Msg.ToString = "" Then
- Msg.Append("El Documento se guardo correctamente")
- End If
- Dim Archivo As System.IO.FileInfo = Nothing
- 'VERIFICA SI EXISTE EL FORMATO
- If DdlTipoTransaccion.SelectedValue.ToEntero.Contiene(2, 8, 9) Then
- Archivo = New System.IO.FileInfo(String.Format("{0}Formatos/Transferencia.rdlc", UsuarioActual.Empresa.Ruta))
- ElseIf DdlTipoTransaccion.SelectedValue.ToEntero.Contiene(1) Then
- Archivo = New System.IO.FileInfo(String.Format("{0}Formatos/CHQ-{1}.rdlc", UsuarioActual.Empresa.Ruta, DdlCuenta.SelectedValue.ToEntero))
- If Not Archivo.Exists Then
- Archivo = New System.IO.FileInfo(String.Format("{0}\Empresas\Grales\Formatos\CHQ.rdlc", AppDomain.CurrentDomain.BaseDirectory))
- End If
- ElseIf DdlTipoTransaccion.SelectedValue.ToEntero.Contiene(6) And UsuarioActual.CveEmpresa = 72 Then
- Archivo = New System.IO.FileInfo(String.Format("{0}Formatos/ComprobanteEgreso.rdlc", UsuarioActual.Empresa.Ruta, DdlCuenta.SelectedValue.ToEntero))
- End If
-
- If Archivo IsNot Nothing Then
- If Archivo.Exists Then
- Msg.AppendFormat("
{1} ", Encripta(String.Format("OP=IECHEQUE&CVEIE={0}", CveIE)), String.Format("Imprimir {0}", DdlTipoTransaccion.SelectedItem))
- End If
- End If
-
- If IDPoliza > 0 Then
- Msg.AppendFormat("
Ver Póliza", IDPoliza)
- End If
-
- 'AUTO DESCARGAR PDF PARA COMPU
- If UsuarioActual.CveEmpresa.Contiene(72, 1, 2) And CveSolicitudViatico > 0 Then
- If DdlTipoTransaccion.SelectedValue.ToEntero.Contiene(1, 2, 6, 8, 9) Then
- RegistraScript($"window.location.href = '/Compras/PopUpVerFactura.aspx?P={Encripta(String.Format("OP=IE&CVEIE={0}", CveIE))}'", String.Format("Imprimir {0}", DdlTipoTransaccion.SelectedItem))
- End If
- End If
-
- End If
- Catch ex As Exception
- MsgError = "Ocurrió un error al guardar el IE"
- ex.ToString().GuardaLog()
- End Try
+ Dim Msg As New StringBuilder
- If MsgError = "" Then
- ObjIE.Commit()
- Else
- ObjIE.RollBack()
+ If CveIE = -1 Then
+
+ Dim CveCuentaDeposito As Integer = 0
+ If DdlCuentaDeposito.Items.Count > 0 Then
+ CveCuentaDeposito = DdlCuentaDeposito.SelectedValue.ToEntero
+ End If
+
+ 'OBTIENE COMPROBANTE!!
+ ComprobanteIE = ""
+ Dim Comprobante As String = ""
+ Dim filesgral As List(Of Archivo) = Anexo.getfiles().Archivos
+ Dim filemove As String = ""
+ For Each fileItem As Archivo In filesgral
+ Comprobante = IO.Path.GetExtension(String.Format("{0}Temp\{1}", AppDomain.CurrentDomain.BaseDirectory, fileItem.filename)).Replace(".", "")
+ filemove = fileItem.filename
+ Next
+
+
+ '*****-_- INICIA: CONFIGURACION REGISTRO -_-*****
+ If CvePersonal > 0 Then
+ If Opcion IsNot Nothing AndAlso Opcion.Contiene("EGSSINFACT") And DDlCheques.SelectedValue.ToEntero > 0 Then
+ CveConceptoCompra = 29 'Comprobación Personal
+ Else
+ CveConceptoCompra = 28 'Prestamo Personal
+ End If
+ CveConceptoContable = 30 'Banco
+ CvePlantillaPoliza = 8
+ End If
+
+ If Request("Opcion") IsNot Nothing AndAlso Request("Opcion").ToString = "DEV" Then
+ If CvePersonal > 0 Then
+ CveConceptoCompra = 29 'Comprobacion Personal
+ CveConceptoContable = 30 'Bancos
+ CvePlantillaPoliza = 9
+ ElseIf CveProveedor > 0 Then
+ CveConceptoCompra = 21 'Pago a Proveedor/CAncelacion Anticipos
+ CveConceptoContable = 30 'Bancos
+ CvePlantillaPoliza = 7
+ End If
+ End If
+
+ If Request("Opcion") IsNot Nothing AndAlso Request("Opcion").ToString = "ANTC" Then
+ If CveCliente > 0 Then
+ CveConceptoCompra = 3 'Clientes
+ CveConceptoContable = 30 'Bancos
+ CvePlantillaPoliza = 12
+ End If
+ End If
+
+ 'Cuando es Egreso sin factura, se registra una compra tipo anticipo
+ If Request("Opcion") IsNot Nothing AndAlso Request("Opcion").ToString = "EGSCREDITO" Then
+ CveConceptoCompra = 48 'Anticipo Acreedores
+ CveConceptoContable = 30 'Bancos
+ CveCreditoDetalle = DdlCreditoDetalle.SelectedValue.ToEntero
+ Dim Estatus As Integer = 2
+ If HdnCveTipoCredito.Value = "1" Then
+ Estatus = 103
+ 'cuando es crediproveedores es, pago a documentos por pagar
+ CveConceptoCompra = 57
+ End If
+ ObjIE.UpdateCreditosDetalle(Estatus, CveCreditoDetalle)
+
+ If HdnImporteCredito.Value.ToDouble > 0 AndAlso TxtImporte.Text.ToDouble > HdnImporteCredito.Value.ToDouble Then
+ CIF = TxtImporte.Text.ToDecimal - HdnImporteCredito.Value.ToDecimal
+ Else
+ CIF = 0
+ End If
+
+ CvePlantillaPoliza = 92
+
+ End If
+ Dim AgregaPolizaSaldoInicial As Boolean = False
+ 'Cuando es Egreso sin factura, se registra una compra tipo anticipo
+ If Request("Opcion") IsNot Nothing AndAlso Request("Opcion").ToString = "EGSSINFACT" Then
+ Select Case RBL.SelectedValue
+ Case "P" 'Proveedores
+ If CveProveedor > 0 Then
+ CveConceptoCompra = 10 'Anticipo a proveedor
+ CveConceptoContable = 30 'Pago a Proveedor
+ CvePlantillaPoliza = 3
+ End If
+ Case "DD" ' Deudores Diversos
+ If CveProveedor > 0 Then
+ CveConceptoCompra = 43 'Prestamo a deudor diverso
+ CveConceptoContable = 30 'Bancos
+ 'limpio el iva
+ HdnProvPorIVA.Value = "0"
+ CvePlantillaPoliza = 6
+ End If
+ Case "AC" ' Acreedores Diversos
+ If CveProveedor > 0 Then
+ CveConceptoCompra = 42 'Prestamo a acreedor diverso
+ CveConceptoContable = 30 'Bancos
+ 'limpio el iva
+ HdnProvPorIVA.Value = "0"
+ CvePlantillaPoliza = 21
+ End If
+ Case "DP" ' Documentos por pagar
+ If CveProveedor > 0 Then
+ CveConceptoCompra = 50 'Anticipo doc por pagar
+ CveConceptoContable = 30 'Bancos
+ 'limpio el iva
+ HdnProvPorIVA.Value = "0"
+ CvePlantillaPoliza = 22
+ End If
+ Case "FE"
+ AgregaPolizaSaldoInicial = True
+ End Select
+ End If
+
+ 'Nuevo Formato Charlie
+ If Request("Opcion") IsNot Nothing AndAlso Request("Opcion").ToString = "INGPC" Then
+ HdnProvPorIVA.Value = "0"
+ CvePlantillaPoliza = 6
+ Select Case RBL.SelectedValue
+ Case "DD" ' Deudores Diversos
+ If CveProveedor > 0 Then
+ CveConceptoCompra = 37 'Prestamo a deudor diverso
+ CveConceptoContable = 30 'Bancos
+ 'limpio el iva
+ HdnProvPorIVA.Value = "0"
+ CvePlantillaPoliza = 45
+ End If
+ Case "C" ' Clientes
+ If CveCliente > 0 Then
+ CveConceptoCompra = 66 'Anticipo doc por pagar
+ CveConceptoContable = 30 'Bancos
+ 'limpio el iva
+ HdnProvPorIVA.Value = "0"
+ End If
+ Case "AC" ' Acreedores Diversos
+ If CveCliente > 0 Then
+ CveConceptoCompra = 41
+ CveConceptoContable = 30 'Bancos
+ 'limpio el iva
+ HdnProvPorIVA.Value = "0"
+ End If
+ End Select
+ End If
+
+ '*****-_- TERMINA: CONFIGURACION REGISTRO -_-*****
+
+
+ Dim FolioFijo As Integer = 0
+ Dim tCveMoneda As Integer = DdlMoneda.SelectedValue.ToEntero
+ Dim tImporteMonedaExtranjera As Decimal = 0
+ If tCveMoneda <> 1 Then tImporteMonedaExtranjera = TxtImporte.Text.ToDecimal * GlobalTipoCambio(TxtFechaDocumento.Text.Trim.ToDate).ToString.ToDecimal
+ Dim PagueseA = ""
+
+ If HdnCveCliente.Value.ToEntero > 0 Then
+ PagueseA = DdlCliente.SelectedText.ToString()
+ ElseIf HdnCveProveedor.Value.ToEntero > 0 Then
+ PagueseA = DdlProveedores.SelectedText.ToString()
+ ElseIf HdnCvePersonal.Value.ToEntero > 0 Then
+ PagueseA = DdlPersonal.SelectedItem.ToString
+ ElseIf DdlCreditoDetalle.SelectedValue.ToEntero > 0 Then
+ PagueseA = String.Format("{0} {1} {2}", DdlFinanciera.SelectedItem.Text, DdlCredito.SelectedItem.Text, DdlCreditoDetalle.SelectedItem.Text)
+ End If
+
+ If AgregaPolizaSaldoInicial Then
+ If AgregarSaldoInicial(TxtImporte.Text.ToDouble(), TxtFechaDocumento.Text.ToDateTime(), DdlMoneda.SelectedValue.ToEntero(), ObjMov) <= 0 Then
+ MsgError = "No se pudo insertar la póliza de saldo inicial."
+ End If
+ End If
+
+ If MsgError = "" Then
+
+
+
+ CveIE = ObjIE.AddBancos_IE(DdlCuenta.SelectedValue.ToEntero, DdlTipoTransaccion.SelectedValue.ToEntero, TxtFechaDocumento.Text.Trim.ToDate, TxtFolio.Text.Trim, PagueseA, TxtImporte.Text.Trim.ToDouble, DdlMoneda.SelectedValue.ToEntero,
+ TxtTipoCambio.Text.Trim.ToDouble, TxtObservaciones.Text.Trim, TxtNotificarA.Text.Trim, ChkAbonoCuenta.Checked, ChkAplicaImpuestos.Checked, -1, CvePrePoliza, Comprobante, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCuentaDeposito:=CveCuentaDeposito, CveEstatusIE:=DdlEstatusIE.SelectedValue.ToString.ToEntero, Referencia:=If(TxtReferenciaCIE.Visible, TxtReferenciaCIE.Text, "-1"), CveCuentaTarjeta:=If(DivTarjeta.Visible, DdlTarjeta.SelectedValue.ToEntero, -1))
+
+ If CveIE > 0 Then
+
+ If DdlTipoTransaccion.SelectedValue = "1" Then FolioFijo = ObjIE.Folio.ToEntero 'cheque
+ CvePrePoliza = ObjMov.AddPrePolizas("Bancos/IE " + If(Request("Opcion") IsNot Nothing, Request("Opcion").ToString, "") + " " + RBL.SelectedValue, CvePlantillaPoliza, TxtImporte.Text.Trim.ToDouble, TxtImporte.Text.Trim.ToDouble, tCveMoneda, TxtFechaDocumento.Text.ToDate, PagueseA, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, FolioFijo:=FolioFijo, ReglaFolioPoliza:=ObjComp.ObtenerReglaFolio(DdlTipoTransaccion.SelectedValue, Nothing, UsuarioActual.CveEmpresa), CveTipoPoliza:=ObjMov.ObtenerTipoPoliza(DdlTipoTransaccion.SelectedValue, "-1", UsuarioActual.CveEmpresa))
+
+ 'valida prepoliza
+ If CvePrePoliza > 0 Then
+
+ If Not ObjIE.UpdateIEPrePoliza(MinFecha, "", -1, CvePrePoliza, CveIE, -1) Then
+ MsgError = "Ocurrio un error al agregar la prepoliza al IE."
+ End If
+
+ Dim Conc As String = If(TxtObservaciones.Text = "", ObjIE.Folio, TxtObservaciones.Text)
+ Dim Ref As String = If(TxtObservaciones.Text = "", ObjIE.Folio, TxtObservaciones.Text)
+
+ If Comprobante <> "" Then
+ ComprobanteIE = $"{CveIE}.{Comprobante}"
+ End If
+
+ 'GUARDA COMPROBANTE
+ If filemove <> "" Then
+ filemove.FilesMove(CveIE.ToString, String.Format("Empresas\{0}\IE", UsuarioActual.CveEmpresa, UsuarioActual.Empresa.Ruta))
+ End If
+
+ 'GUARDA PREPOLIZAS DETALLE [PRIMERO SON LOS CASOS ESPECIALES, AL FINAL (ELSE) LOS CASOS NORMALES] --REEMPLAZA IFs
+ Select Case Opcion
+ Case "DEV"
+ Dim CveIEOtro As Integer = If(CveProveedor > 0 Or CvePersonal > 0, DdlIEDevolucion.SelectedValue.ToEntero, CveIE)
+
+ If CveCliente > 0 AndAlso Not DivIvaIxC.Visible AndAlso TxtIvaIxC.Text.ToDouble = 0 Then
+ 'RMF- CASO DONDE HAY UNA DEVOLUCION Y TENGO QUE AFECTAR LAS FACTURAS QUE SE HABIAN MARCADO COMO PAGADAS TENGO QUE REGRESARLAS A PENDIENTES
+ Dim Mov As New ClsMovimientos
+ If Mov.GetMovimientosIE(2, DdlIEDevolucion.SelectedValue.ToEntero, -1, Now, Now, 1, 0, UsuarioActual.CveEmpresa) Then
+ Dim DtIE As DataTable = Mov.DtResultados
+ For Each dr As DataRow In DtIE.Rows
+
+ If MsgError = "" AndAlso Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, If(dr("TipoMovto").ToString.ToEntero = 1, False, True), If(dr("CveConceptoContable").ToString.ToEntero.Contiene(66), -TxtImporte.Text.ToDecimal, dr("Importe").ToString.ToDecimal), "", dr("CveConceptoContable").ToString.ToEntero, "", Now, IDCtaBeneficiario, -1, CveIE, CveCliente:=dr("CveCliente").ToString.ToEntero, CveVenta:=dr("CveVenta").ToString.ToEntero, ImporteMX:=If(dr("CveConceptoContable").ToString.ToEntero.Contiene(66), -TxtImporte.Text.ToDecimal, -dr("Importe").ToString.ToDecimal), ImporteME:=tImporteMonedaExtranjera, CveCuenta:=CveCuentaBeneficiario) Then
+ MsgError = "no se pudo insertar el detalle de la póliza 2"
+ End If
+ Next
+ ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, TxtImporte.Text.ToDecimal, Ref, CveConceptoContable, Conc, Now, IDCtaContable, -1, CveIE, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=TxtImporte.Text.ToDecimal, ImporteME:=tImporteMonedaExtranjera, CveCuenta:=CveCuentaConta)
+
+ End If
+ Mov.Dispose()
+
+ 'Devolucion de INGxC Formato Charlie
+ ElseIf CveCliente > 0 AndAlso DivIvaIxC.Visible Then
+
+ Dim Mov As New ClsMovimientos
+ 'INGxC
+ ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, -(TxtImporte.Text.ToDecimal - TxtIvaIxC.Text.ToDecimal), Ref, 66, Conc, Now, IDCtaContable, -1, CveIE, CveIEDevolucion:=DdlIEDevolucion.SelectedValue.ToEntero, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=-(TxtImporte.Text.ToDecimal - TxtIvaIxC.Text.ToDecimal), ImporteME:=tImporteMonedaExtranjera, CveCuenta:=CveCuentaConta)
+
+ If TxtIvaIxC.Text.ToDouble > 0 Then
+ 'Iva
+ ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, -TxtIvaIxC.Text.ToDecimal, Ref, 61, Conc, Now, UsuarioActual.Empresa.IdCuentaIVAxTrasladar, -1, CveIE, CveIEDevolucion:=DdlIEDevolucion.SelectedValue.ToEntero, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=-TxtIvaIxC.Text.ToDecimal, ImporteME:=tImporteMonedaExtranjera, CveCuenta:=UsuarioActual.Empresa.CveCuentaIVAxTrasladar)
+ End If
+
+ 'Bancos
+ ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, -TxtImporte.Text.ToDecimal, Ref, 30, Conc, Now, IDCtaBeneficiario, -1, CveIE, CveIEDevolucion:=DdlIEDevolucion.SelectedValue.ToEntero, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=-TxtImporte.Text.ToDecimal, ImporteME:=tImporteMonedaExtranjera, CveCuenta:=CveCuentaBeneficiario)
+ Mov.Dispose()
+
+ Else
+ If ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, TxtImporte.Text.ToDecimal, Ref, CveConceptoContable, Conc, Now, IDCtaContable, -1, CveIE, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=TxtImporte.Text.ToDecimal, ImporteME:=tImporteMonedaExtranjera, CveCuenta:=CveCuentaConta) Then
+ If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, TxtImporte.Text.ToDecimal, Ref, CveConceptoCompra, Conc, Now, IDCtaBeneficiario, -1, CveIE:=If(CveIEOtro < 0, CveIE, CveIEOtro), CveCompra:=CveCompra, CveProveedor:=CveProveedor, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=TxtImporte.Text.ToDecimal, ImporteME:=tImporteMonedaExtranjera, CveCuenta:=CveCuentaBeneficiario) Then
+ MsgError = "no se pudo insertar el detalle de la póliza 2"
+ End If
+ Else
+ MsgError = "no se pudo insertar el detalle de la póliza"
+ End If
+
+ End If
+
+
+ Case "INGPC"
+ Dim ConceptoContable As Integer
+ Dim TipoMovimiento As Boolean
+ Dim importeMovimiento As Decimal
+ Dim FechaMovimiento As Date = Now
+ Dim Concepto As String = ""
+ Dim Referencia As String = PagueseA
+
+ Dim importeMX As Decimal
+ Dim Multiplicador As Integer
+
+ If ObjMov.GetPlantillaConceptos(UsuarioActual.CveEmpresa, CvePlantillaPoliza) Then
+
+ For Each Row As DataRow In ObjMov.DtResultados.Rows
+
+ ConceptoContable = Row("CveConcepto").ToString.ToEntero
+ TipoMovimiento = If(Row("TipoMovto").ToString = "True", True, False)
+ importeMovimiento = 0
+ Multiplicador = (Row("Multiplicador").ToString.ToEntero)
+ Concepto = ObjMov.ObtenerConceptoEmpresa(UsuarioActual.CveEmpresa, ConceptoContable, PagueseA, "", ObjIE.Folio)
+
+ Select Case ConceptoContable
+
+ Case 10
+ If RBL.SelectedValue = "P" AndAlso CveProveedor > 0 Then
+ importeMovimiento = TxtImporte.Text.ToDecimal
+ importeMX = importeMovimiento
+ End If
+
+ Case 28
+ If RBL.SelectedValue = "FE" AndAlso CvePersonal > 0 Then
+ importeMovimiento = TxtImporte.Text.ToDecimal
+ importeMX = importeMovimiento
+ End If
+
+ Case 37
+ If RBL.SelectedValue = "DD" AndAlso CveProveedor > 0 Then
+ importeMovimiento = TxtImporte.Text.ToDecimal
+ importeMX = importeMovimiento
+ End If
+
+ Case 41
+ If RBL.SelectedValue = "AC" AndAlso CveProveedor > 0 Then
+ importeMovimiento = TxtImporte.Text.ToDecimal
+ importeMX = importeMovimiento
+ End If
+
+ Case 46
+
+ If TxtInteresMoratorio.Text.ToDecimal > 0 Then
+ importeMovimiento = TxtInteresMoratorio.Text.ToDecimal
+ importeMX = importeMovimiento
+ Else
+ importeMovimiento = 0
+ importeMX = 0
+ End If
+
+
+ Case 50
+ If RBL.SelectedValue = "DP" AndAlso CveProveedor > 0 Then
+ importeMovimiento = TxtImporte.Text.ToDecimal
+ importeMX = importeMovimiento
+ End If
+
+ Case 66
+ If RBL.SelectedValue = "C" AndAlso CveCliente > 0 Then
+ importeMovimiento = TxtImporte.Text.ToDecimal - TxtIvaIxC.Text.ToDecimal
+ importeMX = importeMovimiento
+
+ 'Agregamos el IVA
+ If DivIvaIxC.Visible AndAlso TxtIvaIxC.Text.ToDecimal <> 0 Then
+ If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, TxtIvaIxC.Text.ToDecimal, Concepto, 61, Concepto, FechaMovimiento, UsuarioActual.Empresa.IdCuentaIVAxTrasladar, -1, CveIE:=CveIE, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=TxtIvaIxC.Text.ToDecimal, ImporteME:=tImporteMonedaExtranjera, CveCuenta:=UsuarioActual.Empresa.CveCuentaIVAxTrasladar) Then
+ MsgError = "Ocurrió un error al registrar el asiento del ingreso."
+ End If
+ End If
+ If tCveMoneda > 1 AndAlso UsuarioActual.CveEmpresa = 119 Then
+ 'Agregamos complementaria
+ Dim TC As Decimal = TxtTipoCambio.Text.ToDecimal
+
+ If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, 0, Concepto, 226, Concepto, FechaMovimiento, IDCtaBeneficiarioComplementaria, -1, CveIE:=CveIE, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=(importeMovimiento * TC - importeMovimiento).RoundSQL, ImporteME:=importeMovimiento, TipoCambio:=TC, CveCuenta:=0) Then
+ MsgError = "Ocurrió un error al registrar el asiento del ingreso."
+ End If
+
+ End If
+
+ End If
+
+ Case 30
+ importeMovimiento = TxtImporte.Text.ToDecimal
+ importeMX = importeMovimiento
+
+ If tCveMoneda > 1 AndAlso UsuarioActual.CveEmpresa = 119 Then
+ 'Agregamos complementaria
+ Dim TC As Decimal = TxtTipoCambio.Text.ToDecimal
+
+ If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, 0, Concepto, 204, Concepto, FechaMovimiento, IDCtaContableComplementaria, -1, CveIE:=CveIE, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=(importeMovimiento * TC - importeMovimiento).RoundSQL, ImporteME:=importeMovimiento, TipoCambio:=TC, CveCuenta:=UsuarioActual.Empresa.CveCuentaIVAxTrasladar) Then
+ MsgError = "Ocurrió un error al registrar el asiento del ingreso."
+ End If
+
+ End If
+
+ End Select
+
+ If importeMovimiento <> 0 Then
+ If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, importeMovimiento, Concepto, ConceptoContable, Concepto, FechaMovimiento, If(ConceptoContable = 30, IDCtaContable, IDCtaBeneficiario), -1, CveIE:=CveIE, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=importeMovimiento, ImporteME:=tImporteMonedaExtranjera, TipoCambio:=TxtTipoCambio.Text.ToDecimal, CveCuenta:=If(ConceptoContable = 30, CveCuentaConta, CveCuentaBeneficiario)) Then
+ MsgError = "Ocurrió un error al registrar el asiento del ingreso."
+ End If
+ End If
+
+ Next
+
+ End If
+
+
+ Case "DevDinV"
+ Dim IdCtaContableAplicar = -1
+ Dim ImporteAplicar = 0.0D
+ Dim ImporteAplicarMN = 0.0D
+ Dim ImporteAplicarME = 0.0D
+ Dim ReferenciaAplicar = ObjIE.Folio
+ Dim ConceptoAplicar = $"Devolución al cliente {PagueseA} {TxtImporte.Text} NC:{SerieFolioDevDin}"
+
+ ImporteAplicar = TxtImporte.Text.ToDecimal
+ ImporteAplicarME = ImporteAplicar
+
+ 'CONSIDERA COMPLEMENTARIA
+ If DdlMoneda.SelectedValue.ToEntero > 1 AndAlso UsuarioActual.CveEmpresa.Contiene(1, 119) Then
+ ImporteAplicarMN = ImporteAplicar
+ Else
+ ImporteAplicarMN = (ImporteAplicar * If(DdlMoneda.SelectedValue.ToEntero = 1, 1, TxtTipoCambio.Text.ToDecimal)).RoundSQL()
+ End If
+
+ 'BANCOS
+ IdCtaContableAplicar = If(IDCtaContable > 0, IDCtaContable, 0)
+ If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, ImporteAplicar, ReferenciaAplicar, 30, ConceptoAplicar, Now, IdCtaContableAplicar, -1, CveIE, CveVenta:=CveVentaDevDin, CveCliente:=CveCliente, ImporteMX:=ImporteAplicarMN, ImporteME:=ImporteAplicarME, CveCuenta:=CveCuentaConta) Then
+ MsgError = "Ocurrió un error al registrar el asiento de bancos de devolución"
+ Exit Select
+ End If
+
+ 'BANCOS COMPLEMENTARIA
+ If DdlMoneda.SelectedValue.ToEntero > 1 AndAlso UsuarioActual.CveEmpresa.Contiene(1, 119) Then
+ ImporteAplicarMN = ((ImporteAplicar * If(DdlMoneda.SelectedValue.ToEntero = 1, 1, TxtTipoCambio.Text.ToDecimal)) - ImporteAplicar).RoundSQL()
+ If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, ImporteAplicar, ReferenciaAplicar, 204, ConceptoAplicar, Now, IdCtaContableAplicar, -1, CveIE, CveVenta:=CveVentaDevDin, CveCliente:=CveCliente, ImporteMX:=ImporteAplicarMN, ImporteME:=ImporteAplicarME, CveCuenta:=CveCuentaConta) Then
+ MsgError = "Ocurrió un error al registrar el asiento de bancos complementaria de devolución"
+ End If
+ End If
- Alert(MsgError, TipoMensaje.MsgError)
+ 'OTROS INGRESOS/EGRESOS
+ Dim Impo As Decimal = TxtOtrosIngresosEgresos.Text.ToDecimal
+ If TxtOtrosIngresosEgresos.Text.ToDecimal <> 0 Then
+ 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
+
+ '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)
+ Dim CveConceptoContableAplciar = -1
+ Dim TipoMovtoAplicar = False
+
+ For Each Dr As DataRow In ObjMov.DtResultados.FiltraParametros("CveConceptoContable IN (13,8,9,38)").Rows
+ CveConceptoContableAplciar = Dr("CveConceptoContable").ToString.ToEntero
+ TipoMovtoAplicar = Not CBool(Dr("TipoMovto").ToString)
+ ImporteAplicar = (Dr("Importe").ToString.ToDecimal * PorcentajePagoDevDin).RoundSQL()
+ ImporteAplicarMN = (Dr("ImporteMN").ToString.ToDecimal * PorcentajePagoDevDin).RoundSQL()
+ ImporteAplicarME = (Dr("ImporteME").ToString.ToDecimal * PorcentajePagoDevDin).RoundSQL()
+ IdCtaContableAplicar = Dr("IdCtaContable").ToString.ToEntero
+
+ If ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoAplicar, ImporteAplicar, ReferenciaAplicar, CveConceptoContableAplciar, ConceptoAplicar, Now, IdCtaContableAplicar, -1, CveIE, CveVenta:=CveVentaDevDin, CveCliente:=CveCliente, ImporteMX:=ImporteAplicarMN, ImporteME:=ImporteAplicarME) Then
+ Select Case CveConceptoContableAplciar
+ Case 13
+ CveConceptoContableAplciar = 61
+ Case 8
+ CveConceptoContableAplciar = 62
+ Case 9
+ CveConceptoContableAplciar = 63
+ Case 38
+ CveConceptoContableAplciar = 39
+ End Select
+ TipoMovtoAplicar = Not TipoMovtoAplicar
+ If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoAplicar, ImporteAplicar, ReferenciaAplicar, CveConceptoContableAplciar, ConceptoAplicar, Now, IdCtaContableAplicar, -1, CveIE, CveVenta:=CveVentaDevDin, CveCliente:=CveCliente, ImporteMX:=ImporteAplicarMN, ImporteME:=ImporteAplicarME) Then
+ MsgError = "Ocurrió un error al registrar el asiento de impuestos de devolución"
+ Exit Select
+ End If
+ Else
+ MsgError = "Ocurrió un error al registrar el asiento de impuestos de devolución"
+ Exit Select
+ End If
+
+ Next
+ End If
+
+ Case "DevDinC"
+ 'asdasdasd
+ 'asdasdasdasd
+ Dim IdCtaContableAplicar = -1
+ Dim ImporteAplicar = 0.0D
+ Dim ImporteAplicarMN = 0.0D
+ Dim ImporteAplicarME = 0.0D
+ Dim ReferenciaAplicar = ObjIE.Folio
+
+ Dim ConceptoAplicar = $"Devolución de Proveedor {PagueseA} {TxtImporte.Text} NC:{SerieFolioDeCDin}"
+
+ ImporteAplicar = TxtImporte.Text.ToDecimal
+ ImporteAplicarME = ImporteAplicar
+
+
+ 'CONSIDERA COMPLEMENTARIA
+ If DdlMoneda.SelectedValue.ToEntero > 1 AndAlso UsuarioActual.CveEmpresa.Contiene(1, 119) Then
+ ImporteAplicarMN = ImporteAplicar
+ Else
+ ImporteAplicarMN = (ImporteAplicar * If(DdlMoneda.SelectedValue.ToEntero = 1, 1, TxtTipoCambio.Text.ToDecimal)).RoundSQL()
+ End If
+
+ Dim TCCompra As Decimal = 1
+ Dim TCDocumento As Decimal = 1
+
+ If DdlMoneda.SelectedValue.ToEntero > 1 AndAlso UsuarioActual.CveEmpresa.Contiene(1, 119) Then
+
+ TCCompra = GlobalTipoCambio(FechaCompra).ToDecimal
+ TCDocumento = GlobalTipoCambio(TxtFechaDocumento.Text.ToDate).ToDecimal
+
+ If TCCompra <= 0 Then
+ Alert("No se pudo obtener el tipo de cambio de la nota de crédito.", TipoMensaje.MsgAdvertencia)
+ End If
+
+ If TCCompra <= 0 Then
+ Alert("No se pudo obtener el tipo de cambio del documentpo.", TipoMensaje.MsgAdvertencia)
+ End If
+
+ End If
+
+
+
+ 'BANCOS
+ IdCtaContableAplicar = If(IDCtaContable > 0, IDCtaContable, 0)
+ If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, ImporteAplicar, ReferenciaAplicar, 30, ConceptoAplicar, Now, IdCtaContableAplicar, -1, CveIE, CveCompra:=CveCompraDeCDin, CveProveedor:=CveProveedor, ImporteMX:=ImporteAplicarMN, ImporteME:=ImporteAplicarME, CveCuenta:=CveCuentaConta, TipoCambio:=TCDocumento) Then
+ MsgError = "Ocurrió un error al registrar el asiento de bancos de devolución"
+ Exit Select
+ End If
+
+
+ 'BANCOS COMPLEMENTARIA
+ If DdlMoneda.SelectedValue.ToEntero > 1 AndAlso UsuarioActual.CveEmpresa.Contiene(1, 119) Then
+ ImporteAplicarMN = ((ImporteAplicar * If(DdlMoneda.SelectedValue.ToEntero = 1, 1, TCDocumento)) - ImporteAplicar).RoundSQL()
+ If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, ImporteAplicar, ReferenciaAplicar, 204, ConceptoAplicar, Now, IdCtaContableAplicar, -1, CveIE, CveCompra:=CveCompraDeCDin, CveProveedor:=CveProveedor, ImporteMX:=ImporteAplicarMN, ImporteME:=ImporteAplicarME, CveCuenta:=CveCuentaConta, TipoCambio:=TCDocumento) Then
+ MsgError = "Ocurrió un error al registrar el asiento de bancos complementaria de devolución"
+ End If
+ End If
+
+ '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
+ 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), ReferenciaAplicar, 18, ConceptoAplicar, Now, IdCtaContableAplicar, -1, CveIE, CveCompra:=CveCompraDeCDin, CveProveedor:=CveProveedor, ImporteMX:=(ImporteAplicarMN), ImporteME:=ImporteAplicarME, TipoCambio:=TCCompra) Then
+ MsgError = "Ocurrió un error al registrar el asiento de pago de devolución"
+ Exit Select
+ End If
+
+
+ 'NC COMPLEMENTARIA
+ If DdlMoneda.SelectedValue.ToEntero > 1 AndAlso UsuarioActual.CveEmpresa.Contiene(1, 119) Then
+
+ ImporteAplicarMN = ((ImporteAplicar * If(DdlMoneda.SelectedValue.ToEntero = 1, 1, TCCompra)) - ImporteAplicar).RoundSQL()
+
+ If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, -(ImporteAplicar), ReferenciaAplicar, 201, ConceptoAplicar, Now, IdCtaContableAplicar, -1, CveIE, CveCompra:=CveCompraDeCDin, CveProveedor:=CveProveedor, ImporteMX:=-(ImporteAplicarMN), ImporteME:=-(ImporteAplicarME), CveCuenta:=CveCuentaConta, TipoCambio:=TCCompra) Then
+ MsgError = "Ocurrió un error al registrar el asiento de bancos complementaria de devolución"
+ End If
+
+ End If
+
+ If TCCompra <> TCDocumento Then
+
+ Dim DiferenciaTC As Decimal = TCCompra - TCDocumento
+
+ Dim DiferenciaImportes As Decimal = Math.Abs((ImporteAplicar * TCCompra) - (ImporteAplicar * TCDocumento))
+
+ If DiferenciaTC < 0 Then
+ '64
+ If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, DiferenciaImportes, ReferenciaAplicar, 64, ConceptoAplicar, Now, UsuarioActual.Empresa.IdCuentaGananciaCambiaria, -1, CveIE, CveCompra:=CveCompraDeCDin, CveProveedor:=CveProveedor, ImporteMX:=DiferenciaImportes, ImporteME:=0, CveCuenta:=CveCuentaConta, TipoCambio:=TCCompra) Then
+ MsgError = "Ocurrió un error al registrar el asiento de ganancia cambiaria"
+ Exit Select
+ End If
+
+ Else
+ '65
+ If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, DiferenciaImportes, ReferenciaAplicar, 65, ConceptoAplicar, Now, UsuarioActual.Empresa.IdCuentaPerdidaCambiaria, -1, CveIE, CveCompra:=CveCompraDeCDin, CveProveedor:=CveProveedor, ImporteMX:=DiferenciaImportes, ImporteME:=0, CveCuenta:=CveCuentaConta, TipoCambio:=TCCompra) Then
+ MsgError = "Ocurrió un error al registrar el asiento de perdidada cfambiaria"
+ Exit Select
+ End If
+
+ End If
+
+
+
+ End If
+
+ 'IMPUESTOS
+
+ Dim PorcentajePagoDevDin = (TxtImporte.Text.ToDecimal / ImporteOriginalDevDin).RoundSQL(6)
+ Dim CveConceptoContableAplciar = -1
+ Dim TipoMovtoAplicar = False
+
+
+ Dim ObjCompras As New ClsCompras()
+ If ObjCompras.GetCompras(CveCompraDeCDin, "-1", "-1", -1, -1, UsuarioActual.CveEmpresa) Then
+
+ Dim dr As DataRow = ObjCompras.DtResultados.Rows(0)
+ If dr IsNot Nothing Then
+
+ Dim CveMonedaDev As Integer = dr("CveMoneda").ToString.ToEntero
+ Dim TotalCompraDev As Decimal = dr("Total").ToString.ToDecimal
+
+ Dim IVADev As Decimal = dr("IVA").ToString.ToDecimal
+ Dim IEPSDev As Decimal = dr("IEPS").ToString.ToDecimal
+ PorcentajeCompraDevDinC = ObjCompras.DtResultados.Rows(0)("PorcentajeIVA").ToString.ToDecimal
+
+ Dim DTCuentas As DataTable = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeCompraDevDinC)
+ Dim CveCuentaIVAxAcreditarDevDinC = 0
+ Dim CveCuentaIVAAcreditableDevDinC = 0
+ Dim IdCtaIVAXAcreditarDevDinC = DTCuentas.Rows(0)("IdCtaIVAXAcreditar").ToString.ToEntero
+ Dim IdCtaIVAAcreditableDevDinC = DTCuentas.Rows(0)("IdCtaIVAAcreditable").ToString.ToEntero
+
+
+ Dim IVADevMN As Decimal = 0
+ Dim IEPSDevMN As Decimal = 0
+
+
+ Dim PorcentajeDevolucion As Decimal = ((TxtImporte.Text.ToDecimal * 100D / TotalCompraDev) / 100).RoundSQL(2)
+
+ IVADev = Math.Round(IVADev * PorcentajeDevolucion, 2)
+ IEPSDev = Math.Round(IEPSDev * PorcentajeDevolucion, 2)
+
+ Dim CveCuentaDevolucionIMPUESTOS As Integer = -1
+ Dim IdCtaIVADevolucionIMPUESTOS As Integer = -1
+
+
+ If DdlMoneda.SelectedValue.ToEntero > 1 AndAlso UsuarioActual.CveEmpresa.Contiene(1, 119) Then
+ IVADevMN = IVADev
+ IEPSDevMN = IEPSDev
+ Else
+ IVADevMN = (IVADev * If(CveMonedaDev = 1, 1, TxtTipoCambio.Text.ToDecimal)).RoundSQL(2)
+ IEPSDevMN = (IEPSDev * If(CveMonedaDev = 1, 1, TxtTipoCambio.Text.ToDecimal)).RoundSQL(2)
+ End If
+
+
+ Dim ErrorDevolucionImpuestos As Boolean = False
+
+ If IVADev > 0 Then
+
+ CveCuentaDevolucionIMPUESTOS = CveCuentaIVAxAcreditarDevDinC
+ IdCtaIVADevolucionIMPUESTOS = IdCtaIVAXAcreditarDevDinC
+
+ If ObjMov.AddPrePolizasDetalle(CvePrePoliza, Not TipoMovtoAplicar, -IVADev, ReferenciaAplicar, 14, ConceptoAplicar, Now, IdCtaIVADevolucionIMPUESTOS, -1, CveIE, CveCompra:=CveCompraDeCDin, CveProveedor:=CveProveedor, ImporteMX:=-IVADevMN, ImporteME:=-IVADev, CveCuenta:=CveCuentaDevolucionIMPUESTOS) Then
+
+ CveCuentaDevolucionIMPUESTOS = CveCuentaIVAAcreditableDevDinC
+ IdCtaIVADevolucionIMPUESTOS = IdCtaIVAAcreditableDevDinC
+
+ If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoAplicar, -IVADev, ReferenciaAplicar, 19, ConceptoAplicar, Now, IdCtaIVADevolucionIMPUESTOS, -1, CveIE, CveCompra:=CveCompraDeCDin, CveProveedor:=CveProveedor, ImporteMX:=-IVADevMN, ImporteME:=-IVADev, CveCuenta:=CveCuentaDevolucionIMPUESTOS) Then
+ MsgError = "Ocurrió un error al registrar el asiento de impuestos de devolución"
+ ErrorDevolucionImpuestos = True
+ End If
+ Else
+ MsgError = "Ocurrió un error al registrar el asiento de impuestos de devolución"
+ ErrorDevolucionImpuestos = True
+
+ End If
+ End If
+
+
+ If IEPSDev > 0 Then
+ 'Dim ObjContabilidad As New ClsContabilidad
+ If ObjMov.GetRetCuenta(25, UsuarioActual.CveEmpresa) Then
+ Try
+ CveCuentaDevolucionIMPUESTOS = ObjMov.DtResultados.Rows(0)("IdCuentaIEPSxAcreditarSIG").ToString.ToEntero
+ IdCtaIVADevolucionIMPUESTOS = ObjMov.DtResultados.Rows(0)("IdCuentaIEPSxAcreditar").ToString.ToEntero
+
+ If ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoAplicar, -IEPSDev, ReferenciaAplicar, 25, ConceptoAplicar, Now, IdCtaIVADevolucionIMPUESTOS, -1, CveIE, CveCompra:=CveCompraDeCDin, CveProveedor:=CveProveedor, ImporteMX:=-IEPSDevMN, ImporteME:=-IEPSDev, CveCuenta:=CveCuentaDevolucionIMPUESTOS) Then
+
+ If ObjMov.GetRetCuenta(26, UsuarioActual.CveEmpresa) Then
+ Try
+ CveCuentaDevolucionIMPUESTOS = ObjMov.DtResultados.Rows(0)("IdCuentaIEPSAcreditableSIG").ToString.ToEntero
+ IdCtaIVADevolucionIMPUESTOS = ObjMov.DtResultados.Rows(0)("IdCuentaIEPSAcreditable").ToString.ToEntero
+
+ If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoAplicar, -IEPSDev, ReferenciaAplicar, 26, ConceptoAplicar, Now, IdCtaIVADevolucionIMPUESTOS, -1, CveIE, CveCompra:=CveCompraDeCDin, CveProveedor:=CveProveedor, ImporteMX:=-IEPSDevMN, ImporteME:=-IEPSDev, CveCuenta:=CveCuentaDevolucionIMPUESTOS) Then
+ MsgError = "Ocurrió un error al registrar el asiento de impuestos de devolución"
+ ErrorDevolucionImpuestos = True
+ End If
+
+
+ Catch ex As Exception
+ Alert("Se presento un error al obtener las cuentas de IEPS acreditable.")
+ ErrorDevolucionImpuestos = True
+ End Try
+
+ End If
+
+ Else
+ MsgError = "Ocurrió un error al registrar el asiento de impuestos de devolución"
+ ErrorDevolucionImpuestos = True
+ End If
+
+ Catch ex As Exception
+ Alert("Se presento un error al obtener las cuentas de IEPS acreditable.")
+ ErrorDevolucionImpuestos = True
+ End Try
+ End If
+ End If
+
+ If ErrorDevolucionImpuestos Then
+ MsgError = MsgError & " Error en devolución compra."
+ End If
+
+
+ End If
+ End If
+
+
+
+ Case "EGSCREDITO"
+
+ Dim ConceptoContable As Integer
+ Dim TipoMovimiento As Boolean
+ Dim importeMovimiento As Decimal
+ Dim FechaMovimiento As Date = Now
+ Dim Concepto As String = ""
+ Dim Referencia As String = PagueseA
+
+ Dim importeMX As Decimal
+ Dim Multiplicador As Integer
+
+ If ObjMov.GetPlantillaConceptos(UsuarioActual.CveEmpresa, CvePlantillaPoliza) Then
+
+ For Each Row As DataRow In ObjMov.DtResultados.Rows
+
+ ConceptoContable = Row("CveConcepto").ToString.ToEntero
+ TipoMovimiento = If(Row("TipoMovto").ToString = "True", True, False)
+ importeMovimiento = 0
+ Multiplicador = (Row("Multiplicador").ToString.ToEntero)
+ Concepto = ObjMov.ObtenerConceptoEmpresa(UsuarioActual.CveEmpresa, ConceptoContable, PagueseA, "", ObjIE.Folio)
+
+ Select Case ConceptoContable
+
+ Case 30
+ importeMovimiento = TxtImporte.Text.ToDecimal
+ importeMX = importeMovimiento
+ If tCveMoneda > 1 AndAlso UsuarioActual.CveEmpresa = 119 Then
+ 'Agregamos complementaria
+ Dim TC As Decimal = TxtTipoCambio.Text.ToDecimal
+
+ If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, 0, Concepto, 204, Concepto, FechaMovimiento, IDCtaContableComplementaria, -1, CveIE:=CveIE, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=(importeMovimiento * TC - importeMovimiento).RoundSQL, ImporteME:=importeMovimiento, TipoCambio:=TC, CveCuenta:=UsuarioActual.Empresa.CveCuentaIVAxTrasladar) Then
+ MsgError = "Ocurrió un error al registrar el asiento del ingreso."
+ End If
+ End If
+ Case 42
+
+ importeMovimiento = TxtImporte.Text.ToDecimal
+ importeMX = importeMovimiento
+
+
+
+ Case 46
+ If TxtInteresMoratorio.Text.ToDecimal > 0 Then
+ importeMovimiento = TxtInteresMoratorio.Text.ToDecimal
+ importeMX = importeMovimiento
+ Else
+ importeMovimiento = 0
+ importeMX = 0
+ End If
+ Case 48
+
+ importeMovimiento = TxtImporte.Text.ToDecimal
+ importeMX = importeMovimiento
+
+ End Select
+
+ If importeMovimiento <> 0 Then
+ If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, importeMovimiento, Concepto, ConceptoContable, Concepto, FechaMovimiento, If(ConceptoContable = 30, IDCtaContable, IDCtaBeneficiario), -1, CveIE:=CveIE, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=importeMovimiento, ImporteME:=tImporteMonedaExtranjera, TipoCambio:=TxtTipoCambio.Text.ToDecimal, CveCuenta:=If(ConceptoContable = 30, CveCuentaConta, CveCuentaBeneficiario)) Then
+ MsgError = "Ocurrió un error al registrar el asiento del ingreso."
+ End If
+ End If
+
+ Next
+ End If
+
+ Case Else
+ Dim TipoMovimiento As Boolean = True
+
+ If Opcion.Contiene("ANTC") Then
+ TipoMovimiento = False
+ End If
+
+ If CveConceptoCompra = 10 AndAlso DdlMoneda.SelectedValue.ToEntero > 1 AndAlso UsuarioActual.CveEmpresa.Contiene(1, 119) Then
+ IDCtaBeneficiario = IdCtaAnticipoExtranjera
+ CveCuentaConta = 0
+ End If
+
+ 'MOVIMIENTOS EGRESOS
+ If ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, TxtImporte.Text.ToDecimal, Ref, CveConceptoContable, Conc, Now, IDCtaContable, -1, CveIE, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CveOC:=CveOrdenCompra, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=TxtImporte.Text.ToDecimal, ImporteME:=tImporteMonedaExtranjera, CveCuenta:=CveCuentaConta, CveIEDevolucion:=DDlCheques.SelectedValue.ToEntero) Then
+ Dim IVA As Decimal = 0 ' TxtImporte.Text.ToDouble * HdnProvPorIVA.Value.ToDouble
+ If ObjMov.AddPrePolizasDetalle(CvePrePoliza, Not TipoMovimiento, TxtImporte.Text.ToDecimal - IVA - CIF, Ref, CveConceptoCompra, Conc, Now, IDCtaBeneficiario, -1, CveIE, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CveOC:=CveOrdenCompra, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=TxtImporte.Text.ToDecimal, ImporteME:=tImporteMonedaExtranjera, CveCuenta:=CveCuentaBeneficiario, CveIEDevolucion:=DdlIEAcreedor.SelectedValue.ToEntero) Then
+ If IVA > 0 AndAlso Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, IVA, Ref, 19, Conc, Now, IDCtaBeneficiario, -1, CveIE, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CveOC:=CveOrdenCompra, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=TxtImporte.Text.ToDecimal, ImporteME:=tImporteMonedaExtranjera, CveCuenta:=CveCuentaBeneficiario, CveIEDevolucion:=DDlCheques.SelectedValue.ToEntero) Then
+ MsgError = "Detalle"
+ End If
+ 'intereses pagados
+ If CIF > 0 AndAlso Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, CIF, Ref, 46, Conc, Now, IDCtaBeneficiario, -1, CveIE, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CveOC:=CveOrdenCompra, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=CIF, ImporteME:=tImporteMonedaExtranjera, CveCuenta:=CveCuentaBeneficiario, CveIEDevolucion:=DDlCheques.SelectedValue.ToEntero) Then
+ MsgError = "Detalle"
+ End If
+ Else
+ MsgError = "no se pudo insertar el detalle de la póliza2"
+ End If
+ Else
+ MsgError = "no se pudo insertar el detalle de la póliza"
+ End If
+
+ 'BANCOS COMPLEMENTARIA
+ If DdlMoneda.SelectedValue.ToEntero > 1 AndAlso UsuarioActual.CveEmpresa.Contiene(1, 119) Then
+ Dim ImporteAplicar As Decimal = TxtImporte.Text.ToDecimal
+ Dim ImporteAplicarMN = (ImporteAplicar * TxtTipoCambio.Text.ToDecimal - ImporteAplicar).RoundSQL()
+ If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteAplicar, Ref, 204, Conc, Now, IDCtaContableComplementaria, -1, CveIE, CveCompra:=CveCompraDeCDin, CveProveedor:=CveProveedor, ImporteMX:=ImporteAplicarMN, ImporteME:=ImporteAplicar, CveCuenta:=CveCuentaConta, TipoCambio:=TxtTipoCambio.Text.ToDecimal) Then
+ MsgError = "Ocurrió un error al registrar el asiento de bancos complementaria de devolución"
+ End If
+
+ If CveConceptoCompra = 10 Then
+ If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, Not TipoMovimiento, ImporteAplicar, Ref, 266, Conc, Now, IdCtaAnticipoComplementaria, -1, CveIE, CveCompra:=CveCompraDeCDin, CveProveedor:=CveProveedor, ImporteMX:=ImporteAplicarMN, ImporteME:=ImporteAplicar, CveCuenta:=0, TipoCambio:=TxtTipoCambio.Text.ToDecimal) Then
+ MsgError = "Ocurrió un error al registrar el asiento de bancos complementaria de devolución"
+ End If
+ End If
+
+
+ End If
+
+
+
+ If Opcion.Contiene("EGSSINFACT") AndAlso CveSolicitudViatico > 0 AndAlso MsgError = "" Then
+ If Not ObjIE.UpdateSolicitudesViaticosIE(CveSolicitudViatico, CveIE) Then
+ MsgError = "Ocurrió un error al vincular el egreso con la solicitud de viatico."
+ End If
+ End If
+
+ End Select
+
+ 'El movimiento 1 es el de Venta
+ 'Conta SIG
+ If UsuarioActual.Empresa.Funcionalidad(200) = "1" AndAlso MsgError = "" AndAlso UsuarioActual.Empresa.UsaContabilidadSIG Then
+ If CveCuentaBeneficiario > 0 And CveCuentaConta > 0 Then
+ If ObjMov.ContabilizarPrePolizaSIG(CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.Empresa) Then
+ IDPoliza = ObjMov.ContaIdPoliza
+ Else
+ Alert("Ocurrio un error al contabilizar en SIG, pongase en contacto con Soporte Técnico", TipoMensaje.MsgError)
+ End If
+ Else
+ If CveCuentaConta < 1 Then
+ Alert("No se puede contabilizar la Prepoliza en SIG debido a que la cuenta de Bancos es invalida", TipoMensaje.MsgAdvertencia)
+ End If
+ If CveCuentaBeneficiario < 1 Then
+ Alert("No se puede contabilizar la Prepoliza en SIG debido a que las cuenta del Beneficiario es invalida", TipoMensaje.MsgAdvertencia)
+ End If
+ End If
+ End If
+
+ 'Conta ContPAQ
+ If UsuarioActual.Empresa.Funcionalidad(200) = "1" AndAlso MsgError = "" Then
+ If IDCtaBeneficiario > 0 And IDCtaContable > 0 Then
+ If ObjMov.ContabilizarPrePoliza(CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.Empresa) Then
+ IDPoliza = ObjMov.ContaIdPoliza
+ 'Alert(alertaContabilizacion & ObjMov.AlertaMensaje, ModExtensiones.TipoMensaje.MsgInformacion)
+ Else
+ Alert("Ocurrio un error al contabilizar, pongase en contacto con Soporte Técnico", TipoMensaje.MsgError)
+ End If
+ Else
+ If IDCtaContable < 1 Then
+ Alert("No se puede contabilizar la Prepoliza debido a que la cuenta de Bancos es invalida", TipoMensaje.MsgAdvertencia)
+ End If
+ If IDCtaBeneficiario < 1 Then
+ Alert("No se puede contabilizar la Prepoliza debido a que las cuenta del Beneficiario es invalida", TipoMensaje.MsgAdvertencia)
+ End If
+ End If
+ End If
+
+ If UsuarioActual.Empresa.UsaAC Then
+ Dim ConceptoRenglon, Referencia As String
+ Dim FolioPoliza As Integer
+ Dim Fecha As Date = TxtFechaDocumento.Text.ToDate
+ Dim TipoChq As String = ""
+ Dim Total As Double = TxtImporte.Text.ToDouble
+
+ Dim Conta As New ClsContPAQi(UsuarioActual.Empresa)
+ Conta.IniciaTransacSQL()
+
+ If DdlTipoTransaccion.SelectedValue = "1" Then TipoChq = "CHQ"
+ ConceptoRenglon = String.Format("Anticipo {0}", PagueseA)
+
+ IDPoliza = Conta.AddPoliza(2, ConceptoRenglon, Total, Total, UsuarioActual.CveUsuario, Fecha, ObjIE.Folio, TipoChq)
+
+ If IDPoliza > 0 Then
+ FolioPoliza = Conta.Folio
+ Referencia = ObjIE.Folio
+ ConceptoRenglon = String.Format("Anticipo {0} {1}", PagueseA, TxtObservaciones.Text)
+
+ Total = TxtImporte.Text.ToDouble
+
+ If Not Conta.AddMovimiento(IDPoliza, IDCtaContable, True, Total, Referencia, ConceptoRenglon, 0, Fecha, "") Then MsgError = "No se insertó el movimiento"
+
+ If Not Conta.AddMovimiento(IDPoliza, IDCtaBeneficiario, False, Total, Referencia, ConceptoRenglon, 0, Fecha, "") Then MsgError = "No se insertó el movimiento"
+
+ Else
+ MsgError = "No se insertó el encabezado"
+ End If
+
+ If MsgError = "" Then
+ Conta.Commit()
+
+ Conta.AjustaPoliza(IDPoliza)
+ 'actualizar la conta del IE
+ ObjIE.UpdateIEPrePoliza(Fecha, FolioPoliza.ToString, IDPoliza, CvePrePoliza, CveIE, 0)
+ Else
+ Conta.RollBack()
+ IDPoliza = 0
+ End If
+
+ Conta.Dispose()
+ End If
+
+ 'Notificación de Pago
+ If TxtNotificarA.Text.Trim <> "" Then
+ NotificacionPago(CveIE, TxtNotificarA.Text.Trim)
+ End If
+
+ Else
+ MsgError = "No se pudo insertar la póliza"
+ End If
+
+ Else
+ MsgError = "No se insertó el encabezado"
+ End If
+
+ End If
+
+ Else
+ Msg.Append("El Documento se guardó correctamente.")
+
+ End If
+
+ 'SOLICITUD DE ANTICIPO OC
+ If MsgError = "" Then
+ MsgError = GuardaSolicitudAnticipoOC(ObjOC)
+ End If
+
+ If MsgError = "" Then
+ 'VIATICOS
+ If ChkAplicaViatico.Checked Then
+ Dim Retorno As String = TimbrarNomina12(CvePersonal)
+ If Retorno <> "" Then MsgError = $"{MsgError} {Retorno}" : Msg.Clear() : CveIE = -1
+ If Retorno <> "" Then
+ Alert(Retorno, TipoMensaje.MsgError)
+ End If
+ End If
+ End If
+
+ If MsgError = "" Then
+ If ObjMov.ValidacionPrePolizaCuadre(CvePrePoliza, -1) Then
+ If ObjMov.ValorPolizaDescuadre > 0 Then
+ ' MsgError = ObjMov.MensajePolizaDescuadre
+ GuardaLogAD($"Bancos/IE | Error:{ObjMov.MensajePolizaDescuadre} Diferencia:{ObjMov.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas")
+ End If
+ Else
+ MsgError = "No se pudo validar la prepoliza de cuadre."
+ End If
+ End If
+
+ If MsgError = "" Then
+ 'IMPRIME CHEQUE
+ 'GeneraChequePDF(CveIE, UsuarioActual.Empresa, IDPoliza)
+ If Msg.ToString = "" Then
+ Msg.Append("El Documento se guardo correctamente")
+ End If
+ Dim Archivo As System.IO.FileInfo = Nothing
+ 'VERIFICA SI EXISTE EL FORMATO
+ If DdlTipoTransaccion.SelectedValue.ToEntero.Contiene(2, 8, 9) Then
+ Archivo = New System.IO.FileInfo(String.Format("{0}Formatos/Transferencia.rdlc", UsuarioActual.Empresa.Ruta))
+ ElseIf DdlTipoTransaccion.SelectedValue.ToEntero.Contiene(1) Then
+ Archivo = New System.IO.FileInfo(String.Format("{0}Formatos/CHQ-{1}.rdlc", UsuarioActual.Empresa.Ruta, DdlCuenta.SelectedValue.ToEntero))
+ If Not Archivo.Exists Then
+ Archivo = New System.IO.FileInfo(String.Format("{0}\Empresas\Grales\Formatos\CHQ.rdlc", AppDomain.CurrentDomain.BaseDirectory))
+ End If
+ ElseIf DdlTipoTransaccion.SelectedValue.ToEntero.Contiene(6) And UsuarioActual.CveEmpresa = 72 Then
+ Archivo = New System.IO.FileInfo(String.Format("{0}Formatos/ComprobanteEgreso.rdlc", UsuarioActual.Empresa.Ruta, DdlCuenta.SelectedValue.ToEntero))
+ End If
+
+ If Archivo IsNot Nothing Then
+ If Archivo.Exists Then
+ Msg.AppendFormat("
{1} ", Encripta(String.Format("OP=IECHEQUE&CVEIE={0}", CveIE)), String.Format("Imprimir {0}", DdlTipoTransaccion.SelectedItem))
+ End If
+ End If
+
+ If IDPoliza > 0 Then
+ Msg.AppendFormat("
Ver Póliza", IDPoliza)
+ End If
+
+ 'AUTO DESCARGAR PDF PARA COMPU
+ If UsuarioActual.CveEmpresa.Contiene(72, 1, 2) And CveSolicitudViatico > 0 Then
+ If DdlTipoTransaccion.SelectedValue.ToEntero.Contiene(1, 2, 6, 8, 9) Then
+ RegistraScript($"window.location.href = '/Compras/PopUpVerFactura.aspx?P={Encripta(String.Format("OP=IE&CVEIE={0}", CveIE))}'", String.Format("Imprimir {0}", DdlTipoTransaccion.SelectedItem))
+ End If
+ End If
+ ObjIE.Commit()
+
+ Else
+ ObjIE.RollBack()
End If
If Msg.ToString <> "" Then
@@ -3265,6 +3310,7 @@ Partial Class Bancos_IE
AccionJS = String.Format("document.location.href=""{0}"";", HttpContext.Current.Request.Url.PathAndQuery)
End If
+
If Request("Opcion") IsNot Nothing AndAlso Request("Opcion").ToString.Contiene("EGSCREDITO") Then
AccionJS = $"document.location.href=""/Bancos/Creditos.aspx?CveCredito={Request("CveCredito")}"";"
Alert(Msg.ToString, TipoMensaje.MsgInformacion, AccionJS)
@@ -3272,15 +3318,18 @@ Partial Class Bancos_IE
Alert(Msg.ToString, TipoMensaje.MsgInformacion, String.Format("document.location.href=""{0}"";", HttpContext.Current.Request.Url.PathAndQuery))
End If
+
+
+
End If
End If
+ RecargaGlobalCuentasBancarias()
ObjIE.Dispose()
ObjMov.Dispose()
- ObjOC.Dispose()
- If ObjComp IsNot Nothing Then ObjComp.Dispose()
-
- RecargaGlobalCuentasBancarias()
+ If ObjComp IsNot Nothing Then ObjComp.Dispose()
+
+
End Sub
#Region " NOTIFICACION PAGO "
diff --git a/Planeacion/CatFolios.aspx.vb b/Planeacion/CatFolios.aspx.vb
index 80852d1e0..8d68a3a32 100644
--- a/Planeacion/CatFolios.aspx.vb
+++ b/Planeacion/CatFolios.aspx.vb
@@ -110,6 +110,7 @@ Partial Class CatFolios
TxtFolioInicial.Text = ""
TxtFolioFinal.Text = ""
TxtFolioActual.Text = ""
+ txtserie.text = ""
DivFactual.Visible = False
CargaSubProyectos()
@@ -193,7 +194,7 @@ Partial Class CatFolios
Session("FileUpload") = ""
- Alert("La nueva Aprobación de Folios se guardó/editó correctamente.", TipoMensaje.MsgInformacion)
+ Alert("El nuevo Folio se guardó/editó correctamente.", TipoMensaje.MsgInformacion)
GlobalDTFolios = ObjFolios.DtResultados
ViewState("DTFolios") = ObjFolios.DtResultados.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa)