Gostaria de saber se é possível, eu rodar códigos simples no VsCode sem a necessidade de abrir o protheus.
Gostaria de saber se é possível, eu rodar códigos simples no VsCode sem a necessidade de abrir o protheus.
Olá Luscas, segue exemplo com duas funções, a primeira ira funcionar basta adicionar um codigo de cliente correto na variavel cCodigo, já na segunda errar arremessar um erro pos o ambiente não foi setado. Para testar a função basta chamar o debug(F5) e colocar a o nome de uma das funções u_Funciona() ou u_NaoFunciona()
/*/{Protheus.doc} User Function Funciona
(Teste para chamado no Debug do VsCode, chamando com comando u_Funciona())
@type Function
@author Leandro Lemos
@since 12/07/2023
@version P12
@param param_name, param_type, param_descr
@return return_var, return_type, return_description
@example
(examples)
@see (links_or_references)
/*/
User Function Funciona()
Local cNome := ''
Local cCodigo := '000001'
RpcSetEnv('01','010101')//Grupo, Filial
DBSelectArea("SA1")
SA1->(DBSetOrder(1))
SA1->(DbSeek(xFilial("SA1")+cCodigo))
cNome := SA1->A1_NOME
RpcClearEnv()
return
//Exemplo abaixo não ira funcionar pois não setei o ambiente
User Function NaoFunciona()
Local cNome := ''
Local cCodigo := '000001'
DBSelectArea("SA1")
SA1->(DBSetOrder(1))
SA1->(DbSeek(xFilial("SA1")+cCodigo))
cNome := SA1->A1_NOME
return
basta no programa inicial do smartclient ou ate mesmo quando voce executa pelo vscode, informar a sua user function, por exemplo:
lembrando que existem algumas regras: 1. se seu codigo precisar abrir dicionario de dados e necessario abrir a empresa primerio 2. nao pode usar funcoes clients, ja que voce esta executando em server entre outras
Opa explica melhor isso, Preciso abrir o dicionario de dados e nao posso usar funçoes clientes
— Lucas de Paulo Santos 12 de Jul de 2023
O que seria abrir o Protheus? Pois não existe de fato essa necessidade, nunca existiu.
— Daniel Mendes 11 de Jul de 2023