- forum
- PowerShell
- Entraide pour les débutants
- Recherche une partie de chiffres dans l'attribut DepartmentNumber
Question
Recherche une partie de chiffres dans l'attribut DepartmentNumber
- Julien
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 19
- Remerciements reçus 0
il y a 1 an 2 mois #32958
par Julien
Réponse de Julien sur le sujet Recherche une partie de chiffres dans l'attribut DepartmentNumber
Effectivement, je manque encore de précisions dans ma réponse.
Le departmentNumber peut partiellement correspondre au budget en entrée mais uniquement avec un 0 manquant à gauche quand il n'a que 4 chiffres.
Exemples : 1020 au lieu de 01020
8530 au lieu de 08530
On ne trouvera jamais d'autres situations ici qu'un 0 manquant à gauche dans le departmentNumber du collaborateur.
Soit son code est complet type 07845 et là pas de souci ou alors il sera de la forme 7845 et là, mon code ne le considère donc pas comme équivalent et il ne ressortira jamais dans la liste des collaborateurs ayant comme code budget 07845 (par exemple). Seuls seront trouvés malheureusement ceux pour lesquels le departmentNumber est strictement égal au budget passé en entrée.
Le departmentNumber peut partiellement correspondre au budget en entrée mais uniquement avec un 0 manquant à gauche quand il n'a que 4 chiffres.
Exemples : 1020 au lieu de 01020
8530 au lieu de 08530
On ne trouvera jamais d'autres situations ici qu'un 0 manquant à gauche dans le departmentNumber du collaborateur.
Soit son code est complet type 07845 et là pas de souci ou alors il sera de la forme 7845 et là, mon code ne le considère donc pas comme équivalent et il ne ressortira jamais dans la liste des collaborateurs ayant comme code budget 07845 (par exemple). Seuls seront trouvés malheureusement ceux pour lesquels le departmentNumber est strictement égal au budget passé en entrée.
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
Réduire
Plus d'informations
- Messages : 6300
- Remerciements reçus 68
il y a 1 an 2 mois #32959
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Recherche une partie de chiffres dans l'attribut DepartmentNumber
Peut être procéder ainsi :
Le code est verbeux mais à mon avis facilite la compréhension des specs aussi simple soient-elles.
Ensuite la volumétrie peut peut-être inciter à l'optimiser...
$Users=@(
[PsCustomObject]@{Name='Un';departmentNumber="";department="06570"}
[PsCustomObject]@{Name='Deux';departmentNumber="";department="6570"}
[PsCustomObject]@{Name='Trois';departmentNumber="06570";department=""}
[PsCustomObject]@{Name='Quatre';departmentNumber="6570";department=""}
[PsCustomObject]@{Name='Cinq';departmentNumber="06370";department="0657"}
[PsCustomObject]@{Name='Six';departmentNumber="";department=""}
)
$Budget='06570'
Function Edit-DepartmentNumber{
#Complète un code de service d'un employé.
# Todo doc
param([string]$DepartmentNumber)
[string] $departmentNumber=$_.departmentNumber
Switch ($departmentNumber.Length)
{
#0 manquant à gauche quand il n'a que 4 chiffres.
4 { return "0$departmentNumber" }
#Format correct sur 5 chiffres
5 { Return $departmentNumber }
#TODO comportement à valider, dans ce cas soit une info soit une erreur
default { Write-Debug "La forme du code budget '$departmentNumber' n'est pas géré."}
}
}
#$DebugPreference='continue'
$Users|% {
$departmentNumber=Edit-DepartmentNumber -DepartmentNumber $_.departmentNumber
$department=Edit-DepartmentNumber -DepartmentNumber $_.department
Write-Debug "Test departmentNumber : '$departmentNumber'"
Write-Debug "Test department : '$department'"
if ($departmentNumber -match $Budget -or $department -match $Budget)
{ Write-Warning "Code match: $_" }
else
{ Write-Warning "Code NOT match $_" }
}
Le code est verbeux mais à mon avis facilite la compréhension des specs aussi simple soient-elles.
Ensuite la volumétrie peut peut-être inciter à l'optimiser...
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
Réduire
Plus d'informations
- Messages : 6300
- Remerciements reçus 68
il y a 1 an 2 mois #32964
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Recherche une partie de chiffres dans l'attribut DepartmentNumber
Une correction de la fonction Edit-DepartmentNumber, lorsque son paramètre $DepartmentNumber est une chaine vide on doit retourner une chaîne vide.
Et dans le cas où son contenu contient des caractères qui ne sont pas des chiffres, on ne le sait pas. Mais ce n'est pas dans l'énoncé du problème d'origine...
Et dans le cas où son contenu contient des caractères qui ne sont pas des chiffres, on ne le sait pas. Mais ce n'est pas dans l'énoncé du problème d'origine...
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Julien
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 19
- Remerciements reçus 0
il y a 1 an 2 mois #32973
par Julien
Réponse de Julien sur le sujet Recherche une partie de chiffres dans l'attribut DepartmentNumber
Bonjour Laurent,
Je te remercie pour ta dernière proposition, j'ai pu la tester avec succès sur mon script avec un budget test.
Je vais maintenant tenter d'optimiser compte tenu du volume de budgets possibles.
Merci beaucoup
Je te remercie pour ta dernière proposition, j'ai pu la tester avec succès sur mon script avec un budget test.
Je vais maintenant tenter d'optimiser compte tenu du volume de budgets possibles.
Merci beaucoup
Connexion ou Créer un compte pour participer à la conversation.
- forum
- PowerShell
- Entraide pour les débutants
- Recherche une partie de chiffres dans l'attribut DepartmentNumber
Temps de génération de la page : 0.073 secondes
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Entraide pour les débutants
- Recherche une partie de chiffres dans l'attribut DepartmentNumber