/** \param as \return **/ int BcAsientoSubForm_boton_iva ( BcAsientoSubForm *asientoSubForm ) { BL_FUNC_DEBUG asientoSubForm->save(); try { int idborrador = asientoSubForm->dbValue ( "idborrador" ).toInt(); RegistroIvaView *nuevae = new RegistroIvaView ( ( BcCompany * ) asientoSubForm->mainCompany(), 0 ); nuevae->inicializa1 ( idborrador ); ( ( BcCompany * ) asientoSubForm->mainCompany() ) ->pWorkspace() ->addSubWindow ( nuevae ); nuevae->show(); } catch ( ... ) { blMsgInfo ( _ ( "Debe seleccionar un apunte" ) ); return 0; } // end try return 0; }
void RegIVAQToolButton::click() { BL_FUNC_DEBUG BlSubForm *las = m_asiento1View->findChild<BlSubForm *> ("mui_list"); // BcAsientoSubForm *las = m_asiento1View->mui_list; las->save(); try { int idborrador = las->dbValue ( "idborrador" ).toInt(); RegistroIvaView *nuevae = new RegistroIvaView ( ( BcCompany * ) las->mainCompany(), 0 ); nuevae->inicializa1 ( idborrador ); ( ( BcCompany * ) las->mainCompany() ) ->pWorkspace() ->addSubWindow ( nuevae ); nuevae->show(); } catch ( ... ) { blMsgInfo ( _("Debe seleccionar un apunte" )); } // end try }
/** \param as \return **/ int BcAsientoForm_guardaAsiento1_post ( BcAsientoForm *asientoForm ) { BL_FUNC_DEBUG BcCompany *companyact = asientoForm->company(); QString cuentas = ""; QString query = "SELECT valor FROM configuracion WHERE nombre = 'RegistroEmitida' OR nombre = 'RegistroSoportada'"; BlDbRecordSet *curvalor = companyact->loadQuery ( query ); while ( !curvalor->eof() ) { /// Preparamos una expresión regular para usar en la consulta. cuentas += curvalor->value( "valor" ) + "%|"; curvalor->nextRecord(); } // end while delete curvalor; /// Le quitamos el último '|' que nos sobra. cuentas.truncate ( cuentas.length() - 1 ); /// Recorremos la tabla en busca de entradas de factura no introducidas y las /// preguntamos antes de cerrar nada. QString SQLQuery = "SELECT bcontrapartidaborr(idborrador) AS contra FROM borrador LEFT JOIN cuenta ON borrador.idcuenta = cuenta.idcuenta WHERE idasiento = " + asientoForm->dbValue ( "idasiento" ) + " AND codigo SIMILAR TO '" + companyact->sanearCadena ( cuentas.toAscii().constData() ) + "' GROUP BY contra"; BlDbRecordSet *cursborr = companyact->loadQuery ( SQLQuery ); while ( !cursborr->eof() ) { int idborrador = cursborr->value( "contra" ).toInt(); RegistroIvaView *reg = new RegistroIvaView ( companyact, 0 ); reg->inicializa1 ( idborrador ); companyact->pWorkspace() ->addSubWindow ( reg ); reg->show(); cursborr->nextRecord(); } // end while delete cursborr; return 0; }