Pular para o conteúdo principal

Postagens

Mostrando postagens com o rótulo advpl

Query Via API Protheus

Monta uma expressão SQL que é retornada via API.   https://tdn.totvs.com/display/public/framework/APIs+Rest+Framework https://tdn.totvs.com/display/public/framework/GenericQuery https://tdn.totvs.com/display/public/framework/GenericList

Jenkins x Protheus X Git - Uma linda entrega diária!

Antigamente, com o Protheus, tínhamos um processo manual de troca de RPO (Repositório de Objetos). Com o tempo, começaram a surgir arquivos .bat, .java, e assim por diante, que começaram a automatizar essa troca no RPO (Repositório de Objetos). Mais tarde, quando finalmente desenvolvemos um script em PowerShell (disponível em https://github.com/charlesreitz/managerRPO), entramos na fase de testes e automatização. Durante esse período, integramos nosso script ao Jenkins e ao Git (Gitea), garantindo que o projeto estivesse completamente sincronizado com o ambiente de produção. Sim, é verdade! Costumamos implantar programas diretamente no ambiente de produção, sem um processo de testes formal com CI/CD, mas passando por vários testes e analises dos usuários. No entanto, esse cenário é bastante específico, pois o ERP com o qual trabalhamos é altamente customizável e requer atualizações frequentes. O cliente com o qual implementamos esse sistema possui uma equipe experiente, que faz entrega...

F1 de campo

 https://tdn.totvs.com/display/tec/ShowHelpCpo Ativa o F1 em campo customizado, apresentando a mensagem de ajuda do campo e o nome do campo. 

Notas de Release - TOTVS Microsiga Protheus - TEC + FRAME

Sempre que possível se atualizando com as notas de release!  Appserver: https://tdn.totvs.com/display/tec/Application+Server+-+20.3.y.z Framework: https://tdn.totvs.com/display/public/framework/Release+Notes  DBAccess: https://tdn.totvs.com/display/tec/DBAccess+-+Notas+de+release Smarclient: https://tdn.totvs.com/display/tec/SmartClient+-+Notas+de+release

Evolução do Broker com Broker Agente

 Além do BROKER tradicional que utilizamos para o produto TOTVS Microsiga Protheus, agora temos a possibilidade de configuração de um broker mais inteligente, que consegue se adaptar aos recursos necessários.  Para quem usa cloud e paga por consumo, essa funcionalidade pode agregar e reduzir os custos do ambiente TOTVS Microsiga Protheus.  " O TOTVS | Broker Agent ( agente ) é uma ferramenta utilizada em conjunto com o  TOTVS | Application Server  ( server ) e com o  TOTVS | Broker  ( broker ) para prover  escalabilidade horizontal   a um ambiente formado por um  agente,  um  broker  e vários  servers . Em palavras mais simples, a funcionalidade de  escalabilidade horizontal  funciona da seguinte maneira: O  broker  monitora o consumo de vários recursos utilizados pelos  servers  balanceados: conexões, memória, usuários, threads e cpu À medida que o consumo total desses vários recurs...
Esses dias estava precisando montar algo para apresentar o tempo que uma determinada rotina, uma parte eu pesquisei e consegui um função pronta, outra parte foi montada. Compartilhando abaixo a idéia. /*/{Protheus.doc} TempRest Exemplo de chamada da função. ** Fonte não compilado, pode haver erros de sintaxe. /*/ User Function APrefHR() Local nTimeIni := Seconds() Local nI := 1 Local nFim = 50000 For Ni := 1 To nFIm conout(U_TempRest(nI, nFim,nTimeIni)[4]) Next Return Nil /*/{Protheus.doc} TempRest Faz o calculo de tempo restante para um processo @author TSC679 - CHARLES REITZ @since 12/07/2016 @param nTotaisP, numeric, descricao @param nIncrement, numeric, descricao @param nTimeIni, numeric, descricao @return return, return_description /*/ User Function TempRest(nTotaisP,nIncrement,nTimeIni) Local cTempoRest := "" Local nHoraRest := 0 LOcal nSecAtual := seconds() Local aRetFun := {nil,nil,nil,ni...

MSSQL - Remover itens duplicados

Muitas vezes, faz necessário eliminar informações duplicadas, existe algumas formas de realizar essa tarefa. Abaixo segue uma forma de fazer. Explicação rápida, ele conta o total de duplicados, deixando sempre 1 (TOP(@CONT -1)). Esse script foi testando no MSSQL 2008, 2012 e 2014. DECLARE @ID VARCHAR(500) DECLARE @CONT int DECLARE CUR_DELETE CURSOR FOR SELECT N4_FILIAL+N4_CBASE+N4_ITEM+N4_TIPO+N4_OCORR+N4_TIPOCNT+N4_CONTA+N4_DATA+N4_SEQREAV, COUNT(*) FROM SN4010 WHERE D_E_L_E_T_ = ' ' AND N4_FILIAL = '01' --AND N4_ITEM = '07' AND N4_CBASE = 'BR0016 ' AND N4_DATA = '20100831' GROUP BY N4_FILIAL+N4_CBASE+N4_ITEM+N4_TIPO+N4_OCORR+N4_TIPOCNT+N4_CONTA+N4_DATA+N4_SEQREAV HAVING COUNT(*) > 1 OPEN CUR_DELETE FETCH NEXT FROM CUR_DELETE INTO @ID,@CONT WHILE @@FETCH_STATUS = 0 BEGIN UPDATE TOP(@CONT -1) SN4010 SET D_E_L_E_T_ = '*' WHERE N4_FILIAL+N4_CBASE+N4_ITEM+N4_TIPO+N4_OCORR+N4_TIPOCNT+N4_CONTA+N4_DATA+N4_SEQREAV = @ID FETCH NEXT...

Criando módulos do menu Protheus

A Totvs disponibiliza até 3 possíbilidades de criar novos módulos e para tanto vc deve criar 3 funções conforme abaixo. User function EspNome() Return " Módulo Especifíco 1" User function Esp1Nome() Return " Módulo Especifíco 2" User function Esp2Nome() Return " Módulo Especifíco 3" O retorno será o nome do módulo que será gerado. FONTE:  http://efacildemais.blogspot.com.br/

Acentuando no Protheus

No Protheus existe a possíbilidade de se trabalhar com palavras acentuada, apenas alterando um parametro, o MV_ACENTO de 'N' para 'S', desta forma as palavras que forem acentuadas serão aprentadas desta forma dentro de sistema. FONTE:  http://efacildemais.blogspot.com.br

Cadastro de funções ADVPL

FWDirRemove( cDir, nType, lComplete, lKillFiles ) Função para remover diretórios, com a vantagem de remover somente o ultimo nível ou todo o caminho. cDir                   Diretório a ser removido lComplete          Remove todo o caminho (.T.) ou apenas o ultimo nível (.F.) lKillFiles             Remove os arquivos antes de tentar remover o diretório FWMakeDir( cDir, lShowMsg ) Função para criar diretório com seus subdiretórios, com a vantagem de criar todo o caminho. cDir                    Diretório a ser criado lShowMsg          Exibe ou não mensagem caso não consiga criar o diretório FwNoAccent( cString ) Retira acentos de uma string cString ...

type mismatch on compare on FWBRWTABLE:GOBOTTOM(FWBRWTABLE.PRW)

Tratavasse de uma rotina customizada, onde foi utilizado um arquivo de trabalho. No indice que estava sendo criado, utilizam um campo de data, dessa forma deveria ser convertido isso com a função DTOC(CAMPODATA)  Partes do código: Como era:  IndRegua("TRB", cArqTRB, "DTW_DATINI" )  Como fico: IndRegua("TRB", cArqTRB, "DTOC(DTW_DATINI)" )  Sempre tomar cuidado quando utilizar um índice no arquivo de trabalho    THREAD ERROR (raphaelb, SRV-WTS01)   16/07/2014 14:20:22 type mismatch on compare  on FWBRWTABLE:GOBOTTOM(FWBRWTABLE.PRW) 02/05/2014 11:40:15 line : 857 [TOTVS build: 7.00.121227P-20131106] Called from FWBRWTABLE:UPDATETOPBOT(FWBRWTABLE.PRW) 02/05/2014 11:40:15 line : 1848 Called from FWMBROWSE:UPDATETOPBOT(FWBROWSE.PRW) 08/05/2014 10:12:05 line : 10421 Called from FWMBROWSE:CREATEBROWSE(FWBROWSE.PRW) 08/05/2014 10:12:05 line : 3161 Called from FWMBROWSE:ACTIVATE(FWBROWSE.PRW) 08/05/2014 10:12:05 line : 1065 Called f...

Conout com mensagem padrão e retorno da string formatada - ADVPL

/*/{Protheus.doc} xMPad @author TSC679 - CHARLES REITZ @since 26/09/2013 @version 1.0 @return cMsg, Mensagem padrão formatada @description Funcao que monta uma mensagem padrao para ser apresentanda em error log e no conout. Automaticamente ira ser apresentada em console. O retorno dela sera a mensagem apresentada no conout. O Parametro _cMsg1 e _cMFunc possui cache, ou seja se você deseja continuar com a mensagem 1 sempre igual, apenas envie na primeira chamada após isso ele irá continuar a levar a mensagem que você informou pela primeira vez. Para trocar a mensagem pasta enviar o parametro. @example xMPad("Funcao teste",1,"Mensagem 1","Mensagem 2") xMPad(nil,2,nil,"Mensagem 2") xMPad(nil,3,nil,"Mensagem 2") xMPad(nil,4,nil,"Mensagem 2") Visualizaçao: (09/26/13 20:20:23)[Funcao teste] Ini - Mensagem 1 - Mensagem 2 (09/26/13 20:20:23)[Funcao teste] Info - Mensagem 1 - Mensagem 2 (09/26/13 20:20:23)[Funcao teste] Err - ...

Apostila TReport TOTVS

Manual Básico de como utilizar o TReport para relatórios.

Apostila ADVPL Completo

Apostila de ADVPL completa. ADVPL I, ADVPL II e ADVPL III Clique Aqui para Baixar