Category Archives: Розвиток SharePoint

Просте пояснення: “Значення не потрапляють в межах очікуваного діапазону.”

ОНОВЛЕННЯ: Анонімні плакати, що залишив великий коментар про внутрішні імена. Не забудьте прочитати його.

Під час роботи з подією приймачів і інший код, який посилається елементи списку SharePoint за допомогою об'єктної моделі, Я часто роблять помилки, які генерують ця помилка під час виконання:

Помилка під час завантаження та запуску події приймач Conchango.xyzzyEventReceiver в xyzzy, Версія = 1.0.0.0, Культура = нейтральні, PublicKeyToken = 0dc50a750396c3ac. Додаткова інформація знаходиться нижче. : Значення не потрапляють в межах очікуваного діапазону.

Я думаю, що це досить загальних помилок, що потенційно викликала багато різних способів. Однак, один просте пояснення в тому, що я перебуваю посилань поле неправильно. Якщо ім'я поля «Due Date», Я повинна посилатися на нього як це у випадку ресивер:

властивості.Елемент списку["Термін"]

Коли я друкарські помилки або використовувати випадок неправий, коли посилання на поле, SharePoint генерує вище згаданих помилка виконання. Наприклад, це неправильно:

властивості.Елемент списку["термін"]

</кінець>

Підписатися на мій блог.

Бірки Technorati:

Швидкий & Легко: Створити папку і призначити тип вмісту (Або, Мати ваші показники KPI і з'їсти їх)

Для того, щоб вирішити проблему КПІ Я писав про тут, Я зробив деякі випробування і виявив робота цього KPI проти папки з мета-дані таким же чином, що вони працюють проти документи або елементи списку. Я довів, що його, створюючи новий тип вмісту на основі типу вмісту папки а потім додати кілька полів. Я створив кілька показників і довели собі, що KPI працює належним чином. Це був Вітаємо Новини. Це не ідеально, тому що в деталізації, ви отримуєте від КПІ проти папки не саме це те, що ви хочете. Це не занадто багато недоліків, в моєму випадку, тому що 1) кінцеві користувачі не знаю краще, і 2) буріння вниз йде до папки. Вони виберіть ім'я папки, і вони на елемент. Це два клацання замість одного, який це не кінець світу.

Це текла красиво з роботою я робив. Я створюю папку для кожного документа, який отримує завантажені. Це робиться за допомогою подія приймач. У результаті, Це шматок пирога, щоб тримати на батьківську папку мета-дані в синхронізації з КПІ driven meta дані з файлу, самого оскільки сантехніки ­ дування вже існує. This allows me to have my KPI’s and eat them too 🙂

Я змінив подію приймач до додати папку а потім настроїти тип вмісту цього нову папку Мої настроюваного типу КПІ дружні вмісту. Це трохи коду зробили свою справу:

 SPFolderCollection srcFolders = targetWeb.GetFolder("Документи").Вкладені папки;
  SPFolder addedFolder = srcFolders.Add(властивості.ListItem.ID.ToString());
  SPContentTypeId kpiCT = нові SPContentTypeId("0x0120002A666CAA9176DC4AA8CBAA9DC6B4039F");
  addedFolder.Item["Вмісту Ідентифікатор типу"] = kpiCT;
  addedFolder.Item.Update();

Щоб знайти фактичне Ідентифікатор типу вмісту, Я отримати доступ до цього типу вмісту за допомогою параметрів сайту і копіювати/вставити його з URL, як показано:

зображення

</кінець>

Підписатися на мій блог!

Бірки Technorati: ,

Швидкий і простий: Отримати SPFolder на SPListItem в події-приймач

Терпіти не можу визнати це, але я боровся з цим всіх день. Моя приймач подію необхідно оновити поле його батьківську папку. Це трохи показує, як це зробити:

приватні недійсними UpdateParentFolder(SPItemEventProperties Властивості)
{

SPFolder thisItemFolder = властивості.ListItem.File.ParentFolder;
thisItemFolder.Item["ZZ стан затвердження"] = «Гарні новини, кожен!";
thisItemFolder.Item.Update();


} // UpdateParentFolder

У цьому випадку, Я працюю з бібліотеки документів і властивості приходять з ItemAdded події.

Хитрість полягає в тому, що ви не можете отримати SPFolder з елемент безпосередньо з сам елемент (тобто. Властивості.ListItem.Folder є null). Замість цього, Перейти до елемента списку відповідного файлу та отримати файл в папку.

