Remplacer la conception en appliquant un modèle

Forum destiné aux questions sur le développement : Formules, LotusScript, Java ...

Remplacer la conception en appliquant un modèle

Messagepar clementbp » 16 Nov 2010 à 08:16

Bonjour,

je voudrais envoyer un mail a chaque utilisateur avec un lien qui appliquerait le modèle souhaité sur leur base de courrier.

Pourriez vous me dire si cela est réalisable ou non, et si c'est le cas comment faire.

Merci
clementbp
Posteur habitué
Posteur habitué
 
Message(s) : 236
Inscrit(e) le : 03 Fév 2010 à 16:42

Re: Remplacer la conception en appliquant un modèle

Messagepar pivo » 16 Nov 2010 à 09:16

Hello, oui je pense que c'est possible, à condition que tes utilisateurs aient les droits "Designer" au minimum sur leurs mailboxes.

Creuse un peu du côté de "apiDesignReplace" en lotusscript, je regarde si je retrouve mon vieux code. Sinon Abertisch doit l'avoir :P
pivo
Posteur néophyte
Posteur néophyte
 
Message(s) : 69
Inscrit(e) le : 29 Oct 2010 à 09:15
Localisation : Entre Genève et Martigny, mais surtout Lausanne

Re: Remplacer la conception en appliquant un modèle

Messagepar pivo » 16 Nov 2010 à 09:21

Plop regarde-moi ça ce que c'est d'être ordré :D Reste plus qu'à retravailler un peu les variables et à mettre ça dans un bouton (hotspot) que tu envoies à tout le monde !

Code : Tout sélectionner
Function ReplaceDesign(Byval templateServer As String, Byval templateDB As String, Byval targetServer As String, Byval targetDB As String, Byval Createifneed As Variant) As Variant
   ReplaceDesign = False
   
   If templateServer = "" Then
      status = apiNSFDbOpen(templateDB, htemplate)
   Else
      status = apiNSFDbOpen(templateServer & "!!" & templateDB, htemplate)
   End If
   
   If status<>0 Then
      Print "Can't open template."
      Exit Function
   End If
   
   If targetServer = "" Then
      status = apiNSFDbOpen(targetDB, htarget)
   Else
      status = apiNSFDbOpen(targetServer & "!!" & targetDB, htarget)
   End If
   
   If staus<>0 And Createifneed Then
      Print "Can't open database. Creating new."
      If targetServer = "" Then
         Call apiNSFDbCreate(targetDB, DBCLASS_BY_EXTENSION, True)
         status = apiNSFDbOpen(targetDB, htarget)
      Else
         Call apiNSFDbCreate(targetServer & "!!" & targetDB, DBCLASS_BY_EXTENSION, True)
         status = apiNSFDbOpen(targetServer & "!!" & targetDB, htarget)
      End If
   End If
   
   If status<>0 Then
      Print "Can't open database."
      Call apiNSFDbClose(htemplate)
      Exit Function
   End If
   
   Call apiDesignReplace(htemplate, htarget, 1, 1, 0, 0)
   ReplaceDesign = True
   
   Call apiNSFDbClose(htemplate)
   Call apiNSFDbClose(htarget)
End Function
pivo
Posteur néophyte
Posteur néophyte
 
Message(s) : 69
Inscrit(e) le : 29 Oct 2010 à 09:15
Localisation : Entre Genève et Martigny, mais surtout Lausanne

Messagepar elgoe » 16 Nov 2010 à 10:38

Pourquoi tu fait pas un load convert avec un fichier teste en entree tout simplement
elgoe
Maître-posteur
Maître-posteur
 
Message(s) : 400
Inscrit(e) le : 16 Août 2006 à 09:34
Localisation : NIORT

Messagepar Michael DELIQUE » 16 Nov 2010 à 10:52

@Pivo, ton code est bien mais il manque les déclaration des api

des tips sur le sujet
=> http://forum.dominoarea.org/refreshdesign-t12286.html
=> http://forum.dominoarea.org/replacedesign-t12285.html
Dernière édition par Michael DELIQUE le 16 Nov 2010 à 11:01, édité 1 fois.
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar pivo » 16 Nov 2010 à 11:00

Michael DELIQUE a écrit:@Pivot, ton code est bien mais il manque les déclaration des api

des tips sur le sujet
=> http://forum.dominoarea.org/refreshdesign-t12286.html
=> http://forum.dominoarea.org/replacedesign-t12285.html


