-
Posts
1,287 -
Joined
-
Last visited
-
Days Won
21
Posts posted by jfaguiar
-
-
Exemplo:
Se tiver duplicatas use assim:
LoadTVoNFePag(oNFe,"1","15",VTOTLIQ+nTOTIPI+nVLICMSS+nVALFRET)
E se não tiver duplicatas, no caso de devoluções, remessas, use essa function que resolve:
LoadTVoNFePag(oNFe,"0","90",0)
FUNCTION LoadTVoNFePag( oNFe,cIndPag,ctPag,nTotPag )
local cString := ""
local nItem := 0
oItem := TVoNFePag()
WITH OBJECT oItem
//:IndPag := cIndPag // "1" 0 - pagamento à vista; 1 - pagamento à prazo, 2 - outros.
:tPag := ctPag // "01" 01=Dinheiro; 02=Cheque; 03=Cartão de Crédito; 04=Cartão de Débito; 05=Crédito Loja; 10=Vale Alimentação; 11=Vale Refeição; 12=Vale Presente; 13=Vale Combustível; 15=Boleto Bancário; 90=Sem Pagamento; 99=Outros.
:vPag := nTotPag
//:vTroco := 0
END
oNFe:AddItem( oItem )
Return(nil) -
Boa noite.
Você já experimentou o MrBoleto?
Eu também gero meus cnab pelo meu próprio sistema através de um configurador, onde cadastro todos os dados do manual do banco e depois uma rotina minha ler e gera o .rem. Baixei há uns 20 dias o demo utilizando a classe mrboleto trabalhado pelo grande Kapiaba e parece que resolve tudo, no que diz respeito a impressão boletos. Fiz algumas alterações na classe para adequar as nomenclaturas às novas exigências, tipo trocar Cedente por Beneficiário, sacado por pagador, dentre outras e parece bem satisfatório.
-
Boa noite amigos.
Alguém teria alguma coisa pra impressão do cupom fiscal eletrônico na sweda? Normalmente recomendo as impressoras da Daruma e a darumaframework.dll faz tudo rsrs.
Obrigado
-
Boa Tarde a Todos,
Desculpem a ignorância, mas como faço para inserir duplicatas pela TVONFe2g, pois com o ONFe:SetValue( "cobr", "nDup", nCoddup ) só é lançada uma e não sei como inserir.
se Alguém puder me ajudar, agradeço muito, pois só falta isso.
Se estiver usando a Flexdocs com a classe do dr. Gilmer, adapte essa função pra carregar as tags que funciona:
FUNCTION LoadDuplicatas( oNFe,nTOTNF,cUFDES)
local nQTDDEUP := 0
DbSelectArea("TBCOBR") // sua tabela de contas a receber
SEEK STR(nNFISCAL,7)
WHILE RECSEQ=nNFISCAL .AND. !EOF()
++ nQTDDEUP
oItem := TVoNfeCobr() // TVoNFeDupl()
WITH OBJECT oItem
IF nQTDDEUP = 1
// Fatura
:nFat := RECSEQ
:vOrig := nTOTNF
IF cUFDES == "SP"
IF DATE() >= CTOD("03/09/18")
:vDesc := 0.001
ENDIF
ELSE
:vDesc := 0.001
ENDIF
:vLiq := nTOTNF
ENDIF
// Duplicata
:nDup := RECPARC // Numero da Duplicata
:dVenc := RECDVEN // Data de vencimento
:vDup := RECVAL // Valor Duplicata
END
oNFe:AddItem( oItem )
DbSkip()
ENDDO
Return(nil)
*****************************************************************************
-
Rogério, este trem sismou com a minha cara... kkkkkkkkkkkkkkusando a sua:
#include "hbclass.ch" #include "C:\HARUPDF\harupdf.ch" #include "C:\HARUPDF\hbzebra.ch"
C:\HARUPDF\hbhpdf.lib + C:\HARUPDF\hbzebra.Lib + C:\HARUPDF\libharu.lib +
Lembrando, que estou usando a última versão xHarbour de 06/03/2015 bcc582 e as minhas libs, são mais modernas que as sua.Trem dificil sô...Obg. abs.Olá Kapiaba. Conseguiiiiiiiiiiii
Baixei as libs de harupdf e consegui compilar em xharbour 13.07!!
-
Boa noite
Eu uso o mrboleto para o Banco do Brasil, Caixa Economica, Bradesco,Itau, Santander,Safra sem problemas.
O arquivo Remessa gerado pelo layout de cada Banco.
Bom dia amigo. Você está compilando em xharbour ou harbour? Baisei o exemplo de https://www.4shared.com/rar/9C6kVfDkce/MRBoleto.html?, alterei para a minha versão de xharbour (13.07), mas não funcionou. Verifiquei que algumas libs não existem na pasta LIB de xharbour.
Se você tiver um exemplo em xharbour por aí me ajudaria muito.
MRBOLETO não selve?
-
Márcio, quais erros te ocorrem, lembre-se que este exemplo, foi compilado com FWH13.06 e xHarbour última versão e BCC582, Para BCC55, tem que mudar CXB.BAT e CXB.LNK
Bom dia Kapiaba.
Também alterei os cxb para a minha versão (fwh1307) mas não funcionou. Alguém tem alguma novidade por í?
-
ahhh "ctázoano", kkkkkk
Mas tudo bem segue novamente
http://fivewin.com.br/index.php?/files/file/1111-mrboletozip/
Bom amigos.
Alguém tem um exemplo em xharbour? Tentei compilar esse exemplo de http://www.4shared.com/rar/9C6kVfDkce/MRBoleto.html? , mas dar erro. Alterei o projeto direitinho para a minha versão e paths, mas não foi.
ahhh "ctázoano", kkkkkk
Mas tudo bem segue novamente
http://fivewin.com.br/index.php?/files/file/1111-mrboletozip/
-
MRBOLETO não selve?
Vou de Mrboleto. Baixei o exemplo do Emotta e vou ralar.
Obrigado Kapiaba.
-
MRBOLETO não selve?
Alguém tem um exemplozinho ?
Obrigado
-
Se tiver pensando em uma situação em que seu desenvolvimento torna-se apenas gerar um arquivo do tipo INI e submeter a um interpretador, pense no ACBR. Sei que estará utilizando ferramenta externa ao seus sistema, porém, as atualizações de sua competência serão em relação as alterações do banco e mais poderá instalar o ACBR no servidor ao invés de cpu a cpu.
[]s,
Boa noite Jorge. Como funciona o acbr, é uma Dll? E como funciona o esquema de licenças? Na cobrebem é uma para cada cedente. Desde já agradeço.
Se tiver pensando em uma situação em que seu desenvolvimento torna-se apenas gerar um arquivo do tipo INI e submeter a um interpretador, pense no ACBR. Sei que estará utilizando ferramenta externa ao seus sistema, porém, as atualizações de sua competência serão em relação as alterações do banco e mais poderá instalar o ACBR no servidor ao invés de cpu a cpu.
[]s,
-
Bom dia Amigos.
Alguém saberia me dizer qual a melhor solução para impressão de boletos bancários em xHarbour?
Tenho alguns sistemas com a solução da Cobrebem, mas está muito caro o que a torna inviável.
Desde já agradeço.
-
Acrescente!
oBrw:aCols[3]:SetCheck()
Obrigado
-
Boa noite amigos.
Alguém tem algum exemplo de edição de checkbox numa coluna de TxBrowse()
Desde já gradeço as colaborações.
oBrw := TxBrowse():New(oDlg)
oBrw:nTop := 40 // 8
oBrw:nLeft := 4
oBrw:nbottom := 135
oBrw:nRight:= nWidthLb + 3 // 6 em pixel
//oBrw:nTop := nTopBrw // 2.5 // 160
//oBrw:nLeft := nLeftBrw // 0.700 // em pixel
//oBrw:nbottom := nBottomBrw // 200 // 225oBrw:nColDividerStyle := LINESTYLE_LIGHTGRAY // LINESTYLE_BLACK por array
oBrw:nRowDividerStyle := LINESTYLE_LIGHTGRAY // LINESTYLE_BLACK
oBrw:nMarqueeStyle := MARQSTYLE_HIGHLCELL
oBrw:cAlias := Alias()
oBrw:lAllowColSwapping := .f.
oBrw:lColDividerComplete := .t.
oBrw:lHScroll := .f.
oBrw:lFastEdit := .t.
//oBrw:nFreeze := 9
oBRW:nRowHeight:= 18
//
aCols := oBrw:AddCol()
oBrw:aCols[1]:bStrData := { || TBALUNO->CODIGO}
oBrw:aCols[1]:cHeader := "Código"
oBrw:aCols[1]:bClrEdit := oBrw:bClrStd
oBrw:aCols[1]:nWidth := 100
//aCols := oBrw:AddCol()
oBrw:aCols[1]:bStrData := { || TBALUNO->DATANAS}
oBrw:aCols[1]:cHeader := "Data Nascimento"
oBrw:aCols[1]:bClrEdit := oBrw:bClrStd
oBrw:aCols[1]:bOnPostEdit := { | oCol, xVal, nKey | If( nKey == VK_RETURN, TBALUNO->DATANAS := xVal,) }
oBrw:aCols[1]:nEditType := EDIT_GET
oBrw:aCols[1]:nWidth := 110
//
aCols := oBrw:AddCol()
oBrw:aCols[3]:bStrData := { || TBALUNO->POSGRAD} // Este aqui é um campo lógico
oBrw:aCols[3]:cHeader := "Pós Grad"
oBrw:aCols[3]:bClrEdit := oBrw:bClrStd
oBrw:aCols[3]:bOnPostEdit := { | oCol, xVal, nKey | If( nKey == VK_RETURN, TBALUNO->POSGRAD := xVal,) }
oBrw:aCols[3]:nEditType := EDIT_GET
oBrw:aCols[3]:nWidth := 120 -
Uso as variáveis muito bem classificadas. Todas STATIC ou LOCAL. Se tiver alguma PRIVATE é por mero esquecimento de declarar como LOCAL.
Fiz alguns testes com samples do fivewin e noto que essa alocação de memória contínua se repete em todos executáveis.
Em resumo: o tamanho de memória utilizada mostrado no gerenciador de processos do windows só aumenta. Nunca diminui.
Em relação à sugestão do Kapaiaba em chamar a função HB_GCALL() para esvaziar a memória, apesar de ser teoricamente ideal, não funciona.
O o método End() já chama essa função toda vez que uma dialog é fechada pelo método "oDialog:End()".
B_GCALL libera blocos de memória não usados pelo EXE, porém, o que parece estar acontecendo é que esses blocos não estão sendo marcados como LIXO para que a função HB_GCALL limpe.E agora? O que fazer?
Também costumo declarar as variáveis locais e private. Porém tenho dúvidas com relação as variáveis Static, qual a vantagem e quando devo utilizá-las?
-
Bom dia, Pessoal
Dia 01/08/2018 finalmente começa a vigorar o prazo maximo da nfe 4.0
Ou seja não tem mais volta.
Tenho percebido muitos erros no Sefaz, sera que teremos muitas surpresas no dia 01, afinal de contas não é tao facil atualizar os clientes caso venha aparecer alguma novidade.
Essa semana mesmo sem avisar nada veio o erro do GTIN, fora os problemas com campo forma de Pagamento
Alguem tenha alguma dica de alguma coisa que possa travar todo o sistema ?.
Abraço a todos
.
Pode crer. Esse GTIN também me pegou de surpresa! E se eu estivesse em Cancún?
-
Olá Kapiaba.
Não me xinga se eu estiver errado, mas " Release oDlg* " não resolve isso?
Tenta também usar essas functions como "STATIC FUNCTION" quando elas só forem chamadas do mesmo prg onde a mesma se encontra.
-
ATENÇÃO: Serão temporariamente desativadas na NF-e, modelo 55, as RV N23b-20, N27b-20 e N23d-10, rejeições 875 e 860. Posteriormente serão publicadas em NT maiores orientações.
https://www.fazenda.sp.gov.br/nfe/
Num intindi nada. Jorge Andrade, help-me please.
Mas eles não explicam !!!
-
A Flexdocs tem o cancelamento por evento
http://www.flexdocs.com.br/guianfe/WS.canc.cancelaEvento.html
este permite passar a diferença de fuso, quando não enviado ela passa o padrão (windows).
E o suporte é ótimo. Grande Flexdocs!
A Flexdocs tem o cancelamento por evento
http://www.flexdocs.com.br/guianfe/WS.canc.cancelaEvento.html
este permite passar a diferença de fuso, quando não enviado ela passa o padrão (windows).
-
Usa o ACBr pra saber qual o item pelo menos ou muda.
Aki ta tranquilo, tb tenho vários clientes e não estou tendo dificuldades
Fiz o sistema qdo da o erro imprimir seja qual for GTIN NCM imprime e como no retorno já vem o Item ai o cliente vai e arruma.
Éh rsrsrs se eu tivesse fazendo referência da tag cEan a um campo da tabela de produtos era só deixar o abacaxi para o cliente, mas eu estava enviando como SPACE(13).
use tag
:cEAN := If(Prod->Gtn_Prod, "SEM GTIN", Prod->Bar_Prod)acho que usou somente a tag :cEANTrib coloque a outra tag tb
-
889 - Rejeição: Obrigatória a informação do GTIN para o produto
Boa tarde Pessoal
Começou agora a tarde esse erro na nota fiscal eletronica
Nao passa nada
Alguem poderia dar uma dica se realmente precisa colocar o codigo gtin
Boa noite meus amigos.
Hoje após as 15:00 também passei por esse problema e tive que atualizar o sistema em vários clientes de um minuto para o outro e os demais ficaram para amanhã. Entretanto, surpresas como essa não estão sendo novidade por parte da famigerada Sefaz, haja visto a questão do grupo <fat> com as tags <vOrig> e <vLiq> que só passaram a ser validadas em 01/07/2018, pegando-nos todos de surpresa. Aliás, eu quase perco clientes de longos anos por causa disso, de modo que tive que retornar a versão 3.10 da NF-e para desempacar o faturamento. ESSES CARAS DA SEFAZ NÃO PASSAM DE UM BANDO DE IRRESPONSÁVEIS!!!
-
pessoal veja se alguém pode me ajudar,não sei aonde esta errado comparei com varios xml
erro da flexdocs "Campos do grupo fatura não informado" mais eles estão ai tudo certo
-<cobr> -<fat> <nFat>46605</nFat> <vOrig>42.90</vOrig> <vLiq>42.90</vLiq> </fat> -<dup> <nDup>001</nDup> <dVenc>2018-07-25</dVenc> <vDup>42.90</vDup> </dup> </cobr> -<pag> -<detPag> <indPag>1</indPag> <tPag>15</tPag> <vPag>42.90</vPag> </detPag> </pag>
A flexdocs me orientou a informar :vDesc := 0.001, quando não houver descontos. Caso seja para um destinatário de SP essa tag só será obrigatória a partir de 03/09/2018.
-
Boa tarde amigos.
Tenho essa função nos meus sistemas e gostaria de saber se tem algum parâmetro para cópia oculta.
Obrigado
function Mmail(cTo,cSentBy,cEmailHeader,cEmailNotes,cANEXO1)
// Modificada por João Freire de Aguiar
DEFAULT lEXIBE := .F.
oOutLook := TOleAuto():New("Outlook.Application")
oMailItem := oOutLook:Invoke("CreateItem", 0)
oMailitem:to:=cTo
// oMailItem:Recipients:Add( "tdsperth@outlook.com" )
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) -
Bom dia.
Estou tentando acessar o web service da Semasa para baixar uma tabela com lista de pontos de coletas e tá embassado rsrsrs
Este token funciona como um login name , de modo que se eu estiver utilizando um navegador, o insiro e me retorna um arquivo com essa lista.
Toda ajuda será bem vinda.
thanks
FUNCTION RecebeServicos()
Local oServerWS, cUrl
Local token := "ababababababababa"cUrl:= "http://servicos.semasa.sp.gov.br/IServiceWebDRS/ServicosDRS.asmx?op=ReceberServicos" // Retornou 685 linhas
cSoap := "http://ws.semasa.sp.gov.br/ReceberServicos"Try
oServerWS := CreateObject( 'MSXML2.ServerXMLHTTP.5.0' )
Catch oError
try
oServerWS := CreateObject( 'MSXML2.ServerXMLHTTP.6.0' )
catch oError
try
oServerWS := CreateObject("Microsoft.XMLHTTP")
catch oError
? e:Description
return nil
end
END
endTRY
//oServerWS:setOption( 3, 'CURRENT_USER\MY\'+token )
oServerWS:open('GET', cUrl, .f.)
oServerWS:setRequestHeader('SOAPAction', cSoap )
oServerWS:setRequestHeader('Content-Type' , 'text/xml; charset=utf-8') // Obtém ou define o valor de cabeçalho de Content-type HTTP.
oServerWS:send()
CATCH
? "Não conseguiu enviar solicitação para requisição dos dados do CNPJ"
return .t.
END// Verifica o status do request. Exibe erro se houver
IF oServerWS:Status != 200 // OK
MsgStop( Alltrim(STR(oServerWS:Status)) +" - "+ oServerWS:StatusText , "Erro")
RETURN NIL
ENDIFWHILE oServerWS:readyState != 4
oServerWS:waitForResponse(1000)
ENDDOtxt:= oServerWS:responseText
? txt
Arq_1:=ALLTRIM(txt)ARR0:=HB_ATokens( Arq_1, CHR(10) )
xbrowse(ARR0)
RETURN Nil
****************************************************************************
VERSÃO PRELIMINAR DA DLL - 2Gv4.06 de 28-08-2018
in Programação
Posted
Oh meu pai. Alterações na NF-e de novo não. Isso é o pesadelo de qualquer programador.