Да, если оставить только один склад, и поставить его внешний код, то остатки на этот склад выгружаются. Но нам то нужно все остатки, суммарно. У нас складской учет вообще отключен.
Добрый день! Подскажите, пожалуйста, почему могут не выгружаться остатки. У нас редакция Малый бизнес, поэтому остатки по складам не выгружаем. Если поставить "Выгружать остатки по складам", то остатки в файл выгружаются, но на сайт не попадают. Если снять галочку "Выгружать остатки по складам", оставить только "Выгружать остатки", то остатки вообще не выгружаются, даже не формируются файлы rest.xml Что еще нужно сделать, чтобы остатки выгружались?
Не получили ни одного ответа, но судя по количеству просмотров, тема актуальная. Поэтому рассказываю, как мы с этим справились. Мы не поняли, как это работает, но выяснили, что при установке цен в 1С нужно еще указывать дату, когда эта цена была принята. Тогда все нормально, цены обновляются.
Еще раз - не понятно, как это работает, потому что в файле выгрузки ничего про дату нет
Добрый день! Есть проблема. Настраиваем обмен с 1С УНФ (Управление нашей фирмой). При импорте товаров из 1С не обновляются цены. В 1С УНФ все работает не так, как в 1С УТ. Во-первых, там свой встроенный модуль обмена. Во-вторых, в 1С УТ прописываются типовые соглашения. В 1С УНФ этого нет. Цены выбираются при настройке обмена. В результате получается такая картина. Если новый товар, то цена импортируется. Если в 1С цена изменилась, то измененная цена не импортируется. Ни при полной выгрузке, ни при выгрузке только изменений.
При этом в файле обмена цены приходят правильные, но на сайте они почему-то не обновляются! Значит, ошибку надо искать на сайте, я так понимаю.
На сайте в настройках интеграции с 1С установили: Тегированный кеш инфоблока: сбрасывать после каждой операции Использовать контрольные суммы элементов для оптимизации обновления каталога: не использовать.
У нас 2 типа цен. Лицензия Бизнес, несколько типов цен поддерживается. Подскажите, какие еще настройки надо сделать на сайте или в 1С?
Работаем на чистом битриксе, без Аспро, и без других решений. Решаю задачу, которую уже описывала в предыдущем посте Там она решилась, прошу прощения "через задний проход". Пришлось писать обработчик. Но мне все-таки кажется, что должно быть прямое решение. Все-таки задача то тривиальная. Может, я просто чего-то не знаю.
Вот так пытались настроить каталог:
Если ставим в настройках Недоступные товара - Отображать в общем списке Недоступные торговые предложения - Отображать все
То картинка получается такая:
Если ставим в настройках Недоступные товара - Отображать в общем списке Недоступные торговые предложения - Не отображать
То картинка такая:
Если ставим в настройках Недоступные товара - Не отображать Недоступные торговые предложения - Не отображать
То список пустой:
То есть, не отображаются все товары, даже те, у которых есть доступные торговые предложения
А нам нужно, чтобы отображались товары, у которые есть доступные торговые предложения, и в них отображались только доступные торговые предложения. А товары, у которых нет доступных торговых предложений, не отображались.
Цитата
написал: А в ядре на доступность влияют еще настройки количественного учета в торговых предложениях.
Где делаются настройки количественного учета в торговых предложениях?
Подскажите, пожалуйста, как решить такую проблему. Есть товары с торговыми предложениями. У торговых предложений есть остатки. При этом у самого товара остаток 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тыс. Требуется программист, имеющий опыт работы с высоконагруженными системами для оптимизации и ускорения работы сайта.
Ольга Стафиевская
Нужно настроить сценарий рассылки писем в Битрикс24
Добрый день! Несколько лет назад эта тема уже создавалась. Но она по-прежнему актуальна, и по-прежнему нет решения. Проблема следующая: При импорте из 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);
Вернее, тот агент, который создавался через форму, так и не отработал ни разу. А создался новый агент, который отработал. Но только один раз! Как заставить его работать периодически?
Цитата
Илья Воеводин написал: Если письмо не пришло возможно что ваш почтовый сервер не принимает письма с непонятных адресов или отсылает их в спам.Попробуйте сделать более правильный тест, например пусть агент пишет лог файли да, если вы все сделали как в уроке то агент должен отработать. поставьте ему периодичность и посмотрите меняется ли время следующего запуска и активность, если меняется время и агент остается активным то все работает!
Письмо пришло. Но только один раз.
Время следующего запуска не меняется. И время последнего запуска не меняется тоже.
Добрый день! Несколько дней пытаюсь создать агента. Руководствуюсь вот этим уроком: Здесь подробно описано, как создать агента, который будет отправлять письма. И в конце стоит фраза: Если письмо пришло, то агент работает и можно писать свой функционал. Но нигде не написано, что делать если письмо не пришло, и агент не работает. У кого-нибудь есть опыт создания агентов? Что нужно еще сделать, чтобы агент запускался периодически? Или чтобы вообще хоть как-нибудь запускался...
Добрый день! Столкнулись с такой проблемой. У нас на сайте комплексный компонент каталог размещается в корне сайта. Все пути настроили от корня, все работает. Но оказалось, что не работает компонент 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 работает, т.е. если поставить команду без обработчика, она срабатывает. Не работает только обработчик. Скажите, пожалуйста, в чем ошибка?