2014-01-14 5 views
0

Прежде всего, простите меня, если это дублирующий вопрос, однако я искал ответ на эту проблему в течение двух дней без везения, включая сообщество SO ,Dynamics CRM 2011 - поле удалено после добавления в поле зрения

Я новичок в своей работе, и мне было поручено внести изменения в MS Dynamics клиента. Они хотели добавить дополнительное поле в объект «Возможность» для категории «Категория темы». Он был разработан как опция и доступен для нескольких объектов, поэтому я создал глобальную опцию, заданную для задачи. В самой объектной возможности я создал новое поле набора опций и использовал глобальную опцию, заданную для параметров.

Я могу добавить его в форму, однако, когда я пытаюсь добавить его в представления, я сталкиваюсь с ошибкой, говоря, что это поле было удалено и что мне нужно удалить поле, прежде чем я смогу сохранить представление.

Точная ошибка:

Это поле было удалено. Чтобы использовать или сохранить этот сохраненный вид, вы должны удалить это поле.

Image of the error.

EDIT:
После выполнения предложения по отслеживанию, я был в состоянии произвести это в журнале ошибок.

Unhandled Exception: System.ServiceModel.FaultException`1[[Microsoft.Xrm.Sdk.OrganizationServiceFault, Microsoft.Xrm.Sdk, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]: Invalid FetchXml on SavedQuery.Update.Detail: 
<OrganizationServiceFault xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/xrm/2011/Contracts"> 
    <ErrorCode>-2140991216</ErrorCode> 
    <ErrorDetails xmlns:d2p1="http://schemas.datacontract.org/2004/07/System.Collections.Generic" /> 
    <Message>Invalid FetchXml on SavedQuery.Update.</Message> 
    <Timestamp>2014-01-15T18:03:14.1961051Z</Timestamp> 
    <InnerFault> 
    <ErrorCode>-2147220733</ErrorCode> 
    <ErrorDetails xmlns:d3p1="http://schemas.datacontract.org/2004/07/System.Collections.Generic" /> 
    <Message>The column, fetchxml, has invalid fetch. Error : 'SystemUser' entity doesn't contain attribute with Name = 'bsb_topiccategory'.</Message> 
    <Timestamp>2014-01-15T18:03:14.1961051Z</Timestamp> 
    <InnerFault i:nil="true" /> 
    </InnerFault> 
</OrganizationServiceFault> 

Это было создано при попытке сохранить представление с прикрепленным к нему атрибутом неисправности. Сохранение, казалось, было единственным способом вывести сообщение об ошибке в журнал. Все сказанное, я не совсем уверен, как справиться с ошибкой. Я просмотрел объекты и не смог найти объект systemuser. Может, я просто что-то упустил?

+0

SystemUser - это пользовательская запись. Вы можете просмотреть их в разделе «Настройки -> Администрирование -> Пользователи». Как и предполагалось, в представлении используется атрибут bsb_topiccategory, который больше не существует в объекте SystemUser или у вас нет необходимых разрешений для его просмотра. Если вы являетесь системным администратором, вам необходимо принять правильное решение для бизнеса либо удалить его из представления, либо добавить его обратно в объект SystemUser. Я подозреваю, что удаление из представления будет вероятным результатом. –

+0

@DazLewis bsb_topiccategory - это набор параметров, который я создал для размещения на форме и в представлении. Как его можно удалить, когда я могу увидеть его внутри списка полей объекта, который я пытаюсь редактировать? – amusick

ответ

1

Ненавижу отвечать на свой вопрос, но на случай, если кто-то столкнется с теми же проблемами, что и я, я хочу убедиться, что ответ известен.

После просмотра разрешений для пользователя я был вошел в систему как, я заметил, что у пользователя только административный доступ. Сначала я был смущен (опять же, мой первый прорыв в CRM), поскольку я всегда думал об администраторе с кем-то, у кого «закончить все, избить все». Это не относится к CRM. Чтобы внести изменения в представления, пользователь, которого вы используете, должен иметь «Полный» доступ, имея роль «Системный администратор».

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

0

Это полный удар в темноте, но вы пытались опубликовать все настройки? Вы можете удалить что-то, но не публиковать изменения, и он все равно будет выглядеть так, как будто он есть.

+0

Да, я думал, что это была проблема, поэтому я попробовал это. Кроме того, проблема связана с тем, что вы упомянули (например: попытка добавить столбец к представлению, который говорит, что он удаляется при добавлении, не пытаясь удалить поле и показывая его в представлении). – amusick

1

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

Теоретически это никогда не должно происходить, поскольку система должна препятствовать удалению атрибута, который имеет зависимости (вид в этом случае). Я все еще проверю все существующие столбцы в представлении действительно существуют как атрибуты на сущности.

Если это действительно так, похоже, что кто-то удалил атрибут непосредственно из базы данных!

+0

Когда вы говорите атрибут, вы говорите о других полях сами? – amusick

+0

Если {attributes = fields}, то я сделал чек и могу проверить, что все они есть. Не уверен, куда идти отсюда. – amusick

+0

Да атрибуты = поля. Вы пытались добавить его в другое представление, чтобы убедиться, что это проблема с этим конкретным атрибутом или добавили другой атрибут в представление, вызывающее проблемы? –

Смежные вопросы