- mejora en aplicación de NC en ME.
This commit is contained in:
@@ -6711,10 +6711,32 @@ Partial Class Compras_Compras
|
||||
For Each Gvr As GridViewRow In GvFacturaNC.Rows
|
||||
If Gvr.FCCheckBox("ChkFacturaNC").Checked Then ' recorro la seleccion y tomo el TC de cada aplicación
|
||||
AplicadoenFactura = True
|
||||
Dim timporteMovimientoNC As Decimal = (Gvr.FCTextBox("TxtImporte").Text.ToDecimal * Gvr.DataKey("SubTotal").ToDecimal / Gvr.DataKey("Saldo").ToDecimal).RoundSQL
|
||||
Dim timporteMovimientoNC As Decimal = (Gvr.FCTextBox("TxtImporte").Text.ToDecimal) '* Gvr.DataKey("SubTotal").ToDecimal / Gvr.DataKey("Saldo").ToDecimal).RoundSQL
|
||||
Dim TCNC As Decimal = Gvr.DataKey("TipoCambio").ToDecimal
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, timporteMovimientoNC, (timporteMovimientoNC * TCNC * Multiplicador).RoundSQL, ConceptoContabilizacionNC, Referencia, Concepto, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), TipoCambio:=TCNC, CveMovimientoAlmacen:=CveMovimientoDevolucion, CveClasificacion:=tCveClasif, CveSubProyecto:=tCveSubProyecto, Contabilizable:=SeContabiliza) Then
|
||||
ErrorPrepoliza = True
|
||||
Else
|
||||
'validación de flcutuacción
|
||||
If CompraActual.TC <> TCNC Then
|
||||
Dim tConceptoContable As Integer
|
||||
Dim tTipoMovimiento As Boolean
|
||||
Dim Diferencia As Decimal = 0
|
||||
|
||||
If CompraActual.TC > TCNC Then
|
||||
tConceptoContable = 64
|
||||
tTipoMovimiento = True
|
||||
Else
|
||||
tConceptoContable = 65
|
||||
tTipoMovimiento = False
|
||||
End If
|
||||
Diferencia = (timporteMovimientoNC * (CompraActual.TC - TCNC)).RoundSQL 'Añadimos la diferencia de perdida en la venta
|
||||
|
||||
If Diferencia <> 0 Then
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, tTipoMovimiento, Diferencia, Diferencia, tConceptoContable, Referencia, Concepto, CveCompra:=CveCompra, CveSubProyecto:=CompraActual.CveSubProyecto, CveProveedor:=CompraActual.CveProveedor) Then
|
||||
ErrorPrepoliza = True
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
Next
|
||||
@@ -9206,15 +9228,10 @@ Partial Class Compras_Compras
|
||||
|
||||
End If
|
||||
Dim CveMovimientoInventario As Integer = CveMovimientoAlmacen
|
||||
|
||||
|
||||
Dim DT As DataTable
|
||||
Dim tipoCambioActual, tipoCambioPago As Decimal
|
||||
Dim FechaMovimiento As Date = TxtFecha.Text.ToDate
|
||||
|
||||
|
||||
|
||||
|
||||
If DdlMoneda.SelectedValue.ToString.ToEntero = 2 Then
|
||||
tipoCambioActual = GlobalTipoCambio(FechaMovimiento).ToString.ToDecimal
|
||||
tipoCambioActual = If(DivTC.Visible Or TipoCambio > 0, TipoCambio, tipoCambioActual)
|
||||
@@ -9247,17 +9264,20 @@ Partial Class Compras_Compras
|
||||
|
||||
Dim CveProveedorConcepto As Integer = 0, CveIE As Integer = 0, CveCreditoDetalle As Integer = 0
|
||||
Dim ConceptoPersonal As String = "", Concepto As String = ""
|
||||
Dim tUsaInventarios As Boolean = UsuarioActual.Empresa.UsaInventarios
|
||||
If (UsuarioActual.CveEmpresa.Contiene(13, 83)) Then tUsaInventarios = False
|
||||
|
||||
If Not ObjConta.GetPrePolizasDetalleCompra(CveCompra, UsuarioActual.CveEmpresa) Then
|
||||
ErrorPrepoliza = True
|
||||
Else
|
||||
DtPrePolizas = ObjConta.DtResultados.FiltraParametros("CveConceptoContable IN (6,68,49,205,176)")
|
||||
DtPrePolizas = ObjConta.DtResultados.FiltraParametros("CveConceptoContable IN (6,68,49,205,176,5,305,311)")
|
||||
|
||||
If DtPrePolizas.Rows.Count > 0 Then
|
||||
CveProveedorConcepto = ObjConta.DtResultados.FiltraParametros("CveConceptoContable = 6 OR CveConceptoContable = 68 OR CveConceptoContable = 49 OR CveConceptoContable = 205 OR CveConceptoContable = 176").Rows(0)("CveProveedor").ToString.ToEntero
|
||||
CveIE = ObjConta.DtResultados.FiltraParametros("CveConceptoContable = 6 OR CveConceptoContable = 68 OR CveConceptoContable = 49 OR CveConceptoContable = 205 OR CveConceptoContable = 176").Rows(0)("CveIE").ToString.ToEntero
|
||||
CveCreditoDetalle = ObjConta.DtResultados.FiltraParametros("CveConceptoContable = 6 OR CveConceptoContable = 68 OR CveConceptoContable = 49 OR CveConceptoContable = 205 OR CveConceptoContable = 176").Rows(0)("CveCreditoDetalle").ToString.ToEntero
|
||||
Concepto = ObjConta.DtResultados.FiltraParametros("CveConceptoContable = 6 OR CveConceptoContable = 68 OR CveConceptoContable = 49 OR CveConceptoContable = 205 OR CveConceptoContable = 176").Rows(0)("Concepto").ToString
|
||||
Dim drr As DataRow = ObjConta.DtResultados.FiltraParametros("CveConceptoContable in(6,68,49,205,176,5,305,311)").FiltroPrimero("")
|
||||
CveProveedorConcepto = drr("CveProveedor").ToString.ToEntero
|
||||
CveIE = drr("CveIE").ToString.ToEntero
|
||||
CveCreditoDetalle = drr("CveCreditoDetalle").ToString.ToEntero
|
||||
Concepto = drr("Concepto").ToString
|
||||
End If
|
||||
End If
|
||||
|
||||
@@ -9296,7 +9316,7 @@ Partial Class Compras_Compras
|
||||
If ObjCompra.GetCompras(CveCompra, "-1", "-1", -1, -1, UsuarioActual.CveEmpresa) AndAlso ObjCompra.DtResultados.Rows.Count > 0 Then
|
||||
CveConceptoContableAlmacen = ObjCompra.DtResultados.FiltroPrimeroValor("CveConceptoContableAlmacen").ToEntero
|
||||
|
||||
If CveConceptoContableAlmacen = 0 Then
|
||||
If CveConceptoContableAlmacen = 0 AndAlso tUsaInventarios Then
|
||||
If Not DdlTipoComprobante.SelectedValue.Contiene("NC", "DEV", "Ant") Then
|
||||
If (CveImportacion > 0 Or CveFlete > 0) Then
|
||||
CveConceptoContableAlmacen = CveConceptoContableAlmacen
|
||||
@@ -9315,10 +9335,6 @@ Partial Class Compras_Compras
|
||||
End If
|
||||
End If
|
||||
|
||||
If UsuarioActual.CveEmpresa.Contiene(7, 11, 12, 122, 145, 13, 83) AndAlso CveConceptoContableAlmacen = 205 Then
|
||||
CveConceptoContableAlmacen = 6
|
||||
End If
|
||||
|
||||
'AF
|
||||
DT = TmpDT.FiltraParametros("ISNULL(TipoAF,0) = 2")
|
||||
If DT.Rows.Count > 0 AndAlso DdlTipoComprobante.SelectedValue <> "NC" Then
|
||||
@@ -9338,7 +9354,7 @@ Partial Class Compras_Compras
|
||||
importeMovimiento = 0
|
||||
'COSTO ALMACEN
|
||||
Dim DtAlmacenes As DataTable = GlobalDTAlmacen(UsuarioActual.CveEmpresa)
|
||||
If UsuarioActual.Empresa.UsaInventarios And CveConceptoContableAlmacen = 0 Or DdlTipoCompra.SelectedValue.ToEntero = 10 Then
|
||||
If tUsaInventarios And CveConceptoContableAlmacen = 0 Or DdlTipoCompra.SelectedValue.ToEntero = 10 Then
|
||||
DT = TmpDT.FiltraParametros("ISNULL(TipoAF,0) <> 2 AND ISNULL(CveAlmacen,0) > 0", "", {"CveAlmacen"})
|
||||
'RECORREMOS PARA DETECTAR LA MODALIDAD DEL ALMACEN, EN CASO DE SER SOLO EXISTENCIA LIMPIAMOS CVEALMACEN
|
||||
|
||||
@@ -9369,7 +9385,7 @@ Partial Class Compras_Compras
|
||||
importeMovimiento = 0
|
||||
|
||||
'INV [MERCANCIA RECIBIDA POR ADELANTADO (OC) | MERCANCIA PENDIENTE POR RECIBIR (COMPRA) ]
|
||||
If DdlTipoCompra.SelectedValue.ToEntero <> 10 AndAlso UsuarioActual.Empresa.UsaInventarios And Not DdlTipoComprobante.SelectedValue.Contiene("NC", "DEV", "Ant") And CveConceptoContableAlmacen.Contiene(176, 205) Then
|
||||
If DdlTipoCompra.SelectedValue.ToEntero <> 10 AndAlso tUsaInventarios And Not DdlTipoComprobante.SelectedValue.Contiene("NC", "DEV", "Ant") And CveConceptoContableAlmacen.Contiene(176, 205) Then
|
||||
importeMovimiento = TmpDT.SUM("Total", $"ISNULL(TipoAF,0) <> 2 AND ISNULL(AplicaCostoIndirecto,0) <> 1 AND CveTipoPS = 2").ToString.ToDecimal
|
||||
importeMN = importeMovimiento * tipoCambioActual * Multiplicador
|
||||
|
||||
@@ -9383,7 +9399,7 @@ Partial Class Compras_Compras
|
||||
|
||||
'NC CON PRODUCTOS - CUENTA PUENTE
|
||||
|
||||
If UsuarioActual.Empresa.UsaInventarios And Not DdlTipoComprobante.SelectedValue.Contiene("Ant") And CveConceptoContableAlmacen.Contiene(225) Then
|
||||
If tUsaInventarios And Not DdlTipoComprobante.SelectedValue.Contiene("Ant") And CveConceptoContableAlmacen.Contiene(225) Then
|
||||
importeMovimiento = TmpDT.SUM("Total", $"ISNULL(TipoAF,0) <> 2 AND ISNULL(AplicaCostoIndirecto,0) <> 1 AND CveTipoPS = 2").ToString.ToDecimal
|
||||
importeMN = importeMovimiento * tipoCambioActual * Multiplicador
|
||||
|
||||
@@ -9412,7 +9428,7 @@ Partial Class Compras_Compras
|
||||
|
||||
If DdlTipoCompra.SelectedValue.ToEntero <> 10 Then
|
||||
'QUITA 1-[MERCANCIA RECIBIDA POR ADELANTADO (OC) | MERCANCIA PENDIENTE POR RECIBIR (COMPRA)] 2-[NC CON PRODUCTOS]
|
||||
If UsuarioActual.Empresa.UsaInventarios And CveConceptoContableAlmacen > 0 Then
|
||||
If tUsaInventarios And CveConceptoContableAlmacen > 0 Then
|
||||
DT = DT.FiltraParametros("CveTipoPS <> 2")
|
||||
End If
|
||||
End If
|
||||
|
||||
Reference in New Issue
Block a user