| 
    
            
         
         | 
    
  | 
Как выполнить 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) перенаправить вывод в файл и прочитать этот файл     
         | 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |