Вопрос : Позволения состояния потока операций Sharepoint изготовленный на заказ

мы createad изготовленный на заказ ассоциированном с архивом форм, мы имеем «собрать данные от действие которые создают новую задачу в изготовленный на заказ workfow списка задачи «HRTasks», проблему, котор потребителя» мы имеем созданную задачу можем быть отредактированы всеми способствуем потребителей, можем мы подняли сообщение отказанное доступом когда потребитель которому задано к когда щелчок деталь задачи то переднее к

Thanks
перечисляет страницы «/HRTasks/DispForm.aspx " class=

Ответ : Позволения состояния потока операций Sharepoint изготовленный на заказ

Hi,

Судимый ход iий Кодий и работы отлично с заданным и non-заданным потребителем.
Пожалуйста прикрепите debugger (attach к w3wp.exe) в визуально студии для того чтобы отлаживать вопрос.

Herewith Кодий, мы использовали -

общественное свободное пространство ItemUpdating преодоления автоматического действия (свойства SPItemEventProperties)
        {
            base.ItemUpdating (свойства);

            если (== properties.ListTitle.Equals (DocumentLibararyType.Tasks , StringComparison.InvariantCultureIgnoreCase) поистине), то
            {
                Место = null SPWeb;
                попытка
                {
                    spItem SPListItem = properties.ListItem;
                    место = properties.OpenWeb ();
                    spOwnerGroup SPGroup = site.AssociatedOwnerGroup;
                    spCurrentUser SPUser = site.CurrentUser;

                    зашнуруйте strStatus = spItem [ItemFiledType.Status] .ToString ();
                    intIndex int = spItem [ItemFiledType.AssignedTo] .ToString () .IndexOf («#");
                    зашнуруйте spAssignedTo = spItem [ItemFiledType.AssignedTo] .ToString (). Извлекайте (0, intIndex + 1);
                    зашнуруйте spCurrentUserLoginName = site.CurrentUser.LoginName;
                    зашнуруйте spCurrentUserName = site.CurrentUser.Name;  // добавило для того чтобы увидеть если «задано к» такое же как имя в настоящее время потребителя.
                    blnAllowUpdate bool = ложно;

                    если (== spCurrentUserLoginName.Equals («\ sharepoint \ система», StringComparison.InvariantCultureIgnoreCase) ложное), то
                    {
                        foreach (SPGroup spg в spCurrentUser.Groups)
                        {
                            если (site.AssociatedOwnerGroup ! = null)
                            {
                                если (== 0 spg. Name.CompareTo (site.AssociatedOwnerGroup.Name)), то
                                {
                                    если (== strStatus.Equals (FileItemStatusType.Completed, StringComparison.InvariantCultureIgnoreCase) поистине), то
                                    {
                                        // это будет сообщением мы хотел были бы показать к потребителю
                                        // если он пытается уточнить активно задачу
                                        properties.ErrorMessage = «задача уже завершено и не может быть обновлено теперь. »;
                                        //// эта линия фактическ отменяет delete
                                        свойства. Cancel = true;
                                    }
                                    еще
                                    {
                                        blnAllowUpdate = true;
                                    }
                                }
                            }
                        }

                        // если состояние задачи законченн оно, то не будет активно задачей больше
                        // в противном случае мы отменяем пропускание
                        // если (strStatus! = «завершенное» strStatus &&! = strStatus && «продукции»! = «отказанное утверждение»)
                        если (== blnAllowUpdate ложное), то
                        {
                            // «spAssignedTo.CompareTo (spCurrentUserName)! = 0» это, котор условие добавило для того чтобы увидеть если «задано к» такое же как имя в настоящее время потребителя.
                            если (, то (spAssignedTo.CompareTo (spCurrentUserLoginName)! = 0 && spAssignedTo.CompareTo (spCurrentUserName)! = 0) &&
                                (== strStatus.Equals (FileItemStatusType.Completed, StringComparison.InvariantCultureIgnoreCase) ложное))
                            {
                                // это будет сообщением мы хотел были бы показать к потребителю
                                // если он пытается уточнить активно задачу
                                properties.ErrorMessage = «этот деталь будет все еще внутри прогрессом и может только быть обновлено создателем деталя. »;
                                //// эта линия фактическ отменяет delete
                                свойства. Cancel = true;
                            }
                            еще если (== strStatus.Equals (FileItemStatusType.Completed, StringComparison.InvariantCultureIgnoreCase) поистине), то
                            {
                                // это будет сообщением мы хотел были бы показать к потребителю
                                // если он пытается уничтожить активно задачу
                                properties.ErrorMessage = «задача уже завершено и не может быть обновлено теперь. »;
                                //// эта линия фактическ отменяет delete
                                свойства. Cancel = true;
                            }
                        }
                    }
                }
                задвижка (исключение ex)
                {
                    properties.ErrorMessage = «внутренне ошибка произошло пока делающ действие» + Environment.NewLine +
                        ex. Message.ToString ();
                    свойства. Cancel = true;
                }
            }

        }

Я надеюсь, оно помогаю.

Приветственные восклицания…
Rajendra
Другие решения  
  •  Как я добавляю кнопки на форме PDF для того чтобы добавить/извлекаю рядки данных?
  •  Шнур ошибки в блоке задвижки?
  •  сколько вариант сервера SQL на одной машине
  •  Внешний вид 2007 не может архивный файл открытой сети сохраненный
  •  Активно директория DNS записывает вопрос
  •  Отчет о доступа 2010 экспорта к CSV с коллекторами?
  •  Прокладчик OCE 9400 не начинает
  •  как добавить десятичное место в формуле в отчете о кристалла seagate
  •  Windows XP и Мичрософт Оутлоок и проблемы установителя Windows
  •  VB6 к VS2010 - консультации тренировки?
  •  
    programming4us programming4us