示例#1
0
        public static ContaPoliza CrearPoliza(int iTipoPolizaID, string sConcepto, int iCuentaCargo, int iCuentaAbono, decimal mImporte, string sReferencia
            , string sTabla, int? iRelacionID, int iSucursalID)
        {
            var oPoliza = new ContaPoliza()
            {
                Fecha = DateTime.Now,
                ContaTipoPolizaID = iTipoPolizaID,
                Concepto = sConcepto,
                RealizoUsuarioID = Theos.UsuarioID,
                SucursalID = iSucursalID,
                RelacionID = iRelacionID
            };
            Datos.Guardar<ContaPoliza>(oPoliza);

            var oDetCargo = new ContaPolizaDetalle()
            {
                ContaPolizaID = oPoliza.ContaPolizaID,
                ContaCuentaAuxiliarID = iCuentaCargo,
                SucursalID = oPoliza.SucursalID,
                Cargo = mImporte,
                Abono = 0,
                Referencia = sReferencia
            };
            var oDetAbono = new ContaPolizaDetalle()
            {
                ContaPolizaID = oPoliza.ContaPolizaID,
                ContaCuentaAuxiliarID = iCuentaAbono,
                SucursalID = oPoliza.SucursalID,
                Cargo = 0,
                Abono = mImporte,
                Referencia = sReferencia
            };
            if (iCuentaCargo > 0)
                Datos.Guardar<ContaPolizaDetalle>(oDetCargo);
            if (iCuentaAbono > 0)
                Datos.Guardar<ContaPolizaDetalle>(oDetAbono);

            return oPoliza;
        }
示例#2
0
        public static ContaPoliza CrearPoliza(ContaPoliza oPoliza, int iCuentaCargo, int iCuentaAbono, decimal mImporte, string sReferencia
            , int iSucursalCargo, int iSucursalAbono)
        {
            if (oPoliza.Fecha == DateTime.MinValue)
                oPoliza.Fecha = DateTime.Now;
            if (oPoliza.RealizoUsuarioID <= 0)
                oPoliza.RealizoUsuarioID = Theos.UsuarioID;
            if (oPoliza.SucursalID <= 0)
                oPoliza.SucursalID = Theos.SucursalID;

            Datos.Guardar<ContaPoliza>(oPoliza);

            var oDetCargo = new ContaPolizaDetalle()
            {
                ContaPolizaID = oPoliza.ContaPolizaID,
                ContaCuentaAuxiliarID = iCuentaCargo,
                SucursalID = iSucursalCargo,
                Cargo = mImporte,
                Abono = 0,
                Referencia = sReferencia
            };
            var oDetAbono = new ContaPolizaDetalle()
            {
                ContaPolizaID = oPoliza.ContaPolizaID,
                ContaCuentaAuxiliarID = iCuentaAbono,
                SucursalID = iSucursalAbono,
                Cargo = 0,
                Abono = mImporte,
                Referencia = sReferencia
            };
            if (iCuentaCargo > 0)
                Datos.Guardar<ContaPolizaDetalle>(oDetCargo);
            if (iCuentaAbono > 0)
                Datos.Guardar<ContaPolizaDetalle>(oDetAbono);

            return oPoliza;
        }
示例#3
0
 public static ContaPolizaDetalle GafInfonavit(int iAfectacionID, int iId)
 {
     var oDetalle = new ContaPolizaDetalle();
     switch (iAfectacionID)
     {
         case Cat.ContaAfectaciones.NominaOficial:
             ContaProc.AfectarConCuentaNominaOficial(ref oDetalle, iId, Cat.ContaCuentasDeMayor.Infonavit);
             break;
         case Cat.ContaAfectaciones.PagoInfonavit:
             ContaProc.AfectarConGastoPagoImpuestoUsuario(ref oDetalle, iId);
             break;
     }
     return oDetalle;
 }
示例#4
0
 public static ContaPolizaDetalle GafGastos(int iAfectacionID, int iId)
 {
     var oDetalle = new ContaPolizaDetalle();
     switch (iAfectacionID)
     {
         case Cat.ContaAfectaciones.GastoCajaFacturado:
             ContaProc.AfectarConSubtotalCajaEgreso(ref oDetalle, iId);
             break;
         case Cat.ContaAfectaciones.GastoFacturadoBanco:
         case Cat.ContaAfectaciones.GastoFacturadoEfectivo:
         case Cat.ContaAfectaciones.GastoContableFacturadoBancoCpcp:
             ContaProc.AfectarConSubtotalGastoContable(ref oDetalle, iId);
             break;
     }
     return oDetalle;
 }
