Aller au contenu principal

Comment répéter les lignes dans la bande Détail ?

Étiquettes multiples

Pour créer un modèle d'étiquettes à coller sur des colis contenant un seul article, vous allez avoir besoin de multiplier une ligne de document par le nombre de colis stocké dans le champ LIG_NCOLIS.

Vous pouvez le faire de manière statique en modifiant la propriété BandsPerRecord de la bande Détail. Mais dans notre cas, ce n'est pas intéressant car vous aurez toujours le même nombre de lignes à chaque fois.

Approche dynamique

Nous avons besoin de le faire dynamiquement. Nous devons d'abord aller dans l'onglet Calculs (vérifier que l'affichage est bien sur la visualisation Evénement).

Nous avons besoin de le faire dynamiquement. Nous devons d'abord aller dans l'onglet Calculs (vérifier que l'affichage est bien sur la visualisation Evénement).

Ensuite nous recherchons la bande Detail dans l'arborescence du modèle à gauche.

Événement BeforeGenerate

Nous sélectionnons l'événement BeforeGenerate de la bande Detail et on fait un clic dans la zone de saisie des formules. Nous obtenons une nouvelle formule comme ci-dessous.

Nous allons maintenant assigner dynamiquement la valeur du champ LIG_NCOLIS de la vue des lignes à la propriété BandsPerRecord de la bande Detail.

Assignation dynamique
  Detail.BandsPerRecord := VarToInt(LIGNES.GetFieldValue('LIG_NCOLIS'));

Remarque : la fonction VarToInt a été utilisée pour remplacer par 0 les valeurs NULL que pourrait contenir le champ LIG_NCOLIS.