Action pour supprimer une ligne dans un objet A et insérer une autre dans un objet B

4.0
Tags: #<Tag:0x00007f7d73df2878>
Action pour supprimer une ligne dans un objet A et insérer une autre dans un objet B
0

#1

Bonjour,
Nous avons un objet Société qui est lié aux 3 objets :

  • Associé Personne physique (APP)
  • Associé Personne morale (APM)
  • Associé Investisseur (AINV). Ce dernier peut être PP ou PM.

Un APP ou APM peut basculer en AINV.

Actuellement, ce transfert se fait en deux étapes, il faut d’abord aller supprimer l’APP (ou l’APM) ensuite aller dans AINV pour ajouter l’investisseur correspondant (en utilisant les informations (attributs) qui étaient dans APP ou APM).

Nous souhaitons automatiser ce transfert via un bouton d’action dans les formulaires APP et APM. C’est-à-dire que l’administrateur qui consulte une fiche APP, en cliquant sur le bouton « Basculer », fera supprimer la ligne dans APP et fera insérer une ligne dans AINV.

Pourriez-vous me guider svp sur la méthode à suivre ? Je sais que « new BusinessObjectTool » permets d’ajouter une ligne dans l’objet cible (AINV), mais comment je peux supprimer celle de APP ?

Est-ce que je peux utiliser deux requêtes SQL (Delete ensuite Insert) dans le bouton action ?

Je ne sais si mon besoin est assez clair.

Merci d’avance pour votre aide.
Abed.


(David AZOULAY) #2

ObjectDB (cf. https://www.simplicite.io/resources/4.0/javadoc/com/simplicite/util/ObjectDB.html) ou son wrapper simplifié BusinessObjectTool (cf. https://www.simplicite.io/resources/4.0/javadoc/com/simplicite/util/tools/BusinessObjectTool.html) ont toutes les méthodes qu’il faut pour manipuler en CRUD vos objets


(David AZOULAY) #3

PS: je ne suis pas sûr de ce que vous voulez dire par “requête SQL” mais la manipulation des objets métier au niveau physique est un très mauvais réflexe à proscrire (sauf dans des cas très particuliers où il y a une vraie bonne raison pour le faire). Vous devez toujours privilégier les couches logiques, ne serait-ce que pour laisser la plateforme checker les droits et appliquer les règles de gestion métier (intégrité/complétude et format des données, hooks et/ou contraintes, etc.).


#4

On peut aussi créer un objet métier père et ses fils APP,APM et AINV qui aurait 3 types différents.
L’action consisterait alors à changer le type de APP à AINV. Il n’y aurait ni suppression ni création.