Duplication

114 views
Skip to first unread message

RG T

unread,
Jun 26, 2026, 4:52:41 PM (2 days ago) Jun 26
to mementodatabase
Bonsoir,
J'ai simplifier une base de gestions des courses, et je cherche à dupliquer un élément dans une autre base.
Je m'explique, je voudrai aprés que j'ai donné une valeur à un bouton radio, cette valeur se retrouve dans une autre base de donnée et ainsi par le jeu d'un filtre j'obtienne une liste comportant cette même valeur.
Sur la base GESTION DE PRODUITS, j'affiche la valeur "A prendre" dans le champ bouton radio Courses. Dans la base GESTION COURSES, je voudrai que la valeur "A prendre" s'affiche, qui qui dans une liste me donne une liste des produits à prendre.
J'espère que je suis bien fait comprendre.
J'ai essayé plusieurs solutions mais je n'y suis pas arrivé et notamment en mettant en relation les deux bases et dans un champ calculé je mettais le champ concerné.
Si vous avez des idées à me proposer.
Merci de votre aide.
TRG

Good evening,

I've simplified a shopping list database, and I'm trying to duplicate an element in another database.

Let me explain: after assigning a value to a radio button, I want that value to appear in another database, and then, using a filter, I'd like to obtain a list containing that same value.

In the PRODUCT MANAGEMENT database, I display the value "To take" in the Shopping radio button field. In the SHOPPING MANAGEMENT database, I'd like the value "To take" to appear in a list of products to take.

I hope that's clear.

I've tried several solutions, but I haven't been successful, including linking the two databases and using a calculated field to select the relevant value.

If you have any suggestions, please let me know.

Thank you for your help.

TRG

Mmm

unread,
Jun 27, 2026, 2:21:35 AM (yesterday) Jun 27
to mementodatabase
Создайте тестовые библиотеки с несколькими записями и предоставьте полный доступ к ним.
Трудно предлагать варианты решения, если неизвестна структура библиотек и не виден пример ожидаемого результата.

пятница, 26 июня 2026 г. в 23:52:41 UTC+3, trg...@gmail.com:

RG T

unread,
Jun 27, 2026, 3:29:06 AM (yesterday) Jun 27
to Mmm, mementodatabase
Bonjour,
Merci de votre aide.
Je vais essayer de mieux me faire comprendre.

1>> Dans la base GESTION DE PRODUIT je coche "A prendre" dans le champ Courses (bouton radio).


2>> Dans la base GESTION DES COURSES cette action coche automatiquement "A prendre" dans le champ Courses (bouton radio).


3>> Dans la base GESTION DES COURSES par un  filtre j'obtient une liste des produits à prendre.



Hello,

Thank you for your help.

I'll try to explain myself better.

1>> In the PRODUCT MANAGEMENT database, I select "To Pick Up" in the Shopping field (radio button).

2>> In the SHOPPING MANAGEMENT database, this action automatically selects "To Pick Up" in the Shopping field (radio button).

3>> In the SHOPPING MANAGEMENT database, using a filter, I get a list of products to pick up.

--
You received this message because you are subscribed to the Google Groups "mementodatabase" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mementodataba...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/mementodatabase/08bed03d-12e0-4856-a9f9-b466359e50d9n%40googlegroups.com.
1000017447.jpg
1000017445.jpg
1000017446.jpg

Mmm

unread,
Jun 27, 2026, 4:34:37 AM (yesterday) Jun 27
to mementodatabase
Три библиотеки имеют одинаковый набор (количество) записей? 
Как идентифицируются продукты в библиотеке 2?
Каким образом в библиотеке 3 выполняется фильтр?

суббота, 27 июня 2026 г. в 10:29:06 UTC+3, trg...@gmail.com:

RG T

unread,
Jun 27, 2026, 5:15:40 AM (yesterday) Jun 27
to Mmm, mementodatabase
Les trois bibliothèques possèdent-elles le même ensemble (nombre) de notices ?
- Non la base GESTION DE PRODUIT comporte plus de champ que la BASE COURSES. 
Cette dernière a 4 champs Produit, Marque, commentaire 1 et commentaire 2. Les 4 champs sont concacténés pour donnent un champ "dénomination" .
En plus il y a le champ "Course" bouton radio, comportant 5 item Rien , A prendre, Pris, Absent, Pas pris.



