Dados do Sintegra de São Paulo
Moderador: Moderadores
-
Kapiaba
- Colaborador

- Mensagens: 1908
- Registrado em: 07 Dez 2012 16:14
- Localização: São Paulo
- Contato:
Dados do Sintegra de São Paulo
Parece que já se está achando uma luz no fim do túnel, aqui:
http://fivewin.com.br/index.php?/topic/ ... -sintegra/
Esperando o usuário me enviar a classe completa.
Abs.
http://fivewin.com.br/index.php?/topic/ ... -sintegra/
Esperando o usuário me enviar a classe completa.
Abs.
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Dados do Sintegra de São Paulo
Ola!
Não entendi o titulo.
Depois vi que é apenas para verificação do contribuinte se ele está ok, ou seja poder receber NFe. (podendo comprar usando CNPJ/CPF)
Os dados do sintegra é uma coisa enorme... Agora em desuso por causa do SPED...
Pelo que entendi, na classe do Quintas tem como verificar isso.
Saudações,
Itamar M. Lins Jr.
Não entendi o titulo.
Depois vi que é apenas para verificação do contribuinte se ele está ok, ou seja poder receber NFe. (podendo comprar usando CNPJ/CPF)
Os dados do sintegra é uma coisa enorme... Agora em desuso por causa do SPED...
Pelo que entendi, na classe do Quintas tem como verificar isso.
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Dados do Sintegra de São Paulo
Pior que isso.... o Kapiaba usa um componente pago que tem isso (ou deveria ter)Itamar M. Lins Jr. escreveu:Pelo que entendi, na classe do Quintas tem como verificar isso.
É um dos serviços de NFE.
Se alguém usa componente pra emitir NFE, também tem opção de consultar cadastro da Sefaz.
Tanto faz se é a sefazclass ou flexdocs ou uninfe ou sei lá o que.
Antigamente eu fazia pelo meu servidor, e armazenava os resultados nele pra reutilização.
O fonte é dessa época, não tive tempo de atualizar ainda.
O aplicativo consultava meu servidor, e podia gravar uma requisição de consulta.
Durante os processos do aplicativo, acabava atualizando o cadastro no aplicativo.
Eu fazia rodízio de certificados..... rs
Código: Selecionar todos
/*
ZE_SPEDCADASTROCLASS - CONSULTA CADASTRO SEFAZ
*/
#include "josequintas.ch"
#include "hbclass.ch"
CREATE CLASS ConsultaCadastroClass
VAR Versao INIT ""
VAR VerAplic INIT ""
VAR cStat INIT ""
VAR cMotivo INIT ""
VAR UF INIT ""
VAR IE INIT ""
VAR CNPJ INIT {}
VAR CPF INIT {}
VAR dhCons INIT {}
VAR cUf INIT {}
VAR InfCad INIT {}
ENDCLASS
CREATE CLASS InfCadClass
VAR IE INIT ""
VAR CNPJ INIT ""
VAR CPF INIT ""
VAR UF INIT ""
VAR cSit INIT ""
VAR IndCredNfe INIT ""
VAR IndCredCte INIT ""
VAR xNome INIT ""
VAR xFant INIT ""
VAR xRegApur INIT ""
VAR CNAE INIT ""
VAR dIniAtiv INIT ""
VAR dUltSit INIT ""
VAR dBaixa INIT ""
VAR IEUnica INIT ""
VAR Ender
METHOD Init()
ENDCLASS
METHOD Init() CLASS InfCadClass
::Ender := EnderClass():New()
RETURN SELF
CREATE CLASS EnderClass STATIC
VAR Logradouro INIT ""
VAR Numero INIT ""
VAR Complemento INIT ""
VAR Bairro INIT ""
VAR MunicipioIBGE INIT ""
VAR Municipio INIT ""
VAR CEP INIT ""
ENDCLASS
FUNCTION XmlToConsulta(cXml)
LOCAL Consulta, oElement, cXmlInfCad, mTexto, cXmlEnder, mInfCad, mEnder
Consulta := ConsultaCadastroClass():New()
Consulta:Versao := XmlNode( cXml, "versao" )
Consulta:VerAplic := XmlNode( cXml, "verAplic" )
Consulta:cStat := XmlNode( cXml, "cStat" )
Consulta:cMotivo := XmlNode( cXml, "xMotivo" )
Consulta:UF := XmlNode( cXml, "UF" )
Consulta:IE := XmlNode( cXml, "IE" )
Consulta:Cnpj := XmlNode( cXml, "CNPJ" )
Consulta:Cpf := XmlNode( cXml, "CPF" )
Consulta:dhCons := XmlNode( cXml, "dhCons" )
Consulta:cUf := XmlNode( cXml, "cUF" )
cXmlInfCad := {}
mTexto := cXml
DO WHILE .T.
IF At( "<infCad", mTexto ) == 0
EXIT
ENDIF
AAdd( cXmlInfCad, XmlNode( mTexto, "infCad" ) )
IF "</infCad" $ mTexto
mTexto := Substr( mTexto, At( "</infCad", mTexto ) + 5 )
ELSE
mTexto := ""
ENDIF
ENDDO
FOR EACH oElement IN cXmlInfCad
mInfCad := InfCadClass():New()
mInfCad:IE := XmlNode( oElement, "IE" )
mInfCad:CNPJ := XmlNode( oElement, "CNPJ" )
mInfCad:CPF := XmlNode( oElement, "CPF" )
mInfCad:UF := XmlNode( oElement, "UF" )
mInfCad:cSit := XmlNode( oElement, "cSit" )
mInfCad:IndCredNfe := XmlNode( oElement, "indCredNFe" )
mInfCad:IndCredCte := XmlNode( oElement, "indCredCTe" )
mInfCad:xNome := XmlNode( oElement, "xNome" )
mInfCad:xFant := XmlNode( oElement, "xFant" )
mInfCad:xRegApur := XmlNode( oElement, "xRegApur" )
mInfCad:Cnae := XmlNode( oElement, "CNAE" )
mInfCad:dIniAtiv := XmlNode( oElement, "dIniAtiv" )
mInfCad:dUltSit := XmlNode( oElement, "dUltSit" )
mInfCad:dBaixa := XmlNode( oElement, "dBaixa" )
mInfCad:IEUnica := XmlNode( oElement, "IEUnica" )
cXmlEnder := XmlNode( oElement, "ender" )
mEnder := EnderClass():New()
mEnder:Logradouro := XmlNode( cXmlEnder, "xLgr" )
mEnder:Numero := XmlNode( cXmlEnder, "nro" )
mEnder:Complemento := XmlNode( cXmlEnder, "xCpl" )
mEnder:Bairro := XmlNode( cXmlEnder, "xBairro" )
mEnder:MunicipioIbge := XmlNode( cXmlEnder, "cMun" )
mEnder:Municipio := XmlNode( cXmlEnder, "xMun" )
mEnder:CEP := XmlNode( cXmlEnder, "CEP" )
mInfCad:Ender := mEnder
AAdd( Consulta:InfCad, mInfCad )
NEXT
RETURN Consulta
FUNCTION SituacaoCnpjMySql( lObrigatoria )
LOCAL mXml, mSelect, mSitFaz, mSitNfe, mSitCnae, mOk, mCadastro, nCont, cUf, cCnpj, cnMySql := ADOClass():New( AppcnServerJPA() )
hb_Default( @lObrigatoria, .F. )
cCnpj := jpcadas->cdCnpj
cUf := jpcadas->cdUF
mXml := ""
mSelect := Select()
IF ! ( lObrigatoria .OR. LeCnf( "CLI CONSULTA MYSQL" ) == "SIM" )
RETURN NIL
ENDIF
IF Len( Trim( cCnpj ) ) <> 18
RETURN NIL
ENDIF
IF Len( Trim( cUf ) ) <> 2
RETURN NIL
ENDIF
IF Time() > "20:00" .OR. Dow( Date() ) == DOW_DOMINGO .OR. Dow( Date() ) == DOW_SABADO
RETURN NIL
ENDIF
cnMySql:cSql := "SELECT * FROM JPCADFAZ WHERE SFCNPJ=" + StringSql( cCnpj ) + " AND SFUF=" + StringSql( cUf )
cnMySql:Execute()
IF cnMySql:Eof()
IF lObrigatoria .OR. LeCnf( "CLI CONSULTA SEFAZ" ) == "SIM"
WITH OBJECT cnMySql
:QueryCreate()
:QueryAdd( "SFCNPJ", cCnpj )
:QueryAdd( "SFUF", cUF )
:QueryAdd( "SFINFINC", LogInfo() )
:QueryAdd( "SFCONSULTAR", "S" )
:QueryExecuteInsert( "JPCADFAZ" )
END WITH
ENDIF
ELSE
mXml := cnMySql:StringSql( "SFXML" )
IF mXml == NIL
mXml := ""
ENDIF
IF LeCnf( "CLI CONSULTA SEFAZ" ) == "SIM"
cnMySql:cSql := "UPDATE JPCADFAZ SET SFCONSULTAR='S', SFINFINC=" + StringSql( LogInfo() ) + " WHERE SFCNPJ=" + StringSql( cCnpj ) + " AND SFUF=" + StringSql( cUF )
cnMySql:ExecuteCmd()
ENDIF
ENDIF
cnMySql:CloseRecordset()
mCadastro := XmlToConsulta( mXml )
IF Len( mCadastro:InfCad ) > 0
mSitFaz := mCadastro:InfCad[ 1 ]:cSit
mSitNfe := mCadastro:InfCad[ 1 ]:IndCredNfe
mSitCnae := mCadastro:InfCad[ 1 ]:Cnae
mOk := .F.
FOR nCont = 1 TO Len( mCadastro:InfCad )
IF SoNumeros( jpcadas->cdInsEst ) == mCadastro:InfCad[ nCont ]:IE
mSitFaz := mCadastro:InfCad[ nCont ]:cSit
mSitNfe := mCadastro:InfCad[ nCont ]:IndCredNfe
mSitCnae:= mCadastro:InfCad[ nCont ]:Cnae
mOk := .T.
ENDIF
NEXT
IF ! mOk // Isento que fechou IE ou Servicos
mSitFaz := " "
ENDIF
SELECT jpcadas
BEGIN SEQUENCE WITH __BreakBlock()
RecLock()
REPLACE jpcadas->cdSitFaz WITH mSitFaz, ;
jpcadas->cdSitNfe WITH mSitNfe
IF ! Empty( mSitCnae )
IF ! "88889" $ mSitCnae .AND. ! "MARINGA" $ AppEmpresaNome() // ANP nao aceita o 88889
REPLACE jpcadas->cdCnae WITH mSitCnae
ENDIF
ENDIF
RecUnlock()
END SEQUENCE
SELECT (mSelect)
ENDIF
RETURN NIL
FUNCTION SituacaoCnpjSefaz( cCnpj, cUf )
LOCAL mXml, oSefaz, mQtd, aApelidos := { "CARBOLUB", "CORDEIRO", "MARINGA", "CRISPET" }
LOCAL cnMySql := ADOClass():New( AppcnServerJPA() )
STATIC nNumApelido := 0
nNumApelido += 1
IF nNumApelido > 3
nNumApelido := 1
ENDIF
oSefaz := SefazClass():New()
mXml := oSefaz:NfeConsultaCadastro( SoNumeros( cCnpj ), cUf, NomeCertificado( aApelidos[ nNumApelido ] ) )
cnMySql:cSql := "SELECT COUNT(*) AS QTD FROM JPCADFAZ WHERE SFUF=" + StringSql( cUF ) + " AND SFCNPJ=" + StringSql( cCnpj )
cnMySql:Execute()
mQtd := cnMySql:NumberSql( "QTD" )
cnMySql:CloseRecordset()
WITH OBJECT cnMySql
:QueryCreate()
:QueryAdd( "SFCONSULTAR", "N" )
:QueryAdd( "SFXML", mXml )
:QueryAdd( "SFINFALT", LogInfo() )
IF mQtd == 0
:QueryAdd( "SFUF", cUf )
:QueryAdd( "SFCNPJ", cCnpj )
:QueryAdd( "SFINFINC", LogInfo() )
:QueryExecuteInsert( "JPCADFAZ" )
ELSE
:QueryExecuteUpdate( "JPCADFAZ", "SFCNPJ=" + StringSql( cCnpj ) + " AND SFUF=" + StringSql( cUF ) )
ENDIF
END WITH
RETURN mXml
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
-
Kapiaba
- Colaborador

