Fichier Comptabilité Autres Administration Certification

Fonction REST "fw_CRUD"

Les tables concernées

Les tables de type "Fichier"

Nom de la tableClef sur l'index à utiliserChamps complémentairesNom de l'unitéPlus d'information
FamilleIDListeCerfa
MontantTotalCerfa
RecordFamilleStructure de la table
PersonneID RecordPersonneStructure de la table

Privacy by design des tables "Famille" & "Personne"

La fonction assure le filtrage à la source coté serveur c'est à dire :

  • que seul les données que l'utilisateur peut consulter sont envoyé à l'interface client
  • que les données qui sont reçu de l'interface client sont filtrées avant d'être enregistré afin d'éviter tout risque
FonctionDroit génériqueDroit complémentaire pour certains champsGéré par
Nom du champDroit nécessaire
VoirdfLectureTSQLLoGeAsRecord.IsAutorisetable
Cerfa*dfLectureComptable ou dcLecture ou dfVoirEstDonateurTSQLLoGeAsRecord.GetListeChamp
ListeCerfa
MontantTotalCerfa
dfLectureComptable ou dcLectureTSQLLoGeAsRecord.CRUD_Read
MemoPersodfLectureConfidentielleTSQLLoGeAsRecord.GetListeChamp
Champs perso “comptable”dfLectureComptable ou dcLecturTSQLLoGeAsRecord.GetListeChamp
si archivé en plusdfVoirArchive
pour ModifierdfEdition Interface & TSQLLoGeAsRecord.CRUD_Update
pour CréerdfAjout Interface & TSQLLoGeAsRecord.CRUD_Create
pour SupprimerdfSuppression Interface & TSQLLoGeAsRecord.CRUD_Delete

Les tables de type "Comptable"

Nom de la tableClef sur l'index à utiliserChamps complémentairesNom de l'unitéPlus d'information

Les autres tables

Nom de la tableClef sur l'index à utiliserChamps complémentairesNom de l'unitéPlus d'information
ConfigNomFichier RecordConfigStructure de la table
Détail du contenu
FichierTexteNomFichier RecordFichierTexteStructure de la table
Détail du contenu

Paramètres d'entrée

NB : Pour accéder à cette fonction le demandeur doit au préalable être identifié

Nom du paramètresAttendu
FonctionIndique le type d'action attendu du serveur (seul la première lettre est significative).
RecordJson correspondant à une classe descendante de “TSQLLoGeAsRecord”
SQLTableNameNom de la table à “travailler”
InfoInformation sur le demandeur sous forme d'un Json
'{"SUIDBase":"31ADD2E180378001",
"Exercice":2019,"Secteur":1,
"LogonName":"jetest@pgi.logeas.fr"}'


peut être vide dans certains cas mais doit être quand même présent

Contenu de record suivant la fonction

FonctionExplicationContenu de RecordDroits à vérifierActions spécifiques
CreateCréation/ajout d'un nouvel enregistrement dans la tableLe champ ID doit être inférieur ou égal à 0
Les autres champs contenir les valeurs attendus (hors champs automatiques)
Voir dans la doc les champs obligatoires
dfAjout * Mise à jour des champs automatique
ReadLecture d'un enregistrement de la tableLe champ Key de la table doit contenir la valeur attendudfLecture
Lecture de la table entiéreLe champ Key de la table doit contenir la valeur 0 ou ' 'dfLecture
UpdateModification d'un enregistrement de la tableLe champ ID doit contenir le numéro de l'enregistrement

Les autres champs contenir les valeurs attendus (hors champs automatiques)
dfEdition * Mise à jour des champs automatique
DeleteEffacement d'un enregistrement de la tableLe champ ID doit contenir le numéro de l'enregistrement à dfSuppressiondfLecture

NB:

  • L'archivage d'un enregistrement passe par un update (Champ “archive')
  • Chaque modification est pisté dans le piste d'audit

Appel de la fonction CRUD depuis Angular

Appel "Simple"

Ce mode d'appel est à utiliser par exemple pour récupérer une liste de paramétrage

constructor(
    private REST:MormotClientService
    ) {};

L'appel nécessite la bibliothèque MormotClientService qui elle même utilise la bibliothèque mORMotClient.js

    ngOnInit(): void {
      this.REST.CRUD('Read','FichierTexte',{NomFichier:"/PersonneTitre.Txt"}).subscribe({
        next: (res:any) => {this.PersonneTitre=res},
        error: (error) => {this.SuiteValidation(false,error)}
        });
    }

On demande l'initialisation de la liste via un observable.
A sa réalisation celui-ci initialisera la variable PersonneTitre sinon il appellera la fonction SuiteValidation en indiquant l'erreur

Appel via un "Service"

Ce mode d'appel est à utiliser quand la ressource est utilisé par plusieurs composant

Unité "service"
  private InfoEcranFamille = new TInfoFamille;
  infoEcranFamille = new BehaviorSubject<TInfoFamille>(this.InfoEcranFamille);
 

On déclare “BehaviorSubject”

  constructor(private REST:MormotClientService){ 
    this.REST.CRUD('Read','Famille','').subscribe((res:any) => {
      this.InfoEcranFamille.chargeData(JSON.parse(res.result));
      this.emitInfofamille();
      });
  }

Dans cette version quand la data est accessible la fonction emitInfofamille est appelé, c'est elle qui va propager la data chez les client..

    private emitInfofamille() {
    console.log('EMIT INFO');
    if (this.InfoEcranFamille.charge())
      {this.infoEcranFamille.next(this.InfoEcranFamille);}
  };
 
Dans l'unité cliente
  constructor(
    private restFamille:FamilleService
    ) {};

On déclare le service

    ngOnInit(): void {
      this.restFamille.infoEcranFamille.subscribe((value) => this.onChangeTableFamille(value));
    }

On souscrit à la variable du service, lors de la dispo on peut initialiser une variable ou appeler une fonction qui fera un traitement

  onChangeTableFamille(value:TInfoFamille){
    if (value.charge()) {
      console.log('ONCHANGEFAMILLE ',value)
      this.TableFamille=value.data;
      this.columnsFamille=value.format;
      this.FamilleCourante=this.TableFamille[0];

      if (value.marker.length>0) {
        this.TableMakers = [];
        value.marker.forEach((e) => {
          console.log('e.id  '+e.ID);
          let mark:TMarkers = {"id":e.ID, "location" : e.location, "tooltip" : {"isShown" : false, "text":e.tooltip}};
          this.TableMakers.push(mark);
          });
          console.log('onChangeTableFamille '+JSON.stringify(this.TableMakers))
        }
    }
  }

Sortie

Exécution correcte

Dans le cas ou l'exécution c'est bien passé le serveur retourne un json contenant le TSQLFamille tel qu'enregistré dans la base.

Erreur lors de l'exécution

Code erreurExplication possible
400Il manque des paramètres à la fonction
Autres codesVoir le texte d'explication
CC Attribution-Share Alike 4.0 International Driven by DokuWiki
technique/fw_crud.txt · Dernière modification: 2023/09/03 16:37 de admin