public override void Commit() { ComprobanteDePago cdp = this.Parent; tsa_ComprobantesExDataset data = cdp.DatasetComprobante; ArrayList detalles = cdp.CuentaCorriente.Detalle; System.Data.DataRow rowComprobante = null; tsa_ComprobantesExDataset.tsa_ComprobantesDataTable TablaComprobantes = data.tsa_Comprobantes; rowComprobante = data.tsa_Comprobantes.FindByIdComprobante(this.Parent.IdComprobante); if (rowComprobante == null) { rowComprobante = mz.erp.businessrules.tsa_Comprobantes.GetByPk(this.Parent.IdComprobante); data.tsa_Comprobantes.ImportRow(rowComprobante); } //Para cada item de la cuenta Corriente asociado al comprobante, toma aquellos comprobantes //imputados en el pago, es decir, aquellos que tienen signo = -1 (Comprobantes de Venta(Facturas, Notas de Debitos, ect...) //y que tienen la propiedad Pago > 0 foreach (DetalleCuentaCorriente dcc in detalles) { if ((dcc.Pago > 0) && (dcc.Signo == -1)) { tsa_ComprobantesExDataset.tsa_AplicacionPagosRow row = data.tsa_AplicacionPagos.Newtsa_AplicacionPagosRow(); this.SetRowValues(row, dcc, rowComprobante); //Se actualiza el el saldo del Comprobante de Pago, en base a los comprobantes imputados //Por eso se debe cumplir que dcc.Pago >0 y que dcc.Signo == -1 //cdp.Saldo= cdp.Saldo - dcc.Pago; if (cdp.ComprobanteDeVenta != null) { System.Data.DataRow rowComprobanteImputado = cdp.ComprobanteDeVenta.DatasetComprobante.tsa_Comprobantes.FindByIdComprobante(dcc.IdComprobante); data.tsa_Comprobantes.LoadDataRow(rowComprobanteImputado.ItemArray, true); } else { System.Data.DataRow rowComprobanteImputado = data.tsa_Comprobantes.FindByIdComprobante(dcc.IdComprobante); if (rowComprobanteImputado == null) { rowComprobanteImputado = mz.erp.businessrules.tsa_Comprobantes.GetByPk(dcc.IdComprobante); data.tsa_Comprobantes.ImportRow(rowComprobanteImputado); } } data.tsa_AplicacionPagos.Addtsa_AplicacionPagosRow(row); } } }
public override void Commit() { ComprobanteDePago cdp = this.Parent; tsa_ComprobantesExDataset data = cdp.DatasetComprobante; Valores Valores = cdp.Valores; tsa_ComprobantesExDataset.tfi_ValoresDataTable TablaValores = data.tfi_Valores; tsa_ComprobantesExDataset.tsa_ComprobantesDataTable TablaComprobantes = data.tsa_Comprobantes; string comprobantesdePago = Variables.GetValueString("Comprobantes.ComprobantesDePago"); ArrayList comps = mz.erp.systemframework.Util.Parse(comprobantesdePago, ","); tsa_ComprobantesExDataset.tsa_ComprobantesRow rowComprobante = null; foreach (System.Data.DataRow row in TablaComprobantes.Rows) { if (comps.Contains(Convert.ToString(row["IdTipoDeComprobante"]))) { rowComprobante = (tsa_ComprobantesExDataset.tsa_ComprobantesRow)row; } } /* * int i = 0; * * foreach(tsa_ComprobantesExDataset.tfi_ValoresRow row in TablaValores.Rows) * { * tsa_ComprobantesExDataset.tsa_ComprobanteDetalleDePagosRow rowPagos= data.tsa_ComprobanteDetalleDePagos.Newtsa_ComprobanteDetalleDePagosRow(); * if (i < Valores.MisValores.Count) * { * Valor valor = (Valor)Valores.MisValores[i]; * i++; * valor.SetRowValues(rowPagos, row ,rowComprobante, _tablaDeValoresFormasDePago); * data.tsa_ComprobanteDetalleDePagos.Addtsa_ComprobanteDetalleDePagosRow(rowPagos); * } * } */ /* * foreach(Valor valor in Valores.MisValores) * { */ for (int i = 1; i <= Valores.MisValores.Count; i++) { if (Valores.MisValores[i - 1] != null) { Valor valor = (Valor)Valores.MisValores[i - 1]; //if((_creaIdValoresNuevos)|| (!_creaIdValoresNuevos && (!valor.IsStep || valor.Agrupado))) if (valor.Agrupado || valor.State.ToUpper().Equals("NEW")) { tsa_ComprobantesExDataset.tfi_ValoresRow row = data.tfi_Valores.FindByIdValor(valor.IdValor); tsa_ComprobantesExDataset.tsa_ComprobanteDetalleDePagosRow rowPagos = data.tsa_ComprobanteDetalleDePagos.Newtsa_ComprobanteDetalleDePagosRow(); valor.SetRowValues(rowPagos, valor.IdValor, rowComprobante, _tablaDeValoresFormasDePago); data.tsa_ComprobanteDetalleDePagos.Addtsa_ComprobanteDetalleDePagosRow(rowPagos); } else { //DataRow row = mz.erp.businessrules.tfi_Valores.GetByPk(valor.IdValor); //if(row != null) //{ // data.tfi_Valores.LoadDataRow(row.ItemArray,true); tsa_ComprobantesExDataset.tsa_ComprobanteDetalleDePagosRow rowPagos = data.tsa_ComprobanteDetalleDePagos.Newtsa_ComprobanteDetalleDePagosRow(); valor.SetRowValues(rowPagos, valor.IdValor, rowComprobante, _tablaDeValoresFormasDePago); data.tsa_ComprobanteDetalleDePagos.Addtsa_ComprobanteDetalleDePagosRow(rowPagos); //} } } } //} }