• Как решить проблему с disk.file.get?

    @mattbe
    Получи id папки куда сохраняется фото, установи для неё права на чтение кому требуется доступ, файл унаследует права от папки.
    Ответ написан
    Комментировать
  • Как установить права файлу на диске?

    @mattbe Автор вопроса
    \Bitrix\Main\Loader::includeModule('disk');
    if (\Bitrix\Main\Loader::includeModule('disk')) {
    
    $rootActivity = $this->GetRootActivity();
    $id_folder = $rootActivity->GetVariable("id_folder"); // получаем из переменной id папки.
    $id_file = $rootActivity->GetVariable("id"); // получаем из переменной id файла.
    
    $rightsManager = \Bitrix\Disk\Driver::getInstance()->getRightsManager(); 
    $accessTaskId = $rightsManager->getTaskIdByName($rightsManager::TASK_READ); // устанавливаемые права (чтение)
    $folder = \Bitrix\Disk\Folder::loadById($id_folder); // id папки
    if ($folder) {
        $rightsManager = \Bitrix\Disk\Driver::getInstance()->getRightsManager();
        $newRights = array(
            array(
    			//'NEGATIVE' => true,	// если надо удалить права на папку
    			'ACCESS_CODE' => 'AU', 	// все авторизованные пользователи
    			'TASK_ID' => $accessTaskId 
            ),
        );
        $rightsManager->append($folder->getRealObject(), $newRights);
        $this->WriteToTrackingService("Для папки с id " . $id_folder . " установлены права на чтение."); 
    
    //устанавливаем права на файл
    $file = \Bitrix\Disk\File::loadById($id_file);
    
    $rightsManager = \Bitrix\Disk\Driver::getInstance()->getRightsManager();
    $arRights = \Bitrix\Disk\Driver::getInstance()->getRightsManager()->getSpecificRights($folder->getRealObject()); // узнаем права на папку
    
    $rightsManager->set($file, $arRights); //устанавливаем такие же права на файл как папке
    $this->WriteToTrackingService("Для файла с id " . $id_file . " установлены права на чтение."); 
    }
    else 
    { 
        $this->WriteToTrackingService("Ошибка установки прав для папки с id " . $id_folder . "."); 
        $this->WriteToTrackingService("Ошибка установки прав для файла с id " . $id_file . "."); 
    }
    }
    Ответ написан
    Комментировать
  • Как прикрепить файл с диска к элементу смарт-процесса?

    @mattbe Автор вопроса
    Служба поддержки говорит, что сейчас такого функционала нет – удивительно конечно.
    upd. Если решение не найдется, то отмечу это для потомков.
    Ответ написан
    Комментировать
  • Как принудительно обновить карточку лида/сделки?

    @mattbe
    Ответ написан
    Комментировать
  • Как реализовать создание лида по каждому звонку?

    @mattbe Автор вопроса
    Нужно включить режим работы с повторными лидами.
    "Включить автоматическую регистрацию повторных продаж"
    Настройки->Настройки CRM->Другое->Прочие настройки
    /crm/configs/config/

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

    @mattbe
    Используем виртуализацию от Proxmox Virtual Environment в связке с NAS для хранения бэкапов. Также можно поднять Proxmox Backup Server и делать бэкапы уже более выборочно.
    Ответ написан
    Комментировать
  • Как получить значение вида деятельности ОКВЭД?

    @mattbe Автор вопроса
    var url = "https://suggestions.dadata.ru/suggestions/api/4_1/rs/findById/okved2";
    var token = "ads4gfs838e9f49e9fsue7884wf2fs0b3r134dfs";
    var query = $("#okved").val();
    var options = {
      method: "POST",
      mode: "cors",
      headers: {
        "Content-Type": "application/json",
        "Accept": "application/json",
        "Authorization": "Token " + token
        },
      body: JSON.stringify({query: query})
    }
    fetch(url, options)
    .then(response => response.text())
    .then(result => $("#okved2").val(result))
    .catch(error => console.log("error", error));

    val(result) - в результатах ответа выбрать нужные данные, для меня это result.suggestions[0].data.name.
    Ответ написан
    Комментировать
  • Не работает приглашение сотрудников в битрикс24 коробка?

    @mattbe
    В админке, в настройках главного модуля в поле email администратора нужно указать тот же email, что при настройке под консолью виртуальной машины (6. Configure pool sites > 4. Change e-mail settings on site).
    Также, если используется почта biz.mail.ru, то расширение протокола текстового обмена должно быть выключено tls_starttls off.
    Конфиг хранится /home/bitrix/.msmtprc
    host smtp.mail.ru
    port 465
    from mail@domen.ru
    keepbcc off
    auth on
    user mail@domen.ru
    password **********
    tls on
    tls_starttls off
    tls_certcheck off
    Ответ написан
    Комментировать
  • Как запретить ставить ответственным за задачу сотрудника, который находится в отпуске?

    @mattbe
    Нужно использовать "График отсутствий" (смотреть раздел в поиске самого Б24).
    Ответ написан
    Комментировать