Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Модуль Модуль обмена для opencart v2.3 по стандарту CommerceML [Поддержка]


Recommended Posts

11 часов назад, searchingman сказал:

Перед тем, как загружать предложения (цены, остатки, характеристики) из offers.xml , товар уже должен быть загружен с GUID-ом из import.xml

Если у Вас новый товар, то проверяйте по GUID из файла предложений (offers.xml) есть ли он в import.xml

Пропущенные товары по ИД имеются в обоих файлах в offers.xml и import.xml по идее должны заливаться. Не понятно как количество выгружаемых товаров может так влиять на загрузку. Файлы весят не много. Обработка занимает не долгое время. Ресурса хостинга хватает. В чем может быть вопрос не понятно.

 

Надіслати
Поділитися на інших сайтах


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

Пропущенные товары по ИД имеются в обоих файлах в offers.xml и import.xml по идее должны заливаться. Не понятно как количество выгружаемых товаров может так влиять на загрузку. Файлы весят не много. Обработка занимает не долгое время. Ресурса хостинга хватает. В чем может быть вопрос не понятно.

 

Значит по каким-то причинам не добавился товар при загрузке файла import.xml, необходимо включить лог и загрузить файл или сделать обмен с 1С, не забудьте включить лог в режим отладки. Перед началом обмена файл журнала лучше удалить, при обмене создается новый и в нем будут только записи последнего обмена.

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

Если в логе не было ошибок, скиньте кусок лога загрузки товара из import и offers я посмотрю

Надіслати
Поділитися на інших сайтах

11 минут назад, Kirillove сказал:

Значит по каким-то причинам не добавился товар при загрузке файла import.xml, необходимо включить лог и загрузить файл или сделать обмен с 1С, не забудьте включить лог в режим отладки. Перед началом обмена файл журнала лучше удалить, при обмене создается новый и в нем будут только записи последнего обмена.

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

Если в логе не было ошибок, скиньте кусок лога загрузки товара из import и offers я посмотрю

system\storage\logs\exchange1c.log  этот удалить?

Надіслати
Поділитися на інших сайтах


В 03.09.2021 в 08:50, 26rus сказал:

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

Это в 10 версии 1с)

1. В файл orders.xml и так выгружается итоговая сумма заказа с учетом суммы доставки. Но в 1с (в частности УТ 10.3) в документе "Заказ покупателя" при загрузке из файла (orders.xml) итоговая сумма складывается из сумм товаров, но не итоговой суммы заказа из файла orders.xml

Чтобы в итоговой сумме учитывалась доставка нужно добавить в документ "Заказ покупателя" товар-услугу "Доставка" (вкладка "Услуги") с суммой доставки с сайта.

 

2. К сожалению, пока на данный момент в последней версии модуля (1.6.4.8) не реализована функция связи доставок в Opencart с товарами (тип: услуга) в 1с (см. в админке модуля вкладку "Заказы" \ "Настройка видов доставки для экспорта в заказы в ТС"). 

Вариант решения.

В файле admin\model\extension\exchange1c.php в queryOrders() код 

                    // Доставка в комментарий
					$query = $this->query("SELECT `title` FROM `" . DB_PREFIX . "order_total` WHERE `order_id` = " . $order_id . " AND `code` = 'shipping'");
					if ($query->num_rows) {
						$document['Документ' . $document_counter]['Комментарий'] .= "\nДоставка: " . $query->row['title'];
					}
					// Доставка в комментарий

					$product_counter++;
				}

