Comment attribuer un prix à un élément d'une liste (Caisse enregistreuse)

When you have the ai2-test server open, got to Help, then Companion Information, you can install from there.

image

1 Like

J'ai commencé à regarder.
Ca à l'air super :smiley:
Je vais essayer de partir de là pour ajouter des catégories et des produits. J'en profiterai pour faire une mise en forme qui me convienne mieux. Puis je reviendrai pour montrer le résultat.
A bientôt...

thumbsup2

1 Like

Bonjour,
Après quelques temps passés sur l'appli... Voici ce que cela donne.
Quelques détails pourraient peut-être être réglés :

  • Lorsque je fais dérouler une longue liste de produits (comme les glaces par exemple), les prix ne déroulent pas en même temps (ce n'est pas très grave car le prix sélectionné est bien le bon)
  • Sur l'appli les séparations de chiffres sont avec des points (2.8), sur Excel il faut des virgules (2,8). Est il possible de gérer cela avant l'envoi par mail ou dois je le gérer une fois sur Excel ?
    Caisse_Enregistreuse_Les_Goelands_cinq (1).aia (17.2 KB)

This is probably because the product name takes up two lines in the left hand listview? Try reducing the font size, or widening the listview ?

You will need to change the . to , in Excel, otherwise you may break the csv formatting of the list.

You could, as an alternative, change your language to en (which may not be very palatable for a Frenchman :wink: ) which would make having . correct.

1 Like

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.

Bonjour,
J'ai une caisse enregistreuse créée avec Inventor 2.
Je dois avouer que c'est principalement TIMAI2 qui l'a développé. TIMAI2 celui qui ne dort jamais :clin d'œil:
Elle fonctionne très bien et me convient tout à fait puisque je suis le seul à l'utiliser.
L'amélioration consisterait à permettre à l'utilisateur de changer un produit ou un prix. Pour l'instant les produits et les prix sont définis par une liste dans les blocs. Est-ce que se serait difficile de créer une interface pour changer les produit et les prix depuis la tablette ?
Cordialement,
CédricCaisse_Enregistreuse .aia (17.2 KB)

See the above, and use items 5 & 6 to search for an item and replace it.

1 Like

J'ai regardé les liens. Merci pour ceux-ci.
Je peux peut-être ajouter des éléments (par exemple "Boisson A", "Boisson B"...) pour pouvoir les remplacer. Mais je préfèrerais pouvoir ajouter des éléments aux listes.
J'ai essayé avec l'exemple du tuto liste d'animaux. Je crée une nouvelle liste mais je n'arrive pas à modifier une liste existante (dans mon programme j'essai avec la liste Parc sans succès.
Caisse_Enregistreuse (1).aia (19.5 KB)
Pouvez vous me mettre sur la piste ?

See attached

Caisse_Enregistreuse1_revised3.aia (27.7 KB)

Had to make quite a few changes, because you want to update your lists in the app. All lists are stored in the tinyDB, therefore any changes you want will need to be made in the app.

I have added: Edit/Update a product/price, Add a new product and Delete a product

You will need to do some cleaning up of the interface

Enjoy :slight_smile:

GÉNIAL :+1: :+1: :+1:

Petite question supplémentaire. Une fois que j'ai les données je les copie sur Excel et je les trie. Tout va bien pour cela.
Je ne peux pas utiliser PowerQuery avec cette méthode. Est-il possible d'envoyé les données dans un fichier ?
Voici la caisse enregistreuse terminée :smiley:
Caisse_Enregistreuse1_revised2.aia (24.4 KB)

There is an Excel connector for PowerQuery...

1 Like

Oui mais dans ce cas je dois enregistrer les données chaque jour dans un classeur Excel puis mettre à jour dans mon classeur général avec Power Query.
Ma question était : est-ce que l'envoi peut-être sous la forme d'un fichier (fichier texte par exemple) plutôt que sous la forme actuelle ?
Je ne suis pas sur d'être clair...
Autrement dit :
Pour l'instant je reçois un mail avec une liste du type :
000140,2021-10-05-18-28,Eau_1/2_L,Boissons,1
000140,2021-10-05-18-28,Eau_1L,Boissons,2
000140,2021-10-05-18-28,Eau_citronnée,Boissons,1.5
000140,2021-10-05-18-28,Eau_Pétillante,Boissons,1.5
000140,2021-10-05-18-28,Coca,Boissons,2
000140,2021-10-05-18-28,Coca_0,Boissons,2
000140,2021-10-05-18-28,Ice_Tea,Boissons,2
000140,2021-10-05-18-28,Oasis,B...
Est-il possible de recevoir ces mêmes données dans un fichier .txt ou autre ?

Do you have a google account (gmail) ?

Oui
[mod edit: personal information removed]

ou [mod edit: personal information removed]

OK, this means you can use a simple web app to send your data as a file to your email account.

Here is an example aia project
sendOneAttachment.aia (2.5 KB)

Blocks

and here is the script code required for your web app

function doGet(e) {
  if (e.parameter.FN == "oneAttachment") {
    var blob = Utilities.newBlob(e.parameter.content, 'text/csv', e.parameter.filename + '.csv');
    
    MailApp.sendEmail(e.parameter.email, 'Attachment example', 'One file is attached.', {
        name: 'Email One Attachment',
        attachments: [blob]
        });
    
  }
  return ContentService.createTextOutput('Email sent');
}

To create the web app:

  • Go to your google drive
  • Create a folder called SendMail
  • Open this folder
    If you do not have google apps script installed:
  • Right click on the white space, select More, then + Connect More Apps
  • In the search box, type google apps script
  • Click on the image for Google Apps Script
  • Click on Install
    Now you have google apps script set up
  • Again, right click on the white space
  • Select google apps script
  • accept all, and the script editor should open up
  • Enter a name for your script project e.g. SendEmail
  • replace everything in the code are with the script above
  • Save. Then click the Deploy button top right.
  • Select type as web app
  • Set the web app to execute as you (your google account) and to be accessed by Anyone
  • Click Deploy
  • get the script url provided and copy this to your aia project

Now you can test your aia project, by entering your email address and some content. You should receive an email with a csv file attached.

In testing, I pasted the content you provided above into the content textbox, and this is the csv file I received by email

2021-10-07-13-43-58.csv (316 Bytes)

1 Like

J'ai réussi à créer l'application web grâce à tes indications très précises.
En revanche je ne comprend pas la suite.
J'ai essayé ton appli mais il me met un message d'erreur lorsque je clique sur "Send"
J'ai recopié ton code dans mon appli et il me met le même très long message d'erreur.
Voici le programme...
Caisse_Enregistreuse1_revised2.aia (25.6 KB)

I get this error when trying to send an email:

image

You need to check your script looks just like mine

function doGet(e) {
  if (e.parameter.FN == "oneAttachment") {
    var blob = Utilities.newBlob(e.parameter.content, 'text/csv', e.parameter.filename + '.csv');
    
    MailApp.sendEmail(e.parameter.email, 'Attachment example', 'One file is attached.', {
        name: 'Email One Attachment',
        attachments: [blob]
        });
    
  }
  return ContentService.createTextOutput('Email sent');
}

and that you have deployed the script correctly. If creating a new version after ANY changes
then follow this guide:

Check that the script url in your AI2 app matches the one from the script editor after creating a new version. Also ensure that the script is set to run as your google account and to be accessed by Anyone. - DO NOT USE Anyone with a google account. It will not work.