Swapfields et Update Fields pour les champs personnalisés

If you made a script you can offer it to the others here, or ask help to improve it. You can also report here bugs & problems with existing scripts.
Post Reply
thorby
Posts: 10
Joined: 2012-02-10 21:38:15
Contact:

Swapfields et Update Fields pour les champs personnalisés

Post by thorby »

Bonjour,

Dans le script Swapfield par exemple on a pour le champ réalisateur AddFieldToList(fieldDirector, 'Réalisateur/Director'); mais comment ajouter un champ personnalisé dans la liste ? Je ne trouve pas son appellation... J'ai par exemple un champ personnalisé "Lien 1" mais comment l'appelle-t-on dans le script, c'est "field??????"
Merci beaucoup si quelqu'un pouvait me répondre.
Cordialement Thorby
Raoul_Volfoni
Posts: 863
Joined: 2006-08-31 23:58:18

Re: Swapfields et Update Fields pour les champs personnalisé

Post by Raoul_Volfoni »

thorby wrote:Bonjour,

Dans le script Swapfield par exemple on a pour le champ réalisateur AddFieldToList(fieldDirector, 'Réalisateur/Director'); mais comment ajouter un champ personnalisé dans la liste ? Je ne trouve pas son appellation... J'ai par exemple un champ personnalisé "Lien 1" mais comment l'appelle-t-on dans le script, c'est "field??????"
Merci beaucoup si quelqu'un pouvait me répondre.
Cordialement Thorby
Salut,

Huuum ... :??:
Il faudrait une confirmation de soulsnake, mais je doute que les champs personnalisés se retrouvent comme des constantes dans le programme.
Autrement dit, si tu crées un champ personnalisé avec pour tag "Truc", tu ne le retrouveras pas sous forme de constante fieldTruc ou CustomFieldTruc.

Et puis de toutes façons, cela ne suffirait pas car il faudrait modifier le(s) script(s) bien plus en profondeur pour inclure les fonctions et procedures de lecture et écriture des champs personnalisés qui diffèrent des champs "normaux".

Plus d'infos concernant la création de scripts dans le fichier d'aide de AMC (4.1.0.2).
Touche F1 -> Informations techniques -> Création de scripts
soulsnake
Posts: 756
Joined: 2011-03-14 15:42:20
Location: France

Post by soulsnake »

Dans le script Swapfield par exemple on a pour le champ réalisateur AddFieldToList(fieldDirector, 'Réalisateur/Director'); mais comment ajouter un champ personnalisé dans la liste ? Je ne trouve pas son appellation... J'ai par exemple un champ personnalisé "Lien 1" mais comment l'appelle-t-on dans le script, c'est "field??????"
Merci beaucoup si quelqu'un pouvait me répondre.
Cordialement Thorby
Les champs personnalisés s'utilisent effectivement différemment du fait qu'ils sont dynamiques et différents pour chaque utilisateur.
Pour voir comment les utiliser avec les scripts, je te conseil de lire l'aide indiqué par Raoul_Volfoni.

Après avoir lu l'aide, tu peux regarder le script Update Fields (FR-US).ifs sur http://mickaelvanneufville.online.fr/AMCU/scripts/ qui a été mis à jour pour prendre en compte les champs personnalisés.
Ce script utilise des fonctions présentes dans SoulSnakeUtils.pas qui se trouvent aussi sur http://mickaelvanneufville.online.fr/AMCU/scripts/.
Voici les fonctions en question qui peuvent être utile pour la modification d'anciens scripts :

Code: Select all

function SelectFieldOrCustomField(): Integer;
function GetFieldOrCustomField(idx: Integer): string; // idx = numéro du champ / par exemple la valeur retournée par SelectFieldOrCustomField()
function CanSetFieldOrCustomField(idx: Integer): Boolean;
procedure SetFieldOrCustomField(idx: Integer; fieldValue: string);
J'espère que ceci aidera.

Soulsnake.
Raoul_Volfoni
Posts: 863
Joined: 2006-08-31 23:58:18

Post by Raoul_Volfoni »

soulsnake wrote:Après avoir lu l'aide, tu peux regarder le script Update Fields (FR-US).ifs sur http://mickaelvanneufville.online.fr/AMCU/scripts/ qui a été mis à jour pour prendre en compte les champs personnalisés.
Ce script utilise des fonctions présentes dans SoulSnakeUtils.pas qui se trouvent aussi sur http://mickaelvanneufville.online.fr/AMCU/scripts/.
:??: ... je ne savais pas que tu avais modifié le script Update Fields. j'ai du loupé tes posts concernant le sujet, parce qu'on est passé de la version 33 de dedej à ta version 36 sans avoir rien remarqué. :p
Tant mieux pour thorby ... :) ... et je pourrais maintenant rediriger les futurs intéressés vers tes liens.
soulsnake
Posts: 756
Joined: 2011-03-14 15:42:20
Location: France

