Points d'entrée > Module Ventes > Script standard SUBSLX 

SALTRS : Gérer des champs spécifiques

Ce point d’entrée concerne la gestion des transactions de saisie des ventes. Il est commun aux transactions de devis, commandes, commandes ouvertes, livraisons, retours et factures.

Il permet de gérer les champs ajoutés en spécifique de la même façon que les champs standards.

Ce point d‘entrée est situé dans le traitement SUBSLX.

Contexte et mode de fonctionnement

Transaction

Dans le déroulement des actions CREATION,  MODIF,  ANNULE, LIENS, INICRE et INIMOD , il y a une transaction en cours. La variable GOK est utilisée et testée. Elle est égale à 1. Elle peut être positionnée à 0 si on désire abandonner la transaction.

Dans le déroulement de l'action APRES_MODIF il n'y a pas de transaction en cours.

Fichier trace

Il  n’y a pas de fichier trace ouvert.

Différents cas d’appel

 Il est appelé dans les actions CREATION,  MODIF,  ANNULE, LIENS, APRES_MODIF,  INICRE, INIMOD  par  Gosub PE_SALTRS From SUBSLX dans les traitements :

-          SUBSLQ :transactions devis

-          SUBSLC :transactions commandes

-          SUBSLO :transactions commandes ouvertes

-          SUBSLD :transactions livraisons

-          SUBSLR :transactions retours

-          SUBSLI :transactions factures

Rappel  du contenu de la table SALTRS

Les données contenues dans la table SALTRS concernent le stockage du paramétrage des saisies du module ventes modifiables par transactions. Une normalisation précise doit  être respectée.

A une donnée ajoutée dans un écran doit correspondre la création de données dans la table SALTRS.

Les données ajoutées peuvent être de 4 types différents.

Type de donnée

Donnée

 écran

Définir dans

SALTRS

Menu

local

Valeurs

A- Entête non saisissable

AAAA

AAAACOD

1

1 = non / 2 = oui  (Affichage)

B- Entête saisissable

BBBB

BBBBCOD

35

1 = saisie / 2 = affiché / 3 = invisible

C- Ligne non saisissable

CCCC

CCCCCOD

CCCCSCR

1

99

1 = non / 2 = oui  (Affichage)

1 = fiche+tableau / 2 = fiche / 3 = tableau

D- Ligne saisissable

DDDD

DDDDCOD

DDDDSCR

35

99

1 = saisie / 2 = affiché / 3 = invisible

1 = fiche+tableau / 2 = fiche / 3 = tableau

Masques disponibles
 

Transaction

Ecrans de saisie

 

Ajout

donnée

Ecran de

paramétrage

Type de

 donnée

ajoutée

 

 

 

 

 

Devis

SQH0 : Ecran Entête

Non

SLQ0 : Ecran Entête

---

 

SQH1 : Onglet Gestion

Oui

SLQ1 : Onglet Paramètres

A - B  - C

 

SQH3 : Onglet Facturation

Oui

SLQ2 : Onglet Entête

B

 

SQH2 : Onglet Lignes

Oui

SLQ3 : Onglet Ligne 1

D

 

 

 

SLX1 : Onglet Ligne 2

---

 

 

 

 

 

Commandes

SOH0 : Ecran Entête

Non

SLC0 : Ecran Entête

---

 

SOH1 : Onglet Gestion

Oui

SLC1 : Onglet Paramètres

A

 

SOH2 : Onglet Livraison

Oui

SLC2 : Onglet Entête

B

 

 

 

SLC5 : Onglet Affichage

A - C

 

SOH3 : Onglet Facturation

Oui

SLC2 : Onglet Entête

B

 

 

 

SLC5 : Onglet Affichage

A - C

 

SOH4 : Onglet Lignes

Oui

SLC3 : Onglet Ligne 1

D

 

 

 

SLC4 : Onglet Ligne 2

D

 

 

 

SLX1 : Onglet Ligne 3

---

 

 

 

 

 

Cdes ouvertes

SOR1 : Ecran Contrat

Oui

SLO0 : Ecran Entête

---

 

SOI1  : Ecran Articles

Oui

SLO1 : Onglet Paramètres

A - B - C

 

 

 

SLO2 : Onglet Entête

B

 

 

 

SLO3 : Onglet Ligne 1

B - D

 

 

 

SLX1 : Onglet Ligne 2

---

 

 

 

 

 

