Задать вопрос
  • Куда дальше расти сисадмину?

    pindschik
    @pindschik
    ФЫВА ОЛДЖ
    План такой:
    1) Прислушаться к внутреннему голосу, к позывам и стремлениям души и к ее же воплям и стенаниям. Может в этом месте работы есть коллектив\начальник\директор который фактически заставляет вас работать под принуждением (страх наказаний, сказки про великую и единственную достойную компанию, обесценивание труда, перекладывание ответственности за собственные ошибки и т.п.). Думаете крепко, разбираетесь в себе и окружающем мире.
    2) Если не устраивает только коллектив\организация, но к данному виду деятельности не наступило выгорание - растите вширь. Лучше быть админом в 10 организациях на полставки, чем просиживать штаны в одной и на 1 ЗП. Да, будет сложно, особенно на этапе взятия каждой новой организации и наведения там порядка. Да, придется стать быстрее, мобильнее, размоются границы рабочего времени. Придется подготовить кучу оптимизаций и домашних заготовок по профилю админства. Но потом поймете, что развернуть "из коробки" пустой рабочий комп с парой десятков тяжелых программ - можно за 15 минут, а не за два дня. А оставшиеся два дня отдыхать. И оказывается, что на работу можно не ходить, и можно ни кому не отчитываться - если в рабочее время появились личные дела. Тут еще ЗП ощутимо подросла... Только тип организаций выбирайте комфортный для себя. И избегайте мест концентрации стресса, скандалов, клинического крохоборства, самодурства и кумовства.
    3) Следующим шагом станет многостаночность. При чем вторая профессия - должна расти не в сфере ИТ, но быть синергической к ИТ в вашем случае. Возможно придется вспомнить прежнее образование, старый рабочий опыт, или искать что-то вообще новое. Но главное - что специалист совмещающий знания и опыт в двух областях - существенно лучше, чем 2 разных специалиста. Востребован он реже, но где востребован - там его ценят. Куда расти - совета не дам, тут именно важен сам принцип. Если душа лежит - можно второе/третье/пятое направление выбирать из совсем новых веяний (прикладное применение ИИ и т.п.) - конкурентов минимум, специально обученных вообще нет.
    4) Набирать опыт в управленческих и организационных вопросах. Это всегда полезно, хотя сложнее, чем быть "принеси-подай". Учиться общаться с разными людьми, понимать задачи бизнеса, приоритеты. Уметь корректно спорить, отстаивать свою точку зрения.
    5) Периодически повторяем п. 1.
    Ответ написан
    Комментировать
  • Напортачил в биосе, как все исправить?

    @osk-lsa
    Откройте настройки BIOS / EFI с помощью кнопки [Esc] (параметры загрузки) и выберите Enter Setup.
    Перейдите к Boot > Add New Boot Option.

    New Boot Option введите NAME для входа (любое удобное).
    Выберите файловую систему, используя правильный путь устройства PCI для загрузочного диска из доступных
    Path for boot использовать \EFI\Manjaro\grubx64.efi (Для Manjaro)
    или
    Path for boot использовать \EFI\BOOT\BOOTXx64.EFI (Для Windows)
    Нажать Create.
    Сохраните изменения в BIOS Setup с помощью кнопки [F10]. Перезагружать.

    grubx64.efi можно взять из /boot/grub/x86_64-efi/core.efi
    sudo cp /boot/grub/x86_64-efi/core.efi /boot/efi/EFI/boot/bootx64.efi
    Ответ написан
    2 комментария
  • BITRIX торговые предложения, найти родителя?

    GM_pAnda
    @GM_pAnda Автор вопроса
    Бездельник
    Может кому пригодится
    $mxResult = \CCatalogSku::GetProductInfo($id);
    	if (is_array($mxResult)){
    		echo 'ID товара = '.$mxResult['ID'];
    	}else{
    		ShowError('Это не торговое предложение');
    	}
    Ответ написан
    Комментировать
  • Битрикс проблема с установкой. Что делать?

    @eydeveloper
    Проблема на данный момент в том, что установщик bitrixsetup.php ставит не самую актуальную версию, в которой не еще не исправлена проблема с установкой на версии PHP 8.1.

    В данном случае необходимо изменить версию PHP на 8.0, установить Битрикс, обновить модули до последней версии и можно вернуть обратно на PHP 8.1.
    Ответ написан
    Комментировать
  • Как получить значение свойства элемента по ID в Битрикс?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Метод GetByID не возвращает свойства элемента, а является простой прослойкой для getList запрашивающий все свойства.

    Явно используйте CIblockElement::getList для получения свойств

    $resElement = \CIBlockElement::GetList(
        [],
        [
            'IBLOCK_ID' => 5,
            'ID' => 371,
        ],
        false,
        false,
        [
            'ID',
            'IBLOCK_ID',
            'PROPERTY_SLOGAN',
            'PROPERTY_COPY'
        ]
    );
    
    if ( !($element = $resElement->getNext() ) )
    {
        echo "Элемент не найден";
        return;
    }
    
    var_dump($element);
    Ответ написан
  • Как дать клиенту закачать файл на Synology DiskStation?

    @Ankat
    Если ещё актуально, в "file station" если нажать правой клавишей на папке есть функция "Создать запрос файла". Генерируется ссылка для загрузки файлов
    Ответ написан
    1 комментарий
  • Как перепрошить IP телефон Yealink T21 E2 от Ростелекома?

    yaneneon
    @yaneneon
    Да
    Как выше говорили делается через прошивку с TFTP - сервера. Вот тут пошаговая инструкция и необходимые файлы прошивки - https://it-yug.ru/blog/telefoniya/17
    Ответ написан
    Комментировать
  • Как кастомизировать/переименовать элементы карточки сделки в коробке?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    В курсе Bitrix Framework есть глава по работе с языковыми фразами и там есть раздел посвященный этому - "Замена фраз в продукте".

    Соответственно принцип такой:
    1. Сначала ищем языковую фразу. В Битриксе много однотипных фраз в разных компонентах системы, поэтому задача будет не самой простой. Для этого проще всего воспользоваться средством поиска языковых фраз из модуля Переводы (дописать к адресу страницы "show_lang_files=Y" и после обновления будет специальный дополнительный диалог поиска языковых фраз).
    2. Затем через механизм user_lang изменяем нужную фразу.
    3. Повторяем шаги 1 и 2 для всех фраз.
    Ответ написан
    1 комментарий
  • Как правильно указать цикл для вывода только домена?

    @SergioMarquinha Автор вопроса
    Нашел решение:
    $arServers - входной массив

    foreach ( $arServers as $arServer )
        foreach ( $arServer['domains'] as $arSite )
            print_r($arSite['fqdn'])
    Ответ написан
    Комментировать
  • Как из встраиваемого приложения crm битрикс 24 передать id сделки?

    YumeReaver
    @YumeReaver
    Бургомистр
    При открытии приложения из места встраивания в обработчик улетает $_REQUEST, в котором лежат параметры PLACEMENT => CRM_DEAL_LIST_MENU (место встраивания) и PLACEMENT_OPTION => {"ID":"123"} (id элемента).

    Тут подробней: https://dev.1c-bitrix.ru/learning/course/index.php...
    Еще есть метод в JS-библиотеке BX24.placement.info() - также возвращает место встраивания и ID.
    Ответ написан
    2 комментария
  • Как модифицировать подсказки при добавлении компании, контакта?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Прямой модификации там особо нет.
    Есть 2 варианта:
    1. Использовать REST-приложение и подписываться на события (пока не документированы).
    2. Подменить сервис адаптера поискового вывода (Bitrix\Crm\Search\Result\Adapter\CompanyAdapter) через service locator битрикса (работает где-то с 21-22 версии, я тестил на 22.500)

    63e210522c5f8963407481.png
    Ответ написан
    Комментировать
  • Как взять сделки сразу одним запросом?

    Real_Fermer
    @Real_Fermer
    Программист PHP
    CModule::IncludeModule('crm'); 
    use Bitrix\Crm\DealTable;
    
    $arFilter = [
    	'STAGE_ID' => 'WON',
    		'<=CLOSEDATE' => \Bitrix\Main\Type\DateTime::createFromTimestamp(strtotime("-1 month"))
            ];
    $arSelect = ['ID','ASSIGNED_BY_ID', 'CLOSEDATE'];
    
    
     $arDeals=DealTable::getList([
                'order'=>['ID' => 'DESC'],
                'filter'=>$arFilter,
                'select'=>$arSelect,
                'cache' => ['ttl' => 3600],
    			'limit'=>100
            ])->fetchAll();
            $deals=[];
            foreach($arDeals as $deal){
                $deals[$deal['ID']]=$deal;
            }
    
    print_r($deals);
    Ответ написан
  • Как написать обработчик для bitrix?

    Real_Fermer
    @Real_Fermer
    Программист PHP
    найдите файл
    local/php_interface/init.php
    возможно в нем уже есть подключение отдельного файла для обработки событий
    что-то типа
    include_once __DIR__.'/events.php';
    если такого нет, то рекомендую создать, и события обрабатывать там, чтобы не засорять init.php
    Далее в файле events.php - пишете обработчик события

    $eventManager = \Bitrix\Main\EventManager::getInstance();
    
    $eventManager->addEventHandler(
        'main',
        'OnSaleCheckPrepareData ',
    'addCheckPrintType'
    );
    
    function addCheckPrintType(array $fields, string $type) : array{
    
            if(!empty($fields['PRODUCTS'])){
                foreach($fields['PRODUCTS'] as $key => $product){
                    $fields['PRODUCTS'][$key]['PAYMENT_OBJECT'] = \Bitrix\Sale\Cashbox\Check::PAYMENT_OBJECT_SERVICE;
                }
            }
    
            return $fields;
        }
    Ответ написан
    Комментировать
  • Как добавить свою кнопку в карточку контактов bitrix 24?

    Real_Fermer
    @Real_Fermer
    Программист PHP
    Реализация в несколько шагов
    1. Регистрация своей JS библиотеки в init.php
    //регистрируем библиотеку 
    CJSCore::RegisterExt(
        'custom_js',
        array(
            'js'   => '/local/js/custom.js',
            'css'  => '/local/css/custom.css',
            'lang' => '/local/js/lang/'.LANGUAGE_ID.'/custom.js.php',
            'rel'  => array(
                'ajax',
                'popup',
            ),
        )
    );
    
    //добавляем js d header не в административной части
    if (!ВАШ_NAMESPACE\Main::inBitrixDir()) {
        CJSCore::Init('custom_js'); 
    }


    2. в самом скрипте JS
    var CustomJS = BX.namespace('CustomJS');
    
    CustomJS.initGlobalEvents = function () {
        var self = this;
        BX.addCustomEvent("SidePanel.Slider:onOpen", function (event) {
            CustomJS.addDealButtons();
        });
    }
    
    CustomJS.addDealButtons = function () {
        var page_title_btn_box = document.querySelector('.crm-pagetitle-btn-box');
        if (page_title_btn_box) {
            if (!document.getElementById('custom-btn-get-order')) {
                page_title_btn_box.prepend(
                    BX.create('div', {
                        attrs: {
                            id: 'custom-btn-get-order',
                            className: 'ui-btn ui-btn-split ui-btn-themes ui-btn-light-border ui-btn-success'
                        },
                        text: BX.message('CUSTOM_BTN_GET_ORDER'),
                        events: {
                            click: BX.proxy(CustomJS.updateDealFromOrder, this)
                        },
                    })
                );
            }
    	}
    }
    
    CustomJS.updateDealFromOrder = function (event) {
    
    console.log("Событие нажатие на кнопку")
    }
    Ответ написан
    8 комментариев
  • Почему метод crm.item.update не обновляет поле?

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

    Давайте попробую обьяснить:
    - Есть смарт-процесс. Это верхнеуровневая сущность подсистемы смарт-процессов. За работу с ними отвечают crm.type.* методы.
    - У каждого смарт-процесса есть элементы, которые состоят из фиксированных полей и пользовательских полей.
    - Когда вы создаете элемент сп вы заполняется фиксированные поля + пользовательские поля элемента.

    Таким образом, метод crm.item.update обновляет значения полей у элементов смарт-процесса.
    И на вход вы должны подавать ID элемента смарт-процесса, а не ID самого смарт-процесса.
    Ответ написан
    Комментировать
  • Как реализовать создание лида по каждому звонку?

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

    Тут подробнее https://helpdesk.bitrix24.ru/open/7292839/
    Ответ написан
    Комментировать
  • Как в уведомление вывести ссылку на задание БП?

    ReaverJS
    @ReaverJS
    Параллельно заданию БП - ставите уведомление, где просто в ссылке указываете id задания (доп. результат).
    5e5c0ebed072a949827153.png
    Параметры уведомления:
    [url=xxx.bitrix24.ru/company/personal/bizproc/{=A65499_72685_20284_67323:TaskId}/]{=Document:NAME}[/url]

    Тут {=A65499_72685_20284_67323:TaskId} - как раз id созданного задания (у вас будет свой). {=Document:NAME} - отображаемый заголовок ссылки.
    Ответ написан
    5 комментариев
  • Как получить значение вида деятельности ОКВЭД?

    Nikcet
    @Nikcet
    Привет
    Если я правильно понял, действия пользователя, грубо говоря, такие:
    1. Юзер вводит код в поле;
    2. В другом поле появляется его расшифровка из справочника.

    А в коде вы, судя по всему, пытаетесь подключиться к API одного из справочников?

    Если так, то ловите данные, хотя бы, не в тексте, а в json формате.
    А там и поля сможете получить.

    .then(response => response.json())

    Только прежде, чем получать данные оттуда, проверьте статус код.

    onResponse(res) {
            return res.ok ? res.json() : Promise.reject(`Error: ${res}`);
        }
    Ответ написан
    Комментировать
  • Как вывести календарный вид в умном фильтре свойство "Дата"?

    sabramovskikh
    @sabramovskikh
    Нужно сделать тип Дата/Время. Тогда в настройках можно выбрать тип в умном фильтре - календарь
    joxi.ru/KAgW9kVh4lqplA?d=1
    Ответ написан
    Комментировать