Récuperer champ $REF avec API C

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

Récuperer champ $REF avec API C

Messagepar kagura31 » 09 Déc 2009 à 09:34

Bonjour,

J'ai un document réponse avec $REF.
Je n'arrive pas à récupérer la valeur du champ pour ouvrir le document pair.
Je travaille sur une DLL en C avec les API C.

J'ai essayé :
Code : Tout sélectionner
if (NSFItemGetText(note_handle,"$REF",szRefFlag,MAXUSERNAME))
      {
               }

Il ne rentre pas dans le if.

Ensuite j'ai essayé de récupérer le BLOKID:
Code : Tout sélectionner
error = NSFItemInfo(note_handle,"$REF",0, &bhNoteItem, NULL,
                                &bhNoteValue, NULL);


Il m'affiche qu'il ne trouve pas le champ.

J'ai donc fais une boucle pour afficher tout les champs, la miracle il le trouve.
Code : Tout sélectionner
error = NSFItemInfo(note_handle, NULL, 0, &bhNoteItem, NULL,
                        &bhNoteValue, NULL);
               OSLoadString (NULLHANDLE, ERR (error),szErrorString,MAXENVVALUE);
               sprintf(buffer, "NSFItemInfo note_handle error =  %s",szErrorString);
               write_log(buffer);

   while (!error)
   {
      
      /* Grab the item name */
         NSFItemQuery(note_handle, bhNoteItem, NewName, sizeof(NewName),
                        &NewNameLen, NULL, NULL, NULL, NULL);
      NewName [NewNameLen] = '\0';

      sprintf(buffer, "       NewName  = %s",NewName);
      write_log(buffer);


           if (strcmp(NewName,"$REF") == 0)
      {
                write_log("CExtmgrspyApp::ConflictManagement => NewName = '$REF'" );
                     OSUnlockBlock(bhNoteValue);

      }
error  = NSFItemInfoNext(note_handle, bhNoteItem, NULL, 0,
                               &bhNoteItem, NULL, &bhNoteValue, NULL);
                  OSLoadString (NULLHANDLE, ERR (error),szErrorString,MAXENVVALUE);
                  sprintf(buffer, "NSFItemInfoNext error =  %s\n",szErrorString);
                  write_log(buffer);
   }


Cependant je n'arrive pas à récupérer la valeur du BLOKID.
Dernière édition par kagura31 le 10 Déc 2009 à 10:49, édité 1 fois.
kagura31
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 115
Inscrit(e) le : 12 Avr 2006 à 15:08
Localisation : Lyon

Messagepar d.bugger » 09 Déc 2009 à 10:25

Recherche autour la méthode LS : GetParentDocID
Avatar de l’utilisateur
d.bugger
Modérateur
Modérateur
 
Message(s) : 849
Inscrit(e) le : 15 Juin 2006 à 09:19
Localisation : Drôme, France

Messagepar kagura31 » 10 Déc 2009 à 09:50

Merci pour la réponse.

Mais ça répond pas à ma question.
Je recherche la même chose mais en utilisant les API C et je développe en C.
kagura31
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 115
Inscrit(e) le : 12 Avr 2006 à 15:08
Localisation : Lyon

Messagepar d.bugger » 10 Déc 2009 à 10:22

J'ai trouvé ça, j'espère que ça te met sur la bonne piste:
http://www-12.lotus.com/ldd/doc/tools/c ... FIELD_LINK

Apparemment, il faut utiliser le nom FIELD_LINK

Désolé, c''est tout que j'ai trouvé...
Avatar de l’utilisateur
d.bugger
Modérateur
Modérateur
 
Message(s) : 849
Inscrit(e) le : 15 Juin 2006 à 09:19
Localisation : Drôme, France

Messagepar d.bugger » 10 Déc 2009 à 10:38

Et ça :
http://www-12.lotus.com/ldd/doc/tools/c ... enDocument

Fais des recherches dans Google avec "FIELD_LINK lotus", c'est intéressant !
Avatar de l’utilisateur
d.bugger
Modérateur
Modérateur
 
Message(s) : 849
Inscrit(e) le : 15 Juin 2006 à 09:19
Localisation : Drôme, France

Messagepar kagura31 » 10 Déc 2009 à 10:48

Merci.

J'avais trouvé ses documents sur le net.
Ils montrent comment créer un document de réponse et donc comment créer le champ $REF.
Cependant ils ne disent pas comment récupérer la valeur du champ pour avoir le document père.

Mais ça y est j'ai trouvé comment faire :

Code : Tout sélectionner
BLOCKID bhNoteValue;
char *Value;
UNID id;
NOTEHANDLE  note_handle_Father = NULLHANDLE;

Value = OSLockBlock(char, bhNoteValue);
memcpy((char*)&id, Value + 4, sizeof(UNID));
error=NSFNoteOpenByUNID(m_db,&id,0,&note_handle_Father);   
kagura31
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 115
Inscrit(e) le : 12 Avr 2006 à 15:08
Localisation : Lyon

Messagepar d.bugger » 10 Déc 2009 à 11:35

Bon ! Je n'aurais pas pu dire...
Avatar de l’utilisateur
d.bugger
Modérateur
Modérateur
 
Message(s) : 849
Inscrit(e) le : 15 Juin 2006 à 09:19
Localisation : Drôme, France


Retour vers Développement

cron