#include <subform2bc.h>
Inheritance diagram for SubForm2Bc:

Public Slots | |
| virtual void | on_mui_list_pressedSlash (int row, int col) |
| virtual void | on_mui_list_pressedAsterisk (int row, int col) |
Public Member Functions | |
| Empresa * | empresaBase () |
| SubForm2Bc (QWidget *parent=0) | |
| virtual | ~SubForm2Bc () |
| virtual void | boton_asiento () |
| Muestra la ventana de asiento. | |
| virtual void | boton_extracto1 (int) |
| virtual void | boton_balance1 (int) |
| virtual void | boton_diario1 (int) |
| virtual void | creaMenu (QMenu *) |
| virtual void | procesaMenu (QAction *) |
| virtual void | setEmpresaBase (EmpresaBase *c) |
| virtual void | on_mui_list_cellChanged (int row, int col) |
Data Fields | |
| QSubForm2BcDelegate * | m_delegate |
Definition at line 52 of file subform2bc.h.
| SubForm2Bc::SubForm2Bc | ( | QWidget * | parent = 0 |
) |
| parent |
Definition at line 43 of file subform2bc.cpp.
References _depura(), m_delegate, and Ui_SubForm3Base::mui_list.
00043 : SubForm3(parent) { 00044 _depura("SubForm2Bc::SubForm2Bc", 0); 00045 m_delegate = new QSubForm2BcDelegate(this); 00046 mui_list->setItemDelegate(m_delegate); 00047 _depura("END SubForm2Bc::SubForm2Bc", 0); 00048 }
| SubForm2Bc::~SubForm2Bc | ( | ) | [virtual] |
Definition at line 54 of file subform2bc.cpp.
References _depura(), and m_delegate.
00054 { 00055 _depura("SubForm2Bc::~SubForm2Bc", 0); 00056 delete m_delegate; 00057 _depura("END SubForm2Bc::~SubForm2Bc", 0); 00058 }
| Empresa * SubForm2Bc::empresaBase | ( | ) | [virtual] |
Reimplemented from PEmpresaBase.
Definition at line 77 of file subform2bc.cpp.
References _depura(), and PEmpresaBase::empresaBase().
Referenced by boton_asiento(), boton_balance1(), boton_diario1(), boton_extracto1(), RegIVAQToolButton::click(), QSubForm2BcDelegate::createEditor(), ListLinAsiento1View_boton_iva(), on_mui_list_cellChanged(), on_mui_list_pressedAsterisk(), AmortizacionSubForm::procesaMenu(), QSubForm2BcDelegate::setModelData(), ListLinAsiento1View::totaldebe(), and ListLinAsiento1View::totalhaber().
00077 { 00078 _depura("SubForm2Bc::empresaBase", 0); 00079 _depura("END SubForm2Bc::empresaBase", 0); 00080 return ((Empresa *) PEmpresaBase::empresaBase()); 00081 }
| void SubForm2Bc::boton_asiento | ( | ) | [virtual] |
Muestra la ventana de asiento.
Definition at line 302 of file subform2bc.cpp.
References _depura(), SubForm3::DBvalue(), empresaBase(), Empresa::intapuntsempresa(), Empresa::muestraapuntes1(), and Asiento1View::muestraasiento().
Referenced by BalanceSubForm::contextMenuEvent(), AsientoListSubform::contextMenuEvent(), AmortizacionSubForm::procesaMenu(), ListLinAsiento1View::s_trataMenu(), ExtractoSubForm::s_trataMenu(), and DiarioSubForm::s_trataMenu().
00302 { 00303 _depura("SubForm2Bc::boton_asiento", 0); 00304 Empresa *companyact = (Empresa *) empresaBase(); 00305 QString numasiento = DBvalue("idasiento"); 00306 if (numasiento != "") { 00307 companyact->intapuntsempresa()->muestraasiento(numasiento.toInt()); 00308 companyact->muestraapuntes1(); 00309 } // end if 00310 _depura("END SubForm2Bc::boton_asiento", 0); 00311 }
| void SubForm2Bc::boton_extracto1 | ( | int | tipo | ) | [virtual] |
| tipo |
Definition at line 321 of file subform2bc.cpp.
References _depura(), extractoview1::accept(), SubForm3::DBvalue(), empresaBase(), Empresa::extractoempresa(), extractoview1::inicializa1(), Empresa::libromayor(), and normalizafecha().
Referenced by BalanceSubForm::contextMenuEvent(), AsientoListSubform::contextMenuEvent(), ListLinAsiento1View::s_trataMenu(), and DiarioSubForm::s_trataMenu().
00321 { 00322 _depura("SubForm2Bc::boton_extracto1", 0); 00323 Empresa *companyact = (Empresa *) empresaBase(); 00324 QDate fecha1, fecha2, fechaact; 00325 QString fecha = DBvalue("fecha").left(10); 00326 QString codigo = DBvalue("codigo"); 00327 if (fecha != "" && codigo != "") { 00328 fechaact = normalizafecha(fecha); 00329 switch (tipo) { 00330 case 0: 00331 fecha1.setYMD(fechaact.year(), fechaact.month(), fechaact.day()); 00332 fecha2.setYMD(fechaact.year(), fechaact.month(), fechaact.day()); 00333 break; 00334 case 1: 00335 fecha1.setYMD(fechaact.year(), fechaact.month(), 1); 00336 fecha2.setYMD(fechaact.year(), fechaact.month(), fechaact.daysInMonth()); 00337 break; 00338 case 2: 00339 fecha1.setYMD(fechaact.year(), 1, 1); 00340 fecha2.setYMD(fechaact.year(), 12, 31); 00341 break; 00342 } // end switch 00343 companyact->extractoempresa()->inicializa1(codigo, codigo, fecha1.toString("dd/MM/yyyy"), fecha2.toString("dd/MM/yyyy"), 0); 00344 companyact->extractoempresa()->accept(); 00345 companyact->libromayor(); 00346 } // end if 00347 _depura("END SubForm2Bc::boton_extracto1", 0); 00348 }
| void SubForm2Bc::boton_balance1 | ( | int | tipo | ) | [virtual] |
| tipo |
Definition at line 394 of file subform2bc.cpp.
References _depura(), BalanceView::accept(), Empresa::balanceempresa(), SubForm3::DBvalue(), empresaBase(), BalanceView::inicializa1(), Empresa::librobalance(), and normalizafecha().
Referenced by BalanceSubForm::contextMenuEvent(), AsientoListSubform::contextMenuEvent(), ListLinAsiento1View::s_trataMenu(), ExtractoSubForm::s_trataMenu(), and DiarioSubForm::s_trataMenu().
00394 { 00395 _depura("SubForm2Bc::boton_balance1", 0); 00396 Empresa *companyact = (Empresa *) empresaBase(); 00397 QString fecha = DBvalue("fecha").left(10); 00398 QString codigo = DBvalue("codigo"); 00399 QDate fecha1, fecha2, fechaact, fechaact1; 00400 if (fecha != "" && codigo != "") { 00401 fechaact = normalizafecha(fecha); 00402 switch (tipo) { 00403 case 0: 00404 fecha1.setYMD(fechaact.year(), fechaact.month(), fechaact.day()); 00405 fecha2.setYMD(fechaact1.year(), fechaact.month(), fechaact.day()); 00406 break; 00407 case 1: 00408 fecha1.setYMD(fechaact.year(), fechaact.month(), 1); 00409 fecha2.setYMD(fechaact.year(), fechaact.month(), fechaact.daysInMonth()); 00410 break; 00411 case 2: 00412 fecha1.setYMD(fechaact.year(), 1, 1); 00413 fecha2.setYMD(fechaact.year(), 12, 31); 00414 break; 00415 } // end switch 00416 empresaBase()->balanceempresa()->inicializa1(codigo, codigo, fecha1.toString("dd/MM/yyyy"), fecha2.toString("dd/MM/yyyy"), "0"); 00417 companyact->balanceempresa()->accept(); 00418 companyact->librobalance(); 00419 } // end if 00420 _depura("END SubForm2Bc::boton_balance1", 0); 00421 }
| void SubForm2Bc::boton_diario1 | ( | int | tipo | ) | [virtual] |
| tipo |
Definition at line 358 of file subform2bc.cpp.
References _depura(), DiarioView::accept(), SubForm3::DBvalue(), Empresa::diarioempresa(), empresaBase(), DiarioView::inicializa1(), Empresa::librodiario(), and normalizafecha().
Referenced by ExtractoSubForm::s_trataMenu().
00358 { 00359 _depura("SubForm2Bc::boton_diario1", 0); 00360 Empresa *companyact = (Empresa *) empresaBase(); 00361 QDate fecha1, fecha2, fechaact, fechaact1; 00362 fechaact = normalizafecha(DBvalue("fecha").left(10)); 00363 fechaact1 = normalizafecha(DBvalue("fecha").left(10)); 00364 if (DBvalue("fecha").left(10) != "") { 00365 switch (tipo) { 00366 case 0: 00367 fecha1.setYMD(fechaact.year(), fechaact.month(), fechaact.day()); 00368 fecha2.setYMD(fechaact1.year(), fechaact1.month(), fechaact1.day()); 00369 break; 00370 case 1: 00371 fecha1.setYMD(fechaact.year(), fechaact.month(), 1); 00372 fecha2.setYMD(fechaact.year(), fechaact.month(), fechaact.daysInMonth()); 00373 break; 00374 case 2: 00375 fecha1.setYMD(fechaact.year(), 1, 1); 00376 fecha2.setYMD(fechaact.year(), 12, 31); 00377 break; 00378 } // end switch 00379 companyact->diarioempresa()->inicializa1((char *) fecha1.toString("dd/MM/yyyy").toAscii().constData(), (char *) fecha2.toString("dd/MM/yyyy").toAscii().constData(), 0); 00380 } // end if 00381 companyact->diarioempresa()->accept(); 00382 companyact->librodiario(); 00383 _depura("SubForm2Bc::boton_diario1", 0); 00384 }
| void SubForm2Bc::creaMenu | ( | QMenu * | menu | ) | [virtual] |
| menu |
Reimplemented from SubForm3.
Reimplemented in AmortizacionSubForm.
Definition at line 430 of file subform2bc.cpp.
References _depura().
00430 { 00431 _depura("SubForm2Bc::pintaMenu", 0); 00432 menu->addAction(tr("Submenu de contabilidad")); 00433 menu->addSeparator(); 00434 _depura("END SubForm2Bc::pintaMenu", 0); 00435 }
| void SubForm2Bc::procesaMenu | ( | QAction * | ) | [virtual] |
Reimplemented from SubForm3.
Reimplemented in AmortizacionSubForm.
Definition at line 441 of file subform2bc.cpp.
References _depura().
00441 { 00442 _depura("SubForm2Bc::procesaMenu", 0); 00443 _depura("END SubForm2Bc::procesaMenu", 0); 00444 }
| void SubForm2Bc::setEmpresaBase | ( | EmpresaBase * | c | ) | [virtual] |
| c |
Reimplemented from SubForm3.
Definition at line 65 of file subform2bc.cpp.
References _depura(), m_delegate, and PEmpresaBase::setEmpresaBase().
Referenced by AmortizacionesView::AmortizacionesView(), AmortizacionView::AmortizacionView(), Asiento1View::Asiento1View(), AsientosView::AsientosView(), ccosteview::ccosteview(), cobropagoview::cobropagoview(), DiarioView::DiarioView(), extractoview1::extractoview1(), ListProyectosView::ListProyectosView(), ListRegistroIvaView::ListRegistroIvaView(), ProyectoView::ProyectoView(), and RegistroIvaView::RegistroIvaView().
00065 { 00066 _depura("SubForm2Bc::setEmpresaBase", 0); 00067 PEmpresaBase::setEmpresaBase(c); 00068 m_delegate->setEmpresaBase(c); 00069 _depura("END SubForm2Bc::setEmpresaBase", 0); 00070 }
| void SubForm2Bc::on_mui_list_cellChanged | ( | int | row, | |
| int | col | |||
| ) | [virtual] |
| row | ||
| col |
Miramos el estado del semaforo para saber si es una entrada concurrente.
Disparamos los plugins.
Refrescamos el campo actual para que tenga los valores correctos.
Si el campo no ha sido cambiado se sale.
Reimplemented from SubForm3.
Definition at line 195 of file subform2bc.cpp.
References _depura(), DBCampo::cambiado(), postgresiface2::cargacursor(), empresaBase(), cursor2::eof(), DBRecord::exists(), extiendecodigo(), FALSE, g_plugins, SubForm3::item(), Plugins::lanza(), SubForm3::lineaat(), SubForm3::m_procesacambios, DBCampo::nomcampo(), normalizafecha(), SubForm3::on_mui_list_cellChanged(), SDBCampo::refresh(), DBRecord::setDBvalue(), TRUE, and cursor2::valor().
Referenced by on_mui_list_pressedAsterisk().
00195 { 00196 _depura("SubForm2Bc::on_mui_list_cellChanged", 0, "Row: "+ QString::number(row) + " Col: "+QString::number(col)); 00197 00199 if (!m_procesacambios) { 00200 _depura("SubForm2Bc::on_mui_list_cellChanged", 0, QString::number(row) + " " + QString::number(col)+" m_procesacambios es FALSE"); 00201 return; 00202 } // end if 00203 00204 m_procesacambios = FALSE; 00205 00207 int res = g_plugins->lanza("SubForm2Bc_on_mui_list_cellChanged", this); 00208 if (res != 0) { 00209 m_procesacambios = TRUE; 00210 return; 00211 } // end if 00212 00213 SDBRecord *rec = lineaat(row); 00214 if (rec == NULL) { 00215 _depura ("END SubForm2Bc::on_mui_list_cellChanged", 0, QString::number(row) + " " + QString::number(col)+ "la linea no existe"); 00216 m_procesacambios = TRUE; 00217 return; 00218 } 00219 00220 00222 SDBCampo *camp = (SDBCampo *) item(row, col); 00223 camp->refresh(); 00224 00225 00227 if (!camp->cambiado()) { 00228 _depura ("END SubForm2Bc::on_mui_list_cellChanged", 0, QString::number(row) + " " + QString::number(col)+ "Sin cambios"); 00229 SubForm3::on_mui_list_cellChanged(row, col); 00230 m_procesacambios = TRUE; 00231 return; 00232 } // end if 00233 00234 if (camp->nomcampo() == "codigo" && camp->text() != "*") { 00235 QString codigoext = extiendecodigo(camp->text(), ((Empresa *) empresaBase())->numdigitosempresa()); 00236 QString query = "SELECT idcuenta, codigo, tipocuenta, descripcion, idc_coste FROM cuenta WHERE codigo = '" + codigoext + "'"; 00237 cursor2 *cur = empresaBase()->cargacursor(query); 00238 if (!cur->eof() ) { 00239 rec->setDBvalue("idcuenta", cur->valor("idcuenta")); 00240 rec->setDBvalue("codigo", cur->valor("codigo")); 00241 rec->setDBvalue("tipocuenta", cur->valor("tipocuenta")); 00242 rec->setDBvalue("descripcioncuenta", cur->valor("descripcion")); 00243 if (rec->exists("idc_coste") && cur->valor("idc_coste") != "") { 00244 rec->setDBvalue("idc_coste", cur->valor("idc_coste")); 00245 QString query1 = "SELECT * FROM c_coste WHERE idc_coste = " +cur->valor("idc_coste"); 00246 cursor2 *curss = empresaBase()->cargacursor(query1); 00247 rec->setDBvalue("nomc_coste", curss->valor("nombre")); 00248 delete curss; 00249 } // end if 00250 } else { 00251 _depura("No existe cuenta", 2); 00252 return; 00253 } // end if 00254 delete cur; 00255 } // end if 00256 if (camp->nomcampo() == "nomcanal") { 00257 QString query = "SELECT idcanal FROM canal WHERE nombre = '" + camp->text() + "'"; 00258 cursor2 *cur = empresaBase()->cargacursor(query); 00259 if (!cur->eof() ) { 00260 rec->setDBvalue("idcanal", cur->valor("idcanal")); 00261 } else { 00262 rec->setDBvalue("idcanal", ""); 00263 } // end if 00264 delete cur; 00265 } // end if 00266 if (camp->nomcampo() == "nomc_coste") { 00267 QString query = "SELECT idc_coste FROM c_coste WHERE nombre = '" + camp->text() + "'"; 00268 cursor2 *cur = empresaBase()->cargacursor(query); 00269 if (!cur->eof() ) { 00270 rec->setDBvalue("idc_coste", cur->valor("idc_coste")); 00271 } else { 00272 rec->setDBvalue("idc_coste", ""); 00273 } // end if 00274 delete cur; 00275 } // end if 00276 if (camp->nomcampo() == "fecha") { 00277 QString nfecha = normalizafecha(camp->text()).toString("dd/MM/yyyy"); 00278 rec->setDBvalue("fecha", nfecha); 00279 } // end if 00280 if (camp->nomcampo() == "debe") { 00281 if (Fixed(camp->text()) != Fixed("0.00")) { 00282 rec->setDBvalue("haber", "0.00"); 00283 } // end if 00284 } // end if 00285 if (camp->nomcampo() == "haber") { 00286 if (Fixed(camp->text()) != Fixed("0.00")) { 00287 rec->setDBvalue("debe", "0.00"); 00288 } // end if 00289 } // end if 00290 00291 g_plugins->lanza("SubForm2Bc_on_mui_list_cellChanged_post", this); 00292 00293 SubForm3::on_mui_list_cellChanged(row, col); 00294 m_procesacambios = TRUE; 00295 _depura("END SubForm2Bc::on_mui_list_cellChanged", 0); 00296 }
| void SubForm2Bc::on_mui_list_pressedSlash | ( | int | row, | |
| int | col | |||
| ) | [virtual, slot] |
| row | ||
| col1 |
Reimplemented from SubForm3.
Definition at line 159 of file subform2bc.cpp.
References _depura(), editaTexto(), SubForm3::item(), DBCampo::nomcampo(), and SDBCampo::set().
00159 { 00160 _depura("SubForm2Bc::on_mui_list_pressedSlash", 2); 00161 SDBCampo *camp = (SDBCampo *) item(row, col); 00162 if (camp->nomcampo() == "fecha") { 00163 if (row > 0) { 00164 SDBCampo *campoant = (SDBCampo *) item(row - 1, col); 00165 camp->set(campoant->text()); 00166 } // end if 00167 return; 00168 } // end if 00169 if (camp->nomcampo() == "descripcion") { 00170 if (row > 0) { 00171 SDBCampo *campoant = (SDBCampo *) item(row - 1, col); 00172 camp->set(campoant->text()); 00173 } // end if 00174 return; 00175 } // end if 00176 if (camp->nomcampo() == "conceptocontable") { 00177 if (row > 0) { 00178 SDBCampo *campoant = (SDBCampo *) item(row - 1, col); 00179 camp->set(campoant->text()); 00180 } // end if 00181 return; 00182 } // end if 00183 QString text = editaTexto(camp->text()); 00184 camp->set(text); 00185 _depura("END SubForm2Bc::on_mui_list_pressedSlash", 2); 00186 }
| void SubForm2Bc::on_mui_list_pressedAsterisk | ( | int | row, | |
| int | col | |||
| ) | [virtual, slot] |
| row | ||
| col |
Si no es un campo de tipo codigo salimos.
Nos llevamos el foco para que no haya un EditorDelegado que no se actualice bien.
TODO: De esta manera se recarga de la base de datos toda la info de las cuentas cada vez que se necesita la lista de cuentas. Hay que buscar la manera de que este siempre disponible para no cargar el trabajo a la red ni al gestor de base de datos.
Invocamos la finalizacion de edicion para que todos los campos se actualicen.
Reimplemented from SubForm3.
Definition at line 90 of file subform2bc.cpp.
References _depura(), postgresiface2::cargacursor(), listcuentasview1::codcuenta(), empresaBase(), cursor2::eof(), DBRecord::exists(), FALSE, listcuentasview1::inicializa(), SubForm3::item(), SubForm3::lineaat(), SubForm3::m_procesacambios, Ui_SubForm3Base::mui_list, DBCampo::nomcampo(), on_mui_list_cellChanged(), listcuentasview1::SelectMode, DBRecord::setDBvalue(), TRUE, and cursor2::valor().
00090 { 00091 _depura ("SubForm2Bc::on_mui_list_pressedAsterisk", 0); 00092 00093 SDBRecord *rec = lineaat(row); 00094 SDBCampo *camp = (SDBCampo *) item(row, col); 00096 if (camp->nomcampo() != "codigo" && camp->nomcampo() != "codigoctacliente") 00097 return; 00098 00099 m_procesacambios = FALSE; 00100 00102 00103 mui_list->setCurrentCell(row, col +1); 00104 QDialog *diag = new QDialog(0); 00105 diag->setModal(true); 00109 listcuentasview1 *listcuentas = new listcuentasview1((Empresa *)empresaBase(), diag, 0, listcuentasview1::SelectMode); 00110 listcuentas->inicializa(); 00111 connect(listcuentas, SIGNAL(selected(QString)), diag, SLOT(accept())); 00112 00113 diag->exec(); 00114 QString codigo = listcuentas->codcuenta(); 00115 //delete diag; 00116 00117 if (codigo != "") { 00118 QString query = "SELECT * FROM cuenta WHERE codigo = '" + codigo + "'"; 00119 cursor2 *cur = empresaBase()->cargacursor(query); 00120 if (!cur->eof()) { 00121 if (camp->nomcampo() == "codigo") { 00122 rec->setDBvalue("idcuenta", cur->valor("idcuenta")); 00123 rec->setDBvalue("codigo", cur->valor("codigo")); 00124 rec->setDBvalue("tipocuenta", cur->valor("tipocuenta")); 00125 rec->setDBvalue("descripcion", cur->valor("descripcion")); 00126 if (rec->exists("idc_coste") && cur->valor("idc_coste") != "") { 00127 rec->setDBvalue("idc_coste", cur->valor("idc_coste")); 00128 QString query1 = "SELECT * FROM c_coste WHERE idc_coste = " +cur->valor("idc_coste"); 00129 cursor2 *curss = empresaBase()->cargacursor(query1); 00130 rec->setDBvalue("nomc_coste", curss->valor("nombre")); 00131 delete curss; 00132 } // end if 00133 00134 } // end if 00135 if (camp->nomcampo() == "codigoctacliente") { 00136 rec->setDBvalue("idctacliente", cur->valor("idcuenta")); 00137 rec->setDBvalue("codigoctacliente", cur->valor("codigo")); 00138 rec->setDBvalue("tipoctacliente", cur->valor("tipocuenta")); 00139 rec->setDBvalue("nomctacliente", cur->valor("descripcion")); 00140 00141 } // end if 00142 } // end if 00143 delete cur; 00144 } // end if 00145 00146 m_procesacambios = TRUE; 00148 on_mui_list_cellChanged(row, col); 00149 _depura ("END SubForm2Bc::on_mui_list_pressedAsterisk", 0); 00150 }
Definition at line 56 of file subform2bc.h.
Referenced by setEmpresaBase(), SubForm2Bc(), and ~SubForm2Bc().
1.5.1