Comments (30)
Talvez vocês já tenham desenvolvido mas não está atualizado, então criei uma classe que interpreta o código da V1.00 e gera o xml para V2.00. Pelo menos temporariamente até ter a classe atualizada.
Substituir:
$lote = new Sped\Gnre\Sefaz\Lote()
Por:
$lote = new LoteV2()
$lote->setAmbienteDeTesteV2(true); // caso homologação
Em anexo.
from sped-gnre.
Bora fazer essa atualização?
from sped-gnre.
Seria uma boa, eu particularmente não comecei nenhum trabalho ainda, me falta o certificado pra testar e não tenho nenhuma lista do que realmente mudou. Mas vamos usando essa thread pra traquear as mudanças.
from sped-gnre.
Eu tenho uma ideia do que mudou, porém também não tenho certificado. A principal mudança foi somente no nome das tags.
from sped-gnre.
Galera, isso foi feito?
Conheci a biblioteca a pouco e vi que ainda está na v1
from sped-gnre.
Bom dia @felipeparente, acredito que não. Eu não tenho certificado pra desenvolver e testar 😞
from sped-gnre.
ainda esta pendente : /
from sped-gnre.
@felipeparente @renandelmonico se tiver alguma forma de compartilharmos um certificado eu dedico um tempo pra atualizar pra v2
from sped-gnre.
Vamos tocar?
Até pq, creio que iremos precisar.
Eu tenho certificado de cliente, que eu posso utilizar para os testes, homologação.
from sped-gnre.
INFO DO PORTAL
A versão 1.00 do XML será aceita até o dia 30/11/2020 e até este período o portal estará apto a receber as duas versões.
from sped-gnre.
@felipeparente @marabesi se tem um certificado pra testar acho que podemos tocar, acredito que eu consiga disponibilizar um tempo pra atualizar também
from sped-gnre.
Vamos nos organizar.
Temos até o dia 30/11/2020.... provavelmente prorrogado, como tudo no Brasil.
Não deve ser tão complicado, pois utilizaríamos a mesma base.
Que tal um grupo no Whatsapp para conversarmos?
from sped-gnre.
Vamos nos organizar.
Temos até o dia 30/11/2020.... provavelmente prorrogado, como tudo no Brasil.
Não deve ser tão complicado, pois utilizaríamos a mesma base.Que tal um grupo no Whatsapp para conversarmos?
Pode-se pensar em algo. Pelo que eu já estudei sobre (faz alguns meses já) essa alteração basicamente muda praticamente apenas o prefixo das tags
from sped-gnre.
Pode ser, mas acho que seria interessante colocar alguma configuração, para utilizar o v1 ou v2.
from sped-gnre.
@felipeparente vc está no grupo gnre? (https://groups.google.com/g/gnrephp) de la podemos criar um grupo nosso pra toca a atualização (obs: o @renandelmonico eu sei que está)
from sped-gnre.
Não... como faço para entrar?
from sped-gnre.
https://groups.google.com/g/gnrephp
from sped-gnre.
Olha o que aparece para mim quando acesso o LINK.
from sped-gnre.
@felipeparente chegou algum invite?
from sped-gnre.
Chegou...
from sped-gnre.
obrigado pela contribuição @jone22e vou incluir essa classe no pacote :)
from sped-gnre.
@jone22e notei que na linha 82 tem um comentário "não sei"
$identificadorGuia = $gnre->createElement('identificadorGuia', "1"); //ainda nao sei
Seria essa uma tag que requer maior atenção?
from sped-gnre.
@jone22e notei que na linha 82 tem um comentário "não sei"
$identificadorGuia = $gnre->createElement('identificadorGuia', "1"); //ainda nao sei
Seria essa uma tag que requer maior atenção?
Se não me engano é apenas um id para guia, se emitisse mais do que uma no mesmo lote teria que seguir em sequência... 1,2,3...
from sped-gnre.
Entendi, pelo que vi a implementação ainda não esta completa? Tem um switch case para cada estado, mas para isso tem as classes de configuração (cada estado tem a sua).
Me diz se essa classe funciona, como ela está que ai eu refatoro pra usar essas configurações.
from sped-gnre.
Entendi, pelo que vi a implementação ainda não esta completa? Tem um switch case para cada estado, mas para isso tem as classes de configuração (cada estado tem a sua).
Me diz se essa classe funciona, como ela está que ai eu refatoro pra usar essas configurações.
Aquele case ajuda a passar o número da nfe ou chave da nfe, tem estados que agora esperam a chave. Está funcionando, já emitimos diversas guias.
from sped-gnre.
Bom dia, ainda sobre o switch case:
É necessário passar o tipo de documento de origem e o número. Na V1 eu sempre passava código 10 e o número da nota fiscal.
Como na empresa que trabalho emitimos guias GNRE da DIFA (100102) e de ST (100099), e pode haver diferença entre elas, eu criei 2 funções que auxiliam no que passar para a classe da guia:
getCodigoDoc($uf, $difa = false); //retorna o tipo de doc //10, 22, 24... dependendo do estado de destino
getNumDoc($uf); //retorna o campo que devo buscar no banco de dados: //numero ou chave da nf
Essas informações eu busquei diretamente no site da GNRE na parte de documentos de origem: http://www.gnre.pe.gov.br/gnre/portal/consultarTabelas.jsp
$guia->c28_tipoDocOrigem = $lote->getCodigoDoc($gnre['uf_favorecida'], $gnre['receita']=="100102"?true:false); //(se DIFA true, se ST false.)
$guia->c04_docOrigem = $nota[$lote->getNumDoc($gnre['uf_favorecida'])];
Mas logicamente existe vários outros códigos além da ST e DIFA, então essas funções deveriam ser copiadas pelo programador e ajustadas.
Eu fiz essa adaptação para V2 rapidamente, pois aqui emitimos várias guias diariamente, e supostamente dia 01/04/2021 está previsto que a GNRE V1 seja descontinuada, então eu precisava resolver a situação o quanto antes.
Mas se achar interessante posso com mais tempo desenvolver uma nova classe dedicada a V2, eu faria modificações como:
- Deixar a classe mais clara na declaração dos campos, tirar esse código do campo da V1 c01_UfFavorecida para setUfFavorecida();
- trabalhar melhor a parte de RJ pois tem que somar e declarar o FCP (fundo de combate a pobreza);
- Criar métodos para auxiliar o preenchimento, exemplo:
$guia->setTipoIdentificacaoEmitente($guia->EmitenteCNPJ);
Um Abraço!
from sped-gnre.
@jone22e eu fiz um merge request com o arquivo que você enviou, e a ideia é ir comitando as mudanças la, vou atualizando essa issue conforme avanço no processo.
@jone22e você conseguiria mandar um XML de uma gnre enviada a sefaz válida? Com o XML eu vou criar o caso de teste e ir trabalhando em cima dele (já que eu não tenho o certificado).
from sped-gnre.
Bom dia, segue o XML.
from sped-gnre.
Valeu!
from sped-gnre.
@jone22e sabe me dizer se a consulta de GNRE mudou para a versão 2 também? Ou só o lote?
from sped-gnre.
Related Issues (20)
- Extração de dados do certificado HOT 2
- Verificar PSR-2 em todas as classes HOT 1
- Atualização para o PHP7 HOT 8
- php 7.3 update
- Erro de dependência HOT 2
- Alguns pacotes de dependências estão abandonados ou obsoletos. HOT 3
- Erro no Template HOT 2
- Atende SP? HOT 2
- Erro de certificado 14094412:SSL routines:ssl3_read_bytes:sslv3 alert bad certificate HOT 1
- error:14094412:SSL routines:ssl3_read_bytes:sslv3 alert bad certificate
- Certificado emitido pela certisign
- Atualizar dependências para compatibilizar com php 8
- Erro ao instalar em projeto Laravel HOT 1
- erro ao mandar em ambiente de homologacao HOT 1
- Template com data para pagamento incorreta
- Erro na consulta do recibo.
- Retorno do webservice HOT 1
- Dom Pdf
- Erro ao enviar o Lote
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sped-gnre.