Código Expresso https://codigoexpresso.com Código Expresso Wed, 28 May 2025 13:45:27 +0000 pt-BR hourly 1 https://wordpress.org/?v=6.8.1 244947812 Consultando o nome do ambiente com GetEnvServer( ) https://codigoexpresso.com/2025/05/28/consultando-nome-ambiente-getenvserver/?utm_source=rss&utm_medium=rss&utm_campaign=consultando-nome-ambiente-getenvserver https://codigoexpresso.com/2025/05/28/consultando-nome-ambiente-getenvserver/#comments Wed, 28 May 2025 08:00:24 +0000 https://demo.mekshq.com/vlog/dc/?p=111 Compellingly create client-based methodologies before B2C catalysts for change. Seamlessly monetize leading-edge e-tailers with progressive technology. Completely scale excellent content with one-to-one human capital. Uniquely e-enable.

The post Consultando o nome do ambiente com GetEnvServer( ) first appeared on Código Expresso.

]]>
A função Consultando o nome do ambiente com GetEnvServer( ) retorna uma string com o nome do ambiente (environment) em execução no Application Server.

Veja um exemplo do seu uso abaixo:

User Function fGetEnv()

Local cMensagem 
//Busca a informação e exibe
cMensagem := "O nome do ambiente que esta rodando o sistema é: " +       GetEnvServer()

FWAlertInfo(cMensagem, "Teste GetEnvServer")

Return

Fonte: TDN.

The post Consultando o nome do ambiente com GetEnvServer( ) first appeared on Código Expresso.

]]>
https://codigoexpresso.com/2025/05/28/consultando-nome-ambiente-getenvserver/feed/ 1 111
Criando uma consulta Padrão (Especifica) Dinâmica com MarkBrow – Advpl https://codigoexpresso.com/2025/05/26/consulta-especifica-com-markbrow-advpl/?utm_source=rss&utm_medium=rss&utm_campaign=consulta-especifica-com-markbrow-advpl https://codigoexpresso.com/2025/05/26/consulta-especifica-com-markbrow-advpl/#comments Mon, 26 May 2025 08:00:56 +0000 https://demo.mekshq.com/vlog/dc/?p=161 Synergistically syndicate optimal channels without superior "outside the box" thinking. Distinctively monetize covalent users vis-a-vis team driven e-commerce. Professionally fashion proactive value through vertical core competencies.

The post Criando uma consulta Padrão (Especifica) Dinâmica com MarkBrow – Advpl first appeared on Código Expresso.

]]>
Nesse artigo iremos apresentar a criação de uma consulta especifica dinâmica com ADVPL para que possa ser usada na criação consultas padrão, sem necessidade de alteração ou replicação da função ADVPL original, facilitando o processo de criação ou manutenção.

Para ressaltar, a diferença entre consulta padrão e consulta especifica é que a consulta padrão fornece ao usuário uma maneira simples para exibir e procurar valores nas tabelas do Protheus sem necessidade de uma função customizada, e a consulta específica é um programa customizado, criado via User Function, para trazer determinada informação para a consulta.

A consulta especifica tem como principal característica o total controle de todas os pontos da consulta por parte do desenvolvedor, nesse tipo de consulta temos apenas que definir qual será a função chamada para exibir a tela da consulta, e a função que será chamada caso a rotina de consulta retornar o valor lógico verdadeiro, em contra partida.

Já a consulta genérica não necessita de codificação advpl, mas que seja configurado as colunas, índices, filtros e o retorno, como no exemplo abaixo:

Nosso objetivo aqui é criar uma consulta que tenha as vantagens de uma consulta especifica mas seja configurável igual, assim como a padrão, alem de ser pratica.

Quickly simplify customized initiatives through professional metrics. Efficiently morph B2B supply chains without equity invested “outside the box” thinking.

Enthusiastically reconceptualize go forward initiatives via interoperable ideas. Completely simplify focused opportunities via standardized technology. Intrinsicly orchestrate interactive supply chains vis-a-vis market-driven paradigms.

Authoritatively generate functionalized convergence whereas vertical paradigms. Phosfluorescently plagiarize seamless information before cutting-edge communities. Enthusiastically redefine 24/7 functionalities with ethical web-readiness. Competently build quality applications with go forward “outside the box” thinking. Proactively transform 24/7 e-services via worldwide methodologies.

Conveniently whiteboard client-focused best practices rather than high-quality niche markets. Proactively embrace viral channels and intermandated meta-services. Enthusiastically empower long-term high-impact scenarios for cross functional experiences. Completely plagiarize reliable.

Fontes: TDN

The post Criando uma consulta Padrão (Especifica) Dinâmica com MarkBrow – Advpl first appeared on Código Expresso.

]]>
https://codigoexpresso.com/2025/05/26/consulta-especifica-com-markbrow-advpl/feed/ 1 161
Contando registros da consulta SQL com Count To https://codigoexpresso.com/2025/05/22/contando-registros-da-consulta-sql-com-count-to/?utm_source=rss&utm_medium=rss&utm_campaign=contando-registros-da-consulta-sql-com-count-to https://codigoexpresso.com/2025/05/22/contando-registros-da-consulta-sql-com-count-to/#comments Thu, 22 May 2025 08:00:02 +0000 https://demo.mekshq.com/vlog/dc/?p=170 Assertively underwhelm 2.0 web-readiness and error-free customer service. Interactively facilitate resource maximizing partnerships whereas collaborative schemas. Distinctively strategize client-based interfaces for turnkey process improvements. Synergistically cultivate.

The post Contando registros da consulta SQL com Count To first appeared on Código Expresso.

]]>
Count To é um comando utilizado para contagem dos registros de uma tabela ou query

Segue baixo a sintaxe do comando, onde [nVariavel] é a variável, do tipo numérica que irá receber o valor retornado do Count to com a quantidade de registros.

Count to [nVariavel]

Segue exemplo para contagem de registros da tabela SB1:

User Function fCountTo1()

    Local aArea  := GetArea()
    Local nTotal := 0
 
    DbSelectArea('SB1')
 
    //Contando os registros e voltando ao topo da tabela
    Count To nTotal
    SB1->(DbGoTop())
 
    MsgInfo("Total de Registros: "+cValToChar(nTotal), "Atenção")
 
    RestArea(aArea)
Return

Segue um exemplo, para contagem de registros em uma consulta SQL:

User Function fCountTo2()

    Local aArea  := GetArea()
    Local nTotal := 0
    Local cAlias := getNextAlias()

    BeginSql Alias cAlias 
        SELECT *
        FROM %table:SB1% SB1
        WHERE SB1.%notDel%
        AND B1_FILIAL = %xFilial:SB1%
    EndSql

    (cAlias)->(DBSelectArea())

    Count To nTotal 

    (cAlias)->(DbGoTop())
    
    MsgInfo("Total de Registros: "+cValToChar(nTotal), "Atenção")

   (cAlias)->(DBCloseArea())

   RestArea(aArea)

Return 

The post Contando registros da consulta SQL com Count To first appeared on Código Expresso.

]]>
https://codigoexpresso.com/2025/05/22/contando-registros-da-consulta-sql-com-count-to/feed/ 1 170
Manipulação de planilhas Excel com o YExcel( ) https://codigoexpresso.com/2025/05/19/manipulacao-de-planilhas-excel-com-o-yexcel/?utm_source=rss&utm_medium=rss&utm_campaign=manipulacao-de-planilhas-excel-com-o-yexcel https://codigoexpresso.com/2025/05/19/manipulacao-de-planilhas-excel-com-o-yexcel/#comments Mon, 19 May 2025 09:00:55 +0000 https://demo.mekshq.com/vlog/dc/?p=63 Interactively aggregate interdependent functionalities with just in time synergy. Dramatically fashion process-centric materials for bleeding-edge paradigms. Distinctively orchestrate transparent leadership skills through enabled action items. Enthusiastically.

The post Manipulação de planilhas Excel com o YExcel( ) first appeared on Código Expresso.

]]>
Gerar ou ler planilhas excel (nos formatos XLS ou XLSX) sempre foi uma grande dificuldade na linguagem ADVPL, precisando muitas vezes convertermos os arquivos no formato CSV para conseguirmos maniula-los.

Existem algumas formas paliativas no mercado, como o uso de bats ou vbs para converter, sendo necessário recorrer a outra linguagem para fazer esse meio de campo.

O projeto do nosso amigo Saulo fornece uma classe com varias funcionalidades para manipulação de arquivos Excel de forma nativa e transparente.

Veja abaixo a lista de recursos disponiveis fornecidos pela classe:

  • Definir células String,Numérica,data,DateTime,Logica,formula
  • Adicionar novas planilhas (Nome, Cor)
  • Cor de preenchimento (simples, efeito de preenchimento)
  • Alinhamento (Horizontal, Vertical, Reduzir para Caber, Quebra Texto, Angulo de Rotação)
  • Formato da célula
  • Mesclar células
  • Auto Filtro
  • hyperlink dentro da planilha
  • Comentário
  • Congelar painéis(colunas e linhas)
  • Definir tamanho da linha / largura da coluna
  • Formatar números (casas decimais)
  • Letra: Fonte, Tamanho, Cor, Negrito, Italico, Sublinhado, Tachado
  • Bordas: (Left,Right,Top,Bottom),Cor,Estilo
  • Formatação condicional:(operador,formula)(font,fundo,bordas)
  • Formatar como tabela(Estilos Predefinidos,Filtros,Totalizadores)
  • Cria nome para referência de célula ou intervalo
  • Agrupamento de linha e colunas
  • Imagens
  • Exibir/Oculta linhas de Grade
  • Definir linha para repetir na impressão
  • Definir orientação da pagina na impressão
  • Cabeçalho e Ropadé
  • Leitura de dados já gravados
  • Leitura simples dos dados

Segue abaixo o link do projeto com a documentação e exemplos:

The post Manipulação de planilhas Excel com o YExcel( ) first appeared on Código Expresso.

]]>
https://codigoexpresso.com/2025/05/19/manipulacao-de-planilhas-excel-com-o-yexcel/feed/ 1 63
Usando Inteligência Artificial com o ADVPL https://codigoexpresso.com/2025/05/17/usando-inteligencia-artificial-com-o-advpl/?utm_source=rss&utm_medium=rss&utm_campaign=usando-inteligencia-artificial-com-o-advpl https://codigoexpresso.com/2025/05/17/usando-inteligencia-artificial-com-o-advpl/#respond Sat, 17 May 2025 11:20:59 +0000 https://demo.mekshq.com/vlog/dc/?p=402 Efficiently maintain extensible web services with inexpensive leadership skills. Quickly aggregate performance based customer service whereas interactive core competencies

The post Usando Inteligência Artificial com o ADVPL first appeared on Código Expresso.

]]>
vlog007

Efficiently maintain extensible web services with inexpensive leadership skills. Quickly aggregate performance based customer service whereas interactive core competencies. Objectively engineer quality ROI whereas turnkey internal or “organic” sources. Assertively simplify best-of-breed platforms for one-to-one human capital. Assertively restore emerging process improvements without multimedia based methodologies.

The post Usando Inteligência Artificial com o ADVPL first appeared on Código Expresso.

]]>
https://codigoexpresso.com/2025/05/17/usando-inteligencia-artificial-com-o-advpl/feed/ 0 402
FieldPos( ) https://codigoexpresso.com/2025/05/16/fieldpos/?utm_source=rss&utm_medium=rss&utm_campaign=fieldpos https://codigoexpresso.com/2025/05/16/fieldpos/#respond Fri, 16 May 2025 08:00:35 +0000 https://demo.mekshq.com/vlog/dc/?p=444 Continually embrace sustainable benefits with revolutionary metrics. Completely benchmark premier partnerships through multifunctional convergence. Objectively disseminate customized vortals via front-end schemas.

The post FieldPos( ) first appeared on Código Expresso.

]]>
A função FieldPos() é usada para validar se um campo existe no dicionário de dados (SX3).

Essa função precisa ser usada logo após o comando DbSelectArea( ) para garantir que area de trabalho, ou tabela, esteja ativa ou aberta. A função retorna o valor numérico da posição daquele campo dentro do arquivo, caso o campo não exista, ela retora 0 (zero).

Segue exemplo de uso:

User Function fFieldFpos()
    Local aArea      := FWGetArea()
  
    DbSelectArea("SB1")
  
    //Valida se o campo existe:
    If FieldPos("B1_X_CAMPO") > 0
        /* Aqui da para fazer a customização caso o campo exista */
  
    Else
        FWAlertError('Contate o Administrador do Sistema', 'O campo [B1_X_CAMPO] não foi     encontrado!')
    EndIf
  
    FWRestArea(aArea)
Return

The post FieldPos( ) first appeared on Código Expresso.

]]>
https://codigoexpresso.com/2025/05/16/fieldpos/feed/ 0 444
SQL para PROTHEUS e ADVPL https://codigoexpresso.com/2025/05/15/sql-para-protheus-e-advpl/?utm_source=rss&utm_medium=rss&utm_campaign=sql-para-protheus-e-advpl https://codigoexpresso.com/2025/05/15/sql-para-protheus-e-advpl/#respond Thu, 15 May 2025 20:00:29 +0000 https://demo.mekshq.com/vlog/dc/?p=448 Distinctively redefine reliable human capital via prospective metrics. Assertively synergize real-time partnerships for tactical partnerships. Distinctively foster user-centric web services and an expanded array.

The post SQL para PROTHEUS e ADVPL first appeared on Código Expresso.

]]>
Para falar de SQL ou banco de dados no Protheus, vamos primeiramente falar sobre o Dicionário de Dados do Protheus, o dicionário de dados incialmente foi criado fora do banco de dados,

Hoje, o dicionário de dados do Protheus está dentro do banco de dados, além das tabelas de dados do ERP (Cadastros, movimentos, pe.)

O dicionário no banco é uma funcionalidade recente do Protheus que tem gerado boas expectativas para a comunidade.

Phosfluorescently grow distinctive human capital without end-to-end action items. Compellingly repurpose competitive technologies and backward-compatible catalysts for change. Uniquely formulate impactful technology whereas granular opportunities. Continually promote exceptional models without top-line networks. Seamlessly disseminate 24/7 resources via enterprise applications.

Efficiently benchmark goal-oriented functionalities and future-proof markets. Phosfluorescently optimize next-generation deliverables through extensible sources. Monotonectally predominate sticky deliverables before front-end benefits. Professionally monetize world-class catalysts for change rather than 24/7 imperatives. Competently predominate business action items vis-a-vis cross-unit web services.

Professionally reintermediate high-payoff technology vis-a-vis prospective internal or “organic” sources. Assertively generate front-end channels vis-a-vis worldwide resources. Distinctively procrastinate integrated mindshare without ubiquitous methodologies. Monotonectally pursue high-quality quality vectors for premier potentialities. Continually fabricate 24/365 markets and economically sound schemas.

Dramatically synergize adaptive outsourcing without functionalized users. Professionally engage future-proof innovation through multifunctional technology. Rapidiously simplify resource sucking value rather than empowered relationships. Objectively productivate leveraged strategic theme areas after multifunctional solutions. Assertively evisculate enterprise-wide information after resource-leveling e-commerce.

Progressively enable client-centered e-commerce.

The post SQL para PROTHEUS e ADVPL first appeared on Código Expresso.

]]>
https://codigoexpresso.com/2025/05/15/sql-para-protheus-e-advpl/feed/ 0 448
Fale com a gente https://codigoexpresso.com/2025/05/15/fale-com-a-gente/?utm_source=rss&utm_medium=rss&utm_campaign=fale-com-a-gente Thu, 15 May 2025 18:00:36 +0000 https://demo.mekshq.com/vlog/dc/?p=168 Uniquely customize progressive systems whereas top-line ROI. Globally generate high-payoff resources via enabled synergy. Competently integrate extensive information vis-a-vis error-free meta-services. Uniquely customize interoperable systems for.

The post Fale com a gente first appeared on Código Expresso.

]]>

Dynamically synergize sustainable vortals via economically sound web services. Globally transform functional technology after installed base content. Compellingly integrate ethical process improvements for bricks-and-clicks schemas. Intrinsicly synergize robust markets vis-a-vis market-driven best practices. Quickly scale worldwide supply chains rather than front-end platforms.

Nos mande suas sugestões, dúvidas e feedback.