</кінець>

Підписатися на мій блог!

Бірки Technorati:

Ще інша подія приймач налагодження трюк

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

Я працюю над подія приймач, який почався для створення цієї помилки в на 12 вулик:

Помилка під час завантаження та запуску події приймач Conchango.xyzzyEventReceiver в xyzzy, Версія = 1.0.0.0, Культура = нейтральні, PublicKeyToken = blahbalhbalh. Додаткова інформація знаходиться нижче. : Об'єкта не задана екземпляр об'єкта посилання.

Я не знав, де я було введено це помилка, тому що я робив дуже багато речей в одному з мого коду/розгорнути/тестового циклу.

Я спробував Це рішення щоб отримати мій pdb там надії, що SharePoint 12 вулик б показати трасування стека, але не пощастило. Я не знаю, якщо це можливо, і якщо хтось робить, будь ласка, дайте мені знати 🙂

Я знаю, що є можливість писати свій власний лог-повідомлень на 12 вулик. Чесно кажучи, Я хотів щось трохи менш страшно і швидше для реалізації.

Мені спало на думку що я міг би отримати принаймні деякі базові трасування інформації, ловлячи і повторно кидали загальні винятки, як це:

  Спробуйте {
    UpdateEditionDate(Властивості);
  }
  зловити (Виняток e)
  {
    кинути нові Виняток("Диспетчер, UpdateEditionDate(): Виняток: [" + e.ToString() + "].");
  }

Це з'явився в на 12 константи виглядає так вулик:

Помилка під час завантаження та запуску події приймач Conchango.xyzzyEventReceiver в xyzzy, Версія = 1.0.0.0, Культура = нейтральні, PublicKeyToken = blahblahblah. Додаткова інформація знаходиться нижче. : Диспетчерський, UpdateEditionDate(): Виняток: [System.NullReferenceException: Об'єкта не задана екземпляр об'єкта посилання. на Conchango.xyzzyManagementEventReceiver.UpdateEditionDate(Властивості SPItemEventProperties) на Conchango.xyzzyManagementEventReceiver.Dispatcher(Властивості SPItemEventProperties, Рядок eventDescription)].

Це дало мені всі подробиці, що мені потрібно, щоб вистежити вирішенні цієї проблеми і я очікую, використовувати його багато йти вперед.

</кінець>

Підписатися на мій блог!

Рішення: SPQuery не шукає папки

Минулого тижня я був здійснення послугами "розвивається" рішення для клієнта, який використовує каталогу бізнес-даних і SPQuery і зіткнулися з деякими труднощами при використанні SPQuery проти бібліотеку документів, що містять папки. Нижній рядок: призначити "Рекурсивний" для атрибута подання запиту.

Мій сценарій:

  • У понеділок, Я завантаження документа та постачання деяких мета-дані.
  • Наступного тижня, Я можу завантажити новий документ. Значна частина цього нового документа meta даних на основі документа, я завантажив в понеділок (що ми називаємо "головного документа").
  • Ми створили web послуги фасаду, який забезпечує BDC зі зручним інтерфейсом до списку, так що користувачі можуть легко знайти той понеділок документа за допомогою пошуку в заголовку.
  • Стовпець даних служби ПБД забезпечує дружній користувачеві інтерфейс. (Вони є моя спроба за допомогою каталогу бізнес-даних для більш дружній стовпця підстановки).

Остаточний служби ПБД фасад використовує запит як це робити підстановки:

 // Використовується U2U інструмент для надання допомоги у створенні цього CAML запиту.
      oQuery.Query =
        "<Де>";

      Якщо (titleFilter.Length > 0)
        oQuery.Query   =
          "  <І>";

      oQuery.Query   =
        "    <І>" +
        "      <Geq>" +
        "        <FieldRef ім'я =  "DocumentId" />" +
        "        <Повязані =  "Text">" + minId + "</Значення>" +
        "      </Geq>" +
        "      <Leq>" +
        "        <FieldRef ім'я =  "DocumentId" />" +
        "        <Повязані =  "Text">" + maxId + "</Значення>" +
        "      </Leq>" +
        "    </І>";

      Якщо (titleFilter.Length > 0)
        oQuery.Query   =
          "    <Містить>" +
          "      <FieldRef ім'я =  "Title" />" +
          "      <Повязані =  "Text">" + titleFilter + "</Значення>" +
          "    </Містить>" +
          "  </І>";
      oQuery.Query   =
        "</Де>";

