Не получили ни одного ответа, но судя по количеству просмотров, тема актуальная. Поэтому рассказываю, как мы с этим справились. Мы не поняли, как это работает, но выяснили, что при установке цен в 1С нужно еще указывать дату, когда эта цена была принята. Тогда все нормально, цены обновляются.
Еще раз - не понятно, как это работает, потому что в файле выгрузки ничего про дату нет
Добрый день! Есть проблема. Настраиваем обмен с 1С УНФ (Управление нашей фирмой). При импорте товаров из 1С не обновляются цены. В 1С УНФ все работает не так, как в 1С УТ. Во-первых, там свой встроенный модуль обмена. Во-вторых, в 1С УТ прописываются типовые соглашения. В 1С УНФ этого нет. Цены выбираются при настройке обмена. В результате получается такая картина. Если новый товар, то цена импортируется. Если в 1С цена изменилась, то измененная цена не импортируется. Ни при полной выгрузке, ни при выгрузке только изменений.
При этом в файле обмена цены приходят правильные, но на сайте они почему-то не обновляются! Значит, ошибку надо искать на сайте, я так понимаю.
На сайте в настройках интеграции с 1С установили: Тегированный кеш инфоблока: сбрасывать после каждой операции Использовать контрольные суммы элементов для оптимизации обновления каталога: не использовать.
У нас 2 типа цен. Лицензия Бизнес, несколько типов цен поддерживается. Подскажите, какие еще настройки надо сделать на сайте или в 1С?
Работаем на чистом битриксе, без Аспро, и без других решений. Решаю задачу, которую уже описывала в предыдущем посте https://dev.1c-bitrix.ru/community/forums/forum6/topic161038/ Там она решилась, прошу прощения "через задний проход". Пришлось писать обработчик. Но мне все-таки кажется, что должно быть прямое решение. Все-таки задача то тривиальная. Может, я просто чего-то не знаю.
Вот так пытались настроить каталог:
Если ставим в настройках Недоступные товара - Отображать в общем списке Недоступные торговые предложения - Отображать все
То картинка получается такая:
Если ставим в настройках Недоступные товара - Отображать в общем списке Недоступные торговые предложения - Не отображать
То картинка такая:
Если ставим в настройках Недоступные товара - Не отображать Недоступные торговые предложения - Не отображать
То список пустой:
То есть, не отображаются все товары, даже те, у которых есть доступные торговые предложения
А нам нужно, чтобы отображались товары, у которые есть доступные торговые предложения, и в них отображались только доступные торговые предложения. А товары, у которых нет доступных торговых предложений, не отображались.
Цитата
написал: А в ядре на доступность влияют еще настройки количественного учета в торговых предложениях.
Где делаются настройки количественного учета в торговых предложениях?
Подскажите, пожалуйста, как решить такую проблему. Есть товары с торговыми предложениями. У торговых предложений есть остатки. При этом у самого товара остаток 0. Но это же неправильно. При этом исправить остаток товар вручную не удается, поле неактивно. Получается, что товар с нулевым остатком недоступен, вне зависимости от того, есть у него торговые предложения или нет, и есть ли у этих торговых предложений остатки или нет. Что делать? Как задать правильный остаток товара?
А перестает работать ваш вариант с умным фильтром из-за того что вы его переопределяете global $arrFilter; $arrFilter = array(); такой вариант удаляет все что попало в $arrFilter после применения умного фильтра и назначает свое, в моем варианте, вы просто дописываете в него дополнительные данные
Если вы это используете в комплексном компоненте, то тогда перед ним пропишите этот код, изменив arrFilter на что-то другое, например arrPreFilter а в сам компонент bitrix:catalog.smart.filter передавайте еще один параметр "PREFILTER_NAME"=>"arrPreFilter",
Это попробовала. Нужные товары вывелись, но фильтр совсем очистился. Похоже, он принимает товары, которые пришли после arrPreFilter, но CATALOG_AVAILABLE для него означает, что у товара должен быть остаток, а не у торговых предложений.
Цитата
написал: Сделать у головных товаров свойство (0/1). На обработчиках событий писать в него - есть торговые предложения ненулевые или нет. Фильтровать по нему. Свой фильтр передавать в префильтр компонента smart.filter (параметр описан в документации на компонент).
Добрый день! Есть задача - в списке товаров не выводить товары, у которых нет картинок и у которых все торговые предложения имеют нулевые остатки. Сначала перечислю, что нашли в сети и попробовали 1. В настройках каталога установить: Недоступные товары - Не отображать Недоступные торговые предожения - Не отображать.
Не работает. Если устанавливаю Недоступные товары - Не отображать, то пропадают все товары, т.к. у самих товаров остаток 0, остатки есть только у торговых предожений. Если устанавливаю Недоступные товары - отображать в общем списке Недоступные торговые предложения - Не отображать, то товары, у которых все торговые предложения недоступны, все равно отображаются, но с надписью Нет в наличии. Такой вариант не устраивает. Если устанавливаю Недоступные торговые предожения - отображать, то товары, у которых все торговые предложения недоступны, все равно отображаются, но все торговые предложения у них зачеркнуты. Такой вариант тоже не устраивает.
2. Сделать фильр: global $arrFilter; $arrFilter = array( "ACTIVE" => "Y", "SECTION_ACTIVE" => "Y", "SECTION_GLOBAL_ACTIVE" => "Y", "CATALOG_AVAILABLE" => "Y", array( "LOGIC" => "OR", "!DETAIL_PICTURE" => false, "!PREVIEW_PICTURE" => false ) ); Сдалали. Работает. Но тогда перестает работать Умный фильтр.
3. Мозговым штурмом придумали вариант вообще пересобрать $arResult в result_modifier.php Но это уже вообще жесть какая-то.
Проблема усложняется тем, что товары продаются и появляются новые, остатки все время меняются, у новых товаров не всегда есть фотографии, поэтому все это делать надо динамически.
Подскажите, может кто-то знает простое решение этой проблемы?
Есть сайт, количество товаров более 100тыс. Требуется программист, имеющий опыт работы с высоконагруженными системами для оптимизации и ускорения работы сайта.
Добрый день! Несколько лет назад эта тема уже создавалась. Но она по-прежнему актуальна, и по-прежнему нет решения. Проблема следующая: При импорте из 1С не создаются новые разделы на сайте. Настроено дерево обмена. В дереве обмена вручную прописаны новые разделы. В файле импорта они есть. Но на сайте они не создаются. Лицензия Малый бизнес. Тип цен один, передается верно. Складской учет отключен. Количественный учет включен, остатки передаются правильно. В настройках инфоблока пробовали все различные вариации настроек полей раздела. Ничего не помогает. В результате, если раздел прописан в 1С в дереве обмена и создан на сайте (вручную), то товары выгружаются правильно. Если в 1С прописан, а на сайте не создан, то автоматически новый раздел не создается, и товары попадают в корень каталога. Подскажите, пожалуйста, как это исправить?
Ура! Агент отработал после того как в init.php добавила
Код
CAgent::AddAgent(
"testAgent();", // имя функции
"", // идентификатор модуля
"Y", // агент не критичен к кол-ву запусков
60, // интервал запуска - 1 минута
"15.04.2021 21:30:00", // дата первой проверки на запуск
"Y", // агент активен
"15.04.2021 21:30:00", // дата первого запуска
30);
Вернее, тот агент, который создавался через форму, так и не отработал ни разу. А создался новый агент, который отработал. Но только один раз! Как заставить его работать периодически?
Цитата
Илья Воеводин написал: Если письмо не пришло возможно что ваш почтовый сервер не принимает письма с непонятных адресов или отсылает их в спам.Попробуйте сделать более правильный тест, например пусть агент пишет лог файли да, если вы все сделали как в уроке то агент должен отработать. поставьте ему периодичность и посмотрите меняется ли время следующего запуска и активность, если меняется время и агент остается активным то все работает!
Письмо пришло. Но только один раз.
Время следующего запуска не меняется. И время последнего запуска не меняется тоже.
Добрый день! Несколько дней пытаюсь создать агента. Руководствуюсь вот этим уроком: https://dev.1c-bitrix.ru/learning/course/?COURSE_ID=43&LESSON_ID=2290&LESSON_PATH=39... Здесь подробно описано, как создать агента, который будет отправлять письма. И в конце стоит фраза: Если письмо пришло, то агент работает и можно писать свой функционал. Но нигде не написано, что делать если письмо не пришло, и агент не работает. У кого-нибудь есть опыт создания агентов? Что нужно еще сделать, чтобы агент запускался периодически? Или чтобы вообще хоть как-нибудь запускался...
Добрый день! Столкнулись с такой проблемой. У нас на сайте комплексный компонент каталог размещается в корне сайта. Все пути настроили от корня, все работает. Но оказалось, что не работает компонент bitrix:breadcrumb. Для страниц, которые не относятся к каталогу хлебные крошки выстраиваются нормально. Для самого каталога - их просто нет. Кто-нибудь сталкивался с подобной проблемой? Подскажите, что можно сделать в этом случае?
AddEventHandler("main", "OnAfterUserRegister", Array("ClassAfterRegister", "OnAfterUserRegisterHandler"));
class ClassAfterRegister
{
public static function OnAfterUserRegisterHandler(&$arFields)
{
if(SITE_ID=="s1")
{
// добавляем его в группу с id=7
$arFields["GROUP_ID"][] = 7;
}
elseif(SITE_ID=="s2")
{
// добавляем его в группу с id=8
$arFields["GROUP_ID"][] = 8;
}
}
}
Добрый день! У меня не срабатывает обработчик OnAfterUserRegister Вставляю в init.php такой код:
Код
AddEventHandler("main", "OnAfterUserRegister", Array("ClassAfterRegister", "OnAfterUserRegisterHandler"));class ClassAfterRegister
{
function OnAfterUserRegisterHandler(&$arFields)
{
if(SITE_ID=="s1")
{
// добавляем его в группу с id=7
$arFields["GROUP_ID"][] = 7;
}
elseif(SITE_ID=="s2")
{
// добавляем его в группу с id=8
$arFields["GROUP_ID"][] = 8;
}
}
}
Функция не работает. Любая другая функция также не работает. Сам init.php работает, т.е. если поставить команду без обработчика, она срабатывает. Не работает только обработчик. Скажите, пожалуйста, в чем ошибка?
Проблема не ушла. Более того, похоже, усугубилась. Теперь в магазине ни зарегистрироваться невозможно, ни совершить покупку незарегистрированному пользоветелю. Короче, битрикс умер! Скажите, у кого работает, до какой версии битрикса можно откатиться, чтобы магазин заработал?