[Calc] Caisse enregistreuse basique

Discussions sur les projets et applications développés en liaison avec une suite bureautique libre.

Modérateur: Vilains modOOs

[Calc] Caisse enregistreuse basique

Messagepar philou7168 » 26 Mars 2014 11:25

Bonjour,

Je me suis mis en tête de concevoir un caisse enregistreuse de bar dans un premier temps basique.
Je souhaite faire en sorte qu'elle puisse être tactile pour ceux qui possède le matos adéquate et donc forcement on passe par la case bouton.
A peine commencé que je suis déjà bloqué. Je souhaite que le nom des bouton soit lié à une cellule.
Feuille1 (Caisse) nous avons les boutons.
Feuille2 (Produit) nous avons les produits de vente et leur prix.
Vous aurez compris le fond de la pensée.

Le but étant que le texte écrit dans la cellule "Produit.A2" soit également le nom du bouton avec lequel elle sera lié sur la feuille1 (caisse).
Pour l'instant je ne met pas de fichier en ligne car il est totalement vide hormis une trentaine de bouton et et une liste de base

Merci d'avance.
Dernière édition par OOoch le 27 Mars 2014 21:32, édité 2 fois.
Raison: Titre modifié pour plus de clarté
LibreOffice 4.1.5.3 sous Windows 7 32bits
philou7168
NOOuvel adepte
NOOuvel adepte
 
Message(s) : 14
Inscrit le : 24 Mars 2014 14:08

Re: Projet caisse enregistreuse basic

Messagepar Oukcha » 26 Mars 2014 11:28

Votre question a été déplacée depuis la section Tableur (qui n’est ni consacrée aux projets, ni aux macros) dans la section "Projets".
Vous pouvez prendre connaissance de ce post-it afin de définir un véritable cahier des charges de vos besoins.
                                        
:arrow: A lire avant tout ! Image
Avatar de l’utilisateur
Oukcha
RespOOnsable modération
RespOOnsable modération
 
Message(s) : 3078
Inscrit le : 06 Oct 2008 09:03

Re: [Calc] caisse enregistreuse basique

Messagepar jeanmimi » 27 Mars 2014 08:35

Bonjour,
Si je comprends bien, dans ton idée, si j'appuie sur un bouton qui s'appelle Harengs à l’huile je me retrouve sur une autre feuille où je retrouve mon hareng à l'huile avec son prix et il me reste à entrer la quantité pour la table 32 ?
LibreOffice Version : Version: 6.3.0 (x64) (10 août 2019)
Java (x64) 1.8.0_xxx, Windows 10, Thunderbird, Firefox
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
 
Message(s) : 14929
Inscrit le : 03 Mars 2006 17:02
Localisation : Venise verte

Re: [Calc] caisse enregistreuse basique

Messagepar philou7168 » 27 Mars 2014 09:52

jeanmimi a écrit:Bonjour,
Si je comprends bien, dans ton idée, si j'appuie sur un bouton qui s'appelle Harengs à l’huile je me retrouve sur une autre feuille où je retrouve mon hareng à l'huile avec son prix et il me reste à entrer la quantité pour la table 32 ?


Tu vas déjà plus loin que je ne suis.
Mon premier point c'est de pouvoir avoir sur le bouton le nom du produit qui est listé sur une autre feuille. Cela afin que le nom change quand le produit change.
Ensuite, bien entendu, quand tu appuies sur le dit bouton, il ne te restera plus qu' ajouter la quantité. Je vais rapidement faire une ébauche d'image pour que l'on visualise cette caisse enregistreuse.
Je ne cache pas, que l'intérêt c'est surtout la MAJ automatique des boutons. Mais en plus de démarrer ce projet, il faut en parallèle que je conçoive le cahier des charges, car honnêtement, c'est sur un coup de tête que j'ai pris cette décision hier. En plus je suis sur LibreO que depuis la semaine dernière. Comme je ne sais pas encore grand chose, ce projet a deux but.
Créer un logiciel qui n'existe pas en gratuit et contribuer à ma formation sur LibreO. Nous sommes sur un forum d'entraide, et actuellement, je ne peux pas aider grand monde, mais moi au contraire je risque d'en demander beaucoup.

Bref, je reviens courant de la journée avec le cahier des charges (non exhaustif) et cette foutu image.

MAJ: Voici l'idée de caisse, mais bien entendu toutes les idées ou modif sont les bienvenue mais déjà on a un départ.
caisse.png

Les chiffres 5, 10, 20, 50 dans les cases jaunes clair représente une réduction en %, les chiffres sont fantaisistes.
LibreOffice 4.1.5.3 sous Windows 7 32bits
philou7168
NOOuvel adepte
NOOuvel adepte
 
Message(s) : 14
Inscrit le : 24 Mars 2014 14:08

Re: [Calc] caisse enregistreuse basique

Messagepar philou7168 » 27 Mars 2014 10:35

Bon je me lance dans un cahier des charges:

Travaille de base et visuel
Feuille 1 (caisse enregistreuse)
Création de la caisse avec bouton et utilisation des cellules
Lier les boutons a une liste de produit (quand le nom du produit change, le nom du bouton change)
Utilité du prix sur le bouton oui/non
prévoir un bouton dont le montant est à définir
    explication; imaginons que dans un bar le patron loue un plateau d'échec à l'heure, il ne connaîtra le montant qu'à la fin de la partie, dans ce cas il y aura une ligne Echec dans la DB mais sans montant. Un tableau simpe existe déjà dans lequel est repertorié l'heure de début/fin et le calcul du montant TTC se fait automatiquement. Il restera donc à recopier ce montant après l'appuie du bouton echec, on ne tient donc pas compte d'une éventuelle quantité

Feuille 2 (DB)
Liste des articles avec prix dont TVA
nom raison sociale de l'entreprise etc...

Feuille 3 (facture)
élaboration auto de la facture / Sur la caisse le bouton imprime imprimera la feuille 3
Sur la facture devra être listé les montants de chaque article en fin le total TTC dont TVA 5.5% et TVA 20%
    Explication: les boissons non alcoolisés n'ont pas la même TVA que les boissons alcoolisées, il me semble.

Développement des macros
Lors de l"appuie d'un bouton demander la quantité (1 par défaut)
Lors de l'appuie d'un bouton ref à la ligne des données de la DB (prix/TVA)
LibreOffice 4.1.5.3 sous Windows 7 32bits
philou7168
NOOuvel adepte
NOOuvel adepte
 
Message(s) : 14
Inscrit le : 24 Mars 2014 14:08

Re: [Calc] Caisse enregistreuse basique

Messagepar philou7168 » 29 Mars 2014 13:02

Donc a première vu impossible de lier le nom d'un bouton à celui d'une cellule.
En parallèle je regarde aussi si c'est possible sur Excel (v.2007).
    J'y ai trouvé une astuce, il existe deux sortes de boutons un pour les formulaires et le bouton de control (command_button) en activeX
    Celui qui nous concerne est le deuxième, sa particularité est que l'on puisse lui mettre un fond transparent et donc on arrive à lire ce qui est écrit dans la cellule du dessous. Il ne reste qu'a lié la cellule à son homologue de la DB.
Je poursuis mes recherche pour savoir si cela est possible sur Calc, si quelqu'un le sait, merci de le mettre en ligne.
Dernière édition par philou7168 le 31 Mars 2014 09:54, édité 1 fois.
LibreOffice 4.1.5.3 sous Windows 7 32bits
philou7168
NOOuvel adepte
NOOuvel adepte
 
Message(s) : 14
Inscrit le : 24 Mars 2014 14:08

Re: [Calc] Caisse enregistreuse basique

Messagepar rastapog » 31 Mars 2014 09:15

Salut !!

Très bon projet !! Pour ma part cela pourrait l’intéressé pour mes magasins, je ne m'y connaît pas assez pour t'aider mais bon courage en tout cas.
LibreOffice 4.1.5 sous Ubuntu 13.10 et Windows 7 64 bits familiale premium
rastapog
NOOuvel adepte
NOOuvel adepte
 
