public void generaVoucherTesoreria() { UltimoNumeroRegistro(); actulizarCursor(); decimal vmtcambio = VariablesPublicas.StringtoDecimal(txtCambio.Text); // Variables de Cabecera tb_co_MovimientosBL BL = new tb_co_MovimientosBL(); tb_co_Movimientos BE = new tb_co_Movimientos(); // Variables para Detalle tb_co_Movimientos.Item Detalle = new tb_co_Movimientos.Item(); List<tb_co_Movimientos.Item> ListaItems = new List<tb_co_Movimientos.Item>(); #region **ingreso movimiento cabecera*** //caso Cobranzas/pagos - automatizacion string activo = "0"; //Activo //string anulad = "9"; //Anulado string xMoneda = Equivalencias.Left(cboMoneda.SelectedValue.ToString(), 1); BE.perianio = VariablesPublicas.perianio; BE.perimes = VariablesPublicas.PADL(fEmision.Value.Month.ToString().Trim(), 2, "0"); // VariablesPublicas.PADL(txtMes.Text.Trim(), 2, "0"); BE.moduloid = VariablesDominio.VarTesoreria.Moduloid; BE.local = VariablesDominio.VarTesoreria.Local; BE.diarioid = VariablesPublicas.PADL(txtCodsubdiario.Text, 4, "0"); BE.asiento = ""; //VariablesPublicas.PADL(txtAsiento.Text.Trim(), 6, "0"); BE.tipooperacion = gettipoper() == "4" ? "2" : "1"; BE.tipocomprobante = "2"; //2-Normal BE.tipomovimiento = BE.tipooperacion == "1" ? "01" : "11"; //01-ingresos a caja, 11-egresos a caja BE.cuentaid = txtCuentaletra.Text; //Puede ser null if (cboFpago.Text.Length > 0) { BE.mediopago = cboFpago.SelectedValue.ToString(); } else { BE.mediopago = ""; } BE.numdocpago = txtNumpago.Text; //Puede ser null //if (cboBanco.Text.Length > 0) //{ BE.bancoid = cboBanco.SelectedValue.ToString(); } //else //{ BE.bancoid = ""; } BE.bancoid = ""; BE.fechregistro = Convert.ToDateTime(fEmision.Text.Trim()); BE.fechdoc = Convert.ToDateTime(fEmision.Text.Trim()); BE.tipcamuso = "V"; BE.tipcamb = Convert.ToDecimal(txtCambio.Text.Trim()); BE.glosa = txtGlosa.Text; BE.moneda = (rbDolares.Checked ? "2" : "1"); //Puede ser null //if (cboFefectivo.Text.Length > 0) //{ BE.flujoefectivo = cboFefectivo.SelectedValue.ToString(); } //else //{ BE.flujoefectivo = ""; } BE.flujoefectivo = ""; BE.debesoles = sumadebesoles; BE.debedolares = sumadebedolares; BE.habersoles = sumahabersoles; BE.haberdolares = sumahaberdolares; BE.difcambio = false; BE.redondeo = false; BE.status = activo; BE.usuar = VariablesPublicas.Usuar; #endregion #region ****ingreso movimiento detalle*** int item = 0; foreach (DataRow fila in DetFacturacion.Rows) { Detalle = new tb_co_Movimientos.Item(); item++; Detalle.perianio = VariablesPublicas.perianio; Detalle.perimes = BE.perimes; Detalle.moduloid = BE.moduloid; Detalle.local = BE.local; Detalle.diarioid = BE.diarioid; Detalle.asiento = nAsiento.PadLeft(6, '0'); // BE.asiento; Detalle.asientoitems = item.ToString().PadLeft(5, '0'); Detalle.cuentaid = fila["cuentaid"].ToString(); Detalle.cuentaorigen = fila["cuentaorigen"].ToString(); ; Detalle.cuentaname = fila["cuentaname"].ToString(); Detalle.glosa = txtGlosa.Text.Trim().ToUpper().ToString(); if (Equivalencias.Left(Detalle.cuentaid.ToString(), 1) == "9") { Detalle.cencosid = fila["cencosid"].ToString(); } else { Detalle.cencosid = ""; } Detalle.debehaber = fila["debehaber"].ToString(); Detalle.ctacte = fila["ctacte"].ToString(); Detalle.nmruc = fila["nmruc"].ToString(); Detalle.ctactename = fila["ctactename"].ToString(); Detalle.tipdoc = fila["tipdoc"].ToString(); Detalle.serdoc = fila["serdoc"].ToString(); Detalle.numdoc = fila["numdoc"].ToString(); Detalle.fechregistro = Convert.ToDateTime(BE.fechregistro); if (object.ReferenceEquals(fila["fechdoc"], DBNull.Value)) { Detalle.fechdoc = Convert.ToDateTime(fEmision.Text.Trim()); } else { Detalle.fechdoc = Convert.ToDateTime(fila["fechdoc"].ToString()); } if (object.ReferenceEquals(fila["fechvenc"], DBNull.Value)) { Detalle.fechvenc = Convert.ToDateTime(fEmision.Text.Trim()); } else { Detalle.fechvenc = Convert.ToDateTime(fila["fechvenc"].ToString()); } Detalle.tipref = fila["tipref"].ToString(); Detalle.serref = fila["serref"].ToString(); Detalle.numref = fila["numref"].ToString(); try { Detalle.fechref = Convert.ToDateTime(fila["fechref"].ToString()); } catch { Detalle.fechref = Convert.ToDateTime("01/01/1900"); } Detalle.moneda = fila["moneda"].ToString(); Detalle.importe = Convert.ToDecimal(fila["importe"].ToString()); Detalle.importecambio = Convert.ToDecimal(fila["importecambio"].ToString()); Detalle.soles = Convert.ToDecimal(fila["soles"].ToString()); Detalle.dolares = Convert.ToDecimal(fila["dolares"].ToString()); if (Convert.ToDecimal(fila["tipcamb"]) > 0) { Detalle.tipcamb = Convert.ToDecimal(fila["tipcamb"].ToString()); } else { Detalle.tipcamb = Convert.ToDecimal(txtCambio.Text.Trim()); } Detalle.tipcambuso = BE.tipcamuso; try { Detalle.tipcambfech = Convert.ToDateTime(fila["tipcambfech"].ToString()); } catch { Detalle.tipcambfech = Convert.ToDateTime(fEmision.Text.Trim()); } Detalle.afectoretencion = false; Detalle.afectopercepcion = false; Detalle.percepcionid = fila["percepcionid"].ToString(); Detalle.serperc = fila["serperc"].ToString(); Detalle.numperc = fila["numperc"].ToString(); Detalle.numdocpago = (rbUnaletra.Checked ? txtNumpago.Text : xNumLetra); Detalle.bancoid = BE.bancoid; Detalle.pagocta = fila["pagocta"].ToString(); Detalle.mediopago = BE.mediopago; Detalle.fechpago = Convert.ToDateTime(fEmision.Text.Trim()); if (Equivalencias.Left(Detalle.cuentaid.ToString(), 2) == "10") { Detalle.flujoefectivo = BE.flujoefectivo; } else { Detalle.flujoefectivo = ""; } Detalle.asientovinculante = fila["asientovinculante"].ToString(); Detalle.cancelacionvinculante = fila["cancelacionvinculante"].ToString(); Detalle.productid = fila["productid"].ToString(); Detalle.pedidoid = fila["pedidoid"].ToString(); Detalle.tipOp = fila["tip_op"].ToString(); Detalle.serOp = fila["ser_op"].ToString(); Detalle.numOp = fila["num_op"].ToString(); Detalle.tipooperacion = BE.tipooperacion; Detalle.tipocomprobante = BE.tipocomprobante; Detalle.tipomovimiento = BE.tipomovimiento; Detalle.statusdestino = fila["statusdestino"].ToString(); Detalle.status = activo; Detalle.usuar = VariablesPublicas.Usuar; ListaItems.Add(Detalle); } BE.ListaItems = ListaItems; #endregion #region ** Save BD //string nasiento = ""; // nlastreg = ""; string xcodmes = fEmision.Value.Month.ToString().Trim(); xcodmes = VariablesPublicas.PADL(xcodmes, 2, "0"); //nasiento = ocapa.CaeSoft_GetAllMaximoMovimientoContable(cac3g00.Rows[0]["ccia_3"], cac3g00.Rows[0]["cperiodo_3"], txtcodsubdiario.Text, xcodmes); //tmptabla = ocapa.cac3p00_consulta(GlobalVars.GetInstance.Company, GlobalVars.GetInstance.Periodo, txtcodsubdiario.Text, xcodmes, nlastreg, "", ""); //if (ocapa.sql_error.Length > 0) //{ // frmclass.ShowError(ocapa.sql_error, this); // return; //} dynamic nvmindice = 0; //while (tmptabla.Rows.Count > 0) //{ // //nlastreg = ocapa.CaeSoft_GetAllMaximoMovimientoContable(cac3g00.Rows[0]["ccia_3"], cac3g00.Rows[0]["cperiodo_3"], txtcodsubdiario.Text, xcodmes); // //tmptabla = ocapa.cac3p00_consulta(GlobalVars.GetInstance.Company, GlobalVars.GetInstance.Periodo, txtcodsubdiario.Text, xcodmes, nlastreg, "", ""); // nvmindice = nvmindice + 1; // if (nvmindice > 999999) // { // XtraMessageBox.Show("Error letal se alcanzó el tope de registro para este tipo de vouchers... Consulta a Sistemas", ""); // return; // } //} try { if (BL.Insert(VariablesPublicas.EmpresaID.ToString(), BE)) { //seguridadlog(); //// Impresion //ReportesContabilidad.Frm_ReporteVouchers frm = new ReportesContabilidad.Frm_ReporteVouchers(); //frm._tipComprobante = txtCodsubdiario.Text; //frm._xModulo = BE.moduloid; //frm._xLocal = BE.local; //frm._nroComprobante = BE.perimes + nAsiento;//xcodmes + nlastreg; //frm._tipoOperacion = BE.tipooperacion; //cac3g00.Rows[0]["tasien_3"].ToString(); //frm.Owner = this; //frm.ShowInTaskbar = false; //frm.ShowDialog(); //U_GeneraPendientes(); } } catch (Exception ex) { XtraMessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } #endregion }
public void generaVoucherRetencion(bool nopideimpresion) { if (u_n_opsel == 1) { UltimoNumeroRegistro(); } ValidarCursor(); InsertRetenciones(); decimal vmtcambio = VariablesPublicas.StringtoDecimal(txtTipocambio.Text); // Variables de Cabecera tb_co_MovimientosBL BL = new tb_co_MovimientosBL(); tb_co_Movimientos BE = new tb_co_Movimientos(); // Variables para Detalle tb_co_Movimientos.Item Detalle = new tb_co_Movimientos.Item(); List<tb_co_Movimientos.Item> ListaItems = new List<tb_co_Movimientos.Item>(); #region **ingreso movimiento cabecera*** //caso Cobranzas/pagos - automatizacion string activo = "0"; //Activo string anulad = "9"; //Anulado string xMoneda = Equivalencias.Left(cboMoneda.SelectedValue.ToString(), 1); BE.perianio = VariablesPublicas.perianio; BE.perimes = VariablesPublicas.PADL(txtMes.Text.Trim(), 2, "0"); BE.moduloid = VariablesDominio.VarTesoreria.Moduloid; BE.local = VariablesDominio.VarTesoreria.Local; BE.diarioid = cboSubdiario.SelectedValue.ToString(); BE.asiento = VariablesPublicas.PADL(txtAsiento.Text.Trim(), 6, "0"); BE.tipooperacion = "2"; BE.tipocomprobante = "2"; //2-Normal BE.tipomovimiento = (Equivalencias.Left(txtCuentaid.Text, 1) == "4" ? "" : "11"); //(BE.tipooperacion == "1" ? "01" : "11"); //01-ingresos a caja, 11-egresos a caja BE.cuentaid = txtCuentaid.Text; //Puede ser null if (cboMedioPago.Text.Length > 0) { BE.mediopago = cboMedioPago.SelectedValue.ToString(); } else { BE.mediopago = ""; } //BE.numdocpago = txtNumOpe.Text; BE.bancoid = xBanco; BE.fechregistro = Convert.ToDateTime(fRegistro.Text.Trim()); BE.fechdoc = Convert.ToDateTime(fRegistro.Text.Trim()); BE.tipcamuso = "V"; BE.tipcamb = Convert.ToDecimal(txtTipocambio.Text.Trim()); BE.glosa = txtGlosa.Text; BE.moneda = cboMoneda.SelectedValue.ToString(); //Puede ser null //if (cboFlujoefectivo.Text.Length > 0) //{ BE.flujoefectivo = cboFlujoefectivo.SelectedValue.ToString(); } //else //{ BE.flujoefectivo = ""; } BE.debesoles = sumadebesoles; BE.debedolares = sumadebedolares; BE.habersoles = sumahabersoles; BE.haberdolares = sumahaberdolares; BE.difcambio = false; BE.redondeo = false; if (chkActivo.Checked == true) { BE.status = activo; } if (chkActivo.Checked == false) { BE.status = anulad; } BE.usuar = VariablesPublicas.Usuar; #endregion #region ****ingreso movimiento detalle*** int item = 0; foreach (DataRow fila in DetMovimiento.Rows) { Detalle = new tb_co_Movimientos.Item(); item++; Detalle.perianio = VariablesPublicas.perianio; Detalle.perimes = BE.perimes; Detalle.moduloid = BE.moduloid; Detalle.local = BE.local; Detalle.diarioid = BE.diarioid; Detalle.asiento = txtAsiento.Text.PadLeft(6, '0'); // BE.asiento; Detalle.asientoitems = item.ToString().PadLeft(5, '0'); Detalle.cuentaid = fila["cuentaid"].ToString(); Detalle.cuentaorigen = fila["cuentaorigen"].ToString(); ; Detalle.cuentaname = fila["cuentaname"].ToString(); Detalle.glosa = txtGlosa.Text.Trim().ToUpper().ToString(); if (Equivalencias.Left(Detalle.cuentaid.ToString(), 1) == "9") { Detalle.cencosid = fila["cencosid"].ToString(); } else { Detalle.cencosid = ""; } Detalle.debehaber = fila["debehaber"].ToString(); Detalle.ctacte = xctacte; //fila["ctacte"].ToString(); Detalle.nmruc = fila["nmruc"].ToString(); Detalle.ctactename = fila["ctactename"].ToString(); Detalle.tipdoc = fila["tipdoc"].ToString(); Detalle.serdoc = fila["serdoc"].ToString(); Detalle.numdoc = fila["numdoc"].ToString(); Detalle.fechregistro = Convert.ToDateTime(BE.fechregistro); if (object.ReferenceEquals(fila["fechdoc"], DBNull.Value)) { Detalle.fechdoc = Convert.ToDateTime(fRegistro.Text.Trim()); } else { Detalle.fechdoc = Convert.ToDateTime(fila["fechdoc"].ToString()); } if (object.ReferenceEquals(fila["fechvenc"], DBNull.Value)) { Detalle.fechvenc = Convert.ToDateTime(fRegistro.Text.Trim()); } else { Detalle.fechvenc = Convert.ToDateTime(fila["fechvenc"].ToString()); } Detalle.tipref = fila["tipref"].ToString(); Detalle.serref = fila["serref"].ToString(); Detalle.numref = fila["numref"].ToString(); try { Detalle.fechref = Convert.ToDateTime(fila["fechref"].ToString()); } catch { Detalle.fechref = Convert.ToDateTime("01/01/1900"); } Detalle.moneda = fila["moneda"].ToString(); Detalle.importe = Convert.ToDecimal(fila["importe"].ToString()); Detalle.importecambio = Convert.ToDecimal(fila["importecambio"].ToString()); Detalle.soles = Convert.ToDecimal(fila["soles"].ToString()); Detalle.dolares = Convert.ToDecimal(fila["dolares"].ToString()); if (Convert.ToDecimal(fila["tipcamb"]) > 0) { Detalle.tipcamb = Convert.ToDecimal(fila["tipcamb"].ToString()); } else { Detalle.tipcamb = Convert.ToDecimal(txtTipocambio.Text.Trim()); } Detalle.tipcambuso = BE.tipcamuso; try { Detalle.tipcambfech = Convert.ToDateTime(fila["tipcambfech"].ToString()); } catch { Detalle.tipcambfech = Convert.ToDateTime(fRegistro.Text.Trim()); } Detalle.afectoretencion = false; Detalle.afectopercepcion = false; Detalle.percepcionid = fila["percepcionid"].ToString(); Detalle.serperc = fila["serperc"].ToString(); Detalle.numperc = fila["numperc"].ToString(); //Detalle.numdocpago = txtNumOpe.Text; Detalle.bancoid = BE.bancoid; Detalle.pagocta = fila["pagocta"].ToString(); Detalle.mediopago = BE.mediopago; Detalle.fechpago = Convert.ToDateTime(fRegistro.Text.Trim()); if (Equivalencias.Left(Detalle.cuentaid.ToString(), 2) == "10") { Detalle.flujoefectivo = BE.flujoefectivo; } else { Detalle.flujoefectivo = ""; } Detalle.asientovinculante = fila["asientovinculante"].ToString(); Detalle.cancelacionvinculante = fila["cancelacionvinculante"].ToString(); Detalle.productid = fila["productid"].ToString(); Detalle.pedidoid = fila["pedidoid"].ToString(); Detalle.tipOp = fila["tip_op"].ToString(); Detalle.serOp = fila["ser_op"].ToString(); Detalle.numOp = fila["num_op"].ToString(); Detalle.tipooperacion = BE.tipooperacion; Detalle.tipocomprobante = BE.tipocomprobante; Detalle.tipomovimiento = BE.tipomovimiento; Detalle.statusdestino = fila["statusdestino"].ToString(); if (chkActivo.Checked == true) { Detalle.status = activo; } if (chkActivo.Checked == false) { Detalle.status = anulad; } Detalle.usuar = VariablesPublicas.Usuar; ListaItems.Add(Detalle); } BE.ListaItems = ListaItems; #endregion #region ** Save BD //string nasiento = ""; // nlastreg = ""; string xcodmes = fRegistro.Value.Month.ToString().Trim(); xcodmes = VariablesPublicas.PADL(xcodmes, 2, "0"); //nasiento = ocapa.CaeSoft_GetAllMaximoMovimientoContable(cac3g00.Rows[0]["ccia_3"], cac3g00.Rows[0]["cperiodo_3"], txtcodsubdiario.Text, xcodmes); //tmptabla = ocapa.cac3p00_consulta(GlobalVars.GetInstance.Company, GlobalVars.GetInstance.Periodo, txtcodsubdiario.Text, xcodmes, nlastreg, "", ""); //if (ocapa.sql_error.Length > 0) //{ // ERP_CAESOFT_FORMS.frmclass.ShowError(ocapa.sql_error, this); // return; //} dynamic nvmindice = 0; //while (tmptabla.Rows.Count > 0) //{ // //nlastreg = ocapa.CaeSoft_GetAllMaximoMovimientoContable(cac3g00.Rows[0]["ccia_3"], cac3g00.Rows[0]["cperiodo_3"], txtcodsubdiario.Text, xcodmes); // //tmptabla = ocapa.cac3p00_consulta(GlobalVars.GetInstance.Company, GlobalVars.GetInstance.Periodo, txtcodsubdiario.Text, xcodmes, nlastreg, "", ""); // nvmindice = nvmindice + 1; // if (nvmindice > 999999) // { // MessageBox.Show("Error letal se alcanzó el tope de registro para este tipo de vouchers... Consulta a Sistemas", ""); // return; // } //} try { if (u_n_opsel == 1) //Si es nuevo { if (BL.Insert(VariablesPublicas.EmpresaID.ToString(), BE)) { if (!nopideimpresion) { string message = "Desea Imprimir Documento Nro: " + cboSubdiario.SelectedValue.ToString() + "/" + txtMes.Text + "-" + txtAsiento.Text + " ...?"; string caption = "Impresión de Comprobante de Retención"; MessageBoxButtons buttons = MessageBoxButtons.YesNo; DialogResult result; // Muestra el cuadro de mensaje. result = DevExpress.XtraEditors.XtraMessageBox.Show(this, message, caption, buttons, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2); if (result == DialogResult.Yes) { //Accion(6, "", xnum); //impresionCRetencion(); //llamarformimpresion(); } } tmptablacab = null; tmptabladet = null; letradet = null; U_CancelarEdicion(0); } } else if (u_n_opsel == 2) //Si NO es nuevo { if (BL.Update(VariablesPublicas.EmpresaID.ToString(), BE)) { seguridadlog(); if (!nopideimpresion) { string message = "Desea Imprimir Documento Nro: " + cboSubdiario.SelectedValue.ToString() + "/" + txtMes.Text + "-" + txtAsiento.Text + " ...?"; string caption = "Impresión de Comprobante de Retención"; MessageBoxButtons buttons = MessageBoxButtons.YesNo; DialogResult result; // Muestra el cuadro de mensaje. result = DevExpress.XtraEditors.XtraMessageBox.Show(this, message, caption, buttons, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2); if (result == DialogResult.Yes) { //Accion(6, "", xnum); //impresionCRetencion(); //llamarformimpresion(); } } tmptablacab = null; tmptabladet = null; letradet = null; U_CancelarEdicion(0); } } } catch (Exception ex) { DevExpress.XtraEditors.XtraMessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } #endregion InsertRetencionesLetras(); }