Функции для технического специалиста в 1С 8.3: включение, отладка, журналы

· 9 мин

Содержание

Чтобы включить функции для технического специалиста в 1С, откройте главное меню ☰ → Сервис → Параметры и поставьте галочку отображения технических функций. После перезапуска формы в меню ☰ появится пункт Функции для технического специалиста — полный список объектов базы: все справочники, документы, регистры, обработки и служебные инструменты.

Если галочки нет или пункт не появляется, дело почти всегда в правах: у роли пользователя должно быть право «Режим “Все функции”». Ниже — как это проверить, как запустить базу в режиме отладки, где настраивать журнал регистрации и технологический журнал и чем всё это мониторить.

Как включить функции для технического специалиста в интерфейсе «Такси»

В старых релизах платформы 8.3 пункт назывался «Все функции». В свежих его переименовали в «Функции для технического специалиста». Содержимое то же самое, поменялись только подписи.

Пошагово

  1. Нажмите кнопку ☰ в левом верхнем углу окна (или значок с тремя полосками рядом с заголовком).
  2. Выберите Сервис → Параметры.
  3. Найдите галочку в нижней части формы. В новых релизах она подписана «Режим технического специалиста» или «Отображать функции для технического специалиста», в старых — «Отображать команду “Все функции”».
  4. Поставьте галочку и нажмите Применить.
  5. Снова откройте ☰ — внизу списка появится Функции для технического специалиста.

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

Что внутри

В открывшемся окне — дерево по типам объектов метаданных:

  • 📁 Справочники, Документы, Журналы документов — в том числе те, которых нет в разделах интерфейса;
  • 📊 Регистры сведений, накопления, бухгалтерии, расчёта — можно открыть таблицу движений напрямую;
  • ⚙️ Обработки и Отчёты — встроенные служебные обработки конфигурации;
  • 🧰 Стандартные — инструменты платформы: «Активные пользователи», «Журнал регистрации», «Удаление помеченных объектов», «Управление итогами», «Регламентные и фоновые задания», «Управление полнотекстовым поиском».

Через Функции для технического специалиста удобно добраться до регистра, если отчёт показывает странную цифру. Открыли регистр, отфильтровали по регистратору — видно, какой документ сделал движение.

Как не искать нужный объект каждый раз

Дерево длинное: в Бухгалтерии в нём сотни объектов. Чтобы не листать его каждый раз, откройте нужный регистр или обработку и добавьте форму в избранное — звёздочка в заголовке окна. Ссылка появится в панели избранного, и следующий раз объект откроется в один клик.

Второй приём — поиск. В окне технических функций работает поиск по дереву (Ctrl+F): введите «Партии» или «Остатки», и дерево сократится до совпадений.

Если пункт не появился: права роли

Галочка и пункт меню показываются только пользователю с правом «Режим “Все функции”». Проверить и выдать его можно двумя путями.

СпособГдеКому подходит
Профиль групп доступаАдминистрирование → Настройки пользователей и прав → Группы доступа / Профили групп доступаТиповые конфигурации на БСП (Бухгалтерия, ЗУП, УТ, КА, ERP)
Роль в конфигуратореКонфигурация → Общие → Роли → права на корень конфигурацииСамописные и доработанные базы

В типовых конфигурациях у профиля «Администратор» право уже есть. Обычным бухгалтерам его, как правило, не дают: в списке объектов легко открыть регистр и вручную поправить запись в обход документов.

Выдавайте право на технические функции только тем, кто понимает, что редактирует. Ручная правка регистра ломает остатки и не оставляет следов в документах.

Запуск 1С в режиме отладки из командной строки

Отладка нужна, когда надо пройти код по шагам: посмотреть, на какой строке падает проведение, что лежит в переменных, сколько раз вызывается запрос. Для этого клиент 1С:Предприятия запускают с ключом /DEBUG.

Файловая база

Самый простой вариант — ярлык или команда:

"C:\Program Files\1cv8\8.3.xx.xxxx\bin\1cv8.exe" ENTERPRISE /F"D:\Bases\Buh" /DEBUG

Здесь 8.3.xx.xxxx — ваша версия платформы, /F — путь к каталогу базы. Для тонкого клиента вместо 1cv8.exe используется 1cv8c.exe.

Серверная база

"C:\Program Files\1cv8\8.3.xx.xxxx\bin\1cv8.exe" ENTERPRISE /S"srv1c\buh" /N"Admin" /P"пароль" /DEBUG

/S — сервер и имя базы в кластере, /N и /P — пользователь и пароль. Пароль в ярлыке — плохая привычка: любой, кто откроет свойства ярлыка, его увидит. Уберите /P, и платформа спросит пароль при входе.

Без командной строки

Ключ можно прописать в списке баз, чтобы не возиться с ярлыками:

  1. В окне запуска выделите базу → Изменить.
  2. Пройдите мастер до последней страницы.
  3. В поле «Дополнительные параметры запуска» впишите /DEBUG.
  4. Нажмите Готово.

Второй путь — запуск из конфигуратора: Отладка → Начать отладку (клавиша F5). Клиент сам стартует в режиме отладки и подключится к конфигуратору.

Отладка на сервере

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

Изменение параметров службы требует её перезапуска. При перезапуске службы сервера 1С оборвутся сеансы всех пользователей всех баз кластера. Делайте это вне рабочего времени и предупредите людей заранее.

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

Настройка журнала регистрации

Журнал регистрации — это «кто, когда и что сделал» в базе. Входы и выходы, запись документов, ошибки, удаление объектов. Его настраивают в конфигураторе.

Уровень записи

  1. Откройте базу в режиме Конфигуратор.
  2. Выберите Администрирование → Настройка журнала регистрации.
  3. Установите уровень.
УровеньЧто пишетсяКогда выбирать
Не регистрироватьНичегоПочти никогда: при инциденте не за что зацепиться
Регистрировать ошибкиТолько ошибкиСлабый диск, огромный поток событий
Регистрировать ошибки и предупрежденияОшибки + предупрежденияКомпромисс для крупных баз
Регистрировать ошибки, предупреждения и информациюПлюс информационные событияОбычный рабочий режим
Регистрировать все событияВключая примечанияРазбор конкретной проблемы, временно

В той же форме задаётся разбиение журнала по периодам (по дням, месяцам и т. д.) и сокращение — удаление записей старше выбранной даты. Перед сокращением журнал можно выгрузить в файл.

Где смотреть

  • в пользовательском режиме: Функции для технического специалиста → Стандартные → Журнал регистрации;
  • в типовых конфигурациях: Администрирование → Обслуживание → Журнал регистрации;
  • в конфигураторе: Администрирование → Журнал регистрации.

Файлы лежат в подкаталоге 1Cv8Log: у файловой базы — в каталоге базы, у серверной — в каталоге кластера на сервере. Новый формат — один файл 1Cv8.lgd, старый — набор .lgf и .lgp.

Для анализа задавайте отбор сразу: пользователь, период, событие. Журнал крупной базы за месяц без отбора открывается минутами.

Технологический журнал: когда журнала регистрации мало

Журнал регистрации показывает действия пользователей. Технологический журнал (ТЖ) показывает работу самой платформы: исключения, медленные запросы к СУБД, ожидания на блокировках, взаимоблокировки. Это главный инструмент, когда «1С тормозит» или «падает без понятной ошибки».

ТЖ включают файлом logcfg.xml. Его кладут в каталог conf платформы — например, C:\Program Files\1cv8\conf\. Платформа подхватывает изменения в файле примерно за минуту, перезапуск не нужен.

Пример: ошибки и долгие запросы

<?xml version="1.0" encoding="UTF-8"?>
<config xmlns="http://v8.1c.ru/v8/tech-log">
  <log location="D:\TechLog" history="24">
    <event>
      <eq property="name" value="EXCP"/>
    </event>
    <event>
      <eq property="name" value="TDEADLOCK"/>
    </event>
    <event>
      <eq property="name" value="TTIMEOUT"/>
    </event>
    <event>
      <eq property="name" value="DBMSSQL"/>
      <gt property="duration" value="1000000"/>
    </event>
    <property name="all"/>
  </log>
</config>

Что здесь происходит:

  • 🔴 EXCP — исключения платформы;
  • 🔒 TDEADLOCK и TTIMEOUT — взаимоблокировки и таймауты на управляемых блокировках;
  • 🐢 DBMSSQL с отбором duration — запросы к MS SQL дольше секунды. В 8.3 длительность пишется в микросекундах, поэтому 1000000 — это 1 секунда. Для PostgreSQL событие называется DBPOSTGRS;
  • 🗂 history="24" — хранить 24 часа, старые файлы платформа удаляет сама.

Правила безопасной работы с ТЖ

  • Каталог location — на отдельном диске с запасом места. Под полной нагрузкой ТЖ без отборов пишет гигабайты в час.
  • Включайте ровно те события, которые нужны для текущей задачи.
  • Закончили разбор — уберите <log> из файла или удалите logcfg.xml.
  • Учётной записи, под которой работает служба сервера 1С, нужны права на запись в каталог журнала.

Не включайте событие CALL или DBMSSQL без отбора по длительности на рабочем сервере: диск заполнится за часы, и база встанет.

Внешние инструменты мониторинга

Встроенные журналы отвечают на вопрос «что случилось». Чтобы видеть картину постоянно и ловить проблему до звонков пользователей, используют внешние инструменты.

ИнструментЧто показываетКому нужен
Консоль администрирования серверов 1ССеансы, соединения, рабочие процессы, память, лицензииЛюбому, у кого серверная база
Утилита racТо же, из командной строки: rac cluster list, rac session listДля скриптов и удалённого контроля; ключи — в rac help
Корпоративный инструментальный пакет (КИП): ЦУП, ЦКККлючевые операции, APDEX, анализ ТЖ и блокировокКрупные базы, сотни пользователей
Средства СУБД (профилировщик MS SQL, расширенные события, pg_stat_statements в PostgreSQL)Тяжёлые запросы, ожидания, блокировки на уровне СУБДКогда ТЖ указал на медленные запросы
Системный монитор Windows, top/htop в LinuxПроцессор, память, очередь диска по процессам rphost, rmngr, ragentПервичная диагностика «тормозов»

Связка работает так: монитор ОС показывает, что rphost съел процессор → консоль кластера показывает сеанс → ТЖ показывает конкретный запрос → средства СУБД объясняют, почему он медленный.

Из консоли кластера можно завершить сеанс или рабочий процесс. Завершение рабочего процесса обрывает все сеансы, которые он обслуживает, вместе с несохранёнными данными. Сначала попробуйте завершить один конкретный сеанс.

Частые ошибки при включении технических функций и отладки

Диагностика: выберите симптом

Ещё одна типичная ловушка — разные версии платформы. Если на компьютере установлено несколько релизов 8.3, ярлык с ключом /DEBUG может запускать не тот 1cv8.exe, что использует сервер. Конфигуратор и клиент для отладки должны быть одной версии с сервером.

Частые вопросы

Это опасно — включить функции для технического специалиста?
Сама галочка ничего не меняет в данных. Риск в том, что пользователь получает прямой доступ к регистрам и служебным обработкам и может вручную исправить записи в обход документов.
Можно ли включить режим всем пользователям сразу?
Галочка ставится каждым пользователем у себя. Администратор управляет только правом: без права «Режим “Все функции”» пользователь режим не включит.
Чем журнал регистрации отличается от технологического журнала?
Журнал регистрации пишет действия пользователей и ошибки прикладного уровня, он есть всегда. Технологический журнал пишет внутренние события платформы и включается вручную файлом logcfg.xml.
Работает ли отладка в веб-клиенте?
Да, но через HTTP-сервер отладки, который запускается из конфигуратора. Способ подключения задаётся в параметрах отладки конфигуратора, а клиент подключается к нему как к предмету отладки.
Нужно ли выключать ТЖ после разбора?
Да. Постоянно включённый ТЖ с широкими отборами нагружает диск и процессор. Оставлять на постоянной основе можно только узкий журнал исключений с коротким сроком хранения.