- Mensagens: 1908
- Registrado em: 07 Dez 2012 16:14
- Localização: São Paulo
- Contato:
Dados do Sintegra de São Paulo
Mister Quintas, valeu. Flexdocs tem. Eu é que não sabia. Agora, tenho duas opções;
http://www.flexdocs.com.br/guiaNFe/WS.c ... Cad2G.html
Obg. abs.
http://www.flexdocs.com.br/guiaNFe/WS.c ... Cad2G.html
Obg. abs.
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Dados do Sintegra de São Paulo
Ola!
Os "DADOS DO SINTEGRA" até onde sei, são calhamaços de informações... Tudo que vendeu via NF, NFCE, NFe... e entrou na loja, mais inventário etc...
Enfim Livros de entradas e saídas, e livro de apuração do ICMS.
Saudações,
Itamar M. Lins Jr.
Os "DADOS DO SINTEGRA" até onde sei, são calhamaços de informações... Tudo que vendeu via NF, NFCE, NFe... e entrou na loja, mais inventário etc...
Enfim Livros de entradas e saídas, e livro de apuração do ICMS.
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Dados do Sintegra de São Paulo
Ola!
http://www.sintegra.gov.br/download.html#validador
http://receita.fazenda.rs.gov.br/download/1849
Dá uma lida no leiaute do arquivo para ver como deverá ser entregue.
Saudações,
Itamar M. Lins Jr.
http://www.sintegra.gov.br/download.html#validador
http://receita.fazenda.rs.gov.br/download/1849
Dá uma lida no leiaute do arquivo para ver como deverá ser entregue.
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
-
Kapiaba
- Colaborador