Post by soulsnake »

Raoul_Volfoni wrote: :??: ... je ne savais pas que tu avais modifié le script Update Fields. j'ai du loupé tes posts concernant le sujet, parce qu'on est passé de la version 33 de dedej à ta version 36 sans avoir rien remarqué. :p
Tant mieux pour thorby ... :) ... et je pourrais maintenant rediriger les futurs intéressés vers tes liens.
C'est vrai que je n'en ai pas beaucoup parlé.
Ce script n'est pas présent dans la version 4.1.0 pour des raisons de compatibilité avec l'ancienne version 3.5.1.
Enfin une fois que la version 4.1.0 sera plus utilisée, je pense qu'on pourra mettre cette version sur le serveur officiel.

Soulsnake.
thorby
Posts: 10
Joined: 2012-02-10 21:38:15
Contact:

Post by thorby »

Bonjour,
merci Raoul_Volfoni pour ta réponse rapide et un merci énorme à Soulsnake pour la solution !!! :)
Je savais déjà que AMC était génial, mais alors là, c'est trop fort.
Toute modification devient si simple avec ce script. Les possibilités sont vraiment infinies. Etant donné que j'ai 1700 entrées, vous comprenez que vous m'avez vraiment aidé. Encore merci. Cordialement, Thorby.
thorby
Posts: 10
Joined: 2012-02-10 21:38:15
Contact:

Post by thorby »

Rebonjour,
je me suis réjoui trop vite... car le script a fonctionné avec un film. Mais quand plusieurs films sont sélectionnés, il ne modifie que le premier. Je vais quand même chercher une solution. Merci quand même pour vos réponses si rapides et le super boulot... et si vous trouvez ce qui cloche, n'hésitez pas... Cordialement, Thorby.
Raoul_Volfoni
Posts: 863
Joined: 2006-08-31 23:58:18

Post by Raoul_Volfoni »

thorby wrote:Rebonjour,
je me suis réjoui trop vite... car le script a fonctionné avec un film. Mais quand plusieurs films sont sélectionnés, il ne modifie que le premier. Je vais quand même chercher une solution. Merci quand même pour vos réponses si rapides et le super boulot... et si vous trouvez ce qui cloche, n'hésitez pas... Cordialement, Thorby.
J'ai effectivement essayé de faire genre un copier champ 1 vers champ 2 sur 4 fiches et ça ne le fait effectivement que sur la première fiche avec en prime un renumérotage des autres fiches en 0, plus un check des fiches même si on n'en veut pas, mais ça apparemment c'était déjà comme ça dans l'ancienne version.

Je ne sais pas si ça marche pour tout mais apparemment la variable "selectedField" n'a pas été déclaré au bon endroit. Au lieu de la déclarer dans la procédure "menuChamps" il faut la déclarer en début de programme.
Dans la V36 du script il faut remplacer la ligne 13 (dans l'éditeur AMC) par :

Code: Select all

  EndPos, i, Maj, PMaj, selectedField : Integer; 
Et il faut désactiver les lignes 457 et 458 (dans l'éditeur AMC)

Code: Select all

//var
  //selectedField: Integer;
ou carrément les supprimer

Reste l'histoire du check, mais je laisse un peu de boulot aux autres ;) ... moi je vais faire ... :zzz:
thorby
Posts: 10
Joined: 2012-02-10 21:38:15
Contact:

Post by thorby »

Bonjour,
ReYoupiii! Ca marche... Merci pour tout. :)
Pour le renumérotage des fiches en 0, j'avais simplement décoché la cache dans les champs modifiables, donc ça ne gênait pas trop. Idem pour l'histoire du check.
Sinon, les numéros de ligne 13, 457 et 458 sont ceux en effaçant l'en tête.
Mais tout fonctionne impeccablement ! Je vais pouvoir dormir tranquille sans réfléchir...
Cordialement, Thorby
soulsnake
Posts: 756
Joined: 2011-03-14 15:42:20
Location: France

Post by soulsnake »

Effectivement il y avait 2 petits bugs que je n'avais pas vu.
J'ai corrigé ça dans la version 37 qui est en ligne.
Normalement ça devrait bien fonctionner maintenant.
Merci Raoul_Volfoni.

Soulsnake.
Raoul_Volfoni
Posts: 863
Joined: 2006-08-31 23:58:18

Post by Raoul_Volfoni »

thorby wrote:Sinon, les numéros de ligne 13, 457 et 458 sont ceux en effaçant l'en tête.
Si tu utilises un editeur externe oui, sinon, si tu utilises l'éditeur interne ce sont les bonnes lignes ... c'est pourquoi je précise à chaque fois (dans l'éditeur AMC) dans les modifications à effectuer ;).

Bon, cette fois zou au dodo ...
Post Reply