Pular para o conteúdo principal

Postagens

Mostrando postagens de 2023

Descobrir uma porta no windows com netstat e matar ela

  netstat -ano | findstr :8080 taskkill /pid 11704 /F https://stackoverflow.com/questions/8688949/how-to-close-tcp-and-udp-ports-via-windows-command-line

Simples teste de email com PowerShell

 $EmailFrom = "protheus@meuemail.com.br" $EmailTo = "aaaaaaaa@totvs.com.br" $Subject = "TESTE" $Body = "TESTE" $SMTPServer = "smtp.office365.com" $SMTPClient = New-Object Net.Mail.SmtpClient($SmtpServer, 587) $SMTPClient.EnableSsl = $true $SMTPClient.Credentials = New-Object System.Net.NetworkCredential("protheus@meuemail.com.br", "minhasenha"); $SMTPClient.Send($EmailFrom, $EmailTo, $Subject, $Body)

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

npx fill - Apagar node_modules

 npx npkill Procura node_modules e apaga Fonte: https://medium.com/featurepreneur/kill-every-node-modules-with-npkill-3fb1fe7f4692

Docker, continuando os estudos

Abaixo descrevo meu processo de aprendizado com o docker, o teste abaixo foi feito em uma ambiente local.  Utilizando o artigo abaixo, consegui subir o mesmo ambiente no gCloud -  https://medium.com/@douglasbragaw/hospedando-e-rodando-aplica%C3%A7%C3%A3o-angular-9-no-google-cloud-plataform-8ffdaa82576f Baby Steps:  1) Ter um arquivo dockerfile  2) Build do seu arquivo docker file  docker build -t gcloud-example-angular-nginx . 3) Ver imagens criadas  docker image ls    4) Executar imagem  docker run -d --name nginx -p 80:80 gcloud-example-angular-nginx Parametros:  -d: serve para rodar em background  -p: define as portas do host  5) Ver se o container está em execução 6) Acessar o ssh do ambiente  docker exec -it crazy_diffie bash 7) Ver processos do docker  docker top my-docker 9) Acompanhar logs do docker  docker logs --follow 311e68fe4e7c2a964fd2a8a5f9d23050bd709f398f91112cd7fdde3641045e6a * comando executado no host  Resultado no gCloud Fontes:  https://www.edureka.co/blog/docker-c

Uma simples ideia, basta adquirir e executar

Esta semana, estávamos em uma reunião com o cliente, discutindo alguns pontos sobre uma demanda. A demanda, de certa forma, não foi novidade para mim, pois já havia atuado em situações similares com outros clientes. Contextualizando, a demanda estava relacionada ao RFID, o qual o ERP integraria ao processo. O fato é que, durante a discussão, ficou evidente que o setor de TI foi o último a ser informado da situação, e já estávamos nos estágios finais de fechar o contrato. Não pretendo levantar questões do processo aqui, mas fica claro que as pessoas não enxergam ou não envolvem os responsáveis no processo. Não sei se isso é uma estratégia do tipo "está aqui, faça acontecer" ou realmente uma falta de comprometimento com a empresa, ao deixar de envolver os responsáveis pela TI e pelo processo da empresa em um projeto dessa magnitude. Um ponto que entendi e que ficou claro para mim foi que as pessoas não se preocuparam com a integração entre os sistemas, não compreenderam como is

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. 

TOTVS - Protheus - Como analisar rotinas que estão demorando.

Antes de iniciar uma analise dessa, tenha em mente que seu sistema precisa estar atualizado, com dbaccess,  appserver, smartclient, patchs e pacotes acumulados, sem isso é impossível fazer uma análise mais detalhada do caso.   1) Ativar o log profile, ele vai ser seu melhor amigo  https://centraldeatendimento.totvs.com/hc/pt-br/articles/360019236251-Log%C3%ADstica-Linha-Protheus-TMS-Gerar-LogProfiler-atrav%C3%A9s-do-Shift-F6 2) Ativar o Rastro do DBACCESS  https://centraldeatendimento.totvs.com/hc/pt-br/articles/360006726312-MP-BD-DBACESS-TRACE-Como-utilizar-o-DBACCESS-para-rastreamento-de-execu%C3%A7%C3%A3o-de-uma-rotina 3) Desativar customizações.  https://centraldeatendimento.totvs.com/hc/pt-br/articles/360021114292--Cross-Segmentos-Linha-Protheus-Como-ativar-e-desativar-customiza%C3%A7%C3%B5es-no-Protheus 4) Abra um chamado enviando esses dados ou use a rotina LOGPROFILER (https://drive.google.com/file/d/1DQVxZcYMfUHFpw1kCoE2BSj3YgJO60S4/view?usp=sharing) 

GIT - Timeout Senha

  Cache for 1 hour git config --global credential.helper "cache --timeout=3600" # Cache for 1 day git config --global credential.helper "cache --timeout=86400" # Cache for 1 week git config --global credential.helper "cache --timeout=604800"

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 recursos alcançam um certo limite, o  broker  requisita ao  agente  a criação de uma nova instância de  s

Desativar a TAG APP_MONITOR no appserver

Essa tag foi criada em versões recentes, por default ela vem ativa, gerando alguns problemas ao subir na mesma porta quando existe mais de um appserver, em novas versões do APPSERVER esse problema foi sanado. Por hora estamos desativando ela.   https://tdn.totvs.com/pages/viewpage.action?pageId=552580433 [APP_MONITOR] enable=0

Indicadores do SQL Server: Page Life Expectancy

SELECT [object_name] ,[counter_name] ,[cntr_value] FROM sys.dm_os_performance_counters WHERE [object_name] LIKE '%Manager%' AND [counter_name] = 'Page life expectancy' https://medium.com/@pelegrini/indicadores-do-sql-server-page-life-expectancy-b82d0d0a377b

Procedure para calcular o campo A1_NROCOM E A1_PAGATR na tabela SA1 de clientes do ERP TOTVS Microsiga Protheus

RECALCULAR O CAMPO A1_MSALDO, ANALISA OS MAIORES SALDOS EM ABERTO PARA UM CLIENTE POR DIA COMO EXECUTAR A PROCUDERE: DECLARE @OUT_RESULTADO varchar(max) EXEC PRC_CALE_REFAZ_SA1050_A1_MSALDO '0101', ' ', 'ZZZZZZ', ' ', 'ZZZZ' , @OUT_RESULTADO OUT PRINT @OUT_RESULTADO CREATE PROCEDURE [dbo].[PRC_CALE_REFAZ_SA1010_A1_MSALDO] ( @FILIAL CHAR(4) , @CLIENTE_DE CHAR(6) , @CLIENTE_ATE CHAR(6) , @LOJA_DE CHAR(4) , @LOJA_ATE CHAR(4) , @OUT_RESULTADO varchar(250) OUT ) AS BEGIN TRY PRINT 'Execução Iniciada' DECLARE @EMISSAO VARCHAR(10) DECLARE @TIT_EMISSAO VARCHAR(10) DECLARE @VALORACU DECIMAL(20,2) DECLARE @VALORDIA DECIMAL(20,2) DECLARE @VALORABE DECIMAL(20,2) DECLARE @CLIENTE CHAR(6) DECLARE @LOJA CHAR(4) DECLARE @TIT_CLIENTE CHAR(6) DECLARE @TIT_LOJA CHAR(4) DECLARE @TIT_FILIAL CHAR(4) -- PARAMTROS PROCEDURE /*DECLARE @FILIAL CHAR(4) DECLARE @CLIENTE_DE CHAR(6) DECLARE @

Conversão de datas no MSSQL

Conversão de datas no MSSQL  Fonte: https://www.mssqltips.com/sqlservertip/1145/date-and-time-conversions-using-sql-server/ How to get different date formats in SQL Server Use the SELECT statement with CONVERT function and date format option for the date values needed To get YYYY-MM-DD use this T-SQL syntax SELECT CONVERT(varchar, getdate(), 23) To get MM/DD/YY use this T-SQL syntax SELECT CONVERT(varchar, getdate(), 1) Check out the chart to get a list of all format options Below is a list of SQL date formats and an example of the output.  The date used for all of these examples is "2022-12-30 00:38:54.840". DATE ONLY FORMATS Format # Query Format Sample 1 select convert(varchar, getdate(), 1) mm/dd/yy 12/30/22 2 select convert(varchar, getdate(), 2) yy.mm.dd 22.12.30 3 select convert(varchar, getdate(), 3) dd/mm/yy 30/12/22 4 select convert(varchar, getdate(), 4) dd.mm.yy 30.12.22 5 select convert(varchar, getdate(), 5) dd-mm-yy 30-12-22 6 select convert(varchar, getdate(),