Pular para o conteúdo principal

Postagem em destaque

BlackTDN :: Como Criar Relatórios de Cotações com Dados Agrupados Usando SQL

img: DALL·E 2024-08-09 07.00.00 - A high-quality image showcasing a detailed SQL query being written in a code editor, such as VS Code, on a dark theme background. ... ## Como Criar Relatórios de Cotações com Dados Agrupados Usando SQL Quando trabalhamos com sistemas ERP e precisamos gerar relatórios de cotações que apresentam dados de múltiplos fornecedores, é comum encontrarmos a necessidade de pivotar registros que, originalmente, são apresentados de forma vertical. Isso é especialmente útil quando o objetivo é comparar preços ou condições de diferentes fornecedores para um mesmo produto em uma única linha do relatório. Neste artigo, vamos explorar uma abordagem para transformar registros verticais em colunas, facilitando a impressão de relatórios que consolidam informações de vários fornecedores em uma única linha. Vamos utilizar SQL com técnicas de pivotagem, e ao final, mostraremos como estender essa técnica para um número variável de fornecedores. ### Estrutura do Relatór

BlackTDN :: Expressões Regulares ~ RegExp via Ezzy Learning Validation

Israel Neves estava com uma dúvida na validação de Expressões Regulares em ADVPL. Após pesquisar muito, conclui que não existem funções Prontas em ADVPL e, se existirem não estão disponíveis para uso. Em função disso, segue uma pequena amostra de como validar Expressões Regulares usando a ferramenta “online” da Ezzy Learning.

No Exemplo, uso o validador de Expressões Regulares da Ezzy Learning para verificar se um endereço de e-mail é valido.

Peguei emprestada a Classe TDecode do projeto Harbour MiniGui para tratar Content-Type: application/x-www-form-urlencoded

Para obter o código do exemplo clique aqui. Opcionalmente, poderá consultar os códigos aqui e as dependências aqui

Os exemplos poderão ser testados executando-se U_RegExpEx na tela de entrada do sistema. A saída se dara no console do Protheus Server.

As validações são baseadas em RegularExpressionValidationService.

RegExp: [SoapRegExp][1.1][mail@blacktdn.com.br][^[a-zA-Z0-9\._-]+@[a-zA-Z0-9\._-]+.([a-zA-Z]{2,4})$][.T.]
RegExp: [SoapRegExp][1.2][mail@blacktdn.com.br][^[a-zA-Z0-9\._-]+@[a-zA-Z0-9\._-]+.([a-zA-Z]{2,4})$][.T.]
RegExp: [HttpGetRegExp][mail@blacktdn.com.br][^[a-zA-Z0-9\._-]+@[a-zA-Z0-9\._-]+.([a-zA-Z]{2,4})$][.T.]
RegExp: [HttpPostRegExp][mail@blacktdn.com.br][^[a-zA-Z0-9\._-]+@[a-zA-Z0-9\._-]+.([a-zA-Z]{2,4})$][.T.]

RegExp: [SoapRegExp][1.1][mailblacktdn.com.br][^[a-zA-Z0-9\._-]+@[a-zA-Z0-9\._-]+.([a-zA-Z]{2,4})$][.F.]
RegExp: [SoapRegExp][1.2][mailblacktdn.com.br][^[a-zA-Z0-9\._-]+@[a-zA-Z0-9\._-]+.([a-zA-Z]{2,4})$][.F.]
RegExp: [HttpGetRegExp][mailblacktdn.com.br][^[a-zA-Z0-9\._-]+@[a-zA-Z0-9\._-]+.([a-zA-Z]{2,4})$][.F.]
RegExp: [HttpPostRegExp][mailblacktdn.com.br][^[a-zA-Z0-9\._-]+@[a-zA-Z0-9\._-]+.([a-zA-Z]{2,4})$][.F.]

RegExp: [SoapRegExp][1.1][mail_blacktdn.com.br][^[a-zA-Z0-9\._-]+@[a-zA-Z0-9\._-]+.([a-zA-Z]{2,4})$][.F.]
RegExp: [SoapRegExp][1.2][mail_blacktdn.com.br][^[a-zA-Z0-9\._-]+@[a-zA-Z0-9\._-]+.([a-zA-Z]{2,4})$][.F.]
RegExp: [HttpGetRegExp][mail_blacktdn.com.br][^[a-zA-Z0-9\._-]+@[a-zA-Z0-9\._-]+.([a-zA-Z]{2,4})$][.F.]
RegExp: [HttpPostRegExp][mail_blacktdn.com.br][^[a-zA-Z0-9\._-]+@[a-zA-Z0-9\._-]+.([a-zA-Z]{2,4})$][.F.]

Infelizmente não consegui criar o Client do Web Server baseado no WDSL da Ezzy Learning pois o Protheus retorna o seguinte erro:

Estabelecendo conexão com o server...
Por favor aguarde. Obtendo descrição do WebService...
Erro na obtenção da descrição do WebService:
*** ERRO AO GERAR FONTE ADVPL ***
Source URL : http://www.ezzylearning.com/services/RegularExpressionValidationService.asmx?wsdl
-------------------------------------------------------------------------------
WSCERR075 / Unsuported Enumeration List []
ADVPL WSDL Client 1.111215 / P10 Ndj_01 on 20120404 00:13:49
-------------------------------------------------------------------------------

Mas isso não me impediu de disponibilizar um exemplo funcional e de fácil entendimento usando TSocketClient, HTTPGET e HTTPPOST

[]s

иαldσ dj

Comentários

  1. Boa tarde !
    Tem como enviar para outra página sem %5B%5D que corresponde [ ] no envio html
    No Protheus da erro
    Antecipadamente
    Agradeço
    Gilberto

    ResponderExcluir

Postar um comentário

Postagens mais visitadas