Jump to content
Fivewin Brasil

edutraini

Membros
  • Posts

    1,402
  • Joined

  • Last visited

  • Days Won

    31

Posts posted by edutraini

  1. bom dia a todos

    Fiz o teste com a rotina do Ariston e funcionou perfeitamente

    O unico problema nesse momento esta relacionado aos campos memo

    Alguns registro deram erro na hora de migrar para tabela

    Percebi que nesse registro foram gravados caracteres estranhos, provavelmente o usuario digitou ou colou da internet algum texto 

    Usando o slqexpress em cima do windows ele nao da erro mas usando o mariadb em um servidor linux ele nao vai

    Provavelmente terei que jogar somente a estrutura do arquivo para o banco de dados e depois na hora de importar os dados tentar tratar esses campos tirando esses caracteres

    Sera que é isso mesmo

    Obrigado a todos

    Edu

  2. Bom dia, Jm

    Coloquei a sua rotina para migrar o dbf para dentro do sql

    e esta dando esse erro abaixo sera que vc consegue me ajudar por favor

    Obrigado

     

    09/12/2021 08:51:53: SQLExecDirect Error
    (1064) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Type=InnoDb' at line 107 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Type=InnoDb' at line 107
    Command sent to database : 
    CREATE TABLE `dclicli0` (    `codcli` REAL (6,0) , 
       `cgccli` CHAR (14) , 
       `nome` CHAR (60) , 
       `endereco` CHAR (60) , 
       `bairro` CHAR (50) , 
       `cidade` CHAR (60) , 
       `nro` REAL (6,0) , 
       `complement` CHAR (20) , 
       `emailfis` CHAR (100) , 
       `observacao` CHAR (100) , 
       `cep` CHAR (9) , 
       `cxpostal` CHAR (5) , 
       `estado` CHAR (2) , 
       `telefone1` CHAR (14) , 
       `telefone2` CHAR (14) , 
       `fax` CHAR (14) , 
       `telex` CHAR (12) , 
       `estadualrg` CHAR (19) , 
       `contato` CHAR (30) , 
       `pracapgto` CHAR (40) , 
       `bairpgto` CHAR (30) , 
       `cidapgto` CHAR (30) , 
       `ufpgto` CHAR (2) , 
       `ceppgto` CHAR (9) , 
       `localentre` CHAR (60) , 
       `tipoclient` CHAR (1) , 
       `fantasia` CHAR (20) , 
       `dtcadastro` DATE, 
       `banco` CHAR (3) , 
       `dtultcpa` DATE, 
       `vlrultcpa` REAL (12,2) , 
       `dtmaiorcpa` DATE, 
       `vlmaiorcpa` REAL (12,2) , 
       `vlrcpames` REAL (14,2) , 
       `dtchequesf` DATE, 
       `vlchequesf` REAL (12,2) , 
       `mediatrazo` REAL (4,0) , 
       `dataatrazo` DATE, 
       `medatraant` REAL (4,0) , 
       `limitecred` REAL (12,2) , 
       `datacred` DATE, 
       `transporte` REAL (4,0) , 
       `condpgto` CHAR (2) , 
       `vendedor` REAL (3,0) , 
       `aliqicms` REAL (5,2) , 
       `maladireta` CHAR (1) , 
       `nivel` REAL (3,0) , 
       `tipoconsu` CHAR (1) , 
       `email` CHAR (50) , 
       `f_j` CHAR (1) , 
       `vendedor1` REAL (3,0) , 
       `vendedor2` REAL (3,0) , 
       `vendedor3` REAL (3,0) , 
       `vendedor4` REAL (3,0) , 
       `vendedor5` REAL (3,0) , 
       `vendedor6` REAL (3,0) , 
       `tpcredito` CHAR (1) , 
       `pesoteoric` REAL (6,3) , 
       `obs` VARCHAR (400) , 
       `obsfin` CHAR (200) , 
       `dtusu` DATE, 
       `usuario` REAL (3,0) , 
       `site` CHAR (100) , 
       `stvenda` CHAR (1) , 
       `ramal1` REAL (6,0) , 
       `ramal2` REAL (6,0) , 
       `isentaipi` CHAR (1) , 
       `etiqueta` TINYINT, 
       `tirafluxo` CHAR (1) , 
       `segmento` CHAR (2) , 
       `tipofrete` CHAR (1) , 
       `suframa` CHAR (20) , 
       `pedidonfe` CHAR (1) , 
       `tipoie` CHAR (1) , 
       `midia` CHAR (1) , 
       `percperda` REAL (8,4) , 
       `nomecon1` CHAR (40) , 
       `fonecon1` CHAR (14) , 
       `emailcon1` CHAR (50) , 
       `nomecon2` CHAR (40) , 
       `fonecon2` CHAR (14) , 
       `emailcon2` CHAR (50) , 
       `nomecon3` CHAR (40) , 
       `fonecon3` CHAR (14) , 
       `emailcon3` CHAR (50) , 
       `nomecon4` CHAR (40) , 
       `fonecon4` CHAR (14) , 
       `emailcon4` CHAR (50) , 
       `nomecon5` CHAR (40) , 
       `fonecon5` CHAR (14) , 
       `emailcon5` CHAR (50) , 
       `nomecon6` CHAR (40) , 
       `fonecon6` CHAR (14) , 
       `emailcon6` CHAR (50) , 
       `regiao` CHAR (2) , 
       `potencial` CHAR (2) , 
       `obsate` MEDIUMBLOB, 
       `isuf` CHAR (20) , 
       `tabcom1` CHAR (1) , 
       `tabcom2` CHAR (1) , 
       `tabcom3` CHAR (1) , 
       `tabcom4` CHAR (1) , 
       `tabcom5` CHAR (1) , 
       `tabcom6` CHAR (1) , 
       `sr_recno` BIGINT (15) NOT NULL UNIQUE AUTO_INCREMENT , 
       `sr_deleted` CHAR (1)  NOT NULL
     ) Type=InnoDb
    Steatment handle  : 
    Connection handle : 
    RetCode           :       1064
        SR_MYSQL:RUNTIMEERR     Linha : 859
    SR_MYSQL:EXEC     Linha : 367
    SR_WORKAREA:SQLCREATE     Linha : 5030
    DBCREATE     Linha : 0
    FASTTURBO     Linha : 3041
    UPLOAD     Linha : 3016
    CONECTAR     Linha : 704
    (b)MAIN     Linha : 248
    TMDIFRAME:ACTIVATE     Linha : 1083
    MAIN     Linha : 248    

     

  3. Bom dia,

    Alguem que usa a rotina do mrboleto ja alterou o programa para colocar o Endereco do Beneficiario no boleto  conforme a nova lei

          A Lei Federal nº 12.039, que já está em vigor, exige a inclusão do endereço, da razão social e do CNPJ/CPF do beneficiário ou sacador Avalista* em todos os boletos de cobrança, no recibo do pagador, com o intuito de identificar o prestador do serviço/produto (emitente da nota) e facilitar o contato do pagador com o emissor, quando necessário;

     

  4. Bom dia, Pessoal

    Gostaria de usar o sqlrdd com mysql consegui fazer a conexao mas nao consigo jogar os dbfs 

    existe alguma propriedade que precisa ser alterada e ainda gostaria de saber a opiniao de voces se vale a pena usar mariadb no lugar no mysql

     

  5. Bom dia Pessoal 

    Migrei meu sistema para sql express usando sqlrdd  e coloquei nas nuvens (locaweb) e ate agora estou muito feliz e satisfeito com a perfomance.

    Logico que alguma rotinas aos poucos estou reescrevendo usando comandos sql para poder ficar mais rapido

    Tenho duas duvidas 

    1 - Hoje uso o rpv para gerar os relatorios mas gostaria de usar um outro programa para que nao precisasse ficar instalando na maquina do cliente.

    2 - Para atualizar a versao do executavel na maquina do cliente  eu uso esse comando 

       oXMLHTTP := CREATEOBJECT( "Microsoft.XMLHTTP" )
       oADODBStream := CREATEOBJECT( "Adodb.Stream" )
       oXMLHTTP:Open( "GET", "http://www.emtinformatica.com.br/site/aco32.exe", .f. )
       oXMLHTTP:Send()
       oADODBStream:Type := 1
        oADODBStream:Open()
        oADODBStream:Write( oXMLHTTP:ResponseBody )
        oADODBStream:SaveToFile( "c:\sistema\aco32_novo.exe", 2 )

    ou seja eu pego executavel aco32.exe que esta no meu http e salvo na pasta na maquina do cliente com outro nome pois no momento ele esta com o executavel aco32.exe aberto 

    ai vem a duvida 

    tem alguma forma que quando ele clicar no aco32.exe dentro do programa ele verificar que tem um aco32_novo.exe aonde ele fecha esse executavel renomeia a versao nova 

    ou alguem poderia dar uma dica melhor de como atualizar o executavel 

     

     

  6. Bom dia, Pessoal

    Existe alguma forma de rodar o executavel direto no browse

    Mudei meu sistema para sql e agora estou pensando alguma forma de rodar o executavel sem precisar que ele esteja na maquina do cliente

    Alguma forma que ele entre em algum site e execute por la

    Outra coisa qual tipo de relatorio vcs trabalham que nao precise instalar no computador

    Hoje uso o rpv e gostaria de nao precisar mais usar.

    Obrigado

  7. Bom dia 

    Meu calculo no meu sistema esta da seguinte forma 

     iBasParti =  total do item  + frete + seguro - desconto)  + Valor ipi 

    *-->Pego o percentuais conforme estado

      iIcmInter    = % icms interestadual
      iIcmDesti    = % icms interno
      iIcmPobre    = % pobreza

    caso o produto seja importado a aliq passa para 4%

     

      iIcmPartiLha   = iIcmDesti-iIcmInter
            iVlrPobre      = round(((iBasParti * iIcmPobre)/100),2)
            iVlrPartilha   = round(((iBasParti * iIcmPartilha)/100),2)
          iVlrDest       = round((iVlrPartilha * vp_partilhaDes),2)
          iVlrRemet      = round((iVlrPartilha * vp_partilhaRem),2)

    Não sei se esta correto mas esta funcionando ate hoje

    Lembrando que frete seguro desconto dificilmente alguem coloca isso por item geralmente joga no total da nota

    Ai tenho um calculo para fazer a proporcao para cada item

    Espero te ajudado

     

     

  8. Bom dia Pessoal

    Um cliente meu esta precisando fazer um desconhecimento do CT-e referente a uma nota fiscal de um fornecedor

    Alguem sabe dizer se existe algum programa do sefaz para fazer isso ou algum site

    Na dll do flexdocs existe isso nao sei se alguem usa

    Obrigado

  9. Bom dia, Pessoal

    Depois de 100 anos no dbf kkkkkk consegui migrar meu sistema para sql (Sql Server + sqlrdd)

    Coloquei em um servidor na localweb e ate agora funcionando perfeitamente

    Agora gostaria de colocar os xmls, pdfs etc nas nuvens, alguem ja trabalha assim e poderia me dar uma dica de como deixar esses documentos no servidor nas nuvens

    e poder o sistema ter acesso

    Nao queria ter mais nada local a nao ser o executavel.

    Obrigado

     

  10. Bom dia Pessoal

    Precisava de uma ajuda. fiz uma contratação de Cloud Server na locaweb e fiz a instalação do sql express 

    Fiz o acesso ao banco de dados ou seja tudo funcionando.

    Agora não sei como configurar o acesso de fora via ip para dentro da base de dados

    Alguem poderia me dar alguma dica de como fazer

    Obrigado

     

     

  11. Boa tarde, Pessoal

    Gostaria de uma opinião de vocês.

    Acabei de migrar meu sistema para sql express usando sqlrdd e agora alguns clientes querem colocar o banco nas nuvens.

    Não tenho experiencia em armazenamento nas nuvens 

    Qual o melhor servidor, qual a media de custo estou totalmente perdido nessa parte

    Se alguem puder me ajudar eu agradeço

     

  12. Kapi obrigado pela dica eu fiz o teste aqui pelo menos agora da a mensagem 

    Mas ainda continuo sem solucao se o outlook esta aberto o email nao sobe o usuario tem que fechar o outlook para poder subir o email

    Precisava descobrir um jeito de mandar o email mesmo que o outlook esteja aberto afinal e normal deixar o outlook aberto na maquina

    So um detalhe esse erro so acontece no outlook microsoft 365 

     

  13. Bom pessoal 

    Eu uso essa rotina abaixo (rmail) que peguei no forum  para mandar email

    Quando o outlook esta fechado ele funciona perfeitamente mas quando o outlook esta aberto na maquina ele da erro

    Alguem poderia me dar alguma dica como resolver

    Obrigado

     

    Time from start: 0 hours 0 mins 32 secs 
       Error occurred at: 24/06/2021, 11:32:38
       Error description: Error TOleAuto/65535  : TOLEAUTO:NEW
       Args:
         [   1] = C   Outlook.Application

    Stack Calls
    ===========
       Called from:  => THROW( 0 )
       Called from: source\rtl\win32ole.prg => TOLEAUTO:NEW( 0 )
       Called from: C:\fontes\ACO32_2016\FONTES\NfeFlexdocs.prg => MMAIL( 12450 )
       Called from: C:\fontes\ACO32_2016\FONTES\ENVIANFE.000 => EMAILDANFE( 866 )
       Called from: C:\fontes\ACO32_2016\FONTES\paconfe5.prg => EMAINFE3( 3200 )
       Called from: C:\fontes\ACO32_2016\PRG\pacofat0.prg => (b)BRWBTNBAR( 297 )
       Called from: .\source\classes\BTNBMP.PRG => TBTNBMP:CLICK( 704 )
       Called from: .\source\classes\BTNBMP.PRG => TBTNBMP:LBUTTONUP( 990 )
       Called from: .\source\classes\BTNBMP.PRG => TBTNBMP:LBUTTONDOWN( 928 )
       Called from: .\source\classes\CONTROL.PRG => TCONTROL:HANDLEEVENT( 1788 )
       Called from: .\source\classes\BTNBMP.PRG => TBTNBMP:HANDLEEVENT( 2030 )
       Called from: .\source\classes\WINDOW.PRG => _FWH( 3559 )
       Called from:  => WINRUN( 0 )
       Called from: .\source\classes\WINDOW.PRG => TMDIFRAME:ACTIVATE( 1097 )
       Called from: C:\fontes\ACO32_2016\PRG\sistema.prg => MAIN( 299 )

     

     

     

     

    function Mmail(cTo,cSentBy,cEmailHeader,cEmailNotes,cANEXO1,cToCco) 
    oOutLook := TOleAuto():New("Outlook.Application")
    oMailItem := oOutLook:Invoke("CreateItem", 0)
    oMailitem:to:=cTo
    oMailitem:CC:= cSentBy
    oMailItem:Subject := cEmailHeader
    oMailItem:Body := cEmailNotes
    if ! empty(cANEXO1)
       IF VALTYPE(cANEXO1) == "C"
          oMailItem:Attachments:Add(cANEXO1)
       ELSEIF VALTYPE(cANEXO1) == "A"
          FOR _i := 1 TO LEN(cANEXO1)
              oMailItem:Attachments:Add(  cANEXO1[_i]  )
          NEXT
       ENDIF
    endif
    oMailItem:display(.T.)
    RETURN(nil)

  14. Bom dia a todos

    Fiz o teste usando o Sr_setfilter e a select 

    Acabei optando pelo sr_setfilter pois na tela de cotacao os itens que estao no browse o cliente pode selecionar com um click o itens que ele vai enviar na cotacao

    Ja na opcao select toda vez que ele clicar em selecionar o item eu tinha que atualizar a base de dados e fazer um nova select 

    Porisso acabei optando pelo sr_setfilter pois ele ja faz atualizao na hora

    Gostaria da opiniao de vcs sobre os pos e contra 

    Obrigado

×
×
  • Create New...