Traitement SUBSLX : Gestion des transactions
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.