заменить на

                $product_counter++;
				}
				// ++ Обработка доставки
				$query = $this->query("SELECT `title`, `value` FROM `" . DB_PREFIX . "order_total` WHERE `order_id` = " . $order_id . " AND `code` = 'shipping'");
				if ($query->num_rows) {
					// Доставка в комментарий
					$title_shipping = $query->row['title'];
					$document['Документ' . $document_counter]['Комментарий'] .= "\nДоставка: " . $title_shipping;
					// Выгрузка доставки
					$summa_shipping = $query->row['value'];
					// Доставки, которые нужно выгружать в 1с
					// GUID из 1с => Наименование способа доставки в Opencart
					$shipping_guids = array(
						// '090b7aa9-0526-11dc-a415-00055d80a2d1' => 'Самовывоз',
						'5cfe4e44-0e29-11ec-9cc8-685d43a9424a' => 'Курьером', 
						'5cfe4e46-0e29-11ec-9cc8-685d43a9424a' => 'Доставка в пределах МКАД', 
					);
					$shipping_guid = array_search($title_shipping, $shipping_guids);
					if ($shipping_guid != false) {
						// при необходимости указать GUID услуги "Доставка" из 1с для любого вида доставки в Opencart
						// $shipping_guid = '090b7aa9-0526-11dc-a415-00055d80a2d1';
					$document['Документ' . $document_counter]['Товары']['Товар' . $product_counter] = array(
						'Ид'             => $shipping_guid
						,'Наименование'   => $title_shipping
						,'ЦенаЗаЕдиницу'  => $summa_shipping
						,'Количество'     => 1
						,'Сумма'          => $summa_shipping
						,'Скидки'         => array('Скидка' => array(
							'УчтеноВСумме' => 'false'
							,'Сумма' => 0
							)
							)
							,'ЗначенияРеквизитов' => array(
								'ЗначениеРеквизита' => array(
									'Наименование' => 'ТипНоменклатуры'
									,'Значение' => 'Услуга'
									)
									)
								);
								$product_counter++;
					}
				}
				// ++ Обработка доставки 

3. Как использовать:  

- можно задавать список доставок для выгрузки в 1с и их связь с GUID-ми услуг в 1с  (см. массив $shipping_guids c комментариями в коде выше). 

    - В 1с GUID-ы услуг (справочник "Номенклатура") можно узнать с помощью обработки, н-р, с помощью внешней обработки "Поиск объекта 1С по GUID" , которая позволяет получать как GUID по выбранному объекту, так и наоборот, по GUID-у может найти объект, что удобно при работе с файлами обмена (import.xml, offers.xml). Обработка работает, как на обычных формах (УТ 10.3), так и на управляемых (УТ 11.4)

- можно задать для всех обрабатываемых доставок связь с одним GUID-ом услуги в 1с (см. переменную $shipping_guid в коде выше);

 

4. Тестировалось

- демо конфигурация 1С УТ 10.3.67.3 , типовой механизм обмена с сайтом (меню "Сервис" \ "Обмен данными с WEB-сайтом")

ocstore 2.3.0.4 + последняя версия модуль обмена 1.6.4.8 от Gmp  на типовых доставках и на бесплатном модуле с форума "Мультидоставка FREE 2"

 

PS:

- Также поправлен недочет (озвучивался в теме выше), когда в комментарий документа "Заказ покупателя" несколько раз дублировалось название доставки по количеству позиций товаров.   

- Конечно, это не законченное решение, т.е. "костыль". Правильнее таблицу связей выносить в админку, но не в исходниках.

Змінено користувачем searchingman
  • +1 3
Надіслати
Поділитися на інших сайтах


1 час назад, Ivanzo сказал:

system\storage\logs\exchange1c.log  этот удалить?

Да, про него речь. 

Еще обратите внимание на таблицу oc_product_to_1c , в которой происходит попытка поиска товара по GUID-у из 1с. Если там не находится товар, то получаете ошибку при загрузке данных из offers.xml

Надіслати
Поділитися на інших сайтах


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

Значит по каким-то причинам не добавился товар при загрузке файла import.xml, необходимо включить лог и загрузить файл или сделать обмен с 1С, не забудьте включить лог в режим отладки. Перед началом обмена файл журнала лучше удалить, при обмене создается новый и в нем будут только записи последнего обмена.

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

Если в логе не было ошибок, скиньте кусок лога загрузки товара из import и offers я посмотрю

Скинул в личку.

Надіслати
Поділитися на інших сайтах


14 часов назад, searchingman сказал:

1. В файл orders.xml и так выгружается итоговая сумма заказа с учетом суммы доставки. Но в 1с (в частности УТ 10.3) в документе "Заказ покупателя" при загрузке из файла (orders.xml) итоговая сумма складывается из сумм товаров, но не итоговой суммы заказа из файла orders.xml

Чтобы в итоговой сумме учитывалась доставка нужно добавить в документ "Заказ покупателя" товар-услугу "Доставка" (вкладка "Услуги") с суммой доставки с сайта.

 

2. К сожалению, пока на данный момент в последней версии модуля (1.6.4.8) не реализована функция связи доставок в Opencart с товарами (тип: услуга) в 1с (см. в админке модуля вкладку "Заказы" \ "Настройка видов доставки для экспорта в заказы в ТС"). 

Вариант решения.

В файле admin\model\extension\exchange1c.php в queryOrders() код 


                    // Доставка в комментарий
					$query = $this->query("SELECT `title` FROM `" . DB_PREFIX . "order_total` WHERE `order_id` = " . $order_id . " AND `code` = 'shipping'");
					if ($query->num_rows) {
						$document['Документ' . $document_counter]['Комментарий'] .= "\nДоставка: " . $query->row['title'];
					}
					// Доставка в комментарий

					$product_counter++;
				}

заменить на


                $product_counter++;
				}
				// ++ Обработка доставки
				$query = $this->query("SELECT `title`, `value` FROM `" . DB_PREFIX . "order_total` WHERE `order_id` = " . $order_id . " AND `code` = 'shipping'");
				if ($query->num_rows) {
					// Доставка в комментарий
					$title_shipping = $query->row['title'];
					$document['Документ' . $document_counter]['Комментарий'] .= "\nДоставка: " . $title_shipping;
					// Выгрузка доставки
					$summa_shipping = $query->row['value'];
					// Доставки, которые нужно выгружать в 1с
					// GUID из 1с => Наименование способа доставки в Opencart
					$shipping_guids = array(
						// '090b7aa9-0526-11dc-a415-00055d80a2d1' => 'Самовывоз',
						'5cfe4e44-0e29-11ec-9cc8-685d43a9424a' => 'Курьером', 
						'5cfe4e46-0e29-11ec-9cc8-685d43a9424a' => 'Доставка в пределах МКАД', 
					);
					$shipping_guid = array_search($title_shipping, $shipping_guids);
					if ($shipping_guid != false) {
						// при необходимости указать GUID услуги "Доставка" из 1с для любого вида доставки в Opencart
						// $shipping_guid = '090b7aa9-0526-11dc-a415-00055d80a2d1';
					$document['Документ' . $document_counter]['Товары']['Товар' . $product_counter] = array(
						'Ид'             => $shipping_guid
						,'Наименование'   => $title_shipping
						,'ЦенаЗаЕдиницу'  => $summa_shipping
						,'Количество'     => 1
						,'Сумма'          => $summa_shipping
						,'Скидки'         => array('Скидка' => array(
							'УчтеноВСумме' => 'false'
							,'Сумма' => 0
							)
							)
							,'ЗначенияРеквизитов' => array(
								'ЗначениеРеквизита' => array(
									'Наименование' => 'ТипНоменклатуры'
									,'Значение' => 'Услуга'
									)
									)
								);
								$product_counter++;
					}
				}
				// ++ Обработка доставки 

3. Как использовать:  

- можно задавать список доставок для выгрузки в 1с и их связь с GUID-ми услуг в 1с  (см. массив $shipping_guids c комментариями в коде выше). 

    - В 1с GUID-ы услуг (справочник "Номенклатура") можно узнать с помощью обработки, н-р, с помощью внешней обработки "Поиск объекта 1С по GUID" , которая позволяет получать как GUID по выбранному объекту, так и наоборот, по GUID-у может найти объект, что удобно при работе с файлами обмена (import.xml, offers.xml). Обработка работает, как на обычных формах (УТ 10.3), так и на управляемых (УТ 11.4)

- можно задать для всех обрабатываемых доставок связь с одним GUID-ом услуги в 1с (см. переменную $shipping_guid в коде выше);

 

4. Тестировалось

- демо конфигурация 1С УТ 10.3.67.3 , типовой механизм обмена с сайтом (меню "Сервис" \ "Обмен данными с WEB-сайтом")

ocstore 2.3.0.4 + последняя версия модуль обмена 1.6.4.8 от Gmp  на типовых доставках и на бесплатном модуле с форума "Мультидоставка FREE 2"

 

PS:

