public void UpdatePago(object selectedRow)
        {
            ItemCuentaCorriente dcc = (ItemCuentaCorriente)selectedRow;

            _comprobante.CuentaCorriente.UpdatePago(dcc);
        }
Пример #2
0
 public void FlushDesimputarCliente(ItemCuentaCorriente icc)
 {
     mz.erp.dataaccess.tsa_CuentaCorriente.Update(_data_tsa_AplicacionPagos, _data_tsa_ComprobanteDetalleDeuda);
 }
Пример #3
0
 public void FlushDesimputarProveedor(ItemCuentaCorriente icc)
 {
     //mz.erp.dataaccess.tpu_CuentaCorriente.Update(_data_tpu_AplicacionPagos, _data_tpu_ComprobanteDetalleDeuda);
     mz.erp.dataaccess.tpu_AplicacionPagos.Update(_data_tpu_AplicacionPagos);
     mz.erp.dataaccess.tpu_ComprobanteDetalleDeuda.Update(_data_tpu_ComprobanteDetalleDeuda);
 }
Пример #4
0
        public bool DesimputarProveedor(ItemCuentaCorriente icc)
        {
            _data_tpu_AplicacionPagos.Clear();
            _data_tpu_ComprobanteDetalleDeuda.Clear();

            decimal pago = 0;

            if (icc.Signo == 1)
            {
                // Es un factura de Proveedores o una (nota de ?? (credito o debito) )
                // por ende hay que buscarlo por el campo IdComporbanteDestino en la tabla tpu_AplicacionPagos
                _data_tpu_AplicacionPagos = mz.erp.businessrules.tpu_AplicacionPagos.GetList(null, short.MinValue, decimal.MinValue, icc.IdTipoDeComprobante, icc.IdComprobante, Convert.ToInt16(icc.Cuota));
                foreach (tpu_AplicacionPagosDataset.tpu_AplicacionPagosRow row in _data_tpu_AplicacionPagos.tpu_AplicacionPagos.Rows)
                {
                    bool   getByPk       = false;
                    string IdComprobante = (string)row["IdComprobanteOrigen"];
                    short  cuota         = (short)row["CuotaOrigen"];
                    pago = pago + row.Importe;
                    tpu_ComprobanteDetalleDeudaDataset.tpu_ComprobanteDetalleDeudaRow rowDet = _data_tpu_ComprobanteDetalleDeuda.tpu_ComprobanteDetalleDeuda.FindByIdComprobanteCuota(IdComprobante, cuota);
                    if (rowDet == null)
                    {
                        rowDet  = mz.erp.businessrules.tpu_ComprobanteDetalleDeuda.GetByPk(IdComprobante, cuota);
                        getByPk = true;
                    }
                    if (rowDet != null)
                    {
                        // tener en cuenta el signo del saldo.
                        rowDet.Saldo         = rowDet.Saldo + (-1) * row.Importe;
                        rowDet.SaldoTemporal = rowDet.SaldoTemporal + (-1) * row.Importe;
                        if (getByPk)
                        {
                            _data_tpu_ComprobanteDetalleDeuda.tpu_ComprobanteDetalleDeuda.ImportRow(rowDet);
                        }
                        row.Delete();
                    }
                }
                tpu_ComprobanteDetalleDeudaDataset.tpu_ComprobanteDetalleDeudaRow rowDetalle1 = mz.erp.businessrules.tpu_ComprobanteDetalleDeuda.GetByPk(icc.IdComprobante, (short)icc.Cuota);
                //Se multiplica por 1 pues signo de saldo es positivo. Solo para consolidar los signos
                if (rowDetalle1 != null)
                {
                    rowDetalle1.Saldo         = rowDetalle1.Saldo + 1 * pago;
                    rowDetalle1.SaldoTemporal = rowDetalle1.SaldoTemporal + 1 * pago;
                    _data_tpu_ComprobanteDetalleDeuda.tpu_ComprobanteDetalleDeuda.ImportRow(rowDetalle1);
                }
            }
            else
            {
                // Es un pago a Proveedores (o una nota de ?? debito?)
                // Por ende hay que buscarlo por el campo IdComporbanteOrigen en la tabla tpu_AplicacionPagos.
                _data_tpu_AplicacionPagos = mz.erp.businessrules.tpu_AplicacionPagos.GetList(icc.IdComprobante, Convert.ToInt16(icc.Cuota), decimal.MinValue, null, null, short.MinValue);
                foreach (tpu_AplicacionPagosDataset.tpu_AplicacionPagosRow row in _data_tpu_AplicacionPagos.tpu_AplicacionPagos.Rows)
                {
                    bool   getByPk       = false;
                    string IdComprobante = (string)row["IdComprobanteDestino"];
                    short  cuota         = (short)row["CuotaDestino"];
                    pago = pago + row.Importe;
                    tpu_ComprobanteDetalleDeudaDataset.tpu_ComprobanteDetalleDeudaRow rowDet = _data_tpu_ComprobanteDetalleDeuda.tpu_ComprobanteDetalleDeuda.FindByIdComprobanteCuota(IdComprobante, cuota);
                    if (rowDet == null)
                    {
                        rowDet  = mz.erp.businessrules.tpu_ComprobanteDetalleDeuda.GetByPk(IdComprobante, cuota);
                        getByPk = true;
                    }
                    if (rowDet != null)
                    {
                        // tener en cuenta el signo del saldo.
                        rowDet.Saldo         = rowDet.Saldo + (+1) * row.Importe;
                        rowDet.SaldoTemporal = rowDet.SaldoTemporal + (+1) * row.Importe;
                        if (getByPk)
                        {
                            _data_tpu_ComprobanteDetalleDeuda.tpu_ComprobanteDetalleDeuda.ImportRow(rowDet);
                        }
                        row.Delete();
                    }
                }
                tpu_ComprobanteDetalleDeudaDataset.tpu_ComprobanteDetalleDeudaRow rowDetalle2 = mz.erp.businessrules.tpu_ComprobanteDetalleDeuda.GetByPk(icc.IdComprobante, (short)icc.Cuota);
                // Se multiplica por 1 pues signo de saldo es positivo. Solo para consolidar los signos
                if (rowDetalle2 != null)
                {
                    rowDetalle2.Saldo         = rowDetalle2.Saldo + (-1) * pago;
                    rowDetalle2.SaldoTemporal = rowDetalle2.SaldoTemporal + (-1) * pago;
                    _data_tpu_ComprobanteDetalleDeuda.tpu_ComprobanteDetalleDeuda.ImportRow(rowDetalle2);
                }
            }
            // Chequeo que se haya eliminado alguna imputación
            return(pago > 0);
        }