Добрый день всем. Не понимаю в чем причина, при загрузке файлов в инфоблок из админки ошибка некорректный ответ сервера, возвращает при этом форму авторизации (скрин). Сессии куки работают нормально, я авторизован в админке. В логах апача пусто. Поставил дебаг в .srttings.php , в консоли ошибка message undefined: SITE_ID (скрин) Знаю что такое SITE_ID, в настройках - сайты единственный сайт, все пути прописаны верно, все норм. Проверка сайта выдает только по опкэшу ошибку opcache.revalidate_freq, которая не влияет на описанное. Что не так опять с битриксом? На этом же севрере еще проекты на других системах - все без ошибок. БУС 17.5.10
eric, через произвольный php код (если это коробка). Вот здесь описывал получение истории сущности. ID сделки есть, соотв получайте последнее изменение статуса (стадии) и обновляйте сделку.
Егор Мантусов написал: Через Api можно всё. \Bitrix\Crm\ActivityTable::getList(). Например.
А это точно то. что нужно? Попробуйте через этот метод ActivityTable::getList получить историю изменения ответственного у сделки и напишите сюда запрос. У меня не получилось.
Для этой истории есть класс в socialnetwork. CSocNetLogEvents(). Или свой orm класс сделать для b_sonet_log. Если в новых версиях битрикс24 его ещё нет
Не понимаю зачем придумывать велосипед со своим классом, я выше написал про класс CCrmEvent и его метод GetList , который получает изменения, записанные во вкладке "история" в сделке или лиде (то что и требовалось автору).
По поводу класса CSocNetLogEvents. Класс находится тут /bitrix/modules/socialnetwork/classes/<бд>/log_events.php. Коробка, последняя на текущий момент версия. Помимо методов добавления, апдейта и удаления, определены еще метод GetList, который лезет в таблицу b_sonet_log_events, и конкретно у меня ничего не возвращает, т.к. таблица пустая, и метод GetUserLogEvents , который получает события действительно, но в разрезе пользователя, причем если не указать вторым параметром массив array('ALL' => 'Y'), то тоже ничего не вернет, т.к. идет INNER JOIN запрос в ту самую пустую базу b_sonet_log_events. Плюсом не возвращает предыдущее значение, перед изменением и новое значение. Возвращает примерно следующее:
CCrmEvent и метод GetList возвращает все что нужно (1500 лидов на одном из проектов по ошибке выставили ответственного, пришлось возвращать в исходные состояния, помогло CCrmEvent и метод GetList) . \Bitrix\Crm\ActivityTable::getList() все также не возвращает нужные автору значения.
Егор Мантусов написал: Через Api можно всё. \Bitrix\Crm\ActivityTable::getList(). Например.
А это точно то. что нужно? Попробуйте через этот метод ActivityTable::getList получить историю изменения ответственного у сделки и напишите сюда запрос. У меня не получилось.
ApiSearcher написал: Мне нужно получить эту самую историю изменения через api.
Как-то так:
Код
//файл /bitrix/modules/crm/classes/general/crm_event.php
use Bitrix\Crm;
$CCrmEvent = new CCrmEvent;
$arr = $CCrmEvent::GetList(array('ID' => 'DESC'), array('ENTITY_TYPE' => 'DEAL'), false);
//третий параметр nPageTop ограничение сверху
while($ob = $arr->Fetch()) {
//тут все из вкладки "история" по всем сделкам
}
99% не настроен сервер. Почтовые сервисы не понимают, что отправителю можно доверять и принимать сообщение. Настраивайте SPF запись, DKIM подпись, ну и для надежности TLS шифрование писем. Если VDS или подобный выделенный сервер, то гуглите настройку, если на хостинге - дергайте хостера. На CentOS 7 за пару часов можно настроить. Проверять если что можно тут https://postmaster.mail.ru/security/ или в служебных заголовках письма.
Надо прописывать в /etc/cron.d/bx_network_adapter перед написанной там строкой, если файл такой существует. VM битрикса через задницу сделана, по-нормальному в /etc/crontab может не сработать.
Можно редактировать в mc файлы крона. Один из них как раз /etc/cron.d/bx_network_adapter Как например выполнение скрипта каждые 15 минут: