Jump to content
Fivewin Brasil

augustogomes

Membros
  • Posts

    69
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by augustogomes

  1. EEmotta, obrigado pela resposta. Vou acessar seu site e voltarei a falar pelo seu email. Grato
  2. Bom dia pessoal, espero que esteja tudo bem com vocês. Alguém aqui do grupo trabalha com relógios de ponto e/ou software para o ponto? Estou precisando para a minha empresa, se alguém trabalhar com isto entre em contato comigo. Grato Augusto
  3. Jorge, ele subsititui todos os dados da tabela porque o comando fica trucado, se não mudar o caracter ele entende assim UPDATE sup0040 SET codfis = ' 878', desfis = 'LIXA D' desta forma é como se fosse um replace all, como o Rogério Figueira citou anteriormente. Mas estou mudando como a sugestão dele mesmo, trocar o caracter antes do comando.
  4. Boa tarde a todos. Voltei neste tópico porque descobrir o que esta acontecendo com o update Quando faço um update assim: UPDATE sup0040 SET codfis = ' 878', desfis = 'LIXA D'AGUA', unifis = 'UN', clanbm = '01069000', WHERE sr_recno = ' 1' a palavra lixa d'agua não consegue processar pois a aspa do texto interrompe o processo, causando erro no sql e faz com que o replace seja em toda a tabela. usando a função sr_startlog, vi que na sqlrdd ele salva o campo com 2 aspas simples, desta forma o sql reconhece como uma unica aspas no processo usando a rdd do sqlrdd e vendo no log, a linha de comando fica assim: UPDATE sup0040 SET codfis = ' 878', desfis = 'LIXA D''AGUA', unifis = 'UN', clanbm = '01069000', WHERE sr_recno = ' 1' Pergunto aos colegas que usam sql e até mesmo o sqlrdd a mais tempo que eu, como vocês fazem em caso como este, tem alguma opção no banco de dados que tem que ativar para tratar automaticamente a aspa simples, ou teria que tratar campo a campo, substituindo o ' por ''? estou usando o postgresql 9.5
  5. Obrigado e igualmente a todos!
  6. Obrigado pela dica, na rotina não teria como o registro não existir, mas vou testar e analisar sua sugestão.
  7. Luiz Fernando, obrigado pela resposta. Não estou usando editor, e mando o id do registro, veja no exemplo que passei, WHERE "sr_recno" = 1595 , o sr_recno é campo chave primaria. Eu realmente não entendi pq faz isto e é intermitente, não acontece direto.
  8. substitui todos os dados na tabela, como se fosse um replace all
  9. Boa tarde pessoal Estou com um problema com o update no postgresql, ocorreram poucas vezes este ano, mas causa um grande estrago. o cliente altera um cadastro e no momento de salvar o postgresql salva todos os registros da tabela com o mesmo dado eu estou usando o postgre 9.5 com sqlrdd, e costumo usar assim: clSql := UPDATE "sup0007" SET ; CodEmp = ::avCarrega[1]:cCodEmp ,; NomEmp = ::avCarrega[1]:cNomEmp ,; FanEmp = ::avCarrega[1]:cFanEmp ,; EndEmp = ::avCarrega[1]:cEndEmp ,; RedEmp = ::avCarrega[1]:cRedEmp ,; NumCep = ::avCarrega[1]:cNumCep ,; Bairro = ::avCarrega[1]:cBairro ,; TelEmp = ::avCarrega[1]:cTelEmp ,; TelEm2 = ::avCarrega[1]:cTelEm2 ,; Ativar = clAtivar ,; UltUsu = oCarVar:cUser ,; UltMod = date() ,; Operad = oCarVar:cUser ,; Updated= date() ; WHERE sr_recno = ? alParam := {::avCarrega[1]:SR_RECNO} SR_BeginTransaction() Try oSql := SR_GetConnection() apCode := SR_SQLParse( clSql, @nErr, @nPos ) cResu := SR_SQLCodeGen( apCode, alParam, oSql:nSystemID ) nErr := oSql:Exec( cResu ) este é um exemplo usando a sqlrdd pra converter o codigo, mas tenho outro caso que uso o comando direto no oSql:Exec sem passar pelo sr_sqlcodegen e também deu o problema. este comando acima, gera o comando abaixo para o postgre UPDATE "sup0007" SET "codemp" = E'3000286', "nomemp" = E'CONTE COMIGO', "fanemp" = E'CONTE', "endemp" = E'RUA BEABA,98', "redemp" = ' ', "numcep" = E'89837-000', "bairro" = E'CENTRO', "telemp" = E'3999999', "telem2" = E'89999427', "ativar" = E'FF', "ultusu" = E'AUGUSTO', "ultmod" = E'2019-10-01', "operad" = E'AUGUSTO', "updated" = E'2019-10-01' WHERE "sr_recno" = 1595 Não vejo erro no comando, isto ocorre muitas vezes em todo meu sistema, mas este erro ocorreu poucas vezes. Alguém tem ideia do que pode ser? Algo na Tabela, no banco, etc.
  10. Boa tarde, gostei da dica, mas tem como consultar cpf? Qual o link para cpf?
  11. Apresenta este erro, não acha estas funções mthread.c: Turbo Incremental Link 6.80 Copyright (c) 1997-2017 Embarcadero Technologies, Inc. Error: Unresolved external '__endthreadex' referenced from X:\XHARBOUR_NOVO\LIB\VMMT.LIB|threadmt Error: Unresolved external '__beginthreadex' referenced from X:\XHARBOUR_NOVO\LIB\VMMT.LIB|threadmt Error: Unable to perform link * Linking errors *
  12. Obrigado Gilmer, vi o material e entendi como funciona mas não estou conseguindo compilar com o xharbour, peguei uns exemplos que você postou em outro tópico porém não consigo compilar, quais libs tenho que adicionar para compilar estes exemplos? Grato Augusto
  13. Bom dia. Eu atendo muitos clientes com inscrição de produtor rural, no estado de MG tem clientes com inscrição de produtor rural, (gerada pelo município), esta não é inscrição estadual, para a inscrição ter validade na NFE, ela tem que ser inscrição estatual (IE) mesmo que seja com CPF ou CNPJ, acesse o site do sintegra e veja se a inscrição aparece como estadual. No meu sistema eu valido com a dll do sintegra DllInscE32.dll antes de enviar a nfe. Inscrição de produtor (antiga) eu informo apenas na observação, pois para a emissão de nfe ela é tratada como isento ou não contribuinte.
  14. Bom dia Gilmer. Se tiver um exemplo de como fazer isto, eu já tentei e não consegui, talvez eu não tenha entendido o thread. grato Augusto
  15. Boa tarde pessoal. Resolvi NFE assim: Atualizei a flexdocs para a versao 4.05a mesmo e coloquei o vdesc = 0.00 ficando a chamada da fatura assim na classe Gilmer oItem := TVoNfeCobr() oItem:nFat := cvNroNot (numero da nf) oItem:vOrig:= avDadosNfe[1]:total_vNF // valor total oItem:vDesc:= "0.00" oItem:vLiq := avDadosNfe[1]:total_vNF // valor total no xml ficou assim <cobr> <fat> <nFat>00123</nFat> <vOrig>3000.00</vOrig> <vDesc>0.00</vDesc> <vLiq>3000.00</vLiq> </fat> <dup> <nDup>001</nDup> <dVenc>2018-09-18</dVenc> <vDup>3000.00</vDup> </dup> </cobr> <pag> <detPag> <indPag>1</indPag> <tPag>99</tPag> <vPag>3000.00</vPag> </detPag> <vTroco>0</vTroco> </pag>
  16. Boa tarde Estou tendo um erro na classe, quando informo informações para a TAG compra, por exemplo o xPed, gera erro na classe. alguém pode me ajudar? exemplo no fonte oNFe:SetValue("compra", 'xNEmp' , 'a') oNFe:SetValue("compra", 'xPed' , 'c') NFe:SetValue("compra", 'xCont' , 'b') ERRO Um Erro ocorreu em: 06/07/2018, 14:03:31 Descrição do Erro: Error BASE/1111 Erro nos parƒmetros: LEN Args: [ 1] = U Stack Calls =========== Chamado por: => LEN( 0 ) Chamado por: C:\desenv\work2\sewin\Faturamento\VONFE2G_v4.000 => TVONFE2G:SETVALUEII( 282 ) Chamado por: C:\desenv\work2\sewin\Faturamento\VONFE2G_v4.000 => TVONFE2G:SETVALUE( 265 )
  17. Boa tarde. EcmSoft, conseguiu resolver isto? Eu também estou com o mesmo problema e não achei a solução
  18. Durante muito tempo apanhei pra entender como fazer um painel ou todos, abrir comprimido. Hoje com a ajuda de uns tópicos enviado pelo Kapiaba, consegui fazer. veja o exemplo anterior abrindo todos os painéis comprimidos. #include "FiveWin.ch" //----------------------------------------------------------------------------// function Main() local oWnd, oExBar, oPanel1, oPanel2, oPanel3, oPanel4 local bClick := { | o | MsgInfo( o:GetText() ) } local nFecha:=0,nc:=0 DEFINE WINDOW oWnd TITLE "FWH Class TExplorerBar" oWnd:SetSize( 350, 600 ) oExBar = TExplorerBar():New() oExBar:nTopColor := RGB( 97, 236, 77 ) oExBar:nBottomColor := RGB( 97, 236, 77 ) oPanel1 = oExBar:AddPanel( "One", "..\bitmaps\32x32\people.bmp" ) oPanel1:lSpecial = .T. oPanel1:AddLink( "First item", bClick, "..\bitmaps\16x16\additem.bmp" ) oPanel1:AddLink( "Second item", bClick, "..\bitmaps\16x16\copy.bmp" ) oPanel2 = oExBar:AddPanel( "Two", "..\bitmaps\32x32\case.bmp" ) oPanel2:SetColor( CLR_RED, CLR_MAGENTA) oPanel2:AddLink( "First item", bClick, "..\bitmaps\16x16\adddbf.bmp" ) oPanel2:AddLink( "Second item", bClick, "..\bitmaps\16x16\delete0.bmp" ) oPanel2:AddLink( "Third item", bClick, "..\bitmaps\16x16\envelope.bmp" ) oPanel2:AddLink( "Fourth item", bClick, "..\bitmaps\16x16\copy.bmp" ) oPanel3 = oExBar:AddPanel( "Three", "..\bitmaps\32x32\graphics.bmp" ) oPanel3:AddLink( "First item", bClick, "..\bitmaps\16x16\adddbf.bmp" ) oPanel3:AddLink( "Second item", bClick, "..\bitmaps\16x16\delete0.bmp" ) oPanel3:AddLink( "Third item", bClick, "..\bitmaps\16x16\envelope.bmp" ) oPanel4 = oExBar:AddPanel( "Four" ) oPanel4:AddLink( "First item", bClick, "..\bitmaps\16x16\additem.bmp" ) oPanel4:AddLink( "Second item", bClick, "..\bitmaps\16x16\copy.bmp" ) oExBar:Refresh() // Comprime todos os paineis for nFecha:=1 to 4 oExBar:aPanels[nFecha]:nHeight = oExBar:aPanels[nFecha]:nTitleHeight For nC:=nFecha+1 To Len (oExBar:aPanels) oExBar:aPanels[nC]:nTop -= oExBar:aPanels[nFecha]:nBodyHeight Next oExBar:aPanels[nFecha]:lCollapsed:=.T. // muda o icone de expandido para comprimido next oWnd:oClient = oExBar ACTIVATE WINDOW oWnd return nil //----------------------------------------------------------------------------//
  19. Obrigado Kapiaba Com relação as cores, se eu tirar o manifest, funciona. Mas sobre perder o cabeçalho, não consegui resolver. A listbox e montada mas conforme o uso, o cabeçalho some. Isto não acontece com xbrowse. abaixo um exemplo da chamda da listbox REDEFINE LISTBOX oBrwPesq ; FIELDS (olDbf)->&(clCamp1),(olDbf)->&(clCamp2); HEADERS (clCab1),(clCab2); ID 4003 ; UPDATE; OF oDlgPesq ; ON DBLCLICK (nlRecno := (olDbf)->( Recno() ), llValRet:= .T., oDlgPesq:End()) oBrwPesq:aActions:={ {|| I_TrocaProcura(1,oBrwPesq,(olDbf),clCab1,clOrder1,clCamp1) },; {|| I_TrocaProcura(1,oBrwPesq,(olDbf),clCab2,clOrder2,SUBS(clCamp2,1,6)) }} oBrwPesq:nClrBackHead := nRGB( 190, 200, 255 ) oBrwPesq:bKeyDown:={|nKeyBus| IF(nKeyBus == VK_RETURN,(nlRecno := (olDbf)->( Recno() ), llValRet:= .T., oDlgPesq:End()),I_TeclaBrw( nKeyBus )) } oBrwPesq:lMChange := .F.
  20. Eu também tenho este problemas e nunca consegui resolver. Esta opções para cores do cabeçalho não funcionam. Usei estas sugestões mas não deu certo.
  21. Entendi Theotokos, da forma que faz ele funciona mesmo. Pelo jeito para o cCaption funcionar ele guarda os dados na definição dos gets, da forma que faço não deu certo, mas já entendi, obrigado pela resposta. CIACPD oGet1:ctext() -> valor alterado oGet1:Value()-> valor do objeto antes da alteração Ambos tem o mesmo valor no VALID.
  22. É desta forma que eu estava testando, mas no meus testes a oGet:cCaption sempre esta vazia. Eu faço assim defino as variaveis com valores vazios cNome:= spac(30) Defino os gets REDEFINE GET oGet VAR cNome PICT "@!X" Valid ( ValidNome(oGet)) carrego valor a variavel cNome:="EXEMPLO" oGet:refresh() Quando Digita o valor cNome e vai pro Valid a oGet:cCaption retorna vazio. Minha versão é o Five 1608.
×
×
  • Create New...