- Также поправлен недочет (озвучивался в теме выше), когда в комментарий документа "Заказ покупателя" несколько раз дублировалось название доставки по количеству позиций товаров.   

- Конечно, это не законченное решение, т.е. "костыль". Правильнее таблицу связей выносить в админку, но не в исходниках.

я в этом коде не со всем понял, это получается просто выводить будет в комментарии доставка типа курьером или не курьер?? так что-ли? ну без стоимости доставки?

Надіслати
Поділитися на інших сайтах


29 минут назад, 26rus сказал:

я в этом коде не со всем понял, это получается просто выводить будет в комментарии доставка типа курьером или не курьер?? так что-ли? ну без стоимости доставки?

Смысл решения в том, чтобы доставку на сайте связать с услугой в 1с. 
При загрузке заказа доставка с суммой будет добавлена в документ "Заказ покупателя" в УТ 10.3 в виде услуги (вкладка "Услуги").

Итоговая сумма заказа покупателя в 1с будет включать сумму всех товаров + сумму доставки. 

В УТ 10.3. документ выглядит так.

  • +1 1
Надіслати
Поділитися на інших сайтах


У меня начало загружаться, но заметил несколько нюансов:

 

1. Нет вкладки "СЕО" как это было в предыдущей версии.

2. Не грузятся опции товаров. 

3. Сейчас есть косячные версии 1с УНФ в которых в файле import.xml если пользоваться стандартным обменом, дублируются фото. Т.е. мы имеем туфли без характеристик - будет выгружаться 1 фотография, добавляем характеристику "размер" и добавляем туда 2 размера например 40 и 42 без прикрепления фото к характеристики и почему то основная фотография дублируется 2 раза, на выходе в импорте мы получаем 3 строчки с одинаковым фото. Нужно как то их отсекать.

Надіслати
Поділитися на інших сайтах

В 06.09.2021 в 10:23, searchingman сказал:

Смысл решения в том, чтобы доставку на сайте связать с услугой в 1с. 
При загрузке заказа доставка с суммой будет добавлена в документ "Заказ покупателя" в УТ 10.3 в виде услуги (вкладка "Услуги").

Итоговая сумма заказа покупателя в 1с будет включать сумму всех товаров + сумму доставки. 

В УТ 10.3. документ выглядит так.

вопрос, как там сделать, если у меня доставка идет модуля СДЭК и ОЗОН и самвовыоз? где мне достать GUI ID ???

Надіслати
Поділитися на інших сайтах


	public function queryOrders() {

		$this->log("~ЭКСПОРТ ЗАКАЗОВ В УЧЕТНУЮ СИСТЕМУ",2);

		$orders_export = $this->queryOrdersExport();

		// Валюта документа
		$currency = $this->config->get('exchange1c_order_currency') ? $this->config->get('exchange1c_order_currency') : 'руб.';

		$document = array();

		if (count($orders_export)) {

			$document_counter = 0;

			$this->load->model('customer/customer_group');
			$this->load->model('sale/order');

			foreach ($orders_export as $order_id => $order_status_id) {

				$order = $this->model_sale_order->getOrder($order_id);
				$this->log("Заказ #" . $order['order_id']);
				$this->log($order, 2);


				// Если при оформлении заказа покупатель зарегистрировался
				if ($order['customer_id']) {
					$this->getCustomerInfo($order);
				}

				$order['date'] = date('Y-m-d', strtotime($order['date_added']));
				$order['time'] = date('H:i:s', strtotime($order['date_added']));
				$customer_group = $this->model_customer_customer_group->getCustomerGroup($order['customer_group_id']);

				if( !empty($order['comment']) ) {
				$comment = " | Комментарии покупателя: " . $order['comment'];
				} else {
					$comment = " | Комментарии покупателя: не указал";
				}
					// Шапка документа
				$document['Документ' . $document_counter] = array(
					 'Ид'          => $order['order_id']
					,'Номер'       => $order['order_id']
					,'Дата'        => $order['date']
					,'Время'       => $order['time']
					,'Валюта'      => $currency
					,'Курс'        => 1
					,'ХозОперация' => 'Заказ товара'
					,'Роль'        => 'Продавец'
					,'Сумма'       => $order['total']
					,'Комментарий' => " | Доставка: " . $order['shipping_method'] . " | Оплата: " . $order['payment_method'] . $comment
					//,'Соглашение'  => $customer_group['name'] // the agreement
				);

				if ($this->config->get('exchange1c_order_customer_default')) {
					$order['username'] = htmlspecialchars(trim($this->config->get('exchange1c_order_customer_default')));
					$order['firstname'] = $order['username'];
					$order['lastname'] = "";
				} else {
					// Первая буква должна быть заглавной и убираем лишние пробелы сдева и справа
					// ТОЛЬКО ДЛЯ САЙТА РАБОТАЮЩЕГО НА КОДИРОВКЕ UTF-8
					$order['lastname'] = mb_convert_case(trim($order['lastname']), MB_CASE_TITLE, "UTF-8");
					$order['firstname'] = mb_convert_case(trim($order['firstname']), MB_CASE_TITLE, "UTF-8");
					if (isset($order['middlename']))
						$order['middlename'] = mb_convert_case(trim($order['middlename']), MB_CASE_TITLE, "UTF-8");
					else
						$order['middlename'] = '';

					// Собираем полное наименование покупателя, ФИО
					$order['username'] =  $order['lastname'] . ' ' . $order['firstname'] . ($order['middlename'] ? ' ' . $order['middlename'] : '');
				}

				// ПОКУПАТЕЛЬ (КОНТРАГЕНТ)
				$document['Документ' . $document_counter]['Контрагенты']['Контрагент'] = $this->setCustomer($order);
				if ($this->ERROR) return false;

				// РЕКВИЗИТЫ ДОКУМЕНТА
				$document['Документ' . $document_counter]['ЗначенияРеквизитов'] = $this->setDocumentRequisites($order, $document);
				if ($this->ERROR) return false;

				// ТОВАРЫ ДОКУМЕНТА
				$products = $this->model_sale_order->getOrderProducts($order_id);

				$product_counter = 0;
				foreach ($products as $product) {
					$product_guid = $this->getGuidByProductId($product['product_id']);
					$document['Документ' . $document_counter]['Товары']['Товар' . $product_counter] = array(
						 'Ид'             => $product_guid
						,'Наименование'   => $product['name']
						,'ЦенаЗаЕдиницу'  => $product['price']
						,'Количество'     => $product['quantity']
						,'Сумма'          => $product['total']
						,'Скидки'         => array('Скидка' => array(
							'УчтеноВСумме' => 'false'
							,'Сумма' => 0
							)
						)
						,'ЗначенияРеквизитов' => array(
							'ЗначениеРеквизита' => array(
								'Наименование' => 'ТипНоменклатуры'
								,'Значение' => 'Товар'
							)
						)
					);
					$current_product = &$document['Документ' . $document_counter]['Товары']['Товар' . $product_counter];
					// Резервирование товаров
					if ($this->config->get('exchange1c_order_reserve_product') == 1) {
						$current_product['Резерв'] = $product['quantity'];
					}

					// Если не заданы единицы измерений товара, выгружаем базовую
					if ($this->config->get('exchange1c_export_system') == '1c_ut11') {
						$current_product['БазоваяЕдиница'] = array(
							'Код' 					=> '796',
							'НаименованиеПолное' 	=> 'Штука'
						);
					}

					// Характеристики
					$feature_guid = $this->getFeatureGuid($product['order_product_id'], $order_id);
					if ($feature_guid) {
						$current_product['Ид'] .= "#" . $feature_guid;
					}

					$product_counter++;
				}

				$document_counter++;

			} // foreach ($query->rows as $orders_data)

		} // if (count($orders_export))
		//$this->log($document, 2);

		// Формируем заголовок
		$root = '<?xml version="1.0" encoding="utf-8"?><КоммерческаяИнформация ВерсияСхемы="2.07" ДатаФормирования="' . date('Y-m-d', time()) . '" />';

		$root_xml = new SimpleXMLElement($root);
		$xml = $this->array_to_xml($document, $root_xml);

		// Проверка на запись файлов в кэш
		$cache = DIR_CACHE . 'exchange1c/';
		if (@is_writable($cache)) {
			// запись заказа в файл
			$f_order = @fopen($cache . 'orders.xml', 'w');
			if (!$f_order) {
				$this->log("Нет доступа для записи в папку: " . $cache);
			} else {
				fwrite($f_order, $xml->asXML());
				fclose($f_order);
			}
		} else {
			$this->log("Папка " . $cache . " не доступна для записи, файл заказов не может быть сохранен!",1);
		}

		return $xml->asXML();

	} // queryOrders()