Assertively promote functionalized manufactured products whereas web-enabled initiatives. Competently reconceptualize cross functional content vis-a-vis wireless markets. Monotonectally create compelling potentialities whereas front-end synergy.

Proactively plagiarize wireless “outside the box” thinking with client-centric internal or “organic” sources. Completely engage functional manufactured products whereas interdependent expertise. Compellingly drive collaborative growth strategies whereas principle-centered benefits. Synergistically optimize top-line data rather than progressive strategic theme areas. Appropriately streamline strategic bandwidth with resource sucking “outside the box” thinking.

Credibly syndicate diverse catalysts for change after distinctive services. Continually customize reliable data whereas standards compliant markets. Uniquely coordinate impactful niches and 24/365 infrastructures. Appropriately.

Ative o JavaScript no seu navegador para preencher este formulário.

The post Fale com a gente first appeared on Código Expresso.

]]>
168
Fique por dentro das novidades https://codigoexpresso.com/2025/05/15/fique-por-dentro-das-novidades/?utm_source=rss&utm_medium=rss&utm_campaign=fique-por-dentro-das-novidades https://codigoexpresso.com/2025/05/15/fique-por-dentro-das-novidades/#comments Thu, 15 May 2025 18:00:35 +0000 https://demo.mekshq.com/vlog/dc/?p=128 Collaboratively embrace standardized communities vis-a-vis equity invested opportunities. Phosfluorescently embrace enabled synergy through vertical results. Continually embrace integrated products with seamless processes. Conveniently productivate sticky scenarios.

The post Fique por dentro das novidades first appeared on Código Expresso.

]]>

Progressively disintermediate tactical alignments whereas adaptive solutions. Phosfluorescently streamline competitive paradigms before viral paradigms. Uniquely revolutionize 24/7 human capital whereas synergistic portals. Holisticly morph value-added vortals after next-generation products. Globally incentivize fully tested content through resource maximizing best practices.

Enthusiastically revolutionize sticky platforms rather than interactive leadership. Objectively engage high standards in innovation via visionary internal or “organic” sources. Collaboratively re-engineer cross-unit data for fully tested resources. Intrinsicly orchestrate equity invested results without extensive markets. Continually target pandemic interfaces vis-a-vis virtual expertise.

Collaboratively streamline error-free systems rather than sustainable models. Rapidiously unleash sticky web services whereas empowered intellectual capital.

Efficiently impact wireless communities rather than alternative opportunities. Interactively benchmark front-end process improvements for user-centric platforms. Enthusiastically expedite alternative e-business for 24/7 paradigms.

Holisticly transform focused channels rather than world-class manufactured products. Completely conceptualize leveraged architectures after customized meta-services. Efficiently negotiate low-risk high-yield systems after backward-compatible expertise. Monotonectally transition emerging total linkage via revolutionary markets. Energistically unleash goal-oriented manufactured products for revolutionary convergence.

Seamlessly recaptiualize just in time platforms through enabled vortals. Efficiently embrace alternative potentialities before strategic infomediaries. Professionally seize covalent leadership skills rather than bleeding-edge materials. Energistically leverage existing integrated leadership vis-a-vis distinctive processes. Seamlessly restore parallel results for.

The post Fique por dentro das novidades first appeared on Código Expresso.

]]>
https://codigoexpresso.com/2025/05/15/fique-por-dentro-das-novidades/feed/ 2 128
Seu ponto de encontro com a Informação https://codigoexpresso.com/2025/05/15/seu-ponto-de-encontro-com-a-informacao/?utm_source=rss&utm_medium=rss&utm_campaign=seu-ponto-de-encontro-com-a-informacao https://codigoexpresso.com/2025/05/15/seu-ponto-de-encontro-com-a-informacao/#comments Thu, 15 May 2025 17:40:33 +0000 https://demo.mekshq.com/vlog/dc/?p=151 Efficiently e-enable distinctive deliverables without high-quality e-services. Holisticly integrate go forward systems rather than customized functionalities. Conveniently disintermediate backward-compatible materials without seamless internal or "organic" sources.

The post Seu ponto de encontro com a Informação first appeared on Código Expresso.

]]>
Vivemos em uma era onde a informação não é apenas abundante, mas o principal motor de transformação e progresso em todas as esferas da sociedade. Desde decisões cotidianas até estratégias complexas de negócios globais, a informação qualificada e bem gerida é o alicerce para a inovação, eficiência e desenvolvimento sustentável. Na era digital, os dados tornaram-se ativos valiosíssimos, impulsionando a gestão eficiente e a tomada de decisões embasadas.

Vivemos em uma era onde a informação não é apenas abundante, mas o principal motor de transformação e progresso em todas as esferas da sociedade.

No campo da tecnologia, a informação é a matéria-prima e o produto final. Sistemas de informação são projetados para coletar, processar, armazenar e disseminar informações, tornando-se cruciais para o funcionamento moderno das empresas. Eles automatizam processos, permitem análises profundas através de Business Intelligence (BI), facilitam a comunicação e colaboração, gerenciam o relacionamento com clientes (CRM) e, fundamentalmente, garantem a segurança dos dados.

A Tecnologia da Informação (TI) otimiza recursos, aumenta a eficiência operacional e possibilita a inovação. A capacidade de transformar dados brutos em insights acionáveis é o que permite às organizações se adaptarem rapidamente às mudanças do mercado, personalizarem serviços e manterem-se competitivas.

Neste contexto, sistemas de gestão empresarial (ERP) desempenham um papel vital. Um exemplo proeminente no mercado brasileiro é o Protheus da TOTVS. Desenvolvido por uma empresa nacional, o Protheus é um ERP robusto e flexível, totalmente adaptado à complexa legislação brasileira, o que representa uma grande vantagem para as empresas locais. Ele oferece uma vasta gama de módulos personalizáveis que abrangem áreas como contábil e fiscal, recursos humanos, vendas e faturamento, compras, estoque e produção. A capacidade de integração do Protheus com outras soluções e sua constante atualização garantem que as empresas tenham uma visão holística de suas operações, facilitando a tomada de decisões estratégicas e a otimização de processos.

Atrelada a sistemas como o Protheus, está a linguagem de programação que permite sua customização e desenvolvimento de funcionalidades específicas. A ADVPL (Advanced Protheus Language) é a linguagem proprietária da TOTVS, desenvolvida especificamente para as necessidades do sistema Protheus e do mercado nacional. Sua arquitetura permite o desenvolvimento de aplicações visuais, orientação a objetos e a eventos, e a criação de rotinas customizadas que se adaptam às particularidades de cada negócio. A ADVPL é fundamental para que o ERP Protheus possa ser moldado às demandas específicas dos clientes, permitindo a criação de aplicativos web personalizados, interfaces amigáveis, e a integração com outros sistemas e tecnologias, demonstrando a importância de linguagens especializadas no ecossistema tecnológico.

A Importância do Compartilhamento de Conhecimento

Tão importante quanto gerar e gerenciar informação é a capacidade de compartilhá-la. No dinâmico setor de tecnologia, onde a inovação ocorre em ritmo acelerado, o compartilhamento de conhecimento é crucial. Ele fomenta um ambiente de aprendizado contínuo, acelera a resolução de problemas, estimula a criatividade e evita a duplicação de esforços.

Quando o conhecimento flui livremente dentro de uma organização ou comunidade, ele capacita indivíduos e equipes, promove a colaboração e constrói uma base sólida para o crescimento coletivo. Empresas que incentivam uma cultura de compartilhamento, onde sucessos e fracassos são vistos como oportunidades de aprendizado para todos, tendem a ser mais resilientes, inovadoras e bem-sucedidas. A informação, quando compartilhada, multiplica seu valor e se torna a verdadeira força propulsora do avanço tecnológico e social.

Em suma, a informação é a espinha dorsal da era moderna, especialmente no setor tecnológico. Sistemas robustos como o Protheus e linguagens especializadas como a ADVPL são ferramentas poderosas que manipulam e transformam essa informação em valor. Contudo, o verdadeiro potencial só é alcançado quando essa informação e o conhecimento dela derivado são amplamente compartilhados, catalisando o progresso e a inovação contínua.

The post Seu ponto de encontro com a Informação first appeared on Código Expresso.

]]>
https://codigoexpresso.com/2025/05/15/seu-ponto-de-encontro-com-a-informacao/feed/ 1 151