Warning: Constant USER_COOKIE already defined in /var/www/admin/www/markimarta.ru/wp-config.php on line 85

Warning: Constant PASS_COOKIE already defined in /var/www/admin/www/markimarta.ru/wp-config.php on line 86

Warning: Constant AUTH_COOKIE already defined in /var/www/admin/www/markimarta.ru/wp-config.php on line 87

Warning: Constant SECURE_AUTH_COOKIE already defined in /var/www/admin/www/markimarta.ru/wp-config.php on line 88

Warning: Constant LOGGED_IN_COOKIE already defined in /var/www/admin/www/markimarta.ru/wp-config.php on line 89

Warning: Constant TEST_COOKIE already defined in /var/www/admin/www/markimarta.ru/wp-config.php on line 90
Исправление ошибки SharePoint «Тип поля установлен неправильно» « Марк и Марта.Ру. Записки отца-программиста




Исправление ошибки SharePoint "Тип поля установлен неправильно"


Warning: Undefined variable $thumbnail in /var/www/admin/www/markimarta.ru/wp-content/themes/markimarta2023/single.php on line 44

Warning: Attempt to read property "ID" on null in /var/www/admin/www/markimarta.ru/wp-content/themes/markimarta2023/single.php on line 44

Warning: Undefined variable $thumbnail in /var/www/admin/www/markimarta.ru/wp-content/themes/markimarta2023/single.php on line 45

Warning: Attempt to read property "post_title" on null in /var/www/admin/www/markimarta.ru/wp-content/themes/markimarta2023/single.php on line 45

Однажды при создании решения со столбцами сайта, типами контента и списками в результате небольшой ошибки в описании XML столбцов столкнулся с тем, что не могу ни обновить решение, ни удалить.

Visual studio выдавала сообщение об ошибке:

Error      1             Error occurred in deployment step 'Activate Features': Тип поля "Decimal" установлен неправильно. Перейдите на страницу параметров списка и удалите это поле.

 

При считывании колонок сайта через консоль SharePoint (PowerShell) получал аналогичную ошибку:

PS C:\Users\user> $spsite = Get-SPSite http://spdev/
PS C:\Users\user> $spweb = Get-SPWeb http://spdev/fis/
PS C:\Users\user> $spweb.Fields

Выводится список колонок сайта, прерывающийся на ошибке:

An error occurred while enumerating through a collection: Field type Decimal is
not installed properly. Go to the list settings page to delete this field. .
At line:1 char:8
+ $spweb. <<<< Fields
    + CategoryInfo          : InvalidOperation: (Microsoft.Share...on+SPEnumer
   ator:SPEnumerator) [], RuntimeException
    + FullyQualifiedErrorId : BadEnumeration

 

Что бы ни говорили в Microsoft про то, что нельзя трогать контентную базу SharePoint, изменение внутри базы – единственный способ устранения ошибки. Насколько мне известно, такой баг был заведен коллегами из других стран более года назад и он до сих пор не исправлен.

Внимание! В результате манипуляций, описанных ниже, Вы лишитесь поддержки Microsoft, если она есть и она нужна.

Задача по исправлению сводится к поиску удалению из таблицы "ContentTypes" записи о неправильном типе контента. В таблице ContentTypes хранятся записи о типах столбцов сайта и типах контента.

Поскольку я создавал решения для SPWeb и на уровне SPWeb активировал фичу добавления типов столбцов, то для сужения поиска нужных записей сделал запрос к таблице, где в условии Where указал название рабочего сайта 'fis'. Увидев в результате 4 записи добавил к условию "Definition like '%decimal%'":

SELECT TOP 1000 [SiteId]
      ,[Class]
      ,[Scope]
      ,[ContentTypeId]
      ,[Version]
      ,[NextChildByte]
      ,[Size]
      ,[Definition]
      ,[ResourceDir]
      ,[SolutionId]
      ,[IsFromFeature]
      ,[DeleteTransactionId]
  FROM [SPDEV_WSS_Content].[dbo].[ContentTypes]
  WHERE Scope like '%fis%' AND Definition like '%decimal%'

Найдя одну запись и посмотрев на значения колонок в таблице, следующим запросом я удалил эту запись:

DELETE from SPDEV_WSS_Content.dbo.ContentTypes WHERE Scope like '%fis%' AND Definition like '%decimal%'

Сразу после этого ошибка пропала.

Как уже писал выше, от таких манипуляций пропадает поддержка Microsoft. Потому такие вещи можно делать ТОЛЬКО В ТЕСТОВЫХ СРЕДАХ!

 


Комментариев нет »

No comments yet.

RSS feed for comments on this post. TrackBack URL

Leave a comment





Срок проверки reCAPTCHA истек. Перезагрузите страницу.



MarkiMarta.ru. Записки отца-программиста" с 2009 г.
Категория информационной продукции 18+
Яндекс.Метрика