Hello,
Le script ci-dessous test la présence d'une affaire par son code. Si elle existe, il met à jour, sinon il ajoute. Ce script fonctionne pour les articles, mais il ne fonctionne pas pour les affaires..
D'où ma question : comment ajouter/modifier une affaire par programmation ?
J'ai également essayé par COM: impossible, la table/workspace Affaire est en lecture seul.
Y a-t-il un autre moyen? Via une tâche peut-être ?
Phildem tu peux me dire? J'ai un besoin client.
ScriptTypeDirect
LabelErr()
Const kWgcTableIdArticle "00000200E87A0100" // Table : Articles DevName: Article
Const kWgcFidArticleCode 1 // Rubrique : Code DevName: Code
Const kWgcFidArticleDescShort 3 // Rubrique : Désignation courte DevName: DescShort
Const kWgcTableIdAffr "00004500E87A0100" // Table : Affaires DevName: Affr
Const kWgcFidAffrCode 1 // Rubrique : Code DevName: Code
Const kWgcFidAffrLibelle 2 // Rubrique : Libellé DevName: Libelle
DimEnt ss
// Test présence de l'enregistrement avant ajout ou maj.
QueryCreate(kQueryTypeSelect,"-StrDs")
QueryAddTable(kWgcTableIdAffr)
QueryAddCol(kWgcFidAffrCode)
QueryCmd("-AddRec","AF3")
QueryExec()
ss = QueryResult(0)
Message(ss)
Si ss = 0
QueryCreate(kQueryTypeInsert)
QueryAddTable(kWgcTableIdAffr)
QuerySetVal("Cmd:Def")
QuerySetVal(kWgcFidAffrCode,"AF3")
QuerySetVal(kWgcFidAffrLibelle,"BB")
QuerySetVal("Cmd:EOR")
QueryExec()
Message("ajout ok")
SinonSi ss = 1
QueryCreate(kQueryTypeUpdate)
QueryAddTable(kWgcTableIdAffr)
QuerySetVal("Cmd:Def")
QuerySetVal(kWgcFidAffrCode,"AF3")
QuerySetVal(kWgcFidAffrLibelle,"DD")
QuerySetVal("Cmd:EOR")
QueryExec()
Message("maj ok")
FinSi