Открыта возможность перехода на модули с открытым кодом! Детали

Перейти к публикации

Модуль обмена (интеграции) с 1С:Предприятие для OpenCart 3.0 не работает после установки


protection-key

Рекомендованные сообщения

Купил лицензию. Установил. Открываю настройки модуля, а там ошибка: 

Notice: Undefined property: Proxy::deleteApiSessionBySessonId in /var/www/protection-key.com.ua/storage/modification/system/engine/action.php on line 79.

system_test.php выдает:

Версия PHP:

IonCube Loader:


Необходимо: 5.3.x.x - 7.1.x.x

Ваша версия: 7.3.27-9+ubuntu20.04.1+deb.sury.org+1

Статус: Good (Всё нормально)

Необходимо: 6.x и выше

Ваша версия: 10.4.5

Статус: Good (Всё нормально)

 

До этого устанавливали тестовую версию и все работало (даже с php 7.4).

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

1 час назад, protection-key сказал:

Купил лицензию. Установил. Открываю настройки модуля, а там ошибка: 


Notice: Undefined property: Proxy::deleteApiSessionBySessonId in /var/www/protection-key.com.ua/storage/modification/system/engine/action.php on line 79.

system_test.php выдает:

Версия PHP:

IonCube Loader:


Необходимо: 5.3.x.x - 7.1.x.x

Ваша версия: 7.3.27-9+ubuntu20.04.1+deb.sury.org+1

Статус: Good (Всё нормально)

Необходимо: 6.x и выше

Ваша версия: 10.4.5

Статус: Good (Всё нормально)

 

До этого устанавливали тестовую версию и все работало (даже с php 7.4).

Добрый день.

Уточните, пожалуйста, какая у Вас версия OpenCart?

Также уточните в файле admin\model\user\api.php есть метод deleteApiSessionBySessonId.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

33 минуты назад, NeoSeo Team сказал:

Добрый день.

Уточните, пожалуйста, какая у Вас версия OpenCart?

Также уточните в файле admin\model\user\api.php есть метод deleteApiSessionBySessonId.

OpenCart Version 3.0.3.7 (trs-3)

admin\model\user\api.php

<?php
class ModelUserApi extends Model {
	public function addApi($data) {
		$this->db->query("INSERT INTO `" . DB_PREFIX . "api` SET username = '" . $this->db->escape($data['username']) . "', `key` = '" . $this->db->escape($data['key']) . "', status = '" . (int)$data['status'] . "', date_added = NOW(), date_modified = NOW()");

		$api_id = $this->db->getLastId();

		if (isset($data['api_ip'])) {
			foreach ($data['api_ip'] as $ip) {
				if ($ip) {
					$this->db->query("INSERT INTO `" . DB_PREFIX . "api_ip` SET api_id = '" . (int)$api_id . "', ip = '" . $this->db->escape($ip) . "'");
				}
			}
		}
		
		return $api_id;
	}

	public function editApi($api_id, $data) {
		$this->db->query("UPDATE `" . DB_PREFIX . "api` SET username = '" . $this->db->escape($data['username']) . "', `key` = '" . $this->db->escape($data['key']) . "', status = '" . (int)$data['status'] . "', date_modified = NOW() WHERE api_id = '" . (int)$api_id . "'");

		$this->db->query("DELETE FROM " . DB_PREFIX . "api_ip WHERE api_id = '" . (int)$api_id . "'");

		if (isset($data['api_ip'])) {
			foreach ($data['api_ip'] as $ip) {
				if ($ip) {
					$this->db->query("INSERT INTO `" . DB_PREFIX . "api_ip` SET api_id = '" . (int)$api_id . "', ip = '" . $this->db->escape($ip) . "'");
				}
			}
		}
	}

	public function deleteApi($api_id) {
		$this->db->query("DELETE FROM `" . DB_PREFIX . "api` WHERE api_id = '" . (int)$api_id . "'");
	}

	public function getApi($api_id) {
		$query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "api` WHERE api_id = '" . (int)$api_id . "'");

