Мои встречи имеют 3 пользовательских поля (целое число, строка, системное время), и они содержат данные. При отображении «Просмотр / Текущий просмотр / Все встречи» целочисленный TimeTellID не показывает данных. Ниже приведен скриншот части этого представления. Я изменил вид через Настроить текущий вид / Поля и затем 3 раза щелкнул «Новое поле»:

Чтобы проверить, если я «Удалить» поле, чтобы оно переместилось обратно в левый столбец, я вижу свойства:

Это происходит во всех (4) почтовых ящиках, которые я пробую, используя Outlook 2007, подключаясь к почтовым ящикам Exchange 2013. Я делаю то же самое из другого профиля подключения к серверу Exchange 2010, и там это работает.

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

 <t:ExtendedProperty>
    <t:ExtendedFieldURI DistinguishedPropertySetId="PublicStrings" PropertyName="TimeTellID" PropertyType="Integer"/>
    <t:Value>10016</t:Value>
 </t:ExtendedProperty>
 <t:ExtendedProperty>
    <t:ExtendedFieldURI DistinguishedPropertySetId="PublicStrings" PropertyName="TimeTellSyncID" PropertyType="String"/>
    <t:Value>000000008[snip]7F63DD0000</t:Value>
 </t:ExtendedProperty>
 <t:ExtendedProperty>
    <t:ExtendedFieldURI DistinguishedPropertySetId="PublicStrings" PropertyName="TimeTellSyncTime" PropertyType="SystemTime"/>
    <t:Value>2014-01-10T09:20:13Z</t:Value>
 </t:ExtendedProperty>

1 ответ1

0

Нашел это.

При выполнении синхронизации Outlook/Exchange из моего приложения Delphi через OLE я получил следующее исключение EOleException:

"A custom field with this name but a different data type already exists. Enter a different name"

Мой код пытался добавить пользовательское свойство типа olInteger с именем TimeTellID.

Очевидно, что там уже был TimeTellID другого типа.

Что я сделал, так это удалил поле через диалоги, упомянутые в вопросе, а затем создал новое. Сначала это не сработало. Но сложность в том, что есть два типа числа и целого числа, и вы не видите их вместе в выпадающем списке:

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

-- Дополнительная информация --

Пока я возился с этой проблемой, я заметил некоторую путаницу, связанную с тем, что пользовательские свойства являются частью элементов встречи и / или папки.
Мой код, добавляющий пользовательские свойства, имеет третий параметр, установленный в false. Этот третий параметр - AddToFolderFields. Цитирование из UserProperties.Добавить метод (Outlook):

True, если свойство будет добавлено в качестве настраиваемого поля в папку, в которой находится элемент. Это поле может отображаться в представлении папки. False, если свойство будет добавлено в качестве настраиваемого поля к элементу, но не к папке.

Таким образом, если пользовательские свойства не назначены для папки, они не становятся доступными в диалоговых окнах Outlook.
Очевидно, что в Outlook можно определить их как свойства папки «по факту», и тогда значения будут выбраны из свойств встречи.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .