BlackTDN Search

quarta-feira, 21 de setembro de 2011

Protheus :: Advpl :: Utilizando scripts em PowerShell para manipular objetos COM :: Combo III : Excel

Da mesma forma que podemos rodar scripts em PowerShell para manipular objetos COM no “client” usando WaitRun ( Protheus :: Advpl :: Utilizando scripts em PowerShell para manipular objetos COM :: Combo II : Excel ), podemos usar, para efetuar o mesmo processo no server, a WaitRunSrv .

O que muda, entre um modelo e outro, é, basicamente, a forma como o totvs/protheus server localiza e manipula os diretórios e arquivos e, quando da finalização do processo o arquivo gerado é copiado do “server” para o “client”. Gerar o arquivo no server, teoricamente, é mais rápido uma vez que diminuimos o I/O entre o totvs/protheus server e o remote client.

Apesar da geração no server ser, mais rápida, ela, usando os modelos que disponibilizei, não é tão mais rápida assim. Perceberemos a diferença no próximo “post” quando reescreverei o(s) exemplo(s) de forma a tornar o processo de integração Protheus/PowerShell/Excel um tanto quanto mais rápido.

Um instantâneo do processo de chamada do PowerShell pelo totvs/protheus server pode ser visto abaixo.

TotvsAppServer_PowerShell_Excel_1

TotvsAppServer_PowerShell_Excel_2

image

Para baixar os exemplos do III Combo, clique aqui.

No Programa U_T2PSExcel.prg temos um modelo de geração pelo “Client” e, em U_ST2PSExcel.prg, como efetuar o mesmo processo no “Server. Neste último, verificamos a existência da chave PS_LOCAL na seção correspondente ao Environment em uso durante o processo, e, se o seu conteúdo for igual a 1, quando da cópia do arquivo excel para o client quem se reponsabilizará por abri-lo será o PowerShell através da WaitRun, caso contrário abriremos utilizando a função ShellExecute.

[]s

иαldσ dj

Nenhum comentário:

Postar um comentário