示例#5
0
 public static ContaPolizaDetalle GafClientes(int iAfectacionID, int iId)
 {
     var oDetalle = new ContaPolizaDetalle();
     switch (iAfectacionID)
     {
         case Cat.ContaAfectaciones.VentaContadoFacturaDirecta:
             ContaProc.AfectarConPrecioVenta(ref oDetalle, iId);
             break;
         case Cat.ContaAfectaciones.VentaContadoFacturaConvertida:
         case Cat.ContaAfectaciones.VentaCredito:
             ContaProc.AfectarConPrecioVenta(ref oDetalle, iId);
             ContaProc.AfectarSucursalConVenta(ref oDetalle, iId);
             break;
         case Cat.ContaAfectaciones.PagoVentaCredito:
             ContaProc.AfectarConPago(ref oDetalle, iId);
             ContaProc.AfectarSucursalConVentaDePago(ref oDetalle, iId);
             break;
         case Cat.ContaAfectaciones.VentaContadoPagoFacturaGlobal:
             ContaProc.AfectarConFactura(ref oDetalle, iId);
             break;
         case Cat.ContaAfectaciones.SalidaInventario:
             ContaProc.AfectarConCostoMasIvaParteDeMovimientoInventario(ref oDetalle, iId);
             break;
         case Cat.ContaAfectaciones.DevolucionVentaPago:
             ContaProc.AfectarConPrecioDevolucion(ref oDetalle, iId);
             ContaProc.AfectarSucursalConVentaDeDevolucion(ref oDetalle, iId);
             break;
         case Cat.ContaAfectaciones.GarantiaVentaPagoFactura:
         case Cat.ContaAfectaciones.GarantiaVentaValeFactura:
             ContaProc.AfectarConPrecioGarantia(ref oDetalle, iId);
             ContaProc.AfectarSucursalConVentaDeGarantia(ref oDetalle, iId);
             break;
         case Cat.ContaAfectaciones.NotaDeCreditoDescuentoVenta:
             ContaProc.AfectarConImporteNotaDeCreditoFiscalDetalle(ref oDetalle, iId);
             ContaProc.AfectarSucursalConVentaDeNotaDeCreditoFiscalDetalle(ref oDetalle, iId);
             break;
         case Cat.ContaAfectaciones.DevolucionVentaCreditoFacturadaVale:
         case Cat.ContaAfectaciones.DevolucionVentaCreditoFacturadaPago:
             ContaProc.AfectarConDevolucionMenosLoAbonado(ref oDetalle, iId);
             ContaProc.AfectarSucursalConVentaDeDevolucion(ref oDetalle, iId);
             break;
         case Cat.ContaAfectaciones.GarantiaVentaCreditoFacturadaPago:
         case Cat.ContaAfectaciones.GarantiaVentaCreditoFacturaVale:
             ContaProc.AfectarConGarantiaMenosLoAbonado(ref oDetalle, iId);
             ContaProc.AfectarSucursalConVentaDeGarantia(ref oDetalle, iId);
             break;
     }
     return oDetalle;
 }
示例#6
0
 public static ContaPolizaDetalle GafCaja(int iAfectacionID, int iId)
 {
     var oDetalle = new ContaPolizaDetalle();
     switch (iAfectacionID)
     {
         case Cat.ContaAfectaciones.VentaContadoFacturaDirecta:
             ContaProc.AfectarConPagoNoValeDeVenta(ref oDetalle, iId);
             break;
         case Cat.ContaAfectaciones.VentaContadoFacturaConvertida:
             // ContaProc.AfectarConPrecioVenta(ref oDetalle, iId);
             // Se verifica si la venta es del día o de días anteriores
             if (Datos.Exists<Venta>(c => c.VentaID == iId && c.Fecha < DateTime.Today && c.Estatus))
                 ContaProc.AfectarConPagoDeVenta(ref oDetalle, iId);
             else
                 ContaProc.AfectarConPagoNoValeDeVenta(ref oDetalle, iId);
             //
             ContaProc.AfectarSucursalConVenta(ref oDetalle, iId);
             break;
         case Cat.ContaAfectaciones.PagoVentaCredito:
             ContaProc.AfectarConPagoNoVale(ref oDetalle, iId);
             break;
         case Cat.ContaAfectaciones.VentaContadoVale:
             ContaProc.AfectarConPagoValeDeVenta(ref oDetalle, iId);
             break;
         case Cat.ContaAfectaciones.VentaContadoPagoFacturaGlobal:
             ContaProc.AfectarConFacturaGlobalNoValesDeFactura(ref oDetalle, iId);
             break;
         // case Cat.ContaAfectaciones.CompraContado:
         case Cat.ContaAfectaciones.DevolucionCompraPago:
             ContaProc.AfectarConPrecioInventario(ref oDetalle, iId);
             break;
         case Cat.ContaAfectaciones.DevolucionVentaPago:
             ContaProc.AfectarConPrecioDevolucion(ref oDetalle, iId);
             break;
         case Cat.ContaAfectaciones.GarantiaVentaPagoFactura:
             ContaProc.AfectarConPrecioGarantia(ref oDetalle, iId);
             break;
         case Cat.ContaAfectaciones.Resguardo:
         case Cat.ContaAfectaciones.GastoCajaFacturado:
         case Cat.ContaAfectaciones.GastoReparteUtilidades:
             ContaProc.AfectarConCajaEgreso(ref oDetalle, iId);
             break;
         case Cat.ContaAfectaciones.PagoCompraCreditoGastoCajaFacturado:
         case Cat.ContaAfectaciones.PagoCompraCreditoGastoCaja:
             ContaProc.AfectarConAbonoProveedor(ref oDetalle, iId);
             break;
         case Cat.ContaAfectaciones.Refuerzo:
             ContaProc.AfectarConCajaIngreso(ref oDetalle, iId);
             break;
         case Cat.ContaAfectaciones.DevolucionVentaCreditoFacturadaPago:
         case Cat.ContaAfectaciones.DevolucionVentaValeTicket:
             ContaProc.AfectarConImporteDevueltoDevolucion(ref oDetalle, iId);
             break;
         case Cat.ContaAfectaciones.GarantiaVentaCreditoFacturadaPago:
         case Cat.ContaAfectaciones.GarantiaVentaValeTicket:
             ContaProc.AfectarConImporteDevueltoGarantia(ref oDetalle, iId);
             break;
     }
     return oDetalle;
 }
示例#7
0
 public static ContaPolizaDetalle GafAnticipoClientes(int iAfectacionID, int iId)
 {
     var oDetalle = new ContaPolizaDetalle();
     switch (iAfectacionID)
     {
         case Cat.ContaAfectaciones.DevolucionVentaValeFactura:
             ContaProc.AfectarConPrecioDevolucion(ref oDetalle, iId);
             oDetalle.Referencia = ContaProc.ObtenerValesDeDevolucion(iId);
             break;
         case Cat.ContaAfectaciones.VentaContadoVale:
             ContaProc.AfectarConPagoValeDeVenta(ref oDetalle, iId);
             break;
         case Cat.ContaAfectaciones.DevolucionVentaCreditoFacturadaVale:
         case Cat.ContaAfectaciones.DevolucionVentaValeTicket:
             ContaProc.AfectarConImporteDevueltoDevolucion(ref oDetalle, iId);
             oDetalle.Referencia = ContaProc.ObtenerValesDeDevolucion(iId);
             break;
         case Cat.ContaAfectaciones.ValeDirecto:
             ContaProc.AfectarConVale(ref oDetalle, iId);
             oDetalle.Referencia = iId.ToString();
             break;
         case Cat.ContaAfectaciones.PagoVentaCredito:
             ContaProc.AfectarConPagoVale(ref oDetalle, iId);
             ContaProc.AfectarSucursalConValeDePago(ref oDetalle, iId);
             oDetalle.Referencia = ContaProc.ObtenerValesDePago(iId);
             break;
         case Cat.ContaAfectaciones.GarantiaVentaValeFactura:
             ContaProc.AfectarConPrecioGarantia(ref oDetalle, iId);
             ContaProc.AfectarSucursalConValeDeGarantia(ref oDetalle, iId);
             oDetalle.Referencia = ContaProc.ObtenerValesDeGarantia(iId);
             break;
         case Cat.ContaAfectaciones.GarantiaVentaCreditoFacturaVale:
         case Cat.ContaAfectaciones.GarantiaVentaValeTicket:
             ContaProc.AfectarConImporteDevueltoGarantia(ref oDetalle, iId);
             oDetalle.Referencia = ContaProc.ObtenerValesDeGarantia(iId);
             break;
         case Cat.ContaAfectaciones.VentaContadoPagoFacturaGlobal:
             ContaProc.AfectarConFacturaGlobalValesDeFactura(ref oDetalle, iId);
             oDetalle.Referencia = ContaProc.ObtenerValesDeFacturaGlobal(iId);
             break;
         case Cat.ContaAfectaciones.VentaContadoFacturaDirecta:
             ContaProc.AfectarConPagoValeDeVenta(ref oDetalle, iId);
             ContaProc.AfectarSucursalConValeDeVenta(ref oDetalle, iId);
             oDetalle.Referencia = ContaProc.ObtenerValesDeVenta(iId);
             break;
         case Cat.ContaAfectaciones.VentaContadoFacturaConvertida:
             // Se verifica si la venta es del día o de días anteriores
             if (Datos.Exists<Venta>(c => c.VentaID == iId && EntityFunctions.TruncateTime(c.Fecha) == DateTime.Today && c.Estatus))
                 ContaProc.AfectarConPagoValeDeVenta(ref oDetalle, iId);
             // Para lo de la sucursal
             ContaProc.AfectarSucursalConValeDeVenta(ref oDetalle, iId);
             oDetalle.Referencia = ContaProc.ObtenerValesDeVenta(iId);
             break;
     }
     return oDetalle;
 }