у меня получается так сделано, ну вопрос куда это мне тут вставить + хотел бы спросить, есть модули у меня озон доставка что считает автоматическую цену и СДэк модуль доставки тут который платный продается, как мне его привязать ну и также самовывоз как обычно. Где это GUI ID достать мне?

Надіслати
Поділитися на інших сайтах


39 минут назад, 26rus сказал:

вопрос, как там сделать, если у меня доставка идет модуля СДЭК и ОЗОН и самвовыоз? где мне достать GUI ID ???

У Вас доставка СДЭК, ОЗОН, Самовывоз в 1с (УТ 10.3) в документе "Заказ покупателя" учитываются как услуги на вкладке "Услуги"? 

Если да, то их GUID-ы можно узнать с помощью внешней обработки (см. ссылку на обработку "Поиск объекта 1С по GUID"  выше в решении).

Затем нужно посмотреть в таблице oc_order_total под каким именем доставка фиксируется модулями в заказе, конечно, если они пишут в типовую таблицу Opencart-а. Можете привести часть содержимого вашей таблицы oc_order_total для заказов с доставками от ОЗОН, СДЕК и самовывоз? Можно в личку, если не захотите здесь "светить" данные.

Надіслати
Поділитися на інших сайтах


26 минут назад, searchingman сказал:

У Вас доставка СДЭК, ОЗОН, Самовывоз в 1с (УТ 10.3) в документе "Заказ покупателя" учитываются как услуги на вкладке "Услуги"? 

Если да, то их GUID-ы можно узнать с помощью внешней обработки (см. ссылку на обработку "Поиск объекта 1С по GUID"  выше в решении).

Затем нужно посмотреть в таблице oc_order_total под каким именем доставка фиксируется модулями в заказе, конечно, если они пишут в типовую таблицу Opencart-а. Можете привести часть содержимого вашей таблицы oc_order_total для заказов с доставками от ОЗОН, СДЕК и самовывоз? Можно в личку, если не захотите здесь "светить" данные.

написал в лс

Надіслати
Поділитися на інших сайтах


Вопрос возник, остатки получается у меня в ут 10.3 одного товара 42 штуки, а на сайте пишет 152 штуки, почему остатки не обновляет??? странно....

Надіслати
Поділитися на інших сайтах


7 минут назад, 26rus сказал:

Вопрос возник, остатки получается у меня в ут 10.3 одного товара 42 штуки, а на сайте пишет 152 штуки, почему остатки не обновляет??? странно....

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

Затем правильно проидентифицируйте товар (сопоставьте GUID из файла offers.xml с GUID-дом товара в таблице oc_product_to_1c). Если в таблице oc_product_to_1c GUID из файла импорта есть, то с правильным ли товаром (см. 'product_id') он связан на сайте 

Включите логирование при обмене и посмотрите обновление товара (остатков, цен) из offers.xml  в логе загрузки  \system\storage\logs\exchange1c.log

Надіслати
Поділитися на інших сайтах


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

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

Затем правильно проидентифицируйте товар (сопоставьте GUID из файла offers.xml с GUID-дом товара в таблице oc_product_to_1c). Если в таблице oc_product_to_1c GUID из файла импорта есть, то с правильным ли товаром (см. 'product_id') он связан на сайте 

Включите логирование при обмене и посмотрите обновление товара (остатков, цен) из offers.xml  в логе загрузки  \system\storage\logs\exchange1c.log

Все правильно сопоставлено там 

Надіслати
Поділитися на інших сайтах


В 05.09.2021 в 19:39, searchingman сказал:

Да, про него речь. 

Еще обратите внимание на таблицу oc_product_to_1c , в которой происходит попытка поиска товара по GUID-у из 1с. Если там не находится товар, то получаете ошибку при загрузке данных из offers.xml

