Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

erro operador não suportado #9

Closed
gesse-fernandes opened this issue Apr 26, 2021 · 4 comments
Closed

erro operador não suportado #9

gesse-fernandes opened this issue Apr 26, 2021 · 4 comments

Comments

@gesse-fernandes
Copy link
Collaborator

gesse-fernandes commented Apr 26, 2021

bom primeiramente gostaria de agradecer por ter compartilhado as informações necessárias para gerar nota fiscal a pós muito lida na documentação e também em seu código percebi que já esta quase tudo certo o ultimo detalhe está dando esse erro

Fatal error: Uncaught TypeError: Unsupported operand types: string + int in C:\xampp\htdocs\Nfsc21-master\Nfsc21-master\class\nfsc.21.class.php:1460 Stack trace: #0 C:\xampp\htdocs\Nfsc21-master\Nfsc21-master\nfsc.21.query.select.data.php(366): Nfsc_21->Item(NULL, NULL, 1, '1', '2104', '20210426', Array, '21', '4', Object(medoo)) #1 {main} thrown in C:\xampp\htdocs\Nfsc21-master\Nfsc21-master\class\nfsc.21.class.php on line 1460
porem já reescrevi o código e até mudei mas pelo que vi a variavel $this->num_ordem_item começa uma string vazia assim = ''; e em seguida vi que incrementa com o valor 1 mas está dando esse erro percebi que antes desse erro e dessa operação você faz o mesmo e sim funciona mas ao chegar na linha 1460 ele não consegue progredir ai não sei se seria o banco de dados ou se está faltando mais alguma informação ou até mesmo dados inseridos.

@devasia2112
Copy link
Owner

Oi, voce esta emitindo mais de 1 item por documento fiscal?
Qual a versao do seu PHP?

Basicamente o erro diz que encontrou um problema no tipo do dado (datatypes), eu recomendo chamar a funcao gettype() na variavel que esta dando o problema para saber o tipo de dado, provavelmente esta como string quando precisaria ser um integer e como essa parte precisa ser incrementada (caso voce tenha mais de 1 item por documento fiscal), isso esta causando o problema.
Tente fazer um typecast forcando a variavel ser um integer assim: (int)$this->num_ordem_item ou tente mudar a propriedade declarada inicialmente na linha 366 de: public $num_ordem_item = ''; para: public $num_ordem_item = 0; mas perceba que essa propriedade precisa ser do tipo numerico com 3 posicoes no momento que for escrever no arquivo para validar com a receita, voce pode criar um tratamento se decidir ir por esse caminho.

Nos meus testes funciona por que eu nao preciso gerar multiplos items por documento fiscal.

Me fala como resolveu isso por gentileza, assim se preferir mandar um pull request ou me dizer onde alterou eu posso atualizar a classe para beneficiar outros tambem.

@gesse-fernandes
Copy link
Collaborator Author

gesse-fernandes commented Apr 27, 2021

pronto acabei de encerrar os últimos ajustes tanto base de dados quanto mudando um pouco código pois tinhas alguns selects ou inserção faltando passagem de parâmetro vi tudo isso encerrei agora sim eu posso sim dar um pull request pra voce poder compreender a versão que o utilizo é a versão do php 8.
localhost
usei a classe do array foi lá onde alterei e só rescrevendo alguns erros básicos mas vou mandar pra voce poder ver a onde fui alterado.

@gesse-fernandes
Copy link
Collaborator Author

você pode me dar permissão pra mim poder enviar as alterações em parte pelo o git push

@devasia2112
Copy link
Owner

você pode me dar permissão pra mim poder enviar as alterações em parte pelo o git push

sim, acabei de adicionar acesso a voce. Obrigado pela contribuicao.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants