Compras VSH Entrada de alamacen como gasto
This commit is contained in:
@@ -3917,6 +3917,31 @@ Partial Class Compras_Compras
|
||||
Protected Sub BtnGuardar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BtnGuardar.Click
|
||||
|
||||
|
||||
Dim EntradaComoGastoConAlmacen As Boolean = False
|
||||
If GvInv.Rows.Count > 0 Then
|
||||
|
||||
Dim CvealamcenSeleccionado As Integer = -1
|
||||
|
||||
For Each GvRow As GridViewRow In GvInv.Rows
|
||||
If GvRow.RowType = DataControlRowType.DataRow Then
|
||||
CvealamcenSeleccionado = GvRow.FCDropDownList("ddlEAlmacen").SelectedValue.ToEntero
|
||||
If CvealamcenSeleccionado > 0 Then
|
||||
Exit For
|
||||
End If
|
||||
End If
|
||||
Next
|
||||
|
||||
If CvealamcenSeleccionado > 0 Then
|
||||
Dim ModalidadAlmacen As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa, CvealamcenSeleccionado).FiltroPrimeroValor("Modalidad").ToEntero
|
||||
If ModalidadAlmacen = 0 Then
|
||||
EntradaComoGastoConAlmacen = True
|
||||
End If
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
|
||||
|
||||
'------------------ INICIA VALIDACIONES ------------------
|
||||
|
||||
Dim CveSubProyectoPrincipal As Integer = AsignarSubProyectoPrincipal()
|
||||
@@ -6019,10 +6044,14 @@ Partial Class Compras_Compras
|
||||
|
||||
If DdlTipoCompra.SelectedValue <> "10" Then
|
||||
For Each Dr As DataRow In DT.Rows
|
||||
|
||||
If DtAlmacenes.FiltroPrimeroValor("Modalidad", $"CveAlmacen = {Dr("CveAlmacen").ToString.ToEntero}").ToString = "Solo Existencia" Then
|
||||
Dr("CveAlmacen") = 0
|
||||
If Not EntradaComoGastoConAlmacen Then
|
||||
Dr("CveAlmacen") = 0
|
||||
End If
|
||||
AlmacenSoloExistencia = True
|
||||
End If
|
||||
|
||||
Dr.AcceptChanges()
|
||||
Next
|
||||
End If
|
||||
@@ -6031,6 +6060,8 @@ Partial Class Compras_Compras
|
||||
DT = DT.FiltraParametros("ISNULL(CveAlmacen,0) > 0")
|
||||
If DT.Rows.Count > 0 AndAlso Not DdlTipoComprobante.SelectedValue.Contiene("NC", "DEV", "Ant") Then
|
||||
|
||||
|
||||
|
||||
'SI ES GASTO CON ALMACEN
|
||||
If DdlTipoCompra.SelectedValue = "10" Then
|
||||
For Each RowDetalle As DataRow In TmpDT.FiltraParametros("ISNULL(TipoAF,0) <> 2 And ISNULL(CveAlmacen,0) > 0", "", {"CveAlmacen", "CveClasificacion", "CveSubProyecto"}).Rows
|
||||
@@ -6049,25 +6080,27 @@ Partial Class Compras_Compras
|
||||
|
||||
For Each Row2 As DataRow In DT.Rows
|
||||
|
||||
Dim ContabilizableAlmacen As Boolean = If(EntradaComoGastoConAlmacen Or DdlTipoCompra.SelectedValue = "10", False, SeContabiliza)
|
||||
|
||||
importeMovimiento = TmpDT.SUM(If(ListaDocumentos IsNot Nothing AndAlso ListaDocumentos.Count > 0 AndAlso ArrAnticipos IsNot Nothing AndAlso ArrAnticipos.Count > 0 AndAlso TxtTotal.Text.ToDecimal = 0, "ImporteSinImpuestos", "Total"), $"CveAlmacen = {Row2("CveAlmacen")}").ToString.ToDecimal + TmpDT.SUM("CostoIndirectoAlmacen", $"CveAlmacen = {Row2("CveAlmacen")}").ToString.ToDecimal 'Row2("Total").ToString.ToDecimal + Row2("CostoIndirectoAlmacen").ToString.ToDecimal
|
||||
importeMN = importeMovimiento * tipoCambioActual * Multiplicador
|
||||
|
||||
If importeMN <> 0 Then
|
||||
|
||||
|
||||
If TxtFecha.Text <> Now.ToString("dd/MM/yyyy") Then
|
||||
If (TxtFecha.Text <> Now.ToString("dd/MM/yyyy")) And Not EntradaComoGastoConAlmacen Then
|
||||
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, importeMN.RoundSQL(2), importeMN.RoundSQL(2), 205, Referencia, Concepto, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveIE:=CveIE, CvePersonal:=CvePersonal, CveMovimientoAlmacen:=CveMovimientoInventario, CveCreditoDetalle:=CveCreditoDetalle, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), TipoCambio:=tipoCambioActual, Contabilizable:=If(DdlTipoCompra.SelectedValue = "10", False, SeContabiliza)) Then
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, importeMN.RoundSQL(2), importeMN.RoundSQL(2), 205, Referencia, Concepto, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveIE:=CveIE, CvePersonal:=CvePersonal, CveMovimientoAlmacen:=CveMovimientoInventario, CveCreditoDetalle:=CveCreditoDetalle, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), TipoCambio:=tipoCambioActual, Contabilizable:=ContabilizableAlmacen) Then
|
||||
ErrorPrepoliza = True
|
||||
End If
|
||||
|
||||
Dim CvePrePoliza2Almacen As Integer = ObjConta.AddPrePolizas("Compras/Registrar/Almacen", If(EsContado And CvePlantillaPrePoliza = 1, 2, CvePlantillaPrePoliza), ImporteCompra, TxtTotal.Text.ToDouble, DdlMoneda.SelectedValue.ToEntero, Now, ConceptoPoliza, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, FolioFijo:=FolioFijo, ReglaFolioPoliza:=ObjCompras.ObtenerReglaFolio(DdlTipoTransaccion.SelectedValue, DdlTipoTransaccionCaja.SelectedValue, UsuarioActual.CveEmpresa), CveTipoPoliza:=ObjConta.ObtenerTipoPoliza(DdlTipoTransaccion.SelectedValue, DdlTipoTransaccionCaja.SelectedValue, UsuarioActual.CveEmpresa))
|
||||
|
||||
If CvePrePoliza2Almacen > 0 Then
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza2Almacen, True, importeMN.RoundSQL(2), importeMN.RoundSQL(2), 205, Referencia, Concepto, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveIE:=CveIE, CvePersonal:=CvePersonal, CveMovimientoAlmacen:=CveMovimientoInventario, CveCreditoDetalle:=CveCreditoDetalle, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), TipoCambio:=tipoCambioActual, Contabilizable:=If(DdlTipoCompra.SelectedValue = "10", False, SeContabiliza)) Then
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza2Almacen, True, importeMN.RoundSQL(2), importeMN.RoundSQL(2), 205, Referencia, Concepto, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveIE:=CveIE, CvePersonal:=CvePersonal, CveMovimientoAlmacen:=CveMovimientoInventario, CveCreditoDetalle:=CveCreditoDetalle, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), TipoCambio:=tipoCambioActual, Contabilizable:=ContabilizableAlmacen) Then
|
||||
ErrorPrepoliza = True
|
||||
End If
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza2Almacen, False, importeMN.RoundSQL(2), importeMN.RoundSQL(2), 68, Referencia, Concepto, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveIE:=CveIE, CvePersonal:=CvePersonal, CveMovimientoAlmacen:=CveMovimientoInventario, CveCreditoDetalle:=CveCreditoDetalle, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), TipoCambio:=tipoCambioActual, Contabilizable:=If(DdlTipoCompra.SelectedValue = "10", False, SeContabiliza)) Then
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza2Almacen, False, importeMN.RoundSQL(2), importeMN.RoundSQL(2), 68, Referencia, Concepto, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveIE:=CveIE, CvePersonal:=CvePersonal, CveMovimientoAlmacen:=CveMovimientoInventario, CveCreditoDetalle:=CveCreditoDetalle, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), TipoCambio:=tipoCambioActual, Contabilizable:=ContabilizableAlmacen) Then
|
||||
ErrorPrepoliza = True
|
||||
End If
|
||||
Else
|
||||
@@ -6076,7 +6109,7 @@ Partial Class Compras_Compras
|
||||
|
||||
Else
|
||||
'SI ES GASTO CON ALMACEN NO DEBE CONTABILIZAR CONCEPTO 68
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, importeMN.RoundSQL(2), importeMN.RoundSQL(2), 68, Referencia, Concepto, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveIE:=CveIE, CvePersonal:=CvePersonal, CveMovimientoAlmacen:=CveMovimientoInventario, CveCreditoDetalle:=CveCreditoDetalle, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), TipoCambio:=tipoCambioActual, Contabilizable:=If(DdlTipoCompra.SelectedValue = "10", False, SeContabiliza)) Then
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, importeMN.RoundSQL(2), importeMN.RoundSQL(2), 68, Referencia, Concepto, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveIE:=CveIE, CvePersonal:=CvePersonal, CveMovimientoAlmacen:=CveMovimientoInventario, CveCreditoDetalle:=CveCreditoDetalle, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), TipoCambio:=tipoCambioActual, Contabilizable:=ContabilizableAlmacen) Then
|
||||
ErrorPrepoliza = True
|
||||
End If
|
||||
|
||||
@@ -6084,7 +6117,7 @@ Partial Class Compras_Compras
|
||||
|
||||
|
||||
'SI ES GASTO CON ALMACEN REGISTRA EL CONCEPTO 95
|
||||
If DdlTipoCompra.SelectedValue = "10" Then
|
||||
If DdlTipoCompra.SelectedValue = "10" Or EntradaComoGastoConAlmacen Then
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not TipoMovimiento, importeMN.RoundSQL(2), importeMN.RoundSQL(2), 95, Referencia, Concepto, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveIE:=CveIE, CvePersonal:=CvePersonal, CveMovimientoAlmacen:=CveMovimientoInventario, CveCreditoDetalle:=CveCreditoDetalle, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), TipoCambio:=tipoCambioActual, Contabilizable:=False) Then
|
||||
ErrorPrepoliza = True
|
||||
End If
|
||||
@@ -6116,7 +6149,7 @@ Partial Class Compras_Compras
|
||||
Dim UsaComplementariaFleteImportaciones As Boolean = False
|
||||
|
||||
'DEBE METER EL CONCEPTO DE COMPRAS SI EL TIPO ES GASTO CON ALMACEN
|
||||
If DdlTipoCompra.SelectedValue = "10" Then
|
||||
If DdlTipoCompra.SelectedValue = "10" Or EntradaComoGastoConAlmacen Then
|
||||
ConceptoContabilizacion = 6
|
||||
End If
|
||||
|
||||
@@ -6613,56 +6646,62 @@ Partial Class Compras_Compras
|
||||
|
||||
'PROVISION de NC
|
||||
Dim ConPreP As ConceptosTipoSaldo = ClsPaginas.ObtenerCveConceptoPrePoliza(15, DdlMoneda.SelectedValue.ToEntero, False, CveTipoConcepto)
|
||||
'Dim CveCon As Integer = ObtConceptoContableProvisionCompra(CveTipoConcepto, DdlTipoComprobante.SelectedValue, DdlMoneda.SelectedValue.ToEntero, False)
|
||||
'Dim CveCon As Integer = ObtConceptoContableProvisionCompra(CveTipoConcepto, DdlTipoComprobante.SelectedValue, DdlMoneda.SelectedValue.ToEntero, False)
|
||||
|
||||
If ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, importeMovimiento, importeMovimiento, ConPreP.CveConcepto, Referencia, Concepto, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, ImporteME:=importeMovimiento, Contabilizable:=SeContabiliza, TipoCambio:=tipoCambioActual) Then
|
||||
If ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, importeMovimiento, importeMovimiento, ConPreP.CveConcepto, Referencia, Concepto, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, ImporteME:=importeMovimiento, Contabilizable:=SeContabiliza, TipoCambio:=tipoCambioActual) Then
|
||||
|
||||
If DdlMoneda.SelectedValue.ToEntero >= 2 Then
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, importeMN - importeMovimiento, importeMN - importeMovimiento, ConPreP.CveConceptoComplementario, Referencia, Concepto, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, ImporteME:=importeMovimiento, Contabilizable:=SeContabiliza, TipoCambio:=tipoCambioActual) Then
|
||||
ErrorPrepoliza = True
|
||||
Exit Select
|
||||
End If
|
||||
Else
|
||||
ErrorPrepoliza = True
|
||||
Exit Select
|
||||
End If
|
||||
|
||||
'AMORTIZACIÓN EN EL REGISTRO
|
||||
For Each Gvr As GridViewRow In GvFacturaNC.Rows
|
||||
If Gvr.FCCheckBox("ChkFacturaNC").Checked Then
|
||||
Dim importeMovimientoNC As Decimal = Gvr.FCTextBox("TxtImporte").Text.ToDecimal
|
||||
|
||||
Dim Pago As New CompraPago
|
||||
Pago.ImportePago = importeMovimientoNC
|
||||
Pago.CveMonedaPago = CompraActual.CveMoneda
|
||||
Pago.CveCompraAmortizacion = CompraActual.CveCompra
|
||||
Pago.Referencia = CompraActual.SerieFolio
|
||||
Pago.TCPago = CompraActual.TC
|
||||
Pago.AplicaAcreditable = False
|
||||
Pago.TipoPago = "NC"
|
||||
Pago.Fecha = CompraActual.Fecha 'toma la misma fecha de la provisión en el pago de NC
|
||||
|
||||
Dim CompraPago As New Compra
|
||||
'datos de la compra tipodocto:Fac, para sobreescribirlos
|
||||
CompraPago.CveCompra = Gvr.DataKey("CveCompra").ToEntero
|
||||
CompraPago.CveProveedor = Gvr.DataKey("CveProveedor").ToEntero
|
||||
CompraPago.SerieFolio = Gvr.DataKey("SerieFolio")
|
||||
CompraPago.TC = Gvr.DataKey("TipoCambio").ToDecimal
|
||||
CompraPago.Fecha = Gvr.DataKey("Fecha").ToDate
|
||||
CompraPago.CveMoneda = Gvr.DataKey("CveMoneda").ToEntero
|
||||
CompraPago.Total = Gvr.DataKey("Total").ToDecimal
|
||||
CompraPago.CveTipoConceptoProveedor = Gvr.DataKey("CveTipoConcepto").ToEntero
|
||||
CompraPago.CveSubProyecto = CompraActual.CveSubProyecto
|
||||
Else
|
||||
ErrorPrepoliza = True
|
||||
Exit Select
|
||||
End If
|
||||
|
||||
ErrorPrepoliza = AplicaPrePolizaPagoCompra(CompraPago, Pago, CvePrePoliza, ObjConta)
|
||||
If ErrorPrepoliza Then
|
||||
Exit For
|
||||
End If
|
||||
'AMORTIZACIÓN EN EL REGISTRO
|
||||
For Each Gvr As GridViewRow In GvFacturaNC.Rows
|
||||
If Gvr.FCCheckBox("ChkFacturaNC").Checked Then
|
||||
Dim importeMovimientoNC As Decimal = Gvr.FCTextBox("TxtImporte").Text.ToDecimal
|
||||
|
||||
Dim Pago As New CompraPago
|
||||
Pago.ImportePago = importeMovimientoNC
|
||||
Pago.CveMonedaPago = CompraActual.CveMoneda
|
||||
Pago.CveCompraAmortizacion = CompraActual.CveCompra
|
||||
Pago.Referencia = CompraActual.SerieFolio
|
||||
Pago.TCPago = CompraActual.TC
|
||||
Pago.AplicaAcreditable = False
|
||||
Pago.TipoPago = "NC"
|
||||
Pago.Fecha = CompraActual.Fecha 'toma la misma fecha de la provisión en el pago de NC
|
||||
|
||||
Dim CompraPago As New Compra
|
||||
'datos de la compra tipodocto:Fac, para sobreescribirlos
|
||||
CompraPago.CveCompra = Gvr.DataKey("CveCompra").ToEntero
|
||||
CompraPago.CveProveedor = Gvr.DataKey("CveProveedor").ToEntero
|
||||
CompraPago.SerieFolio = Gvr.DataKey("SerieFolio")
|
||||
CompraPago.TC = Gvr.DataKey("TipoCambio").ToDecimal
|
||||
CompraPago.Fecha = Gvr.DataKey("Fecha").ToDate
|
||||
CompraPago.CveMoneda = Gvr.DataKey("CveMoneda").ToEntero
|
||||
CompraPago.Total = Gvr.DataKey("Total").ToDecimal
|
||||
CompraPago.CveTipoConceptoProveedor = Gvr.DataKey("CveTipoConcepto").ToEntero
|
||||
CompraPago.CveSubProyecto = CompraActual.CveSubProyecto
|
||||
|
||||
ErrorPrepoliza = AplicaPrePolizaPagoCompra(CompraPago, Pago, CvePrePoliza, ObjConta)
|
||||
If ErrorPrepoliza Then
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
|
||||
If ErrorPrepoliza Then
|
||||
ErrorMovtosCxP = True
|
||||
Exit Select
|
||||
End If
|
||||
Next
|
||||
|
||||
If ErrorPrepoliza Then
|
||||
ErrorMovtosCxP = True
|
||||
Exit Select
|
||||
End If
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user