Уже и в ручную связал товара в таблице oc_product_to_1c, все равно когда выгружаешь много товаров ничего не происходит, стоит сделать выгрузку поменьше количество товаров, то все ок. И выгружаются и добавляются новые. Не пойму в чем проблема.

Надіслати
Поділитися на інших сайтах


17 часов назад, Ivanzo сказал:

Уже и в ручную связал товара в таблице oc_product_to_1c, все равно когда выгружаешь много товаров ничего не происходит, стоит сделать выгрузку поменьше количество товаров, то все ок. И выгружаются и добавляются новые. Не пойму в чем проблема.

Вы хотите сказать, что одни и теже товары при увеличении количества товаров в выгрузке не обновляются на сайте, не добавляются новые?

Выгрузка при большом количестве в логах нормально завершается?

Можете прислать выгрузку при небольшом количестве товаров с логом и при большом количестве тоже с логом? Можно  в личку. 

Надіслати
Поділитися на інших сайтах


3 часа назад, searchingman сказал:

Вы хотите сказать, что одни и теже товары при увеличении количества товаров в выгрузке не обновляются на сайте, не добавляются новые?

 

Да так и есть сначала не находит (это когда много товаров выгружаешь я так понимаю что больше 110 товаров вроде уже глючит)

А потом выгружаешь менее 100 товаров, то все ок.

Файлы скинул в личку.

 

Надіслати
Поділитися на інших сайтах


9 часов назад, Ivanzo сказал:

Да так и есть сначала не находит (это когда много товаров выгружаешь я так понимаю что больше 110 товаров вроде уже глючит)

А потом выгружаешь менее 100 товаров, то все ок.

Файлы скинул в личку.

 

Детали написал в личку. Проблемы в том, что при загрузке import.xml ошибки (файл не валидный, есть дубли объектов по ИД). Нужно исправлять ошибки в файлах импорта с большом количеством товаров. В файлах импорта с небольшим количеством товаров ошибок нет.

Змінено користувачем searchingman
  • +1 1
Надіслати
Поділитися на інших сайтах


18 часов назад, searchingman сказал:

Детали написал в личку. Проблемы в том, что при загрузке import.xml ошибки (файл не валидный, есть дубли объектов по ИД). Нужно исправлять ошибки в файлах импорта с большом количеством товаров. В файлах импорта с небольшим количеством товаров ошибок нет.

Так если ид разный, есть решение проблемы или нету?(

Надіслати
Поділитися на інших сайтах


3 часа назад, 26rus сказал:

Так если ид разный, есть решение проблемы или нету?(

Мое сообщение касалось другого участника и больше касались переписки в личке. 

А у Вас какие проблемы с разными ИД? 

Надіслати
Поділитися на інших сайтах


15 часов назад, searchingman сказал:

Мое сообщение касалось другого участника и больше касались переписки в личке. 

А у Вас какие проблемы с разными ИД? 

Ну у меня для каждого карточки товара, свой уникальный ид. То-есть где не обновляется количество товаров, проверил нет больше таких ид.

Вторая проблема, это товары выгружаются только со 2 раза на сайт, с первого раза всегда ошибку пишет почему-то =(

Надіслати
Поділитися на інших сайтах


48 минут назад, 26rus сказал:

Ну у меня для каждого карточки товара, свой уникальный ид. То-есть где не обновляется количество товаров, проверил нет больше таких ид.

Вторая проблема, это товары выгружаются только со 2 раза на сайт, с первого раза всегда ошибку пишет почему-то =(

В личку файлы выгрузки пришлите. Также приложите файл лога. Посмотрю.

Надіслати
Поділитися на інших сайтах


В 12.09.2021 в 20:51, searchingman сказал:

Детали написал в личку. Проблемы в том, что при загрузке import.xml ошибки (файл не валидный, есть дубли объектов по ИД). Нужно исправлять ошибки в файлах импорта с большом количеством товаров. В файлах импорта с небольшим количеством товаров ошибок нет.

Все спасибо, помогли решить проблему. Сделал валидный фаил, и проверил дубли. И за раз загрузилось более 4 тыс. товаров. Но в голове все равно не укладывается почему когда выгружаешь до 100 товаров, то товары выгружаются не смотря дубли объектов по ИД.

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.