FormAgregarVenta::FormAgregarVenta ( QWidget* parent, Qt::WFlags fl )
: EVentana ( parent, fl ), Ui::FormAgregarVentaBase()
{
        setupUi( this );
        this->setObjectName( "formagregarcompra" );
        this->setWindowTitle( "Agregar Venta" );
        this->setWindowIcon( QIcon(":/imagenes/factura-nueva.png" ) );

        PBAgregarProducto->setIcon( QIcon( ":/imagenes/add.png" ) );
        PBAgregarProducto->setText( "Agregar Producto" );
        PBEliminar->setIcon( QIcon( ":/imagenes/eliminar.png" ) );
        PBEliminar->setText( "Eliminar seleccion" );
        PBEliminarTodo->setIcon( QIcon( ":/imagenes/eliminar.png" ) );
        PBEliminarTodo->setText( "Eliminar todo");

        connect( PBAgregarProducto, SIGNAL( clicked() ), this, SLOT( agregarProducto() ) );

        // Inicio los modelos
        CBCliente->setEditable( true );

        DEFecha->setDate( QDate::currentDate() );

        ecbmprod = new ECBProductosModel( this );
        ecbmprod->inicializar();

        ecbfiltro = new ECBProductosFilter( this );
        ecbfiltro->setSourceModel( ecbmprod );
        ecbfiltro->setearNoMostrarProductosSinStock( true );

        connect( CBProducto, SIGNAL( agregarProducto() ), this, SLOT( agregarProducto() ) );
        CBProducto->setearModelo( ecbfiltro );

        // Modelo del tableview
        mcp = new MProductosTotales( TVProductos, ecbmprod );
        mcp->calcularTotales( true );
        preferencias *p = preferencias::getInstancia();
        p->inicio();
        p->beginGroup( "Preferencias" );
        p->beginGroup( "Ventas" );
        if( p->value( "buscarPrecio", true ).toBool() )
        { mcp->buscarPrecios( true ); }
        if( p->value( "siempre_cf", false ).toBool() )
        { CBCliente->setearId( 0 ); }
        p->endGroup();


        TVProductos->setModel( mcp );
        TVProductos->setItemDelegate( new DProductosTotales( TVProductos ) );
        TVProductos->setAlternatingRowColors( true );
        TVProductos->setSelectionBehavior( QAbstractItemView::SelectRows );
        TVProductos->horizontalHeader()->setResizeMode( QHeaderView::ResizeToContents );
        TVProductos->horizontalHeader()->setResizeMode( 1, QHeaderView::Stretch );
        TVProductos->horizontalHeader()->setMinimumSectionSize( 140 );
        TVProductos->setSortingEnabled( false );


        this->addAction( new EActGuardar( this ) );
        this->addAction( new EActCerrar( this ) );

        connect( CBCliente, SIGNAL( currentIndexChanged( int ) ), this, SLOT( cambioCliente( int ) ) );

        connect( PBEliminar, SIGNAL( clicked() ), this, SLOT( eliminarProducto() ) );
        connect( PBEliminarTodo, SIGNAL( clicked() ), this, SLOT( eliminarTodo() ) );

        DSBCant->setValue( 1.0 );
        DSBCant->setPrefix( "" );

        // Coloco el proximo numero de comprobante
        LNumeroComprobante->setText( LNumeroComprobante->text().append( "       <b>" ).append( MFactura::proximoComprobante().aCadena() ).append( "</b>" ) );

        PBEliminarDescuento->setIcon( QIcon( ":/imagenes/eliminar.png" ) );
        PBAgregarDescuento->setIcon( QIcon( ":/imagenes/add.png" ) );
        PBAgregarDescuento->setText( "Descuento" );
        PBEliminarDescuento->setText( "Descuento" );
        connect( PBAgregarDescuento,  SIGNAL( clicked() ), this, SLOT( agregarDescuento()  ) );
        connect( PBEliminarDescuento, SIGNAL( clicked() ), this, SLOT( eliminarDescuento() ) );

        // Verifico si la venta a cta corriente esta habilitada
        p->beginGroup( "CtaCte" );
        bool ctacte_habilitada = p->value( "habilitada" ).toBool();
        if( !ctacte_habilitada )
        {
                RBContado->setChecked( true );
                RBCtaCte->setEnabled( false );
        }
        p->endGroup();
        p->beginGroup( "Descuentos" );
        bool usar_descuentos = p->value( "usar", false ).toBool();
        p->endGroup();
        p->beginGroup("Ventas");
        if( p->value("filtrarProveedor").toBool() ) {
            connect( CBProveedor, SIGNAL( cambioIdProveedor( int ) ), this, SLOT( cambioProveedor( int ) ) );
        } else {
Beispiel #2
0
main() {
   int opc, userType;
   char *criteria = malloc(sizeof(char)*200);
   char *result = malloc(sizeof(char)*BUFSIZ);
   Usuario* yo = malloc(sizeof(Usuario));
   Producto* p = malloc(sizeof(Producto));
   printf("Usuario: ");
   scanf("%15s",yo->login);
   printf("Contraseña: ");
   scanf("%15s",yo->pass);
   conectarBD();
   userType = iniciarSesion(yo);
   if(userType == 1){
      do{ 
      //Admin User
         printf("\nAdministrador \n1. Mostrar productos \n2. Buscar un producto \n3. Agregar productos \n4. Cerrar sesión y salir\nSeleccione una opción: ");
         scanf("%d",&opc);
         switch(opc){
            case 1:
               printf("%s",consultarProductos());
               break;
            case 2:
               printf("Busqueda: ");
               scanf("%s",criteria);
               printf("%s", obtenerProducto(criteria));
               break;
            case 3: //Add products
               printf("Introduce a continuación los datos del producto\n");
               printf("idCategoria: ");
               setbuf( stdin, NULL ); 
               scanf("%d",&(p->idCategoria));
               printf("Nombre: ");
               setbuf( stdin, NULL ); 
               gets(p->producto);
               printf("Precio: ");
               setbuf( stdin, NULL ); 
               scanf("%f",&(p->precio));
               printf("Existencia: ");
               setbuf( stdin, NULL ); 
               scanf("%d",&(p->existencia));
               printf("Descripción: ");
               setbuf( stdin, NULL ); 
               gets(p->descripcion);
               agregarProducto(p);
               break;
            case 4:
               printf("Bye\n");
               break;
            default:
               break;
         }
      }while(opc!=4);
   }else if(userType > 0){
      do{ //Common User
         printf("\n1. Mostrar productos \n2. Buscar un producto \n3. Comprar productos \n4. Cerrar sesión y salir\nSeleccione una opción: ");
         scanf("%d",&opc);
         switch(opc){
            case 1:
               printf("%s",consultarProductos());
               break;
            case 2:
               printf("Busqueda: ");
               scanf("%s",criteria);
               printf("%s", obtenerProducto(criteria));
               break;
            case 3: //Buy products
               break;
            case 4:
               printf("Bye\n");
               break;
            default:
               break;
         }
      }while(opc!=4);
   } else {
      printf("No se encuentra el usuario\n");
   }
}
Beispiel #3
0
/*!
 * \brief ECBProductos::enterApretado
 */
void ECBProductos::enterApretado()
{
    verificarExiste();
    emit agregarProducto();
    return;
}