пятница, 6 ноября 2020 г.
Очистить значение поля выбор (Power Automate)
вторник, 6 октября 2020 г.
Получение всех рабочих процессов WorkFlow 2010 в tenant
Я упустил новость о том, что WorkFlow 2010 будут отключены и только недавно увидел сообщение
Starting 11/1/2020 6:00:00 AM, SharePoint 2010 workflows will be retired and users will no longer have the ability to run or create 2010 Workflows.
#Load SharePoint CSOM Assemblies
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
Add-Type -Path "C:\Program Files\Common Files\microsoft shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.WorkflowServices.dll"
$UserName = "adm@company.com"
$Cred= Get-Credential $UserName
$SiteUrl = "https://contoso.sharepoint.com" #tenant
$array = @()
function GetSubWebs($sWeb){
$Ctx.Load($sWeb)
$WorkflowServicesManager = New-Object Microsoft.SharePoint.Client.WorkflowServices.WorkflowServicesManager($Ctx, $sWeb)
$WorkflowSubscriptionService = $workflowServicesManager.GetWorkflowSubscriptionService()
$allLists = $sWeb.Lists
$Ctx.Load($allLists)
$Ctx.ExecuteQuery()
$webUrl = $sWeb.Url
foreach($list in $allLists){
$list.Title
$listTitle = $list.Title
$List = $sWeb.Lists.GetByTitle($listTitle)
$Ctx.Load($List)
$WFassociation = $List.WorkflowAssociations
$Ctx.Load($WFassociation)
$Ctx.ExecuteQuery()
$wfCount = 0
foreach($wf in $WFassociation){
if($wf.Enabled -eq $true){
$wfCount++
}
}
if($wfCount -gt 0){
$wfCount
$allItemCount = $List.ItemCount
$camlQuery = [Microsoft.SharePoint.Client.CamlQuery]::new();
$camlQuery.ViewXml = "2020-07-31T14:48:24Z "
$addItems = $List.GetItems($camlQuery)
$camlQuery = [Microsoft.SharePoint.Client.CamlQuery]::new();
$camlQuery.ViewXml = "2020-07-31T14:48:24Z "
$modyItems = $List.GetItems($camlQuery)
$Ctx.Load($addItems )
$Ctx.Load($modyItems )
$Ctx.ExecuteQuery()
$modyItemsCount = $modyItems.Count
$addItemsCount = $addItems.Count
$object = New-Object PSObject
$object | Add-Member -Name 'Title' -MemberType Noteproperty -Value $listTitle
$object | Add-Member -Name 'All Items' -MemberType Noteproperty -Value $allItemCount
$object | Add-Member -Name 'Add Items' -MemberType Noteproperty -Value $addItemsCount
$object | Add-Member -Name 'Modified Items' -MemberType NoteProperty -Value $modyItemsCount
$object | Add-Member -Name 'WF Count' -MemberType NoteProperty -Value $wfCount
$object | Add-Member -Name 'URL' -MemberType NoteProperty -Value $webUrl
$Global:array += $object
}
}
$webs= $sWeb.Webs
$Ctx.Load($webs)
$Ctx.ExecuteQuery()
if($webs.Count -gt 0)
{
Write-Host $aWeb.Url " - " $aWeb.Webs.Count
foreach($aWeb in $webs)
{
$Ctx.Load($aWeb)
GetSubWebs $aWeb
}
}
}
$Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($SiteURL)
$Ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Cred.Username, $Cred.Password)
$Web = $Ctx.Web
$Ctx.Load($Web)
$webs= $Web.Webs
GetSubWebs($Web)
$array | Format-Table
$array | Export-Csv -NoTypeInformation -Path C:\Temp\lists.csv -encoding "utf8" -Delimiter ";"
вторник, 11 августа 2020 г.
Shared folder для внешних сотрудников с помощью WorkFlow (SharePoin Online)
Не так давно появилась задача бизнеса шарить файлы с
партнерами и что бы всем партнерам приходили оповещения о изменении файла.
Мы взвесили все за и против и решили, что делится файлами
будет удобнее чем заводить внешних пользователей себе, тратить на них лицензию.
Да и первый вход внешнего сотрдника через создание новой записи MS, подтверждение не так
удобен пользователям.
Если достум через Share link не сложный как для бизнеса так и для
внешнего сотрудника, то оповещение внешних пользователей о том, что изменился
файл в расшариной папке задача оказалась не совсем простая.
понедельник, 20 апреля 2020 г.
понедельник, 23 марта 2020 г.
Вывести ID элемента на форму редактирования/просмотра
1. Добавить вычисляемое поле, которое будет брать данные из поля ID.
Минус – на форме редактирования не отображается.
ссылка на код
вторник, 18 февраля 2020 г.
Создание сайта PWA в новой базе. (PowerShell)
1. Создает управляемый путь
понедельник, 13 января 2020 г.
вторник, 24 декабря 2019 г.
пятница, 31 мая 2019 г.
Копирование верхней навигационной панели между коллекциями с помощью PowerShell. SharePoint 2013, 2016
среда, 28 ноября 2018 г.
понедельник, 21 мая 2018 г.
Обновление фотографий пользователей из AD (SharePoint 2016)
- Из AD получаем всех пользователей, у которых есть фото.
- Далее пробегаем по ним и сохраняем файлы фотографий локально на диск сервера.
- Следующим этапом циклом проходим по файлам на диске и загружаем их SP
пятница, 6 апреля 2018 г.
Изменение лимита workflow manager
Нужно поменять параметр WorkflowServiceMaxLoadedInstances и жизнь должна наладиться, но мои попытки сделать это через PowerShell заканчивались ошибкой.
Set-WFServiceConfiguration : ActivityId клиента Базовое соединение закрыто: Непредвиденная ошибка при приеме.: 599cc617-c030-0007-31cf-af5930c0d301.
строка:1 знак:1
+ Set-WFServiceConfiguration
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Set-WFServiceConfiguration], WorkflowCommunicationException
+ FullyQualifiedErrorId : Microsoft.Workflow.Client.WorkflowCommunicationException,Microsoft.Workflow.Commands.SetServiceConfigCommand
понедельник, 27 ноября 2017 г.
Отображение Ribbon для конкретного пользователя
#suiteBarDelta{
display: none;
}
#s4-ribbonrow{
display: none;
}
вторник, 10 октября 2017 г.
Как получить значение поля в DispForm
среда, 27 сентября 2017 г.
Заполнение пользователя в поле, если форма изменена в дизайнере
мы можем это сделать прибегнув к jQuery
jQuery("table.ms-usereditor").find("div").text("user login");
jQuery("table.ms-usereditor").find("td:eq(2)").children().eq(0).click();
данное решение будет работать если в форме поле выбора пользователя только одно.
четверг, 7 сентября 2017 г.
пятница, 4 августа 2017 г.
Утверждение задач WorkFlow через PowerShell
U2U Caml Query Builder
$web = Get-SPWeb http://portal/sites/Doct $List = $web.Lists["Задачи"] $Query = New-Object Microsoft.SharePoint.SPQuery; $Query.Folder = $List.RootFolder; $camlQuery = "" $camlQuery $Query.Query = $camlQuery; $Query.RowLimit = 100; $List.GetItems($Query) | foreach-object { $item = $_ write-host $item.Name $item.Id $item['WorkflowOutcome']='Утверждено' $item['ExtendedProperties'] = $item['ExtendedProperties'] + "ows_TaskStatus='Утверждено' ows_FieldName_Comments=''" $item['PercentComplete']= 1 $item['Completed']=1 $item['Status']= 'Завершена' $item.Update() } $web.Dispose() 9
вторник, 1 августа 2017 г.
Mount-SPContentDatabase : Could not connect to sharepoint using integrated security: Cannot connect to database master at SQL server at sharepoint.
Сегодня при обновлении базы с 2013 на 2016 столкнулся с ошибкой
Mount-SPContentDatabase : Не удалось подключиться к sp_sql, используя встроенную проверку подлинности: Не удается подключиться к базе данных master на сервере SQL в sp_sql. Возможно, база данных не существует, или у текущего пользователя нет разрешения на подключение к ней.
Mount-SPContentDatabase "DB_HR" -DatabaseServer "sp_sql" -WebApplication http://portal.ru
Хотя ферма работает, работает и учетная запись имеет соответствующие права на SQL
понедельник, 5 июня 2017 г.
Опрос с картинками (Sharepoint Survey Image Question)
есть стандартный функционал голосования, но в нем нет возможности вставить изображения.
И пришлось прибегнуть к кастомизации страницы с помощью jQuery. Так же для зумирования изображения была использована библиотека ImageViewer.



















