|
Как выполнить powershell скрипт из 1С и вернуть обратно данные? | ☑ | ||
---|---|---|---|---|
0
Бешеный заяц
03.08.21
✎
16:29
|
Есть powershell скрипт который стучится к SharePoint и забирает данные, используются библиотеки по этому напрямую в 1С минуя powershell немогу
|
|||
1
Бешеный заяц
03.08.21
✎
16:29
|
вариант блокнот не очень хороший
|
|||
2
Kassern
03.08.21
✎
16:32
|
а через это дело разве нельзя напрямую из 1с? https://docs.microsoft.com/ru-ru/sharepoint/dev/spfx/connect-to-sharepoint
|
|||
3
Garykom
гуру
03.08.21
✎
16:35
|
(0) программиста нанять не пробовали?
|
|||
4
Бешеный заяц
03.08.21
✎
16:41
|
(2) нет у нас проблемы с авторизацией, админ грамотно доступ настроить не может
|
|||
5
Garykom
гуру
03.08.21
✎
16:43
|
покажи уже свой "powershell скрипт" затерев логин/пароль
|
|||
6
Kassern
03.08.21
✎
16:47
|
(4) ну так не изобретайте велосипедов, используйте стандартные механизмы 1с и вправьте руки сисадмину.
|
|||
7
Бешеный заяц
03.08.21
✎
16:51
|
(5)
#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" $SiteUrl = "https://мойСайт/sites/applications/" $ListName = "624060e9-5c12-40d8-9a81-f7ad7aeeed2f" $Username = "ИмяПользователя"; $AdminPassword = ConvertTo-SecureString "Пароль" -AsPlainText -Force #Get Credentials to connect #$Cred = Get-Credential #Setup the context $Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($SiteURL) $Ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $AdminPassword) #Get the list #$List = $Ctx.Web.Lists.GetByTitle($ListName) $List = $Ctx.Web.Lists.GetById($ListName) #sharepoint online powershell read list items $ListItems = $List.GetItems([Microsoft.SharePoint.Client.CamlQuery]::CreateAllItemsQuery()) $Ctx.Load($ListItems) $Ctx.ExecuteQuery() Write-host "Total Number of Items Found in the List:"$ListItems.Count #Iterate through List Items ForEach($Item in $ListItems) { #sharepoint online powershell read list items Write-Host ("List Item ID:{0} - Title:{1}" -f $Item["ID"], $Item["Title"]) #Write-Host ($Item.FieldValues); } Мне нужно $Item вернуть или даже $ListItems (смотря в каком виде вернет) |
|||
8
Garykom
гуру
03.08.21
✎
16:58
|
https://www.cnblogs.com/PeterHome/p/7009998.html
прокси на C# или Использование классов .Net в 1С для новичков если сборки представляют собой COM объекты то можно и напрямую из 1С попытаться |
|||
9
Garykom
гуру
03.08.21
✎
16:58
|
(8)+ но имхо лучше через "REST/OData endpoints"
|
|||
10
Garykom
гуру
03.08.21
✎
17:01
|
(7) еще простейший вариант это модификация сценария чтобы данные в csv (или нечто вроде) выдавал
а из 1С делать ЗапуститьПриложение() или КомандаСистемы() и читать результат |
|||
11
Feanor
03.08.21
✎
17:44
|
ВыполнитьКомандуСистемы не подходит?
|
|||
12
Feanor
03.08.21
✎
17:45
|
Еще вроде можно через COM создать оболочку и запустить скрипт
|
|||
13
Бешеный заяц
03.08.21
✎
21:44
|
(11) Данные как вернуть?
|
|||
14
Garykom
гуру
03.08.21
✎
21:59
|
(13) дык 1С через параметр передает в скрипт полное имя файла, скрипт пишет в этот файл, 1С после завершения скрипта читает
при начале скрипта файл очищать и/или писать нечто при ошибках, чтобы 1С если что поняла |
|||
15
Сеньор Программист
03.08.21
✎
22:42
|
(0) Посмотри в типовых. Там есть пример запуска приложения
|
|||
16
Сеньор Программист
03.08.21
✎
22:46
|
+(15)
Функция ЗапуститьПрограмму(Знач КомандаЗапуска, ПараметрыЗапускаПрограммы = Неопределено) Экспорт |
|||
17
Бешеный заяц
04.08.21
✎
07:59
|
через выгрузку это не кошерно, нашел ActiveXPoshV3x64 с помощью неё можно запускать и тут же забирать ответ в 1с, сегодня буду раскуривать её.
|
|||
18
Feanor
04.08.21
✎
14:23
|
(13) перенаправить вывод в файл и прочитать этот файл
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |