Se podran pagar facturas con egresos x comprobar de diferente moneda
This commit is contained in:
@@ -3238,8 +3238,10 @@ Partial Class Compras_Compras
|
||||
|
||||
Private Sub CargaAnticipos(CveProveedor As Integer, Optional FiltroTipo As String = "-1")
|
||||
Dim ObjMovtos As New ClsMovimientos()
|
||||
If ObjMovtos.GetAnticiposProveedor(CveProveedor, -1, CveMoneda:=DdlMoneda.SelectedValue.ToEntero, SelectTop:=-1, TipoDocto:=FiltroTipo) AndAlso ObjMovtos.DtResultados.Rows.Count > 0 Then
|
||||
GVAnticipos.DataSource = ObjMovtos.DtResultados.FiltraParametros("Tipo = 'Act'")
|
||||
If ObjMovtos.GetAnticiposProveedor(CveProveedor, -1, CveMoneda:=-1, SelectTop:=-1, TipoDocto:=FiltroTipo) AndAlso ObjMovtos.DtResultados.Rows.Count > 0 Then
|
||||
Dim CveMoneda As Integer = If(ChkPagarConPesos.Checked, 1, If(ChkPagarConDolares.Checked, 2, DdlMoneda.SelectedValue.ToEntero))
|
||||
If DdlMoneda.SelectedValue.ToEntero = 1 Then DivPagarConDolares.Visible = True Else DivPagarConPesos.Visible = True
|
||||
GVAnticipos.DataSource = ObjMovtos.DtResultados.FiltraParametros($"Tipo = 'Act' AND CveMoneda = {CveMoneda}")
|
||||
If ObjMovtos.DtResultados.FiltraParametros("Saldo > 0").Rows.Count > 0 Then
|
||||
BtnAceptarAnticipos.Enabled = True
|
||||
If DdlTipoComprobante.SelectedValue = "Fac" Then ImgAnticiposPendientes.Visible = True
|
||||
@@ -8037,7 +8039,7 @@ Partial Class Compras_Compras
|
||||
If gvr.FCCheckBox("Chk") IsNot Nothing AndAlso gvr.FCCheckBox("Chk").Checked Then
|
||||
|
||||
CveCompraNC = gvr.DataKey("CveCompra").ToEntero
|
||||
tipoCambioNC = gvr.DataKey("TCCompra").ToDecimal
|
||||
tipoCambioNC = If(ChkPagarConPesos.Checked, GlobalTipoCambio(gvr.DataKey("Fecha").ToDate).ToDecimal, gvr.DataKey("TCCompra").ToDecimal)
|
||||
sumaAmortizacion = 0
|
||||
|
||||
If CvePrePolizaNueva > 0 Then
|
||||
@@ -8064,7 +8066,13 @@ Partial Class Compras_Compras
|
||||
ImporteMovimiento = gvr.FCTextBox("TxtAnticipo").Text.ToDecimal
|
||||
importeMN = ImporteMovimiento * tipoCambioNC
|
||||
sumaAmortizacion += ImporteMovimiento
|
||||
sumaAmortizacionCompleto += ImporteMovimiento
|
||||
sumaAmortizacionCompleto += ImporteMovimiento
|
||||
|
||||
If ChkPagarConPesos.Checked Then
|
||||
ImporteMovimiento = ImporteMovimiento * GlobalTipoCambio(gvr.DataKey("Fecha").ToDate).ToDecimal
|
||||
ElseIf ChkPagarConDolares.Checked Then
|
||||
ImporteMovimiento = ImporteMovimiento / gvr.DataKey("TCCompra").ToDecimal
|
||||
End If
|
||||
|
||||
If DdlMoneda.SelectedValue.ToEntero <> 1 Then
|
||||
IdCtaContable = CtaProveedorAnticiposExtranjera
|
||||
@@ -8101,7 +8109,13 @@ Partial Class Compras_Compras
|
||||
ImporteMovimiento = gvr.FCTextBox("TxtAnticipo").Text.ToDecimal
|
||||
importeMN = ImporteMovimiento * tipoCambioNC
|
||||
sumaAmortizacion += ImporteMovimiento
|
||||
sumaAmortizacionCompleto += ImporteMovimiento
|
||||
sumaAmortizacionCompleto += ImporteMovimiento
|
||||
|
||||
If ChkPagarConPesos.Checked Then
|
||||
ImporteMovimiento = ImporteMovimiento * GlobalTipoCambio(gvr.DataKey("Fecha").ToDate).ToDecimal
|
||||
ElseIf ChkPagarConDolares.Checked Then
|
||||
ImporteMovimiento = ImporteMovimiento / gvr.DataKey("TCCompra").ToDecimal
|
||||
End If
|
||||
|
||||
If DdlMoneda.SelectedValue.ToEntero <> 1 And UsuarioActual.CveEmpresa.Contiene(119) Then
|
||||
IdCtaContable = CtaProveedorExtranjera
|
||||
@@ -8138,15 +8152,24 @@ Partial Class Compras_Compras
|
||||
sumaAmortizacion += ImporteMovimiento
|
||||
sumaAmortizacionCompleto += ImporteMovimiento
|
||||
IdCtaContable = CtaProveedorAnticipos
|
||||
CveCuenta = CveCuentaProveedorAnticipos
|
||||
If ImporteMovimiento <> 0 Then
|
||||
PorcentajePago = ImporteMovimiento / TxtTotal.Text.ToDecimal
|
||||
CveCuenta = CveCuentaProveedorAnticipos
|
||||
|
||||
PorcentajePago = ImporteMovimiento / TxtTotal.Text.ToDecimal
|
||||
|
||||
If ChkPagarConPesos.Checked Then
|
||||
ImporteMovimiento = ImporteMovimiento * GlobalTipoCambio(gvr.DataKey("Fecha").ToDate).ToDecimal
|
||||
ElseIf ChkPagarConDolares.Checked Then
|
||||
ImporteMovimiento = ImporteMovimiento / gvr.DataKey("TCCompra").ToDecimal
|
||||
End If
|
||||
|
||||
If ImporteMovimiento <> 0 Then
|
||||
|
||||
Dim TipoCambioAnt = gvr.DataKey("TCCompra").ToDecimal
|
||||
|
||||
Dim TipoCambioAnt = gvr.DataKey("TCCompra").ToDecimal
|
||||
Dim usacomplementariaAnticipo As Boolean = False
|
||||
usacomplementariaAnticipo = If(TipoCambioAnt > 1 AndAlso UsuarioActual.CveEmpresa.Contiene(1, 119), True, False)
|
||||
|
||||
|
||||
usacomplementariaAnticipo = If(TipoCambioAnt > 1 AndAlso UsuarioActual.CveEmpresa.Contiene(1, 119), True, False)
|
||||
|
||||
|
||||
Dim ImporteAnt As Decimal = ImporteMovimiento
|
||||
Dim ImporteAntMN As Decimal = ImporteAnt * TipoCambioAnt
|
||||
If usacomplementariaAnticipo Then
|
||||
@@ -8166,7 +8189,9 @@ Partial Class Compras_Compras
|
||||
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePolizaNueva, TipoMovimiento, ImporteAnt, "", ConceptoContable, ConceptoPartida, Fecha, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CveIE:=CveIE, ImporteMX:=ImporteAntMN, CvePrePolizaOriginal:=CvePrePolizaNueva, ImporteME:=If(tipoCambio = 1, 0, ImporteAnt), CveCompraAmortizacion:=CveCompraNC, CveCuenta:=CveCuenta) Then
|
||||
ErrorMovtosCxP = 1
|
||||
End If
|
||||
End If
|
||||
|
||||
TipoCambioAnt = If(ChkPagarConPesos.Checked, GlobalTipoCambio(gvr.DataKey("Fecha").ToDate).ToDecimal, gvr.DataKey("TCCompra").ToDecimal)
|
||||
|
||||
If tipoCambio <> TipoCambioAnt Then
|
||||
Dim importeFluctuacion = (ImporteAnt * tipoCambio) - (ImporteAnt * TipoCambioAnt)
|
||||
@@ -8565,8 +8590,9 @@ Partial Class Compras_Compras
|
||||
If DdlMoneda.SelectedValue.ToEntero <> 1 Or gvr.DataKey("CveMoneda").ToEntero <> 1 Then
|
||||
IdCtaContable = UsuarioActual.Empresa.IdCuentaGananciaCambiaria
|
||||
CveCuenta = UsuarioActual.Empresa.CveCuentaGananciaCambiaria
|
||||
If TipoCambioCompra > tipoCambioNC Then
|
||||
ImporteMovimiento = (sumaAmortizacion * TipoCambioCompra) - (sumaAmortizacion * tipoCambioNC)
|
||||
Dim TipoCambioDiferenciaCambiaria = If(ChkPagarConPesos.Checked, GlobalTipoCambio(gvr.DataKey("Fecha").ToDate).ToDecimal, tipoCambioNC)
|
||||
If TipoCambioCompra > TipoCambioDiferenciaCambiaria Then
|
||||
ImporteMovimiento = (sumaAmortizacion * TipoCambioCompra) - (sumaAmortizacion * TipoCambioDiferenciaCambiaria)
|
||||
ImporteMovimiento = ImporteMovimiento.RoundSQL()
|
||||
importeMN = ImporteMovimiento
|
||||
End If
|
||||
@@ -8586,8 +8612,9 @@ Partial Class Compras_Compras
|
||||
If DdlMoneda.SelectedValue.ToEntero <> 1 Or gvr.DataKey("CveMoneda").ToEntero <> 1 Then
|
||||
IdCtaContable = UsuarioActual.Empresa.IdCuentaPerdidaCambiaria
|
||||
CveCuenta = UsuarioActual.Empresa.CveCuentaPerdidaCambiaria
|
||||
If tipoCambioNC > TipoCambioCompra Then
|
||||
ImporteMovimiento = (sumaAmortizacion * tipoCambioNC) - (sumaAmortizacion * TipoCambioCompra)
|
||||
Dim TipoCambioDiferenciaCambiaria = If(ChkPagarConPesos.Checked, GlobalTipoCambio(gvr.DataKey("Fecha").ToDate).ToDecimal, tipoCambioNC)
|
||||
If TipoCambioDiferenciaCambiaria > TipoCambioCompra Then
|
||||
ImporteMovimiento = (sumaAmortizacion * TipoCambioDiferenciaCambiaria) - (sumaAmortizacion * TipoCambioCompra)
|
||||
ImporteMovimiento = ImporteMovimiento.RoundSQL()
|
||||
importeMN = ImporteMovimiento
|
||||
End If
|
||||
@@ -10064,8 +10091,8 @@ Partial Class Compras_Compras
|
||||
If e.Row.DBCampo("Saldo").ToDouble < 0 Then e.Row.Cells(3).ForeColor = Drawing.Color.Red
|
||||
If e.Row.DBCampo("Saldo").ToDouble = 0 Then e.Row.FCLiteral("LtlAnticipos").Text = ""
|
||||
|
||||
e.Row.FCCheckBox("Chk").Attributes.Add("onclick", String.Format("chkAnt(this,{0},{1},{2});", e.Row.FCTextBox("TxtAnticipo").ClientID, e.Row.DBCampo("Saldo"), If(CveCompra > 0, Saldo, If(ListaDocumentos IsNot Nothing AndAlso ListaDocumentos.Count > 0 AndAlso ArrAnticipos IsNot Nothing AndAlso ArrAnticipos.Count > 0 AndAlso TxtTotal.Text.ToDecimal = 0, TmpDT.SUMD("ImporteConImpuestos"), TxtTotal.Text.ToDouble)))) 'SI ES UNA COMPRA NUEVA SE PONE EL TOTAL, SI NO EL SALDO
|
||||
e.Row.FCTextBox("TxtAnticipo").Attributes.Add("onKeyUp", String.Format("FnCambiaAnt({0},this,{1},{2});", e.Row.FCCheckBox("Chk").ClientID, e.Row.DBCampo("Saldo"), If(CveCompra > 0, Saldo, If(ListaDocumentos IsNot Nothing AndAlso ListaDocumentos.Count > 0 AndAlso ArrAnticipos IsNot Nothing AndAlso ArrAnticipos.Count > 0 AndAlso TxtTotal.Text.ToDecimal = 0, TmpDT.SUMD("ImporteConImpuestos"), TxtTotal.Text.ToDouble)))) 'SI ES UNA COMPRA NUEVA SE PONE EL TOTAL, SI NO EL SALDO
|
||||
e.Row.FCCheckBox("Chk").Attributes.Add("onclick", String.Format("chkAnt(this,{0},{1},{2});", e.Row.FCTextBox("TxtAnticipo").ClientID, e.Row.DBCampo("Saldo"), If(CveCompra > 0, Saldo, If(ListaDocumentos IsNot Nothing AndAlso ListaDocumentos.Count > 0 AndAlso ArrAnticipos IsNot Nothing AndAlso ArrAnticipos.Count > 0 AndAlso TxtTotal.Text.ToDecimal = 0, TmpDT.SUMD("ImporteConImpuestos"), TxtTotal.Text.ToDouble)), e.Row.DBCampo("CveMoneda").ToEntero, If(Not e.Row.DBCampo("TCCompra").ToDouble > 1, GlobalTipoCambio(e.Row.DBCampo("Fecha").ToDate), e.Row.DBCampo("TCCompra").ToDouble), DdlMoneda.SelectedValue.ToEntero)) 'SI ES UNA COMPRA NUEVA SE PONE EL TOTAL, SI NO EL SALDO
|
||||
e.Row.FCTextBox("TxtAnticipo").Attributes.Add("onKeyUp", String.Format("FnCambiaAnt({0},this,{1},{2});", e.Row.FCCheckBox("Chk").ClientID, e.Row.DBCampo("Saldo"), If(CveCompra > 0, Saldo, If(ListaDocumentos IsNot Nothing AndAlso ListaDocumentos.Count > 0 AndAlso ArrAnticipos IsNot Nothing AndAlso ArrAnticipos.Count > 0 AndAlso TxtTotal.Text.ToDecimal = 0, TmpDT.SUMD("ImporteConImpuestos"), TxtTotal.Text.ToDouble)), e.Row.DBCampo("CveMoneda").ToEntero, If(Not e.Row.DBCampo("TCCompra").ToDouble > 1, GlobalTipoCambio(e.Row.DBCampo("Fecha").ToDate), e.Row.DBCampo("TCCompra").ToDouble), DdlMoneda.SelectedValue.ToEntero)) 'SI ES UNA COMPRA NUEVA SE PONE EL TOTAL, SI NO EL SALDO
|
||||
|
||||
If ChkNCInv.Checked Then
|
||||
e.Row.FCCheckBox("Chk").CssClass = "ChkAntNC"
|
||||
@@ -19017,4 +19044,16 @@ Partial Class Compras_Compras
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
#Region "PAGAR CON DIFERENTE MONEDA"
|
||||
Protected Sub ChkPagarConPesos_CheckedChanged(sender As Object, e As EventArgs)
|
||||
CargaAnticipos(CveProveedor)
|
||||
UpAnticipos.Update()
|
||||
End Sub
|
||||
Protected Sub ChkPagarConDolares_CheckedChanged(sender As Object, e As EventArgs)
|
||||
CargaAnticipos(CveProveedor)
|
||||
UpAnticipos.Update()
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
End Class
|
||||
Reference in New Issue
Block a user