fix: изменил заявку на подбор и заявку на прием согласно требованиям от 24.08.2026
Tests / frontend-test (push) Successful in 1m12s
Tests / frontend-test (push) Successful in 1m12s
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Пересоздаёт колонку с нужным типом, когда фактический тип на сайте разошёлся с
|
||||
манифестом (провижинер сам тип существующей колонки не меняет). Колонка сначала
|
||||
снимается со списка и удаляется как столбец сайта, затем создаётся заново нужного
|
||||
типа и подключается к списку.
|
||||
|
||||
ВНИМАНИЕ: значения этой колонки в существующих элементах при удалении теряются.
|
||||
|
||||
.EXAMPLE
|
||||
# Починить BusinessTrips: сделать Boolean вместо Note
|
||||
./Fix-ColumnType.ps1 -SiteUrl "https://tnsukz.sharepoint.com/sites/requests" `
|
||||
-ClientId "7459c965-5ed4-4673-8140-0ab8faf9db64" -Tenant "tnsukz.onmicrosoft.com" `
|
||||
-Thumbprint "224B64C8E0CAB1E09AF373E92B3AF4AC33C1233C" `
|
||||
-ListTitle "Заявка на подбор 1 — данные" `
|
||||
-InternalName "BusinessTrips" -DisplayName "Командировки" -NewType Boolean
|
||||
#>
|
||||
param(
|
||||
[Parameter(Mandatory = $true)][string]$SiteUrl,
|
||||
[Parameter(Mandatory = $true)][string]$ClientId,
|
||||
[Parameter(Mandatory = $true)][string]$Tenant,
|
||||
[Parameter(Mandatory = $true)][string]$Thumbprint,
|
||||
[Parameter(Mandatory = $true)][string]$ListTitle,
|
||||
[Parameter(Mandatory = $true)][string]$InternalName,
|
||||
[Parameter(Mandatory = $true)][string]$DisplayName,
|
||||
[Parameter(Mandatory = $true)][ValidateSet('Boolean', 'Number', 'Text', 'Note', 'DateTime')][string]$NewType
|
||||
)
|
||||
|
||||
$ErrorActionPreference = 'Stop'
|
||||
Connect-PnPOnline -Url $SiteUrl -ClientId $ClientId -Tenant $Tenant -Thumbprint $Thumbprint
|
||||
|
||||
$group = 'Портал заявок'
|
||||
|
||||
# 1) Снять колонку со списка (если подключена).
|
||||
try {
|
||||
Remove-PnPField -List $ListTitle -Identity $InternalName -Force -ErrorAction Stop
|
||||
Write-Host " [~] снята со списка: $InternalName" -ForegroundColor Yellow
|
||||
} catch { Write-Host " [ ] на списке не было отдельной ссылки: $InternalName" -ForegroundColor DarkGray }
|
||||
|
||||
# 2) Удалить столбец сайта (каскадно снимает и оставшиеся ссылки).
|
||||
try {
|
||||
Remove-PnPField -Identity $InternalName -Force -ErrorAction Stop
|
||||
Write-Host " [~] удалён столбец сайта: $InternalName" -ForegroundColor Yellow
|
||||
} catch { Write-Host " [ ] столбца сайта не было: $InternalName" -ForegroundColor DarkGray }
|
||||
|
||||
# 3) Создать заново нужного типа как столбец сайта.
|
||||
Add-PnPField -InternalName $InternalName -DisplayName $DisplayName -Type $NewType -Group $group | Out-Null
|
||||
Write-Host " [+] создан заново: $InternalName [$NewType]" -ForegroundColor Green
|
||||
|
||||
# 4) Подключить к списку.
|
||||
Add-PnPField -List $ListTitle -Field $InternalName | Out-Null
|
||||
Write-Host " [+] подключён к списку «$ListTitle»" -ForegroundColor Green
|
||||
|
||||
Write-Host "`nГотово." -ForegroundColor Cyan
|
||||
Disconnect-PnPOnline
|
||||
@@ -0,0 +1,31 @@
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Диагностика: печатает фактический тип колонок списка данных в SharePoint —
|
||||
чтобы поймать расхождение с манифестом (напр. Number-поле реально Text).
|
||||
Только чтение, ничего не меняет.
|
||||
|
||||
.EXAMPLE
|
||||
./Inspect-Fields.ps1 -SiteUrl "https://tnsukz.sharepoint.com/sites/requests" `
|
||||
-ClientId "7459c965-5ed4-4673-8140-0ab8faf9db64" -Tenant "tnsukz.onmicrosoft.com" `
|
||||
-Thumbprint "224B64C8E0CAB1E09AF373E92B3AF4AC33C1233C" `
|
||||
-ListTitle "Заявка на подбор 1 — данные"
|
||||
#>
|
||||
param(
|
||||
[Parameter(Mandatory = $true)][string]$SiteUrl,
|
||||
[Parameter(Mandatory = $true)][string]$ClientId,
|
||||
[Parameter(Mandatory = $true)][string]$Tenant,
|
||||
[Parameter(Mandatory = $true)][string]$Thumbprint,
|
||||
[Parameter(Mandatory = $true)][string]$ListTitle
|
||||
)
|
||||
|
||||
$ErrorActionPreference = 'Stop'
|
||||
Connect-PnPOnline -Url $SiteUrl -ClientId $ClientId -Tenant $Tenant -Thumbprint $Thumbprint
|
||||
|
||||
Write-Host "`nКолонки списка «$ListTitle»:`n" -ForegroundColor Cyan
|
||||
Get-PnPField -List $ListTitle |
|
||||
Where-Object { -not $_.Hidden -and $_.Group -ne '_Hidden' } |
|
||||
Select-Object InternalName, TypeAsString, @{N='Mult';E={$_.TypeAsString -like '*Multi*'}} |
|
||||
Sort-Object InternalName |
|
||||
Format-Table -AutoSize
|
||||
|
||||
Disconnect-PnPOnline
|
||||
Reference in New Issue
Block a user