Sans "t" stp mon pseudo :shock:

Pivo = :beer:

Sinon désolé y a pas le Option Declare dans ce script, mais c'est une API Notes, donc normalement pas de souci.
pivo
Posteur néophyte
Posteur néophyte
 
Message(s) : 69
Inscrit(e) le : 29 Oct 2010 à 09:15
Localisation : Entre Genève et Martigny, mais surtout Lausanne

Messagepar Michael DELIQUE » 16 Nov 2010 à 11:02

désolé, mais les api notes doivent être déclaré

c'est que tu dois avoir une bibliotheque de script qui les déclare
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar pivo » 16 Nov 2010 à 11:09

Michael DELIQUE a écrit:désolé, mais les api notes doivent être déclaré

c'est que tu dois avoir une bibliotheque de script qui les déclare


:shame on me: je suis certifié que "basic" :lol:

Code : Tout sélectionner
Const DBCLASS_BY_EXTENSION = 0
Declare Function apiNSFDbOpen Lib "nnotes.dll" Alias "NSFDbOpen" (Byval filename As String, hDB As Long) As Integer
Declare Function apiNSFDbClose Lib "nnotes.dll" Alias "NSFDbClose" (Byval hDB As Long) As Integer
Declare Function apiDesignReplace Lib "nnotes.dll" Alias "DesignReplace"_
(Byval ht As Long, Byval hDB As Long, Byval dw1 As Long, Byval dw2 As Long, Byval dw3 As Long, Byval dw4 As Long) As Integer
Declare Function apiNSFDbCreate Lib "nnotes.dll" Alias "NSFDbCreate" (Byval PathName As String, Byval DbClass As Integer, Byval ForceCreation As Integer) As Integer
Dim source As String
Dim target As String
Dim htemplate As Long
Dim htarget As Long
Dim status As Integer
pivo
Posteur néophyte
Posteur néophyte
 
Message(s) : 69
Inscrit(e) le : 29 Oct 2010 à 09:15
Localisation : Entre Genève et Martigny, mais surtout Lausanne

Messagepar clementbp » 17 Nov 2010 à 11:49

Ouahhh
La j'avoue que je ne comprend rien du tout a tout ce code

Je vais essayé de le déchiffré mais je ne sais meme pas par ou commencer.

Si vous avez quelque chose de plus simple pour que je m'y mette progressivement ce serait sympa

Merci
clementbp
Posteur habitué
Posteur habitué
 
Message(s) : 236
Inscrit(e) le : 03 Fév 2010 à 16:42

Messagepar Michael DELIQUE » 17 Nov 2010 à 11:54

salut

ce sont des api notes, ça change un peu du Lotus script "Standard"
malheureusement si tu veux faire du replace design en code faut passer par là

dis moi ce que tu ne comprend pas ? (je te dirais comment t'en passer)
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar clementbp » 17 Nov 2010 à 12:02

Ben déja pour commencer je créé mon bouton et je veux lui rentrer le code.
Mais comment faire : je dis que c est du Lotus Script ou alors c est autre chose ?
Ou est ce que je défini les variables ?
A quel endroit je lui dit de prendre le modèle "Modele" à appliquer à la base "Base" ?

Et oui comme tu vois je pars vraiment de ZERO
clementbp
Posteur habitué
Posteur habitué
 
Message(s) : 236
Inscrit(e) le : 03 Fév 2010 à 16:42

Messagepar Michael DELIQUE » 17 Nov 2010 à 12:04

Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar roubech » 17 Nov 2010 à 21:03

elgoe a écrit:Pourquoi tu fait pas un load convert avec un fichier teste en entree tout simplement

+1
tu as vraiement besoin que ce soit l'utilisateur qui mette à jour son design ? tu ne peux pas le faire depuis la console d'admin avec un load convert ?
Avatar de l’utilisateur
roubech
Modérateur
Modérateur
 
Message(s) : 4976
Inscrit(e) le : 01 Fév 2007 à 20:22
Localisation : Lille

Messagepar clementbp » 18 Nov 2010 à 08:34

Je vais essayer de faire depuis la console je pense que se sera plus simple.

Et en plus je n'aurai pas de problèmes de droits de cette manière.

Merci pour vos réponses
clementbp
Posteur habitué
Posteur habitué
 
Message(s) : 236
Inscrit(e) le : 03 Fév 2010 à 16:42


Retour vers Développement