Message(s) : 19
Inscrit le : 24 Jan 2014 00:03

Re: [Calc] Caisse enregistreuse basique

Messagepar philou7168 » 31 Mars 2014 12:53

Pour mon problème de nom de bouton j'ai trouvé une solution, mais sous excel.

Dans Excel, on peut définir une page de code par feuille de calcul, je n'ai pas trouvé comment faire sur LibreO

Donc ma feuille1 porte le nom caisse
Ma feuille2 porte le nom données pour la DB des produits et autre.

Lorsque je selctionne ma feuille 1, automatiquement le nom de mes boutons se mettent à jour avec le code suivant

Code : Tout sélectionner   AgrandirRéduire
Private Sub Worksheet_Activate()
   CommandButton1.Caption = Sheets("Données").Cells(2, 1)
   CommandButton2.Caption = Sheets("Données").Cells(3, 1)
End Sub


Comment fait-on pour liste les feuilles de calculs dans l'editeur basic de Calc ? Voir image du dessous sous Excel.
VBA_Excel.png
LibreOffice 4.1.5.3 sous Windows 7 32bits
philou7168
NOOuvel adepte
NOOuvel adepte
 
Message(s) : 14
Inscrit le : 24 Mars 2014 14:08

Re: [Calc] Caisse enregistreuse basique

Messagepar jeanmimi » 31 Mars 2014 13:37

Bonjour,
Il est possible de passer d'une feuille à l'autre en utilisant des boutons (voir fichier joint).
Action : Ouvrir la page web puis préciser l'adresse de la cellule
Pour récupérer le libellé d'une cellule dans l'étiquette du bouton, je suppose que ça doit être possible par Macro, il faut chercher dans la section du forum par exemple avec ces mots clés Calc bouton libellé cellule
Pièces jointes
Hyperlien par bouton.ods
(33.64 Kio) Téléchargé 281 fois
LibreOffice Version : Version: 6.3.0 (x64) (10 août 2019)
Java (x64) 1.8.0_xxx, Windows 10, Thunderbird, Firefox
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
 
Message(s) : 14929
Inscrit le : 03 Mars 2006 17:02
Localisation : Venise verte

Re: [Calc] Caisse enregistreuse basique

Messagepar Piaf » 31 Mars 2014 13:41

Bonjour
Éventuellement, clic droit sur l'onglet de la feuille caisse > Sélectionner Évènements de la feuille
oEVFeuille.png
La macro qui va avec
Code : Tout sélectionner   AgrandirRéduire
Sub NomBouton()
Dim oDoc as Object, mesFeuilles as Object, maFeuilleDonnees as Object, maFeuilleCaisse as Object
Dim oForm as Object
   oDoc = thisComponent
   mesFeuilles = oDoc.Sheets
   maFeuilleDonnees = mesFeuilles.getByName("Donnees")
   maFeuilleCaisse = mesFeuilles.getByName("Caisse")
   oForm = maFeuilleCaisse.DrawPage.Forms.getByName("Formulaire")
   oForm.getByName("Bouton1").Label = maFeuilleDonnees.getCellRangeByName("A1").String
   oForm.getByName("Bouton2").Label = maFeuilleDonnees.getCellRangeByName("A2").String
End Sub
le nom des feuilles, du formulaire et des boutons sont à vérifier sur ton fichier.
A+
Libre Office Version: 6.1.6 et Apache OpenOffice 4.1.6 Sur Xubuntu 18.04 AMD64
Piaf
GourOOu
GourOOu
 
Message(s) : 5622
Inscrit le : 25 Nov 2011 19:07
Localisation : Guyane

Re: [Calc] Caisse enregistreuse basique

Messagepar jeanmimi » 31 Mars 2014 14:06

Avec la Macro de Piaf, dès que tu changes un libelle dans une cellule de Feuille2, celui-ci est récupéré dans le bouton correspondant.
Pièces jointes
Hyperlien par bouton.ods
(35.6 Kio) Téléchargé 234 fois
LibreOffice Version : Version: 6.3.0 (x64) (10 août 2019)
Java (x64) 1.8.0_xxx, Windows 10, Thunderbird, Firefox
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
 