示例#8
0
 private static ContaPolizaDetalle GafNomina2Por(int iAfectacionID, int iId)
 {
     var oDetalle = new ContaPolizaDetalle();
     switch (iAfectacionID)
     {
         case Cat.ContaAfectaciones.Pago2Por:
             ContaProc.AfectarConTotalPagoImpuestoUsuario(ref oDetalle, iId);
             break;
     }
     return oDetalle;
 }
示例#9
0
 private static void AfectarSucursalConValeDeVenta(ref ContaPolizaDetalle oDetalle, int iId)
 {
     var oPagoDetV = Datos.GetEntity<VentasPagosDetalleAvanzadoView>(c => c.VentaID == iId && c.FormaDePagoID == Cat.FormasDePago.Vale);
     if (oPagoDetV != null)
         oDetalle.SucursalID = oPagoDetV.SucursalID.Valor();
 }
示例#10
0
 private static void AfectarSucursalConValeDePago(ref ContaPolizaDetalle oDetalle, int iId)
 {
     var oPagoDetV = Datos.GetEntity<VentasPagosDetalleAvanzadoView>(c => c.VentaPagoID == iId && c.FormaDePagoID == Cat.FormasDePago.Vale);
     if (oPagoDetV != null)
     {
         var oVale = Datos.GetEntity<NotaDeCredito>(c => c.NotaDeCreditoID == oPagoDetV.NotaDeCreditoID && c.Estatus);
         oDetalle.SucursalID = oVale.SucursalID.Valor();
     }
 }
示例#11
0
 private static void AfectarConVale(ref ContaPolizaDetalle oDetalle, int iId)
 {
     var oReg = Datos.GetEntity<NotaDeCredito>(c => c.NotaDeCreditoID == iId && c.Estatus);
     oDetalle.Cargo = oReg.Importe;
 }
示例#12
0
 private static void AfectarConTotalPagoImpuestoUsuario(ref ContaPolizaDetalle oDetalle, int iId)
 {
     var oReg = Datos.GetEntity<NominaImpuestoUsuario>(c => c.NominaImpuestoUsuarioID == iId);
     oDetalle.Cargo = oReg.Total;
 }
示例#13
0
 private static void AfectarConTotalImporteFacturaInventario(ref ContaPolizaDetalle oDetalle, int iId)
 {
     var oCompra = Datos.GetEntity<MovimientoInventario>(c => c.MovimientoInventarioID == iId && c.Estatus);
     oDetalle.Cargo = oCompra.ImporteFactura;
 }
示例#14
0
 private static void AfectarConSubtotalVale(ref ContaPolizaDetalle oDetalle, int iId)
 {
     var oReg = Datos.GetEntity<NotaDeCredito>(c => c.NotaDeCreditoID == iId && c.Estatus);
     oDetalle.Cargo = UtilTheos.ObtenerPrecioSinIva(oReg.Importe);
 }
示例#15
0
 private static void AfectarSucursalConVenta(ref ContaPolizaDetalle oDetalle, int iId)
 {
     var oVenta = Datos.GetEntity<Venta>(c => c.VentaID == iId && c.Estatus);
     if (oVenta != null)
         oDetalle.SucursalID = oVenta.SucursalID;
 }
示例#16
0
 private static ContaPolizaDetalle GafInteresesBancarios(int iAfectacionID, int iId)
 {
     var oDetalle = new ContaPolizaDetalle();
     switch (iAfectacionID)
     {
         case Cat.ContaAfectaciones.InteresesBancarios:
             ContaProc.AfectarConSubtotalGastoContable(ref oDetalle, iId);
             break;
     }
     return oDetalle;
 }
示例#17
0
 private static void AfectarSucursalConVentaDeDevolucion(ref ContaPolizaDetalle oDetalle, int iId)
 {
     var oVentaDev = Datos.GetEntity<VentaDevolucion>(c => c.VentaDevolucionID == iId && c.Estatus);
     var oVenta = Datos.GetEntity<Venta>(c => c.VentaID == oVentaDev.VentaID && c.Estatus);
     oDetalle.SucursalID = oVenta.SucursalID;
 }
示例#18
0
 private static ContaPolizaDetalle GafReservaNomina(int iAfectacionID, int iId)
 {
     var oDetalle = new ContaPolizaDetalle();
     switch (iAfectacionID)
     {
         case Cat.ContaAfectaciones.GastoReparteUtilidades:
             ContaProc.AfectarConCajaEgreso(ref oDetalle, iId);
             break;
     }
     return oDetalle;
 }
示例#19
0
 private static void AfectarSucursalConVentaDeGarantia(ref ContaPolizaDetalle oDetalle, int iId)
 {
     var oGarantia = Datos.GetEntity<VentaGarantia>(c => c.VentaGarantiaID == iId && c.Estatus);
     var oVenta = Datos.GetEntity<Venta>(c => c.VentaID == oGarantia.VentaID && c.Estatus);
     oDetalle.SucursalID = oVenta.SucursalID;
 }
示例#20
0
 public static ContaPolizaDetalle GafAguinaldo(int iAfectacionID, int iId)
 {
     var oDetalle = new ContaPolizaDetalle();
     switch (iAfectacionID)
     {
         case Cat.ContaAfectaciones.NominaOficial:
             ContaProc.AfectarConCuentaNominaOficial(ref oDetalle, iId, Cat.ContaCuentasDeMayor.Aguinaldo);
             break;
     }
     return oDetalle;
 }
示例#21
0
 private static void AfectarSucursalConVentaDeNotaDeCreditoFiscalDetalle(ref ContaPolizaDetalle oDetalle, int iId)
 {
     var oReg = Datos.GetEntity<NotaDeCreditoFiscalDetalle>(c => c.NotaDeCreditoFiscalDetalleID == iId);
     var oVenta = Datos.GetEntity<Venta>(c => c.VentaID == oReg.VentaID && c.Estatus);
     oDetalle.SucursalID = oVenta.SucursalID;
 }
示例#22
0
 public static ContaPolizaDetalle GafBancos(int iAfectacionID, int iId)
 {
     var oDetalle = new ContaPolizaDetalle();
     switch (iAfectacionID)
     {
         case Cat.ContaAfectaciones.PagoCompraCredito:
             ContaProc.AfectarConAbonoProveedor(ref oDetalle, iId);
             break;
         case Cat.ContaAfectaciones.GastoFacturadoBanco:
         case Cat.ContaAfectaciones.InteresesBancarios:
             ContaProc.AfectarConGastoContable(ref oDetalle, iId);
             break;
         case Cat.ContaAfectaciones.DepositoBancario:
             ContaProc.AfectarConMovimientoBancario(ref oDetalle, iId);
             break;
         case Cat.ContaAfectaciones.NominaOficial:
             ContaProc.AfectarConNominaOficial(ref oDetalle, iId);
             break;
         case Cat.ContaAfectaciones.Pago2Por:
         case Cat.ContaAfectaciones.PagoImss:
         case Cat.ContaAfectaciones.PagoInfonavit:
             ContaProc.AfectarConTotalPagoImpuestoUsuario(ref oDetalle, iId);
             break;
     }
     return oDetalle;
 }
示例#23
0
 private static void AfectarSucursalConVentaDePago(ref ContaPolizaDetalle oDetalle, int iId)
 {
     var oPago = Datos.GetEntity<VentaPago>(c => c.VentaPagoID == iId && c.Estatus);
     var oVenta = Datos.GetEntity<Venta>(c => c.VentaID == oPago.VentaID && c.Estatus);
     oDetalle.SucursalID = oVenta.SucursalID;
 }
示例#24
0
 public static ContaPolizaDetalle GafCapitalFijo(int iAfectacionID, int iId)
 {
     var oDetalle = new ContaPolizaDetalle();
     switch (iAfectacionID)
     {
         case Cat.ContaAfectaciones.EntradaInventario:
             ContaProc.AfectarConCostoParteDeMovimientoInventario(ref oDetalle, iId);
             break;
     }
     return oDetalle;
 }
示例#25
0
 private static ContaPolizaDetalle GafCuentasPorPagarCortoPlazo(int iAfectacionID, int iId)
 {
     var oDetalle = new ContaPolizaDetalle();
     switch (iAfectacionID)
     {
         case Cat.ContaAfectaciones.PagoProveedorDirectoCpcp:
             ContaProc.AfectarConAbonoProveedor(ref oDetalle, iId);
             break;
         case Cat.ContaAfectaciones.GastoContableFacturadoBancoCpcp:
             ContaProc.AfectarConGastoContable(ref oDetalle, iId);
             break;
     }
     return oDetalle;
 }
示例#26
0
 public static ContaPolizaDetalle GafCostoVenta(int iAfectacionID, int iId)
 {
     var oDetalle = new ContaPolizaDetalle();
     switch (iAfectacionID)
     {
         case Cat.ContaAfectaciones.VentaContadoFacturaDirecta:
             ContaProc.AfectarConCostoVenta(ref oDetalle, iId);
             break;
         case Cat.ContaAfectaciones.VentaContadoFacturaConvertida:
         case Cat.ContaAfectaciones.VentaCredito:
             ContaProc.AfectarConCostoVenta(ref oDetalle, iId);
             ContaProc.AfectarSucursalConVenta(ref oDetalle, iId);
             break;
         case Cat.ContaAfectaciones.VentaContadoPagoFacturaGlobal:
             ContaProc.AfectarConCostoFactura(ref oDetalle, iId);
             break;
         case Cat.ContaAfectaciones.SalidaInventario:
             ContaProc.AfectarConCostoParteDeMovimientoInventario(ref oDetalle, iId);
             break;
         case Cat.ContaAfectaciones.DevolucionVentaPago:
         case Cat.ContaAfectaciones.DevolucionVentaValeFactura:
         case Cat.ContaAfectaciones.DevolucionVentaCreditoFacturadaPago:
         case Cat.ContaAfectaciones.DevolucionVentaCreditoFacturadaVale:
             ContaProc.AfectarConCostoDevolucion(ref oDetalle, iId);
             break;
         case Cat.ContaAfectaciones.GarantiaVentaCreditoFacturadaPago:
         case Cat.ContaAfectaciones.GarantiaVentaCreditoFacturaVale:
             ContaProc.AfectarConCostoGarantia(ref oDetalle, iId);
             break;
         case Cat.ContaAfectaciones.GarantiaVentaPagoFactura:
         case Cat.ContaAfectaciones.GarantiaVentaValeFactura:
             ContaProc.AfectarConCostoGarantia(ref oDetalle, iId);
             break;
     }
     return oDetalle;
 }
示例#27
0
 private static ContaPolizaDetalle GafDescuentoSobreVentaClientes(int iAfectacionID, int iId)
 {
     var oDetalle = new ContaPolizaDetalle();
     switch (iAfectacionID)
     {
         case Cat.ContaAfectaciones.ValeDirecto:
             ContaProc.AfectarConSubtotalVale(ref oDetalle, iId);
             break;
         case Cat.ContaAfectaciones.NotaDeCreditoDescuentoVenta:
             ContaProc.AfectarConImporteSivIvaNotaDeCreditoFiscalDetalle(ref oDetalle, iId);
             break;
     }
     return oDetalle;
 }
示例#28
0
 public static ContaPolizaDetalle GafGastosNoDeducibles(int iAfectacionID, int iId)
 {
     var oDetalle = new ContaPolizaDetalle();
     switch (iAfectacionID)
     {
         case Cat.ContaAfectaciones.GastoNotaEfectivo:
             ContaProc.AfectarConGastoContable(ref oDetalle, iId);
             break;
     }
     return oDetalle;
 }
示例#29
0
 private static ContaPolizaDetalle GafDevolucionesSobreVentaClientes(int iAfectacionID, int iId)
 {
     var oDetalle = new ContaPolizaDetalle();
     switch (iAfectacionID)
     {
         case Cat.ContaAfectaciones.DevolucionVentaPago:
         case Cat.ContaAfectaciones.DevolucionVentaValeFactura:
         case Cat.ContaAfectaciones.DevolucionVentaCreditoFacturadaPago:
         case Cat.ContaAfectaciones.DevolucionVentaCreditoFacturadaVale:
             ContaProc.AfectarConPrecioSinIvaDevolucion(ref oDetalle, iId);
             break;
         case Cat.ContaAfectaciones.GarantiaVentaPagoFactura:
         case Cat.ContaAfectaciones.GarantiaVentaValeFactura:
         case Cat.ContaAfectaciones.GarantiaVentaCreditoFacturadaPago:
         case Cat.ContaAfectaciones.GarantiaVentaCreditoFacturaVale:
             ContaProc.AfectarConPrecioSinIvaGarantia(ref oDetalle, iId);
             break;
     }
     return oDetalle;
 }
示例#30
0
 public static ContaPolizaDetalle GafInventario(int iAfectacionID, int iId)
 {
     var oDetalle = new ContaPolizaDetalle();
     switch (iAfectacionID)
     {
         case Cat.ContaAfectaciones.VentaContadoFacturaDirecta:
             ContaProc.AfectarConCostoVenta(ref oDetalle, iId);
             break;
         case Cat.ContaAfectaciones.VentaContadoFacturaConvertida:
         case Cat.ContaAfectaciones.VentaCredito:
             ContaProc.AfectarConCostoVenta(ref oDetalle, iId);
             ContaProc.AfectarSucursalConVenta(ref oDetalle, iId);
             break;
         case Cat.ContaAfectaciones.VentaContadoPagoFacturaGlobal:
             ContaProc.AfectarConCostoFactura(ref oDetalle, iId);
             break;
         // case Cat.ContaAfectaciones.CompraContado:
         case Cat.ContaAfectaciones.EntradaInventario:
         case Cat.ContaAfectaciones.SalidaInventario:
             ContaProc.AfectarConCostoParteDeMovimientoInventario(ref oDetalle, iId);
             break;
         case Cat.ContaAfectaciones.DevolucionCompraPago:
         case Cat.ContaAfectaciones.DevolucionCompraNotaDeCredito:
             ContaProc.AfectarConCostoInventario(ref oDetalle, iId);
             break;
         case Cat.ContaAfectaciones.CompraCreditoFactura:
             ContaProc.AfectarConSubtotalImporteFacturaInventario(ref oDetalle, iId);
             break;
         case Cat.ContaAfectaciones.CompraCreditoNota:
             ContaProc.AfectarConTotalImporteFacturaInventario(ref oDetalle, iId);
             break;
         case Cat.ContaAfectaciones.DevolucionVentaPago:
         case Cat.ContaAfectaciones.DevolucionVentaValeFactura:
         case Cat.ContaAfectaciones.DevolucionVentaCreditoFacturadaPago:
         case Cat.ContaAfectaciones.DevolucionVentaCreditoFacturadaVale:
             ContaProc.AfectarConCostoDevolucion(ref oDetalle, iId);
             break;
         case Cat.ContaAfectaciones.GarantiaVentaCreditoFacturadaPago:
         case Cat.ContaAfectaciones.GarantiaVentaCreditoFacturaVale:
         case Cat.ContaAfectaciones.GarantiaVentaValeTicket:
             ContaProc.AfectarConCostoGarantia(ref oDetalle, iId);
             break;
         case Cat.ContaAfectaciones.PagoCompraCreditoNotaDeCreditoDevolucion:
         case Cat.ContaAfectaciones.PagoCompraCreditoDescuentoDirecto:
         case Cat.ContaAfectaciones.PagoCompraCreditoDescuentoFactura:
             ContaProc.AfectarConSubtotalAbonoProveedor(ref oDetalle, iId);
             break;
     }
     return oDetalle;
 }
