Jump to content
Fivewin Brasil

oribeiro

Membros
  • Posts

    1,291
  • Joined

  • Last visited

  • Days Won

    35

oribeiro last won the day on February 1 2022

oribeiro had the most liked content!

1 Follower

About oribeiro

  • Birthday 02/19/1965

Contact Methods

  • Website URL
    www.oasysitu.com

Profile Information

  • Gender
    Male
  • Location
    Itu, SP

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

oribeiro's Achievements

Newbie

Newbie (1/14)

79

Reputation

  1. Vamos juntos. Estou com dificuldade na consulta do lote enviado. Se precisar de ajuda, conte comigo.
  2. Pessoal, Algum de vocês já está trabalhando com a NFS-e utilizando a ACBrNFSe32.DLL ?
  3. Também fiquei com essa dúvida. O que é compilar no modo MT? Como se faz isso no xHarbour? Por favor, desculpem a minha ignorância e me ajudem a entender essa expressão.
  4. Pessoal, Eu estou programando a consulta no WebService para obtenção de informações do GTIN mas não estou acertando. Por favor, vejam o código abaixo e, se possível, me informem onde eu estou errando. Obrigado. /////// // CONSULTA WEBSERVICE: GTIN // #include "FiveWin.ch" function Main() local oWnd, oBar, oWebServer DEFINE WINDOW oWnd TITLE "Web Service" DEFINE BUTTONBAR oBar BUTTONSIZE 60,30 OF oWnd _3D DEFINE BUTTON OF oBar PROMPT "&Execute" ACTION ConectarSOAP() DEFINE BUTTON OF oBar PROMPT "&Sair" ACTION oWnd:End() ACTIVATE WINDOW oWnd return nil //----------------------------------------------------------------------------// Static Function ConectarSOAP() // Função para consumir WebService #Include "Common.ch" // fwh\include #Include "winapi.ch" // fwh\include #Include "objects.ch" // fwh\include #include "hbXml.ch" // fwh\include // Variáveis utilizadas // Local doc, http, cXmlBody, cFilename, oText, hFile, xmldoc, xmlnote, cnome, cxmlretorno, xmlnode, response CursorWait() // Abertura das funções para WebService do xHarbour // doc = CreateObject( "MSXML2.DOMDocument" ) http = CreateObject( "MSXML2.XMLHTTP" ) // Funciona também -> "Microsoft.XMLHTTP" /////////////////////////////////////////////////////////////////// ** // 1 - Aqui você coloca o endereço do WebService a ser consumido // /////////////////////////////////////////////////////////////////// // Exemplo: // http:Open( "POST" , "http://www.conectapdv.com.br/concentrador/concentrador.asmx?wsdl" , .f. ) http:Open( "POST" , "https://dfe-servico.svrs.rs.gov.br/ws/ccgConsGTIN/ccgConsGTIN.asmx" , .f. ) /////////////////////////////////////////////////////////////////// ** // 2 - Aqui você coloca o seu XML com a requisição = request // /////////////////////////////////////////////////////////////////// // Exemplo: // cXMlBody = '<?xml version="1.0" encoding="UTF-8"?>' + ; // '<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://dfe-servico.svrs.rs.gov.br/">'+; // ' <SOAP-ENV:Body>'+ ; // ' <WS_Busc_Projetos xmlns="http://tempuri.org/">'+; // ' <cIdentifica>&lt;identifica&gt;&lt;cnpj&gt;11222333000181&lt;/cnpj&gt;&lt;terminal&gt;020012&lt;/terminal&gt;&lt;autentica&gt;51131212&lt;/autentica&gt;&lt;/identifica&gt;</cIdentifica>'+; // ' </WS_Busc_Projetos>'+; // ' </SOAP-ENV:Body>'+; // '</SOAP-ENV:Envelope>' cXMlBody = ''+; '<?xml version="1.0" encoding="UTF-8"?>'+; '<xs:schema xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns="http://www.portalfiscal.inf.br/nfe" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.portalfiscal.inf.br/nfe" elementFormDefault="qualified" attributeFormDefault="unqualified">'+; ' <xs:include schemaLocation="tiposBasicosCcgConsGTIN_v1.00.xsd"/>'+; ' <xs:complexType name="TConsGTIN">'+ ; ' <xs:annotation>'+; ' <xs:documentation>Tipo Consulta pública Cadastro Centralizado de GTIN</xs:documentation>'+; ' <xs:annotation>'+; ' <xs:sequence>'+; ' <xs:element name="GTIN" type="TCodGTIN">'+; ' <xs:GTIN>7894900019896</xs:GTIN>'+ ; ' </xs:element>'+; ' </xs:sequence>'+; ' <xs:attribute name="versao" type="TVerConsGTIN" use="required"/>'+; ' </xs:complexType>'+; '</xs:schema>' /* cXMlBody = ''+; '<?xml version="1.0" encoding="UTF-8"?>'+; '<xs:schema xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns="http://www.portalfiscal.inf.br/nfe" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.portalfiscal.inf.br/nfe" elementFormDefault="qualified" attributeFormDefault="unqualified">'+; ' <xs:include schemaLocation="tiposBasicosCcgConsGTIN_v1.00.xsd"/>'+; ' <xs:complexType name="TConsGTIN">'+; ' <xs:annotation>'+; ' <xs:documentation>Tipo Consulta pública Cadastro Centralizado de GTIN</xs:documentation>'+; ' </xs:annotation>'+; ' <xs:sequence>'+; ' <xs:element name="GTIN" type="TCodGTIN">'+; ' <xs:annotation>'+; ' <xs:documentation>Informar o código GTIN a ser consultado.</xs:documentation>'+; ' </xs:annotation>'+; ' </xs:element>'+; ' </xs:sequence>'+; ' <xs:attribute name="versao" type="TVerConsGTIN" use="required"/>'+; ' </xs:complexType>'+; ' <xs:complexType name="TRetConsGTIN">'+; ' <xs:annotation>'+; ' <xs:documentation>Tipo Retorno da Consulta pública Cadastro Centralizado de GTIN</xs:documentation>'+; ' </xs:annotation>'+; ' <xs:sequence>'+; ' <xs:element name="verAplic" type="TVerAplic">'+; ' <xs:annotation>'+; ' <xs:documentation>Versão da aplicação da SVRS.</xs:documentation>'+; ' </xs:annotation>'+; ' </xs:element>'+; ' <xs:element name="cStat" type="TStat">'+; ' <xs:annotation>'+; ' <xs:documentation>Código do Status da resposta (resultado do processamento do lote).</xs:documentation>'+; ' </xs:annotation>'+; ' </xs:element>'+; ' <xs:element name="xMotivo" type="TMotivo">'+; ' <xs:annotation>'+; ' <xs:documentation>Descrição literal do Status da resposta (resultado do processamento do lote).</xs:documentation>'+; ' </xs:annotation>'+; ' </xs:element>'+; ' <xs:element name="dhResp" type="TDateTimeUTC">'+; ' <xs:annotation>'+; ' <xs:documentation>Data e hora da resposta, no formato AAAA-MM-DDThh:mm:ssTZD (UTC - Universal Coordinated Time).</xs:documentation>'+; ' </xs:annotation>'+; ' </xs:element>'+; ' <xs:element name="GTIN" type="TCodGTIN" minOccurs="0">'+; ' <xs:annotation>'+; ' <xs:documentation>(idem mensagem de entrada) Código GTIN.</xs:documentation>'+; ' </xs:annotation>'+; ' </xs:element>'+; ' <xs:element name="tpGTIN" type="TTpGTIN" minOccurs="0">'+; ' <xs:annotation>'+; ' <xs:documentation>Tipo do GTIN, quantidade de dígitos (8, 12, 13 ou 14).</xs:documentation>'+; ' </xs:annotation>'+; ' </xs:element>'+; ' <xs:element name="xProd" minOccurs="0">'+; ' <xs:annotation>'+; ' <xs:documentation>Descrição do produto.</xs:documentation>'+; ' </xs:annotation>'+; ' <xs:simpleType>'+; ' <xs:restriction base="TString">'+; ' <xs:minLength value="2"/>'+; ' <xs:maxLength value="500"/>'+; ' </xs:restriction>'+; ' </xs:simpleType>'+; ' </xs:element>'+; ' <xs:element name="NCM" minOccurs="0">'+; ' <xs:annotation>'+; ' <xs:documentation>Código do NCM (8 posições).</xs:documentation>'+; ' </xs:annotation>'+; ' <xs:simpleType>'+; ' <xs:restriction base="TString">'+; ' <xs:pattern value="[0-9]{8}"/>'+; ' </xs:restriction>'+; ' </xs:simpleType>'+; ' </xs:element>'+; ' <xs:element name="CEST" minOccurs="0" maxOccurs="3">'+; ' <xs:annotation>'+; ' <xs:documentation>Código Especificador da Substituição Tributária - CEST, que identifica a mercadoria sujeita aos regimes de substituição tributária e de antecipação do recolhimento do imposto.</xs:documentation>'+; ' </xs:annotation>'+; ' <xs:simpleType>'+; ' <xs:restriction base="TString">'+; ' <xs:pattern value="[0-9]{7}"/>'+; ' </xs:restriction>'+; ' </xs:simpleType>'+; ' </xs:element>'+; ' </xs:sequence>'+; ' <xs:attribute name="versao" type="TVerConsGTIN" use="required"/>'+; ' </xs:complexType>'+; ' <xs:simpleType name="TVerConsGTIN">'+; ' <xs:annotation>'+; ' <xs:documentation>Tipo Versão do Leiaute para Consulta Pública GTIN</xs:documentation>'+; ' </xs:annotation>'+; ' <xs:restriction base="xs:token">'+; ' <xs:pattern value="1\.00"/>'+; ' </xs:restriction>'+; ' </xs:simpleType>'+; '</xs:schema>' */ /////////////////////////////////////////////////////////////////// ** // 3 - Aqui você coloca a ação que o WebService deve executar // /////////////////////////////////////////////////////////////////// // Exemplo: // http:SetRequestHeader( "SOAPAction" , "http://tempuri.org/WS_Busc_Projetos" ) // http:SetRequestHeader( "Content-Type" , "text/xml" ) // Funções do WebService // doc:LoadXML( cXmlBody ) // Carrega o request http:Send( doc:xml ) // Envia o request response = http:responseText // Recebe o response cFilename:="texto.xml" // Nome do arquivo temporário FErase(cfilename) // Apaga o arquivo, caso exista //Cria o arquivo temporário e armazena o XML retornado oText:= TTxtFile():New( cfilename ) if oText:Open() oText:add(alltrim(response)) endif oText:close() // Mostra o XML retornado // ? "XML RETORNADO:",,response // Abre o arquivo temporário hFile := FOpen( cFileName ) IF hFile == -1 MsgStop("Erro ao abrir arquivo:"+cFileName) Return Nil ENDIF // Pega o conteudo do arquivo temporário pela classe TxmlDocument() // xmlDoc := TXmlDocument():New( hFile ) /////////////////////////////////////////////////////////////////// ** // 4 - Captura os dados do nó principal "WS_Busc_ProjetosResult" // // que deverá ser substituído pelo seu. // /////////////////////////////////////////////////////////////////// xmlNode := xmlDoc:oRoot:oChild DO WHILE xmlNode != NIL cNome:=xmlNode:cName if cNome=='WS_Busc_ProjetosResult' cXMLRetorno:=xmlNode:cData endif xmlNode := xmlNode:NextInTree() ENDDO fclose(hFile) // Fecha o arquivo temporário // Mostra o conteudo do nó principal // ? "RETORNO DA CONSULTA:",,cXMLRetorno Return nil
  5. Pessoal, Estou ressuscitando esse tópico para perguntar se alguém já conseguiu consultar/validar o GTIN via WebService.
  6. Pessoal, Vejam esse site https://win11.blueedge.me Se o Windows for para a web os nossos problemas estarão resolvidos e poderemos continuar com o fivewin Windows e rodar num navegador.
  7. Tentei Alexandre, mas quando eu dou Ctrl+V numa pasta ele não cola o arquivo. Eu tentei também usar o Ctrl+V numa planilha Excel em branco mas ele retorna apenas alguns caracteres estranhos. Alguma outra sugestão para eu colocar uma planilha Excel na área de transferêcia?
  8. O problema é que o arquivo que eu estou tentando colocar na área de transferência é uma planilha Excel gerada dentro do meu sistema. Como faço para colocá-la numa memoread?
  9. Eu estou planejando algo que atenderia exatamente o que o cliente quer. Sem seleção de arquivos. O que eu preciso é que o sistema coloque um arquivo na área de transferência, como se eu tivesse clicado sobre ele no explorer e escolhido copiar. Alguém já fez isso? Vi um post onde se tentou colocar uma planilha excel no ClipBoard mas não tem a solução lá.
  10. Pessoal, É possível copiar um arquivo para o ClipBoard do mesmo modo como copiamos um texto? Eu quero copiar um arquivo gerado no sistema para o usuário ir na pasta onde ele deseja e colar com Ctrl + V. Já viram isso? Obrigado.
  11. Boa tarde amigos, Desculpe reabrir esse tópico, mas é possível copiar um arquivo para o ClipBoard? O objetivo é o usuário ir depois na pasta que ele desejar e dar um Ctrl+V
  12. João, Se eu tiver certeza de que há um problema na DLL do MySql e que a versão nova corrige eu atualizo a minha versão. Mas como eu posso saber disso?
  13. A minha LibMySql.dll é de 2018. Vocês tem uma mais recente para eu testá-la e ver se o problema está na minha DLL?
  14. Agora eu estou com outro problema: Com esse comando no oQry:Query() WHERE cases.date BETWEEN '2022-01-01 00:00:00' AND '2022-01-12 23:59:59'; Retornam 31 registros, sendo os dois últimos com data '2022-01-13 00:47:50' Usando a mesma Select no HeidiSql, retornam 29 registros corretamente dentro do período 01 a 12 de janeiro. Alguém teve esse mesmo problema com a classe nativa?
  15. Consegui, tinha um comando na aplicação que não deixava pesquisar. Era esse aqui: FW_SetUnicode( .T. ) // Essa função não deixa pesquisar acentos no MySQL (não usar) Obrigado a todos.
×
×
  • Create New...