violin101
Members-
Total de itens
290 -
Registro em
-
Última visita
Tudo que violin101 postou
-
PHP - Mostrar resultado tabela por Intervalo de meses
violin101 respondeu ao tópico de violin101 em PHP
Amigo Williams, saudações. baseado no seu código acima, os Dados viram de um MySql. de acordo com o seu código acima, as informações são baseados em ARRAY. não sei se é a forma mais correta ou não, escrevi o código assim, de acordo com sua experiência e se estiver errado o código, o amigo pode apontar onde estou errando ? o MODEL, fico assim: public function agrupar($id){ $this->db->select('lctos_itens.*, DATE_FORMAT(dateItens, "%m/%Y") AS meses, SUM(lctos_itens.qtd_prod) as quantidade, produtos.*'); $this->db->from('lctos_itens'); $this->db->join('produtos', 'produtos.idProdutos = lctos_itens.cod_prod'); $this->db->where('lctos_itens.cod_prod', $id); $this->db->group_by('MONTH(dateItens)') ->group_by('YEAR(dateItens)'); $this->db->order_by('MONTH(dateItens)', 'DESC'); $this->db->limit(3); return $this->db->get()->result(); } no Controller, passo as informações para o Model assim: //Chamo a Função no Model, passando o ID do Produto $this->data['agrupar'] = $this->produtos_model->agrupar($id); na View, passei assim: <div class="tab-pane fade" id="agrupar" role="tabpanel" aria-labelledby="agrupar-tab"> <div class="txtProd"> <?php echo $result->cod_interno; ?> - <?php echo $result->descricao; ?> </div> <div class="card-body"> <div class="row"> <div class="col-md-" id="divRelac" style="padding: 1%; margin-left:0px;"> <table class="table" id="tab_prods"> <thead> <tr style="background-color:#BDDCDC;"> <th style="text-align:center;">MESES</th> <th style="text-align:center;">QTDE</th> </tr> </thead> <tbody> <?php foreach ($agrupar as $ag) { echo '<tr>'; echo '<td width="150" height="10" style="text-align:center;">'.$ag->meses.'</td>'; echo '<td width="150" height="10" style="text-align:center;">'.$ag->quantidade.'</td>'; echo '</tr>'; } ?> </tbody> </table> </div> </div> </div> <div class="card-footer" style="text-align:center;"> <a href="<?php echo base_url() ?>estoque/produtos" id="" class="btn btn-danger"> <i class="fa fa-undo"></i> Voltar </a> </div> </div> -
PHP - Mostrar resultado tabela por Intervalo de meses
violin101 respondeu ao tópico de violin101 em PHP
Saudações, caro amigo Williams. Tu é o cara, show. obrigado -
PHP - Ajuda com NFePhp - mistério em achar caminho
violin101 respondeu ao tópico de violin101 em PHP
Amigo Williams, saudações. Fiz a instalação da Nfephp, através deste comando. composer require nfephp-org/sped-nfe composer require nfephp-org/sped-da Instalou todas as classes é isso que não entendo. Ou vou precisar retirar o que instalou e refazer tudo outra vez. É um mistério que não entendo. -
Caros amigos, saudações. Peço desculpa em recorrer a ajuda dos amigos, pois está sendo um mistério para mim, configurar o meu sistema para Impressão de XML e NFe. Quando acrescento as linhas no início do Controller: use NFePHP\NFe\Make; use NFePHP\NFe\Tools; use NFePHP\NFe\Danfe; etc, etc. e chamo a libraries assim em alguma função: $nfe = new Make(); e etc. <== o sistema acusa que não consegue achar fiz as alterações necessárias no autoload /* |-------------------------------------------------------------------------- | Composer auto-loading |-------------------------------------------------------------------------- | | Enabling this setting will tell CodeIgniter to look for a Composer | package auto-loader script in application/vendor/autoload.php. | | $config['composer_autoload'] = TRUE; | | Or if you have your vendor/ directory located somewhere else, you | can opt to set a specific path as well: | | $config['composer_autoload'] = '/path/to/vendor/autoload.php'; | | For more information about Composer, please visit http://getcomposer.org/ | | Note: This will NOT disable or override the CodeIgniter-specific | autoloading (application/config/autoload.php) */ $config['composer_autoload'] = './vendor/autoload.php'; o meu composer.json está assim: { "description": "The CodeIgniter framework", "name": "codeigniter/framework", "type": "project", "homepage": "https://codeigniter.com", "license": "MIT", "support": { "forum": "http://forum.codeigniter.com/", "wiki": "https://github.com/bcit-ci/CodeIgniter/wiki", "irc": "irc://irc.freenode.net/codeigniter", "source": "https://github.com/bcit-ci/CodeIgniter" }, "require": { "php": ">=5.3.7", "mpdf/mpdf": "^7.1", "nfephp-org/sped-nfe": "^5.0", "nfephp-org/sped-da": "^1.0" }, "suggest": { "paragonie/random_compat": "Provides better randomness in PHP 5.x" }, "autoload": { "psr-4": { "Libraries\\": "application/libraries" } } } após instalar a NFePhp através do composer, o caminho da pasta NFePhp está assim: nome_do_meu_sistema |____ application |______vendor |________nfephp-org |__________sped-common |__________sped-da |__________sped-gtin |__________sped-nfe Como consigo trazer os comando/libraries da NFe para poder utilizar no projeto. Grato, Cesar
-
PHP - Ajuda com NFePhp - mistério em achar caminho
violin101 respondeu ao tópico de violin101 em PHP
amigo Williams, saudações. fiz todas as alterações/verificações, conforme sua orientação mencionada acima. fiz esse exemplo para chamar a CLASS <?php defined('BASEPATH') OR exit('No direct script access allowed'); require_once FCPATH . 'vendor/autoload.php'; use NFePHP\NFe\Make; use NFePHP\DA\NFe\DanfeSimples; use NFePHP\DA\NFe\Danfe; use NFePHP\DA\NFe\Daevento; class NotaFiscalControler extends CI_Controller { public function gerarXml(){ try{ $nfe = new Make(); }catch(\Exception $e){ session()->flash('erro', $e->getMessage()); return redirect()->back(); } } } aparece esse erro: An uncaught Exception was encountered Type: Error Message: Class 'NFePHP\NFe\Make' not found Filename: C:\xampp\htdocs\sistems\application\controllers\Estoque\NotaFiscalControler.php Line Number: 16 Backtrace: File: C:\xampp\htdocs\sistems\index.php Line: 315 Function: require_once observação: na linha 16 está assim: $nfe = new Make(); no index.php o ambiente de desenvolvimento, está assim: define('ENVIRONMENT', isset($_SERVER['CI_ENV']) ? $_SERVER['CI_ENV'] : 'development'); e na linha 315 do index.php raiz está assim: Linha | Comandos 308 - /* 309 - * -------------------------------------------------------------------- 310 - * LOAD THE BOOTSTRAP FILE 311 - * -------------------------------------------------------------------- 312 - * 313 - * And away we go... 314 - */ 315 - require_once BASEPATH.'core/CodeIgniter.php'; -
Amigo Williams, saudações. Consegui resolver o problema.
-
Caros amigos, saudações. Estou com uma dúvida e não estou conseguindo resolver. Tenho uma tabela onde o usuário lança a Entrada de Produtos <=== até aqui tudo bem. O problema que estou encontrando é: - após lançar os itens e se por alguma necessidade precisar fazer devolução, gostaria de alterar o STATUS do lançamento do PRODUTO de 1 para 2, ou seja: lançou: 101 - Caneta ------- 10 x 1.50 = 15,00 status = 1 102 - Lápis --------- 10 x 1.50 = 15,00 status = 1 103 - Borracha ---- 10 x 1.50 = 15,00 status = 1 104 - Apontador - 10 x 1.50 = 15,00 status = 1 Se precisar DEVOLVER os itens 102 e 103 o Status de 1 passa para 2, ou seja: 101 - Caneta ------- 10 x 1.50 = 15,00 status = 1 102 - Lápis --------- 10 x 1.50 = 15,00 status = 2 103 - Borracha ---- 10 x 1.50 = 15,00 status = 2 104 - Apontador - 10 x 1.50 = 15,00 status = 1 Obs.: como consigo filtrar o CódigoProduto + NúmeroLançamento, para não ocorrer o erro de alterar todos. O problema que estou enfrentando, quando dou o Comando para Alterar, o Sistema Altera todos os produtos lançados que estiver na base de dados, ou seja, onde tiver 102 e 103, o sistema altera. o meu código: CONTROLLER /*Salva o Detalhe do Lançamento*/ protected function save_detalhe($prods,$qtde,$vlrunit,$vlrtotal,$notaLct,$numlcto,$codslct){ for ($i=0; $i < count($prods); $i++) { $data = array( 'cod_prod' => $prods[$i], 'qtd_prod' => $qtde[$i], 'vlr_unit' => $vlrunit[$i], 'vlr_total' => $vlrtotal[$i], 'status' => 2, 'devitens' => 2, 'n_nf' => $notaLct, 'lancamentos_idlcto'=> $numlcto, ); //Função para Salvar os Detalhes do lançamento $this->devolucao_model->save_detalhe($data); //Função para Atualizar a Quantidade de Produto no Estoque $this->update_produto($prods[$i],$qtde[$i],$vlrunit[$i],$vlrtotal[$i]); //Função para Alterar Devolução do Item $this->upd_itens($prods[$i],$notaLct[$i],$codslct[$i]); } } /*<=== até aqui tudo certo, como deve ser feito*/ /* * O Problema está aqui * para não ocorrer duplicidade de Lançamento, * o sistema altera o Status do 1º. lançamento */ protected function upd_itens($idprds,$notaLct,$codslct){ $data = array( 'devitens' => 2, ); $this->devolucao_model->update_itens($idprds,$data); } MODEL: //Altera o Campo Devolução do Item Lançado //Altera todos os código de produto que encontrar public function update_itens($idprds,$data){ $this->db->where("cod_prod",$idprds); return $this->db->update("lctos_itens",$data); } Grato, Cesar
-
Caros amigos, saudações. Estou com uma dúvida e não consigo entender, fiz várias pesquisas e tentativas antes de recorrer aos amigos. Tenho uma CLASS e quando chamo dentro de um CONTROLLER o sistema acusa que não acha o caminho da CLASS. Como consigo fazer para o sistema localizar/chamar a CLASS dentro do Controller ? a classe está assim: <?php namespace Servicos; use NFePHP\NFe\Make; use NFePHP\NFe\Tools; error_reporting(E_ALL); ini_set('display_errors', 'On'); class NFeServicos{ public function __construct($config, $empresas){ //codes... } } Controller: <?php defined('BASEPATH') OR exit('No direct script access allowed'); use NFePHP\Common\Certificate; use NFePHP\DA\NFe\Danfe; use Servicos\NFeServico; //chamo a class class NotaFiscal extends CI_Controller { public function gerarXml() { $id = $this->input->post('idLct'); $this->load->model('estoque/lancamentos_model', '', true); $venda = $this->lancamentos_model->getById($id); $nfe = new NFeServico(); //<o erro acontece aqui, não localiza. } } Grato, Cesar
-
Amigo Williams, saudações. Se no Composer.json eu colocar as seguinte linhas de comando, fica genérico, para o projeto todo ? "autoload": { "psr-4": { "Libraries\\": "application/libraries" } } Grato, Cesar
-
Amigo Williams, saudações. O código acima foi um exemplo do erro que estou encontrando. Quando instalei o NFEPHP pelo o Composer, foi gravado dentro da pasta VENDOR. Mesmo quando escrevo: $nfe = New Make(); Também não encontra a CLASS. Preciso fazer o procedimento acima com o: Composer dump-autoload ? Grato, Cesar
-
Caro amigo. Instalei o NFePhp através do composer.
-
Caros amigos, saudações. Primeiramente agradeço ao auxílio e ajuda que os amigos têm me dado. Minha dúvida: - para emissão de nota fiscal eletrônica precisa de um CERTIFICADO e SENHA. Como ou onde consigo esses dois itens, para fazer teste de emissão de nota fiscal ? Grato, Cesar
-
Caros amigos, saudações. Estou com uma pequena dúvida. Estou escrevendo um Sistema que tem vários Módulos. O módulo principal tem: Estoque | Compras | Expedição | Vendas Minha dúvida: como faço após Acessar o Módulo Principal e Escolher o Módulo que quero trabalhar, eu possa fechar o Módulo aberto por exemplo: Estoque, sem alterar o Módulo principal e outros se estiver aberto ? Grato, Cesar
-
amigo Williams, saudações. muito legal o seu exemplo, mas infelizmente no seu exemplo acima os módulos abre dentro de uma DIV. o que preciso seria fechar a ABA do Navegador que estiver aberta. talvez eu não tenha explicado corretamente, mas quando o usuário abrir um módulo esse módulo abre uma nova janela, seria assim: modulo principal: Controle estoque | compras | requisições mod-1 mod-2 mod-3 Financeiro Faturamento | Controle de Caixa mod-4 mod-5 quando o usuário ABRE o Módulo Estoque(nova janela) ele vai trabalhar nessa opção. quando o usuário ABRE o Módulo Financeiro(nova janela) e assim por diante. ou seja, quando abrir um módulo o sistema abre uma janela nova, com o TARJET _BLANK. é nessa parte que estou em dúvida, fechar a Nova Janela sem fechar a Session toda, fechar apenas o Módulo aberto.
-
Caros amigos, saudações. Por favor, me perdoa em postar mais uma dúvida minha. Através de ajuda e orientação dos membros do Grupo, tenho conseguido resolver muitos problemas que tenho encontrado. Gostaria de saber dos amigos do grupo, se tem algum vídeo aula, orientando a Instalação das Biblioteca para Emissão de Nota Fiscal Eletrônica. Tenho feito várias busca e tenho encontrado a maioria das vezes tudo em LARAVEL. Sei que para instalar as Biblioteca, precisa do Composer, até aqui tudo bem. Minha dúvida: após fazer o download da sped-nfe e sped-da, essas biblioteca devem ser gravada em qual pasta ? ---- na C:\ ou dentro da pasta do Sistema ? quando dou o comando: COMPOSER INSTALL esse comando já instala todas as bibliotecas, ou 1 por 1 ? Grato, Cesar
-
amigo Williams, saudações. obrigado por sua orientação. fiz a instalação da NFEphp através do composer e deu certo. apenas uma dúvida: onde acho o arquivo/caminho que estão os comando abaixo. ou para ter acesso a esse comandos, preciso fazer o download do github e gravar em uma pasta no meu sistema . // Importando as classes necessárias das bibliotecas use NFePHP\NFe\Common\Standardize; use NFePHP\NFe\Make; use NFePHP\NFe\Tools; use NFePHP\Common\Certificate; use NFePHP\DA\NFe\Danfe;
-
Amigo Williams, saudações. fiz conforme sua orientação, mas ainda estou encontrando problema, a versão do PHP que estou usando é 7.4.33.0. aparentemente parece que está dando erro em MPDF, dizendo que a versão está descontinuada, aparece o erro a baixo. como consigo atualizar o MPDF, pois acho que o PHP v.8, não tem a versão MPDF para ela. C:\xampp\htdocs\ztscom\application\vendor>composer require nfephp-org/sped-nfe No composer.json in current directory, do you want to use the one at C:\xampp\htdocs\ztscom\application? [Y,n]? y Always want to use the parent dir? Use "composer config --global use-parent-dir true" to change the default. ./composer.json has been updated Running composer update nfephp-org/sped-nfe Loading composer repositories with package information Updating dependencies Your requirements could not be resolved to an installable set of packages. Problem 1 - mpdf/mpdf[v7.1.0, ..., v7.1.6] require php ^5.6 || ~7.0.0 || ~7.1.0 || ~7.2.0 -> your php version (7.4.33) does not satisfy that requirement. - mpdf/mpdf[v7.1.7, ..., v7.1.9] require php ^5.6 || ~7.0.0 || ~7.1.0 || ~7.2.0 || ~7.3.0 -> your php version (7.4.33) does not satisfy that requirement. - Root composer.json requires mpdf/mpdf ^7.1 -> satisfiable by mpdf/mpdf[v7.1.0, ..., v7.1.9]. You can also try re-running composer require with an explicit version constraint, e.g. "composer require nfephp-org/sped-nfe:*" to figure out if any version is installable, or "composer require nfephp-org/sped-nfe:^2.1" if you know which you need. Installation failed, reverting ./composer.json to its original content. C:\xampp\htdocs\ztscom\application\vendor> Grato, Cesar
-
Amigo Williams, saudações. segui sua instrução e está dando esse erro para instalar a NFephp. obs.: a versão que estou usando do PHP é: 7.4.33.0 C:\xampp\htdocs\meu_sistema\application\vendor>composer require nfephp-org/sped-nfe No composer.json in current directory, do you want to use the one at C:\xampp\htdocs\ztscom\application? [Y,n]? y Always want to use the parent dir? Use "composer config --global use-parent-dir true" to change the default. Cannot use nfephp-org/sped-nfe's latest version v5.1.24 as it requires ext-soap * which is missing from your platform. In PackageDiscoveryTrait.php line 318: Package nfephp-org/sped-nfe has requirements incompatible with your PHP version, PHP extensions and Composer versio n: - nfephp-org/sped-nfe v5.1.24 requires ext-soap * but it is not present.
-
amigo Williams, saudações. obrigado por sua explicação. apenas uma dúvida: a versão do PHP para instalar a NFePhp deve ser acima da versão 7.3, correto ? abaixo não instala. Grato, Cesar
-
PHP - Orientação referente Importa Dados de uma Tabela(MySql) para outra
violin101 postou um tópico no fórum PHP
Caros amigos, saudações. Estou com uma dúvida e gostaria do auxílio dos amigos. Gostaria de após o usuário digitar o Número do Pedido/Orçamento o Sistema Importa todos os Dados para a Entrada/Venda de Produtos. Exemplo: Pedido n.102 com os itens: 10 un Produto X - vr_unit: 5.00 05 un Produto Y - vr_unit: 3.00 03 un Produto Z - vr_unit: 1.50 Importar para Entrada/Venda Venda n.1001 |__> como importo os dados do Pedido n.102 de uma só vez ? Grato, Cesar -
PHP - Orientação referente Importa Dados de uma Tabela(MySql) para outra
violin101 respondeu ao tópico de violin101 em PHP
Amigo Williams, saudações. Deus o abençoa por compartilhar seus conhecimentos. Show. Apenas uma dúvida, você citou PROCEDURES, qual é a melhor OPÇÃO usar Procedures ou não ? Eu uso o PHP + Codeigniter. Grato, Cesar -
amigo Williams, saudações. show, valeu. obrigado
-
Caros amigos, saudações. Tenho uma tabela em HTML, que me traz as informações de parcelamento corretamente. Preciso fazer uma validação, mas quando tento somar a coluna que traz valor, a soma faz errada. Como devo fazer para SOMAR a coluna mostrando as casas decimais ? a tabela está assim: success: function(parcelas) { const tbody = $("#tbparcs tbody"); tbody.empty(); // Limpa a tabela antes de adicionar novas linhas parcelas.forEach(function(parcela) { let html = "<tr>"; html += "<td width='20%' height='10'style='text-align:center;'><input type='date' name='dtaprc[]' class='form-control d-none' value='"+dateSQL(parcela.data_vencimento)+"'><span>"+parcela.data_vencimento+"</span></td>"; <!--Quero somar essa coluna --> html += "<td width='50%' height='10' style='text-align:center;'><input type='text' name='vlrprc[]' class='form-control d-none' value='"+parcela.valor_parcela+"' oninput='formatNumber(this)'><span>"+parcela.valor_parcela+"</span></td>"; html += "<td width='15%' height='10' style='text-align:center;'>"+ "<button onclick='editarCelulaParcelamento(this)' type='button' class='btn btn-primary btn-editar-parc' style='margin-right: 1%; padding: 1px 2px;' title='Editar'>"+ "<i class='fa fa-edit'></i></button>"+ "<button type='button' data-save class='btn btn-success btn-salvar-parc' style='margin-right: 1%; padding: 1px 5px;' title='Salvar'>"+ "<i class='fa fa-save'></i></button>"+ "</td>"; html += "</tr>"; tbody.append(html); somarparcelas(); }); } a função para somar a coluna está assim: //Função somar Total da Tabela function somarparcelas(){ parcelastotal = 0; //Preenche o INPUT do parcelastotal $("#tbparcs tbody tr").each(function(){ parcelastotal = parcelastotal + parseFloat($(this).find("td:eq(1)").text()); }); $("input[name=parcelastotal]").val(parcelastotal.toFixed(2)); } //o problema que estou encontrando está no parseFloat. //o parseFloat traz: 12 e não 12.57 Grato, Cesar
-
Observação: este POST foi duplicado sem querer.
-
Caros amigos, saudações. Tenho uma tabela em HTML, que me traz as informações de parcelamento corretamente. Preciso fazer uma validação, mas quando tento somar a coluna que traz valor, a soma faz errada. Como devo fazer para SOMAR a coluna mostrando as casas decimais ? a tabela está assim: success: function(parcelas) { const tbody = $("#tbparcs tbody"); tbody.empty(); // Limpa a tabela antes de adicionar novas linhas parcelas.forEach(function(parcela) { let html = "<tr>"; html += "<td width='20%' height='10'style='text-align:center;'><input type='date' name='dtaprc[]' class='form-control d-none' value='"+dateSQL(parcela.data_vencimento)+"'><span>"+parcela.data_vencimento+"</span></td>"; <!--Quero somar essa coluna --> html += "<td width='50%' height='10' style='text-align:center;'><input type='text' name='vlrprc[]' class='form-control d-none' value='"+parcela.valor_parcela+"' oninput='formatNumber(this)'><span>"+parcela.valor_parcela+"</span></td>"; html += "<td width='15%' height='10' style='text-align:center;'>"+ "<button onclick='editarCelulaParcelamento(this)' type='button' class='btn btn-primary btn-editar-parc' style='margin-right: 1%; padding: 1px 2px;' title='Editar'>"+ "<i class='fa fa-edit'></i></button>"+ "<button type='button' data-save class='btn btn-success btn-salvar-parc' style='margin-right: 1%; padding: 1px 5px;' title='Salvar'>"+ "<i class='fa fa-save'></i></button>"+ "</td>"; html += "</tr>"; tbody.append(html); somarparcelas(); }); } a função para somar a coluna está assim: //Função somar Total da Tabela function somarparcelas(){ parcelastotal = 0; //Preenche o INPUT do parcelastotal $("#tbventas tbody tr").each(function(){ parcelastotal = parcelastotal + parseFloat($(this).find("td:eq(1)").text()); }); $("input[name=parcelastotal]").val(parcelastotal.toFixed(2)); } //o problema que estou encontrando está no parseFloat. //o parseFloat traz: 12 e não 12.57 Grato, Cesar