• advertisement_alt
  • advertisement_alt
  • advertisement_alt

Cezar Pereira (Categero)

Members
  • Content count

    18
  • Joined

  • Last visited

Community Reputation

5 Neutral

About Cezar Pereira (Categero)

  • Rank
    Member
  1. Boa tarde Evandro, Tentei anexar aqui o arquivo mas esta dando erro, vou mandar no seu whatsapp.
  2. Boa noite Evandro, Para usarmos as fontes draft no crystal, na época (2002 ou 2003.......) instalavamos um pacote essas fontes, vou ver se acho aqui em algum dos meus antigos notebooks
  3. Boa noite pessoal, Restaurei um backup de um BD no control center e não sei por qual motivo, toda tabela que tento acessar pedi senha, até sei a senha, mas gostaria de desabilitar isso. Procurei no gerenciamento de direitos do banco e não achei onde desabilita isso, se alguém puder ajudar eu agradeço.
  4. Jonilton, a leitura pela chave secundária é igual a chave primária, segue exemplos: Chave primária IF HReadSeekFirst(Clifor,cliforID,nCod_clifor,hLockNo) = False THEN ToastDisplay("Cliente/Fornecedor não cadastrado ...",toastShort,vaMiddle,haJustified,iLightRed) HReset(Clifor) RESULT = False END Chave secundária IF HReadSeekFirst(Clifor,Cnpj_f,sCNPJ,hLockNo) = False THEN ToastDisplay("Cliente/Fornecedor não cadastrado ...",toastShort,vaMiddle,haJustified,iLightRed) HReset(Clifor) RESULT = False END Cuidado caso a chave secundária não seja unique key Chave composta IF HReadSeekFirst(Clifor,FlagCFCodClifor,[flagcf,nCod_clifor],hLockNo) = False THEN ToastDisplay("Cliente/Fornecedor não cadastrado ...",toastShort,vaMiddle,haJustified,iLightRed) HReset(Clifor) RESULT = False END Observe que na leitura, você coloca: nome da tabela nome da chave composta e entre colchetes [], os campos que fazem parte da chave composta
  5. Creio que vc executando primeiro e HModifyStructure e em seguida HCreationIfNotFound não é uma combinação legal, no meu ponto de vista: Checa se existe o arquivo na pasta (classic) HFileExist Se não existir, executa o HCreationIfNotFound Se existir, executa HModifyStructure
  6. Boa noite pessoal, Nos HF C/S eu costumo usar o código abaixo. Primeiro pego os nomes das tabelas para depois verificar as que são necessárias criar ou modificar a estrutura HChangeConnection("*",gctConexao_hfcs) // Lista todas as tabelas da análise gsTabelas is string = HListFile() FOR EACH STRING tabela OF gsTabelas SEPARATED BY CR IF HFileExist(gctConexao_hfcs,{tabela}+".FIC") = False // Cria as tabelas que não existem no database HCreationIfNotFound({tabela},"",hDelayedOpening) ELSE // Altera as tabelas no database HModifyStructure({tabela},hmsBackgroundTask) END END
  7. As soluções que vi até hoje eram com o uso de API de terceiros, que funcionam, mas oficialmente não são "reconhecidas" pelo whatsapp, sempre com o risco de parar de uma hora para outra. O curso do Wagner se não me falha a memória, creio q começa dia 02/12, preciso terminar de assistir os vídeos do primeiro curso
  8. Bom dia Marquinho, O saudoso Alexandre Monteiro montou um projeto de exemplo integrado com uma API da Soluteck a pouco mais de um ano atrás, tenho um vídeo onde ele demonstrando o funcionamento, lógico o vídeo não mostra a parte técnica da coisa, se o administradores do fórum acharem que esse vídeo pode ser compartilhado aqui, eu compartilhando. Apenas reforçando que é um vídeo de demonstração.
  9. Willian, acertou na mosca o único ajuste for retirar os alias do group by GROUP BY notasaida_itens.notsaip_cod_empresa, notasaida_itens.notsaip_cod_produto, notasaida_itens.notsaip_cod_cliente, notasaida_itens.notsaip_descricao, notasaida_itens.notsaip_dt_emis, notasaida.notsai_dt_cancelamento Rodou certinho no pgadmin e no teste da query no windev, show de bola! Tenho muito para aprender Muito obrigado a você Willian e aos amigos Evandro Andersen, Fabricio, Mello e Pedroso, ... agradecimento por ordem alfabética para não entregar a idade de ninguém....rsrsrsrsrs E parabéns ao fórum!
  10. bom dia Evandro, tudo bom meu amigo? Estou usando o PG para esse trabalho, tendei fazer algo semelhante e não tive muito sucesso, mas vou tentar de novo com o teu conselho, acho que com as 2 xícaras de café que acabei de tomar, talvez o tico e teco despertem
  11. Para falar a verdade não, views são mais um horizonte para mim aprender. Valeu pela dica
  12. Bom dia Pessoal, Estou trabalhando numa select onde preciso pegar a somatória da diferença entre entradas e saída para apresentar só o saldo. O campo da quantidade (notasaida_itens.notsaip_qtdade) é sempre positivo, o seu tratamento depende de uma coluna de outra tabela (cfop.cfop_operacao) que indica se a operação é de uma entrada ou saída, portanto, o valor de todas as linhas da coluna de quantidade são positivos, esse é o cenário que me deixaram e não tenho como ajustar a coluna no banco. Segue o código SQL, onde tenho um SUM da notasaida_itens.notsaip_qtdade quando cfop.cfop_operacao = '+' e outro SUM quando cfop.cfop_operacao = '-', mas preciso apresentar somente o saldo, usando o SQL SELECT notasaida_itens.notsaip_cod_empresa AS notsaip_cod_empresa, notasaida_itens.notsaip_cod_produto AS notsaip_cod_produto, notasaida_itens.notsaip_cod_cliente AS notsaip_cod_cliente, notasaida_itens.notsaip_descricao AS notsaip_descricao, cfop.cfop_operacao AS cfop_operacao, notasaida_itens.notsaip_dt_emis AS notsaip_dt_emis, notasaida.notsai_dt_cancelamento AS notsai_dt_cancelamento, SUM(notasaida_itens.notsaip_qtdade) filter (WHERE cfop.cfop_operacao = '+') AS saida, SUM(notasaida_itens.notsaip_qtdade) filter (WHERE cfop.cfop_operacao = '-') AS entrada FROM notasaida_itens, cfop, notasaida WHERE notasaida_itens.notsaip_cfop = cfop.cfop_codigo AND notasaida_itens.notsaip_cod_empresa = notasaida.notsai_cod_empresa AND notasaida_itens.notsaip_modelo_nf = notasaida.notsai_modelo_nf AND notasaida_itens.notsaip_serie_nf = notasaida.notsai_serie_nf AND notasaida_itens.notsaip_notafiscal = notasaida.notsai_notafiscal AND ( notasaida_itens.notsaip_cod_empresa = {param_codempresa} AND notasaida_itens.notsaip_dt_emis = {Paramnotsai_dt_emissao} AND cfop.cfop_operacao IN ('+', '-') AND notasaida.notsai_dt_cancelamento IS NULL ) GROUP BY notasaida_itens.notsaip_cod_empresa, notasaida_itens.notsaip_cod_cliente, notasaida_itens.notsaip_cod_produto, notasaida_itens.notsaip_descricao, notasaida_itens.notsaip_dt_emis, cfop.cfop_operacao, notasaida.notsai_dt_cancelamento ORDER BY notasaida_itens.notsaip_cod_cliente O resultado dessa query trouxe duas linhas: emp|prod |codcli |nome produto |oper|Data venda |Dt,Canc|Saida |Entrada| 2 2007 57503 CHUPETA CRISTAL COLOR 1 AZ.MAR. - 31/10/2019 NULL NULL 6,00 2 2007 57503 CHUPETA CRISTAL COLOR 1 AZ.MAR. + 31/10/2019 NULL 12,00 NULL Eu preciso apresentar somente uma linha com saldo, se alguém puder me ajudar eu agradeço
  13. Olá, Não tenho a versão 24, não sei te dizer com certeza como fazer isso nela, mas vou dar um chute, pode ser que tenha uma opção de compilação para 64bits, como tem no windev desktop.
  14. Boa tarde pessoal, No momento a solução que adotei foi um código SQL com select que esta atendendo a necessidade. Valew!
  15. Boa tarde Hugo, Essa é uma opção também, mas como dizem que no windev quando vc escreve código demais é pq esta fazendo algo errado . Valeu pela ajuda