ЖизниЛЕНТА

Copyright © 2007 Шапель Павел

Sharepoint custom field

with 35 comments

Реально динамически-вычисляемого поля в Sharepoint-е создать нельзя! Ибо можно лишь задать некие условия для вычисления значений, но они вычисляются только раз.
И тому подтверждение множества линков под катом, с вариацией на тему создания custom field.

P.S. Смотрите комментарии…

Written by Pash

Июнь 4th, 2008 at 11:11 пп

Posted in Разработка

Tagged with

35 Responses to 'Sharepoint custom field'

Subscribe to comments with RSS

  1. В данном случае Автор не прав. Можно создать динамически-вычисляемого поле которое вычисляет свое значение (Custom field type) на основе других полей но для этого потребуются дополнительные усилия в виде написания Field Type Definition xml файла где можно реализовать логику по вычислению значения поля (JavaScript). В очень сложных вариантах можно использовать Ajax-технолигию (xmlHttpRequest) по получению значения.

    Alex

    28 Июн 08 at 12:53

  2. Уважаемый Alex
    В данном посте имелось ввиду что нельзя создать поле значение, которого каждый раз вычисляется на стороне сервера, при выдаче так сказать. JavaSript-ом на стороне клиента можно подгрузить вообще всё что угодно, но разве это правильно красиво? :)

    Pash

    28 Июн 08 at 13:13

  3. Ajax-технолигию (xmlHttpRequest) можно использовать для вызова web-service method’а который будет вычислять наше значение.

    С уважением,
    Alex

    Alex

    28 Июн 08 at 13:18

  4. C Ajax-м всё понятно, только для каждого поля тянуть данные с сервака…
    Хотя можно придумать и некую очередь чтобы делать один запрос по множеству полей…
    В общем это вариант создания динамического поля, только он не родной так сказать, а всё как-то больше с боку. А пост был (по крайне мере я его так видел) в контексте Lookup & Calculated fields.

    Тем не менее, спасибо за идеи!

    Pash

    28 Июн 08 at 13:28

  5. Ajax это для «тяжелых» полей, а так Field Type Definition xml файл в самый раз, тем более что для заказчика важен результат, а что за кадром – это проблема того кто разрабатывает :D

    P.S.
    Приятно узнать что у нас в РБ есть сайт с SharePoint тематикой.

    Alex

    28 Июн 08 at 13:48

  6. Мне в свою очередь приятно что кто-то (я так понимаю у нас в РБ) также интересуется SharePoint-м.

    Однако, при такой реализации динамичного поля, встаёт вопрос — что будет с такими динамичными полями при экспорте листа?…

    Pash

    28 Июн 08 at 14:07

  7. Да, как я посмотрел, при экспорте листа данные не передаются, но думаю ситуация решаемая. Первый способ которой приходит в голову организация собственного export-workflow.

    А насчет РБ – да я нахожусь в Минске.
    Сейчас занимаюсь Publishing-ом и SharePoint Designer 2007. Оказалась довольно таки хорошей вещью после более пристального внимания :D

    Alex

    Alex

    28 Июн 08 at 15:15

  8. Вот к сожалению и получается, что решение не нативное и как результат надо будет во многих многих местах перекрывать функционал.
    По крайне-мере если это делать для полноценного листа. Зато такой подход можно использовать в каких-либо более иных местах, webpart-х, аль ещё где.

    Pash

    28 Июн 08 at 15:39

  9. Не согласен. Думаю причина в том что в классе отвечающий за этот мой field не переопределен метод GetValue (в моем случае мне не нужен был export как таковой и GetValue возвращает пустую строку тк класс наследовался от SPTextField). Так что решение все таки native.

    Alex

    Alex

    28 Июн 08 at 18:04

  10. Насколько мне помнится вызов GetValue не будет происходить каждый раз при обращении к данным. Т.е. актуальность данных будет весьма сомнительная.
    Надо бы проверить, но под рукой нет ничего такого, я ваять пример сейчас нет желания. Но возможно понедельник расставит всё на свои места.
    Удачного выходного!

    Pash

    28 Июн 08 at 18:40

  11. Доброго всем времени суток! Помогите советом, пожалуйста! мне нужно, чтобы по значению из листбокса автоматически выбиралось имя пользователя…пробовал создавать вычисляемое поле, но имя пользователя в него нельзя поставить( Спасибо заранее!

    Дмитрий

    22 Фев 09 at 14:48

  12. Приветствую
    Чесно говоря не совсем понял вопроса..
    Чем не подходит стандартное lookup поле User?
    Опиши более подробно, что тебе (на ты ничего?) нужно.

    Pash

    23 Фев 09 at 10:35

  13. Ничего, конечно) У меня форма подачи запроса на обслуживание, там есть раскрывающийся список «Тип проблемы» (Оборудование, программа, сеть и т.д), нужно, чтобы в зависимости от выбранного типа проблемы автоматически задача назначалась человеку или группе, которая специализируется на этом типе проблемы.

    Дмитрий

    23 Фев 09 at 14:30

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

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

    P.S. Поле типа User имеет значение SPFieldUserValue или SPFieldUserValueCollection в зависимости разрешен мультивыбор или нет.

    Pash

    23 Фев 09 at 14:40

  15. А можно поподробней о EventReciever, пожалуйста? Или где почитать можно…

    Дмитрий

    23 Фев 09 at 14:46

  16. В частности тебе надо List Item Event Receiver
    поищи в msdn-м SDK по Sharepoint-у, там много инфы, например как то так
    http://msdn.microsoft.com/en-us/library/bb736146.aspx (video)

    Pash

    23 Фев 09 at 15:04

  17. Спасибо! Буду пробовать)

    Дмитрий

    23 Фев 09 at 15:10

  18. Не могу понять, я в этом деле новичек просто( List Item Event Receiver пишется в Visual Studio, а как его подвесить на форму в MOSS и как его связать с полем?

    Дмитрий

    23 Фев 09 at 15:23

  19. Event Receiver — исходя уже из названия, обработчик (получатель) события.
    В частности тебе необходимо обрабатывать события добавление нового item-а в лист (есть еще события изменения/удаления item-а). И в обработчике этого события выставлять нужные тебе значения в нужное опять-таки поле. Event Receiver может быть завязан на лист (обработка событий листа), feature и т.д.

    Вообщем копай матчасть. Успехов!

    Pash

    23 Фев 09 at 15:37

  20. Сделал без EventReceiver, но теперь новая проблема, Рабочий процесс не хочет назначать задачу группе, только отдельному пользователю…не сталкивались с такой проблемой?

    Дмитрий

    25 Фев 09 at 14:26

  21. А в листе задач, в поле, обозначающее на кого это задача назначается, разрешены группы?

    Pash

    25 Фев 09 at 16:01

  22. Да, выбрано Пользователи и группы

    Дмитрий

    26 Фев 09 at 15:12

  23. Ну тогда надобно более подробное описание твоей реализации назначения.

    Pash

    26 Фев 09 at 16:01

  24. На форме добавления заявки сделан листбокс – Тип проблемы, по значению в списке и выбирается пользователь (поле Кому назначено)Создан рабочий процесс, в нем условия Если Тип проблемы = ххх то в поле Кому назначено вставляем УУУ. Так вот с пользователем работает, а с группой не хочет, дает неизвестную ошибку в рабочем процессе.

    Дмитрий

    27 Фев 09 at 2:20

  25. Слегка уж запоздало, но надобно бы код, а так только по звездам могу предполагать :)

    Pash

    2 Мар 09 at 11:42

  26. Там и кода нет, как такогого) Рабочий процесс делал в Sharepoint Designer, условиями если в поле Тип проблемы: X, то в поле Кому назначено: Y

    Дмитрий

    4 Мар 09 at 3:35

  27. С такой проблемой не сталкивался, ибо workflow-в в Designer-е не делал :)
    Успехов!

    Pash

    4 Мар 09 at 10:23

  28. Да есть такая проблема. Чтобы происходило присвоение группы в поле кому назначено надо поправить права в самой группе. Сейчас у вас установлено настройка, состав группы могут просматривать только участники, если разрешить просмотр всем, то проблема решится.

    LuckyNum

    1 Дек 09 at 9:23

  29. Здравсвуйте.
    Вопрос довольно запоздалый и может немного не в тему.
    Есть форма Dashboard созданная с помощью Microsoft Office PerfomancePoint Server 2007 в Dashboard Designer. Там есть один dashboard с неким набором фильтров. При открытии разными пользователями устанавливается последнее значение фильтра в dashboard. Он вроде как сериализуется в виде xml файла в таблицу БД. Можно ли как нибуть создать событие, которое при открытии документа будет определять пользователя и устанавливать фильтры с которыми он обычно работает. Я представляю, что силами этого дизайнера это не сделать. С Sharepoint работаю впервые. Так вот собственно можно ли как-нибудь выгрузить данную форму в Visual studio 2005\2008 чтобы не писать код страницы с нуля.
    Буду очень благодарен за любую помощь. Спасибо

    Dmitry

    23 Апр 10 at 10:17

  30. Приветствую
    С Office PerformancePoint Server не работал, как следствие сходу не понятна связка с SharePoint-м. Посему вряд ли буду полезен ;)

    Pash

    23 Апр 10 at 10:36

  31. А может сталкивались с необходимостью настройки фильтров через SharePoint Api для других сторонних сервисов? Это больше как вопрос по Windows SharePointServices 3.0 Не могу понять как управлять фильтрами в нем… Т.е. фильтр имеет значение по умолчанию и каждый раз просто устанавливать это значение через апи при загрузке страницы – как самый простой вариант….

    Dmitry

    28 Апр 10 at 12:31

  32. [b][url=http://magusbooks.ru/]Книги по черной магии[/url], тетради с обрядами, [url=http://magusbooks.ru/]тетради черных колдунов[/url]. Уроки школы Черной Магии. Различные обряды: Различные порчи, проклятия, привороты, отвороты, остуды, рассорки, присухи, обряды на удачу, обряды на деньги и богатство, черные заклинания, черные заговоры, лечение и переклады болезней, работа с бесами духами и умершими. [u] http://magusbooks.ru/ [/u] [/b]

    Blackbooks

    9 Авг 10 at 22:47

  33. [b]Приглашаю к участию в ПЛАТНЫХ опросах через интернет.[/b]

    - за участие в опросе от 50 до 200 рублей
    - прохождение опросов через сайт удаленно из дома
    - выплаты через электронные деньги
    - большое кол-во опросов

    [b][url=http://tinyurl.com/32yzwrn]РЕГИСТРАЦИЯ[/url][/b]

    [b]ВАЖНО![/b]

    КОГДА НАЧИНАЕТСЯ ОПРОС И У ВАС СПРАШИВАЮТ: РАБОТАЕТЕ ЛИ ВЫ ИЛИ ВАШИ РОДСТВЕННИКИ ТАМ ТО, ТАМ ВСЕГДА ОТВЕЧАЙТЕ НЕТ!

    [URL=http://vfl.ru/][IMG]http://vfl.ru/i/20100731/77ffdf34af3e42463cb20a798f36f29c_1.jpg[/IMG][/URL]

    carboncotaxia

    13 Авг 10 at 1:32

  34. Хотим с мужем в кредит купить [url=http://shkafy.com/biblioteka/]книжный шкаф[/url] посоветуйте еще что то, ассортимент сейчас стал такой огромный запуталась я

    shkafy.com

    13 Авг 10 at 5:04

  35. [url=http://remroom.ru]ремонт квартиры[/url]
    [url=http://remroom.ru]ремонт квартира[/url]
    [url=http://remroom.ru]отделка ремонт квартир[/url]
    [url=http://remroom.ru]ремонт квартир офисов[/url]
    [url=http://remroom.ru]ремонт квартир стоимость[/url]
    [url=http://remroom.ru]квартира под ремонт[/url]
    [url=http://remroom.ru]ремонт квартир ключ[/url]
    [url=http://remroom.ru]ремонт квартир под ключ[/url]
    [url=http://remroom.ru]ремонт квартир москва[/url]
    [url=http://remroom.ru]ремонт квартир в москве[/url]
    [url=http://remroom.ru]ремонт квартир цены[/url]
    [url=http://remroom.ru]ремонт квартир объявления[/url]
    [url=http://remroom.ru]отделка квартиры[/url]
    [url=http://remroom.ru]отделка квартир офисов[/url]
    [url=http://remroom.ru]ремонт отделка квартир[/url]
    [url=http://remroom.ru]ремонт и отделка квартир[/url]
    [url=http://remroom.ru]отделка квартир[/url]
    [url=http://remroom.ru]отделка квартир косметический ремонт квартиры[/url]
    [url=http://remroom.ru]отделка помещений ремонт квартир офисов[/url]
    [url=http://remroom.ru]отделка помещений квартиры[/url]
    [url=http://remroom.ru]ремонт отделка квартир офисов[/url]
    [url=http://remroom.ru]отделка квартир под ключ[/url]
    [url=http://remroom.ru]отделка квартир дизайн[/url]
    [url=http://remroom.ru]отделка ремонт квартир ключ[/url]
    [url=http://remroom.ru]ремонт квартир под ключ отделка[/url]

    adongigninues

    29 Авг 10 at 1:37

Leave a Reply