		return $query->row;
	}

	public function getApis($data = array()) {
		$sql = "SELECT * FROM `" . DB_PREFIX . "api`";

		$sort_data = array(
			'username',
			'status',
			'date_added',
			'date_modified'
		);

		if (isset($data['sort']) && in_array($data['sort'], $sort_data)) {
			$sql .= " ORDER BY " . $data['sort'];
		} else {
			$sql .= " ORDER BY username";
		}

		if (isset($data['order']) && ($data['order'] == 'DESC')) {
			$sql .= " DESC";
		} else {
			$sql .= " ASC";
		}

		if (isset($data['start']) || isset($data['limit'])) {
			if ($data['start'] < 0) {
				$data['start'] = 0;
			}

			if ($data['limit'] < 1) {
				$data['limit'] = 20;
			}

			$sql .= " LIMIT " . (int)$data['start'] . "," . (int)$data['limit'];
		}

		$query = $this->db->query($sql);

		return $query->rows;
	}

	public function getTotalApis() {
		$query = $this->db->query("SELECT COUNT(*) AS total FROM `" . DB_PREFIX . "api`");

		return $query->row['total'];
	}

	public function addApiIp($api_id, $ip) {
		$this->db->query("INSERT INTO `" . DB_PREFIX . "api_ip` SET api_id = '" . (int)$api_id . "', ip = '" . $this->db->escape($ip) . "'");
	}

	public function getApiIps($api_id) {
		$query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "api_ip` WHERE api_id = '" . (int)$api_id . "'");

		return $query->rows;
	}

	public function addApiSession($api_id, $session_id, $ip) {
		$api_ip_query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "api_ip` WHERE ip = '" . $this->db->escape($ip) . "'");
		
		if (!$api_ip_query->num_rows) {
			$this->db->query("INSERT INTO `" . DB_PREFIX . "api_ip` SET api_id = '" . (int)$api_id . "', ip = '" . $this->db->escape($ip) . "'");
		}
 		
		$this->db->query("INSERT INTO `" . DB_PREFIX . "api_session` SET api_id = '" . (int)$api_id . "', session_id = '" . $this->db->escape($session_id) . "', ip = '" . $this->db->escape($ip) . "', date_added = NOW(), date_modified = NOW()");

		return $this->db->getLastId();
	}
	
	public function getApiSessions($api_id) {
		$query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "api_session` WHERE api_id = '" . (int)$api_id . "'");

		return $query->rows;
	}
	
	public function deleteApiSession($api_session_id) {
		$this->db->query("DELETE FROM `" . DB_PREFIX . "api_session` WHERE api_session_id = '" . (int)$api_session_id . "'");
	}
	
	public function deleteApiSessionBySessionId($session_id) {
		$this->db->query("DELETE FROM `" . DB_PREFIX . "api_session` WHERE session_id = '" . $this->db->escape($session_id) . "'");
	}		
}

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

22 часа назад, protection-key сказал:

OpenCart Version 3.0.3.7 (trs-3)

admin\model\user\api.php


<?php
class ModelUserApi extends Model {
	public function addApi($data) {
		$this->db->query("INSERT INTO `" . DB_PREFIX . "api` SET username = '" . $this->db->escape($data['username']) . "', `key` = '" . $this->db->escape($data['key']) . "', status = '" . (int)$data['status'] . "', date_added = NOW(), date_modified = NOW()");

		$api_id = $this->db->getLastId();

		if (isset($data['api_ip'])) {
			foreach ($data['api_ip'] as $ip) {
				if ($ip) {
					$this->db->query("INSERT INTO `" . DB_PREFIX . "api_ip` SET api_id = '" . (int)$api_id . "', ip = '" . $this->db->escape($ip) . "'");
				}
			}
		}
		
		return $api_id;
	}

	public function editApi($api_id, $data) {
		$this->db->query("UPDATE `" . DB_PREFIX . "api` SET username = '" . $this->db->escape($data['username']) . "', `key` = '" . $this->db->escape($data['key']) . "', status = '" . (int)$data['status'] . "', date_modified = NOW() WHERE api_id = '" . (int)$api_id . "'");

		$this->db->query("DELETE FROM " . DB_PREFIX . "api_ip WHERE api_id = '" . (int)$api_id . "'");

		if (isset($data['api_ip'])) {
			foreach ($data['api_ip'] as $ip) {
				if ($ip) {
					$this->db->query("INSERT INTO `" . DB_PREFIX . "api_ip` SET api_id = '" . (int)$api_id . "', ip = '" . $this->db->escape($ip) . "'");
				}
			}
		}
	}

	public function deleteApi($api_id) {
		$this->db->query("DELETE FROM `" . DB_PREFIX . "api` WHERE api_id = '" . (int)$api_id . "'");
	}

	public function getApi($api_id) {
		$query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "api` WHERE api_id = '" . (int)$api_id . "'");

		return $query->row;
	}

	public function getApis($data = array()) {
		$sql = "SELECT * FROM `" . DB_PREFIX . "api`";

		$sort_data = array(
			'username',
			'status',
			'date_added',
			'date_modified'
		);

		if (isset($data['sort']) && in_array($data['sort'], $sort_data)) {
			$sql .= " ORDER BY " . $data['sort'];
		} else {
			$sql .= " ORDER BY username";
		}

		if (isset($data['order']) && ($data['order'] == 'DESC')) {
			$sql .= " DESC";
		} else {
			$sql .= " ASC";
		}

		if (isset($data['start']) || isset($data['limit'])) {
			if ($data['start'] < 0) {
				$data['start'] = 0;
			}

			if ($data['limit'] < 1) {
				$data['limit'] = 20;
			}

			$sql .= " LIMIT " . (int)$data['start'] . "," . (int)$data['limit'];
		}

		$query = $this->db->query($sql);

		return $query->rows;
	}

	public function getTotalApis() {
		$query = $this->db->query("SELECT COUNT(*) AS total FROM `" . DB_PREFIX . "api`");

		return $query->row['total'];
	}

	public function addApiIp($api_id, $ip) {
		$this->db->query("INSERT INTO `" . DB_PREFIX . "api_ip` SET api_id = '" . (int)$api_id . "', ip = '" . $this->db->escape($ip) . "'");
	}

	public function getApiIps($api_id) {
		$query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "api_ip` WHERE api_id = '" . (int)$api_id . "'");

		return $query->rows;
	}

	public function addApiSession($api_id, $session_id, $ip) {
		$api_ip_query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "api_ip` WHERE ip = '" . $this->db->escape($ip) . "'");
		
		if (!$api_ip_query->num_rows) {
			$this->db->query("INSERT INTO `" . DB_PREFIX . "api_ip` SET api_id = '" . (int)$api_id . "', ip = '" . $this->db->escape($ip) . "'");
		}
 		
		$this->db->query("INSERT INTO `" . DB_PREFIX . "api_session` SET api_id = '" . (int)$api_id . "', session_id = '" . $this->db->escape($session_id) . "', ip = '" . $this->db->escape($ip) . "', date_added = NOW(), date_modified = NOW()");

		return $this->db->getLastId();
	}
	
	public function getApiSessions($api_id) {
		$query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "api_session` WHERE api_id = '" . (int)$api_id . "'");

		return $query->rows;
	}
	
	public function deleteApiSession($api_session_id) {
		$this->db->query("DELETE FROM `" . DB_PREFIX . "api_session` WHERE api_session_id = '" . (int)$api_session_id . "'");
	}
	
	public function deleteApiSessionBySessionId($session_id) {
		$this->db->query("DELETE FROM `" . DB_PREFIX . "api_session` WHERE session_id = '" . $this->db->escape($session_id) . "'");
	}		
}

 

Добрый день.

Да, проблему увидели.

В версии opencart 3.0.3.7 изменили название метода, поэтому возникает ошибка.

Сейчас исправим и обновим файлы модуля на сайте neoseo.com.ua

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

02.03.2021 в 10:17, NeoSeo Team сказал:

Добрый день.

Да, проблему увидели.

В версии opencart 3.0.3.7 изменили название метода, поэтому возникает ошибка.

Сейчас исправим и обновим файлы модуля на сайте neoseo.com.ua

Когда можно ждать обновление?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

18 часов назад, protection-key сказал:

Когда можно ждать обновление?

Добрый день.

Извините за ожидания.

Правки внесли. Сейчас обновим модуль на сайте для скачивания.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

20 часов назад, protection-key сказал:

Когда можно ждать обновление?

Модуль обновили на сайте. Скачайте последнюю версию и обновите модуль на Вашем сайте.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

  • 6 months later...

Добрый день

Как исправить ошибку ?


вчера установил модуль обмена на опенкарт 3.0.2 Заказ № 29734 от 14.09.2021
При обмене получаю ошибку
Notice: Undefined property: Proxy::getProductCode1c in /home/e/excelle4ru/trout-shop.ru/public_html/system/storage/modification/admin/controller/catalog/product.php on line 131
Как мне ее исправить ?
в 131 строке
$this->getForm();