Comment les produits sont-ils identifiés dans la bibliothèque 2 ?
- C'est le champ "dénomination" qui sert d'identifiant.


Comment un filtre est-il implémenté dans la bibliothèque 3 ?
-J'ai crée un filtre avec comme référence "A prendre", et un onglet qui me permet dr visualiser les produits à prendre.

Merci.

В трех библиотеках одинаковое количество записей?

- Нет, база данных УПРАВЛЕНИЯ ПРОДУКТАМИ содержит больше полей, чем база данных ДОСТАВКИ.

Последняя содержит четыре поля: Продукт, Бренд, Комментарий 1 и Комментарий 2. Эти четыре поля объединены в поле «Имя».

Кроме того, есть поле с переключателями «Выполнить» с пятью вариантами: Нет, Самовывоз, Забрано, Отсутствует и Не занято.

Как идентифицируются товары в Библиотеке 2?

- Поле «Имя» служит идентификатором.

Как реализован фильтр в Библиотеке 3?

- Я создал фильтр с полем «Самовывоз» в качестве ссылки и вкладкой, которая позволяет просматривать товары для самовывоза.

Спасибо.

Do the three libraries have the same number of records?

- No, the PRODUCT MANAGEMENT database has more fields than the SHIPPING DATABASE.

The latter has four fields: Product, Brand, Comment 1, and Comment 2. These four fields are combined to form a "Name" field.

In addition, there is the "Run" radio button field, which has five options: None, To Pick Up, Taken, Absent, and Not Taken.

How are products identified in Library 2?

- The "Name" field serves as the identifier.

How is a filter implemented in Library 3?

- I created a filter with "To Pick Up" as the reference, and a tab that allows me to view the products to pick up.

Thank you.

RG T

unread,
Jun 27, 2026, 7:30:11 AM (yesterday) Jun 27
to Mmm, mementodatabase
Le sam. 27 juin 2026, 10:34, Mmm <mii...@gmail.com> a écrit :

Mmm

unread,
Jun 27, 2026, 8:47:05 AM (yesterday) Jun 27
to mementodatabase
Трудности перевода...

Если:
– имена записей в библиотеках 1 и 2 одинаковые;
– в библиотеке 2 включены Уникальных полях => Имя записи.
Найти запись можно с помощью findByKey(name).

Пример:
function setCourses() {
    let e = entry(); 
    let name = e.name;
    let courses = e.field('Courses');
    let lbn = libByName('GESTION COURSES'); 
    let obj = lbn.findByKey(name);
    if (obj) {
        obj.set('Courses', courses);
        return true;
    }
}

Функцию добавить в общие скрипты.
В два триггера (изменение записи и изменение поля) добавить вызов функции.

Если имена в библиотеках 1 и 2 различаются этот способ не подойдёт.

Тогда нужно сформировать поисковое слово из нескольких полей и искать с помощью filter(). 

Мне больше нравится другой вариант: добавить в библиотеку 2 поле "ide" (строка) с id записи соответствующего продукта из библиотеки 1.
Уникальные поля включить для поля "ide".
Искать записи по этому полю.

Пример (библиотека 1):
function setCourses() {
    let e = entry(); 
    let ide = e.id;
    let courses = e.field('Courses');
    let lbn = libByName('GESTION COURSES'); 
    let filter = lbn.filter(a => a.field('ide') == ide);
    if (filter.length > 0) {
        filter[0].set('Courses', courses);
        return true;
    } /* можно предусмотреть создание копии записи в библиотеке 2, если подходящая запись не найдена (условие не выполнено). */
}

Подготовка библиотек для работы с id записей продуктов:
1. Создать текстовое поле "ide" в библиотеках 1 и 2.
2. В библиотеке 1 выполнить скрипт действие в библиотеке:

let ee = lib().entries();
ee.forEach(e => e.set('ide', e.id));
message(' Action terminée! ');

