- concepto de ajuste en la vinculacion de oc, donde entradas pueden tener costo indirecto y otras no
This commit is contained in:
@@ -6454,6 +6454,7 @@ Partial Class Compras_Compras
|
||||
Select Case ConceptoContabilizacion
|
||||
Case 176
|
||||
Dim SumatoriaOCINV = 0.0D, Importe176 = 0.0D, ImporteME176 = 0.0D, ImporteMN176 = 0.0D, Importe228 = 0.0D, ImporteME228 = 0.0D, ImporteMN228 = 0.0D, Importe229 = 0.0D, ImporteME229 = 0.0D, ImporteMN229 = 0.0D, ImporteCI176 = 0.0D
|
||||
Dim SumatoriaInventario As Decimal = 0
|
||||
For Each Dr As DataRow In TmpDT.FiltraParametros("ISNULL(TipoAF,0) <> 2 And ISNULL(CveAlmacen,0) = 0 And ISNULL(AplicaCostoIndirecto,0) <> 1 And ISNULL(CveTipoPS,0) = 2").Rows
|
||||
If ObjOC.OrdenesCompraDetalleCostoPP(Dr("CveOrdenCompraDetalle").ToString.ToEntero) AndAlso ObjOC.DtResultados.Rows.Count >= 1 Then
|
||||
Concepto = $"{NombreProveedor} {TxtSerie.Text} - {TxtFolio.Text} OC {ObjOC.DtResultados.FiltroPrimeroValor("Folio").ToString} Inv{ObjOC.DtResultados.FiltroPrimeroValor("FolioAlmacen").ToString}"
|
||||
@@ -6467,6 +6468,7 @@ Partial Class Compras_Compras
|
||||
If DdlMoneda.SelectedValue.ToEntero <> 1 And UsuarioActual.CveEmpresa.Contiene(119) Then
|
||||
ImporteCI176 = ObjOC.DtResultados.FiltroPrimeroValor("ImporteCI228").ToDecimal
|
||||
CostoIndirectoAcum176 += ImporteCI176
|
||||
SumatoriaInventario += Importe228 + Importe229
|
||||
'se considera costoindirecto, para que la factura tiene en un concepto tipo servicio
|
||||
SumatoriaOCINV += (Dr(If(ListaDocumentos IsNot Nothing AndAlso ListaDocumentos.Count > 0 AndAlso ArrAnticipos IsNot Nothing AndAlso ArrAnticipos.Count > 0 AndAlso TxtTotal.Text.ToDecimal = 0, "ImporteSinImpuestos", "Total")).ToString.ToDecimal * tipoCambioActual) - (ImporteMN228 + ImporteMN229 - ImporteCI176)
|
||||
If ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, Importe228, Referencia, ConceptoContabilizacionME, Concepto, FechaMovimiento, IdCtaContableME, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, ImporteMX:=ImporteMN228, ImporteME:=ImporteME228, CveCuenta:=CveCuenta, CveOCDetalle:=Dr("CveOrdenCompraDetalle").ToString.ToEntero, TipoCambio:=TCAjuste, CveMovimientoAlmacen:=CveMovimientoAlmacen, Contabilizable:=SeContabiliza) Then
|
||||
@@ -6480,6 +6482,7 @@ Partial Class Compras_Compras
|
||||
End If
|
||||
Else
|
||||
CostoIndirectoAcum176 += ImporteCI176
|
||||
SumatoriaInventario += Importe176
|
||||
'se considera costoindirecto, para que la factura tiene en un concepto tipo servicio
|
||||
SumatoriaOCINV += (Dr(If(ListaDocumentos IsNot Nothing AndAlso ListaDocumentos.Count > 0 AndAlso ArrAnticipos IsNot Nothing AndAlso ArrAnticipos.Count > 0 AndAlso TxtTotal.Text.ToDecimal = 0, "ImporteSinImpuestos", "Total")).ToString.ToDecimal * tipoCambioActual) - (ImporteMN176 - ImporteCI176)
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, Importe176, Referencia, ConceptoContabilizacion, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, ImporteMX:=ImporteMN176, ImporteME:=ImporteME176, CveCuenta:=CveCuenta, CveOCDetalle:=Dr("CveOrdenCompraDetalle").ToString.ToEntero, CveMovimientoAlmacen:=CveMovimientoAlmacen, Contabilizable:=SeContabiliza) Then
|
||||
@@ -6493,9 +6496,13 @@ Partial Class Compras_Compras
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
|
||||
'calcula la diferencia entre lo recibido por la OC, considerando costos indirectos y lo que se ingresaria en la compra
|
||||
SumatoriaOCINV = SumatoriaInventario - TmpDT.SUMD("Total") 'sumatoria de la factura
|
||||
If SumatoriaOCINV.RoundSQL <> 0 Then
|
||||
' se abona el costo, cambiamos su naturaleza
|
||||
SumatoriaOCINV = -SumatoriaOCINV
|
||||
'SumatoriaOCINV = -SumatoriaOCINV
|
||||
|
||||
Dim CveClasificacionCostoOC = TmpDT.FiltroPrimeroValor("CveClasificacion", "ISNULL(TipoAF, 0) <> 2 And ISNULL(CveAlmacen, 0) = 0 And ISNULL(AplicaCostoIndirecto, 0) <> 1 And ISNULL(CveTipoPS, 0) = 2").ToEntero
|
||||
IdCtaContable = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaCostos", $"CveClasificacion = {CveClasificacionCostoOC}").ToString.ToEntero
|
||||
CveCuenta = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaGastoSIG", $"CveClasificacion = {CveClasificacionCostoOC}").ToString.ToEntero
|
||||
@@ -7361,8 +7368,8 @@ Partial Class Compras_Compras
|
||||
If ErrorPrepoliza Then
|
||||
Exit For
|
||||
End If
|
||||
|
||||
If importeMovimiento <> 0 Or (ConceptoContable.Contiene(5, 305, 306, 311) AndAlso DdlTipoComprobante.SelectedValue.Contiene("Fac", "Ant")) Or (ConceptoContable.Contiene(18) AndAlso DdlTipoComprobante.SelectedValue.Contiene("NC", "DEV") AndAlso Not GuardoConcepto18) Then
|
||||
', 305, 306, 311
|
||||
If importeMovimiento <> 0 Or (ConceptoContable.Contiene(5) AndAlso DdlTipoComprobante.SelectedValue.Contiene("Fac", "Ant")) Or (ConceptoContable.Contiene(18) AndAlso DdlTipoComprobante.SelectedValue.Contiene("NC", "DEV") AndAlso Not GuardoConcepto18) Then
|
||||
'Conta ContPAQ
|
||||
If IdCtaContable = 0 Then
|
||||
CuentasContablesInvalidas.Append("<br>" & GlobalDTContaConceptosContables(-1).FiltroPrimero(String.Format("CveConceptoContable = {0}", ConceptoContable))("ConceptoContable").ToString)
|
||||
@@ -7384,7 +7391,7 @@ Partial Class Compras_Compras
|
||||
Next
|
||||
|
||||
'EMPIEZA REFACTURACION
|
||||
If CveCompraRefacturacion > 0 Then
|
||||
If Not ErrorPrepoliza AndAlso CveCompraRefacturacion > 0 Then
|
||||
ErrorBitacora = GuardaRefacturacion(ObjCompras, ObjEventos, CvePrePoliza)
|
||||
If ErrorBitacora Then
|
||||
Alert("Ocurrió un error al hacer la Refacturación", TipoMensaje.MsgError)
|
||||
@@ -7392,13 +7399,13 @@ Partial Class Compras_Compras
|
||||
End If
|
||||
|
||||
'Simplificacion de PrePolizas
|
||||
If UsuarioActual.Empresa.Funcionalidad(220) <> "" Then
|
||||
If Not ErrorPrepoliza AndAlso UsuarioActual.Empresa.Funcionalidad(220) <> "" Then
|
||||
If Not ObjConta.PrePolizaSimplificacion(CvePrePoliza, UsuarioActual.CveEmpresa) Then
|
||||
ErrorPrepolizaDescuadre = True
|
||||
End If
|
||||
End If
|
||||
|
||||
If ObjConta.ValidacionPrePolizaCuadre(CvePrePoliza, 4) Then
|
||||
If Not ErrorPrepoliza AndAlso ObjConta.ValidacionPrePolizaCuadre(CvePrePoliza, 4) Then
|
||||
If ObjConta.ValorPolizaDescuadre > 0 Then
|
||||
GuardaLogAD($"Compras/Compras-Guardar | Error{ObjConta.MensajePolizaDescuadre} Diferencia{ObjConta.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas")
|
||||
ErrorPrepolizaDescuadre = True
|
||||
|
||||
Reference in New Issue
Block a user