В магазин для товара загружаются все характеристики, которые заданы для него в файле выгрузки. Уточните версию cs-cart и 1С с которой вы выполняете обмен. Также предоставьте файлы выгрузки.
[quote name=‘uzaharova’ timestamp=‘1437639361’ post=‘224046’]
Здравствуйте!
При обмене с 1С для всех характеристик, кроме указанной в настройках модуля “Экспорт и импорт в 1С” в поле “[color=#333333]Название свойства для бренда[/color]”, тип изменятся на “текст”, так как обмен подразумевает обновление данных. Если вы не хотите чтобы тип изменялся, то вам необходимо вставить в файле func.php в функции fn_exim_1c_import_features проверку:
if (!empty($id)) {
$feature_type = db_get_field(“SELECT feature_type FROM ?:product_features WHERE external_id = ?s”, strval($_feature -> $cml[‘id’]));
$feature_data[‘feature_type’] = $feature_type;
}
[/quote]
Столкнулись с проблемой. Все характеристики, в том числе и числовые, переводятся в “текст” по этому не правильно работает фильтр. Это решение нашей проблемы? Может стоит добавить такой функционал в cs-cart в виде галочки? Чтобы он брал типы данных из выгрузки?
[quote name=‘Вавилов Андрей’ timestamp=‘1438706173’ post=‘225595’]
Столкнулись с проблемой. Все характеристики, в том числе и числовые, переводятся в “текст” по этому не правильно работает фильтр. Это решение нашей проблемы? Может стоит добавить такой функционал в cs-cart в виде галочки? Чтобы он брал типы данных из выгрузки?
[/quote]
Вы можете мне на почту dbazhenov@cs-cart.ru прислать файлы выгрузки (import.xml и offer.xml) , чтобы я мог протестировать на своём компе?
[quote name='dbazhenov' timestamp='1438767038' post='225695']
Вы можете мне на почту dbazhenov@cs-cart.ru прислать файлы выгрузки (import.xml и offer.xml) , чтобы я мог протестировать на своём компе?
[/quote]
Отправил.
[quote name='infolin2bru' timestamp='1438772620' post='225721']
Отправил.
[/quote]
Привет, посмотрел по коду, действительно Число не обрабатывается, всем выставляется Текст.
К сожалению, сейчас ответственный разработчик в отпуске и я не могу спросить почему так, однако поставлю задачу и узнаю обязательно, если ограничений нет, то добавим в новую версию.
Сейчас можно сделать следующее:
- Открыть файл:
/app/addons/rus_exim_1c/schemas/cml_fields/fields_names.php
и добавить в массив строку (по аналогии):
'property_type' => 'ТипЗначений', // Тип свойства
Получится так:
<br />
'property' => 'Свойство',<br />
'properties' => 'Свойства',<br />
'property_type' => 'ТипЗначений', // dbazhenov<br />
'taxes_rates' => 'СтавкиНалогов',
2. Открыть файл:
/app/addons/rus_exim_1c/func.php
Найти строку (примерно 620 строка):
$feature_data = fn_exim_1c_get_feature
После неё вставить следующий код:
<br />
// Тип свойства Число<br />
if (strval($_feature -> $cml['property_type']) == 'Число') {<br />
$feature_data['feature_type'] = 'N';<br />
}
Получится так:
<br />
$feature_data = fn_exim_1c_get_feature(strval($_feature -> $cml['name']), $feature_id, strval($_feature -> $cml['id']), $company_id, $settings_1c);<br />
<br />
// dbazhenov<br />
if (strval($_feature -> $cml['property_type']) == 'Число') {<br />
$feature_data['feature_type'] = 'N';<br />
}
[quote name=‘dbazhenov’ timestamp=‘1438780145’ post=‘225740’]
Привет, посмотрел по коду, действительно Число не обрабатывается, всем выставляется Текст.
…
[/quote]
Нашли баг в этом решении. Тип он подставляет правильно. Но в карточке товара почему-то пусто. Хотя в характеристиках товара число стоит. Если зайти в нашу тестовую характеристику и нажать сохранить, то всё отображается правильно. Пример в скринах. Тестовая характиристика “вес_число”.
Скрины
[quote name=‘infolin2bru’ timestamp=‘1439815492’ post=‘226968’]
Нашли баг в этом решении. Тип он подставляет правильно. Но в карточке товара почему-то пусто. Хотя в характеристиках товара число стоит. Если зайти в нашу тестовую характеристику и нажать сохранить, то всё отображается правильно. Пример в скринах. Тестовая характиристика “вес_число”.
Скрины
[/quote]
Бывает, в новой версии должны уже в модуль включить правильное решение.
[quote name='dbazhenov' timestamp='1439815669' post='226970']
Бывает, в новой версии должны уже в модуль включить правильное решение.
[/quote]
Где её взять?
[quote name='infolin2bru' timestamp='1439815763' post='226971']
Где её взять?
[/quote]
Не вышла еще, через недельку где то.
[quote name='dbazhenov' timestamp='1439816337' post='226975']
Не вышла еще, через недельку где то.
[/quote]
Альфа версию на почту не отправите?
[quote name='infolin2bru' timestamp='1439816861' post='226976']
Альфа версию на почту не отправите?
[/quote]
Неа, работы много, я думаю без этого можно прожить и даже магазин запустить.
[quote name='uzaharova' timestamp='1437990973' post='224449']
В магазин для товара загружаются все характеристики, которые заданы для него в файле выгрузки. Уточните версию cs-cart и 1С с которой вы выполняете обмен. Также предоставьте файлы выгрузки.
[/quote]
[size=4][font=Arial, sans-serif]CS-Cart 4.3.3 кажется, в общем с последним обновлением.[/font][/size][font=Arial, sans-serif][size=1][/size][/font]
[size=4][font=Arial, sans-serif]1С 8.2 управление торговлей, версия 10.3[/font][/size]
[font=Arial, sans-serif]Файлы по ссылке:[/font]
[font=Arial, sans-serif][size=1][/size][/font]https://drive.google.com/open?id=0BzlcvyW-rwxbfnRRamFTaDRhS00xWlQwd2lxTlJwREdraldteU9fc18tWE5TSjYtU0xaSEE
Спасибо!
Проблема с пустыми характеристиками была исправлена, выйдет в новой версии.
Вы можете в файле app/addons/rus_exim_1c/func.php в функцию fn_exim_1c_import_product_features изменить строку:
if ((!isset($features_1c[strval($_feature -> $cml['id'])]))) {
на
if ((!isset($features_1c[strval($_feature -> $cml['id'])])) || empty($_feature -> $cml['value'])) {
[quote name='uzaharova' timestamp='1439905605' post='227098'] Проблема с пустыми характеристиками была исправлена, выйдет в новой версии. Вы можете в файле app/addons/rus_exim_1c/func.php в функцию fn_exim_1c_import_product_features изменить строку: if ((!isset($features_1c[strval($_feature -> $cml['id'])]))) { на if ((!isset($features_1c[strval($_feature -> $cml['id'])])) || empty($_feature -> $cml['value'])) { [/quote]
Спасибо большое! После изменения строки, и повторной загрузки товаров, все работает корректно.
Проблема с пустыми характеристиками была исправлена, выйдет в новой версии.
Вы можете в файле app/addons/rus_exim_1c/func.php в функцию fn_exim_1c_import_product_features изменить строку:
if ((!isset($features_1c[strval($_feature -> $cml['id'])]))) {
на
if ((!isset($features_1c[strval($_feature -> $cml['id'])])) || empty($_feature -> $cml['value'])) {
такая же конфигурация, такая же проблема, замена строки ничего не решила. Есть какие-нибудь еще решения?
Напишите в службу поддержки с пометкой "для Юлии Захаровой".
Проблема с пустыми характеристиками была исправлена, выйдет в новой версии.
Вы можете в файле app/addons/rus_exim_1c/func.php в функцию fn_exim_1c_import_product_features изменить строку:
if ((!isset($features_1c[strval($_feature -> $cml['id'])]))) {
на
if ((!isset($features_1c[strval($_feature -> $cml['id'])])) || empty($_feature -> $cml['value'])) {
Как я писал все работает, но продолжив работу столкнулись с другой проблемой:
Характеристики выгружаются как текст, но для того чтобы фильтр по габаритам был удобным, мы заменяем тип с текста на число.
При этом во всех характеристиках все в порядке, а первые 2 перестают отображать тот вариант который есть, вместо него 0. В админке все выглядит так как-будто все в порядке. Я понимаю что проблема локальная, а значит и решение локальное, но мало ли, уже встречалось что-то подобное и есть готовое решение?
Принтскрины ниже, спасибо!
Напишите в службу поддержки с пометкой "для Юлии Захаровой".
Добрый день.
Столкнулись с такой проблемой. При создании опций в магазине - , в карточке товара выбор опций работает.
а если загрузка опций из 1С - все отображается, но при выборе опций - аякс пытается загрузить - но зависает и прелоадер бесконечно вращается.
Напишите о данной проблеме в службу поддержки.