DiarioView Class Reference

Libro diario. More...

#include <diarioview.h>

Inheritance diagram for DiarioView:

FichaBc Ui::DiarioBase Ficha Ui_DiarioBase BLWidget DBRecord dialogChanges QWidget PEmpresaBase

Public Slots

virtual void on_mui_actualizar_clicked ()
virtual void boton_imprimir ()
 SLOT que responde a la pulsación del botón de imprimir.
virtual void boton_guardar ()
 Se ha pulsado sobre el botón guardar del formulario.
virtual void on_mui_configurar_clicked ()

Public Member Functions

 DiarioView (Empresa *, QWidget *parent=0, int flags=0)
virtual ~DiarioView ()
void accept ()
 Se ha pulsado sobre el botón aceptar del formulario.
void inicializa1 (QString, QString, int)
virtual void on_mui_imprimir_clicked ()
 Boton de impresion del diario.

Private Member Functions

void presentar ()
 Muestra en pantalla los resultados para los datos introducidos.

Detailed Description

Libro diario.

Clase que muestra el libro diario de la empresa entre dos fechas.

Definition at line 34 of file diarioview.h.


Constructor & Destructor Documentation

DiarioView::DiarioView ( Empresa emp,
QWidget parent = 0,
int  flags = 0 
)

Parameters:
emp 
parent 

Establecemos cual es la tabla en la que basarse para los permisos

Iniciamos los componentes de la fecha para que al principio aparezcan como el año inicial.

Definition at line 49 of file diarioview.cpp.

References _depura(), Ficha::meteWindow(), Ui_DiarioBase::mui_contrapartida, Ui_DiarioBase::mui_fechafinal, Ui_DiarioBase::mui_fechainicial, Ui_DiarioBase::mui_list, Ficha::setDBTableName(), BusquedaCuenta::setEmpresaBase(), SubForm2Bc::setEmpresaBase(), BusquedaFecha::setText(), Ficha::setTitleName(), and Ui_DiarioBase::setupUi().

00050         : FichaBc(emp, parent) {
00051     _depura("DiarioView::DiarioView", 0);
00052     setupUi(this);
00053 
00054     setTitleName(tr("Diario"));
00056     setDBTableName("apunte");
00057 
00058     mui_list->setEmpresaBase(emp);
00059     mui_contrapartida->setEmpresaBase(emp);
00062     char cadena[10];
00063     sprintf(cadena, "%2.2d/%2.2d/%4.4d", 1, 1, QDate::currentDate().year());
00064     mui_fechainicial->setText(cadena);
00065     sprintf(cadena, "%2.2d/%2.2d/%4.4d", 31, 12, QDate::currentDate().year());
00066     mui_fechafinal->setText(cadena);
00067     meteWindow(windowTitle(), this);
00068     _depura("END DiarioView::DiarioView", 0);
00069 }

DiarioView::~DiarioView (  )  [virtual]

Definition at line 75 of file diarioview.cpp.

References _depura(), FichaBc::empresaBase(), and EmpresaBase::sacaWindow().

00075                         {
00076     _depura("DiarioView::~DiarioView", 0);
00077     empresaBase()->sacaWindow(this);
00078     _depura("END DiarioView::~DiarioView", 0);
00079 }


Member Function Documentation

void DiarioView::accept (  ) 

Se ha pulsado sobre el botón aceptar del formulario.

Definition at line 178 of file diarioview.cpp.

References _depura(), and presentar().

Referenced by SubForm2Bc::boton_diario1(), BalanceTreeView::boton_diario1(), Empresa::boton_reload(), and on_mui_actualizar_clicked().

00178                         {
00179     _depura("DiarioView::accept", 0);
00180     presentar();
00181     _depura("END DiarioView::accept", 0);
00182 }

void DiarioView::inicializa1 ( QString  ,
QString  ,
int   
)

Inicializa la clase con las fechas inicial y final. El último parámetro no se usa.

Definition at line 106 of file diarioview.cpp.

References _depura(), Ui_DiarioBase::mui_fechafinal, Ui_DiarioBase::mui_fechainicial, and BusquedaFecha::setText().

Referenced by SubForm2Bc::boton_diario1(), and BalanceTreeView::boton_diario1().

00106                                                                   {
00107     _depura("DiarioView::inicializa1", 0);
00108     QString s1, s2, s3;
00109     QDate fecha1aux;
00110     int dia, mes, ano;
00111 
00112     s1 = finicial;
00113     s2 = s1.mid(0, 2);
00114     dia = atoi(s2.toAscii());
00115     s2 = s1.mid(3, 2);
00116     mes = atoi(s2.toAscii());
00117     s2 = s1.mid(6, 4);
00118     ano = atoi(s2.toAscii());
00119     fecha1aux.setYMD(ano, mes, dia);
00120     QString cadena2;
00121     cadena2.sprintf("%2.2d/%2.2d/%4.4d", fecha1aux.day(), fecha1aux.month(), fecha1aux.year());
00122     mui_fechainicial->setText(cadena2);
00123 
00124     s1 = ffinal;
00125     s2 = s1.mid(0,2);
00126     dia = atoi(s2.toAscii());
00127     s2 = s1.mid(3,2);
00128     mes = atoi(s2.toAscii());
00129     s2 = s1.mid(6,4);
00130     ano = atoi(s2.toAscii());
00131     fecha1aux.setYMD(ano, mes, dia);
00132     cadena2.sprintf("%2.2d/%2.2d/%4.4d", fecha1aux.day(), fecha1aux.month(), fecha1aux.year());
00133     mui_fechafinal->setText(cadena2);
00134     _depura("END DiarioView::inicializa1", 0);
00135 }

void DiarioView::on_mui_imprimir_clicked (  )  [virtual]

Boton de impresion del diario.

Slot que responde a la pulsación del botón imprimir en el formulario. Realiza la impresión del listado que tenemos en pantalla.

Reimplemented from Ficha.

Definition at line 269 of file diarioview.cpp.

References _depura(), SubForm3::imprimirPDF(), and Ui_DiarioBase::mui_list.

00269                                          {
00270     _depura("DiarioView::on_mui_imprimir_clicked", 0);
00271     mui_list->imprimirPDF("diario");
00272     _depura("END DiarioView::on_mui_imprimir_clicked", 0);
00273 }

void DiarioView::presentar (  )  [private]

Muestra en pantalla los resultados para los datos introducidos.

Liberamos memoria que pueda haber quedado reservada.

Definition at line 188 of file diarioview.cpp.

References _depura(), selectcanalview::cadcanal(), SelectCCosteView::cadcoste(), postgresiface2::cargacursor(), SubForm3::cargar(), FichaBc::empresaBase(), cursor2::eof(), Empresa::getselcanales(), Empresa::getselccostes(), mensajeInfo(), Ui_DiarioBase::mui_asAbiertos, Ui_DiarioBase::mui_fechafinal, Ui_DiarioBase::mui_fechainicial, Ui_DiarioBase::mui_list, SubForm3::setDBCampoId(), SubForm3::setDBTableName(), BusquedaFecha::text(), Ui_DiarioBase::totaldebe, Ui_DiarioBase::totalhaber, and cursor2::valor().

Referenced by accept().

00188                            {
00189     _depura("DiarioView::presentar", 0);
00190     cursor2 *cur = NULL;
00191     try {
00192         QString tabla = "apunte";
00193         mui_list->setDBTableName("apunte");
00194         mui_list->setDBCampoId("idapunte");
00195         if (mui_asAbiertos->isChecked()) {
00196             tabla = "borrador";
00197             mui_list->setDBTableName("borrador");
00198             mui_list->setDBCampoId("idborrador");
00199         } // end if
00200 
00201         QString query = "SELECT *, cuenta.descripcion AS descripcioncuenta FROM "+tabla+" LEFT JOIN cuenta ON cuenta.idcuenta = "+tabla+".idcuenta ";
00202         query += " LEFT JOIN (SELECT idc_coste, nombre AS nombrec_coste FROM c_coste) AS t1 ON t1.idc_coste = "+tabla+".idc_coste ";
00203         query += " LEFT JOIN (SELECT (ordenasiento || ' - ' || fecha) AS ordenasientoconfecha, ordenasiento, idasiento, fecha FROM asiento) AS t5 ON t5.idasiento = "+tabla+".idasiento";
00204         query += " LEFT JOIN (SELECT idcanal, nombre as nombrecanal FROM canal) AS t2 ON t2.idcanal = "+tabla+".idcanal";
00205         if (mui_asAbiertos->isChecked()) {
00206             query += " LEFT JOIN (SELECT idregistroiva, factura, idborrador FROM registroiva) AS t3 ON t3.idborrador = "+tabla+".idborrador ";
00207         } else {
00208             query += " LEFT JOIN (SELECT idregistroiva, factura, idborrador FROM registroiva) AS t3 ON t3.idborrador IN (SELECT idborrador FROM borrador WHERE idapunte = "+tabla+".idapunte)";
00209         } // end if
00210         query += " LEFT JOIN (SELECT idcuenta AS idcontrapartida, codigo AS codcontrapartida FROM cuenta) as t8 ON t8.idcontrapartida = "+tabla+".contrapartida";
00211 
00212         QString cad = "";
00213         QString cadwhere=" WHERE ";
00214         QString cadand = "";
00215         QString totalcadena = "";
00216 
00217         if (mui_fechainicial->text() != "") {
00218             cad += cadwhere + cadand + tabla + ".fecha >= '" + mui_fechainicial->text() + "'";
00219             cadwhere = "";
00220             cadand = " AND ";
00221         } // end if
00222 
00223         if (mui_fechafinal->text() != "") {
00224             cad += cadwhere + cadand + tabla + ".fecha <= '" + mui_fechafinal->text() + "'";
00225             cadwhere = "";
00226             cadand = " AND ";
00227         } // end if
00228 
00229         // Consideraciones para centros de coste y canales
00230         selectcanalview *scanal=empresaBase()->getselcanales();
00231         SelectCCosteView *scoste=empresaBase()->getselccostes();
00232         QString ccostes = scoste->cadcoste();
00233         if (ccostes != "") {
00234             ccostes = " " + tabla +".idc_coste IN (" + ccostes + ") ";
00235             cad += cadwhere + cadand + ccostes;
00236             cadwhere = "";
00237             cadand = " AND ";
00238         } // end if
00239 
00240         QString ccanales = scanal->cadcanal();
00241         if (ccanales != "") {
00242             ccanales = " " + tabla + ".idcanal IN (" + ccanales + ") ";
00243             cad += cadwhere + cadand + ccanales;
00244             cadwhere = "";
00245             cadand = " AND ";
00246         } // end if
00247 
00248         totalcadena = query + cad + " ORDER BY t5.fecha, t5.ordenasiento ";
00249 
00250         mui_list->cargar(totalcadena);
00251 
00252         cur = empresaBase()->cargacursor("SELECT sum(debe) as totaldebe, sum(haber) as totalhaber from " + tabla + cad);
00253         if (!cur->eof()) {
00254             totaldebe->setText(cur->valor("totaldebe"));
00255             totalhaber->setText(cur->valor("totalhaber"));
00256         } // end if
00257         delete cur;
00258         _depura("END DiarioView::presentar", 0);
00259     } catch (...) {
00260         mensajeInfo("Error en los calculos");
00262         if (cur) delete cur;
00263     }// end try
00264 }

void DiarioView::on_mui_actualizar_clicked (  )  [virtual, slot]

Slot que responde a la pulsación del botón actualizar en el formulario. Supuestamente debe repintar el formulario con las nuevas opciones de filtrado que se hayan elegido.

Definition at line 84 of file diarioview.cpp.

References _depura(), and accept().

00084                                            {
00085     _depura("DiarioView::on_mui_actualizar_clicked", 0);
00086     accept();
00087     _depura("END DiarioView::on_mui_actualizar_clicked", 0);
00088 }

void DiarioView::boton_imprimir (  )  [virtual, slot]

SLOT que responde a la pulsación del botón de imprimir.

SLOT que responde a la pulsación del botón imprimir. Es invocado desde la clase empresa

Definition at line 142 of file diarioview.cpp.

References _depura(), FichaBc::empresaBase(), and print.

Referenced by Empresa::boton_imprimir().

00142                                 {
00143     _depura("DiarioView::boton_imprimir", 0);
00144     DiarioPrintView *print = new DiarioPrintView(empresaBase(), 0);
00145     print->exec();
00146     _depura("END DiarioView::boton_imprimir", 0);
00147 }

void DiarioView::boton_guardar (  )  [virtual, slot]

Se ha pulsado sobre el botón guardar del formulario.

SLOT que responde a la pulsación del botón guardar listado. Es invocado desde la clase empresa

Si se ha proporcionado un nombre de archivo válido invocamos la clase diarioprint y hacemos que guarde el archivo.

Definition at line 153 of file diarioview.cpp.

References _depura(), CONF_DIR_USER, confpr, FichaBc::empresaBase(), Ui_DiarioBase::mui_fechafinal, Ui_DiarioBase::mui_fechainicial, BusquedaFecha::text(), and configuracion::valor().

Referenced by Empresa::boton_guardar().

00153                                {
00154     _depura("DiarioView::boton_guardar", 0);
00155     QString fn = QFileDialog::getSaveFileName(this,
00156                  tr("Guardar Libro Diario"),
00157                  confpr->valor(CONF_DIR_USER),
00158                  tr("Diarios (*.txt)"));
00159 
00160     if (!fn.isEmpty()) {
00163         DiarioPrint diariop(empresaBase());
00164         QString finicial = mui_fechainicial->text();
00165         QString ffinal = mui_fechafinal->text();
00166         diariop.setEmpresaBase(empresaBase());
00167         diariop.inicializa1((char *) finicial.toAscii().constData(), (char *)ffinal.toAscii().constData());
00168         diariop.inicializa2((char *) fn.toAscii().constData());
00169         diariop.accept();
00170     } // end if
00171     _depura("END DiarioView::boton_guardar", 0);
00172 }

void DiarioView::on_mui_configurar_clicked (  )  [virtual, slot]

SLOT que responde a la activación del botón de configurar listado. Muestra el configurador de subform3 subform3

Definition at line 94 of file diarioview.cpp.

References _depura(), Ui_DiarioBase::mui_list, and SubForm3::showConfig().

00094                                            {
00095     _depura("DiarioView::on_mui_configurar_clicked", 0);
00096     mui_list->showConfig();
00097     _depura("END DiarioView::on_mui_configurar_clicked", 0);
00098 }


The documentation for this class was generated from the following files:
Generated on Sat Dec 15 00:01:50 2007 for BulmaGes by  doxygen 1.5.1