quinta-feira, 9 de dezembro de 2021

Cannot execute Linter

 Está com falha para compilar os fontes em advpl ?

Apresenta o erro Cannot execute Linter. Includes not defined?

1. Acesse o configure server view















2.  Insira o caminho do include ( utilize um diretório curto, e no caminho, a cada subdiretório, utilize 2 barras caídas para esquerda ), ex:


"C:\\TOTVS\\ch12\\p10r200"






















3. Salve o arquivo modificado "servers.json"

4. Feche o Visual Code

5. Pare e suba os serviços

6. Abra o Vs Code e compile o fonte.

quinta-feira, 25 de novembro de 2021

Paginação API Advpl FWAdapterBase

Foi criada a WAdapterBaseV2(), classe para facilitar a criação de API com filtros e paginação e Hash Campos JSON to Protheus.

A partir do exemplo acima é possível realizar filtros no retorno do GET, abaixo exemplos utilizando paginação e o padrão oData.

Obs. Endereço e conteúdo da comparação deve ser ajustado de acordo com o ambiente utilizado.
Filtro utilizando paginação
Filtro utilizando o padrão oData
Filtro utilizando ordenação
Filtro informando os campos que serão retornados


Ver mais na referência do tdn totvs:

segunda-feira, 10 de maio de 2021

Connection token was not informed - Falha ao Compilar

Conectou no ambiente Protheus para compilar e/ou debugar no visual code?
Mesmo conectado, não consegue compilar nenhum fonte?
Apresenta a mensagem Connection token was not informed?


Recomendação:
Então exclua a configuração e recrie novamente, informando ambiente, usuário e senha.

Possivelmente a compilação passará a funcionar.

quinta-feira, 22 de abril de 2021

usuário único sql server

No SqlSever, devido falha no restore, o bd pode ficar preso com usuário único.
Para soltar o banco rode o comando com read_write, conforme:


 USE master;

GO

ALTER DATABASE R27

SET SINGLE_USER

WITH ROLLBACK IMMEDIATE;

GO

ALTER DATABASE R27

SET READ_WRITE;

GO

ALTER DATABASE R27

SET MULTI_USER;

GO

segunda-feira, 5 de abril de 2021

Instalação Protheus PostgreSQL

Abaixo um processo de como configurar o banco de dados postgres no protheus.

1° Baixar o postgres ( ex: postgressql 12.6.1)

https://www.postgresql.org/download/windows/

Opção: Advanced users can also download a zip archive of the binaries,

postgresql-12.6-1-windows-x64.exe

2° Instalar o postgres, se atentar a porta e senha na instalação ( anotar ).
Link para auxiliar na instalação:
https://www.devmedia.com.br/instalando-postgresql/23364

3° Abrir o pgadmin4 e criar um banco de dados

Atenção, abaixo documentação oficial da totvs sobre collations homologados:

https://tdn.totvs.com/display/tec/DBAccess+-+Collation%2C+Character+Type+e+Encoding

https://tdn.totvs.com/display/public/PROT/PostgreSQL

PostgreSQL - Funções do banco de dados e caracteres acentuados

Ao utilizar um banco de dados PostgreSQL instale e configure os parâmetros LC_COLLATE (collation), LC_CTYPE (character type) e ENCODING, conforme relacionado na tabela Banco de Dados, Collation, Character Type e Code Set/Encoding.

Quando utilizado o encoding LATIN1 – diferente do encoding indicado na tabela Banco de Dados, Collation, Character Type e Code Set/Encoding, funções do banco de dados que manipulam caracteres – por exemplo lower()/upper(), não suportam/tratam caracteres acentuados. Exemplo:

SQL> select upper('acentuação'), lower('ACENTUAÇÃO')
+----------+----------+
|column1   |column2   |
+----------+----------+
|ACENTUAçãO|acentuaÇÃo|
+----------+----------+

Comando para alteração, caso necessário

update pg_database set encoding = pg_char_to_encoding('WIN1252') where datname = 'postgres';
















4° Instalar o driver do postgres.

psqlodbc_x64.zip

https://www.postgresql.org/ftp/odbc/

Após a instalação, abrir novamente o odbc.

5° Configurar o odbc

Opção postgreSql Ansi

Informar o nome do banco, ex: postgres, server localhost, porta e senha informada na instalação.














6° Testar acesso no DbAccess



















































quinta-feira, 1 de abril de 2021

launch.json 1 ou mais configurações - Protheus

É possível configurar um ou mais tipo de perfis para debug no visual code.
Exemplo: foi baixado o plugin totvs advpl e o debug for chrome para desenvolver aplicações angular.
Ora você deseja debugar no sistema totvs ora no navegador.

debug remote protheus (po-ui)
debug chrome (po-ui)

Para isso no visual code, configure o launch.json conforme:
















.

{
    "version""0.2.0",
    "configurations": [
        {
            "name""debug remote protheus",
            "type""totvs_language_debug",
            "request""launch",
            "program""${command:AskForProgramName}",
            "cwb""${workspaceFolder}",
            "smartclientBin""C:/TOTVS/R27/smartclient/smartclient.exe",
            "isMultiSession"true,
            "enableTableSync"true,
            "enableMultiThread"true
        },
        {
            "name""debug chrome po ui",
            "type""chrome",
            "request""launch",
            "url""http://localhost:4200/#",
            "webRoot""${workspaceFolder}/xxx-thf/",
            "sourceMapPathOverrides": {
                "webpack:/""${webRoot}/",
                "/./""${webRoot}/",
                "/src/""${webRoot}/",
                "/""",
                "/./~/""${webRoot}/node_modules/"
            }
        }
    ],
    "lastPrograms": [
        {
            "args": [],
            "label""sigaxxx",
            "description"""
        },
        {
            "args": [],
            "label""xxx",
            "description"""
        }
    ],
    "lastProgramExecuted""xxx"
}

Comando Restore SQL Server

 Abaixo um comando útil que pode ajudar a restaurar a base, caso a interface do sql esteja travando.

RESTORE DATABASE test2

  FROM DISK = 'c:\temp\test.bak'

  WITH REPLACE,

  MOVE 'test' TO 'c:\temp\test2.mdf',

  MOVE 'test_log' TO 'c:\temp\test2.ldf';

segunda-feira, 8 de fevereiro de 2021

Debug Mult Thread Visual Code Protheus

 É possível debugar multithread no protheus, através do visual code, para isso configure no seu launch.json as tags: "isMultiSession": true, "enableTableSync": true, "enableMultiThread": true

Ex:



Compilar Extensões e Recursos Visual Code Protheus

É possível compilar outros recursos no repositório do protheus utilizando o visual code, para isso, utilize a tag "totvsLanguageServer.folder.extensionsAllowed" no settings.json, ex: ".APP", ".BMP".

Importante: estar apenas com o plugin da totvs instalado no vs.
TOTVS Developer Studio for VSCode (AdvPL, TLPP e 4GL)

    "totvsLanguageServer.folder.extensionsAllowed": [
        ".PRW",
        ".PRX",
        ".PRG",
        ".PPX",
        ".PPP",
        ".TLPP",
        ".APW",
        ".APH",
        ".APL",
        ".AHU",
        ".TRES",
        ".PNG",
        ".BMP",
        ".RES",
        ".4GL",
        ".PER",
        ".JS",
        ".APP"
    ]

Encode ADVPL Visual Code Protheus

Ao abrir arquvis em extensões diferentes é possível configurar em qual encode o arquivo será carregado, evitando problemas de encode indevido.

No arquivo settings.josn, use a tag, files.encoding, ex:

"[prw]": {
    "files.encoding""windows1252",
    }


  "workbench.iconTheme""vscode-icons",
    "[CH]": {
    "files.encoding": "windows1252",
    },
    "[ini]": {
    "files.encoding": "windows1252",
    },
    "[advpl]": {
    "files.encoding": "windows1252",
    },
    "[prw]": {
    "files.encoding": "windows1252",
    },
    "[PRW]": {
    "files.encoding": "windows1252",
    },
    "[python]": {
    "files.encoding": "utf8",
    },
    "[html]": {
    "files.encoding": "utf8",
    },
    "[pug]": {
    "files.encoding": "utf8",
    },
    "[javascript]": {
    "files.encoding": "utf8",
    },
    "[typescript]": {
    "files.encoding": "utf8",
    },
    "[php]": {
    "files.encoding": "utf8",
    },
    "[json]": {
    "files.encoding": "utf8",
    },
    "[css]": {
    "files.encoding": "utf8",
    },
    "editor.codeActionsOnSave"null