Fórum OpenCart Brasil

Por um e-commerce livre, confiável e profissional

Suporte geral sobre problemas técnicos para OpenCart v3.x.
Por regiskawe
Mensagens
#89431
Olá a todos!
Estou com esse erro:
Código: Selecionar todos
PHP Notice:  Undefined index: ncm no arquivo /home/storage/modification/catalog/controller/product/product.php na linha 242
PHP Notice:  Undefined index: cest no arquivo /home/storage/modification/catalog/controller/product/product.php na linha 243
Alguém saberia do que se trata e como corrigir?
Avatar do usuário
Por turcorossi
Mensagens
#89480
@Richard Cardoso

Olá amigo, vá em /storage/modification/catalog/controller/product/product.php

Vá a linha 242

Verifique se o seguinte código esta presente no arquivo:
Código: Selecionar todos
	$data['ncm'] = $product_info['ncm'];
	$data['cest'] = $product_info['cest'];
Pelo jeito é uma modificação que fez na pagina do produto que não esta presente este código.
Por regiskawe
Mensagens
#89502
Obrigado @turcorossi comentando os erros sumiram.
Só não sei se esses campos são nativos do O.C. e se seria normal ficarem sem eles para o bom funcionamento da loja.
Avatar do usuário
Por turcorossi
Mensagens
#89503
Na versão 3X são campos de classificação fiscal do produto. Se vc não utiliza para cálculos fiscais ou integrações com ERP e CRM's não irá precisar. Lembre-se que se precisar utilizar essas informações no futuro. Esta solução é somente uma gambiarra para resolver o erro. Para verificar o que acontece precisa analisar o código.
Boa sorte @regiskawe
Avatar do usuário
Por turcorossi
Mensagens
#89553
Para uma verificação mais objetiva.

Verifique se no seu banco de dados, na sua tabela oc_product contem as colunas ncm e cest

Se não tiver essas colunas, o seu O.C. esta na versão 3.0.2.0 - que não tem as opções no cadastro do produto, o que ocorre é que você instalou alguma modificação de produto, que precisa destes dados. Mas a modificação é para versão 3.0.3.3 ou mais.

Pois notei que somente na versão 3.0.3.3 que utilizo tem essas opções no cadastro do produto de NCM e CEST, outra versão 3.0.2.0 não possui.

Se tiver as tabelas siga a verificação:

Verifique o arquivo no caminho admin/controller/catalog/product.php

Se neste arquivo pelas linhas 700 a 705 contem o seguinte código:
Código: Selecionar todos
		if (isset($this->request->post['ncm'])) {
			$data['ncm'] = $this->request->post['ncm'];
		} elseif (!empty($product_info)) {
			$data['ncm'] = $product_info['ncm'];
		} else {
			$data['ncm'] = '';
		}

		if (isset($this->request->post['cest'])) {
			$data['cest'] = $this->request->post['cest'];
		} elseif (!empty($product_info)) {
			$data['cest'] = $product_info['cest'];
		} else {
			$data['cest'] = '';
		}
Se não tiver inclua.


Verifique se no caminho admin/view/template/catalog/product_form.twig

Contem o seguinte código:
Código: Selecionar todos
 <div class="form-group">
                <label class="col-sm-2 control-label" for="input-ncm"><span data-toggle="tooltip" title="{{ help_ncm }}">{{ entry_ncm }}</span></label>
                <div class="col-sm-10">
                  <input type="text" name="ncm" value="{{ ncm }}" placeholder="{{ entry_ncm }}" id="input-ncm" class="form-control"/>
                </div>
              </div>
              <div class="form-group">
                <label class="col-sm-2 control-label" for="input-cest"><span data-toggle="tooltip" title="{{ help_cest }}">{{ entry_cest }}</span></label>
                <div class="col-sm-10">
                  <input type="text" name="cest" value="{{ cest }}" placeholder="{{ entry_cest }}" id="input-cest" class="form-control"/>
                </div>
              </div>
Se não tiver inclua.

Verifique o arquivo
admin/model/catalog/product.php

Busque este código:
Código: Selecionar todos
, sku = '" . $this->db->escape($data['sku']) . "',
Após essa linha deve conter esse código:
Código: Selecionar todos
ncm = '" . $this->db->escape($data['ncm']) . "', cest = '" . $this->db->escape($data['cest']) . "',
Se não tiver inclua

Repita o mesmo processo na próxima pesquisa, dentro do mesmo arquivo do model, se não tiver, inclua logo após:
Código: Selecionar todos
, sku = '" . $this->db->escape($data['sku']) . "',
Busque pelo próximo código:
Código: Selecionar todos
$data['sku'] = ''
Verifique se existem das linhas
Código: Selecionar todos
			$data['ncm'] = '';
			$data['cest'] = '';
Se não tiver inclua


Seguindo os passos você verificar o que falta nos arquivos do seu O.C.

Se as colunas no banco de dados não existem, precisa verificar qual modificação foi instalada e remove-la.

Lembrando que se tem alguma modificação, você deve verificar os arquivos que citei no caminho das modificações
Que inicia /storage/modification/

Espero ter ajudado.

Olá! Tudo bem? Trabalho com Opencart h&aac[…]

Imagem do Carrinho de Compras

Olá! Tudo bem? São vários lo[…]

Discover new facets of pleasure, one night only R[…]

Alguém sabe sobre esse erro abaixo que apar[…]