Meu interesse começou quando assisti a este vídeo:
Eu gostei da voz e por isso decidi conferir também o álbum Our Version of Events. Não é comum eu favoritar todo um álbum (14 músicas) mas foi o que acabou acontecendo, música após música.
Show! Confesso que particularmente não é o meu gênero preferido (eu curto mais rock progressivo, som anos 1980 e, – surpreendentemente! – som lounge e algumas vertentes techno/eletrônicas), mas é um som agradável e também gostei muito do vídeo!
A rotina 2092 é a rotina usada como intermediário entre terminais de consulta como o Gertec TC505/TC504 e o servidor principal Winthor. Você a executa em uma máquina qualquer e configura o IP dessa máquina como servidor nos terminais de consulta.
Para reconhecer novos terminais, vá em Serviços, clique em Desativar e depois em Ativar. O terminal deverá aparecer. Se aparecer como “não cadastrado”, abra a aba cadastro e insira as informações do terminal. Se o terminal não for cadastrado a rotina 2092 sempre vai responder a toda consulta com “Não encontrado”.
Clique para comentar
(Prefira clicar em "Responder" se estiver comentando um comentário)
Ela não existe. Na verdade a rotina imprime na impressora padrão do Windows.
Mover a impressora Bematech não-fiscal para outra porta USB (especialmente por troca da placa-mãe) pode eventualmente fazer com que a impressão não saia mais, porque o Winthor está imprimindo na porta serial virtual errada. Eu não tive tempo para checar se poderia resolver isso através de configuração da impressora mas desinstalar o driver e instalar de novo resolve o problema.
Na ocasião eu estava tentando aplicar um patch para o blueekeep no Windows 7. A causa do problema era o serviço Windows Update desativado na máquina e bastou colocar em Manual para o problema sumir.
Sempre desativo atualizações automáticas ao formatar um pc, e eventualmente preciso reativar pra instalar algo (em geral .msu mesmo) mas não é sempre que lembro, o sistema em vez de avisar logo, fica mandando esses códigos de erro pra ter que pesquisar no google kkkk
Eu costumo desativar o serviço Windows Update porque além de eu não gostar de atualizações automáticas volta e meia eu me deparo com uma máquina misteriosamente lenta e a causa, que não é óbvia a princípio porque o serviço está “escondido” por um processo svchost, é o Windows Update consumindo 100% da CPU sem parar.
Um serviço que costumo desativar também é o Superfetch, dizem que ele acelera processos mas acho que consome mais rodando em segundo plano como o Update. O que você acha?
Quais serviços podemos desligar no windows 7 e 10 que não fazem falta?
Clique para comentar
(Prefira clicar em "Responder" se estiver comentando um comentário)
Outro sintoma desse mesmo problema é o monitor ficar alternadamente exibindo cores sólidas em tela cheia.
O problema pode ser facilmente resolvido com uma atualização de firmware e nem é necessário ferramentas especiais. Basta conectar com o cabo VGA a um notebook ou outro computador que tenha uma saída de vídeo extra e rodar o atualizador da Samsung que pode ser baixado aqui. O que usei foi o SamsungFirmwareUpdater_1.1.07_120227.
Tenho uma unidade deste monitor que apresenta o que aparenta ser um defeito no LCD, mas eu tentei atualizar o firmware primeiro só por desencargo de consciência, e com isso tenho duas observações:
2. O atualizador não funcionou em duas máquinas com Windows 7 de 64 bits, com um crash na fase “Checando configuração do sistema”, mas consegui executá-lo em uma terceira máquina com Windows XP de 32 bits. Todas são notebooks com vídeo onboard Intel HD Graphics 3000.
1) Não funcionou em nenhuma das máquinas com Windows 7 e Windows 10 que tentei, precisei rodá-lo no Windows XP;
2) Quando precisei baixá-lo há uns 3 meses, ele não estava mais na página da Samsung, mas ainda podia ser baixado pela Wayback Machine. Agora (março de 2020) ele está de volta.
Vou aproveitar o tópico pra explicar um problema que tenho aqui.
Eu tenho um Monitor Samsung modelo S20A300B (LS20A300BSMZD), que a autorizada da Samsung diz que “trocou a placa lógica”, porém a imagem não fica centralizada, nem mexendo na resolução. Pelo AIDA64, eu percebi que ele detecta esse monitor como “S19A300B”.
Após alguns anos com esse monitor parada eu resolvi tentar resolver o problema atualizando o firmware pelo software da Samsung, mas ele diz que já está atualizado.
Então eu fiquei com uma dúvida:
-> Se a placa lógica for a mesma pra vários modelos, eu poderia simplesmente gravar o firmware do modelo S20A300B no chip BIOS desse modelo S19A300B e o monitor funcionaria como o S20A300B ou não tem como?
*OBS: Eu tentei fazer a gravação de BIOS por um gravador que comprei da China, mas não obtive sucesso. Talvez por erro meu.
Se a placa lógica for a mesma pra vários modelos, eu poderia simplesmente gravar o firmware do modelo S20A300B no chip BIOS desse modelo S19A300B e o monitor funcionaria como o S20A300B ou não tem como?
Por um lado me parece que sua experiência já responde à pergunta. Ou o que você tem aí é uma placa do modelo S20… que erroneamente reporta ser o modelo S19… (e nesse caso é claro que você pode gravar o firmware do S20…) Ou você tem uma placa do modelo S19… que claramente funciona em um monitor S20…
Por outro lado, se eu nunca tivesse ouvido o testemunho da sua situação eu diria que primeiro seria necessário comparar as especificações dos dois monitores. Se ambos tem certas características físicas (notadamente resolução) idênticas e a diferença é apenas de uma polegada a mais no display, há uma grande chance de que as placas sejam idênticas mudando apenas o firmware ou este pode pode ser também o mesmo e o que muda são parâmetros gravados na EEPROM.
Se os monitores tiverem resoluções diferentes isso ainda é possível, embora mais difícil.
Ocorre que os monitores tem mesmo resoluções diferentes. O menor tem 1366×768 e o maior 1600×900. A primeira questão que me vem à mente é: você consegue ir a 1600×900 ou agora está limitado a 1366×768?
Executei este procedimento em um Samsung SA300 e não obtive êxito. Quando executo o programa, ele dá uma mensagem informando que o monitor já possui a versão atualizada da BIOS e encerra.
Alguém já teve este problema e conseguiu solucionar?
Clique para comentar
(Prefira clicar em "Responder" se estiver comentando um comentário)
Na sexta feira passada foi publicado um exploit para a até então teórica vulnerabilidade do protocolo RDP do Windows chamada de “bluekeep” que permite a um atacante remoto invadir um sistema vulnerável ganhando totais privilégios. Se você ainda não aplicou os patches da MS é bom fazê-lo imediatamente. Mas mesmo que você tenha aplicado é sempre bom testar se está funcionando mesmo e para isso o utilitário rdpscan por enquanto não tem substituto mais simples de usar.
Você executa informando a faixa de endereços que quer testar asim:
rdpscan 10.129.40.1-10.129.40.254
E ele responde com algo assim:
No exemplo, a máquina .203 ainda está vulnerável.
É importante sempre lembrar que você não se deve deixar enganar pelo termo “remoto” e pensar que isso envolve acesso à internet. Uma máquina vulnerável pode ser invadida por outra máquina infectada dentro de sua própria rede, sem qualquer intervenção do usuário na máquina vulnerável. Um usuário sem poderes de administrador numa máquina segura qualquer pode infectar uma máquina vulnerável dando poderes de administrador ao vírus nesta, que por sua vez tentará infectar outras. E lembrando também que ransonware nem precisa de permissões de administrador em lugar algum.
Você ainda pode ver se a atualização necessária está instalada na sua máquina. Um dos meios é usar o batch sugerido neste texto. Cole em um arquivo de extensão .bat e rode. O programa vai indicar se achou o update instalado.
Se o batch fechar abruptamente sem exibir nada, corrija as aspas nos três comandos “find”.
A operação do Winthor numa empresa de varejo hoje requer quatro servidores:
Servidor principal Linux (Oracle) – requer a assistência de um DBA Oracle pois a TOTVS não dá suporte a ele;
Servidor DocFiscal Windows – Responsável por toda comunicação com a SEFAZ;
Servidor WTA (Winthor Anywhere) Windows – Requerido para atualização dos programas (rotinas) e para a operação do DocFiscal;
Servidor de faturamento Windows – responsável por coletar as vendas dos caixas e enviar para o servidor principal;
Eu estou atendendo a uma empresa que tem duas operações desse tipo e por isso tem oito servidores dedicados ao Winthor.
Por um lado eu acho que usar servidores distintos reduz o risco de uma atualização em um requisito do sistema conflitar com a operação de outro e facilita a manutenção e a redundância. Por outro lado gera um problema para manter quatro máquinas rodando e sincronizadas. Você só percebe esse último problema quando se depara com a necessidade de mover uma ou mais delas entre redes e alterar os respectivos endereços IP e se pergunta: “onde eu tenho que configurar cada um dos servidores e cada um dos clientes que acessam esses servidores para não quebrar a operação?”
Depois que você sabe é “fácil”, mas como eu esperava as configurações são espalhadas:
Mudança no endereço IP do servidor principal:
No próprio servidor, além da óbvia mudança do IP na configuração do Linux é preciso editar o arquivo listener.ora;
Cada estação que acessa o chamado “menu Winthor” precisa ter o arquivo tnsnames.ora editado;
Cada caixa precisa ter o “dblink” recriado pelo menu F5 “Manutenção checkout” da 2075 pois do contrário apesar de supostamente a operação da 2075 ser “offline” existe uma carga obrigatória no início do dia que não poderá ser feita e a rotina se recusará a abrir o caixa;
O servidor DocFiscal precisa ser reconfigurado com novo endereço via sua interface web.
Mudança no endereço IP do servidor DocFiscal precisa ser informada na rotina 132;
Mudança no endereço IP do servidor WTA precisa ser informada na rotina 132;
Mudança no endereço IP dos caixas precisa ser informada ao servidor de faturamento no programa de gerenciamento;
Virtualizar todas as máquinas Windows é uma possibilidade, mas o número de outros problemas que tenho a resolver é tão alto que isso vai ficando para depois.
Sobre o servidor principal, no início eu estranhei a TOTVS não dar suporte a ele mas depois a razão disso ficou mais clara. Aparentemente a TOTVS quer deixar evidente que os dados pertencem ao cliente e que ela só fornece um conjunto de programas para manipulá-los. Na maioria dos sistemas comerciais que eu já vi só quem sabe a senha do banco de dados é o suporte técnico do sistema comercial mas com o Winthor, pelo contrário, a TOTVS não sabe a senha, o que já sugere que ela seja diferente para cada cliente, o que por sua vez dificulta a criação de um vírus que tenha como alvo o servidor principal Winthor nacionalmente. E é o cliente que precisa digitar as credenciais durante a instalação dos softwares. Infelizmente o fato de ser usado um SGBD tão complexo quanto o Oracle e ser necessária a contratação de um DBA para cuidar de seus problemas é um ponto negativo.
E justamente o fato do cliente saber a senha permitiu a existência de processos paralelos para obter informações do banco. Um deles já existia quando eu cheguei e eu acabei tendo que criar outro: um programa para consultar o banco de dados e gerar etiquetas de preços com código de barras para os produtos nas gôndolas. O processo anterior era enrolado demais até para mim e estava com uns bugs muito estranhos (do tipo que faz você arregalar os olhos e dizer baixinho: “mas que p***ra é essa?!”) então decidi que criar um software, além de ser um exercício de programação para Oracle, iria me poupar de dores de cabeça com as chamadas de suporte para o processo existente.
O servidor da faturamento roda também um servidor FTP Filezilla. Na primeira vez que vi isso rodando eu não sabia ainda o propósito e tive ânsia de desativar, mas me contive porque tudo era possível nessa empresa. Mais tarde fiquei sabendo que é por FTP que os caixas transferem informações para o servidor de faturamento. Um problema aí: as credenciais são padrão para toda instalação do Winthor: usuário “caixa” e senha “caixa”. O mesmo ocorre nos caixas: cada um deles tem um servidor Oracle XE com as mesmas credenciais, onde estão armazenadas todas as informações sobre as vendas. Por que o servidor de faturamento precisa de um servidor de FTP para receber as informações quando poderia buscar as informações diretamente nos servidores em cada caixa ainda é um mistério para mim. Um vírus dedicado ao Winthor (ou um funcionário mal intencionado) pode apagar/alterar todas as informações dos caixas (testado) e, se o usuário FTP tiver permissões de apagamento (acaba de me ocorrer que tenho que checar isso) bagunçar tudo no servidor de faturamento também.
Delphi. É a única linguagem com a qual me sinto confortável. Hoje mesmo eu tive que escrever dois programas em Java na faculdade, mas detesto essa linguagem.
Encontrei outro problema provocado pela mudança no IP do servidor Oracle. O “CCW Agente”, necessário para a operação da Central de Controle Winthor (CCW) deixa de funcionar e você não consegue mais usar a CCW para atualizar o sistema. Eu não sei se é possível corrigir isso em alguma configuração, mas atualizar o CCW Agente resolveu, porque o instalador pergunta tudo de novo.
Estou querendo instalar o WinThor para avaliar melhor as funcionalidades, sabe informar como posso encontrar os scripts para instalar o banco de dados.
Atualmente tenho o seguinte link que disponibiliza diversos arquivos porém não tem uma documentação para ser seguida.
Até onde sei essa informação não é pública e apenas os DBAs credenciados pela PCSistemas/TOTVS sabem oficialmente como fazer. O banco de dados é instalado pelo DBA durante a implantação do sistema.
Tenha me mente que ter um DBA responsável pelo banco (não precisa ser um funcionário em tempo integral, pode ser um contrato) é um dos requerimentos da contratação do sistema Winthor.
Outra coisa: este link que você encontrou é apenas para os softwares do “autoserviço”, que é como eles chamam o faturamento/caixas. Uma instalação completa do Winthor tem centenas de outros módulos (“rotinas”) e mesmo que você consiga achar o instalador do cliente ou baixar as centenas de rotinas manualmente e ainda conseguir instalar/configurar o servidor Oracle, eu acho difícil você conseguir rodar alguma coisa sem o arquivo de licença.
QUAL LINGUAGEM É UTILIZADA PARA CRIAR AS ROTINAS NO WINTHOR?
EU CONSIGO CRIAR ALGUMAS COISAS UTILIZANDO JAVA E CONECTANDO NO BANCO DE DADOS, PORÉM AINDA ASSIM, VEJO QUE NÃO É A MESMA COISA, PQ NÃO SEI COMO QUE É CADASTRADO COMO ROTINA DENTRO DO PROPRIO WINTHOR.
Então mano, como eu te falei, eu faço alguns programas, não necessariamente rotinas, utilizo o acesso e tenho conhecimento das tabelas do banco.
Inclusive fiz um programa para coletores a quinze dias atrás, porém só estava querendo saber mesmo pra ver se me ajuda em alguma coisa.
Eu só não entendi o que quis dizer quando falou que saber a linguagem não me ajudaria muito.
Tem alguma complexidade além?
Algo que não saiba? É isso?
Eu quero começar a fazer de forma correta igual o pessoal faz, porém eles cobram muito caro por coisas que eu sei que é simples pq eu sou desenvolvedor, mas cobrar 10k em um programa que faz apenas um select no bd é foda.
E outra, seria pra fazer pra empresa que eu trabalho mesmo sabe.
Deixar de fazer no Java e passar a fazer como é de fato feito.
Me Desculpa pela caixa alta anteriormente, não tinha percebido.
Gostei de seu site, estou terminando de desenvolver um também, quero fazer algumas postagens voltado a desenvolvimento web e desktop
Você disse que não sabe “como é cadastrado como rotina dentro do próprio Winthor”
A PC Sistemas (agora TOTVS) pode ter implementado uma API para isso, pode haver um arquivo de configuração em algum lugar, a lista pode estar em uma tabela no banco de dados ou a rotina pode até ser “hardcoded” no programa menu. Nada disso tem a ver com linguagem usada.
Já coisas como a agilidade do programa, sim, tem a ver com a linguagem/compilador usado.
Nota: eu tive dificuldade com o plural de NFC-e e segui o que estava recomendado aqui.
No Winthor existe um servidor dedicado chamado de DocFiscal que é encarregado de todas as operações envolvendo a SEFAZ. A rotina 2075 no caixa ao efetuar uma venda envia o cupom para o DocFiscal que por sua vez pede autorização à SEFAZ e repassa o resultado ao caixa. Caso haja um problema nessa comunicação o cupom é emitido “em contingência”, isto é: o consumidor recebe um cupom mesmo sem a devida (?!) autorização do governo, mas a empresa tem um prazo para regularizar isso. No caso do Winthor isso é feito no fechamento de cada caixa, quando todos os cupons emitidos em contingência são reenviados (assim a operação me explicou).
O cenário é o que descrevi no post anterior. No caso o servidor DocFiscal também estava na outra cidade o que significava que cada emissão de cupom dependia da confiabilidade de dois acessos à internet. E ao final de cada dia uma dezena de cupons tinha sido enviada em contingência. Mesmo assim eu achei que havia algo errado porque o volume de vendas era baixo e seria preciso muita instabilidade para coincidir justamente da venda ser feita quando houvesse problema em um dos links. Eu não consegui detectar essa instabilidade. E desconfiei que a latência também tivesse algo a ver com isso, porque em momentos de congestão do link (alguém fazendo upload ou download em qualquer uma das pontas) essa podia subir para vários segundos. Um possível “timeout” poderia estar ocorrendo.
Na mesma operação de mover o servidor principal eu também movi o servidor DocFiscal para a mesma rede local dos caixas e esse problema também foi resolvido. A operação me disse que o número de cupons emitidos em contingência caiu para um por semana.
No Winthor a “Rotina 2075” é o programa usando nos caixas, também chamado de “Winthor Varejo”. Supostamente (falarei sobre isso em outro post) essa rotina funciona completamente offline, pois mantém seu próprio banco de dados local (Oracle) em cada caixa com todo o necessário para efetuar uma venda. O processo de sincronizar esse banco de dados local com o banco principal, também Oracle, é chamado de “carga”.
Quando cheguei a essa empresa fiquei espantado com o fato dessa carga levar até 15 minutos. O servidor principal ficava em outra cidade e essa comunicação ocorria via internet usando uma VPN, mas ainda assim não se justificava, porque o banco de dados era pequeno, a banda efetiva (testado) era de 3.5Mbps e uma observação do uso da rede durante a carga mostrava que uma fração desprezível dessa banda estava sendo usada. Não havia congestão do link pois essa demora acontecia a qualquer hora, mesmo quando as empresas nas duas cidades ainda estavam fechadas.
Isso era um problema para a operação, porque qualquer mudança de preços efetuada durante o dia levava no mínimo 15 minutos para ser propagada. “No mínimo” porque como o caixa não podia operar durante esse processo isso tinha que ser feito em um caixa de cada vez. Também era um problema para a manutenção, porque muitos testes envolviam efetuar a carga e às vezes era preciso fazer isso múltiplas vezes.
A única pista que eu tinha da razão estava na latência. Um ping através dessa VPN levava no mínimo 70ms, não sendo incomum ficar em um mínimo de 100ms. Eu suspeitei de programação mal feita. Em vez de coletar toda a informação em um pacote só e aí esses 100ms seriam irrelevantes, a 2075 provavelmente estava dividindo a carga em milhares de querys. Digamos que você tenha 10 mil produtos cadastrados e consulte cada um deles individualmente: numa rede local, cabeada, cuja latência não passa de 1ms essas querys não devem levar mais que (10000×0,001) 10 segundos e um “erro” desses passa despercebido. Mas quando a latência é 100 vezes maior temos 1000s (16 minutos) desperdiçados para efetuar a mesma operação. Note que não é preciso usar uma VPN para ter esse tipo de problema. Basta querer conectar os caixas via Wi-Fi para ter latências piores.
Por essa e outras razões ficou decidido mover o servidor principal para a mesma rede local dos caixas, na outra cidade. Depois que efetuei essa operação, que exigiu semanas de planejamento por causa da complexidade do Winthor, a carga dos caixas passou a levar até 15s.
Clique para comentar
(Prefira clicar em "Responder" se estiver comentando um comentário)
Show! Confesso que particularmente não é o meu gênero preferido (eu curto mais rock progressivo, som anos 1980 e, – surpreendentemente! – som lounge e algumas vertentes techno/eletrônicas), mas é um som agradável e também gostei muito do vídeo!
Ouvi, gostei, em algum momento lembra Amy Winehouse.
Isso não é elogio para mim. Na maior parte do tempo eu acho a voz de Amy Winehouse irritante
O Jefferson vai sair desse cliente multimilionário, pelo tempo que está levando…
Bom dia!