IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SharePoint .NET Discussion :

Tester un champ DATE sous DESIGNER


Sujet :

SharePoint .NET

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 45
    Points : 37
    Points
    37
    Par défaut Tester un champ DATE sous DESIGNER
    Bonjour,

    Je viens chercher conseils pour mon prbl.

    Voilà.
    J'ai une liste (enregistrement de courrier) avec trois dates. Arrivée du Courrier, Envoi d'un AR, Envoi de la Réponse. Ce sont donc des colonnes de type DATE.

    Je dois donc calculer un délai entre l'arrivée du courrier et une des dates de retour (soit AR soit Réponse).
    En gros, si la date AR est renseignée, je dois calculer selon la date AR en priorité, et si REPONSE est seulement renseignée, je dois calculer à partir de celle ci.

    Mon prbl est que sous Designer, les conditions ne me permettent pas de tester si un champ DATE est vide ou non, je ne peux slt faire une comparaison de date.

    Mes champs AR et REPONSE sont donc sans date pas défaut lors de la création de l'élément, donc champ vide, mais il y a une valeur par défaut cachée. En testant, quand je mets ma date ARRIVEE à 01/01/1900 et rien dans AR, ma différence de jour est de -2, donc j'imagine que ma date par défaut qd le champ est vide est autour 29/12/1889, slt cette date n'est pas gérée par SPS (il faut des dates comprises entre 01/01/1900 et */*/8900).

    J'ai testé de mettre une variable texte qui soit égale au contenu de mon champ date de l'élément en cours, mais j'ai une erreur. J'aurais testé cette variable e workflow, mais sans succés, ça refuse de compiler.

    J'avais donc imaginer une solution de repli où j'aurais mis un boolean Envoi AR-> Oui/Non et j'aurais testé ce boolean et en fonction j'aurais pris ensuite dans la bonne date pour faire mon calcul, mais ça alourdit ma saisie dans ma liste et me faire un workflow de plus pour un simple check de date.

    Donc si qq'un a déjà fait des gestions de date, je suis preneur de conseils.

    Par contre, je suis sûrement une quiche la dessus, mais je n'arrive pas à mettre en application les valeurs calculées (http://msdn.microsoft.com/fr-fr/library/bb862071.aspx). Je sais que , c'est ; en fr mais mais calcul ne fonctionne trjs pas :/

  2. #2
    Membre averti

    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 184
    Points : 447
    Points
    447
    Par défaut
    Bonjour

    Pour un champ date 'non renseigné', il faut créer une variable de type date et ne pas la renseigner... et s'appuyer sur cette dernière pour tester.

    Par contre, côté valeur calculée, tout fonctionne trés bien (avec en effet, le "," à remplacer par le ";") dans les colonnes calculées... (trés différent des calculs dans les Workflows)

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 45
    Points : 37
    Points
    37
    Par défaut
    Citation Envoyé par Davyd.B Voir le message
    Bonjour

    Pour un champ date 'non renseigné', il faut créer une variable de type date et ne pas la renseigner... et s'appuyer sur cette dernière pour tester.
    Si je comprends bien, sous Designer, je crée une varible de type DATE qui sera égale à mon champ date de l'élément en cours et ensuite j'affiche cette variable par l'action consigner dans l'historique par exemple ?

  4. #4
    Membre averti

    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 184
    Points : 447
    Points
    447
    Par défaut
    Je me souvenais avoir rencontré le problème, mais la solution à appliquer est un peu différente.

    Le principe est de convertir la date en chaine, puis tester si la chaine (champ date converti) est vide?

    1. Créer une variable de type chaine : Action "Créer un chaine dynamique"
    -> Stocker [champ date] dans "Variable de type Chaine" [StrChampDate]

    2. Test si la [StrChampDate] "est vide"

    Encore sorry;

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Février 2009
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Février 2009
    Messages : 121
    Points : 124
    Points
    124
    Par défaut
    Tu peux peut-etre rajouter dans ta bibliothèque des champs calculés qui te font les diff entre tes dates et utiliser ces champs calculés ensuite dans ton workflow.

    Ainsi tu laisses faire les calculs par SharePoint.

    Inconvénients, lors de l'affichage des propriétés de ton document dans SharePoint, ces champs calculés sont visibles.

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 519
    Points : 1 663
    Points
    1 663
    Par défaut
    Les colonnes peuvent être cachées avec un petit script powershell.

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Février 2009
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Février 2009
    Messages : 121
    Points : 124
    Points
    124
    Par défaut
    Les colonnes peuvent être cachées avec un petit script powershell.
    Ca, ca m'intéresse !
    Y'a un tuto quelque part sur le net ou peux-tu un peu détailler la méthode ?

    Merci

  8. #8
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 519
    Points : 1 663
    Points
    1 663
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint") > $null
    $SiteURL = 'url du site contenant ta liste'
    $site = new-object Microsoft.SharePoint.SPSite($SiteURL)
    $web = $site.openweb($SiteURL)
    => Charge la dll de sharepoint et récupère ton site web.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $list = $web.Lists['nom de ta liste contenant tes colonnes']
    => récupère ta liste

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $field = $list.Fields['nom de ta colonne']
    => récupère ta colonne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $field.ShowInNewForm = 0
    $field.ShowInDispForm = 0
    $field.ShowInEditForm = 0
    => cache ta colonne dans tous les formulaires tout en restant visible dans tes affichages et tes paramètres.

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Février 2009
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Février 2009
    Messages : 121
    Points : 124
    Points
    124
    Par défaut
    Ca c'est une réponse comme je les aime.

    Quand je cherchais à faire ca, je cherchais à le faire sous forme de script dans CEWP mais en fait, c'est à faire une fois sur le serveur et l'affaire est joué !

    Merci pour le retour

Discussions similaires

  1. [WD17] Tester un champ date
    Par alex1005 dans le forum WinDev
    Réponses: 6
    Dernier message: 11/01/2013, 11h59
  2. Champ Date sous SQL
    Par bastion dans le forum Bases de données
    Réponses: 2
    Dernier message: 22/05/2007, 14h30
  3. Réponses: 7
    Dernier message: 11/03/2007, 22h49
  4. [phpMyAdmin] Comment mettre par défaut la date courante à un champ (DATETIME) sous phpMyAdmin ?
    Par vandeyy dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 11
    Dernier message: 31/01/2007, 11h16
  5. Réponses: 6
    Dernier message: 21/12/2006, 10h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo