Убираем сбор статистики из bitrix

Задача: убираем из «голого» битрикс все сторонние скипты, тянущиеся с других ресурсов. Один из таких ресурсов — bitrix.info, который подтягивает bu.js

Решение: в файле .settings.php добавляем:

'analytics_counter'  => 
   array  (
     'value'  =>
     array  (
       'enabled'  =>  false ,
    ),
  ),

HelpDesk-z: класс для взаимодействия по API

Документация: https://docs.helpdeskz.com/en/latest/

С моими правками: https://github.com/donpadlo/helpdeskz-dev

В принципе эта ХелпДеск система уже умеет работать с API, осталось дело за малым — обернуть это всё в удобный класс для работы:

» Читать далее

Особенности установки helpdesk-z

К сожалению в руководстве по установке, процесс описан очень коротенько, и очень часто установка сводится к выводу сообщения:

Whoops! We seem to have hit a snag. Please try again later…

Чтобы улучшить информативность фреймворка, что же ему таки не хватает, можно временно добавить в index.php строчку:

define('ENVIRONMENT', 'testing');

Но! В этом случае после успешного прохождения всех шагов инсталляции, фремворк будет пытаться проходить тесты и писать результаты в SQLite3, что нам не нужно. Потому не забудьте эту строчку удалить.

Для локализации, достаточно скачать необходимый язык из https://github.com/helpdesk-z/translations, и в настройках поменять локаль на нужную

1С: ТабличныйДокумент поле объекта недоступно для записи

Это происходит если в этой ячейке содержится значение а не текст, при попытке записи текста. Поэтому делаем так:

		ТекОбласть = ТабличныйДокументВыписка.Область("R"+  Формат( НомерСтроки, "ЧГ=0") + "C" + 9);
		Если ТекОбласть.СодержитЗначение Тогда
			ТекОбласть.Значение=НомерФС;
		иначе
			ТекОбласть.Текст=НомерФС;
		конецесли

datatables.net: своя стилизация кнопок print и excel

Задача: кастомизировать внешний вид кнопок печати и экспорта, с выносом их в отдельный контейнер внизу экрана

Самый простой способ: отрисовка кнопок в своём контейнере, и навешивание эвента на их клик.

Определим CSS:

.hided {display:none}

datatables.net:

при выводе кнопок, сразу их скрываем, чуть ниже навесим на них эвент

        buttons: [
            {
            text: 'Добавить клиента',
                action: function ( e, dt, node, config ) {
                    AddUserPhone.value="";
                    AddUserName.value="";
                    AddUserPassword.value="";
                    if (owner_select.value>0){
                        $("#AddClientModal").modal("show");  
                    } else {
                        ToastMessage("error","Внимание!","Вам необходимо выбрать владельца");
                    };                                        
                }
            },
            {
                extend: 'excelHtml5',
                text:"",
                className:"hided"
            },            
            {
                extend: 'print',
                className:"hided",
                text:"",
            }
        ],

Контейнер:

рисуем кнопки, и навешиваем на них стандартное срабатывание по onclick

<div id="export_buttons">
    <div class="dt-buttons btn-group flex-wrap"> 
        <button onclick='$(".buttons-excel")[0].click();' class="btn buttons-excel buttons-html5 btn-link d-flex align-items-center" tabindex="0" aria-controls="clientsgrid" type="button">
            <span><i class="icons i_excel me-2"></i> Excel</span>
        </button> 
        <button onclick='$(".buttons-print")[0].click();' class="btn buttons-print btn-link d-flex align-items-center" tabindex="0" aria-controls="clientsgrid" type="button">
            <span><i class="icons i_print me-2"></i> Печать</span>
        </button> 
    </div>    
</div>

Результат:

1 75 76 77 78 79 308