Application.FieldNameToFieldConstant возвращает неверное значение. Альтернативный метод.

При работе с объектной моделью приложения MS Project 2013, столкнулся с проблемой при использовании метода Application.FieldNameToFieldConstant. Данный метод должен возвращать идентификатор локального или корпоративного поля по его имени. Проблема заключается в том, что если у вас имеются два схожих по названию поля, допустим «Ответственный» и «Ответственный ФИО«, то метод для поля «Ответственный ФИО» вернет идентификатор поля «Ответственный«. Встроенной альтернативы для доступа к таким полям, к своему удивлению, я не нашел.

Читать далее

Sharepoint 2013: Автоматическая переадресация задач согласования (рабочих процесса)

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

Читать далее

Project Server 2016: Ошибка «Не удалось найти сайт с идентификатором {GUID}»

После миграции портала Sharepoint & Project Server 2016 на другой сервер (backup — export/import), нарушились связки проектов с их сайтами, а для новых проектов и вовсе не создаются. Старые сайты на портале числятся, но они не сопоставлены с проектами Porject Server. При попытке ручного создания сайта, в логах можно заметить ошибку :

FileNotFoundException: Не удалось найти сайт с идентификатором {GUID}
Читать далее

Sencha Touch: Откуда берутся иконки iconCls?

Мобильная версия портала построена на базе фреймворка Sencha Touch 2.4. При добавлении очередной кнопки в тулбар, интуитивно указал класс иконки mail:

   xtype: 'button',
   iconCls: 'mail',
   title:'Почта'

…и получил вполне ожидаемый результат:

Иконка не отобразилась на элементе тулбара

Читать далее

Sharepoint 2013: Сменить логотип. Загрузить глобальный скрипт. Добавить быстрые кнопки.

Все началось с задачи, когда нужно было загрузить один скрипт глобально на все страницы. Решение нашлось быстро: загрузить его в навигационной панели (suit bar). Для этого воспользовался специальной командой SuiteBarBrandingElementHtml .  Читать далее