Під час початкового етапу розвитку, Це працював великий. Однак, ми ввели папки в каталог вирішити деякі проблеми і раптом, мій палітра каталогу бізнес-даних не дав жодних результатів. Я простежив це аж до того, що на SPQuery б ніколи не дав жодних результатів. Ми звикли папки в першу чергу дозволити декількох файлів з однаковими іменами для передавання, але з різними мета-дані. Коли файл передано, Ми створити папку на основі Ідентифікатор елемента списку а потім перемістіть файл там (Я писав про це Тут; у нас було змішані результати При такому підході, але загалом, він працює добре). Користувач не піклуються про папок і по суті, дійсно не розумію, що існують будь-які папки. Ми настроїли всі погляди на бібліотеки для відображення елементів безвідносно до папки.

Я вдарив цю проблему Удвічі кращий технічної реалізації розвивалися і вирішити її по-різному з кожним разом. В перший раз, Я не був за допомогою оператора МІСТИТЬ в запиті. Без МІСТИТЬ оператор, Я був в змозі вирішити цю проблему, вказавши погляд на contructor на SPQuery. Замість того щоб використовувати конструктор за промовчанням:

SPList oList = web.Списки["Документи"];

SPQuery oQuery = нові SPQuery();

Замість цього я використовував конструктор, що вказаний погляд:

SPList oList = web.Списки["Документи"];

SPQuery oQuery = нові SPQuery(oList.Views["Всі документи"]);

Що вирішена проблема, і я почав отримувати мої результати.

Потім я додав МІСТИТЬ оператор в суміші, і він зламав знову. Виявляється, що МІСТИТЬ оператор, наскільки я можу судити, не працює з тим, так само, як на простіше GEQ / LEQ операторів. Я зробив кілька пошуку і дізнався, що Перегляд атрибутів цей запит повинен бути встановлений на "Рекурсивний", як і в:

oQuery.ViewAttributes = "Сфера = "Recursive"";

Що вирішив проблему для МІСТИТЬ. Насправді, Це також вирішити мою вихідної задачі пошуку, і якщо я повинен був вказаний у рекурсивної атрибут в перший раз, Я б не зіткнулися питання знову.

Те, що подання на основі SPQuery працює для деяких операторів (GEQ/LEQ) а не інші (МІСТИТЬ), разом з тим, що KPI, схоже, не працювати на всіх з папку, що містить документ бібліотек приводить мене до думки, що SPQuery в деяких питаннях ортогональності.

Особлива подяка:

</кінець>

Підписатися на мій блог!

Помилка МОСС КПІ? Список індикатор прив'язані до бібліотеки документів з папками

ОНОВЛЕННЯ 02/29/08: Я вирішив цю проблему, створивши папки та присвоєння типу вмісту папки, яка має мета-дані, мені потрібна для KPI. Я описав що в трохи більш докладно тут.

Ми реалізували технічного рішення, де користувачам передавати документи до бібліотеки документів. Подія приймач створює каталог і рухається файл у цьому каталозі (за допомогою техніки схожа на те, що я писав про Тут). Ми успішно переходите навколо потенційних проблем, викликаних подія приймачів, які перейменувати завантажених файлів (головним чином тому, що користувачі ніколи не почати свій документ, натиснувши на "новий" але замість створення документів локально а потім завантажити їх).

Мета-дані для цих документів включає в себе так/ні стовпець сайту називається «термінові" і ще один стовпець сайту під назвою "Статус". Нам потрібні для задоволення вимог бізнесу, який показує відсоток «термінові" документи, стан якого є "Відкладена".

Це зазвичай просто зробити і я описав щось дуже схоже це в SharePoint Бігль з великою кількістю знімків екрана, якщо ви зацікавлені.

У двох словах, Я виконав наступне:

  • Створити подання на бібліотеці doc під назвою "Відкладена".
  • Настроювання подання ігнорувати структуру папок.
  • Створення списку KPI.
  • Створити індикатор у списку, який вказує на doc lib і що "очікування" подання.

Це просто не працює. KPI показує Моя мета (Наприклад. п'ять термінових документів) але завжди показує фактична кількість термінові документи як нулі. Як не парадоксально, Якщо ви просвердлите аж до подробиць, він показує п'яти термінових документів у списку. Я створив дуже простий сценарій з двох документів, один в папку і один не. Ось знімок екрана:

зображення

Вище постріл екрані ясно показує, що існують два документи в поданні, але значення"" один. "CamlSchema" із пустим документом Id знаходиться в кореневій папці, а інший-в папку з ім'ям "84".

Як на мене, навіть якщо вибрати подання, KPI не честь на "Показати всі елементи без папок" Установка і замість цього, обмежує себе до кореневої папки.

Якщо я помиляюся, будь ласка, черкніте мені, або залишити коментар.

</кінець>

Підписатися на мій блог!

Бірки Technorati:

Рішення проблеми: “FileNotFoundException” З моєї одержувача функцій.

Я працював над функція минулого тижня, яка б додати деякі події приймачі до певного списку екземпляр. (Я blogged трохи про цього списку приймач тут).

За допомогою командного рядка, Я міг встановити функцію з помилки не (Але див. нижче для прихованих помилка). Коли я спробував розгортання функція на сайті, ЛИШАЙНИК скаржилася на "FileNotFoundException" помилка. Цей запис у блозі описує, як я вирішив її.

Це помилка, що МОСС показав мені, у веб-переглядачі:

Функція "b2cb42e3-4f0a-4380-aaba-1ef9cd526f20’ не може бути встановлена, тому що завантаження подія ресивер Асамблеї "xyzzyFeatureReceiver_0" не вдалося: System.IO.FileNotFoundException: Не вдалося завантажити файл або складання ' xyzzyFeatureReceiver_0’ або одного з його залежних елементів. Системі не вдалося знайти вказаний файл.
Ім'я файлу: ' xyzzyFeatureReceiver_0’
на System.Reflection.Assembly.nLoad(Ім'я файлу AssemblyName, Рядок в коді, Докази assemblySecurity, Асамблея locationHint, StackCrawlMark& stackMark, Булеві throwOnFileNotFound, Булеві forIntrospection)
на System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Докази assemblySecurity, StackCrawlMark& stackMark, Булеві forIntrospection)
на System.Reflection.Assembly.InternalLoad(Рядок assemblyString, Докази assemblySecurity, StackCrawlMark& stackMark, Булеві forIntrospection)
на System.Reflection.Assembly.Load(Рядок assemblyString)
на Microsoft.SharePoint.Administration.SPFeatureDefinition.get_ReceiverObject()
WRN: Асамблея прив'язування журналювання ввімкнуто OFF.
Щоб увімкнути Асамблеї bind Помилка журналювання, значення реєстру [HKLMSoftwareMicrosoftFusion!EnableLog] (DWORD) Щоб 1.
Примітка: Є деякі виконання страти, пов'язаних з Асамблеї bind Помилка журналювання.
Щоб вимкнути цю функцію, видалити значення реєстру [HKLMSoftwareMicrosoftFusion!EnableLog].

Усунення несправностей із Windows SharePoint Services.

Я знаю, як навмисно заподіяти цю помилку: не інсталювати складання у глобальному кеші Складань. Але, Це було в GAC. Я зазвичай інсталювати складання у глобальному кеші Складань, перетягнувши їх в д:\windowsassembly папку за допомогою провідника windows. Я ніколи не відчував 100% комфортно Роблячи це, тому що я завжди думав, що gacutil існував з причини … так що я спробував, що. Він зробив ніякої різниці.

Я шукав в Інтернеті і знайшов цей пост: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2243677&SiteID=1

Афіша довелося використовувати той же корінь трохи коду (з цього списку, книги всередині WSS) так, щоб було надій знак. Однак, пропозиція прикраси на зборі з на [Асамблея: ] Директива не має сенсу для мене. Я пробував все одно, і я був правий. Він зробив ніякої різниці.

Тоді я помітив, що моє визначення класу не була громадських. Я зробив це громадських і які зроблені ніякої різниці.

Наступний, Я пішов до проблеми сприятливе "Асамблея bind провал журналу" (дотримуючись інструкції, корисні та точні умови) і це, де речі почали отримувати цікаву. Що журнал показує мені, що виконання є пошук в усьому світі на цей сервер для мого Асамблеї. Навіть здається, шукати його в мій аптечці. Але … він не буде шукати його в GAC.

Я поклав на мій зимові куртки і йти Інтернет здійснення повторного пошуку і знайти, що хтось повинен був цим проблема занадто. Тривалі дискусії в цьому проводки Пітерс на нічого, і я косяк знаходити рішення.

Я перемістити мій Асамблеї в одне з місць, журнал стверджує, що вона є пошук і я зробити трохи більше прогресу. Я впевнений, винагороджені з новий помилка у браузері під час спроби активувати функцію:

Не вдалося створити функцію ресивер об'єкта зі складання "xyzzyFeatureReceiver_0", Введіть "Conchango.xyzzyFeatureReceiver" для функції b2cb42e3-4f0a-4380-aaba-1ef9cd526f20: System.ArgumentNullException: Значення не може бути невизначеним.
Ім'я параметра: тип
на System.Activator.CreateInstance(Тип типу, Булеві внутрішня)
на System.Activator.CreateInstance(Тип типу)
на Microsoft.SharePoint.Administration.SPFeatureDefinition.get_ReceiverObject()

Усунення несправностей із Windows SharePoint Services.

Час для одного останньої поїздки в Інтернет!

На цей раз я дізнатися, як і очікувалося досить, ЛИШАЙНИК видає цю помилку оскільки складання не GAC.

Я хочу, щоб отримати щось позитивне з цього і спробувати почувати себе трохи пишаємося тим, що я створив на Втікача MSIL вузлів, але він не працює. Я тільки простий роздратований. Я вважаю себе бурмочучи "яйце чи курка" під моїм подихом.

Я, нарешті, вирішити Пунт. Я створення абсолютно нового проекту і копіювати/вставити код від incredible-cloaked-from-the-GAC-assembly проект не працює над цим новим проектом. (Я дивлюся на побудувати прапор, називається щось на кшталт "Приховати зі складання обов'язковий, якщо інстальовано в GAC" але не можу знайти один).

Я встановити функцію і активувати його і … це працює! Так, Після все, що, Я повинен був в основному ' перезавантаження’ мій проект. Це ще одна причина, чому я ненавиджу комп'ютери.

Я дізнався щось корисне від цього. Я мав були особливості установки за допомогою командного рядка stsadm весь день і використовують на "-сила" параметр за звичкою. З різних причин, Я не використовую - сила опцію коли я встановив новий проект. Цього разу, Я зробив насправді, по-справжньому забудьте скопіювати цей новий проект складання у глобальному кеші Складань. У результаті, Я отримав цю "FielNotFoundException" помилка. Цього разу, Я отримав його від stsadm, не тоді, коли я намагався активувати функцію через веб-браузер. Так, -сила насправді грає дві ролі. Це дозволяє повторно інсталювати існуючі функції. Вона також дозволяє встановити баггі особливість, яка не може працювати під час виконання придушенні помилку. Це напевно говорить, що стільки в довідці десь, але я ніколи не помічав.

</кінець>

Швидкий & Легко: Перейменувати переданому файлі за допомогою SharePoint об'єктної моделі через події-приймач

ОНОВЛЕННЯ: Це працює, але існують значні обмеження, які описані в коментарях. Це все ще може бути корисно в деяких cirumstances.

ОНОВЛЕННЯ 2: На мій поточний проект, користувачі завжди передавати документи. У результаті, Я не зіткнутися з проблемою, де MS Word працює і думає, що файл було перейменовано на ньому. Я зіткнутися з проблемою, "файл було змінено іншим користувачем" і вирішив ці проблеми за допомогою простих семафора типу прапор. Користувачам потрібно змінити поле meta даних значень за замовчуванням на щось інше. На itemupdated() приймач шукає припустиме значення, перш ніж насправді виконує перейменувати і з тих пір, У мене не було ніяких проблем. Ваш пробіг може варіюватися.

У мене є клієнт вимогою, щоб перейменувати файли, завантажені до конкретних бібліотеки у відповідність з особливий угоду про. API не надає "перейменувати()" метод. Замість цього, Ми використовуємо "MoveTo(…)". Ось трохи мінімальний код для досягнення цієї мети:

 громадських перевизначення недійсними ItemAdded(SPItemEventProperties Властивості)
        {
            Файл SPFile f = властивості.ListItem.File;

            f.MoveTo(властивості.ListItem.ParentList.RootFolder.Url + "/xyzzy.doc");
            f.Update();

        }

Тільки хитрий біт є "Властивості. ListItem.ParentList.RootFolder.Url". На MoveTo() метод вимагає URL. Що пюре до рядка очок мене в кореневій папці бібліотеки поточного документа. Це дозволяє мені, щоб уникнути будь-якого жорсткого кодування в мій подія приймач.

Це більш корисно версія, що робить те ж саме, але присвоює ім'я файлу "Заголовок":

 громадських перевизначення недійсними ItemAdded(SPItemEventProperties Властивості)
        {
            DisableEventFiring();

            // Призначити ім'я файлу, сама назва цього елемента.
 // ПРИМІТКА: Ця поступка повинна відбутися перед тим, як ми змінити сам файл.
 // Називаючи оновлення() на на файл SPFile представляється спростовувати властивості в
 // Деякі сенсі.  Новинки "заголовок" не вдалося виконати поки що змінити (та оновлення() виклик)
 // були перенесені перед зміною до імені файлу.
            властивості.Елемент списку["Назва"] = властивості.ListItem.File.Name;

            властивості.ListItem.Update();

            Файл SPFile f = властивості.ListItem.File;

            // Отримати розширення файлу.  Нам потрібні які пізніше.
 рядок spfileExt = нові FileInfo(f.Name).Розширення;

            // Перейменувати файл Ідентифікатор елемента списку і за допомогою розширення файлу зберегти
 // ту частину недоторканими.
            f.MoveTo(властивості.ListItem.ParentList.RootFolder.Url +
                "/" + властивості.Елемент списку["ІДЕНТИФІКАТОР"] + spfileExt);

            // Зробити цей крок.
            f.Update();

            EnableEventFiring();
        }

Швидкий Підказка: Веб-частина запиту вмісту, Значення стовпця підстановки і XSL

У мене ім'я стовпця в типу вмісту, названий "Нерухомість розташування".

Цей стовпець є стовпцем «Підстановка».

Я змінив <CommonViewFields> та ще ItemStyle.xsl для відображення стовпця.

Простий <перетворення XSL:Виберіть значення з =…> Повертає назад внутрішніх значення, яке містить порядковий номер розташування даних, Наприклад:

1;#Miami

Щоб отримати людина для роздруківки значення, використовувати xsl підрядок після, як показано:

<перетворення XSL:valueперетворення XSL виберіть = "підрядок після(@Real_x005F_x0020_Estate_x005F_x0020_Location,’#’)"></перетворення XSL:значення з>

Використовувати цю техніку, кожного разу, коли ви працюєте зі значеннями підстановки у перетворень XSL і потрібно отримати людина для роздруківки значення.

<кінець />

Бірки Technorati: , ,

Швидкий і простий: Визначити внутрішню стовпець ім'я стовпця сайту

ОНОВЛЕННЯ: Jeremy Thake в своєму блозі про це і покласти деякі код для консольного застосування що показує внутрішню імена.

Я намагався отримати запит вмісту веб-частина відображала термін дії від завдання і тому, що етикетка екран «Термін дії», Я припускав, що ім'я стовпця для використання у <CommonViewFields> є "Due_x0020_Date".

Неправильно!

Реальна стовпець ім'я при цьому було "DueDate".

Як мені знайти його? Я перечитав Хізер Запис у блозі Соломона на модифікацію CQWP Показати додаткові стовпці даних. Вона описує цей процес на крок #13. Довіряйте такій рекламі. Це правильно. По крайней мере, Він був правильним для мене. Я не довіряють це в першу чергу для іншого стовпця з набагато довше ім'я.

Я кажу, "довіряйте такій рекламі" тому що я не довіряєте його і ймовірно даремно поблизу дві години торцювання голову проти стіна. Після того, як я вирішив "DueDate" Ім’я, Я хотів би додати ще одне поле до <CommonViewFields>. За допомогою техніки Соломона, Я отримував ім'я стовпця як "XYZ_x0020_Project_x0020_Due_x00".

Я подумав про себе, Це чітко усічена ім'я. Я пішов вперед і ООН усічена це не успіх. Раніше я нарешті здавалося б усічена ім'я, і вона працювала.

Бонус Підказка: Коли я працював з в CQWP, Якщо б я додав погано внутрішнє ім'я, щоб <CommonViewFields>, на CQWP мені сказав що запит було значень не повернуло результатів. Але, Якщо тип даних, додане до ім'я поля, вона буде повернути результат. Додавання даних типу фактично замаскований проблему так як я був посилань полем неіснуючим. Я міг би додати його, але коли я намагався відобразити його значення, Я завжди отримати порожнім.

Це не маскують помилку:

<CommonViewFields>Due_x0020_Date;</CommonViewfields>

Це маску помилку:

<CommonViewFields>Due_x0020_Date,Дата й час;</CommonViewfields>

</кінець>