Livraisons

SDH0 : Ecran Entête

Non

SLD0 : Ecran Entête

---

 

SDH1 : Onglet Lignes

Oui

SLD1 : Paramètres

A - C

 

SDH2 : Onglet Gestion

Oui

SLD2 : Entête

B

 

SDH3: Onglet Complément

 

SLD3 : Ligne 1

D

 

 

 

SLX1 : Ligne 2

---

 

 

 

 

 

Retours

SRH1 : Ecran Entête Lignes

Oui

SLR0 : Ecran Entête

---

 

 

 

SLR1 : Onglet Paramètres

A - C

 

 

 

SLR2 : Onglet Entête/Ligne

B - D

 

 

 

 

 

Factures

SIH0 : Ecran Entête

Non

SLI0 : Ecran Entête

---

 

SIH1 : Onglet Gestion

Oui

SLI1 : Onglet Paramètres

A - C

 

SIH2 : Onglet Facturation

Oui

SLI2 : Onglet Entête

B

 

SIH4 : Onglet Valorisation

Non

SLI3 : Onglet Ligne 1

D

 

 

 

SLX1 : Onglet Ligne 2

---

Avoirs

SIH0 : Ecran Entête

Non

SLI0 : Ecran Entête

---

 

SIH1 : Onglet Gestion

Oui

SLA1 : Onglet Paramètres

A - C

 

SIH2 : Onglet Facturation

Oui

SLI2 : Onglet Entête

B

 

SIH4 : Onglet Valorisation

Non

SLI3 : Onglet Ligne 1

D

 

 

 

SLX1 : Onglet Ligne 2

---

 

 

 

 

 

Variables disponibles

On dispose des variables suivantes pour définir le traitement à effectuer:

PACTION                  Action standard GOBJET à l'origine de l'appel

PVERSION                  Variable numérique du contenu de GVERSION

                   ( si GVERSION="1.2.4" à PVERSION=124 )

FJL                  Type de transaction ( SLQ= Devis, SLC= Commandes, SLO=

                   Commandes ouvertes, SLD= Livraisons, SLR= Retours,

                   SLI= Factures).

MFROM                  Code de écran de saisie

 Tables ouvertes

Table

Traitement

Contenu significatif

Intitulé Table

SALTRS

SUBSLQ

SUBSLC

SUBSLO

SUBSLD

SUBSLR

SUBSLI

 

Tansactions de saisie ventes

 

Les tables AWINDOW, AWINPAR, AREPORT, AMSK, AMSKZON, AMSKACT, ainsi que toutes les tables nécessaires à la gestion génération des écrans et traitements sont ouvertes mais ne doivent en aucun cas être modifiées dans le traitement du point d'entrée.

 Exemple de traitement spécifique du point d'entrée

 #########################################################################

# Traitement du point d'entrée des transactions

# Exemple : Ajout des données dans la gestion des commandes

# - AAAA (non saisissable) dans Onglet Gestion   SOH1    

# - BBBB (saisissable)     dans Onglet Livraison SOH2 

# - CCCC (non saisissable) dans Onglet Lignes    SOH4

# - DDDD (saisissable)     dans Onglet Lignes    SOH4

#########################################################################

Case ACTION

  When "SALTRS"  : Gosub SALTRS

Endcase

Return

 

#########################################################################

$SALTRS

Case FJL

  When "SLQ" : Gosub SALTRS_SLQ : # transaction devis

  When "SLC" : Gosub SALTRS_SLC : # transaction commandes

  When "SLO" : Gosub SALTRS_SLO : # transaction cdes ouvertes

  When "SLD" : Gosub SALTRS_SLD : # transaction livraisons

  When "SLR" : Gosub SALTRS_SLR : # transaction retours

  When "SLI" : Gosub SALTRS_SLI : # transaction factures

Endcase

Return

 

#------------------------------------------------------------------------

$SALTRS_SLQ

Return

 

#------------------------------------------------------------------------

$SALTRS_SLC

