Karlione Karl, вы неправильно запрос делаете. У Битрикса нет bearer авторизации, у них ключ отправляется в auth-параметре (но для этого нужно быть авторизированным, т.е. уже получить этот ключ), либо использовать веб-хуки
Он верно сказал, не для crm не требуется, но это не значит что никакие другие подсистемы битрикса не используют кеш (например живая лента и т.п.). Я бы даже сказал так: хорошо если кеширование будет в redis, но лучше когда в redis будет сессия пользователя.
1) Произвели ли вы установку самого битрикса? Без нее папка bitrix хоть и будет существовать, но она не будет полной. 2) Ознакомились ли вы с разделом bitrix framework по созданию модуля? https://dev.
Дмитрий Васильев, "дохождение писем до адресата" лежит вне зоны ответственности битрикса. Битрикс использует стандартную функцию mail и передает отправляемое письмо в postfix. В случае если postfix его принимает, то отправкой занимается именно он, соответственно его логи и нужно смотреть.
В битриксе можно проверить какой ответ дал postfix (не в плане вывода, а принял/непринял) - зайти в таблицу b_event и если там в поле SUCCESS_EXEC стоят Y - значит успешно передал. Если N - еще не обработали, если F - postifx отказался принять и если 0 - отменено обработчиками.
Nikolay Filippov, Все реже и реже трогаю БУС, но по большому счету всегда есть только 2 узких места: Умный фильтр 2.0 и sale.order.ajax. Поддерживаю мнение Дениса - пустых шаблонов очень не хватает.
Частично используем vue, коллеги по цеху react+webpack.
Александр написал: Но столкнулись с тем, что в нашей виртуалке отсутствет Bitrix\Main\Application
1) Вы развернули чистую коробку или установили демо битрикс24? Просто по-умолчанию при развороте даже образа bitrix env, у вас только инсталлер, без классов, они скачиваются в процессе установки
2) Где искали \Bitrix\Main\Application? Как именно поняли что его нет? Какой код и где писали?
3) Для создания своей сущности в CRM не нужен Main\Application
Собственно ранее битрикс позволял это сделать, сейчас не позволяет. Нужно чуть-чуть почитать про php и ошибка легко правится даже силами начинающего специалиста.
P.S. Я не думаю что специалисты Фьюжн так будут игнорировать клиентов на поддержке или откажут в разовых работах, если только вы не хотите сэкономить и сделать все бесплатно в рамках форума
Андрей Ланкевич написал: 1. Хочу видеть список по всем клиентам с датой последней "завершенной" сделки, плюс графу "комментарий" или т.п. Данный отчет необходим для понимания того кто из клиентов "ушел", комментарий - где можно видеть краткое описание причины (банкрот, ушел к конкуренту, нет потребности и т.д.)
В компанию добавляется 2 доп.поля: 1) Последняя завершенная сделка 2) Статус (Активная, Действующая) 3) Комментарий
Пишется БП для сделки на успешной стадии - обновить дату в компании. Раз в Н время менеджеры проставляют статусы компании, а руководитель в списке компаний может фильтровать по статусам и сделкам.
Нужен тариф с БП.
Цитата
Андрей Ланкевич написал: 2. Хочу видеть за определенный период сумму сделок на стадии "в обработке" или "провалена".
Вроде как, стандартный конструктор отчетов позволяет это сделать
Дело в том, что крон-скрипты работают с минимальным интервалом 1 минуту, а скрипт проверяет фактическое нахождение не отправленных писем в очереди. Т.е если сейчас 01 секунда и было добавлено 3 письма, то запуск скрипта до 59 секунды включительно покажет вам 3 не отправленных письма.
Главное чтобы это количество не начало расти без нагрузки(!), т.е. сегодня 3, завтра 6, после завтра 15. Серьезной ошибкой будет, если без увеличения числа заказов у вас это число станет 150 и выше.
Хочется начать с вопроса: почему выполняются прямые запросы в базу для таблиц битрикса? Да и ладно, что удаляет не через api, но кто в таком случае удалит привязку пользователей к группе? А фичи? А почты? А права? А кеш? Хочется рассказать автору, что есть CSocNetGroup::Delete( $groupId ) который это сделает за него.
Продолжить хочется более интересным вопросом: а зачем в запросе с первичным ключем LIMIT? ID это и так primary поле которое однозначно идентифицирует запись и двух записей с одним ID быть не может. Limit там совершенно бесполезен (но да ладно, анализатор запросов умный и сам уберет).
Но черт возьми, совершенно не проверяется существование этого самого $groupId и его валидация. Проверяется заполненность какого-то ненужного $var, а вот $groupId нет. И ладно бы если выше еще проверили что это хотя бы int, а то там и sql injection пропустить можно
Как вариант - сделать свое активити и определить внутри него эту логику. Можно конечно сделать отдельный список и писать ID элемента списка в сделку-родителя из которой создаются другие сделки, тогда это поле по идее будет тянуться во все сделки, но костыльный вариант.
Александр Назаров написал: М.б. кто сталкивался и подскажет как можно это значение вытащить в битриксе, нужно узнать кто уже ознакомился с заданием.
Вы знаете шаблон, в котором нужно выполнять уведомление (вы ведь его сами создали), далее через CBPAllTaskService::GetList() с фильтрами по USER_STATUS = 0 (см в константах нужные значения) и другими фильтрами получаете те задания по которым нужно слать уведомления. Можно конечно при установке задания пользователю записывать отдельно в свою таблицу, но это такое себе решение.
Кстати оно лучше чем решение выше - вы точно знаете кому уже выданы задания, кто утвердил, кто отклонил и без всякой магии
dima viktorov написал: Но если я пытаюсь в этой функции начать использовать какое-то апи, то вылетают ошибки
Скорее всего вы пытаетесь использовать API который требует аутентификации в агентах на cron. В консольных скриптах нет пользователя, соответственно вам нужно либо выключать авторизацию (зависит от метода), либо авторизовать пользователя, либо использовать другие варианты.