Message(s) : 14929
Inscrit le : 03 Mars 2006 17:02
Localisation : Venise verte

Re: [Calc] Caisse enregistreuse basique

Messagepar philou7168 » 01 Avr 2014 10:37

Merci pour l'exemple, je m'attaque donc à la conception des boutons. Je reviendrai surement. J'aurai besoin d'une précision, le OBasic utilisé sous OO et LO est basé sur quel langage ? Cela me permettrait de chercher à la source du langage ce que je ne trouve pas dans les aides calc.
LibreOffice 4.1.5.3 sous Windows 7 32bits
philou7168
NOOuvel adepte
NOOuvel adepte
 
Message(s) : 14
Inscrit le : 24 Mars 2014 14:08

Re: [Calc] Caisse enregistreuse basique

Messagepar philou7168 » 02 Avr 2014 13:57

42 boutons produits ont été crées et leur nom dépend d'une cellule de la feuille DB

Je travaille actuellement sur le bouton expresso, mais ma demande vaut pour tous les boutons
Je suis totalement dépassé. Je n'arrive pas à comprendre la logique du langage.
A l'aide de l'enregistreur de macro, j'ai essayé d'insérer une ligne de facture. Je ne comprends pas pourquoi cette ligne est recopiée sur la feuille Dbase alors que les formules ont été faites depuis la feuille caisse.
De plus, et la c'est pas gagné vu que je cale si tôt, je souhaiterai que lorsque j'appuie sur expresso la première ligne vide entre I6 et L18 comprises soit rempli. Comme je suis un chieur, il me faudrait une recherche exacte dans la plage I6 -I18 afin d'incrémenté la quantité (colonne K6 - K18) si l'entrée existe déja.
Donc pour résumé si j'appuie 2 fois sur expresso, il me faudrait une ligne expresso avec quantité 2, soit une incrementation. La Col L sera toujours la même chose soit k*j, j'y ai donc mis une formule conditionnelle avec un formatage conditionnel.
Le bouton effacer consiste à effacer la facture, la même fonction sera ajouté à un futur bouton imprime.

Caisse enr.ods
(18.18 Kio) Téléchargé 571 fois
LibreOffice 4.1.5.3 sous Windows 7 32bits
philou7168
NOOuvel adepte
NOOuvel adepte
 
Message(s) : 14
Inscrit le : 24 Mars 2014 14:08

Re: [Calc] Caisse enregistreuse basique

Messagepar DLE » 02 Avr 2014 15:49

Bonjour,

Avec ce groupe d'instructions la feuille "DBase" est activée, les autres instructions agiront sur cette feuille. Supprimer ces instructions à deux reprises dans la macro (args2 et args6).
Cela résout votre première question.
Code : Tout sélectionner   AgrandirRéduire
dim args6(0) as new com.sun.star.beans.PropertyValue
args6(0).Name = "Nr"
args6(0).Value = 2

dispatcher.executeDispatch(document, ".uno:JumpToTable", "", 0, args6())


Pour le reste il y a du codage à faire en plus.
AOO 4.1.6 sous Windows 10 64 bits, FireFox, Thunderbird, ORB 1.2.1
Avatar de l’utilisateur
DLE
SuppOOrter
SuppOOrter
 
Message(s) : 1213
Inscrit le : 30 Déc 2007 19:56
Localisation : Lille

Re: [Calc] Caisse enregistreuse basique

Messagepar philou7168 » 02 Avr 2014 17:03

Merci, j'ai aussi du faire une petite modif, car le nom du produit s'inscrivait dans la cellule active et non dans la colonne I. Cela fait je continu mes recherches.
LibreOffice 4.1.5.3 sous Windows 7 32bits
philou7168
NOOuvel adepte
NOOuvel adepte
 
Message(s) : 14
Inscrit le : 24 Mars 2014 14:08


Retour vers Projets

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 5 invité(s)