Case PACTION

  When "CREATION", "MODIF", "ANNULE","EXEBOUT","MASSE"

    If MFROM="SOH1"

      If [M:SLC5]AAAACOD = 1  TZONE(IZON)="AAAA"

                              TMOD (IZON)=3

                              IZON +=1

      Endif

    Endif

    If MFROM="SOH2"

      If [M:SLC2]BBBBCOD > 1  TZONE(IZON)="BBBB"

                              TMOD (IZON)=[M:SLC2]BBBBCOD

                              IZON +=1

      Endif

    Endif

    If MFROM="SOH4"

      If [M:SLC5]CCCCCOD = 1  TZONE(IZON)="CCCC"

                              TMOD (IZON)=3

                              IZON +=1

      Else

        ZT="CCCCSCR" : ZM="CCCC" : Gosub TABLEAU_FICHE From SUBSLX

      Endif

      If [M:SLC3]DDDDCOD > 1  TZONE(IZON)="DDDD"

                              TMOD (IZON)=[M:SLC3]DDDDCOD

                              IZON +=1

      Endif

      If [M:SLC3]DDDDCOD = 1 | [M:SLC3]DDDDCOD = 2

        ZT="DDDDSCR" : ZM="DDDD" : Gosub TABLEAU_FICHE From SUBSLX

      Endif

    Endif

 

  When "APRES_MODIF"        : Gosub APRES_MODIF

 

  When "LIENS"              : Gosub LIENS

 

  When "INICRE" , "INIMOD"  : Gosub INICRE

 

  When Default

 

Endcase

Return

 

#------------------------------------------------------------------------

$SALTRS_SLO

Return

 

#------------------------------------------------------------------------

$SALTRS_SLD

Return

 

#------------------------------------------------------------------------

$SALTRS_SLR

Return

 

#------------------------------------------------------------------------

$SALTRS_SLI

Return

 

#------------------------------------------------------------------------

$APRES_MODIF 

# action commune aux différentes transactions

# action à ne developper que pour les données de ligne

Local Char PCOUZON : # pour stocker le nom compatible V120 et V130

If PVERSION < 130  PCOUZON=zoncou

  Else             PCOUZON=COUZON

Endif

 

If PCOUZON = "CCCCCOD" : Gosub CCCCCOD : Endif

If PCOUZON = "DDDDCOD" : Gosub DDDDCOD : Endif

 

Return

 

#------------------------------------------------------------------------

$LIENS 

# action commune aux différentes transactions

# action à ne developper que pour les données de ligne

Gosub CCCCCOD

Gosub DDDDCOD

Return

 

#------------------------------------------------------------------------

$INICRE 

# action commune aux différentes transactions

# action à ne developper que pour les données de ligne

ZONECOD="CCCCCOD"  : Gosub INICRE_SCR From SUBSLX

ZONECOD="DDDDCOD"  : Gosub INICRE_SCR From SUBSLX

Return

 

#------------------------------------------------------------------------

$CCCCCOD

If dim([M]CCCCCOD)>0 & dim([M]CCCCSCR)>0

  If [M]CCCCCOD=1

     [M]CCCCSCR=1

     If !GIMPORT

       If FJL="SLC" : Affzo [M:SLC5]CCCCSCR : Grizo [M:SLC5]CCCCSCR : Endif

     Endif

  Else

     If !GIMPORT

       If FJL="SLC" : Actzo [M:SLC5]CCCCSCR : Endif

     Endif

  Endif

Endif

Return

 

#----

$DDDDCOD

If dim([M]DDDDCOD)>0 & dim([M]DDDDSCR)>0

  If [M]DDDDCOD=3

     [M]DDDDSCR=1

     If !GIMPORT

       If FJL="SLC" : Affzo [M:SLC3]DDDDSCR : Grizo [M:SLC3]DDDDSCR : Endif

     Endif

  Else

     If !GIMPORT

       If FJL="SLC" : Actzo [M:SLC3]DDDDSCR : Endif

     Endif

  Endif

Endif

Return

#########################################################################

 

SALTRSWIN : Modifier la fenêtre de saisie

Ce point d’entrée concerne la gestion des transactions de saisie des ventes. Il est commun aux transactions de devis, commandes, commandes ouvertes, livraisons, retours et factures.

Il permet de modifier la fenêtre générée par la transaction, notamment pour supprimer un onglet spécifique.

Ce point d‘entrée est situé dans le traitement SUBSLX.

Contexte et mode de fonctionnement

Transaction

Il y a une transaction en cours. La variable GOK est utilisée et testée. Elle est égale à 1. Elle peut être positionnée à 0 si on désire abandonner la transaction.

Fichier trace

Il  n’y a pas de fichier trace ouvert.

Différents cas d’appel

 Il est appelé dans les actions CREATION,  MODIF,  ANNULE dans les traitements :

-          SUBSLQ :transactions devis

-          SUBSLC :transactions commandes

-          SUBSLO :transactions commandes ouvertes

-          SUBSLD :transactions livraisons

-          SUBSLR :transactions retours

-          SUBSLI :transactions factures

Masques disponibles

Transaction

Ecrans de saisie

 

Ecran de paramétrage

 

 

 

Devis

SQH0 : Ecran Entête

SLQ0 : Ecran Entête

 

SQH1 : Onglet Gestion

SLQ1 : Onglet Paramètres

 

SQH3 : Onglet Facturation

SLQ2 : Onglet Entête

 

SQH2 : Onglet Lignes

SLQ3 : Onglet Ligne 1

 

 

SLX1 : Onglet Ligne 2

 

 

 

Commandes

SOH0 : Ecran Entête

SLC0 : Ecran Entête

 

SOH1 : Onglet Gestion

SLC1 : Onglet Paramètres

 

SOH2 : Onglet Livraison

SLC5 : Onglet Affichage

 

SOH3 : Onglet Facturation

SLC2 : Onglet Entête

 

SOH4 : Onglet Lignes

SLC3 : Onglet Ligne 1

 

 

SLC4 : Onglet Ligne 2

 

 

SLX1 : Onglet Ligne 3

 

 

 

Cdes ouvertes

SOR1 : Ecran Contrat

SLO0 : Ecran Entête

 

SOI1  : Ecran Articles

SLO1 : Onglet Paramètres

 

 

SLO2 : Onglet Entête

 

 

SLO3 : Onglet Ligne 1

 

 

SLX1 : Onglet Ligne 2

 

 

 

Livraisons

SDH0 : Ecran Entête

SLD0 : Ecran Entête

 

SDH1 : Onglet Lignes

SLD1 : Paramètres

 

SDH2 : Onglet Gestion

SLD2 : Entête

 

SDH3: Onglet Complément

SLD3 : Ligne 1

 

 

SLX1 : Ligne 2

 

 

 

Retours

SRH1 : Ecran Entête Lignes

SLR0 : Ecran Entête

 

 

SLR1 : Onglet Paramètres

 

 

SLR2 : Onglet Entête/Ligne

 

 

 

Factures

SIH0 : Ecran Entête

SLI0 : Ecran Entête

 

SIH1 : Onglet Gestion

SLI1 : Onglet Paramètres

 

SIH2 : Onglet Facturation

SLI2 : Onglet Entête

 

SIH4 : Onglet Valorisation

SLI3 : Onglet Ligne 1

 

 

SLX1 : Onglet Ligne 2

 

 

 

Variables disponibles

On dispose des variables suivantes pour définir le traitement à effectuer:

[F:SLT]STRTYP           Type de transaction

[F:SLT]STRNUM          Code transaction

FOBJ                            Nom de l'OBJet ( "SQH", "SOH", "SOR", "SDH", "SIH", "SRH" )

WINREF                        Nom de la fenêtre de référence

                                      ="O"+Nom de l'OBJet ( "SQH", "SOH", "SOR", "SDH", "SIH", "SRH" )

NOMWIN                       Nom de la fenêtre générée pour cette transaction

                                       ="WO"+Nom de l'OBJet+Code transaction 

Type de transaction

Désignation

FOBJ

WINREF

NOMWIN

1

Devis

SQH

OSQH

"WOSQH" + [F:SLT]STRNUM

2

Commandes

SOH

OSOH

"WOSOH" + [F:SLT]STRNUM

3

Cdes ouvertes

SOR

OSOR

"WOSOR" + [F:SLT]STRNUM

4

Livraisons

SDH

OSDH

"WOSDH" + [F:SLT]STRNUM

5

Factures

SIH

OSIH

"WOSIH" + [F:SLT]STRNUM

6

Retours

SRH

OSRH

"WOSRH" + [F:SLT]STRNUM

Tables ouvertes

 Table

Traitement

Contenu significatif

Intitulé Table

SALTRS

SUBSLQ

SUBSLC

SUBSLO

SUBSLD

SUBSLR

SUBSLI

 

Transactions de saisie ventes

Les tables AWINDOW, AWINPAR, AREPORT, AMSK, AMSKZON, AMSKACT, ainsi que toutes les tables nécessaires à la gestion génération des écrans et traitements sont ouvertes.