я не понимаю что надо исправить и почему

во вложении модификатор product.php

и файл offers на котором появляется ошибка

 

product.rar offers0_1.rar

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

22 часа назад, Blade сказал:

Добрый день

Как исправить ошибку ?


вчера установил модуль обмена на опенкарт 3.0.2 Заказ № 29734 от 14.09.2021
При обмене получаю ошибку
Notice: Undefined property: Proxy::getProductCode1c in /home/e/excelle4ru/trout-shop.ru/public_html/system/storage/modification/admin/controller/catalog/product.php on line 131
Как мне ее исправить ?
в 131 строке
$this->getForm();


я не понимаю что надо исправить и почему

во вложении модификатор product.php

и файл offers на котором появляется ошибка

 

product.rar 6 kB · 0 скачиваний offers0_1.rar 170 kB · 0 скачиваний

Здравствуйте.

Вы выполняли обновление модификаторов после установки модуля? Если да, то модификатор не до конца отработал и не создал метод getProductCode1c в модели товара. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

  • 4 weeks later...
02.03.2021 в 10:17, NeoSeo Team сказал:

Добрый день.

Да, проблему увидели.

В версии opencart 3.0.3.7 изменили название метода, поэтому возникает ошибка.

Сейчас исправим и обновим файлы модуля на сайте neoseo.com.ua

у мене таж проблема

Opencart Version 3.0.3.8, модуль завантажував декілька днів тому NeoSeo Обмен с 1C 278 для php 7.2

Якщо в admin/model/user/api.php змінити назву методу то працює

ви не оновили модуль, чи я завантажив не оновлений?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

14.10.2021 в 01:54, NeoSeo Help 4 сказал:

Здравствуйте.

Уточните, пожалуйста, какая у Вас проблема?

Notice: Undefined property: Proxy::deleteApiSessionBySessonId in /home/.../www/system/storage/modification/system/engine/action.php on line 79

