Para consultar uma nota fiscal eu usava o Windows e o OneDrive, isso é um serviço bem chato, mas consegui passar o serviço para o Livewire.
Criei a tabela tblivroentrada e dentro dele guardei uma cópia do xml da nota fiscal. Para o Livewire procurar o CFOP e o NCM de um produto, ele usa essa função:
<?php // listagem parcialfunction consultaLivro($lcto =null){if($lcto){
$consulta=tblivroentrada::where('lcto',$lcto)->first();if(!$consulta){
$this->mensagem ="Não há registro no livro para o lançamento $lcto";}else{
$xml=simplexml_load_string($consulta->xml);
$namespaces=$xml->getNamespaces(true);
$xml->registerXPathNamespace('n',$namespaces['']);
$nome=$xml->xpath('//n:emit/n:xNome')[0];
$letra=strtolower(substr($nome,0,1));
$codigos=explode(" ",$this->codforn);foreach($codigos as $codigo){if(strtolower($codigo[0])=== $letra){
$codXML = substr($codigo,1);break;}}
$itens=$xml->xpath('//n:det');foreach($itens as $item){if($item->prod->cProd==$codXML){
$cfop=$item->prod->CFOP;
$ncm=$item->prod->NCM;
$prod=$item->prod->xProd;}}
$this->mensagem ="Foi encontrado $this->codforn <br>
Fornecedor $nome <br> Produto $prod <br>
CFOP $cfop NCM $ncm";}}else{ $this->mensagem =null;}}
e no blade tenho:@if($mensagem)<div class="fixed inset-0 flex items-center
justify-center" style="background-color: rgba(0, 0, 0, 0.5)"><div class="bg-white p-6 rounded shadow-lg"><h2 class="text-lg font-semibold">Mensagem</h2><p class="mt-2 text-gray-700 text-xl whitespace-nowrap">{!! $mensagem !!}</p><button wire:click="consultaLivro"class="border rounded-lg px-2 py-2 ">Fechar</button></div></div>@endif
Pergunta
Frank K Hosaka
Para consultar uma nota fiscal eu usava o Windows e o OneDrive, isso é um serviço bem chato, mas consegui passar o serviço para o Livewire.
Criei a tabela tblivroentrada e dentro dele guardei uma cópia do xml da nota fiscal. Para o Livewire procurar o CFOP e o NCM de um produto, ele usa essa função:
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.