Outils pour utilisateurs

Outils du site


info:les_rapports

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
info:les_rapports [2022/10/23 19:55] – supprimée - modification externe (Unknown date) 127.0.0.1info:les_rapports [2022/10/23 19:55] (Version actuelle) – ↷ Page déplacée de lua:info:les_rapports à info:les_rapports admin
Ligne 1: Ligne 1:
 +**Les rapports dans NSBase**
  
 +Cet article va vous aider dans la construction des rapports sous NSBase
 +
 +Il existe 2 types de rapports :
 +
 +Fiche
 +Liste
 +La différence est faite par l'utlisation d'un "GridPanel" pour les listes et pas de "GridPanel" pour les fiches. On utilisera 1 "GridPanel" au maxi.
 +
 +Il y aura donc 1 enregistrement par fiche (page) et de 1 à n enregistements par page pour les listes. Le maximun d'enregistrements par page pour les listes est précisé par "RowCount" * "ColCount", le sens de remplissage est indiqué par "PrintDirection".
 +
 +La source d'un rapport doit être renseignée, elle peut être une table ou mieux une vue simple ou paramétrée.
 +
 +L'ensemble des données à imprimer doit être présent dans chaque enregistrement, y compris les données variables d'entêtes et de bas de page pour les rapports de type liste.
 +
 +Les champs sont fixes ou associés à un champ de la source par la propriété "FieldName". Les champs placés dans la cellule éditable du "GridPanel", seront répétés suivant "RowCount", "ColCount" et "PrintDirection"
 +
 +Un seul "GridPanel" par report.
 +
 +Des champs spéciaux sont disponibles:
 +
 +Code bar
 +Qr code
 +Système : date, heure ou n° de page
 +Les actions (ou évènements) dans un rapport :
 +
 +ActionOnLoaded:
 +
 +Se produit apès le chargement du rapport, exemple dans le modèle "Facture", permet d'imprimer la facture active.
 +
 +On utilise une requête paramétrée dans ce rapport. Le paramêtre est "reference". La valeur provient du composant "referenceToPrint" qui se trouve dans le formulaire "frmFacture" (Facture).
 +
 +<code lua>
 +function rptFacture:ActionOnLoaded()
 +  if frmFACTURE~=nil then
 +    self.dataset.setParameter("reference",frmFACTURE.referenceToPrint)
 +  end
 +end 
 +</code> 
 +
 +ActionOnChange:
 +
 +Se produit à chaque enregistrement, exemple dans le modèle FISH, pour la conversion inch/cm
 +
 +<code lua>
 +function rptFish:ActionOnChange()
 +  local value=self.dataset.getFieldName('LENGTH_CM')
 +  if value~='' then
 +    value=value ..  'CM/' .. string.format("%6.2f",value/2.54) .. 'IN'
 +  end
 +  self.setProperty('lbLength.Caption',value)
 +end 
 +</code> 
 +
 +ActionOnError:
 +
 +Se produit lors d'une erreur.
 +
 +