serik, скорее всего вы пытаетесь решить проблему видимых полей, когда в зависимости от определенных условий пользователь должен видеть определенные поля в карточке. Подход интересный и теоретически имеет место быть, однако на практике думаю что он не подойдет, ввиду того что в карточке для ускорения может применяться не редирект, а дозагрузка данных, в таком случае пресет будет игнорироваться до следующего открытия окна.
Возможно ваш способ и сработает, а если нет - всегда можно использовать перезагрузку в iframe на push'n'pull событии
serik, как происходит создание сделки?
- Пользователю открывает интерфейс создания сделки
- Вводит необходимые данные и нажимает кнопку сохранить
- При успешном сохранении пользователя редиректит на карточку созданной сделки
Когда наступает момент обработки событий?
Действия возникают на обработчике который получает ajax запрос и они возникают непосредственно ДО изменений в базе данных и ПОСЛЕ изменений в базе данных.
Таким образом оба события возникают в фоновом от пользователя режиме.
Получается что они никак не могут повлиять на карточку, потому что они происходят не в карточке сделки.
glazsss, не совсем верно трактуете, но смысл верный.
"Костыль" код который делает то что нужно, когда ожидаемое поведение и реальное не соответствуют друг другу. В стандартном модуле не ставили целью синхронизировать вообще все справочники и обмениваться ими.
Я правильно понимаю: у вас есть сайт test.ru, который расположен на купленном сервере, есть облачный битрикс24 test.bitrix24.ru и одна почта для test.ru на яндексе?
В одном запросе получить сразу весь список нельзя.
Можно по 50 записей получать сколько угодно (пока не упретесь в лимит запросов)
Я бы рекомендовал использовать неофициальную библиотеку mesilov/bitrix24-php-sdk которая позволяет выгружать большие и делает это существенно быстрее чем вы бы написали свой сборщик.
Kristina8787, можете прислать демку приложения, которое вы подключаете к Б24 достаточную чтобы смоделировать проблему? У меня проблема не смоделировалась.
Что я сделал?
1) Создал index.php файлик с локальным приложением, взял дефолтный bootstrap5 с шаблоном article (из коробки который).
2) Отредактировал шаблон добавил jquery
3) Зарегистрировал приложение в Б24
4) Открыл приложение, долистал до конца страницы.
5) Открыл браузерную консоль, переключил контекст на содержимое фрейма, выполнил ваш фрагмент кода.
Конкретного фрагмента кода не приведу, однако порекомендую воспользоваться CIblockElement::getList вместе с фильтрацией по цене. И Сравнивать не по параметру НЕ задано, а по параметру Меньше или равно 0
Отдельные бандлы для отдельных компонентов тебе все равно генерировать. @bitrix/cli решает эту проблему очень своеобразно - он может сломать компоненты внутри если хотя бы один компонент не будет содержать конфигурации. На практике всегда найдется парочка компонентов с куском js без конфигурации. Это очень опасное применение.
Насчет бандлов, тебе скорее нужно почитать про chunk'еры и уже реализовать там свой (стандартные насколько я знаю под битру не подходят).
И @bitrix/cli не сильно то и облегчает работу с Vue (и надстройкой BX.Vue), а вдобавок к этому в @bitrix/cli нет возможности использовать .vue (single file component).