Jump to content
Fivewin Brasil

jfaguiar

Membros
  • Posts

    1,287
  • Joined

  • Last visited

  • Days Won

    21

Everything posted by jfaguiar

  1. Oh meu pai. Alterações na NF-e de novo não. Isso é o pesadelo de qualquer programador.
  2. 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)
  3. 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.
  4. 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
  5. 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) *****************************************************************************
  6. Olá Kapiaba. Conseguiiiiiiiiiiii Baixei as libs de harupdf e consegui compilar em xharbour 13.07!!
  7. Bom dia Kapiaba. Também alterei os cxb para a minha versão (fwh1307) mas não funcionou. Alguém tem alguma novidade por í?
  8. 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.
  9. Vou de Mrboleto. Baixei o exemplo do Emotta e vou ralar. Obrigado Kapiaba.
  10. Alguém tem um exemplozinho ? Obrigado
  11. 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.
  12. 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 // 225 oBrw: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
  13. 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?
  14. Pode crer. Esse GTIN também me pegou de surpresa! E se eu estivesse em Cancún?
  15. 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.
  16. Mas eles não explicam !!!
  17. É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).
  18. 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!!!
  19. 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.
  20. 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)
  21. 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 end TRY //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 ENDIF WHILE oServerWS:readyState != 4 oServerWS:waitForResponse(1000) ENDDO txt:= oServerWS:responseText ? txt Arq_1:=ALLTRIM(txt) ARR0:=HB_ATokens( Arq_1, CHR(10) ) xbrowse(ARR0) RETURN Nil ****************************************************************************
×
×
  • Create New...