fix: нейтральный текст при пустом маршруте в заявке 1С
Tests / frontend-test (push) Successful in 1m19s
Tests / frontend-test (push) Successful in 1m19s
This commit is contained in:
@@ -129,13 +129,14 @@ $SITE_COLUMN_GROUP = 'Портал заявок'
|
||||
|
||||
# Типы, которые НЕ делаем эталоном (столбцом сайта), а создаём столбцом списка:
|
||||
# - Lookup (эталон привязан к одному списку, а Ticket у каждого свой);
|
||||
# - Number с decimals и UserMulti (создаются через XML; web-level XML в PnP падает
|
||||
# NRE, и это одноразовые поля конкретной формы — переиспользовать нечего).
|
||||
# - Number с decimals, UserMulti и MultiChoice (создаются через XML; web-level XML
|
||||
# в PnP падает NRE, и это одноразовые поля конкретной формы — переиспользовать нечего).
|
||||
function Test-NeedsListColumn {
|
||||
param($Col)
|
||||
return ($Col.type -eq 'Lookup') `
|
||||
-or ($Col.type -eq 'Number' -and $null -ne $Col.decimals) `
|
||||
-or ($Col.type -eq 'User' -and $Col.allowMultiple)
|
||||
-or ($Col.type -eq 'User' -and $Col.allowMultiple) `
|
||||
-or ($Col.type -eq 'Choice' -and $Col.allowMultiple)
|
||||
}
|
||||
|
||||
# Создаёт/обновляет СТОЛБЕЦ САЙТА (эталон) — один раз на весь сайт. Только простые
|
||||
@@ -184,6 +185,14 @@ function Add-ListColumn {
|
||||
param([string]$List, $Col)
|
||||
|
||||
if (Test-FieldExists -List $List -InternalName $Col.internalName) {
|
||||
# Тип существующей колонки скрипт НЕ меняет (данные!) — одиночный выбор в
|
||||
# множественный переключают вручную: параметры столбца → «флажки».
|
||||
if ($Col.type -eq 'Choice' -and $Col.allowMultiple) {
|
||||
$existingType = (Get-PnPField -List $List -Identity $Col.internalName).TypeAsString
|
||||
if ($existingType -ne 'MultiChoice') {
|
||||
Write-Warning " [!] $($Col.internalName): в списке одиночный выбор ($existingType), а нужен множественный — переключите столбец на «флажки» вручную"
|
||||
}
|
||||
}
|
||||
if ($Col.type -eq 'Choice' -and $Col.choices) {
|
||||
try {
|
||||
Set-PnPField -List $List -Identity $Col.internalName -Values @{ Choices = [string[]]$Col.choices } | Out-Null
|
||||
@@ -217,7 +226,16 @@ function Add-ListColumn {
|
||||
Set-PnPField -List $List -Identity $Col.internalName -Values @{ SelectionMode = $mode } | Out-Null
|
||||
}
|
||||
}
|
||||
'Choice' { Add-PnPField -List $List -InternalName $Col.internalName -DisplayName $Col.title -Type Choice -Choices $Col.choices -AddToDefaultView | Out-Null }
|
||||
'Choice' {
|
||||
if ($Col.allowMultiple) {
|
||||
$choicesXml = ($Col.choices | ForEach-Object { "<CHOICE>$(ConvertTo-XmlSafe $_)</CHOICE>" }) -join ''
|
||||
$xml = "<Field Type='MultiChoice' DisplayName='$(ConvertTo-XmlSafe $Col.title)' Name='$($Col.internalName)' FillInChoice='FALSE'><CHOICES>$choicesXml</CHOICES></Field>"
|
||||
Add-PnPFieldFromXml -List $List -FieldXml $xml | Out-Null
|
||||
}
|
||||
else {
|
||||
Add-PnPField -List $List -InternalName $Col.internalName -DisplayName $Col.title -Type Choice -Choices $Col.choices -AddToDefaultView | Out-Null
|
||||
}
|
||||
}
|
||||
'Url' { Add-PnPField -List $List -InternalName $Col.internalName -DisplayName $Col.title -Type URL -AddToDefaultView | Out-Null }
|
||||
'Number' {
|
||||
if ($null -ne $Col.decimals) {
|
||||
|
||||
Reference in New Issue
Block a user