Ошибка При Формировании Yml

Не генерится Yml. использую модуль yml export, старый я.маркет удален.

При попытке начать генерацию 503 ошибка и в логах cs-cart

База данных (Ошибка)
Ошибка: Unknown column 'p.yml2_fee' in 'field list' (1054)
Запрос: SELECT p.product_id, p.product_code, d.lang_code, pc.category_id, cd.category, pp.price, p.list_price, p.status, p.amount, p.weight, p.shipping_freight, p.shipping_params, p.free_shipping, d.product, d.short_description, d.full_description, p.company_id, p.tracking, p.list_price, p.is_edp, p.yml2_brand, p.yml2_origin_country, p.yml2_store, p.yml2_pickup, p.yml2_delivery, p.yml2_delivery_options, p.yml2_bid, p.yml2_cbid, p.yml2_fee, p.yml2_model, p.yml2_sales_notes, p.yml2_type_prefix, p.yml2_offer_type, p.yml2_market_category, p.yml2_manufacturer_warranty, p.yml2_expiry, p.yml2_purchase_price, p.yml2_description, p.yml2_cpa, ( SELECT GROUP_CONCAT(IF(pc2.link_type = 'M', CONCAT(pc2.category_id, 'M'), pc2.category_id)) FROM cscart_products_categories as pc2 WHERE product_id = p.product_id ) as category_ids FROM cscart_products as p LEFT JOIN cscart_product_descriptions as d ON d.product_id = p.product_id AND d.lang_code = 'ru' LEFT JOIN cscart_product_prices as pp ON pp.product_id = p.product_id AND pp.lower_limit = 1 AND pp.usergroup_id = 0 LEFT JOIN cscart_products_categories as pc ON pc.product_id = p.product_id AND pc.link_type = 'M' LEFT JOIN cscart_category_descriptions as cd ON cd.category_id = pc.category_id AND cd.lang_code = 'ru' WHERE p.product_id IN(7, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 108) GROUP BY p.product_id
Отслеживание››

index.php (fn_dispatch): 25
app/functions/fn.control.php (fn_run_controller): 456
app/functions/fn.control.php (include): 700
app/addons/yml_export/controllers/frontend/yml.php (generate): 59
app/addons/yml_export/Tygh/Ym/Yml2.php (body): 255
app/addons/yml_export/Tygh/Ym/Yml2.php (generateOffers): 375
app/addons/yml_export/Tygh/Ym/Yml2.php (db_get_array): 716
app/functions/fn.database.php (call_user_func_array): 28
app/Tygh/Database/Connection.php (getArray): 229
app/Tygh/Database/Connection.php (query): 488

При попытке выгрузить в csv через экспорт ИД товара + все отвечающее за экспорт в yml

База данных (Ошибка)
Ошибка: Unknown column 'products.yml2_fee' in 'field list' (1054)
Запрос: SELECT products.product_id, products.product_code as "Product code", product_descriptions.lang_code as "Language", products.product_id as "Product id", products.yml2_brand as "YML Brand", products.yml2_origin_country as "YML Country of origin", products.yml2_store as "YML Allow retail store purchase", products.yml2_pickup as "YML Allow booking and self delivery", products.yml2_adult as "YML Adult", products.yml2_delivery as "YML Allow delivery", products.yml2_delivery_options as "YML Allow delivery options", products.yml2_bid as "YML Basic bid", products.yml2_cbid as "YML Card bid", products.yml2_fee as "YML Fee", products.yml2_model as "YML Model", products.yml2_sales_notes as "YML Sales notes", products.yml2_type_prefix as "YML typePrefix", products.yml2_offer_type as "YML Offer type", products.yml2_market_category as "YML Market category", products.yml2_manufacturer_warranty as "YML Manufacturer warranty", products.yml2_expiry as "YML Lifetime", products.yml2_cpa as "YML Market Ordering", products.yml2_description as "YML Description" FROM cscart_products as products LEFT JOIN cscart_product_descriptions as product_descriptions ON product_descriptions.product_id = products.product_id AND product_descriptions.lang_code IN ('ru') LEFT JOIN cscart_product_prices as product_prices ON product_prices.product_id = products.product_id AND product_prices.lower_limit = 1 AND product_prices.usergroup_id = 0 LEFT JOIN cscart_images_links as images_links ON images_links.object_id = products.product_id AND images_links.object_type = 'product' AND images_links.type = 'M' LEFT JOIN cscart_companies as companies ON companies.company_id = products.company_id LEFT JOIN cscart_seo_names as seo_names ON seo_names.object_id = products.product_id AND seo_names.type = 'p' AND seo_names.dispatch = '' AND seo_names.lang_code = product_descriptions.lang_code AND seo_names.company_id = products.company_id WHERE products.company_id = 1 LIMIT 0, 30
Отслеживание››

admin.php (fn_dispatch): 27
app/functions/fn.control.php (fn_run_controller): 456
app/functions/fn.control.php (include): 700
app/controllers/backend/exim.php (fn_export): 105
app/functions/fn.exim.php (db_get_array): 152
app/functions/fn.database.php (call_user_func_array): 28
app/Tygh/Database/Connection.php (getArray): 229
app/Tygh/Database/Connection.php (query): 488

В логах на сервере нет ни каких ошибок.

Подскажите, пожалуйста, куда лезть смотреть?

Не генерится Yml. использую модуль yml export, старый я.маркет удален.

При попытке начать генерацию 503 ошибка и в логах cs-cart

База данных (Ошибка)
Ошибка: Unknown column 'p.yml2_fee' in 'field list' (1054)
Запрос: SELECT p.product_id, p.product_code, d.lang_code, pc.category_id, cd.category, pp.price, p.list_price, p.status, p.amount, p.weight, p.shipping_freight, p.shipping_params, p.free_shipping, d.product, d.short_description, d.full_description, p.company_id, p.tracking, p.list_price, p.is_edp, p.yml2_brand, p.yml2_origin_country, p.yml2_store, p.yml2_pickup, p.yml2_delivery, p.yml2_delivery_options, p.yml2_bid, p.yml2_cbid, p.yml2_fee, p.yml2_model, p.yml2_sales_notes, p.yml2_type_prefix, p.yml2_offer_type, p.yml2_market_category, p.yml2_manufacturer_warranty, p.yml2_expiry, p.yml2_purchase_price, p.yml2_description, p.yml2_cpa, ( SELECT GROUP_CONCAT(IF(pc2.link_type = 'M', CONCAT(pc2.category_id, 'M'), pc2.category_id)) FROM cscart_products_categories as pc2 WHERE product_id = p.product_id ) as category_ids FROM cscart_products as p LEFT JOIN cscart_product_descriptions as d ON d.product_id = p.product_id AND d.lang_code = 'ru' LEFT JOIN cscart_product_prices as pp ON pp.product_id = p.product_id AND pp.lower_limit = 1 AND pp.usergroup_id = 0 LEFT JOIN cscart_products_categories as pc ON pc.product_id = p.product_id AND pc.link_type = 'M' LEFT JOIN cscart_category_descriptions as cd ON cd.category_id = pc.category_id AND cd.lang_code = 'ru' WHERE p.product_id IN(7, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 108) GROUP BY p.product_id
Отслеживание››

index.php (fn_dispatch): 25
app/functions/fn.control.php (fn_run_controller): 456
app/functions/fn.control.php (include): 700
app/addons/yml_export/controllers/frontend/yml.php (generate): 59
app/addons/yml_export/Tygh/Ym/Yml2.php (body): 255
app/addons/yml_export/Tygh/Ym/Yml2.php (generateOffers): 375
app/addons/yml_export/Tygh/Ym/Yml2.php (db_get_array): 716
app/functions/fn.database.php (call_user_func_array): 28
app/Tygh/Database/Connection.php (getArray): 229
app/Tygh/Database/Connection.php (query): 488

При попытке выгрузить в csv через экспорт ИД товара + все отвечающее за экспорт в yml

База данных (Ошибка)
Ошибка: Unknown column 'products.yml2_fee' in 'field list' (1054)
Запрос: SELECT products.product_id, products.product_code as "Product code", product_descriptions.lang_code as "Language", products.product_id as "Product id", products.yml2_brand as "YML Brand", products.yml2_origin_country as "YML Country of origin", products.yml2_store as "YML Allow retail store purchase", products.yml2_pickup as "YML Allow booking and self delivery", products.yml2_adult as "YML Adult", products.yml2_delivery as "YML Allow delivery", products.yml2_delivery_options as "YML Allow delivery options", products.yml2_bid as "YML Basic bid", products.yml2_cbid as "YML Card bid", products.yml2_fee as "YML Fee", products.yml2_model as "YML Model", products.yml2_sales_notes as "YML Sales notes", products.yml2_type_prefix as "YML typePrefix", products.yml2_offer_type as "YML Offer type", products.yml2_market_category as "YML Market category", products.yml2_manufacturer_warranty as "YML Manufacturer warranty", products.yml2_expiry as "YML Lifetime", products.yml2_cpa as "YML Market Ordering", products.yml2_description as "YML Description" FROM cscart_products as products LEFT JOIN cscart_product_descriptions as product_descriptions ON product_descriptions.product_id = products.product_id AND product_descriptions.lang_code IN ('ru') LEFT JOIN cscart_product_prices as product_prices ON product_prices.product_id = products.product_id AND product_prices.lower_limit = 1 AND product_prices.usergroup_id = 0 LEFT JOIN cscart_images_links as images_links ON images_links.object_id = products.product_id AND images_links.object_type = 'product' AND images_links.type = 'M' LEFT JOIN cscart_companies as companies ON companies.company_id = products.company_id LEFT JOIN cscart_seo_names as seo_names ON seo_names.object_id = products.product_id AND seo_names.type = 'p' AND seo_names.dispatch = '' AND seo_names.lang_code = product_descriptions.lang_code AND seo_names.company_id = products.company_id WHERE products.company_id = 1 LIMIT 0, 30
Отслеживание››

admin.php (fn_dispatch): 27
app/functions/fn.control.php (fn_run_controller): 456
app/functions/fn.control.php (include): 700
app/controllers/backend/exim.php (fn_export): 105
app/functions/fn.exim.php (db_get_array): 152
app/functions/fn.database.php (call_user_func_array): 28
app/Tygh/Database/Connection.php (getArray): 229
app/Tygh/Database/Connection.php (query): 488

В логах на сервере нет ни каких ошибок.

Подскажите, пожалуйста, куда лезть смотреть?

Попробуйте переустановить модуль. Судя по ошибкам, в таблице cscart_products по какой-то причине отстутствуют столбцы yml2_fee и yml2_fee

Переустанавливал. Все тоже самое.

То что столбцы отсутствуют я из ошибки понял, Как их восстановить не понятно :(

Переустанавливал. Все тоже самое.

То что столбцы отсутствуют я из ошибки понял, Как их восстановить не понятно :(

Столбцы должны добавляться при установке модуля. Напишите нам через Help Desk и предоставьте FTP доступ к установке, чтобы мы смогли изучить проблему.

У меня нет кредитов. Самому надо разбираться.

У меня нет кредитов. Самому надо разбираться.

Попробуйте добавить столбец вручную:

ALTER TABLE `cscart_products` ADD `yml2_fee` smallint(5) unsigned NOT NULL default '0';

Попробуйте добавить столбец вручную:

ALTER TABLE `cscart_products` ADD `yml2_fee` smallint(5) unsigned NOT NULL default '0';

Спасибо.

На заполненной витрине работает. Буду смотреть что будет происходить при добавление нового товара.

Точно такая же проблема. На пустой витрине создается, на витрине с товарами не создается!!!

Точно такая же проблема. На пустой витрине создается, на витрине с товарами не создается!!!

Можно добавить столбец yml2_fee в таблицу prefix_products вручную из phpmyadmin в 3 клика.

Инструкция в картинке тут https://nimbus.everhelper.me/client/notes/share/1010958/ci0o9lxehx6omvrer21b

Можно добавить столбец yml2_fee в таблицу prefix_products вручную из phpmyadmin в 3 клика.

Инструкция в картинке тут https://nimbus.everhelper.me/client/notes/share/1010958/ci0o9lxehx6omvrer21b

Пробовал, не выходит каменный цветок(((

Обратился в тех поддержку, все исправили (не знаю на сколько это будет корректно... но учитывая что работа оплачена, то наверное инфой можно поделиться)

Возможно кому-то будет полезно и поможет в решении проблемы

[spoiler] Мы тщательно изучили проблему на вашем сервере. Проблема вызвана следующей ошибкой:

Tygh\Exceptions\AException

Message
Unknown column 'p.yml2_brand' in 'field list' (1054)SELECT p.product_id, p.product_code, d.lang_code, pc.category_id, cd.category, pp.price, p.list_price, p.status, p.amount, p.weight, p.shipping_freight, p.shipping_params, p.free_shipping, d.product, d.short_description, d.full_description, p.company_id, p.tracking, p.list_price, p.is_edp, p.yml2_brand, p.yml2_origin_country, p.yml2_store, p.yml2_pickup, p.yml2_delivery, p.yml2_delivery_options, p.yml2_bid, p.yml2_cbid, p.yml2_fee, p.yml2_model, p.yml2_sales_notes, p.yml2_type_prefix, p.yml2_offer_type, p.yml2_market_category, p.yml2_manufacturer_warranty, p.yml2_expiry, p.yml2_purchase_price, p.yml2_description, p.yml2_cpa, ( SELECT GROUP_CONCAT(IF(pc2.link_type = 'M', CONCAT(pc2.category_id, 'M'), pc2.category_id)) FROM cscart_products_categories as pc2 WHERE product_id = p.product_id ) as category_ids FROM cscart_products as p LEFT JOIN cscart_product_descriptions as d ON d.product_id = p.product_id AND d.lang_code = 'ru' LEFT JOIN cscart_product_prices as pp ON pp.product_id = p.product_id AND pp.lower_limit = 1 AND pp.usergroup_id = 0 LEFT JOIN cscart_products_categories as pc ON pc.product_id = p.product_id AND pc.link_type = 'M' LEFT JOIN cscart_category_descriptions as cd ON cd.category_id = pc.category_id AND cd.lang_code = 'ru' WHERE p.product_id IN(28, 29, 32, 33, 35, 36, 37, 43, 44, 48, 50, 173, 174, 175, 176, 183, 253, 2840, 257, 2841, 259, 260, 261, 264, 2838, 267, 2839, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 294, 2824, 2827, 299, 2826, 302, 303, 304, 305, 306, 307, 308, 335, 336, 337, 338, 339, 341, 342, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 2647, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 443, 444) GROUP BY p.product_id

Error at
app/Tygh/Database/Connection.php, line: 1118

Backtrace
File:app/Tygh/Database/Connection.php
Line:488
Function:throwError

File:app/Tygh/Database/Connection.php
Line:254
Function:query

File:app/functions/fn.database.php
Line:45
Function:getHash

File:app/addons/yml_export/Tygh/Ym/Yml2.php
Line:774
Function:db_get_hash_array

File:app/addons/yml_export/Tygh/Ym/Yml2.php
Line:383
Function:generateOffers

File:app/addons/yml_export/Tygh/Ym/Yml2.php
Line:263
Function:body

File:app/addons/yml_export/controllers/frontend/yml.php
Line:59
Function:generate

File:app/functions/fn.control.php
Line:694
Function:include

File:app/functions/fn.control.php
Line:452
Function:fn_run_controller

File:index.php
Line:25
Function:fn_dispatch
По какой-то причине в таблице cscart_products вашей базы данных отсутствовало множество полей. Мы выполнили следующий SQL запрос напрямую в вашу базу данных:
ALTER TABLE `?:products`
ADD `yml2_brand` VARCHAR(96) NOT NULL,
ADD `yml2_origin_country` VARCHAR(64) NOT NULL,
ADD `yml2_store` CHAR(1) NOT NULL DEFAULT '',
ADD `yml2_pickup` CHAR(1) NOT NULL DEFAULT '',
ADD `yml2_delivery` CHAR(1) NOT NULL DEFAULT '',
ADD `yml2_adult` CHAR(1) NOT NULL DEFAULT 'N',
ADD `yml2_delivery_options` TEXT,
ADD `yml2_bid` smallint(5) unsigned NOT NULL default '0',
ADD `yml2_cbid` smallint(5) unsigned NOT NULL default '0',
ADD `yml2_fee` smallint(5) unsigned NOT NULL default '0',
ADD `yml2_model` VARCHAR(96) NOT NULL DEFAULT '',
ADD `yml2_sales_notes` VARCHAR(50) NOT NULL DEFAULT '',
ADD `yml2_type_prefix` VARCHAR(55) NOT NULL DEFAULT '',
ADD `yml2_offer_type` VARCHAR(32) NOT NULL DEFAULT '',
ADD `yml2_market_category` VARCHAR(255) NOT NULL DEFAULT '',
ADD `yml2_manufacturer_warranty` CHAR(1) NOT NULL DEFAULT '',
ADD `yml2_expiry` VARCHAR(20) NOT NULL DEFAULT '',
ADD `yml2_purchase_price` int(11) NOT NULL DEFAULT '0',
ADD `yml2_description` TEXT,
ADD `yml2_cpa` CHAR(1) NOT NULL DEFAULT 'Y';
и теперь прайс-листы создаются корректно. [/spoiler]

Коллеги, на днях яндекс начал ругаться на формируемый как обычно yml файл.

[quote] Не найдено описание для элемента “yml_catalog”. Возможно неверно указан корневой элемент.
Строка: 3 Позиция: 38
Подробнее
cvc-elt.1.a: Cannot find the declaration of element ‘yml_catalog’.
[/quote]
Соответственно файл игнорируется яндексом.
В интернетах ошибка встречалась довольно давно, но решения найти мне не удалось. В чём может быть проблема?

У вас похоже вообще отвалилась генерация YML, ругается на корневой элемент. Посмотрите структуру YML файла вашего.

1 лайк

Вот сам файл https://bashel.pro/yml_get/1vp8n2th84s
К сожалению, не хватает знаний, куда смотреть в структуре?

Да - файл корректный. Тогда вторая возможная причина, фид валидируются по другому формату, надо у поддержки уточнить. Как будто вас отнесли в другую категорию - на маркет, а недвижимость например.

Дело в том, что мы на маркете и не представлены. Этот файл используется для поиска по магазину. Обновляем раз в день. И ни с того ни с сего…

Судя по тексту, ругается на категорию с одинаковым именем у одного родителя

http://prntscr.com/las59p

1 лайк

Спасибо! И такая категория не одна… С чем может быть связано? Я попробую отключит эти категории, но это не лучшее решения, в них не будет работать поиск…
В другом файле, в котором товары только в наличии, такой ошибки нет.

Попробуйте уточнить у поддержки Яндекса, они обычно оперативно отвечают

Они ответили вот что:

> Сейчас ошибка есть.
> Categories should be uniq at “3051:59”.
> У списке категорий найдены ID, которые повторяются:
> Ванны паяльные
> Регистраторы
_> Давайте поправим это и подождем сутки. Если после этого проблема будет актуальной - пожалуйста, приведите несколько примеров.

Предполагаю, что из этого ответа следует, что надо ошибку в файле исправить сначала. Действительно ведь косячно формируется.

p.s. ТП запросила за разбор 10-20 кредитов, посмотрим чем закончится.

Похоже, что не файл некорректно формируется, у вас страуктура каталога некорректная. Например, в категории Паяльное оборудование и комплектующие (id=2930) есть две подкатегории с одним именем:

  • Ванны паяльные (id=1)
  • Ванны паяльные (id=5)
1 лайк