nfephp-org / nfephp Goto Github PK
View Code? Open in Web Editor NEWPROJETO DEPRECATED use sped-nfe
Home Page: https://github.com/nfephp-org/sped-nfe
License: Other
PROJETO DEPRECATED use sped-nfe
Home Page: https://github.com/nfephp-org/sped-nfe
License: Other
Olá,
Eu estou gerando o arquivo XML baseado no meu ERP que gera um TXT, porém eu não estou gerando a chave eu estou deixando pra NFePHP gerar, só que ao final da conversão ele somente salvar em $this->chave
a chave que eu botei que é vazia, logo em seguida ele gera uma nova chave e porém nao atualiza o $this->chave
Aqui ele salva o que foi colocado (no meu caso em branco)
https://github.com/nfephp-org/nfephp/blob/master/libs/ConvertNFePHP.class.php#L2208
Aqui ele gera, mas em nenhum momento atualiza a variavel
https://github.com/nfephp-org/nfephp/blob/master/libs/ConvertNFePHP.class.php#L2215
Pessoal, na classe Tools, método de envio do manifesto, pela linha 3368, temos:
//utilizar AN para enviar o manifesto
$sigla = 'AN';
Pergunto: por que forçamos utilizar o Ambiente Nacional, não poderiamos usar a própria SEFAZ de origem? Por exemplo, se sou do RS, usar a SEFAZ/RS?
Olá pessoal.
Muito bom o projeto, estou usando o módulo de geração do DANFE.
Achei interessante você poder escolher o formato da DANFE e da folha entre outras coisas.
Há planos para mais parâmetros configuráveis nesse módulo? Como configuração de margens, ligar e desligar a exibição de campos opcionais entre outras coisas.
Seria interessante o construtor do DANFE aceitar tais modificações. Atualmente estou usando um fork personalizado para se adequar ao meu uso.
Olá,
Na seguinte linha dá um warning de Undefined variable
porque is_soap_fault
não retornou true
e a variavel $soapFault
não foi criada!
https://github.com/nfephp-org/nfephp/blob/master/libs/ToolsNFePHP.class.php#L4326
Fiquei sabendo que no ano que vem a receita vai mudar o Layout do XML para a versão 3, gostaria de saber como ficará a manutenção desse projeto?
Vai afetar muita coisa ou o sistema já está preparado para essa atualização?
Olá, tenho 2 dúvidas sobre a instalação da lib via composer.
Em primeiro lugar, o pacote nfephp/nfephp que está no packagist é mesmo de um fork que não é atualizado há 2 anos, e não de vocês que estão em constante desenvolvimento?
E depois, a instalação via composer realmente funciona? No seu composer.json tem a parte:
"autoload": {
"psr-0": {
"NFePHP": "src"
}
}
porém esse diretório src nem existe no repositório da lib e com isso não consigo dar um use nas classes, que também tem um nome diferente do nome do arquivo, o que causa conflito de acordo com PSR-0. Está errado mesmo ou eu que estou fazendo algo errado?
Abs.
Pelo código é possível ver que a biblioteca está na versão 2.1.20 . Já que no git temos a possibilidade de utilizar tags para registrar quando cada versão foi liberada, seria interessante utilizar nesse projeto também.
O que acham?
Olá,
estou na etapa inicial de instalação, e me surgiu 2 problemas:
Peço estas respostas apenas, pois posso fazer os ajustes corretamente e reenviar o arquivo.
Um abraço!
No install.php as versões de schema default estão como: PL_006n e PL_CTE_104.
É necessários atualizar para a versão mais recente.
Pessoal, entrei agora na comunidade Git e não acompanhei nada do projeto, fui efetuar a instalação pela primeira vez pois meu objetivo é integração com meus sistemas, fiz o Sync pelo app oficial do Github e acessei o install.php, ele deu um retorno de página em branco e alterou o config colocando ' antes de todos os valores das variaveis, no meu entendimento este pode ser um bug pois é um comportamento que nunca vi antes, meu ambiente é OS X Montain Lion (10.8) com MAMP (com php 5.3.3), isso já é conhecido por outros usuários?
Olá,
Na seguinte linha vocês passam fixo que o tipo de imagem é jpeg, porém a própria biblioteca de geração do PDF verifica automaticamente caso você passe em branco, então acho que poderia deixar em branco pra deixar a biblioteca verificar né? No meu caso por exemplo, meu logo está em PNG e a diferença é de 4KB para 11KB..
https://github.com/nfephp-org/nfephp/blob/master/libs/DanfeNFePHP.class.php#L850
O que vocês acham? Algum motivo especial para fixar o JPEG?
Olá,
No método de manifestação do destinatário, a API utiliza direto a propriedade $this->cnpj na montagem do XML de entrada do WS, porem me parece que o objetivo desta propriedade é ser o CNPJ do emitente da NF-e.
Quem sabe adicionamos o CNPJ do autor do evento como um parâmetro do método manifDest()? Acredito que desta forma seria mais fácil de entender o funcionamento deste método.
Olá pessoal tudo certo? Pretendo começar a contribuir com este projeto e também portalo para JavaScript, queria saber de vocês se tem e quais são as pretensões.
Vi que ainda não esta disponível no composer, esta ai um motivo para refatoração.
Também vi que não ha algum serviço de teste como phpunit por exemplo, existe algum interesse em trabalhar com alguma ferramenta para este fim?
Em fim, quando pretendem começar a trabalhar em alguma nova versão?
Olá,
Na seguinte linha eu obtenho o erro "Array to string conversion"...
https://github.com/nfephp-org/nfephp/blob/master/libs/ToolsNFePHP.class.php#L4493
Sugiro a correção usando o seguinte código:
$txtInfo .= "Certinfo=".print_r($info['certinfo'], true)."\n";
Estou executando a funçao printNFE em um XML que possui 74 itens que ocupam 3 linhas cada, com fonte padrao. A funçao gera um pdf com 3 paginas e apenas 72 itens. Ao adicionar mais 4 itens, a funçao gera a quarta pagina, e exibe corretamente os 76 itens. Passei algumas horas tentando encontrar algum erro no calculo da area total disponivel para os itens, que fisesse com que esses itens nao fossem exibidos ou que a funçao nao gerasse uma nova pagina, mas nao encontrei nada.
Olá, na classe Tools, no final do método getListNFe, onde temos:
if (!file_put_contents($this->temDir."$this->cnpj-$ultNSU-$datahora-resLNFe.xml", $retorno)){
Acho que o correto seria salvar na pasta de consultadas, ao invés de temporárias? Aparentemente a prop "conDir" não está sendo usada para nada...
na clase DacteNFePHP.class.php, na linha 1625, quando a variavel $texto estiver em branco ocorre erro no uso do number_format porque a variavel esta vazia, seria interessante colocar um
if ($texto =! '') {$texto = number_format($texto ,2, ",", ".");}
Olá pessoal,
Os campos (tags) de peso bruto e peso líquido são opcionais na NF-e, correto?
Bom, na classe de geração do DANFE, linha ~1819, iniciamos duas variáveis que vão somar o peso total, porem desta forma se na verdade os pesos não foram informados, o DANFE vai acabar mostrando como "0,000".
Penso que deveríamos manter nulo/vazio no DANFE, se não existir peso, ao invés de acabar totalizando zerado, o que vocês acham?
Obrigado!
estou usando a api autoCteNfePHP.clas.php, para protocolar o xml do cte, porém da um erro na linha 344, porque não encontra o arquivo com extesão
41130381800849001628570030000000241000000245-cteprot.xml mas na verdade na pasta temporarias tem o arquivo com nome
41130381800849001628570030000000241000000245-prot.xml sem a palavra cte, por isso da o erro na linha 344.
pergunto
esse erro é da classe ou eu tenho que informar alga no momento do envio para que gere o arquivo com estensao ????????????????-cteprot.xml
outro detalhe quando o protocolo é salvo na pasta temporarias, a classe CteNFePHP.class.php na linha 1850 ele salva o arquivo como -prot.xml acredito eu que deveria ser -cteprot.xml.
Boa tarde,
Fiz um pequeno conjunto de alterações iniciais, nas classes Tools e DanfeNFe:
https://github.com/fmertins/nfephp/commits/develop/libs
Estou com a minha branch como "develop", pensei em você apenas dar uma olhada, e conforme a sua análise, atualizar algo no repo; a ideia principal que pensei foi em ir tentando alterar o código e fazendo commits frequentes e pequenos, fáceis dos outros desenvolvedores revisar, ao invés de um commit gigante e complexo cheio de alterações...
Por hoje é isso :-) Valeu!
Olá,
Meus parabéns pela iniciativa de criar uma classe tão útil. Eu vi toda a parte de emissão de NF-e e entendi o processo:
Gera TXT > Gera XML > Assina > Transmite
Gostaria de saber como funciona o processo no caso das NFS-e. É a mesma coisa? Qual classe eu uso etc..
Obrigado!
Bom dia Roberto,
Buenas, criei uma branch no meu fork (até para aprender mais um pouco sobre git) referente ao novo layout e comecei a revisar o arquivo /config/nfe_ws3.xml e o método "loadSEFAZ()" da classe Tools.
Me deparei com a linha ~3870 onde temos:
$xpathExpression = "/WS/UF[sigla='" . $alias . "']/$sAmbiente";
Este método loadSEFAZ já é utilizado logo no construtor da classe Tools, porem a partir de agora teremos que saber o modelo da NF-e, se é 55 ou 65, correto? Para ter condições de fazer o xpathExpression informando o elemento do modelo, mas como saber o modelo logo ao instanciar a classe Tools?
No arquivo exemploEnviaNFSe.php, as linhas :
require('libs/NFSeSP.class.php');
require('libs/NFeRPS.class.php');
Apontam para o lugar errado, pois os arquivos se encontram na mesma pasta e não na pasta libs.
Olá,
Porque o composer foi removido?
Inclusive tinha uma sugestão para fazer!
quando tento validar um XML, esta dando erro de indice na linha 219
trocar
$this->errMsg .= $aName[$x] . ' ... ' . $aError['error'] . '\n';
por
$this->errMsg .= $aName[$x] . ' ... ' . $aError . '\n';
Att.
Boa Tarde, não sei se é bem aqui que eu deveria escrever isto, mas na Classe MakeNFePHP.class.php quando disparo o método montaNFe() , as tags de imposto não são inseridas dentro das suas respectivas tags det, não sei também se por desconhecimento não consegui fazer, mas dando uma olhada na classe percebi que o atributo $aImposto não é utilizado no metodo montaNFe() . Percebi que vários métodos dessa classe estão em branco, eles estão ali para serem implementados ainda? Caso eu os implemente posso dar o pull request?
desde já agradeço e os parabenizo pela iniciativa!
Foi identificado que no arquivo ToolsNFePHP.php no método signXML existe um erro, ao ser executado a leitura da chave privada
-> $priv_key = fread($fp, 8192);
somente esta lendo parte do arquivo, assim dando erro, foi corrigido deixando assim
-> $priv_key = fread($fp, filesize($fp));
Olá,
Hoje estava inserindo o atributo vTotTrib, mais meu XSD não validava, comecei a ver e verifiquei que eu utilizava o schema PL_006n deve ter pego de algum exemplo, só pra confirmar, eu preciso utilizar o schema mais novo possível certo? PL_008b no caso!
quando consulto recibo "getProtocol" apresenta erro em duas linhas
Notice: Undefined Variable: scan in /var/www/nfephp/libs/CTeNFePHP.class.php on line 1658
Notice: Undefined Variable: aProt in /var/www/nfephp/libs/CTeNFePHP.class.php on line 1821
teria que inicializar essa duas variáveis antes de usa-la, fiz uma alteração e o erro parou de ocorrer.
a variável $aProt eu inicializei na linha 1784
a variável $scan eu inicializei na linha 1643..
att.
Sidnei.
Funciona com certificado A3?
Há dois erros de verificação de variáveis na class DanfeNFePHP:
1889:
- if (is_numeric($pesoBruto)) {
+ if (isset($pesoBruto) && is_numeric($pesoBruto)) {
e
1992:
- if (is_numeric($pesoLiquido)) {
+ if (isset($pesoLiquido) && is_numeric($pesoLiquido)) {
Isto pode causar erros na geração do PDF se estiver marcado para mostrar erros e caso essas variaveis não sejam definidas.
Isto ocorre pelo menos no PHP 5.4, não verifiquei no 5.3, mas adicionando o isset já resolve e é mais rapido no caso de não ser definida
Bom dia.
Pelo que vi o serviço NfeDownloadNF já está disponível no sefaz. Alterei o método para tentar usar só que o sefaz só me retorna "410 Rejeicao: UF informada no campo cUF nao e atendida pelo Web Service". Alguém tem informações sobre esse serviço?
Olá,
Quando eu uso o método SOAP nativo, tudo funciona normalmente, porém em todos os exemplos eu vejo as pessoas vocês usando o cURL e também é a opção default, porém quando eu o uso ele eu recebo o seguinte erro:
403.7 - Forbidden: SSL client certificate is required.
Alguém tem alguma idéia do que pode ser?
Ola , tenho uma duvida que estou tentando resolver em questão que eu quero fazer uma busca de como meu cte esta la no sefaz que quando eu autorizo meu cte tem vezes que o xml não gera nas enviadas mas consta no sefaz de que maneira eu posso fazer uma pesquisa para coletar esse xml e fazer gerar o dact com segurança .
Att,
Cacio
Begin jquery plugin with a template;
Tenho alguns XML's onde a QTDE(VOL) está vazia.
Quando isso acontece o método __simpleGetValue (linha 1898) retorna uma string vazia que é usada diretamente no number_format, gerando um erro.
Sugiro type casting desse retorno para que ao menos ele exiba 0 (zero) como valor.
1898: $texto = number_format((float) $this->__simpleGetValue($this->infQ->item(3), "qCarga"), 3, ",", ".");
Olá pessoal, só gostaria de colaborar com esta palestra que assisti, achei muito interessante pois fala vários tópicos sobre como e quando colaborar em projetos OpenSource, valeu!
Google I/O 2009 - The Myth of the Genius Programmer
http://www.youtube.com/watch?v=0SARbwvhupQ
Olá,
vi os resultados sobre os erros de validação, e para atualizar:
O bug que eles possuem é que não conseguem fazer um parse em regras de expressão regular do tipo {a,b} e {a,} (onde a e b são números)
Qualquer validador em linux que se baseie no libxml2 irá ter problemas:
Se alguém conseguiu validar usando a versão mais nova, por favor me digam como, pois estou sem sucesso.
Olá,
O sistema cria diversos diretórios, porém notei durante meu uso que somente o diretório temporário foi utilizado e com os recibos das comunicações...
Em meu sistema eu sempre gero o XML (para garantir que todas as novas alterações estarão presentes) esse XML, eu já valido, assino, e envio.. Em momento nenhum eu estou salvando o XML, porém inicialmente eu imaginei que ele estaria disponivel em alguma pasta, mas não está! E eu gostaria de dar uma opção de fazer o download do XML enviado...
Como normalmente vocês fazem isso, vocês gravam na mão no diretório validadas, depois de assinar, copiam ou movem para assinadas, aguardam mais tarde o resultado se foi enviado com sucesso vai pra copiam/movem para enviadas/aprovadas ou enviadas/denegadas...
Enfim, gostaria de saber normalmente como você fazem esse controle?
Pessoal,
estou implementando a API em um servidor em com Windows Server 2008 com IIS 7.5 e PHP instalado direto no windows sem apache. Consigo fazer todo o processo de assinatura e validação do xml, mas quando tento enviar a NF-e para sefaz com a função sendLot(), ocorre o seguinte erro:
Error Summary
HTTP Error 500.0 - Internal Server Error
C:\PHP_5.3\php-cgi.exe - The FastCGI process exceeded configured activity timeout
Detailed Error Information
Module FastCgiModule
Notification ExecuteRequestHandler
Handler PHP5.3-FastCGI
Error Code 0x80070102
Debugando percebi que o erro ocorre na função __sendSOAP2 quando CURL é executado ($__xml = curl_exec($oCurl);)
Alguém alguma solução?
Os seguintes arquivos: "exemplosNFSe.php":1:326:332:340:344, "danfe.class.php":1, estão usando short tags cujo o mesmo pode estar desabilitado em algum servidor. Dando o retrabalho, ou não.
Bom só para avisar!
Boa tarde pessoal, estava revisando alguns códigos na classe do DANFE da NF-e, na linha 417 temos:
$flagVTT = $flagVTT && (strpos(strtolower(trim($this->textoAdic)),'trib') || strpos(strtolower(trim($textoAdic)),'imp'));
Me parece que a variável "$textoAdic" deveria ser "$this->textoAdic", correto?
ola, havia conversado com Sr. Roberto sobre o CFe, o mesmo informou que para que o CFe funcione é necessário ter um SAT, porém aqui na empresa aonde eu trabalho, foi feito o processo deo CFe igual ao da NFe sem o SAT para os estados do MT e RS.
Gostaria de entender melhor o funcionando desse SAT e se foi mensionado que é necssário o equipamento SAT como foi posssivel fazer aqui na empresa sem o mesmo.
ola, já tem alguma ideia de iniciar o projeto de CFe ?
Olá,
No arquivo config/cte_ws1.xml a configuração do serviço de consulta do CT-e parece estar errada, apenas para o ambiente de homologação, pois se chama "CteConsulta" e me parece que o nome correto deveria ser "CteConsultaProtocolo" (que é o nome utilizado para os demais estados)
Prezados!
Estou analisando o método envCCe() da classe Tools, como ele retorna direto o XML de processamento de evento, estou com dificuldades em obter algumas informações da estrutura XML de retorno do webservice, então pensei em criar neste método um parâmetro "$aRetorno" passado por referência, no mesmo padrão do método getProtocol(), aí sim neste array, o método poderia montar as informações apenas do XML de retorno do webservice, o que acham?
Desta forma, o atual retorno em XML do método, contendo o processamento de evento, não precisa ser modificado...
Estou focado nisso então tenho condições de implementar, só quis perguntar primeiro para trocar uma ideia, obrigado!
estou usando a api autoCteNfePHP.clas.php, para protocolar o xml do cte, porém da um erro na linha 344, porque não encontra o arquivo com extesão
41130381800849001628570030000000241000000245-cteprot.xml mas na verdade na pasta temporarias tem o arquivo com nome
41130381800849001628570030000000241000000245-prot.xml sem a palavra cte, por isso da o erro na linha 344.
pergunto
esse erro é da classe ou eu tenho que informar alga no momento do envio para que gere o arquivo com estensao ????????????????-cteprot.xml
outro detalhe quando o protocolo é salvo na pasta temporarias, a classe CteNFePHP.class.php na linha 1850 ele salva o arquivo como -prot.xml acredito eu que deveria ser -cteprot.xml.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.