Якщо в admin/model/user/api.php змінити назву методу на public function deleteApiSessionBySessonId($session_id) { то працює, але це призводить до помилок у списку замовлень

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

18.10.2021 в 10:04, forlen сказал:

Notice: Undefined property: Proxy::deleteApiSessionBySessonId in /home/.../www/system/storage/modification/system/engine/action.php on line 79

Якщо в admin/model/user/api.php змінити назву методу на public function deleteApiSessionBySessonId($session_id) { то працює, але це призводить до помилок у списку замовлень

Доброго дня, швидше за все, у Вас неповністю відпрацював модифікатор. Перевірте лог модифікаторів, в розділі Neoseo exchange1c є помилки типу NOT FOUND?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

15 часов назад, NeoSeo Help 1 сказал:

Доброго дня, швидше за все, у Вас неповністю відпрацював модифікатор. Перевірте лог модифікаторів, в розділі Neoseo exchange1c є помилки типу NOT FOUND?

2021-10-21 9:39:21 - 
ERROR: CODE NOT FOUND!
FILE: admin/view/template/catalog/product_form.twig
CODE: <input type="text" name="quantity" value="{{ quantity }}" placeholder="{{ entry_quantity }}" id="input-quantity" class="form-control" />
MOD: NeoSeo Exchange 1С

ERROR: CODE NOT FOUND!
FILE: catalog/view/theme/default/template/product/product.twig
CODE: <input type="text" name="quantity" value="{{minimum}}" size="2" id="input-quantity" class="form-control" />
MOD: NeoSeo Exchange 1С

ERROR: CODE NOT FOUND!
FILE: catalog/view/theme/oct_remarket/template/product/product.twig
CODE: <input type="text" name="quantity" value="{{minimum}}" size="2" id="input-quantity" class="form-control" />
MOD: NeoSeo Exchange 1С

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

7 часов назад, forlen сказал:

2021-10-21 9:39:21 - 
ERROR: CODE NOT FOUND!
FILE: admin/view/template/catalog/product_form.twig
CODE: <input type="text" name="quantity" value="{{ quantity }}" placeholder="{{ entry_quantity }}" id="input-quantity" class="form-control" />
MOD: NeoSeo Exchange 1С

ERROR: CODE NOT FOUND!
FILE: catalog/view/theme/default/template/product/product.twig
CODE: <input type="text" name="quantity" value="{{minimum}}" size="2" id="input-quantity" class="form-control" />
MOD: NeoSeo Exchange 1С

ERROR: CODE NOT FOUND!
FILE: catalog/view/theme/oct_remarket/template/product/product.twig
CODE: <input type="text" name="quantity" value="{{minimum}}" size="2" id="input-quantity" class="form-control" />
MOD: NeoSeo Exchange 1С

Здравствуйте 

 Вам нужно адаптировать модификатор модуля по Вашу тему оформления. Или можем сделать мы, но на оплачиваемой основе

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

35 минут назад, NeoSeo Help 4 сказал:

Здравствуйте 

 Вам нужно адаптировать модификатор модуля по Вашу тему оформления. Или можем сделать мы, но на оплачиваемой основе

так ці помилки хіба пов'язані з цим? думаю що ні

Notice: Undefined property: Proxy::deleteApiSessionBySessonId in /home/.../www/system/storage/modification/system/engine/action.php on line 79

Якщо в admin/model/user/api.php змінити назву методу на public function deleteApiSessionBySessonId($session_id) { то працює, але це призводить до помилок у списку замовлень

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

21.10.2021 в 17:26, forlen сказал:

так ці помилки хіба пов'язані з цим? думаю що ні

Notice: Undefined property: Proxy::deleteApiSessionBySessonId in /home/.../www/system/storage/modification/system/engine/action.php on line 79

Якщо в admin/model/user/api.php змінити назву методу на public function deleteApiSessionBySessonId($session_id) { то працює, але це призводить до помилок у списку замовлень

Швидше за все, пов'язані. Точніше сказати не можемо, оскільки треба дивитись безпосередньо у Вас на сайті, а це не входить в рамки безкоштовної підтримки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

22.10.2021 в 17:41, NeoSeo Help 1 сказал:

Швидше за все, пов'язані. Точніше сказати не можемо, оскільки треба дивитись безпосередньо у Вас на сайті, а це не входить в рамки безкоштовної підтримки.

Ні, ці помилки всього лиш не виводять додаткові поля про залишки на складах, замінив у вашому модифікаторі всі <operation> на <operation error="skip">, помилки з логу мидифікаторів зникли, а помилка Notice: Undefined property: Proxy::deleteApiSessionBySessonId in /home/.../www/system/storage/modification/system/engine/action.php on line 79 залишилась всерівно

 

думаю що проблема зв'язана з цим

 

Изменено пользователем forlen

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

36 минут назад, forlen сказал:

Ні, ці помилки всього лиш не виводять додаткові поля про залишки на складах, замінив у вашому модифікаторі всі <operation> на <operation error="skip">, помилки з логу мидифікаторів зникли, а помилка Notice: Undefined property: Proxy::deleteApiSessionBySessonId in /home/.../www/system/storage/modification/system/engine/action.php on line 79 залишилась всерівно

 

думаю що проблема зв'язана з цим

 

на версії opencart Version 3.0.3.7 (rs.1) ця помилка не виникає (протестував), а на Opencart Version 3.0.3.8 (rs.2) так

Изменено пользователем forlen

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

2 часа назад, forlen сказал:

на версії opencart Version 3.0.3.7 (rs.1) ця помилка не виникає (протестував), а на Opencart Version 3.0.3.8 (rs.2) так

Виправили цей момент в модулі, будь ласка, скачайте повторно файли із Вашого особистого кабінету та замініть на Вашому сайті, обновіть модифікатори, помилка має бути ліквідована. Відпишіть нам про результат.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

26 минут назад, NeoSeo Help 1 сказал:

Виправили цей момент в модулі, будь ласка, скачайте повторно файли із Вашого особистого кабінету та замініть на Вашому сайті, обновіть модифікатори, помилка має бути ліквідована. Відпишіть нам про результат.

завантажив останню версію, впринципі вона у мене і була, встановив через установищик, кеші почистив, модифікатори оновив, помилка залишилась

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

25 минут назад, forlen сказал:

завантажив останню версію, впринципі вона у мене і була, встановив через установищик, кеші почистив, модифікатори оновив, помилка залишилась

сорі, оновився до 279, все запрацювало, дякую Вам

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

30 минут назад, forlen сказал:

сорі, оновився до 279, все запрацювало, дякую Вам

Будь ласка, звертайтеся, завжди раді допомогти 🙂

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...