Ответы пользователя по тегу 1С-Битрикс
  • Как убрать поле "комментарий" в заданиях бп?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Вы не можете убрать (имеется ввиду "настройкой или галочкой") это поле, потому что это не поле, а лог комментариев.

    Для того чтобы убрать или контролировать его появление необходима кастомизация шаблона bitrix:bizproc.task
    Ответ написан
    1 комментарий
  • Бизнес процесс и кастомные поля список. Как забрать выбранные значения из поля?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    "Проблема" глобальных переменных в том что они глобальные.
    Когда вы запустите 2 процесса то их данные у вас перемешаются и вы не получите ожидаемого результата.
    Я бы посоветовал вам использовать один мастер-процесс, и универсальный список для синхронизации. Таким образом мастер-бп с параллельным выполнением дочерних БП, а на вход каждого БП подавать элемент созданный для синхронизации и уже в нем хранить.

    Получить значение глобальной переменной можно многими путями, например через парсинг:

    $globalVarAsdasd = $this->ParseValue('{'.'{Переменные глобальные: asdasd}}');


    Взято из книжки
    Ответ написан
    1 комментарий
  • Как настроить отправку писем в битрикс24 (коробка)?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Скорее всего вы пытаетесь настроить отправку из модуля "Почта", а штатно она отправляется через системную. Обычно smtp relay на почтовых серверах запрещен (или стоит денег).

    Для избежания этой проблемы можно:
    1. Перейти на локальные smtp настройки.
    2. Забить все конфигурациии в msmtp и написать код распределения. На этой технологии кстати работают многие решения по отправке писем.

    Рекомендую вариант 1.
    Ответ написан
  • Как сделать превью pdf документа?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Вопрос такой: как сделать превью пдф документа?


    Через любую программу, которая позволяет конвертировать PDF в изображение, например convert, pdftoppm

    Подобные ответы легко ищутся в интернете:
    https://stackoverflow.com/questions/43085889/how-t...

    используется битрикс. клиент загружает пдф. он должен загрузить пдф файл и на выходе получить карточку с превью.


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

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Если у вас абстрактный вопрос "как отслеживать изменение полей", то лучше чем ответил belc не будет.
    Суть подхода такая: вы делаете еще Н полей (по 1 на каждое отслеживаемое поле) и при изменении/создании копируете туда старые значения.
    Делаете БП на изменение и проверяете старые значения, сравнивая с текущими - если есть разница то делаете что нужно.
    Подход самый НЕ оптимальный и самый НЕ гибкий.

    Обычно следует изменить подход к проектированию и разделить бизнес-процесс на две группы: первая относится к процессу, т.е. определить жизненный цикл сделки и необходимые шаги для ее реализации, а вторая - это подпроцессы которые должны выполняться при определенных условиях.
    Соответственно у вас будут условия перехода сделки по стадиям (это жизненный цикл), переходя по которым вы будете проверять условия которые регулируются подпроцессами.

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

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


    Подзадача отображается на скрам доске в спринте.
    Что такое задача? Это то что нужно сделать.
    Что такое подзадача? Это часть которую нужно сделать для выполнения основной задачи.

    Отсюда получается - в беклоге отображаются только родительские задачи.
    В спринте отображаются и родительские и их дочерние.

    Наглядная иллюстрация:
    65a52c7914156062433796.png
    65a52c74ad383760659904.png
    Ответ написан
  • Как установить АСПРО Максимум на коробочном портале Битрикс 24 на отдельный домен?

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

    2. При создании отдельного сайта с ядром и БД Б24, когда сайт создаётся в папке /home/bitrix/ext_www/папка сайта и создания там символических ссылок на папки /home/bitrix/www/bitrix и /home/bitrix/www/upload, в момент перехода на URL сайта, происходит переадресация на главную страницу Б24(((


    Вам нужно корректно заполнить следующие моменты:
    1. Нужно указать распространение авторизации на все домены
    2. НЕ прописываете адрес сайта у crm в настройках сайта
    3. Указать корректные пути в сайтам
    4. Повысить сортировку сайта ИМ выше CRM
    Ответ написан
  • Как удалить элемент множественного поля Email в Bitrix24?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Работать с таблицей значений мультиполей для записи/изменения или удаления напрямую нельзя.

    Используйте методы CCrmLead или CCrmContact.

    Например для контакта (взято отсюда):
    $contactFields = [
        "FM"       => [
            "PHONE" => [
                // Телефон с ID 3567 будет изменен
                "3567" => [
                    "VALUE"      => '+78889996644',
                    "VALUE_TYPE" => "WORK",
                ],
                // Телефон в ID 1234 будет удален
                "1234" => [
                    "VALUE"      => '',
                    "VALUE_TYPE" => "HOME",
                ]
            ],
        ],
    ];
    
    $contactEntity = new \CCrmContact(false);
    
    $isUpdateSuccess = $contactEntity->Update($contactId);


    А вот как раз 3567 и 1234 вы можете получить либо через GetList той же сущности, либо через FieldMultiTable.
    Ответ написан
    Комментировать
  • Можно ли использовать Bitrix Framework без Bitrix CMS? Как начать?

    gromdron
    @gromdron
    Работаю с Bitrix24
    TLDR: Никак.

    Давно читал что Битрикс CMS -- это продукт, построенный на Bitrix Framework. Как и Битрикс 24. И по идее, можно построить на нём свой собственный продукт. Использовать без CMS или любого готового решения или продукта.


    Да, есть Bitrix Framework, но это не фреймворк в общепринятом виде, а именно каркас проприетарной системы который непрерывно связан с CMS (точнее обмазан вокруг).

    Есть ядро продукта (которое состоит из модулей main, fileman, ui, rest и сайта-админки), так вот Framework это часть модуля main который обеспечивает работоспособность системы.
    Ответ написан
    Комментировать
  • Как загрузить папку в Б24?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    - Первый. Загружать папки и файлы через приложение Б24. по началу решение было приемлемо, пока диск был несколько Гб, когда стал весить сотни Гб, решили использовать "Эластичный диск" - работает через раз, раз нормально раз диск отваливается и больше не монтируется..


    Здесь вы уперлись в ваш собственный лимит и решили перейти на более "простой" как вам показалось вариант.
    Нет, лучше не использовать эластичные диски, а выделять квоту явно и прогнозировать ее рост.
    Сотни гб - это объем который пугает вашу организацию (или вас), но у нас на некоторых проектах расчет идет в ТБ.

    - Второй вариант. Просто гениальный, сначала папку заархивировать, загрузить в Б24 и разархивировать, опять же сталкиваемся с проблемами пользователей у которых тысячи файлов в папке, "полгода" ждут пока в архив добавится, потом еще полгода пока загрузят и разархивируют..


    Здесь вы упираетесь в организацию файлов - любая ФС будет тормозить при большом количестве файлов в одной директории. Диск битрикса24 не исключение - каталогизируйте ваши данные. Старайтесь не допускать более 500 объектов в директории.

    - Третий, который так и не получилось реализовать, подключить как сетевой диск. В диске кликаю шестеренку - сетевой диск - копирую ссылку - вставляю в проводник - ввожу данные пользователя и хрен, неправильные имя пользователя и пароль (пользователь доменный, пробовал по разному), даже где-то нашел что надо включить nginx, но все бестолку..


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

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Штатно такой возможности нет. Интеграция Битрикс24 <-> БУС подразумевает что интегрируется стандартный Б24 и стандартный БУС без допилов.
    Ответ написан
    Комментировать
  • Как сделать pdf файл для скачивания из элемента битрикс?

    gromdron
    @gromdron
    Работаю с Bitrix24
    CFile::MakeFileArray

    MakeFileArray принимает параметром физический файл который будет, т.е. сначала вам нужно создать корректный pdf файл и положить его куда-нибудь в tmp директорию, а оттуда сохранить.

    А у вас судя по всему render() отрисовывается в контексте текущей страницы, где уже выведен хедер и от этого файл битый.
    Ответ написан
    Комментировать
  • ЧПУ на Битрикс через urlrewrite?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Вот прям вот так на стандартных компонентах вряд ли получиться.
    Дело в том что у вас конфликт с SEF. С одной стороны вы скорее всего в SEF указали что путь к детальной странице у вас выглядит как: #SECTION_CODE_PATH#/#ELEMENT_ID# и в таком случае ваша фраза "brands" воспринимается как символьный код одного из разделов.

    Я бы порекомендовал собрать свой комплексный компонент, который бы работал со следующими ЧПУ:
    /catalog/brands/#BRAND_CODE#/ - деталка конкретного бренда
    /catalog/brands/ - список брендов
    /catalog/item/#ELEMET_CODE#/ - деталка конкретного элемента
    /catalog/section/#SECTION_CODE_PATH#/ - отображение списка элементов в разделе
    /catalog/ - отображение списка разделов.

    А уже в качестве простых компонентов (в составе комплексного) использовать штатные компоненты битрикса.
    Ответ написан
  • Bitrix 24 как добавить редактирование своего поля?

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

    На этой форме вы видите товарные позиции И данные доступные из товаров, при условии что товарные позиции были не созданы а выбраны из каталога.
    Так как у самих товарных позиций нет этого свойства, то сделать его редактирование нельзя.

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

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Как сделать чтобы почта проверялась не зависимо от того есть сотрудник на портале или нет?


    Синхронизация почты работает в двух вариантах - на агенте (Bitrix\Mail\Helper::syncMailboxAgent(***);) и на таймере (напрямую через \Bitrix\Mail\Helper\Mailbox\MailboxSyncManager).

    В агенты штатно вынесен только syncMailboxAgent (с периодом в 1 сутки), но он имеет ограничения на запуск поэтому при большом количестве почтовых ящиков и длительных ответах начинаются тормоза.

    Никакой инструкции нет, поэтому сначала можно попробовать уменьшить период запуска (скажем каждые несколько часов).
    Ответ написан
  • Как записать данные с xml в лог в Битриксе?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Есть ли быстрый способ решить эту проблему?


    Чтобы был "быстрый" способ, нужно хотя бы иметь "2 способа" решения, а вы даже проблему (т.е. собственно почему происходит деактивация) не локализовали.

    Как посмотреть пользователей которые пришли во время обмена с AD?


    Таких логов не ведется, но можно подписаться на событие OnLdapUserFields модуля ldap и посмотреть какие приходят данные во время обмена.

    Как записать в лог всех пользователей которые есть в xml с 1с?


    Если мы говорим про штатный импорт, то файл последнего импорта находится в `/upload/1c_intranet/`
    Судя по тому что вы привели код - у вас кастомный импорт и здесь вам нужно обратиться к разработчикам.

    Что касается вашей проблемы, я кажется знаю ее корень: изменение пользователей из 1С.
    В механизме сихнронизации битрикса происходит оперирование тремя датами:
    - Дата последней синхронизации в Битрикс24
    - Дата последнего изменения сотрудника в Битрикс24
    - Дата последнего изменения учетки в AD

    Синхронизация происходит при трех ключевых условиях:
    1. LDAP Query вернул учетку.
    2. Изменение учетке в AD (либо в Б24) произошли ПОСЛЕ последней успешной синхронизации.
    3. Учетка не должна входить в "неимпортируемые группы"

    Соответственно типовые ошибки:
    1. Рассинхрон времени (например по какой-то причине время на сервере Б24 бежит впереди времени AD).
    2. Шаманство с датами (иногда учетки отключают задним числом)
    3. Неправильные условия (ldap query с активностью)
    4. После увольнению учетку добавляют в группу, которая в Б24 помечена как несинхронизируемая
    Ответ написан
    Комментировать
  • Возможно ли передать статус "брошенная корзина" с сайта на битриксе в crm битрикс 24?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Если вы говорите про независимую установку на БУС и облачному Битрикс24 - то нет.
    Если мы говорим про CRM+ИМ то можно.
    Если мы говорим про собственную интеграцию - то можно.
    Ответ написан
    Комментировать
  • Как в битриксе придумать псевдослучайный порядок вывод элементов?

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


    Для начала, его нужно будет придумать не в битриксе, а вообще.

    1. Вы можете использовать `rand` ключ сортировки из `CIblockElement::GetList` - это позволит выбирать псевдослучайные записи в количестве которые вы укажие в navParams.
    В случае такой задачи это будет наиболее правильное решение.

    2. Если такой вариант не подходит, то можете сделать многоуровневое кеширование.
    Т.е. отдельный кеш идентификаторов элементов и (можете, но не обязательно) отдельный кеш под каждый элемент.
    Соответственно получаете все ID (запросом или из кеша), перемешиваете и делаете ЛИБО получение через GetList скармливая в order порядок элементов либо обращение к своему методу и забор кеша (то самое многоуровневое кеширование).

    Однако есть нюансы:
    1. Кешировать все элементы и перебирать все элементы нет никакого смысла - вы дублируете базу данных кодом с меньшей эффективностью. Т.е. после такого производительность может не только не вырасти, но и упасть. Вам же еще нужно задуматься про обновление этих кешей.

    2. В данном случае эффективнее кешировать не конкретные элементы, а вывод всей страницы. Т.е. делаете запросы, рендерите вывод и его кешируете. Следюущий запрос просто достанет кеш. В противном случае мало того что придется доставать кеширование данные, так вам еще придется тратить ресурсы на их рендер (а в большинстве случаев он будет одинаковый).

    Еще увидел у вас в комментариях ваше предложение:
    в result_modifier.php передать данные в component_epilog.php, получить ITEMS в component_epilog.php, рандомно сортировать этот массив, перенести содержимое template.php в component_epilog.php и выводить. Данные будут браться из кэша и при этом каждый раз сортироваться. Норм?))


    Оно бессмысленное потому что передавать данные можно только в одном порядке: component -> result_modifier -> template -> component_epilog.
    Т.е. дойдя до component_epilog вернуть в сам template (если только это не отложенная функция, но в таком случае профита нет никакого).
    Ответ написан
    Комментировать
  • Страницы с символьным кодом bitrix в индексации яндекса?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Самый простой способ: модернизировать компонент (который отдает 404) и прописать запись в лог referrer'ов, т.е. откуда пришел пользователь.
    Таким образом вы узнаете страницу откуда пришел этот пользователь.

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

    Из очевидных вещей: если таких ссылок очень много советую посмотреть карту сайта - возможно в настройках инфоблока и на странцие разные параметры ЧПУ и соответственно на сайте одно, а в sitemap другое.
    Ответ написан
    Комментировать
  • Как поменять сотрудника отвечающего за обработку лида в Битрикс24?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Я вижу два варианта как это можно проделать:

    Вариант 1: Найти кто отправляет лиды на сайте. Скорее всего есть какой-то обработчик события добавления элемента в инфоблок (или кусок кода отправляющий в б24 в самом компоненте).
    И там можно задать поле ASSIGNED_BY_ID и передать туда идентификатор нового ответственного.

    Вариант 2: сделать БП при добавлении (или робота на первой стадии), проверять ответственного и менять.

    Я бы рекомендовал все же выполнить пункт 1, т.к. это наиболее разумный шаг.
    Ответ написан
    Комментировать