Jump to content
Fivewin Brasil

kleyber

Membros
  • Posts

    1,264
  • Joined

  • Last visited

  • Days Won

    23

Everything posted by kleyber

  1. Kapi, Dá uma olhada aqui (se já não olhaste): http://vetusware.com/download/CA%20%20DBFAST%202.0%20DE/?id=4366 http://www.alphastation.cl/dbfast/en/default.asp
  2. Meu brother Edilson, O vício da cachaça Fivewin bateu com força né? rsrsrsrsrsrs Seja bemvindo de volta e qualquer coisa, estamos por aqui. Abraços,
  3. Kapi, SABE DE NADA, INOCENTE!!!!!! KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
  4. Ariston, Acho que você não entendeu. Basta mudar o INSERT por UPDATE que iria funcionar. Mas blz, de qualquer forma tentei algo.
  5. Ariston, Segue a idéia // Aqui você começa o loop no teu dbf. No meu caso foi em um arquivo texto. if cSituaope="Crédito Enviado" cSitContrato:="AGUARDANDO LIBERAÇÃO PARA PAGAMENTO" elseif cSituaope="Cancelada" cSitContrato:="CANCELADA" else cSitContrato:="EM ANÁLISE" endif cCpf:=strtran(aReg[10],".","") cCpf:=strtran(cCpf,"-") aAdd(aDadosTXT,"("+Any2Sql( cCodLoja )+","+; Any2Sql( upper(alltrim(aReg[8])) )+","+; Any2Sql( alltrim(aReg[3]) )+","+; Any2Sql( aReg[37] )+","+; Any2Sql( alltrim(aReg[31]) )+","+; Any2Sql( alltrim(cNumope))+","+; Any2Sql( cMatFunc )+","+; Any2Sql( cFisico )+","+; if(empty(cNumope),"1","0")+","+; Any2Sql( aReg[7] )+","+; Any2Sql( date() )+","+; Any2Sql( cTipopag )+","+; Any2Sql( alltrim(cCpf) )+","+; Any2Sql( cTipoCorretor )+","+; Any2Sql( cSitContrato )+")") ... ... Depois do loop faço assim: if !empty(aDadosTXT) cSql:="INSERT INTO tab_prot (cod_loja,nome_cliente,cod_convenio,valor,ade,contrato,"+; "mat_func,fisico,cod_produto,usuario,dtcada,tipoconta,cpf,tipocorretor,statusconsig) VALUES " for nI:=1 to len(aDadosTXT) cSql+=aDadosTXT[nI]+"," next // Apagar última virgula cSql:=substr(cSql,1,len(cSql)-1) Begin Transaction SQL Execute cSql IF SQL_ErrorNO() > 0 SQLRollBack() End Transaction MsgInfo( "Informe esta mensagem ao suporte : "+CRLF+; SQLErrorMsg(),"ATENÇÃO" ) ENDIF End Transaction SQL EXECUTE "COMMIT" // Para gravar as atualzações no banco endif Lembrando que faço isto usando SQLLIB, mas a idéia é a mesma, ou seja, neste caso executo um único INSERT ou poderia ser um UPDATE com todas as linhas que preciso. Espero que sirva.
  6. Ariston, A melhor forma de se fazer isso é criando um array com os registros que vão ser alterados. Assim você cria um único UPDATE. Não estou em casa, mas assim que chegar eu posso colar aqui um exemplo disto.
  7. Everton, Experimentaste oPrn:CmSay() ? Assim você faz em centímetros e funciona em qualquer impressora.
  8. Ok, tudo bem, mas o SqlCommit é para execuções que envolvam transação. Se não houver um BEGIN TRANSACTION/END TRANSACTION definido, não vejo necessidade. Não acompanhei o tópico citado, mas se a solução foi essa realmente deve ser alguma particularidade da SQLLIB, pois normalmente em SQL não precisamos disto nessa situação.
  9. Luis Fernando, Só um detalhe: Depois de um SELECT você não precisa executar SqlExecute("commit"). Somente se houver inserções, atualizações ou exclusões em que houverem transação.
  10. Faça uma forcinha para vir neste ano. Já topou a organização... rsrsrsrsrsrs. Abraços
  11. Marcioe, Tem certeza de que o Omie foi desenvolvido em Fivewin?
  12. Nos campos eu acho difícil, mas dá pra colocar nos cabeçalhos.
  13. Kapi, Eu faço assim (pra imprimir em uma impressora USB usando TDOSPRN, por exemplo): cPorta := PrnGetPort() cPrinter := PrinterPortToName( cPorta ) if empty(cPrinter) cPrinter := PrinterPortToName( "USB002" ) if empty(cPrinter) cPrinter := PrinterPortToName( "USB001" ) endif endif oPrin := TDosPrn():New("minuta.txt") oPrin:StartPage() ... ... ... oPrin:EndPage() oPrin:End() PrintFileRaw( cPrinter, TrueName("MINUTA.TXT"), "Impressão de Vendas" )
  14. Luiz Fernando, Realmente são coisas distintas. Eu acho que o SAT abriu caminho para a NFC-e, pois no caso da NFC-e nem todos os estados entraram no projeto. Aqui no MA é certa a implantação do NFC-e, acho que ano que vem entra em produção.
  15. Senhores, Quero aqui agradecer a TODOS os que colaboraram neste post dando suas idéias e/ou sugestões. Fiz o que vocês me indicaram, usei o validador oficial do governo e o arquivo estava sem erros. Daí passei o relatório para a dona da empresa, expliquei a ela o que estava ocorrendo e ela enviou imediatamente os relatórios para o contador, exigindo que ele reveja o que está acontecendo com o sistema da Alterdata que ele usa. Graças a Deus provei mais uma vez que o problema estava com o contador (argh!) e não com o sistema. Mais uma vez, obrigado a todos. Problema resolvido. Abraços,
  16. Grande Tião blz? Concordo 100% contigo meu amigo... o problema é convencer o cliente disto, pois o contador tem vantagem sobre mim nos argumentos pelo fato de que é ele quem faz toda a contabilidade da empresa e não eu. Se eu fizer isso, seria basicamente pedir para o cliente trocar de contador (não que eu não tenha vontade de fazer isso... rsrsrs) mas enfim, é isso. Já estou CHEIO de contadores imbecis, burros e sem nenhum conhecimento que ficam culpando o que não conhece.
  17. Vander, Obrigado por responder. Os erros que aparecem são exatamente na importação dos arquivos Sintegra que é gerado pelo meu sistema. Por isso que eu queria ver se alguém que usasse esse sistema poderia testar o meu arquivo, pois o contador insiste em dizer que o problema é no meu sistema... aí já viu né? Podes me dar mais detalhes sobre isso?
  18. Kapi, Valeu pela resposta. O que preciso é saber se alguém USA este sistema e que possa fazer uns testes comigo, pois a empresa de contabilidade que usa este sistema fica sempre dizendo que meu sistema envia informações erradas. Então eu preciso efetuar testes com alguém que já use o alterdata. Você conhece o alterdata?
  19. Senhores, Algum de vocês usa ou conhece alguém que use este sistema (ALTERDATA)? É um sistema contábil e está me dando a maior dor de caqbeça quando recebe o arquivo TXT que meu sistema envia. Se algum de vocês conhecer, por favor me avise ou entre em contato comigo. Email: kleyber.ribeiro@gmail.com
  20. Exatamente. Agora uma outra forma de controlar as transações para não ocorrer esse erro e sem precisar usar o AUTOCOMMIT=1 só usar da seguinte forma: cSql:="SELECT .... ..." Begin Transaction SQL Execute cSql IF SQL_ErrorNO() > 0 SQLRollBack() End Transaction MsgInfo("Informe esta mensagem ao suporte :"+CRLF+; SQLErrorMsg(),"ATENÇÃO") use Return nil ENDIF SQL EXECUTE "COMMIT" End Transaction Isto fará com que a cada bloco de transações seja efetivamente gravado no banco (em disco), liberando assim para as próximas transações. Espero que ajude.
  21. Olá Luiz Fernando, Use o AUTOCOMMIT em teu sistema.
  22. Marcio, Uma pergunta: Você usa AUTOCOMMIT no teu sistema?
×
×
  • Create New...