-
Conteúdo Similar
-
Por violin101
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
-
Por violin101
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
-
Por violin101
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
-
Por violin101
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
-
Por violin101
Olá amigos, saudações.
Após ajuda dos amigos do forum, consegui uma Rotina que estava precisando.
Infelizmente após gerar o parcelamento com suas datas de vencimento, quando SALVA no MySql o campo data salva assim 0000-00-00, mesmo contendo datas de vencimentos.
Como consigo salvar no campo vencimento as DATAS corretamente ?
O Código fico assim:
Controller
function adicionar() { if (!$this->permission->checkPermission($this->session->userdata('permissao'), 'aLancamento')) { $this->session->set_flashdata('error', 'Você não tem permissão para adicionar lançamento.'); redirect(base_url()); } //Recebe via POST Dados do Lançamento $codEmpr = $this->input->post('idEmp'); $dataLct = $this->input->post('dtaentr'); $notaLct = $this->input->post('num_nf'); //Recebe via POST os Produtos - Entrada de Lançamentos $id_prds = $this->input->post("id_prds"); $qtde = $this->input->post("qtde"); $estoq = $this->input->post("estoq"); $vlrunit = $this->input->post("vlrunit"); $vlrtotal = $this->input->post("vlrtotal"); //Recebe via POST os Parcelamento $dtaprc = $this->input->post("dtaprc"); $vlrprc = $this->input->post("vlrprc"); $idFrnc = $this->input->post('idfornecedor'); $this->load->library('form_validation'); $this->data['custom_error'] = ''; if ($this->form_validation->run('lancamentos') == false) { $this->data['custom_error'] = (validation_errors() ? '<div class="form_error">' .validation_errors(). '</div>' : false); } else { $data = array( 'dtalcto' => date('Y-m-d'), 'dtaentr' => $this->input->post('dtaentr'), 'num_nf' => set_value('num_nf'), 'tipo_lcto' => 1, 'id_user' => $this->session->userdata('id'), //pega o ID do Usuário logado 'id_empresas' => $this->input->post('idEmp'), //pega o ID do Empresa logado 'fornecedor_idfornecedor' => $this->input->post('idfornecedor') ); if ($this->lancamentos_model->add('lancamentos', $data) == true) { //Função para Pegar o Último ID do lançamento $numlcto = $this->lancamentos_model->lastID(); //Função para Salvar os Itens do lançamento $this->save_detalhe($id_prds,$qtde,$vlrunit,$vlrtotal,$numlcto); //Função para Salvar Parcelamento $this->save_parcelas($notaLct,$dtaprc,$vlrprc,$idFrnc); //Converte o ID em String $strlcto = strval($numlcto); $strEmpr = strval($codEmpr); $pegEmpr = str_pad($strEmpr, '3', '0', STR_PAD_LEFT); $mostra = 'E-'.$pegEmpr.'.'.$strlcto; //Chama a Função para Alterar o ID do lançamento $this->update_lctos($numlcto,$strlcto,$strEmpr); //Função para Salvar Histórico do Produto $this->save_hist($dataLct,$qtde,$estoq,$mostra,$notaLct,$id_prds,$codEmpr); $this->session->set_flashdata('success', '<h4>Lançamento nº.'.$mostra.' - adicionado com Sucesso.</h4>'); redirect(base_url() . 'admin/lancamentos/visualizar/'.$numlcto); } else { $this->data['custom_error'] = '<div class="form_error"><p><h4>Atenção!!! Ocorreu um erro ao tentar adicionar.</h4></p></div>'; } } $this->load->view('estilo/header', $this->data); $this->load->view('admin/lancamentos/adicionarLancamento'); } //Função para Salvar os Parcelamentos protected function save_parcelas($notaLct,$dtaprc,$vlrprc,$idFrnc){ for ($i=0; $i < count($vlrprc); $i++) { $data = array( 'nunNotafiscal' => $notaLct, 'dataVencimento' => $dtaprc[$i], //aqui salva 0000-00-00 'valorParcela' => $vlrprc[$i], 'id_fornecedor' => $idFrnc, 'id_user'=> $this->session->userdata('id'), ); //Função para Salvar os Detalhes do Parcelamento $this->lancamentos_model->save_parcelas($data); } } public function geraParcelamento() { if ($_SERVER['REQUEST_METHOD'] === 'POST') { $dataInicial = new DateTime($_POST['dataInicial']); $intervalos = explode('/', $_POST['intervalos']); $valorTotal = floatval($_POST['valorTotal']); function gerarParcelas($dataInicial, $intervalos, $valorTotal) { $datasParcelas = []; $quantidadeParcelas = count($intervalos); $valorParcela = floor($valorTotal / $quantidadeParcelas * 100) / 100; $valorUltimaParcela = $valorTotal - ($valorParcela * ($quantidadeParcelas - 1)); for ($i = 0; $i < $quantidadeParcelas; $i++) { if ($i == $quantidadeParcelas - 1) { $valorAtualParcela = $valorUltimaParcela; } else { $valorAtualParcela = $valorParcela; } $dataVencimento = clone $dataInicial; $dataVencimento->modify("+{$intervalos[$i]} days"); $datasParcelas[] = [ 'data_vencimento' => $dataVencimento->format('d/m/Y'), 'valor_parcela' => number_format($valorAtualParcela, 2, ',', '.') ]; } return $datasParcelas; } $parcelas = gerarParcelas($dataInicial, $intervalos, $valorTotal); header('Content-Type: application/json'); echo json_encode($parcelas); } }
Models
//Salva Parcelamento public function save_parcelas($data){ $this->db->insert("faturamento",$data); }
View
//Esta função tras correto o parcelamento function gerarParcelas() { const dataInicial = $('#dtaentr').val(); const intervalos = $('#formaPgto').val(); const valorTotal = $('#subtotal').val(); $.ajax({ url: '<?=base_url()?>admin/lancamentos/geraParcelamento', type: 'POST', dataType: 'json', data: { dataInicial: dataInicial, intervalos: intervalos, valorTotal: valorTotal }, 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='10%' height='10'><input type='hidden' name='dtaprc[]' value='"+parcela.data_vencimento +"'>"+parcela.data_vencimento +"</td>"; html += "<td width='32%' height='10'><input type='hidden' name='vlrprc[]' value='"+parcela.valor_parcela+"'>"+parcela.valor_parcela+"</td>"; html += "<td width='10%' height='10' style='text-align:center;'>"+ "<button type='button' class='btn btn-primary btn-editar-parc' style='margin-right: 1%; padding: 1px 2px;' title='Editar'>"+ "<span class='fa fa-edit'></span></button>"+ "<button type='button' class='btn btn-success btn-salvar-parc' style='margin-right: 1%; padding: 1px 5px;' title='Salvar'>"+ "<span class='fa fa-save'></span></button>"+ "</td>"; html += "</tr>"; tbody.append(html); }); } }); }
-