- Mensagens: 1908
- Registrado em: 07 Dez 2012 16:14
- Localização: São Paulo
- Contato:
Dados do Sintegra de São Paulo
No meu caso, os clientes só precisam disso. Para saber a situação cadastral do comprador, se esta APTO ou INAPTO(uso denegado).
Obg. abs.
Obg. abs.
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Dados do Sintegra de São Paulo
Não Itamar.
Uma coisa é o arquivo do Sintegra.
Outra coisa é a consulta ao cadastro, que está na página do Sintegra, e também nesse webservice.
Uma coisa é o arquivo do Sintegra.
Outra coisa é a consulta ao cadastro, que está na página do Sintegra, e também nesse webservice.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
-
Kapiaba
- Colaborador

- Mensagens: 1908
- Registrado em: 07 Dez 2012 16:14
- Localização: São Paulo
- Contato:
Dados do Sintegra de São Paulo
Veja a situação cadastral deste "comprador", ele está INAPTO no sintegra, SPC, SERASA, etc.
É uma segurança para os clientes não venderem para "ARARAS".
Abs.
É uma segurança para os clientes não venderem para "ARARAS".
Abs.
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Dados do Sintegra de São Paulo
Ola!
Assim como o NFe é enorme e tem um modulo de consulta cadastro.
Veja que o "TITULO" do post, diz "Dados do Sintegra" é uma coisa muito genérica. É a mesma coisa se fosse "Dados da NFe" e só fizesse alusão a consultar, para ver se o CNPJ/CPF estivesse habilitado.
Saudações,
Itamar M. Lins Jr.
Eu sei, mas o sintegra não é só para consultar cadastro, é muito maior.Não Itamar.
Uma coisa é o arquivo do Sintegra.
Outra coisa é a consulta ao cadastro, que está na página do Sintegra, e também nesse webservice.
Assim como o NFe é enorme e tem um modulo de consulta cadastro.
Veja que o "TITULO" do post, diz "Dados do Sintegra" é uma coisa muito genérica. É a mesma coisa se fosse "Dados da NFe" e só fizesse alusão a consultar, para ver se o CNPJ/CPF estivesse habilitado.
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.