• Правильно ли я пониманию, что архитектура "битрикс управление сайтом" несколько кривая?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Если смотреть на вещи реальнее скорее это ошибка в документации. По сути архитектура битрикса это не MVC, это некий набор из конкретных архитектур и стоит рассматривать их независимо. Если говорить о Компонентах, Моделях и Шаблонах, то битрикс скорее это MVVM модель, где компонент - ViewModel, шаблон это View, а Model это фундаментальная часть данных без бизнес-логики.

    Означает ли это что данная архитектура кривая? Нет, вовсе не означает. Просто она реализует совершенно иной подход, который чужд многим разработчикам из мира фреймворков и моно-проекта.
    Ответ написан
    Комментировать
  • Офомление документа, как настроить в сделках, документ с 2 таблицами?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Можно ли так сделать ?


    Нет. Механизм для такого не предназначен.
    Возможно вы сделаете бизнес-процесс по формированию документа, в таком случае, возможно, это частично можно реализовать.
    Ответ написан
    Комментировать
  • Как настроить отправку почты из Битрикс24 (коробка)?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Sep 23 08:56:09 host=smtp.yandex.ru tls=on auth=on user=bitrix@worldenergy24.ru from=bitrix@worldenergy24.ru recipients=2425415@mail.ru smtpstatus=554 smtpmsg='554 5.7.0 Failed to authorize the sender 1569203769-ugAFKZGMj1-u9dmm4ss 1569203769-Z1L1XGzWjv-u8IuwSWY' errormsg='the server did not accept the mail' exitcode=EX_UNAVAILABLE.


    Ошибка в логе пишет: яндекс не принимает ваше сообщение, по причине того что не может авторизовать вас как отправителя.
    Скорее всего: у вас подключена почта xxx@yyy.ru, которая возможно находиться в Яндекс.Коннект (или ранее Яндекс.ПДД), а пользователь пытается отправить ее как zzz@yyy.ru и сервер яндекса недоумевает: почему xxx@yyy.ru хочет отправить письмо представившись zzz@yyy.ru.

    Для подобной фишки у google на платной версии G Suite есть опция relay для аккаунта, насколько я знаю, в яндексе вроде как нет возможности производить отправку от другого аккаунта.

    Я бы на вашем месте уточнил у Яндекса наличие такой возможности (может уже есть) и в случае если нет - добавил в sendmail_path параметр -f, что означало бы: от кого бы не производилась отправка в битриксе, пусть письмо всегда формируется и отправляется от xxx@yyy.ru. Вы избежите этой ошибки и письма будут отправляться, но увы части механик вы лишитесь.
    Ответ написан
    Комментировать
  • Как сохранить картинку через CCrmDeal->update?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    ередаю id картинки, полученной через CFile->SaveFile

    Вам нужно передавать туда не id, а массив полученный через CFile::MakeFileArray, т.к. все методы работают именно с этим массивом.
    Ответ написан
    Комментировать
  • Как автоматически изменить статус Сделки при завершении задачи?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    При завершении активности в Битриксе (карточка Сделки или Лида, не суть) - нужно автоматом изменить статус данной Сделки.


    Вы можете сделать следующее: создать Бизнес-процесс, который будет создавать задачу и после завершения в самом бизнес-процессе проверять - если она завершена менять статус сделки.

    Единственное - задачи придется ставить из бизнес-процесса, но с другой стороны это даст вам стандартизированные процессы.
    Ответ написан
    Комментировать
  • Как можно выгрузить из коробки Битрикс данные сделок и лидов в формате json?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Есть ли возможность выгрузить массив этих данных, сохраняя связи, используя методы АПИ Битрикс?


    Есть ли API для получения списка лидов, сделок и т.п.? Да, есть
    Есть ли выгружающее API? Нет.

    Либо проще сразу писать sql запрос, получать массив и уже работать с ним ?

    Длинный получиться запрос, ведь только чтобы выгрузить задачу без комментариев, но в треками времени, историей, пользователями потребуется минимум 5 таблиц использовать, а в CRM это еще больше.
    Ответ написан
    Комментировать
  • Где лежат PDF-файлы формируемые стандартным генератором документов Битрикс?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Можно ли дать доступ к папке с этими файлами, как к Сетевому диску и настроить права, чтоб скачивать и закачивать файлы обратно в Битрикс?


    Нет, так как можно подключить только логические диски пользователей и/или других сущностей.
    Физические пути вы никогда не получите.
    Ответ написан
  • Возможно ли интегрировать Битрикс24 в Android приложение?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Т.е. работа с CRM ?

    Не обязательно, возможно это и другие инструменты (например задачи, группы, или другие свойственные для конкретного клиента).

    Возможно ли это реализовать

    Безусловно возможно, ведь Битрикс24 для своего приложения так же частично использует свое же api

    Дополнительно могу сказать следующее: стоит уточнить зачем. Дело в том, что у Битрикс24 есть свое приложение и если он не хочет его использовать, значит на то есть причина. Возможно у него стоит коробочная версия и возможности стандартного приложения не подходят, а в таком случае backend часть уже можно поставить под вопрос и возможно даже прогнуть клиента написать api под вас.
    Ответ написан
  • Как передавать данные в Битрикс 24?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    В данном конкретном случае необходимо уточнить что именно хочет клиент, так как все же он первоисточник задачи.

    Под формулировкой "Дальше нам эти данные get-запросом нужно передать клиенту, чтобы
    он их привязал к своей 1С." может скрываться:

    1) Помимо roistat, вашего сервера, Битрикс24 у него есть так же 1С куда необходимо занести данные. В таком случае вам необходимо будет узнать есть ли у вашего клиента специалист по 1С и уже с ним обговорить этот момент

    2) Так же возможно клиент подразумевает что 1С это продукт 1С-Битрикс24, то есть сам Битрикс24 и ничего никуда передавать не нужно.
    Ответ написан
    Комментировать
  • Из за чего возникает ошибка Internal server error при попытке отправить POST через CURL для оплаты частями от Privat Bank?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Окей.

    'partsCount' => 5,

    partsCount Integer notNull, min=2, max=25 Количество частей на которые делится сумма транзакции (Для заключения кредитного договора) Должно быть > 1.


    'amount' => 2,
    amount Да Double notNull, Min=300, Max=50 000 Окончательная сумма покупки

    Минимальная сумма 300, у вас 2.
    Далее, вы хотите чтобы 2 разделилось каким-то образом на 5?
    Правильно ли я понимаю, что вы хотите чтобы пользователь провел 5 транзакций по 40 копеек?

    Кроме того - у тебя еще и ошибка в сигнатуре:
    'signature' => base64_encode ( SHA1 ( '75bef16bfdce4d0e9c0ad5a19b9940df'.'4AAD1369CF734B64B70F'.'12211212121'.' 200'.' 5'.' PP'.'https://adsasd'.'https://saddsa'.' test1200'.' 75bef16bfdce4d0e9c0ad5a19b9940df' ))

    Если внимательно посмотришь - у тебя пробелы перед 200, 5 и PP стоят.
    Далее: у тебя есть параметр 'recipientId', который ты передаешь, но в хеш-сумме он остутствует, а по правилам должен быть. Либо убирай, либо добавляй в формирование.

    Поделаешь то что нужно и получишь другую ошибку:
    Array
    (
        [orderId] => 12211212121
        [signature] => +JYghcAp9oIQq3xR/Zn1PftEvQ8=
        [state] => FAIL
        [message] => bad value: Scheme not found for given store
        [storeId] => 4AAD1369CF734B64B70F
    )


    Но это все потому, что scheme - это Идентификатор схемы. Выделяется Банком. По умолчанию не передается.

    Удаляешь его и получаешь заветное:
    Array
    (
        [orderId] => 12211212121
        [signature] => S4cN/oBUIIJeHlcJgTTM+gcZddQ=
        [state] => FAIL
        [message] => bad value: Payment with sent orderId already exists
        [storeId] => 4AAD1369CF734B64B70F
    )


    А это потому, что кто-то уже прогнал твой запрос через api или через веб-морду. Меняешь orderid и получаешь заветное:
    Array
    (
        [orderId] => fdsa1
        [signature] => x2m4GaLFv3ptcxZLynRzwuy/t5g=
        [token] => ADFEDB2FB0C7485CB968148D4BFD6B5A
        [state] => SUCCESS
        [storeId] => 4AAD1369CF734B64B70F
    )
    Ответ написан
    1 комментарий
  • Установка онлайн чата на cms 1c-Bitrix?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Чат необходимо сделать как на платформе Twitch или Youtube

    Уверены что речь идет именно о чате, а не о системе комментариев? Потому как это две разные подсистемы.

    В купленном пакете Битрикс нет модуля чата, программисты советуют докупить (оно и понятно, им так проще)

    Вы конечно можете написать свой. Все зависит от квалификации программистов и от прямоты их рук.
    Есть на этот счет два аргумента:
    - Если задача уже решена в системе, то зачем изобретать велосипед? Уже за вас люди подумали и реализовали множество вещей, начиная от socket/long polling и заканчивая обменом сообщений между пользователями
    - С другой стороны это не заточено под ваши нужды, так что все равно придется дорабатывать и если не знаешь что и как, то это обернется в кошмар и проще написать свой.

    но денег нет

    А платить все равно придется: либо за редакцию, либо за труд разработчиков, либо за сторонний сервис.
    Бесплатно только сыр в мышеловке.

    Как вариант можно ли установить AJAX Chat в код сайта на 1С-битрикс?

    Да, это возможно.
    Ответ написан
    Комментировать
  • Как исправить проблему с отключением стилей шаблона компонента?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Проблему в целом можно решить перенеся CSS в основной файл, но не хотелось бы в лишний раз нагружать основной CSS. Есть какие-то способы как это можно исправить?


    Конечно есть!
    Вы можете создать свой css файл для нишевого отображения и в result_modifier.php подключать его к стилям страницы через тот же addCss.
    Получается что вы в одном месте его правите, а во всех остальных он меняется автоматически.

    Что касается:
    Собственно именно этот CSS и отваливается.

    Так как вносили изменения через публичную часть, возможно изменения были внесены не совсем туда, куда хотели. Проверьте пожалуйста чтобы он был добавлен в нужный css файл нужного шаблона и что именно он подключается на странице
    Ответ написан
    3 комментария
  • Как для всех пользователей сохранить одинаковый вид отчетов Старт в CRM?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Эм.. ну в целом нормально никак.

    Т.е. есть дефолтный вид и он зафиксирован в коде. Есть демо-представление и с ним ничего не сделать.
    Получается, что есть только способ такой: при авторизации всем сбрасывать значения и создавать собственный пресет.

    В b_user_option пишется запись о виджетах:

    USER_ID = ID пользователя
    CATEGORY = crm.widget_panel
    NAME = start_widget
    VALUE = касположение виджетов и настройки в формате json

    И о режиме:

    USER_ID = ID пользователя
    CATEGORY = crm.widget
    NAME = activityDynamic
    VALUE = json с указанием был первый просмотр или нет
    Ответ написан
    1 комментарий
  • Какой код повесить на ссылку, чтобы при клике на нее открывался виджет Битрикс24?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Данный вопрос широко освещяется в теме посвященной расширенным настройкам

    Необходимо подписаться на событии и при инициализации подписаться на событие нажатия.

    window.addEventListener('onBitrixLiveChat', function(event)
    {
      var widget = event.detail.widget;
    
      // Подписываемся на onClick событие вашей кнопки.
      // Выполняем widget.open()
      
    });
    Ответ написан
    Комментировать
  • Как сделать свой Main UI Filter в своём приложении Bitrix24?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Увы, но подобного решения для облачных приложений нет. Разве что вы возьмете уже готовые классы и строительство в свое приложение, но опять же - придется все делать самому
    Ответ написан
    Комментировать
  • Bitrix CEvent::Send &CFile::MakeFileArray в письме 2 одинаковых файла?

    gromdron
    @gromdron
    Работаю с Bitrix24
    1) В $arEventField не нужно указывать ключ FILE, он сам будет задан из 6 параметра метода CEvent::Send
    2) \CFile::MakeFileArray вовсе не нужно делать. На последнем битриксе это делают за вас.

    Т.е. в вашем случае код должен выглядеть как-то так:
    $fileName = $_SERVER["DOCUMENT_ROOT"]."/temp/".$MGR_ID.'_'.date("dmYHi").'.xlsx';
    
    $files = [
    	$fileName
    ];
    
    $arEventField = [
    	"EMAIL_TO"  => $USER->GetEmail(),
    	"USER_NAME" => $USER->GetFullName(),
    ];
    
    if ( \CEvent::Send("MGR_INFORMER", "s1", $arEventField, "Y", '', $files ) )
    {
    	@unlink($fileName);
    }


    Если после проделанного файлов все же прикрепляется 2, то необходимо:
    1) Проверить шаблон MGR_INFORMER возможно в самом шаблоне прописана вставка файла. Если файл вставлен в тело письма, то он может быть продублирован 2 раза.
    2) Проверить события OnBeforeEventAdd модуля main. Возможно там есть дублирование файла.
    3) Проверить функцию custom_mail (если таковая существует). Возможно дополнительно работа с файлами находится там.
    Ответ написан
  • Как убрать верхнее меню в CRM Битрикс24?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Это bitrix:menu с шаблоном top_horizontal, расположен в header.php (выше него стоит область: above_pagetitle)
    Ответ написан
    2 комментария
  • BitrixVM. Push and Pull не работает. Сообщения не приходят в реальном времени. В чем проблема?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Не туда смотрите: сначала в консоль браузера, затем в случае nodejs (а у вас именно такой случай) - /var/log/push-server/ и там уже смотрите логи :)
    Ответ написан
    Комментировать
  • Битрикс. Где лежат веб формы?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Если спрашиваете концептуально: Админа - Сервисы - Веб-формы.

    Рекомендую так же ознакомиться с курсом, но делать это на примере указанном в официальной документации
    Ответ написан
    Комментировать