示例#1
0
/** inicializa todos los componentes de la clase.
    Resetea el sistema de control de cambios para que considere que no hay cambios por parte del usuario.
    Mete la ventana en el workSpace.
*/
Q19View::Q19View ( CarteraCobrosList *fac, BfCompany *comp, QWidget *parent )
        : BfForm ( comp, parent )
{
    BL_FUNC_DEBUG
    setAttribute ( Qt::WA_DeleteOnClose );
    try {
        setupUi ( this );

        m_carteraCobrosList = fac;

        /// Usurpamos la identidad de mlist y ponemos nuestro propio widget con sus cosillas.
        mui_idbanco->setMainCompany ( comp );
        mui_idbanco->setidbanco ( "0" );

        setDbTableName ( "vencimientoc" );
        setDbFieldId ( "idvencimientoc" );



/// Calculamos el TOTAL y el numero de operaciones
        BlSubForm *sub = m_carteraCobrosList->mui_list;

	BlFixed a("0.00");
	int numop = 0;
        /// Reseteamos los valores
        for ( int i = 0; i < sub->rowCount(); i++ ) {
            BlDbSubFormRecord *rec = sub->lineaat ( i );
            rec->refresh();
            QString val = rec->dbValue ( "selector" );
            if ( val == "TRUE" ) {
		if (rec->dbValue("descforma_pago") != "Transferencia") 
			blMsgInfo("Hay vencimientos que no pueden ser Remesados");
		if (rec->dbValue("estadovencimientoc") != "Pendiente") 
			blMsgInfo("Hay vencimientos con estado no Pendiente");
                a = a + BlFixed ( rec->dbValue ( "cantvencimientoc" ) );
		numop++;
            } // end if
        } // end for

	mui_total->setText(a.toQString());
	mui_numop->setText(QString::number(numop));

        insertWindow ( windowTitle(), this, FALSE );
        dialogChanges_readValues();
	blScript(this);
    } catch ( ... ) {
        blMsgInfo ( tr ( "Error al crear el archivo" ) );
    } // end try
    
}
示例#2
0
 void Sepa20022View::idsFacturas ( void )
 {
 	BlSubForm *sub = m_facturasList->mui_list;
 	int factures = 0;
 	ids="";
 	for ( int i = 0; i < sub->rowCount(); i++ )
 	{
 		BlDbSubFormRecord *rec = sub->lineaat ( i );
 		rec->refresh();
 		QString val = rec->dbValue ( "selector" );
 		if ( val == "true" )
 		{
 			ids = ids + ( ids.length() >0 ?",":"" ) +rec->dbValue ( "idfactura" );
 			factures++;
 		} // end if
 	} // end for
 	if ( factures==0 )
 	{
 		QMessageBox::critical ( parentWidget(), _ ( "Remesa vacia" ),_ ( "No hay facturas seleccionadas. Puede utilizar la columna selector para seleccionar los recibos a incluir en la remesa bancaria." ) );
                 close();
 	}
}
示例#3
0
void ImpQToolButton::click()
{
    BL_FUNC_DEBUG

    QString res = "";

    if ( m_albaranClienteList != NULL ) {
        m_companyact = ( BfCompany * ) m_albaranClienteList->mainCompany();
        BlSubForm *sub = m_albaranClienteList->mui_list;

        /// Creamos la factura
        /// Como estamos en un plugin buscamos nuevas formas de creacion de objetos.
        int resur = g_plugins->run ( "SNewFacturaView", m_companyact );
        if ( !resur ) {
            blMsgInfo ( "no se pudo crear instancia de factura" );
            return;
        } // end if
        FacturaView *fac = ( FacturaView * ) g_plugParams;
        m_companyact->m_pWorkspace->addSubWindow ( fac );

        /// Cargamos un elemento que no existe para inicializar bien la clase.
        fac->load ( "0" );

        /// Reseteamos los valores
        for ( int i = 0; i < sub->rowCount(); i++ ) {
            BlDbSubFormRecord *rec = sub->lineaat ( i );
            rec->refresh();
            QString val = rec->dbValue ( "selector" );
            if ( val == "TRUE" ) {
                QString id = rec->dbValue ( "idalbaran" );

                /// Como estamos en un plugin buscamos nuevas formas de creacion de objetos.
                int resur = g_plugins->run ( "SNewAlbaranClienteView", m_companyact );
                if ( !resur ) {
                    blMsgInfo ( "no se pudo crear instancia de albaran" );
                    return;
                } // end if
                AlbaranClienteView *pres = ( AlbaranClienteView * ) g_plugParams;
                pres->load ( id );
                if ( pres->mui_procesadoalbaran->isChecked() ) {
                    pres->close();
                    return;
                } // end if
                m_companyact->pWorkspace() ->addSubWindow ( pres );
                m_companyact->insertWindow ( pres->windowTitle(), pres, FALSE );
                pres->show();

                // El calculo de descuentos es complejo
                BlFixed descgen1 = pres->getlistadescuentos() ->sumarCampo ( "proporciondalbaran" );
                BlFixed descgen = BlFixed ( "1.000" ) - descgen1 / BlFixed ( "100" );

                /// Agregamos a comentarios que albaran se corresponde.
                QString comm = fac->dbValue ( "comentfactura" ) + "(" + _ ( "ALBARAN: Num " ) + pres->dbValue ( "numalbaran" ) + _ ( "Ref:" ) + " " + pres->dbValue ( "refalbaran" ) + _ ( "Fecha:" ) + " " + pres->dbValue ( "fechaalbaran" ) + ")\n";
                fac->setDbValue ( "comentfactura", comm );
                fac->setDbValue ( "idforma_pago", pres->dbValue ( "idforma_pago" ) );
                fac->setDbValue ( "reffactura", pres->dbValue ( "refalbaran" ) );
                fac->setDbValue ( "idcliente", pres->dbValue ( "idcliente" ) );
                fac->setDbValue ( "idalmacen", pres->dbValue ( "idalmacen" ) );

                QString l;
                BlDbSubFormRecord *linea, *linea1;
                for ( int i = 0; i < pres->getlistalineas() ->rowCount(); ++i ) {
                    linea = pres->getlistalineas() ->lineaat ( i );
                    if ( linea->dbValue ( "idarticulo" ) != "" ) {
                        linea1 = fac->getlistalineas() ->lineaat ( fac->getlistalineas() ->rowCount() - 1 );
                        /// Haciendo el nuevo registro antes nos evitamos problemas de foco.
                        fac->getlistalineas() ->newRecord();
                        fac->getlistalineas() ->setProcesarCambios ( FALSE );
                        linea1->setDbValue ( "codigocompletoarticulo", linea->dbValue ( "codigocompletoarticulo" ) );
                        linea1->setDbValue ( "desclfactura", linea->dbValue ( "desclalbaran" ) );
                        linea1->setDbValue ( "cantlfactura", linea->dbValue ( "cantlalbaran" ) );
                        linea1->setDbValue ( "pvplfactura", linea->dbValue ( "pvplalbaran" ) );
                        linea1->setDbValue ( "ivalfactura", linea->dbValue ( "ivalalbaran" ) );
                        BlFixed descpar1 = BlFixed ( linea->dbValue ( "descuentolalbaran" ) );
                        BlFixed descpar = BlFixed ( "1.000" ) - descpar1 / BlFixed ( "100" );
                        BlFixed desc = ( BlFixed ( "1.00" ) - descpar * descgen ) * BlFixed ( "100.00" );
                        linea1->setDbValue ( "descuentolfactura", desc.toQString ( '.' ) );
                        linea1->setDbValue ( "idarticulo", linea->dbValue ( "idarticulo" ) );
                        linea1->setDbValue ( "nomarticulo", linea->dbValue ( "nomarticulo" ) );
                        fac->getlistalineas() ->setProcesarCambios ( TRUE );
                        linea1->refresh();
                    } // end if
                } // end for

                pres->mui_procesadoalbaran->setChecked ( TRUE );
            } // end if
        } // end for

        fac->calculaypintatotales();
        fac->pintar();
        fac->show();

    } // end if

    
}