示例#31
0
        private bool AccionGuardar()
        {
            if (!this.Validar())
            {
                return(false);
            }

            Cargando.Mostrar();

            // Se obtiene la póliza
            ContaPoliza oPoliza;

            if (this.iPolizaID > 0)
            {
                oPoliza = Datos.GetEntity <ContaPoliza>(c => c.ContaPolizaID == iPolizaID);
            }
            else
            {
                oPoliza = new ContaPoliza()
                {
                    SucursalID = GlobalClass.SucursalID, RealizoUsuarioID = GlobalClass.UsuarioGlobal.UsuarioID, FueManual = true
                }
            };

            // Se guarda la póliza
            oPoliza.Fecha             = this.dtpFecha.Value;
            oPoliza.ContaTipoPolizaID = Util.Entero(this.cmbTipoPoliza.SelectedValue);
            oPoliza.Concepto          = this.txtConcepto.Text;
            oPoliza.Origen            = this.txtOrigen.Text;
            oPoliza.Error             = false;
            Datos.Guardar <ContaPoliza>(oPoliza);

            // Se procede a guardar el detalle
            ContaPolizaDetalle oReg = null;

            foreach (DataGridViewRow oFila in this.dgvDetalle.Rows)
            {
                if (oFila.IsNewRow)
                {
                    continue;
                }

                int iCuentaAuxID = Util.Entero(oFila.Cells["ContaCuentaAuxiliarID"].Value);
                int iId          = this.dgvDetalle.ObtenerId(oFila);
                int iCambio      = this.dgvDetalle.ObtenerIdCambio(oFila);
                switch (iCambio)
                {
                case Cat.TiposDeAfectacion.Agregar:
                case Cat.TiposDeAfectacion.Modificar:
                    if (iCambio == Cat.TiposDeAfectacion.Agregar)
                    {
                        oReg = new ContaPolizaDetalle()
                        {
                            ContaPolizaID = oPoliza.ContaPolizaID
                        }
                    }
                    ;
                    else
                    {
                        oReg = Datos.GetEntity <ContaPolizaDetalle>(c => c.ContaPolizaDetalleID == iId);
                    }

                    oReg.ContaCuentaAuxiliarID = iCuentaAuxID;
                    oReg.Cargo      = Util.Decimal(oFila.Cells["Cargo"].Value);
                    oReg.Abono      = Util.Decimal(oFila.Cells["Abono"].Value);
                    oReg.Referencia = Util.Cadena(oFila.Cells["Referencia"].Value);
                    oReg.SucursalID = Util.Entero(oFila.Cells["SucursalID"].Value);

                    Datos.Guardar <ContaPolizaDetalle>(oReg);
                    break;

                case Cat.TiposDeAfectacion.Borrar:
                    oReg = Datos.GetEntity <ContaPolizaDetalle>(c => c.ContaPolizaDetalleID == iId);
                    Datos.Eliminar <ContaPolizaDetalle>(oReg);
                    break;
                }

                // Se verifica si se afecta una cuenta bancaria, en cuyo caso, se crea un movimiento bancario
                if (iCambio == Cat.TiposDeAfectacion.Agregar)
                {
                    var oCuentaAux = Datos.GetEntity <ContaCuentaAuxiliar>(c => c.ContaCuentaAuxiliarID == iCuentaAuxID);
                    if ((oCuentaAux.ContaCuentaDeMayorID == Cat.ContaCuentasDeMayor.Bancos || oCuentaAux.ContaCuentaDeMayorID == Cat.ContaCuentasDeMayor.CuentasPorPagarCortoPlazo) &&
                        oCuentaAux.RelacionID.HasValue)
                    {
                        var oMovBanc = new BancoCuentaMovimiento()
                        {
                            BancoCuentaID   = oCuentaAux.RelacionID.Valor(),
                            EsIngreso       = (oReg.Cargo > 0),
                            Fecha           = oPoliza.Fecha,
                            FechaAsignado   = oPoliza.Fecha,
                            SucursalID      = oPoliza.SucursalID,
                            Importe         = (oReg.Cargo > 0 ? oReg.Cargo : oReg.Abono),
                            Concepto        = oPoliza.Concepto,
                            Referencia      = oReg.Referencia,
                            TipoFormaPagoID = Cat.FormasDePago.Efectivo,
                            RelacionID      = oReg.ContaPolizaDetalleID
                        };
                        ContaProc.RegistrarMovimientoBancario(oMovBanc);
                    }
                }
            }

            Cargando.Cerrar();
            return(true);
        }