Pesquisa

terça-feira, 21 de fevereiro de 2023

BOTÃO DE AÇÃO - UPDATE/INSERT COTAÇÃO

 

TABELA

TGFITC

 

CAMPOS ADICIONAIS CRIADOS

AD_APROVACAO_CONTAB

AD_OBSERVACAO_CONTAB

AD_DATA_CONTAB

AD_USUARIO_CONTABIL

 

 

 

 

 

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

 

SCRIPT 1: Aprovação Contábil - opção 3

=> A data é atualizada com a do sistema

=> Informa o usuário que fez o update

=> Com CASE WHEN

 

 

for(var i = 0; i < linhas.length; i++)

{

 

        var query = getQuery();

        var linha =linhas[i];

 

query.setParam("NUMCOTACAO", getParam("NUMCOTACAO"));

query.setParam("AD_APROVACAO_CONTAB", getParam("AD_APROVACAO_CONTAB"));

query.setParam("AD_OBSERVACAO_CONTAB", getParam("AD_OBSERVACAO_CONTAB"));

 

 

 

query.update("update TGFITC set AD_DATA_CONTAB = sysdate, AD_APROVACAO_CONTAB = {AD_APROVACAO_CONTAB}, AD_OBSERVACAO_CONTAB= (CASE WHEN AD_OBSERVACAO_CONTAB IS NOT NULL THEN CONCAT(CONCAT(AD_OBSERVACAO_CONTAB,' || '),{AD_OBSERVACAO_CONTAB}) ELSE {AD_OBSERVACAO_CONTAB} END), AD_USUARIO_CONTABIL2 = STP_GET_CODUSULOGADO where NUMCOTACAO = " + linha.getCampo("NUMCOTACAO"));

 

 

 

 

    mensagem = "Observação Atualizada com o complemento do Produto";

 

    query.close();

 

}

 

 

 

CAMPO ADICIONAL CRIADO PARA FAZER A LIGAÇÃO COM A TABELA DE USUÁRIO - TSIUSU

 

 

 

 

 

 

 

 

 

 

 

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>


SCRIPT 1: Aprovação Contábil - opção 2

=> A data é atualizada com a do sistema

 

for(var i = 0; i < linhas.length; i++)

{

 

        var query = getQuery();

        var linha =linhas[i];

 

query.setParam("NUMCOTACAO", getParam("NUMCOTACAO"));

query.setParam("AD_APROVACAO_CONTAB", getParam("AD_APROVACAO_CONTAB"));

query.setParam("AD_OBSERVACAO_CONTAB", getParam("AD_OBSERVACAO_CONTAB"));

 

 

 

query.update("update TGFITC set AD_DATA_CONTAB = sysdate, AD_APROVACAO_CONTAB = {AD_APROVACAO_CONTAB}, AD_OBSERVACAO_CONTAB= (CASE WHEN AD_OBSERVACAO_CONTAB IS NOT NULL THEN CONCAT(CONCAT(AD_OBSERVACAO_CONTAB,' || '),{AD_OBSERVACAO_CONTAB}) ELSE {AD_OBSERVACAO_CONTAB} END) where NUMCOTACAO = " + linha.getCampo("NUMCOTACAO"));

 

 

 

 

    mensagem = "Observação Atualizada com o complemento do Produto";

 

    query.close();

 

}

 

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 

SCRIPT 2: Aprovação Contábil

=> Usuário que informa a data

 

for(var i = 0; i < linhas.length; i++)

{

 

        var query = getQuery();

        var linha =linhas[i];

 

query.setParam("NUMCOTACAO", getParam("NUMCOTACAO"));

query.setParam("AD_DATA_CONTAB", getParam("AD_DATA_CONTAB"));

query.setParam("AD_APROVACAO_CONTAB", getParam("AD_APROVACAO_CONTAB"));

query.setParam("AD_OBSERVACAO_CONTAB", getParam("AD_OBSERVACAO_CONTAB"));

 

 

 

query.update("update TGFITC set AD_DATA_CONTAB = {AD_DATA_CONTAB}, AD_APROVACAO_CONTAB = {AD_APROVACAO_CONTAB}, AD_OBSERVACAO_CONTAB= (CASE WHEN AD_OBSERVACAO_CONTAB IS NOT NULL THEN CONCAT(CONCAT(AD_OBSERVACAO_CONTAB,' || '),{AD_OBSERVACAO_CONTAB}) ELSE {AD_OBSERVACAO_CONTAB} END) where NUMCOTACAO = " + linha.getCampo("NUMCOTACAO"));

 

 

 

 

    mensagem = "Observação Atualizada com o complemento do Produto";

 

    query.close();

 

}

 

 

 

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BOTÃO DE AÇÃO - UPDATE / TGFITE (Por período/Vendedor(tabela)) 2

 

Script 1

O script abaixo faz um update com:

  • Período
  • Escolhe vendedor na tabela (neste caso ele pega o vendedor do cabeçalho ou do item
    • Está condição foi colocado no where da seguinte forma:

(CAB.CODVEND = {CODVEND} OR ITE.CODVEND = {CODVEND})

Foi posta entre parênteses

 

  • Atualiza a observação com os números dos pedidos envolvidos

 

 

for(var i = 0; i < linhas.length; i++)

{

 

        var query = getQuery();

        var linha =linhas[i];

 

query.setParam("CODVEND", getParam("CODVEND"));

query.setParam("DTNEG_IN", getParam("DTNEG_IN"));

query.setParam("DTNEG_TM", getParam("DTNEG_TM"));

query.setParam("NUNOTA", getParam("NUNOTA"));

 

query.update("update TGFITE set QTDNEG=(SELECT SUM(ITE.QTDNEG) FROM TGFITE ITE INNER JOIN TGFCAB CAB ON CAB.NUNOTA = ITE.NUNOTA INNER JOIN TGFTOP TOP ON CAB.CODTIPOPER = TOP.CODTIPOPER AND CAB.DHTIPOPER = TOP.DHALTER WHERE (CAB.CODVEND = {CODVEND} OR ITE.CODVEND = {CODVEND}) AND CAB.TIPMOV = 'P' AND TOP.ORCAMENTO is null AND CAB.STATUSNOTA = 'L' AND CAB.DTNEG BETWEEN {DTNEG_IN} AND {DTNEG_TM}) where NUNOTA = " + linha.getCampo("NUNOTA"));

 

query.update("update TGFCAB set VLRFRETE=(SELECT SUM(CAB.VLRFRETE) FROM TGFITE ITE INNER JOIN TGFCAB CAB ON CAB.NUNOTA = ITE.NUNOTA INNER JOIN TGFTOP TOP ON CAB.CODTIPOPER = TOP.CODTIPOPER AND CAB.DHTIPOPER = TOP.DHALTER WHERE (CAB.CODVEND = {CODVEND} OR ITE.CODVEND = {CODVEND}) AND CAB.TIPMOV = 'P' AND TOP.ORCAMENTO is null AND CAB.STATUSNOTA = 'L' AND CAB.DTNEG BETWEEN {DTNEG_IN} AND {DTNEG_TM}) where NUNOTA = " + linha.getCampo("NUNOTA"));

 

 

query.update("update TGFCAB set OBSERVACAO =(SELECT LISTAGG('/ Pedido n. único: '||CAB.NUNOTA) FROM TGFITE ITE INNER JOIN TGFCAB CAB ON CAB.NUNOTA = ITE.NUNOTA INNER JOIN TGFTOP TOP ON CAB.CODTIPOPER = TOP.CODTIPOPER AND CAB.DHTIPOPER = TOP.DHALTER WHERE (CAB.CODVEND = {CODVEND} OR ITE.CODVEND = {CODVEND}) AND CAB.TIPMOV = 'P' AND TOP.ORCAMENTO is null AND CAB.STATUSNOTA = 'L' AND CAB.DTNEG BETWEEN {DTNEG_IN} AND {DTNEG_TM}) where NUNOTA = " + linha.getCampo("NUNOTA"));

 

 

    mensagem = "Quantidade e valor do Frete Atualizados";

 

    query.close();

 

}

 

 

BOTÃO DE AÇÃO - UPDATE / TGFITE (Por período/Vendedor(tabela))

Script 1

O script abaixo faz um update com:

  • Período
  • Escolhe vendedor na tabela (neste caso ele pega o vendedor do cabeçalho ou do item
    • Está condição foi colocado no where da seguinte forma:

(CAB.CODVEND = {CODVEND} OR ITE.CODVEND = {CODVEND})

Foi posta entre parênteses

 

 

 

 

 

 

for(var i = 0; i < linhas.length; i++)

{

 

        var query = getQuery();

        var linha =linhas[i];

 

query.setParam("CODVEND", getParam("CODVEND"));

query.setParam("DTNEG_IN", getParam("DTNEG_IN"));

query.setParam("DTNEG_TM", getParam("DTNEG_TM"));

 

 

query.update("update TGFITE set QTDNEG=(SELECT SUM(ITE.QTDNEG) FROM TGFITE ITE INNER JOIN TGFCAB CAB ON CAB.NUNOTA = ITE.NUNOTA INNER JOIN TGFTOP TOP ON CAB.CODTIPOPER = TOP.CODTIPOPER AND CAB.DHTIPOPER = TOP.DHALTER WHERE (CAB.CODVEND = {CODVEND} OR ITE.CODVEND = {CODVEND}) AND CAB.TIPMOV = 'P' AND TOP.ATUALCOM = 'C' AND CAB.STATUSNOTA = 'L' AND CAB.DTNEG BETWEEN {DTNEG_IN} AND {DTNEG_TM}) where NUNOTA = " + linha.getCampo("NUNOTA"));

 

 

    mensagem = "Observação Atualizada com o complemento do Produto";

 

    query.close();

 

}

 

 

 

 

 

 

 

====================================================================================================

Script 2

O script abaixo faz um update com:

  • Período
  • Escolhe vendedor na tabela

 

 

for(var i = 0; i < linhas.length; i++)

{

 

        var query = getQuery();

        var linha =linhas[i];

 

query.setParam("CODVEND", getParam("CODVEND"));

query.setParam("DTNEG_IN", getParam("DTNEG_IN"));

query.setParam("DTNEG_TM", getParam("DTNEG_TM"));

 

 

query.update("update TGFITE set QTDNEG=(SELECT SUM(ITE.QTDNEG)-1 FROM TGFITE ITE INNER JOIN TGFCAB CAB ON CAB.NUNOTA = ITE.NUNOTA WHERE CAB.CODVEND = {CODVEND} AND CAB.DTNEG BETWEEN {DTNEG_IN} AND {DTNEG_TM}) where NUNOTA = " + linha.getCampo("NUNOTA"));

 

 

    mensagem = "Observação Atualizada com o complemento do Produto";

 

    query.close();

 

}

 

 

 

 


quinta-feira, 27 de agosto de 2020

Restaurando a configuração ou resolvendo problemas do Tablet CCE F-30

Primeiramente, execute uma reinstalação do sistema mantendo-se arquivos e programas:

Clique no botão Desligar e selecione a opção Reiniciar com a tecla SHIFT pressionada;

Imagem


Clique em Solução de Problemas;

Imagem


Clique em Restaurar o PC;

Imagem


A partir de agora basta escolher a melhor opção

Imagem






domingo, 16 de agosto de 2020

Selecionar a versão do Windows 10 para instalar

Alguns notebooks já veem com o número de serie correspondente a versão do windows instalada. E por isso ao tentar atualizar a versão do mesmo não é possível.

Para resolver esse problema basta:

Este método é aplicável para quem possui a instalação do windows em um pendrive

1 - Abrir o Bloco de Notas do Windows;

2 - Digitar o seguinte dentro do bloco de notas:

[EditionID]


[Channel]

Retail


3 - Salvar o arquivo com o seguinte nome:

ei.cfg


4 - Colocar o arquivo salvo dentro da pasta SOURCES que está na instalação do windows dentro do PENDRIVE


5 - Dar o boot pelo pendrive e assim a opção com as versões do windows irão aparecer.



Autor: José

sexta-feira, 20 de setembro de 2019

Como identificar a versão do Oracle (32/64 bits)

Como identificar a versão do Oracle (32/64 bits)

É muito comum perguntarmos qual a versão do Oracle que é necessário instalar no servidor.
32 bits ou 64 bits?

Vale lembrar que um sistema operacional de 64 bits pode suportar um banco de dados de 32 ou de 64 bits. Porém um sistema operacional de 32 bits não pode suportar um banco de dados de 64 bits. Assim, a identificação de versão do sistema operacional é necessária antes de instalar o Oracle.

Esperamos ajudá-lo com este artigo.

Para identificar a versão do sistema operacional:

Para o AIX, usar:

$ getconf -a | grep KERN
$ file /usr/lib/boot/unix*


No Solaris, usar:

$ /usr/bin/isainfo -kv
64-bit amd64 kernel modules

$ /usr/bin/isainfo -v
64-bit amd64 applications
cx16 mon sse3 pause sse2 sse fxsr mmx cmov amd_sysc cx8 tsc fpu
32-bit i386 applications
cx16 mon sse3 pause sse2 sse fxsr mmx cmov sep cx8 tsc fpu

A saída apresentada indica a co-existência de arquivos de 32 e 64-bits.

Para o Linux, usar:

$ uname -a
Linux server 2.6.18-194.3.1.el5 #1 SMP Sun May 2 04:17:42 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux

Se a saída for (x86_64) então o sistema é 64 bits e se a saída for (i686 ou similar) o sistema é 32 bits.

Para o HP-UX, usar:

#/usr/bin/getconf KERNEL_BITS

ou

#/usr/bin/file /stand/vmunix

ou

#print_manifest | grep "OS mode"


Para o Windows, usar:

Start> All Programs> Accessories> System Tools> System Information> Verificar as informações sobre resumo do sistema (System summary).


Para verificar se o software Oracle é 32 ou 64 bits:

Método 1:

Acessar o $ORACLE_HOME/bin e verificar.

$ cd $ORACLE_HOME/bin
$ file oracle
oracle: ELF 64-bit LSB executable AMD64 Version 1, dynamically linked, not stripped

Se a saída for 64 bits indica que o software da Oracle é de 64 bits. Se a saída do arquivo "oracle" comando não apresentar essa mensage então a versão é 32 bits.

A saída para a versão 32 bits seria parecida com a mensagem abaixo.

$ file oracle
oracle: setuid setgid ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), not stripped

Método 2:

Conectar no SQL*Plus Verificar o baner.

$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Wed Jan 2 11:04:41 2013
Copyright (c) 1982, 2009, Oracle.  All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management and Real Application Testing options


Método 3:

Consultar a visão V$VERSION.

$ sqlplus / as sysdba

SQL> select * from v$version;

BANNER
----------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
PL/SQL Release 11.2.0.1.0 - Production
CORE    11.2.0.1.0      Production
TNS for Linux: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 – Production


Método 4:

Verificar os diretórios “libs” e “lib32”.

1)$ORACLE_HOME/lib32
2)$ORACLE_HOME/lib

Se os dois diretórios $ORACLE_HOME/lib32 e $ORACLE_HOME/lib existirem, então a versão do  Oracle instalada é de 64 bits.

Se houver apenas um diretório ORACLE_HOME/lib, então a versão é de 32 bits.


Fonte:
MSc. Rubens Oliveira
DBA Oracle Consultor
olivert.dba@consultant.com

sábado, 25 de agosto de 2018

Como revelar senhas protegidas por asteriscos no seu navegador


Em geral, os navegadores lhe possibilitam gravar senhas e informações de login da maioria dos sites disponíveis na internet. Você só precisa fornecer suas informações uma única vez para que o software guarde seus dados.Essa função é muito prática, uma vez que ficar decorando um monte de senhas e logins dá um tremendo trabalho. Porém, ela tem algumas falhas: e se alguém utilizar sua máquina? Ou em outra situação: e se você precisar logar em outra máquina?

A não ser que você utilize a mesma senha para todos os sites e e-mails, a opção de guardar senhas pode dar uma tremenda dor de cabeça. Ao invés de ter que responder perguntas de segurança para readquirir as senhas, siga esse passo a passo para desvendar o que está por trás dos asteriscos.

Google Chrome

1. Acesse a área de login onde são mostrados os asteriscos;



2. Clique com o botão direito do mouse no campo de senhas e selecione "Inspecionar Elementos";



3. Na nova janela, dê um clique duplo na parte do código HTML em que está escrito type="password", mude o conteúdo para "text" e pressione "Enter". Agora, o conteúdo do


campo será trocado pela senha em caracteres legíveis.



Mozilla Firefox





No Mozilla, o editor de texto está escondido no "Inspecionador de Elemento". Para acessá-lo, clique com o botão direito do mouse no campo de senha e selecione a opção "Inspecionar elementos".

O Firefox vai abrir o um novo elemento na parte inferior da janela com o código HTML, repita o processo de substituição por "text" e pressione "Enter". Com isso, você nunca mais vai precisar resetar sua senha, todas as vezes que se esquecer do que está por trás dos asteriscos.



Não se preocupe. As mudanças não alteram a segurança do seu navegador. Ao sair da página de login, as modificações serão revertidas.