3. Очистить библиотеку 2 от всех записей полностью.
4. Перенести записи из библиотеки 1 в библиотеку 2 с помощью CSV или штатным инструментом "Переместить или Копировать" (!!! обязательно включить "Создавать копии" !!!).
5. В библиотеку 2 добавить функцию и триггеры для обратного действия (если нужно автоматически изменять поле в библиотеке 1 при изменении поля в библиотеке 2). Например, когда товар куплен.

function setCoursesBase() {
    let e = entry(); 
    let ide = e.field('ide');
    let courses = e.field('Courses');
    let lbn = libByName('GESTION DE PRODUITS); 
    let filter = lbn.filter(a => a.id == ide);
    if (filter.length > 0) {
        filter[0].set('Courses', courses);
        return true;
    }
}

Скрипты не проверял.

суббота, 27 июня 2026 г. в 14:30:11 UTC+3, trg...@gmail.com:

RG T

unread,
Jun 27, 2026, 9:07:51 AM (yesterday) Jun 27
to Mmm, mementodatabase
Merci, je vais tester et je vous tiens au courant,
Le champ "Dénomination" est unique et il est strictement égal sur les deux bases.
Pour faire la seconde base "GESTION COURSES" j'avais fait un déplacer - copier et je n'ai laissé que les champs utiles.

Спасибо, я протестирую и сообщу вам.

Поле "Имя" уникально и абсолютно одинаково в обеих базах данных.

Для создания второй базы данных, "УПРАВЛЕНИЕ ПРОДУКТАМИ", я использовал функцию перемещения-копирования и сохранил только необходимые поля.

Thank you, I'll test it and let you know.

The "Name" field is unique and exactly the same in both databases.

To create the second database, "GROCERY MANAGEMENT," I used a move-copy function and kept only the necessary fields.

Mmm

unread,
Jun 27, 2026, 9:17:16 AM (yesterday) Jun 27
to mementodatabase
Я упоминал не поле "Имя" (entry().field('Name')), а имя записи (entry().name).
Имя записи может быть составным (из нескольких полей).

В последней функции пропущена закрывающая кавычка:
let lbn = libByName('GESTION DE PRODUITS); 

нужно:
let lbn = libByName('GESTION DE PRODUITS'); 
суббота, 27 июня 2026 г. в 16:07:51 UTC+3, trg...@gmail.com:

Er Mo

unread,
Jun 27, 2026, 2:59:43 PM (yesterday) Jun 27
to mementodatabase
Hallo
Wenn du in deinen Bibliotheken ein Optionsfeld auf " Abholen " stellst und diesel in den anderen Bibliothekn überträgst . Was machst du wenn die Ware abgeholt ist . Muss das alles wieder zurückgestellt werden ?

Bonjour

Si vous activez l'option « Retrait » dans vos bibliothèques et que vous la transférez vers d'autres bibliothèques, que se passe-t-il lorsque les articles sont retirés ? Faut-il tout réinitialiser ?

Ernst

RG T

unread,
Jun 27, 2026, 4:26:06 PM (yesterday) Jun 27
to Er Mo, mementodatabase, Mmm
Bonjour,
Cela va dépendre, en effet, si je positionne le champ "Courses" avec A prendre, il faudra le réinitialiser. Maintenant, j'ai réfléchi entre temps, et je pense qu'un script sur un bouton si c'est possible ce qui eviterai de réinitialiser. Je vais tester la solution de Mmm et voir ce que cela donne.
Merci

Hello,

It depends. If I set the "Shopping" field to "To Buy," it will need to be reset. However, I've been thinking about it, and I believe a script on a button, if possible, would avoid the need for resetting. I'll test Mmm's solution and see how it goes.

Thanks

Hallo,
Das kommt darauf an. Wenn ich das Feld „Einkaufen“ auf „Zum Kaufen“ setze, muss es zurückgesetzt werden. Ich habe darüber nachgedacht und glaube, dass ein Skript auf einem Button, falls möglich, das Zurücksetzen überflüssig machen würde. Ich werde Mmms Lösung testen und sehen, wie es läuft.

Danke.

Er Mo

unread,
Jun 27, 2026, 4:32:00 PM (yesterday) Jun 27
to mementodatabase
Hallo
Mein Vorschlag wäre eine Neue Bibliothek in der die Daten vom Eintrag kopiert werten und den Originalen Eintrag unverändert lassen . Nach der Abholung kann der Eintrag auf " Abgeholt " gestellt werden oder auch gelöscht werden .  

Bonjour

Je suggère la création d'une nouvelle bibliothèque où les données de l'entrée seraient copiées, l'entrée originale restant inchangée. Après consultation, l'entrée pourrait être marquée comme « Consultée » ou supprimée.

Ernst

RG T

unread,
Jun 27, 2026, 4:54:03 PM (yesterday) Jun 27
to Er Mo, mementodatabase, Mmm
Il y a effectivement deux bases "GESTION PRODUIT"  (1) & "GESTION COURSES" (2). Si un enregistrement de la base 1 contient A prendre, sur la base 2 le champ Courses affichera A prendre. Puis un filtre sur ce paramètre affichera la liste des produits à prendre. Les deux bases sont identiques puisque la base 2 a été copiée.

Hello,
It really depends; if I set the "Groceries" field to "To Buy," it would need to be reset. However, I’ve been thinking about it, and I believe a button-based script—if possible—would avoid the need for a reset. I’m going to test Mmm’s solution and see how it works.
Thanks.

Hallo,
Das kommt darauf an. Wenn ich das Feld „Einkaufen“ auf „Zum Kaufen“ setze, muss es zurückgesetzt werden. Ich habe darüber nachgedacht und glaube, dass ein Skript auf einem Button, falls möglich, das Zurücksetzen überflüssig machen würde. Ich werde Mmms Lösung testen und sehen, wie es läuft.

Danke.

Mmm

unread,
3:48 AM (17 hours ago) 3:48 AM
to mementodatabase
Вариант решения с помощью findByKey(name).

Возможности:
1. Создание копии нового продукта в библиотеке 2 (триггер создание записи). В функцию нужно добавить свои поля.
2. Создание копии продукта, если продукт не найден в библиотеке 2.
3. Дублирование поля "Courses" (основное направление, 1 => 2). Одна запись (триггеры изменение записи и изменение поля), меню массовых действий (скрипт действие).
4. Дублирование поля "Courses" (обратное направление, 2 => 1) только для значения "Rien" (другие значения игнорируются для библиотеки 1). Триггеры и скрипт действие меню массовых действий.

Стандартное массовое изменение поля "Courses" не запускает триггеры, поэтому нужно выполнять действие скриптом.

Шаблон-контейнер с примером в каталоге шаблонов:

суббота, 27 июня 2026 г. в 23:54:03 UTC+3, trg...@gmail.com:
gif-20260628.gif

Mmm

unread,
4:16 AM (16 hours ago) 4:16 AM
to mementodatabase
Исправлена ошибка создания копии записи.

Новый шаблон-контейнер в каталоге шаблонов:
воскресенье, 28 июня 2026 г. в 10:48:22 UTC+3, Mmm:

RG T

unread,
6:18 AM (14 hours ago) 6:18 AM
to Mmm, mementodatabase
Bonjour,
Merci pour votre aide.

Tout d'abord j'ai testé en suivant vos instructions les trois scripts que vous m'aviez envoyé précédemment. Cela ne fonctionne pas sauf l'enregistrement de l'identifiant où l'identifiant est apparu dans le champ. Mais j'ai pu faire une erreur

A ce sujet si je rajoute un produit, et demande un identifiant pour ce produit, les autres identifiants vont ils changé ou rester à la même valeur? S'ils ne changent pas je copierai simplement le nouveau produit dans la base GESTION COURSES (DéPLACER COPIER) sinon je ferai un CSV de toutes les valeurs.

Concernant les bases de données transmises en dernier (name), elles ont été installées et la base "mère" supprimée, corbeille y compris. 
Je n'ai pas très bien compris comment cela fonctionne, si je dois les laisser comme elles sont, si je dois manuellement rajouter les champs qui manquent. J'ai copié les scripts et les aient placés dans mes bases originales, j'ai des erreurs. Si vous pouviez me donner de plus amples explications. 

Sinon est il possible sur un script associé à un bouton installé dans la base GESTION PRODUIT, qui a comme fonction de cocher (valeur true) le champ "courses" et la paramètre "A prendre" dans la base GESTION COURSE. Un filtre avec  onglet est utilisé et à chaque action je change la valeur en "Pris", Ensuite je fais une remise à Zéro du champs courses. Ça je pense que j'y arriverai puisque je l'ai déjà fait dans ma première version. C'est juste une idée pour simplifiez la manipulation. C'est la gestion du script du bouton qui me pose problème.
Encore merci de votre aide, j'apprécie.
TRG

Здравствуйте,

Спасибо за помощь.

Во-первых, я протестировал три скрипта, которые вы мне ранее прислали, следуя вашим инструкциям. Они работают только для ввода ID, где ID отображается в поле. Но, возможно, я допустил ошибку.

В связи с этим, если я добавлю товар и запрошу для него ID, изменятся ли остальные ID или останутся прежними? Если они не изменятся, я просто скопирую новый товар в базу данных BUSINESS MANAGEMENT (перемещение/копирование). В противном случае я создам CSV-файл со всеми значениями.

Что касается последних отправленных баз данных (название), они установлены, а «родительская» база данных удалена, включая корзину.

Я не совсем понял, как это работает, следует ли оставить их как есть или нужно вручную добавить недостающие поля. Я скопировал скрипты и поместил их в свои исходные базы данных, но получаю ошибки. Не могли бы вы дать мне более подробное объяснение?

Или же можно использовать скрипт, связанный с кнопкой, установленной в базе данных PRODUCT MANAGEMENT, который проверяет (значение true) поле "Покупки" и параметр "К самовывозу" в базе данных SHOPPING MANAGEMENT? Используется фильтр с вкладкой, и при каждом действии я меняю значение на "Забрано", а затем обнуляю поле "Покупки". Думаю, я смогу это сделать, так как уже реализовал это в первой версии. Это просто идея для упрощения процесса. Проблемы возникают именно с управлением скриптом кнопки.

Ещё раз спасибо за помощь, я это ценю.

TRG

Hello,

Thank you for your help.

First, I tested the three scripts you sent me previously, following your instructions. They don't work except for the ID entry, where the ID appeared in the field. But I might have made a mistake.

Regarding this, if I add a product and request an ID for it, will the other IDs change or remain the same? If they don't change, I'll simply copy the new product into the BUSINESS MANAGEMENT database (MOVING/COPYING). Otherwise, I'll create a CSV file of all the values.

Concerning the last databases sent (name), they have been installed, and the "parent" database has been deleted, including the trash.

I didn't quite understand how this works, whether I should leave them as they are, or if I should manually add the missing fields. I copied the scripts and placed them in my original databases, but I'm getting errors. If you could give me a more detailed explanation.

Otherwise, is it possible to use a script associated with a button installed in the PRODUCT MANAGEMENT database, which has the function of checking (value true) the "shopping" field and the "To be picked up" parameter in the SHOPPING MANAGEMENT database? A filter with a tab is used, and with each action, I change the value to "Picked up," then I reset the shopping field to zero. I think I can manage this since I already did it in my first version. It's just an idea to simplify the process. It's the button script management that's giving me trouble.

Thanks again for your help, I appreciate it.

TRG

Mmm

unread,
6:30 AM (14 hours ago) 6:30 AM
to mementodatabase
Использование ID  записи, как идентификатор продукта имеет большой плюс в том, что для данного продукта он остаётся неизменным до удаления записи.

Нужно было добавить ide для каждого продукта скриптом, а потом скопировать записи в библиотеку 2 известным способом.

На остальные вопросы отвечу лично.

воскресенье, 28 июня 2026 г. в 13:18:47 UTC+3, trg...@gmail.com:
Reply all
Reply to author
Forward
0 new messages