Конфигурационные файлы 1С. Копипаста ИТС 1С.

Аватар пользователя
Администратор
Сообщений: 152
Зарегистрирован: 27 фев 2011, 17:40
Откуда: откуда и все :)
СообщениеДобавлено: 12 апр 2018, 14:32
Приложение 3. Описание и расположение служебных файлов
Данное приложение содержит описание и расположение различных служебных файлов, которые могут использоваться при работе «1С:Предприятия».

3.1. *.1ccr
Конфигурационный файл Web-сервиса для работы с удаленным хранилищем может иметь произвольное имя (расширение 1ccr обязательно), формат XML и содержит единственный узел с произвольным именем и атрибутом connectString – в этом атрибуте указывается адрес сервера хранилища в схеме tcp.

Например, такой конфигурационный файл может иметь имя repository.1ccr и следующее содержание:

<?xml version="1.0" encoding="UTF-8"?>
<repository connectString="tcp://RepServ"/>
В данном случае в качестве произвольного имени узла выбрано имя repository, а адрес сервера хранилища конфигурации – tcp://RepServ.

3.2. *.mft
Файл с расширение mft является файлом-манифестом – специальным файлом, описывающим шаблон конфигурации. Файл может иметь произвольное имя.

Файл располагается в каталоге установленного шаблона конфигурации.

Файл-манифест имеет произвольное имя и расширение mft. Внутренний формат файла-манифеста близок к формату ini-файла. Для поддержки нескольких языков файл-манифест использует кодировку UTF-8. В начале файла-манифеста указываются следующие параметры.

Vendor

Поставщик решения. Совпадает с указанным в конфигурации.

Name

Наименование решения. Совпадает с указанным в конфигурации.

Version

Версия решения. Совпадает с указанной в конфигурации.

AppVersion

Версия «1С:Предприятия», с помощью которой создавался комплект поставки.

Следующие параметры относятся к частям решения и разделяются наименованиями секций. Наименования секций выбираются произвольно и заключаются в квадратные скобки.

Source

Относительный путь к файлу конфигурации (cf), файлу обновления (cfu) или выгрузки базы данных (dt).

Catalog_<суффикс языка>

Наименование решения в каталоге решений. Параметров Catalog_<суффикс языка> в файле-манифесте может быть несколько. Суффикс определяет язык пользовательского интерфейса 1С:Предприятия 8 (например, ru для указания русского языка). Если суффикс языка не указан (имя параметра задано как Catalog), то значение этого параметра используется для всех пользовательских интерфейсов, кроме тех, для которых в данной секции указан параметр Catalog с нужным языковым суффиксом.

Destination

Рекомендуемый каталог создания информационной базы. Этот параметр используется при создании информационной базы из шаблона. Каталог представляет частичный путь. В качестве одной из частей каталог должен включать в себя каталог поставщика (во избежание совпадения имен каталогов у различных решений).

В каталоге шаблона конфигурации допускается наличие нескольких cfu-файлов.

Vendor=Фирма "1С"
Name=Управление Торговлей
Version=8.10.0.2
[Main]
Source=Main\1cv8.cf
Catalog_ru=Управление торговлей/Управление торговлей
Destination=1C\Trade
[Demo]
Source=Demo\1cv8.dt
Catalog_ru=Управление торговлей/Управление торговлей (Демо)
Destination=1C\DemoTrd
3.3. *.v8i
В данном приложении приводится описание формата файла описаний зарегистрированных информационных баз. Этот список используют все клиенты.

Файл располагается на локальном компьютере, в каталоге %APPDATA%\1C\1CEStart\ и по умолчанию имеет имя ibases.v8i.

Файл представляет собой текстовый документ в кодировке UTF-8 и состоит из секций. Каждая секция описывает одну информационную базу.

Файл состоит из секций описаний информационных баз.

Секция описания информационной базы:

[Наименование секции]
Connect=
ID=
OrderInList=
Folder=
OrderInTree=
External=
ClientConnectionSpeed=
App=
DefaultApp=
WA=
WSA=
Version=
DefaultVersion=
AdditionalParameters=
Секция состоит из наименования секции и параметров.

Наименование и каждый параметр секции записываются в отдельной строке файла описаний.

Наименование секции

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

Параметр может редактироваться в окне свойств информационной базы.

Пример:

[Демонстрационнаяверсия8.2]
ID

Внутренний идентификатор информационной базы (необязательный параметр).

Пример:

ID=cf9f0d4b-b4a3-11d8-861e-0050baaa2f3f
Connect необязательный

Строка соединения с информационной базой. Может существовать несколько описаний информационных баз, которые имеют одинаковую строку запуска (но разное наименование). Это может потребоваться, когда необходимо запускать одну базу в нескольких режимах запуска (например, тонкий и толстый клиенты), не меняя свойства информационной базы.

Пример:

Файловый вариант указывается в виде:

Connect=File=<Путь>;
Клиент-серверный вариант указывается в виде:

Connect=Srvr=<ИмяСервера1СПредприятия>;Ref=<ИмяИнформационнойБазыНаСервере>;
Folder необязательный

Наименование папки в дереве информационных баз.

ПРИМЕЧАНИЕ. Если наименование папки не указано или параметр опущен, то данная информационная база располагается в корне списка информационных баз.

Пример:

Folder=/Торговыебазы
OrderInList

Порядок в списке при представлении списком. Задается числом, которое является значением порядка информационной базы в списке баз (сортировка по наименованию не установлена).

Пример:

OrderInList=5
OrderInTree

Порядок в ветви при представлении деревом.

Пример:

OrderInTree=16358
UseProxy необязательный

Указывает на вариант использования прокси-сервера для варианта ws-соединения.

● 0 – прокси-сервер не используется;

● 1 – автоматическое определение настроек прокси-сервера;

● 2 – явное указание настроек прокси-сервера.

Если UseProxy не указан, то используется автоматическое определение настроек прокси-сервера. Для файлового и клиент-серверного варианта не имеет смысла.

Пример:

UseProxy=1
ProxyServer

Строка, содержащая адрес прокси-сервера (обязателен только в том случае, когда параметр UseProxy имеет значение 2).

Пример:

ProxyServer=192.168.0.1
ProxyPort

Номер порта прокси-сервера (обязателен только в том случае, когда параметр UseProxy имеет значение 2).

Пример:

ProxyPort=123
ProxyUser необязательный

Имя пользователя прокси-сервера.

Пример:

ProxyUser=userName
ProxyPassword необязательный

Зашифрованный пароль для прокси-сервера.

Пример:

ProxyPassword=XNKxbVEqnXUCwwk1Urovbo7bZFpG/Zpf6cQ10qVtzpk=
ClientConnectionSpeed

Скорость клиентского соединения (имеет смысл только для тонкого и веб-клиентов). Принимает значения:

● Normal – обычная скорость соединения;

● Low – низкая скорость соединения.

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

Пример:

ClientConnectionSpeed=Low
WA

Определяет вариант аутентификации пользователя. Принимает значения:

● 1 – пытаться выполнить аутентификацию средствами ОС. Если выполнено неудачно, запрашивается логин/пароль.

● 0 – всегда использовать аутентификацию с помощью логина/пароля.

Пример:

WA=1
WSA

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

● 1 – пытаться выполнить аутентификацию на веб-сервере средствами ОС. Если выполнено неудачно, запрашивается логин/пароль.

● 0 – всегда запрашивать логин/пароль.

Пример:

WSA=1
App

Определяет тип клиентского приложения:

● Auto – автоматический выбор типа клиентского приложения;

● ThinClient – тонкий клиент;

● ThickClient – толстый клиент;

● WebClient – веб-клиент.

Параметр может редактироваться в окне свойств информационной базы.

Пример:

App=Auto
DefaultApp

Тип клиента, который определяется и помещается в данный файл программой запуска при автоматическом определении типа клиентского приложения (ключ -AppAutoCheckMode):

● ThinClient – тонкий клиент;

● ThickClient – толстый клиент.

Если значение параметра App равно Auto и параметр DefaultApp не указан, выполняется запуск тонкого клиента с параметром командной строки -AppAutoCheckMode.

Если параметр DefaultApp задан, то выполняется запуск указанного в нем клиента с указанием параметра -AppAutoCheckMode.

Пример:

DefaultApp=ThinClient
Version

Версия «1С:Предприятия», которая должна использоваться для запуска информационной базы.

Параметр может редактироваться в окне свойств информационной базы.

Пример:

Version=8.2.9
DefaultVersion

Версия системы «1С:Предприятие», которая реально использовалась при последнем запуске данной информационной базы. Автоматически определяется и помещается в данный файл программой запуска, если выполняется запуск с параметром -AppAutoCheckVersion.

При последующих запусках будет использоваться именно эта версия, а не та, которая указана в параметре Version.

Пример:

DefaultVersion=8.2.9.100
AdditionalParameters

Содержит дополнительные параметры запуска, которые могут быть введены в окне свойств информационной базы, в элементе Дополнительные параметры запуска.

Пример:

AdditionalParameters=-DisplayAllFunctions -LogUI
3.4. 1CESCmn.cfg
Файл 1CESCmn.cfg содержит общие настройки программ запуска (1CEStart.exe и 1Cv8s.exe).

Файл располагается в каталоге, откуда выполняется установка системы в случае сетевого каталога расположения дистрибутивов (см. здесь).

Файл представляет собой текстовый документ в кодировке UTF-8 или UTF-16LE и содержит строки формата <Параметр>=<Значение>.

Описание файла эквивалентно описанию файла 1CEStart.cfg (см. здесь) с тем исключением, что общий конфигурационный файл не может содержать строку с параметром CommonCfgLocation.

Пример:

CommonInfoBases=ibcommon.v8i
DistributiveLocation=\\server\v82dst
В данном примере задается имя файла со списком общих информационных баз (ibcommon.v8i), который должен располагаться в том же каталоге, что и файл с интерактивной программой запуска (1CEStart.exe). Также задается каталог расположения дистрибутивов версий системы: \\server\v82dst.

3.5. 1CEStart.cfg
Файл 1CEStart.cfg содержит настройки, которые используют программы запуска (1CEStart.exe и 1Cv8s.exe), клиентские приложения (1Cv8.exe и 1Cv8c.exe) и внешнее соединение.

Файл располагается в следующих каталогах:

● %APPDATA%\1C\1CEStart – для конкретного пользователя. Файл изменяется при выполнении настроек окна запуска (см. здесь).

● %ALLUSERSPROFILE%\Application Data\1C\1CEStart (%ALLUSERSPROFILE%\1C\1CEStart для ОС Windows Vista и выше) – для всех пользователей компьютера. Файл изменяется только во время установки системы «1С:Предприятие».

Файл представляет собой текстовый документ в кодировке UTF-16LE и содержит строки формата <Параметр>=<Значение>. Далее приведены описания параметров, которые могут содержаться в этом файле.

Пример:

DefaultVersion=8.2.8-8.2.8.256
DefaultVersion=8.2.9-8.2.9.100
CommonCfgLocation=\\Server\v829\1CESCmn.cfg
CommonInfoBases=\\Server\common\common_dblist.v8i
InstalledLocation=C:\ProgramFiles\1cv82
DistributiveLocation=\\Server\dst1C\v82
ConfigurationTemplatesLocation=\\Server\tmplts
ConfigurationTemplatesLocation=C:\Documents and Settings\User\Application Data\1C\1Cv82\tmplts
InstallComponents=DESIGNERALLCLIENTS=1 THINCLIENT=1 WEBSERVEREXT=1 SERVER=1 CONFREPOSSERVER=0 CONVERTER77=1 SERVERCLIENT=1 LANGUAGES=RU
UseHwLicenses=0
DefaultVersion

Данный параметр определяет версию, используемую по умолчанию. Допускается наличие нескольких строк с таким параметром.

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

Пример 1:

DefaultVersion=8.2-8.2.9.150
Данная строка означает, что при попытке запуска информационной базы с указанием версии 8.2 будет использоваться версия 8.2.9.150.

Пример 2:

DefaultVersion=8.2.9-8.2.9.100
Данная строка означает, что при попытке запуска информационной базы с версией 8.2.9 будет использоваться версия 8.2.9.100.

CommonInfoBases

Параметр указывает путь и имя файла со списком общих информационных баз.

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

Описание формата файла со списком информационных баз см. здесь.

InstalledLocation

Параметр содержит указание на каталог, в который выполнена установка «1С:Предприятие». По умолчанию это значение C:\Program Files\1Cv82.

Используются значения из всех конфигурационных файлов в следующем порядке:

● из общего конфигурационного файла;

● из локального конфигурационного файла для всех пользователей;

● из локального конфигурационного файла.

ПРИМЕЧАНИЕ. Не рекомендуется использовать данный параметр в общем конфигурационном файле (1CESCmn.cfg).

DistributiveLocation

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

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

CommonCfgLocation

Параметр указывает путь и имя общего конфигурационного файла. Допускается наличие нескольких строк с таким параметром.

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

ПРИМЕЧАНИЕ. Не рекомендуется использовать данный параметр в общем конфигурационном файле (1CESCmn.cfg).

InstallComponents

В локальном конфигурационном файле и локальном конфигурационном файле для всех пользователей (1CEStart.cfg) содержится перечень установленных компонент.

В общем конфигурационном файле (1CESCmn.cfg) содержится перечень компонент, которые необходимо установить (формируется администратором системы).

Используется значение параметра из одного конфигурационного файла в соответствии со следующим приоритетом:

● локальный конфигурационный файл для всех пользователей;

● локальный конфигурационный файл;

● общий конфигурационный файл.

Параметр содержит строку компонентов с признаком необходимости установки, разделенных пробелом:

● 0 – не устанавливать;

● 1 – устанавливать.

Возможны следующие компоненты:

● DESIGNERALLCLIENTS – все клиенты и конфигуратор.

● THINCLIENT – тонкий клиент для клиент-серверного варианта работы.

● THINCLIENTFILE – тонкий клиент с возможностью работы с файловыми информационными базами.

● SERVER – сервер «1С:Предприятия». Если программа установки запускается из программы запуска, то сервер будет установлен как приложение.

● WEBSERVEREXT – компоненты расширения для веб-сервера.

● CONFREPOSSERVER – сервер хранилища конфигураций «1С:Предприятия».

● SERVERCLIENT – компоненты для администрирования кластера серверов «1С:Предприятия».

● CONVERTER77 – конвертер информационных баз из версии «1С:Предприятия 7.7».

● LANGUAGES – список языков интерфейса для установки. Если указано несколько языков, они перечисляются через «,». Перечень кодов языков локализации см. здесь.

ПРИМЕЧАНИЕ. Язык с кодом EN будет установлен даже в том случае, если он не указан в параметре LANGUAGES или не указан параметр LANGUAGES.

Пример:

LANGUAGES=RU,UK,BG
Пример параметра:

InstallComponents=DESIGNERALLCLIENTS=0 THINCLIENT=1 WEBSERVEREXT=0 SERVER=0 CONFREPOSSERVER=0 CONVERTER77=0 SERVERCLIENT=1 LANGUAGES=RU,EN
ConfigurationTemplatesLocation

Параметр указывает путь к каталогу шаблонов конфигураций. Может быть более одной записи.

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

UseHwLicenses

Параметр управляет поиском ключа защиты при запуске «1С:Предприятия»:

● 1 – поиск ключа защиты выполняется (значение по умолчанию);

● 0 – поиск ключа защиты не выполняется.

Используется значение параметра из одного конфигурационного файла в соответствии со следующим приоритетом:

● локальный конфигурационный файл;

● локальный конфигурационный файл для всех пользователей;

● общий конфигурационный файл.

Данный параметр позволяет отключить поиск ключа защиты в тех случаях, когда получение клиентских лицензий реализовано с помощью расширения веб-сервера, сервера «1С:Предприятия» или в случае базовой версии.

Значение параметра может изменяться системой в следующих случаях:

● Если поиск ключа защиты включен, то при старте клиентского приложения выполняется анализ времени поиска ключа защиты. Если ключ защиты не был найден, запуск выполнен успешно и время поиска превысило 3 секунды, пользователю предлагается отключить поиск ключа защиты для ускорения последующих запусков. В случае согласия пользователя в файл 1CEStart.cfg этого пользователя выполняется запись параметра UseHwLicenses=0.

● Если поиск ключа защиты отключен и при запуске обнаруживается, что лицензия не получена от сервера «1С:Предприятия» или расширения веб-сервера, то пользователю предлагается включить поиск ключа защиты. В случае согласия пользователя в файл 1CEStart.cfg этого пользователя выполняется запись параметра UseHwLicenses=1 и выполняется перезапуск клиентского приложения.

Если осуществляется запуск внешнего соединения, то выполняется попытка анализа параметра из файла 1CEStart.cfg, расположенного в профиле пользователя, от имени которого запускается внешнее соединение. Если у пользователя отсутствует профиль (например, пользователь LocalSystem в ОС Windows), то поиск ключа выполяется всегда.

3.6. adminstall.cfg
Файл adminstall.cfg указывает на то, что установка системы программ «1С:Предприятие» выполнялась с использованием средств администрирования операционной системы.

Файл располагается в каталоге конфигурационных файлов системы «1С:Предприятие» и представляет собой текстовый документ в кодировке UTF-8.

В файле может располагаться единственная строка, определяющая вариант установки:

AdmInstall=<Mode>
<Mode>

Описывает режим установки:

● Logon – установка выполнена с помощью logon-скрипта во время входа пользователя в домен.

● Restart – установка выполнена с помощью групповых политик.

Ниже приведен пример скрипта установки, который может использоваться для установки системы «1С:Предприятие» с помощью административных средств ОС Windows (см. здесь).

Option Explicit

' изменять интерфейс пользователя
Const msiUILevelNoChange = 0
'Использовать интерфейс пользователя, заданный по умолчанию
Const msiUILevelDefault = 1
'Не отображать интерфейс пользователя (молчаливая установка)
Const msiUILevelNone = 2
'Только индикатор прогресса и отображение ошибок

Const msiUILevelBasic = 3
'Интерфейс пользователя без диалоговых сообщений

Const msiUILevelReduced = 4
'Полный интерфейс пользователя
Const msiUILevelFull = 5
'Если используется с msiUILevelBasic, то отображается индикатор
'прогресса без кнопки Cancel
Const msiUILevelHideCancel = 32
'Если используется с msiUILevelBasic, то отображается индикатор
'прогресса без отображения любых диалогов, в т. ч. и ошибок.
Const msiUILevelProgressOnly = 64
'Если используется с любым из перечисленных значений, инсталлятор
'выводит сообщение в конце установки о конечном результате.
Const msiUILevelEndDialog = 128

'***** Необходимо изменить на реальный каталог установки
Const DistrFolder="\\Server\1CDistr\"

Const shortcutName = "Запуск 1C Предприятия"
Dim shortcutTarget: shortcutTarget = DistrFolder & "1cestart.exe"

'Константы для определения действия
' требуется установка
Const requiredInstall = 1
' требуется удаление
Const requiredUninstall = 0

'Значение параметра ProductCode из файла setup.ini...
'... для удаляемой версии
Const unInstallUID="{9173B91C-FF56-4F25-82D1-7F68244044CD}"
'... для устанавливаемой версии
Const InstallUID="{0BC98727-04AD-470F-9EEE-0162C543833F}"

'процедура установки или удаления указанной версии продукта
Sub installOrUninstall (ByVal productCode, ByVal msiPackage, ByVal mstTransform, ByVal requiredAction)
'productCode – Информация о коде продукта. Находится в файле
' setup.ini, ключ ProductCode
'msiPackage – Установочный пакет 1CEnterprise

'mstTransform – файл языкового преобразования для инсталлятора
'requiredAction – требуемое действие requiredInstall или
' requiredUninstall

'Переменная для формирования дополнительных
' параметров инсталлятору
Dim cmdLine

On Error Resume Next

Dim installer, session

Set installer = Nothing
Set session = Nothing
Set installer = Wscript.CreateObject("WindowsInstaller.Installer"): processError
installer.UILevel = msiUILevelBasic 'msiUILevelNone 'или укажите другой вариант интерфейса пользователя
'проверка установки продукта
Set session = installer.OpenProduct(productCode)


If session Is Nothing AND requiredAction = requiredInstall Then
'продукт не установлен, и требуется его установка

cmdLine = "TRANSFORMS=adminstallrelogon.mst;"
If Not mstTransform Is Empty Then
'добавим указание инсталлятору разговаривать на указанном языке
cmdLine = cmdLine & mstTransform
'можно дополнительно указать, какие компоненты нужно установить

'cmdLine = cmdLine & " DESIGNERALLCLIENTS=1 THINCLIENT=1 WEBSERVEREXT=0 SERVER=0 CONFREPOSSERVER=0 CONVERTER77=0 SERVERCLIENT=1 LANGUAGES=RU"
End If
'установим платформу
Set session = installer.InstallProduct(msiPackage, cmdLine): processError
'создадим ярлык на рабочем столе
createShurtcut()

ElseIf Not session Is Nothing AND requiredAction = requiredUninstall Then
'платформа уже установлена, и требуется ее удаление
'обьект session может быть только один!
Set session = Nothing
'укажем, что нужно удалить с компьютера пользователя эту версию

cmdLine = "REMOVE=ALL"
'удалим
Set session = installer.InstallProduct(msiPackage, cmdLine): processError
End If

Set session = Nothing
Set installer = Nothing

End Sub


'обработка ошибок
Sub processError
Dim msg
If Err = 0 Then Exit Sub
msg = Err.Source & " " & Hex(Err) & ": " & Err.Description
Wscript.Echo msg
Wscript.Quit 2
End Sub

'создание ярлыка
Sub createShurtcut
Dim WshShell, oShellLink
Set WshShell = WScript.CreateObject("WScript.Shell")
Dim strDesktop: strDesktop = WshShell.SpecialFolders("Desktop")
Set oShellLink = WshShell.CreateShortcut(strDesktop & "\" & shortcutName & ".lnk")
oShellLink.TargetPath = shortcutTarget
oShellLink.WindowStyle = 1
oShellLink.Description = shortcutName
oShellLink.Save
Set oShellLink = Nothing
Set WshShell = Nothing
End Sub

'удалим версию 260
installOrUninstall unInstallUID, DistrFolder + "8.2.9.260\setup\1CEnterprise 8.2.msi", "1049.mst", requiredUninstall
'установим версию 356
installOrUninstall InstallUID, DistrFolder + "8.2.9.356\setup\1CEnterprise 8.2.msi", "1049.mst", requiredInstall
3.7. appsrvrs.lst
Содержит список серверов «1С:Предприятия», зарегистрированных в утилите администрирования информационных баз в варианте клиент-сервер.

Расположен в каталоге %APPDATA%\1C\1Cv82.

Пример:

C:/Documents and Settings/User/Local Settings/Application Data/1C/
1Cv82/appsrvrs.lst
C:/Users/User/AppData/Roaming/1C/1Cv82/appsrvrs.lst
3.8. comcntrcfg.xml
Файл comcntrcfg.xml служит для указания внешнему соединению необходимости запуска в отладочном режиме.

Файл располагается в каталоге конфигурационных файлов системы «1С:Предприятие», и его наличие не является обязательным.

Если файл не найден, внешнее соединение открывается в обычном режиме.

Пример:

<config xmlns="http://v8.1c.ru/v8/comcntrcfg">
<debugconfig debug="true" debuggerURL="tcp://localhost:1560"/>
</config>
Элемент debugconfig имеет атрибуты, которые описаны ниже.

Атрибут debug

Тип: Булево. Указывает необходимость запуска в отладочном режиме:

● debug="true" – отладка включена;

● debug="false" – отладка выключена.

debug="true"
Атрибут debuggerURL

Тип: Строка. Указывает адрес отладчика, к которому нужно автоматически подключиться для отладки, где localhost указывает на поиск на локальном компьютере, 1560 – номер сетевого порта. Если порт не указан, то будут проверяться все порты в диапазоне 1560—1591. Указание tcp:// эквивалентно tcp://localhost. Если адрес отладчика не указан, в процессе исполнения кода на встроенном языке отладка производиться не будет.

debuggerURL="tcp://localhost:1560"
3.9. conf.cfg
Файл conf.cfg определяет расположение каталога общих конфигурационных файлов и язык интерфейса системы по умолчанию.

Файл может быть расположен:

● в каталоге bin\conf каталога конкретной версии «1С:Предприятия»;

● в каталоге C:\Program Files\1Cv82\conf.

Файл представляет собой текстовый документ в кодировке UTF-8.

В файле могут быть указаны следующие параметры:

ConfLocation

Параметр определяет каталог, в котором система будет выполняться поиск конфигурационных файлов (logcfg.xml, nethasp.ini и т. д.), в том случае, если они не найдены по стандартным путям поиска. Данный параметр имеет смысл, если файл расположен в каталоге bin\conf конкретной версии.

По умолчанию значение параметра равно C:\Program Files\1Cv82\conf.

Пример:

ConfLocation=C:\MySettings\8.2\conf
SystemLanguage

Параметр определяет язык интерфейса системы. В качестве значения параметра могут быть указаны коды языков интерфейса (см. здесь) или значение System. Если указано значение языка, то будет использоваться именно этот язык. Если указано значение System, то язык интерфейса будет определяться локализацией операционной системы.

Если указан несуществующий язык локализации, то будет выполнена попытка использовать язык локализации в соответствии с региональными установками операционной системы. Если пользовательский интерфейс на указанном языке не установлен, то будет использован английский интерфейс.

Если файл conf.cfg с указанием языка интерфейса расположен в каталоге bin\conf конкретной версии, то указанный язык интерфейса будет использован для конкретной версии, а если этот файл расположен в каталоге C:\Program Files\1Cv82\conf, то указанный язык интерфейса будет использован для всех установленных версий на данном компьютере.

Если в конфигурационном файле параметр SystemLanguage не указан, то будет использован механизм определения языка интерфейса с помощью файла *.res. Если файл с расширением *.res отсутствует, при запуске будет выбираться интерфейс, соответствующий региональным установкам операционной системы. Указание неизвестного или несуществующего кода языка интерфейса эквивалентно отсутствию такого файла.

Пример:

SystemLanguage=System
Использовать язык интерфейса в соответствии с региональными установками операционной системы.

SystemLanguage=RU
Использовать русский (RU) язык интерфейса.

3.10. debugcfg.xml
Файл debugcfg.xml предназначен для настройки дополнительного диапазона портов, используемого при отладке конфигураций.

Файл располагается в каталоге конфигурационных файлов системы «1С:Предприятие», и его наличие не является обязательным.

Если файл не найден, то для отладки используются порты из стандартного диапазона (1560–1591). Предметы отладки на сервере используют те же порты, что и процессы сервера: rmngr и rphost. Указания дополнительных диапазонов портов для предметов отладки на сервере не требуется.

Пример:

<config xmlns="http://v8.1c.ru/v8/debugcfg">
<debugports range="1540:1550"/>
</config>
Элемент debugports имеет атрибуты, которые описаны ниже.

Атрибут range

Тип: Строка. Содержит дополнительный диапазон портов, используемых при отладке.

3.11. def.usr
Файл хранится в каталоге %APPDATA%\1C\1Cv82\<Уникальный идентификатор информационной базы> и содержит имя пользователя, который последним открывал данную информационную базу.

Пример:

C:/Documents and Settings/User/Application Data/1C/1Cv82/
4129dbdb-b495-41cb-99ea-ef315060a03e/def.usr
C:/Users/User/AppData/Roaming/1C/1Cv82/
4129dbdb-b495-41cb-99ea-ef315060a03e/def.usr
3.12. default.vrd
Данный файл служит для настройки веб-клиента и использования Web-сервисов и находится в каталоге виртуального приложения.

ПРИМЕЧАНИЕ. Формат ссылок, используемых в данном файле, должен соответствовать RFC 1738 (http://www.faqs.org/rfcs/rfc1738.html), RFC 2396 (http://www.faqs.org/rfcs/rfc2396.html).

Корневым элементом конфигурационного файла является элемент <point>, который определяет настройки виртуального ресурса. Он может содержать по одному элементу <zones>, <ws>, <pool>, <debug> и <openid>. При этом в элементе <ws> допустимо несколько вложенных элементов <point>, а для элемента <zones> допустимо несколько вложенных элементов <zone>:

<poin...>
<ws...>
<point>...</point>
<zones>
<zone>...</zone>
<zone>...</zone>
</zones>
<point>...</point>
</ws>
<pool.../>
<debug.../>
<openid>
<rely... />
<provider>
<lifetime>...<lifetime>
</provider>
<openid>
</point>
Пример:

<?xml version="1.0" encoding="UTF-8"?>
<point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
base="/demo"
ib="Srvr=&quot;tcp://Server&quot;;Ref=&quot;demo&quot;;" enable="false">
<ws>
<point name="OperationalData" alias="OperData"/>
<point name="AnalyticalData" alias="AnalytData"/>
</ws>
<pool size="50" maxAge="10" attempts="2"/>
<debug enable="true" url="tcp://localhost"/>
<zones>
<zone value="8214" safe="true"/>
<zone value="last" specify="true" />
</zones>
</point>
Корневой элемент файла default.vrd может содержать следующие атрибуты.

Атрибут base

Элемент base указывает на относительный путь (относительно корневого каталога сайта) к папке виртуального приложения.

СОВЕТ. Рекомендуется задавать имя папки виртуального приложения с использованием только символов US ASCII.

Пример:

base="/demoMA"
Атрибут ib

Содержит строку подключения к информационной базе «1С:Предприятия». Следует помнить о том, что для файлового варианта и варианта клиент-сервер строки подключения выглядят по-разному.

ПРИМЕЧАНИЕ. Если в строке подключения встречаются символы, недопустимые с точки зрения стандарта XML (http://www.w3.org/TR/xml11/), то эти символы должны быть соответствующим образом заменены.

Пример файловой базы:

ib="File=c:/bases/demo;"
Пример клиент-серверной базы:

ib="Srvr=&quot;tcp://myServer&quot;;Ref=&quot;mybase&quot;;"
В строке подключения можно указать логин и пароль пользователя. В этом случае подключение к информационной базе будет выполняться от имени указанного пользователя. В следующем примере подключение будет осуществляться от имени пользователя Продавец:

ib="Srvr=&quot;tcp://myServer&quot;;Ref=&quot;mybase&quot;;Usr=Продавец;Pwd=123;"
Однако если в командной строке запуска клиентского приложения указан логин и пароль, то подключение будет выполняться с параметрами, указанными в командной строке.

Атрибут enable

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

http://host/demo
В противном случае (атрибут имеет значение false) работа с помощью тонкого клиента и веб-клиента невозможна.

Значение по умолчанию: true (работа с помощью тонкого клиента и веб-клиента разрешена).

Атрибут temp

Позволяет указать каталог временных файлов для работы расширения веб-сервера (wsisapi.dll, wsap22.dll, wsapch2.dll) или файлового варианта информационной базы. Если атрибут не задан, то:

● для файловой информационной базы используется подкаталог 1Cv8Tmp каталога, в котором расположен файл информационной базы.

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

3.12.1. Элемент ws
Элемент содержит настройки публикации Web-сервисов, подчинен элементу <point>. Элемент <ws> может быть один или ни одного. Данный элемент может содержать произвольное количество элементов <point>.

Данный элемент может содержать следующие атрибуты.

Атрибут enable

Отвечает за возможность работы Web-сервисов в данной информационной базе. Если атрибут имеет значение true (или атрибут отсутствует), работа Web-сервисов возможна. В противном случае (атрибут имеет значение false) работа Web-сервисов невозможна.

Значение по умолчанию: true (работа Web-сервисов разрешена).

Атрибут pointEnableCommon

Отвечает за возможность использования Web-сервисов в данной информационной базе, которые опубликованы без явного указания разрешения использования (атрибут enable элемента point). Если атрибута имеет значение true, то все Web-сервисы, для которых явно не указано значение атрибута enable элемента point будут разрешены для использования. В противном случае использование таких Web-сервисов будет запрещено.

Значение по умолчанию: true (работа Web-сервисов разрешена).

3.12.1.1 Элемент point
Элемент содержит описание публикуемого Web-сервиса. Элемент подчинен элементу <ws>. Элементов <point> может быть не менее одного.

Данный элемент может содержать следующие атрибуты.

Атрибут name

Имя публикуемого Web-сервиса. Обращение к сервису возможно как по ссылке, включающей имя Web-сервиса, так и по ссылке, включающей синоним Web-сервиса.

Для Web-сервиса, описанного строкой:

...
base="/demo"
...
<point name="OperationalData" alias="OperData"/>
Обращение возможно следующими способами:

http://host/demo/ws/OperationalData
http://host/demo/ws/OperData
СОВЕТ. Рекомендуется задавать имя Web-сервиса с использованием только символов US ASCII.

Атрибут alias

Синоним публикуемого Web-сервиса. Обращение к сервису возможно как по ссылке, включающей имя Web-сервиса, так и по ссылке, включающей синоним Web-сервиса.

Для Web-сервиса, который опубликован следующим образом:

...
base="/demo"
...
<point name="OperationalData" alias="OperData"/>
Обращение возможно следующими способами:

http://host/demo/ws/OperationalData
http://host/demo/ws/OperData
СОВЕТ. Рекомендуется задавать синоним Web-сервиса с использованием только символов US ASCII.

Атрибут enable

Признак разрешения или запрета использования конкретного Web-сервиса.

Значение по умолчанию: true (публикация разрешена).

3.12.2. Элемент pool
Элемент содержит настройки пула соединений с информационной базой. Элемент <pool> может быть один или ни одного.

Данный элемент может содержать следующие атрибуты:

Атрибут size

Размер пула – максимальное количество соединений в пуле.

Значение по умолчанию равно 100.

Атрибут maxAge

Время жизни соединения в пуле – максимальное время жизни соединения в пуле, в секундах. Если в течение указанного времени соединение не было востребовано, оно будет удалено из пула.

Значение по умолчанию равно 20 с.

Атрибут attempts

Максимальное количество попыток установки соединения с сервером «1С:Предприятия».

Значение по умолчанию равно 5.

Атрибут attemptTimeout

Время ожидания установления соединения с сервером «1С:Предприятия», в секундах.

Значение по умолчанию равно 0,5 с.

Атрибут waitTimeout

Время ожидания между попытками установления соединения с сервером «1С:Предприятия», в секундах.

Значение по умолчанию равно 0,5 с.

Пример:

<pool size="50" maxAge="10" attempts="2" attepmtTimeout="1" waitTimeout="1"/>
3.12.3. Элемент debug
Атрибут enable

Указывает необходимость запуска в отладочном режиме:

● enable="true" – отладка включена;

● enable="false" – отладка выключена.

Атрибут url

Указывает адрес отладчика, к которому нужно автоматически подключиться для отладки, где localhost указывает на поиск на локальном компьютере, «1560» – номер сетевого порта. Если порт не указан, то будут проверяться все порты в диапазоне портов 1560–1591. Указание tcp:// эквивалентно tcp://localhost. Если адрес отладчика не указан, в процессе исполнения кода на встроенном языке отладка производиться не будет.

Пример:

<debug enable="true" url="tсp://localhost"/>
3.12.4. Элемент zones
Элемент <zones> подчинен элементу <point> и может быть один или ни одного. Элементу <zones> подчинен один или несколько элементов <zone>.

Данный элемент не содержит атрибутов.

3.12.4.1 Элемент zone
Каждый элемент <zone> описывает один разделитель. Порядок следования элементов <zone> в элементе <zones> соответствует порядку следования разделителей в конфигураторе. При изменении порядка следования разделителей следует изменить файл default.vrd. Количество элементов <zone> не должно превышать количество разделителей. Если количество элементов будет больше, чем количество разделителей, то при подключении к информационной базе, опубликованной таким образом, будет вызвано исключение. Если количество элементов меньше количества разделителей, то для неуказанных разделителей значением будет являться значение по умолчанию для типа разделителя, а использование разделителя будет выключено.

Элемент <zone> может содержать следующие атрибуты.

Атрибут safe

Определяет возможность изменения значений объектов, связанных с механизмом разделения данных в том случае, если доступ к информационной базе осуществляется с помощью веб-клиента или тонкого клиента, подключенного через веб-сервер. Этот атрибут нужно использовать в том случае, когда нужна гарантия, что при доступе к информационной базе через Интернет будет невозможно получить доступ к другой области данных.

Значение по умолчанию: false (изменения разрешены).

Если значение атрибута равно true, то в сеансе, использующем данную публикацию информационной базы, запрещено:

● Выключать использование разделителя, если разделение не является условно выключенным.

● Изменять значение используемого разделителя, если разделение не является условно выключенным.

● Изменять объекты, которые управляют условным разделением:

● указанные для самого разделителя;

● указанные для объектов, входящих в состав разделителя.

Атрибут specify

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

Значение по умолчанию: false (разделитель не участвует в формировании адреса).

Атрибут value

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

Неуказанное значение атрибута value совместно с атрибутом specify, установленным в значение false, интерпретируется как отсутствие значения разделителя (соответствует значению «-» в значении параметра Zn строки соединения).

Если для атрибута specify указано значение true и для атрибута value указано значение, то это значение (без учета регистра символов) должно быть явно указано в строке адреса информационной базы в соответствующей позиции. В противном случае при попытке доступа к информационной базе будет получена ошибка с кодом 404 (не удалось найти веб-страницу).

Символы, недопустимые в URL (RFC 1738, http://www.faqs.org/rfcs/rfc1738.html), преобразуются в кодировку UTF-8 и кодируются в соответствии с разделом 2.2. URL Character Encoding Issues стандарта RFC 1738 (с помощью символа «%» и двух шестнадцатеричных символов).

Пример файла default.vrd:

<?xml version="1.0" encoding="UTF-8"?>
<point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
base="/test"
ib="File=&quot;с:\base&quot;;">
<ws enable="false"/>
<zones>
<zone value="8214" safe="true"/>
<zone specify="true" />
<zone />
<zone specify="true" />
<zone value="last" specify="true" />
</zones>
</point>
В данном примере в прикладном решении определено 5 разделителей. Адрес информационной базы будет выглядеть следующим образом:

http://hostname/test/01/20101231235959/last
Что будет интерпретировано следующим образом:

http://hostname/test – адрес собственно информационной базы.

● Первый разделитель не должен быть указан в адресе (значение атрибута specify по умолчанию равно false), его значение равно 8214, и нельзя программно управлять данным разделителем (значение атрибута safe равно true). Остальными разделителями допустимо управлять программно, т. к. значение атрибута safe для элементов zone не задано, а значение по умолчанию (false) разрешает программное управление.

● Второй разделитель должен быть указан в адресе (значение атрибута specify равно true), и его значение равно 01.

● Третий разделитель отключен.

● Четвертый разделитель должен быть указан в адресе (значение атрибута specify равно true), и его значение равно 31-12-2010 23:59:59.

● Последний разделитель должен быть указан в адресе, и его значение должно быть только last.

Такой вариант указания разделителей может использоваться для тонкого клиента, работающего через веб-сервер, в веб-клиенте и для Web-сервисов.

В случае одновременного указания значений разделителей разными способами значения разделителей, которые будут использоваться в сеансе, определяются следующим образом:

● Если в файле default.vrd задан элемент <zones>, то значения разделителей, указанных в адресе информационной базы, имеют наивысший приоритет. При этом:

● Значения, указанные в параметре запуска (параметр Z), игнорируются.

● Значения, указанные в строке соединения с информационной базой, игнорируются (параметр Zn в атрибуте ib элемента <point>).

● Если в файле default.vrd не задан элемент <zones>, то:

● Выполняется попытка определить значения разделителей из параметра Z строки адреса.

● Если параметр не указан, то выполняется попытка использовать значения, указанные в строке соединения с информационной базой (параметр Zn в атрибуте ib элемента <point>).

● В общем случае приоритет мест указания значений разделителей следующий (приоритет уменьшается сверху вниз):

● Адрес информационной базы (если в файле default.vrd указан элемент <zones>).

● Командная строка запуска (параметр Z).

● Строка соединения информационной базы (параметр Zn в атрибуте ib элемента <point>).

3.12.5. Элемент openid
Данный элемент описывает настройки, связанные с OpenID-аутентификацией. Элемент <openid> подчинен элементу <point> и может быть один или ни одного. Элементу <openid> подчинены элементы <rely> и <provider>. Подчиненные элементы могут быть или в единственном числе или отсутствовать.

Данный элемент не содержит атрибутов.

3.12.5.1 Элемент rely
Элемент содержит адрес информационной базы, выступающей в роли OpenID-провайдера.

Атрибут url

Указывает URL информационной базы «1С:Предприятия», выступающей в роли OpenID-провайдера. Информационная база должна быть опубликована особым образом.

ВНИМАНИЕ! Взаимодействие с OpenID-провайдером осуществляется только по HTTPS-соединению.

Пример:

<rely url="https://myserver.org/users-ib/e1cib/oid2op"/>
3.12.5.2 Элемент provider
Элемент указывает, что данная информационная база выступает в роли OpenID-провайдера. Данному элементу подчинен элемент <lifetime>, который может быть один или ни одного.

Пример:

<?xml version="1.0" encoding="UTF-8"?>
<point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
base="/demo"
ib="Srvr=&quot;tcp://Server&quot;;Ref=&quot;demo&quot;;" enable="false">
<openid>
<provider/>
</openid>
</point>
3.12.5.2.1. Элемент lifetime
Элемент указывает время жизни признака аутентифицированности идентификатора в секундах. Если не указан, то значением по умолчанию является 86 400 секунд (24 часа). Максимальное время жизни признака аутентифицированности идентификатора составляет 604 800 секунд (7 суток). При указании значения элемента lifetime более максимального значения, будет использовано максимальное значение.

Пример:

<?xml version="1.0" encoding="UTF-8"?>
<point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
base="/demo"
ib="Srvr=&quot;tcp://Server&quot;;Ref=&quot;demo&quot;;" enable="false">
<openid>
<provider>
<lifetime>432000</lifetime>
<provider>
</openid>
</point>
3.13. inetcfg.xml
Файл inetcfg.xml позволяет задавать настройки прокси по умолчанию и имеет больший приоритет над настройками прокси по умолчанию в Windows.

Файл располагается в каталоге конфигурационных файлов системы «1С:Предприятие», и его наличие не является обязательным.

Если он отсутствует, то настройки в Windows берутся из настроек Internet Explorer.

В ОС Linux файл inetcfg.xml должен присутствовать, если есть необходимость работать с использованием прокси.

При настройке прокси можно использовать информацию User-Agent из HTTP-запроса:

● тонкий клиент – 1CV8C;

● Web-сервис – 1C+Enterprise/8.2;

● веб-клиент – данный параметр формирует веб-браузер.

Пример:

<InternetProxy
protocols="http=10.1.0.8:8080 10.1.0.9:8080"
user="proxyUser"
password="proxyPassword"
bypassOnLocal="true"
bypassOnAddresses="127.0.0.1 *.master"
/>
Корневой элемент InternetProxy, задающий настройки прокси по умолчанию, имеет рассмотренную ниже структуру (атрибуты).

Атрибут ntlm необязательный

Тип: Булево. Признак использования механизма NTLM-аутентификации:

● true – NTLM-аутентификация включена;

● false – выключена.

По умолчанию NTLM-аутентификация включена.

Атрибут protocols необязательный

Тип: Строка. Задает имя и порт хоста для протоколов. Имеет следующий формат:

ПараметрыПроксиПротокола1ПараметрыПроксиПротокола2...ПараметрыПроксиПротоколаN
ПараметрыПроксиПротокола:=[Протокол]"="хост":"порт
Список параметров прокси-протоколов разделен пробелами. Каждый параметр состоит из необязательного имени протокола, знака “=”, имени хоста и порта прокси-сервера, разделенных двоеточием. Если имя протокола не указано, то параметры прокси используются для всех протоколов, для которых они явно не указаны. Протоколы могут иметь следующие имена:

● http,

● https,

● ftp.

Регистр является значимым, другие имена протоколов не поддерживаются, например:

protocols="http=10.1.0.8:8080 10.1.0.9:8080"
Где:

● для протокола http определены параметры прокси: хост – 10.1.0.8, порт – 8080;

● для остальных протоколов (https, ftp): хост – 10.1.0.9, порт – 8080.

Атрибут user необязательный

Тип: Строка. Имя пользователя для аутентификации на прокси-сервере, например:

user="proxyUser"
Атрибут password необязательный

Тип: Строка. Пароль пользователя для аутентификации на прокси-сервере. Пример:

password="proxyPassword"
Атрибут bypassOnLocal необязательный

Тип: Булево. Признак того, использовать ли прокси-сервер для локальных адресов:

● true – не использовать;

● false – использовать.

Локальность адреса определяется по наличию точки в DNS имени адреса (т. е. все IP-адреса не являются локальными). Поэтому может получиться так, что фактически локальный адрес не распознается как локальный.

Например, <пользовать>.<домен> является в Windows XP локальным адресом, но не распознается как локальный. Для того чтобы запретить использовать прокси для адресов, которые воспринимаются как локальные, используется следующий параметр:

bypassOnLocal="true"
Для всех остальных адресов нужно использовать параметр bypassOnAddresses.

Атрибут bypassOnAddresses необязательный

Тип: Строка. Список адресов, для которых прокси не используется. Имеет следующий формат:

хост1 хост2... хостN
Имена хостов разделяются пробелами. Имя хоста может содержать специальные символы маски: * – любое количество символов, ? – любой символ. Например, чтобы блокировать прокси для всех хостов домена, нужно использовать: *.<имя домена>, например:

bypassOnAddresses="127.0.0.1 *.master"
В примере для адреса 127.0.0.1 (localhost) и для всех адресов домена master прокси не используется.

3.14. logcfg.xml
Файл logcfg.xml служит для настройки параметров технологического журнала и механизма генерации дампов памяти при аварийном завершении работы системы «1С:Предприятие».

Файл располагается в каталоге конфигурационных файлов системы «1С:Предприятие», и его наличие не является обязательным.

Если файл не найден, то технологический журнал имеет следующие настройки по умолчанию:

● Технологический журнал выключен.

● Технологический журнал по умолчанию включен.

● Технологический журнал по умолчанию сохраняется в каталог %USERPROFILE%\Local Settings\1C\1Cv82\logs (%LOCALAPPDATA%\1C\1Cv82\logs для ОС Windows Vista и выше). Информация удаляется из технологического журнала по умолчанию через 24 часа.

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

● Сохраняются минимальные дампы при аварийном завершении работы системы.

● Дампы сохраняются в каталог %USERPROFILE%\Local Settings\Application Data\1C\1Cv82\dumps (%LOCALAPPDATA%\1C\1Cv82\dumps для ОС Windows Vista и выше).

Пример:

<config xmlns="http://v8.1c.ru/v8/tech-log">
<log location="c:\v82\logs" history="1">
<event>
<eq property="name" value="conn"/>
</event>
</log>
<dump location="c:\v82\dumps" create="1" type="2"/>
</config>
Данный конфигурационный файл указывает на следующее:

● в технологическом журнале регистрируются все события установки и разрыва клиентского соединения с сервером;

● файлы технологического журнала располагаются в каталоге c:\v82\logs;

● файлы технологического журнала хранятся в течение одного часа;

● файлы дампа помещаются в каталог c:\v82\dumps;

● файлы дампа содержат всю доступную информацию (содержимое всей памяти процесса).

СОВЕТ. Для редактирования файла конфигурации технологического журнала удобно использовать специальный инструмент, расположенный на диске ИТС: Технологическая поддержка – 1С:Предприятие 8 – Универсальные отчеты и обработки – Настройка технологического журнала (http://its.1c.ru/db/metod81#browse:13:-1:1338:1700).

3.14.1. Структура конфигурационного файла
Корневым элементом конфигурационного файла является элемент <config>, который определяет настройки технологического журнала. Он может содержать несколько элементов <log>, один элемент <dump>, один элемент <leaks>, один элемент <plansql>, один элемент <defaultlog>, один или несколько элементов <system>:

<config...>
<log...>...</log>
<log...>...</log>
<log...>...</log>
<dump... />
<leaks>...</leaks>
<mem/>
<plansql/>
<system... />
<system... />
<system... />
<defaultlog ... />
</config>
Эти элементы отвечают за следующее:

● Элемент <log> определяет каталог технологического журнала и его состав (см. здесь).

● Элемент <dump> определяет каталог для записи дампов аварийного завершения (см. здесь).

● Элемент <leaks> устанавливает отслеживание утечек памяти (см. здесь), которые могут быть вызваны ошибками в коде конфигурации. Отслеживание утечек памяти несколько снижает производительность.

● Элемент <mem> предназначен для учета используемой памяти (см. здесь).

● Элемент <plansql> предназначен для управления сбором планов запроса, формируемых при работе различных СУБД (см. здесь). Собственно планы запросов содержатся в свойстве <planSQLText> событий, связанных с СУБД.

● Элемент <defaultlog> определяет каталог и время жизни технологического журнала по умолчанию (см. здесь).

● Элемент <system> определяет настройки формирования системных событий (см. здесь).

Элементы можно разделить на несколько групп:

1. Элементы, которые управляют формированием того или иного события. К таким элементам относятся <dump>, <leaks>, <mem>, <plansql>, <system>. При этом, если в файле настройки технологического журнала не указан нужный элемент, то соответствующее событие не формируется системой. Другими словами, если, например, учет используемой памяти не включен элементом <mem>, то наличие отбора по событию MEM никак не повлияет на наполнение технологического журнала, т. к. событие просто не формируется.

2. Элементы, которые задают отбор для уже сформированных данных технологического журнала. К таким элементам относятся <event> и <property>. С помощью этих элементов можно «обрабатывать» те события, которые сформированы системой. С помощью этих элементов можно только уменьшить количество данных, записываемых в файлы технологического журнала.

3. Элементы, которые управляют расположением файлов с данными (технологический журнал и дампы). К таким элементам можно отнести <log>, <defaultlog>, <dump>.

3.14.1.1 Элемент log
Элемент <log> определяет каталог технологического журнала и условия отбора, по которым в технологический журнал помещаются ранее сформированные события.

Атрибуты элемента:

Атрибут location

Имя каталога, в котором будет размещаться технологический журнал.

ВНИМАНИЕ! Необходимо иметь в виду, что каталог технологического журнала не предназначен для хранения в нем файлов, которые не относятся к технологическому журналу. Поэтому не следует размещать в нем дампы или использовать каталог, который может содержать файлы, не относящиеся к технологическому журналу «1С:Предприятия». Если в каталоге, который указан в качестве каталога технологического журнала, имеются посторонние файлы, то указание каталога считается неверным, и технологический журнал не создается.

ПРИМЕЧАНИЕ. В элементах <log>, <dump> и <defaultlog> следует указывать разные каталоги в атрибутах location.

Атрибут history

Количество часов, через которое информация будет удаляться из технологического журнала.


В элемент <log> могут быть вложены элементы <event> и <property>, состав которых определяет условие записи в журнал каждого события и условия записи каждого свойства события.

Если этот элемент не содержит ни одного элемента <event>, то никакие события в журнал записываться не будут.

3.14.1.2 Элемент event
Последовательность элементов <event> определяет условие, при выполнении которого событие будет помещено в журнал. В журнал помещаются только такие события, которые удовлетворяют условию. Иначе говоря, если условие, определяемое последовательностью элементов <event>, принимает значение Истина, то событие будет записано в журнал. Событие включается в журнал, если оно удовлетворяет всем условиям внутри хотя бы одного из элементов <event>. То есть условия внутри <event> объединяются по И, а элементы <event> объединяются по ИЛИ.

Условия задаются элементами:

● eq – равно;

● ne – не равно;

● gt – больше;

● ge – больше или равно;

● lt – меньше;

● le – меньше или равно;

● like – соответствие маске.

Каждый из этих элементов, кроме элемента like, определяет простое сравнение значения параметра события (имя которого задается атрибутом property) со значением атрибута value.

Пример:

<event>
<eq property="name" value="proc"/>
</event>
В данном случае в технологическом журнале будут регистрироваться события, относящиеся к группе с именем PROC.

Доступны следующие имена групп событий.

ADMIN

Управляющие воздействия администратора кластера серверов системы «1С:Предприятие».

CALL

Входящий удаленный вызов (удаленный вызов на стороне приемника вызова).

CONN

Установка или разрыв клиентского соединения с сервером.

DB2

Исполнение операторов SQL СУБД DB2.

DBMSSQL

Исполнение операторов SQL СУБД Microsoft SQL Server.

DBPOSTGRS

Исполнение операторов SQL СУБД PostgreSQL.

DBORACLE

Исполнение операторов SQL СУБД Oracle Database.

DBV8DBENG

Исполнение операторов SQL файловой СУБД.

EXCP

Исключительные ситуации приложений системы «1С:Предприятие», которые штатно не обрабатываются и могут послужить причиной аварийного завершения серверного процесса или подсоединенного к нему клиентского процесса.

EXCPCNTX

События, которые начались, но не закончились в момент возникновения нештатной ситуации.

HASP

Событие описывает одно обращение к аппаратному ключу защиты.

LEAKS

События, связанные с утечкой памяти, которые могут быть вызваны ошибками в коде конфигурации.

MEM

События, связанные с увеличением объема памяти, занятой серверными процессами (ragent, rmngr, rphost).

PROC

События, относящиеся к процессу целиком и влияющие на дальнейшую работоспособность процесса. Например: старт, завершение, аварийное завершение и т. п.

QERR

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

SCALL

Исходящий удаленный вызов (исходящий вызов на стороне источника вызова).

SCOM

События создания или удаления серверного контекста, обычно связанного с информационной базой.

SDBL

События, связанные с исполнением запросов к модели базы данных системы «1С:Предприятие».

SESN

Действия, относящиеся к сеансу работы. Например: начало сеанса, окончание сеанса и т. д.

SYSTEM

Системные события механизмов платформы, предназначенные для анализа специалистами фирмы «1С».

TDEADLOCK

Обнаружена взаимоблокировка в управляемом режиме.

TTIMEOUT

Превышение максимального времени ожидания транзакционной блокировки.

TLOCK

Управление транзакционными блокировками в управляемом режиме.

VRSCACHE

Работа кеша серверных вызовов.

VRSREQUEST

Запрос к серверу за некоторым ресурсом.

VRSRESPONSE

Ответ сервера.


Также следует заметить, что события из групп PROC, SCOM, EXCP, CONN и ADMIN возникают относительно редко и содержат небольшое количество информации, в то время как регистрация событий из групп SDBL, DB2, DBMSSQL, DBPOSTGRS, DBORACLE может приводить к значительному росту объема технологического журнала.

Элемент like определяет, соответствует ли свойство события технологического журнала некоторой маске. Маска представляет собой последовательность символов, некоторые из которых означают сами себя, а некоторые являются шаблонами и служат для описания группы символов.

Например, элемент <like property="SDBL" value="%reference%"/> означает проверку значения свойства SDBL события технологического журнала на соответствие маске %reference%.

К шаблонам относятся:

● % – 0 или более произвольных символов.

● _ – 1 произвольный символ.

● [...] – один из перечисленных символов, причем [...] может содержать произвольные символы, а также диапазоны вида с-С, где с – начальный символ диапазона, С – конечный символ диапазона.

● [^...] – один любой символ, кроме перечисленных в скобках [].

● \ – префиксный символ. Игнорируется и означает, что следующий за ним символ – это просто символ, означающий сам себя (а не шаблон).

● Все другие символы – это простые символы, которые означают сами себя. При сравнении простых символов регистры букв не различаются.

Примеры шаблонов:

● шаблон – строка с конкретным текстом. В этом случае сравнение like не отличается от сравнения eq. Регистры букв не различаются.

● %reference% – строка, содержащая контекст reference в произвольном месте. Регистры букв не различаются.

● reference% – строка, содержащая контекст reference в начале. Регистры букв не различаются.

● %reference – строка, содержащая контекст reference в конце. Регистры букв не различаются.

● %[a-z] – строка с маленькой английской буквой от a до z в конце.

● %[^a-z]% – строка, содержащая хотя бы один символ, отличающийся от маленькой английской буквы.

ЗАМЕЧАНИЕ. Фильтрация событий по шаблонам медленнее, чем при использовании других элементов сравнения. Использование сложной фильтрации событий и свойств технологического журнала может несколько замедлить работу системы «1С:Предприятие».

Пример:

<log location="c:\logs" history="1">
<event>
<eq property="name" value="proc"/>
</event>
<event>
<eq property="name" value="scom"/>
</event>
<event>
<eq property="name" value="conn"/>
</event>
<event>
<eq property="name" value="excp"/>
</event>
<event>
<eq property="name" value="dbmssql"/>
</event>
</log>
В данном примере указывается, что в технологическом журнале будут регистрироваться события, относящиеся к группам PROC, SCOM, CONN, EXCP и DBMSSQL.

3.14.1.3 Элемент property
Элемент <property> определяет условия попадания в журнал значения свойства события, имя которого является значением атрибута name при условии, что само событие попадает в технологический журнал. Условия задаются вложенными элементами <event> по таким же правилам, что и для событий.

Если элемент <property> с определенным именем отсутствует, то соответствующее свойство не пишется. Если элемент <property> не содержит вложенных элементов <event>, то определяемое им свойство пишется для всех событий, попадающих в журнал, в которых оно присутствует. Если элемент <property> содержит вложенные элементы <event>, то свойство будет записано только для событий, удовлетворяющих условию (если само событие в журнал записывается и событие имеет данное свойство).

Элемент <property name="all"> </property> включает записи в журнал всех свойств событий.

Приведенный ниже элемент <log> определяет запись в журнал событий: процесса, серверного контекста, соединения, исключений и исполнение операторов SQL. Причем текст оператора SQL будет помещен в журнал, только если он исполнялся более секунды. Журнал располагается в каталоге c:\logs и хранится 1 час.

Пример:

<log location="c:\logs" history="1">
<event>
<eq property="name" value="proc"/>
</event>
<event>
<eq property="name" value="scom"/>
</event>
<event>
<eq property="name" value="conn"/>
</event>
<event>
<eq property="name" value="excp"/>
</event>
<event>
<eq property="name" value="dbmssql"/>
</event>
<property name="sql">
<event>
<eq property="name" value="mssql"/>
<gt property="duration" value="10000"/>
</event>
</property>
</log>
Каждое событие имеет набор свойств. Каждое свойство имеет имя. Возможно присутствие в событии нескольких свойств с одинаковыми именами. Имена свойств могут использоваться для фильтрации событий и свойств. Большие и малые буквы при сравнении имен не различаются. Пустое условие в элементе <property> будет означать, что свойство будет выводиться при любом условии.

ПРИМЕЧАНИЕ. Свойство события выводится, только если для него присутствует элемент <property>.

Далее перечислены основные свойства событий, которые могут потребоваться для настройки конфигурационного файла или просмотра технологического журнала:

● Admin – имя администратора кластера или центрального сервера.

● All – включает запись всех событий журнала.

● Body – размер в байтах тела запроса/ответа (для событий VRSREQUEST, VRSRESPONSE).

● Calls – количество обращений клиентского приложения к серверному приложению через TCP.

● Class – имя класса, в котором сгенерировано событие (только для события SYSTEM).

● Cluster – номер основного порта кластера серверов.

● сn – количество занятых процессом фрагментов динамической памяти на момент вывода события MEM.

● сnd – изменение количества занятых процессом фрагментов динамической памяти с момента вывода предыдущего события MEM.

● Component – имя компоненты платформы, в которой сгенерировано событие (только для события SYSTEM).

● Connection – номер соединения с информационной базой.

● Context – контекст исполнения.

● dbpid – строковое представление идентификатора соединения сервера системы «1С:Предприятие» с сервером баз данных в терминах сервера баз данных (для событий DBMSSQL, DBPOSTGRS, DB2, DBORACLE).

● DeadlockConnectionIntersections – список пар транзакций, образующих взаимную блокировку (для события TDEADLOCK).

● Descr – пояснения к программному исключению.

● dumpError – описание ошибки, произошедшей в процессе построения дампа.

● DumpFile – имя файла с дампом.

● Duration – длительность события в десятитысячных долях секунды.

● Err – консольное сообщение:

● 0 – информационные;

● 1 – об ошибке.

● Exception – наименование программного исключения.

● Finish – причина завершения процесса.

● File – имя файла, в котором было сгенерировано событие (тольяко для события SYSTEM).

● Func – наименование выполняемого действия:

● beginTransaction – начало транзакции (событие типа SDBL выводится в журнал в момент начала транзакции и не имеет длительности).

● transaction – начало транзакции (событие типа SDBL начинается при начале транзакции, заканчивается при завершении транзакции).

● commitTransaction – фиксация транзакции.

● rollbackTransaction – отмена транзакции.

● setRollbackOnly – установка флажка наличия в транзакции ошибки (ее можно только откатить).

● getTransactionSplitter – получение разделителя итогов.

● quickInsert – быстрая вставка данных в таблицу базы данных.

● insertRecords – добавление записи в таблицу базы данных.

● suspendIndexing – отмена индексирования таблиц базы данных.

● resumeIndexing – восстановление индексирования таблиц базы данных.

● holdConnection – удержание соединения.

● saveObject – сохранение объекта.

● restoreObject – восстановление объекта.

● readFile – чтение файла.

● createFile – создание файла.

● deleteFile – удаление файла.

● searchFile – поиск файла.

● modifyFile – обновление файла.

● isProperLocale – проверка национальных настроек, установленных для базы данных.

● changeLocale – изменение национальных настроек базы данных.

● takeKeyVal – получение значения ключа записи табличной части.

● lockRecord – блокировка записи.

● serializeTable – сохранение данных таблицы в файл.

● deserializeTable – восстановление данных таблицы базы данных из файла.

● xlockTables – установка исключительной блокировки на таблицу.

● xlockTablesShared – установка разделяемой блокировки на таблицу.

● copyMoveFile – копирование/перемещение фрагмента конфигурации между записями таблиц базы данных.

● moveFile – перемещение файла.

● securedInsert – вставка записей с наложением ограничений доступа к данным.

● selectFileName – выбор имени файла.

● setSingleUser – установка монопольного режима.

● insertIBRegistry – создание кластера.

● eraseIBRegistry – удаление кластера.

● setRegMultiProcEnable – установка значения флажка поддержки кластером многих рабочих процессов.

● setServerProcessCapacity – установка значения пропускной способности рабочего процесса.

● agentAuthenticate – аутентификация администратора центрального сервера.

● insertAgentUser – добавление администратора центрального сервера.

● eraseAgentUser – удаление администратора центрального сервера.

● setRegSecLevel – установка уровня безопасности кластера.

● setRegDescr – установка описания кластера.

● setInfoBaseDescr – установка описания информационной базы.

● insertServerProcess – добавление рабочего процесса.

● eraseServerProcess – удаление рабочего процесса.

● regAuthenticate – аутентификация администратора кластера.

● insertRegUser – добавление администратора кластера.

● eraseRegUser – удаление администратора кластера.

● setServerProcessEnable – установка значения флажка разрешения запуска рабочего процесса.

● insertRegServer – добавление рабочего сервера.

● eraseRegServer – удаление рабочего сервера.

● updateRegServer – изменение параметров рабочего сервера.

● authenticateAdmin – аутентификация администратора информационной базы.

● createInfoBase – создание информационной базы.

● dropInfoBase – удаление информационной базы.

● killClient – разрыв соединения клиента с кластером серверов системы «1С:Предприятие».

● authenticateSrvrUser – аутентификация администратора кластера в рабочем процессе.

● setInfoBaseConnectingDeny – установка режима блокировки установки соединений с информационной базой.

● lookupTmpTable – получение/создание временной таблицы базы данных.

● returnTmpTable – освобождение временной таблицы базы данных.

● start – начало сеанса (событие типа SESN выводится в журнал в момент начала сеанса и не имеет длительности).

● finish – окончание сеанса (событие типа SESN выводится в журнал в момент окончания сеанса, и длительность события равна длительности всего сеанса).

● attach – назначение сеанса соединению (событие типа SESN выводится в момент отмены назначения соединению сеанса). Длительность показывает, сколько времени сеанс был назначен соединению.

● busy – сеанс уже назначен соединению (событие типа SESN выводится при попытке назначения соединению сеанса, который уже назначен). Не имеет длительности.

● wait – ожидание назначения (событие типа SESN выводится в момент окончания ожидания назначения сеанса соединению). Длительность события равна времени ожидания соединения. Если соединению назначается сеанс, который уже назначен, то текущий поток текущего соединения ожидает отмены назначения сеанса другому соединению.

● setSrcProcessName – означает создание общих данных информационной базы в рабочем процессе и назначение им общего имени. Событие записывается при подключении первого пользователя к информационной базе через данный рабочий процесс или при выполнении динамического обновления конфигурации информационной базы.

● Headers – HTTP-заголовки запроса/ответа (для событий VRSREQUEST, VRSRESPONSE).

● Method – HTTP-метод обращения к ресурсу (для событий VRSREQUEST, VRSRESPONSE).

● Host – имя компьютера.

● Level – уровень важности события (только для события SYSTEM). Возможные значения события приведены в описании элемента <system> файла настройки технологического журнала logcfg.xml (см. здесь).

● Line – номер строки в файле, в которой было сгененрировано событие SYSTEM.

● Locks – список управляемых транзакционных блокировок (для события TLOCK).

● Name – имя события.

● NParams – количество параметров оператора SQL для файлового варианта информационной базы (событие DBV8DBENG). Параметры, количество которых указано в данном свойстве, используются для передачи длинных двоичных данных.

● OSException – описание исключения операционной системы.

● Phrase – текстовая фраза, соответствующая коду состояния (для событий VRSRESPONSE).

● planSQLText – план запроса, содержащегося в свойстве Sql (для событий DBV8DBENG, DBMSSQL, DBPOSTGRS, DB2, DBORACLE).

● Process – наименование приложения, как его представляет операционная система (имя файла загрузочного модуля приложения).

● p:processName – имя серверного контекста, который обычно совпадает с именем информационной базы.

● Port – номер основного сетевого порта процесса.

● ProcessName – наименование процесса.

● Ref – имя информационной базы.

● Regions – имена пространств управляемых транзакционных блокировок (для события TLOCK).

● Rows – количество полученных записей базы данных.

● RowsAffected – количество измененных записей базы данных.

● RunAs – режим запуска процесса (приложение или сервис).

● Sdbl – текст запроса на встроенном языке модели базы данных.

● ServerComputerName – имя рабочего сервера.

● SessionID – номер сеанса, назначенный текущему потоку. Если текущему потоку не назначен никакой сеанс, то свойство не добавляется.

● Status – код состояния http (для событий VRSRESPONSE).

● srcProcessName – записывается при освобождении общих данных информационной базы рабочим процессом. Значением свойства ProcessName является имя общих данных на момент освобождения. Значением свойства srcProcessName является имя общих данных информационной базы на момент их создания.

● Sql – текст оператора SQL.

● SyncPort – номер вспомогательного сетевого порта процесса.

● sz – объем занятой процессом динамической памяти на момент вывода события MEM (в байтах).

● szd – изменение объема динамической памяти, занятой процессом, с момента вывода предыдущего события MEM (в байтах).

● t:applicationName – идентификатор клиентской программы.

● t:clientID – идентификатор соединения с клиентом по TCP.

● t:computerName – имя клиентского компьютера.

● t:connectID – идентификатор соединения с информационной базой.

● Trans – идентификатор активности транзакции на момент начала события:

● 0 – транзакция не была открыта;

● 1 – транзакция была открыта.

● Txt – текст информационного сообщения.

Для события HASP данное свойство содержит исходные данные и результат обращения к ключу в следующем формате: <Операция>(<Список входных параметров>)-><Список выходных параметров>. При этом:

● <Операция> – операция, выполняемая в данном обращении к ключу.

● <Список входных параметров> – список входных параметров операции и их значения, перечисленные через запятую.

● <Список выходных параметров> – список выходных параметров операции и их значения, перечисленные через запятую.

Полный список операций, их параметров и результатов, содержится в книге Руководстве разработчика HASP (http://www3.safenet-inc.com/support/has ... .aspx#docs).

● URI – ресурс, к которому производится обращение (для событий VRSREQUEST, VRSRESPONSE).

● Usr – имя пользователя информационной базы (если в информационной базе не определены пользователи, это свойство будет иметь значение DefUser). Значение свойства берется из назначенного сеанса.

● IB – имя информационной базы (для события SESN).

● Nmb – номер сеанса (для события SESN).

● Val – значение, смысл зависит от значения параметра Func.

● WaitConnections – список соединений, с которыми идет столкновение по управляемым транзакционным блокировкам (для событий TLOCK и TTIMEOUT).

Используя свойства элемента <property>, в технологический журнал можно записывать контекст исполнения. Контекст исполнения может быть двух видов: контекст встроенного языка и интерфейсный контекст. Контекст встроенного языка представляет собой список операторов встроенного языка и содержит в себе:

● название модуля;

● номер строки модуля;

● текстовое представление элемента списка вызова встроенного языка соответствующей строки модуля.

Интерфейсный контекст включает в себя:

● полное имя формы;

● тип активного элемента формы;

● имя активного элемента формы;

● имя кнопки командной панели (если она была нажата);

● действие, выполняемое элементом формы;

Например, контекст встроенного языка в файле технологического журнала может иметь следующий вид:

Документ.ПриходнаяНакладная:23:Движения.УчетНоменклатуры.Записать();
МодульПриложения:18:ПроверитьПодключениеОбработчикаОжидания(Истина);
МодульПриложения:230:ЕслинпПолучитьЗначениеПоУмолчанию(глТекущийПользователь,"ИспользоватьНапоминания")
ОбщийМодуль.нпНастройкиПользователей:481:Выборка=Запрос.Выполнить().Выбрать();
Интерфейсный контекст в файле технологического журнала может иметь такой вид:

{Документ.Документ1.ФормаСписка}/{ТабличноеПоле:
ДокументСписок}/{ОбновлениеОтображения}
{Документ.Документ1.Форма.ФормаДокумента}/{КоманднаяПанель:
ОсновныеДействияФормы}/{ОсновныеДействияФормыОК}
{Документ.Документ1.Форма.ФормаДокумента}/{Кнопка:
Кнопка1}/{Нажатие}
Чтобы включить запись контекста, нужно среди фильтров свойств записать элемент <property name="Сontext"> или элемент <property name="all">.

Если нужно записывать события SDBL (SDBL-запросы) и DBMSSQL (операторы SQL к СУБД MS SQL Server) с контекстом исполнения, то содержимое файла настройки технологического журнала будет выглядеть следующим образом:

<config xmlns="http://v8.1c.ru/v8/tech-log">
<log location="c:\v82\logs" history="1">
<event>
<eq property="name" value="sdbl"/>
</event>
<event>
<eq property="name" value="dbmssql"/>
</event>
<property name="context">
</property>
</log>
</config>
Чтобы записывать события SDBL (SDBL-запросы) и DBMSSQL (операторы SQL к СУБД MS SQL Server) без контекста исполнения, файл настройки технологического журнала нужно заполнить следующим образом:

<config xmlns="http://v8.1c.ru/v8/tech-log">
<log location="c:\v82\logs" history="1">
<event>
<eq property="name" value="sdbl"/>
</event>
<event>
<eq property="name" value="dbmssql"/>
</event>
</log>
</config>
Чтобы записывать события SDBL (SDBL-запросы) и DBMSSQL (операторы SQL к СУБД MS SQL Server) без контекста исполнения, но со всеми другими свойствами, файл настроек должен содержать:

<config xmlns="http://v8.1c.ru/v8/tech-log">
<log location="c:\v82\logs" history="1">
<event>
<eq property="name" value="sdbl"/>
</event>
<event>
<eq property="name" value="dbmssql"/>
</event>
<property name="all">
</property>
<property name="context">
<eq property="name" value=""/>
</property>
</log>
</config>
Для того чтобы записывать события SDBL (SDBL-запросы) с контекстом исполнения и DBMSSQL (операторы SQL к СУБД MS SQL Server) без контекста исполнения, содержимое файла настройки должно иметь следующий вид:

<config xmlns="http://v8.1c.ru/v8/tech-log">
<log location="c:\v82\logs" history="1">
<event>
<eq property="name" value="sdbl "/>
</event>
<event>
<eq property="name" value="dbmssql"/>
</event>
<property name="context">
<event>
<eq property="name" value="sdbl"/>
</event>
</property>
</log>
</config>
Наличие элемента <property name="Context"> означает, что для записываемых в журнал событий при выполнении условий, указанных в данном элементе, будет записана информация о контексте. После этого в каждое событие технологического журнала будет добавлена информация о контексте исполнения в текущем процессе, а после события будет добавлено мгновенное событие, несущее информацию о контексте исполнения клиентского процесса.

В технологический журнал могут быть записаны сообщения об исключительных ситуациях, связанных с менеджером блокировок. Для этого файл конфигурации должен иметь примерно следующий вид:

<config xmlns="http://v8.1c.ru/v8/tech-log">
<log location="c:\v82\logs" history="7">
<event>
<eq property="name" value="excp"/>
</event>
<event>
<eq property="name" value="tlock"/>
<gt property="duration" value="100000"/>
</event>
<property name="all"/>
<property name="context">
<event>
<eq property="name" value=""/>
</event>
</property>
</log>
<dump location="c:\v82\dumps" create="1" type="2"/>
</config>
В приведенном примере будут регистрироваться все исключительные ситуации, связанные с блокировками (в частности, DEADLOCK – взаимные блокировки соединений и TIMEOUT – истечение предопределенного времени, при этом в обоих случаях в текст сообщения об исключительной ситуации включается номер соединения, которое вызвало эту исключительную ситуацию), и ожидания, превысившие 10 секунд. При этом будет записана информация по всем свойствам, кроме Context.

3.14.1.4 Элемент dump
Элемент <dump> определяет параметры дампа, создаваемого при аварийном завершении приложения. Чтобы отключить запись дампов, нужно в элементе <dump> установить значение параметра create = "0" или create = "false". Если элемент <dump> отсутствует, то для записи дампов будет использоваться каталог %USERPROFILE%\Local Settings\Application Data\1C\1Cv82\Dumps (для ОС Windows).

ВНИМАНИЕ! Для ОС Linux настройка формирования дампов выполняется средствами ОС. Поэтому элемент <dump> игнорируется. Подробнее о настройке формирования дампов в ОС Linux см. здесь.

Атрибуты элемента:

Атрибут location

Имя каталога, в который будут помещаться файлы дампов.

ПРИМЕЧАНИЕ. В элементах <log>, <dump> и <defaultlog> следует указывать разные каталоги в атрибутах location.

Атрибут create

Создавать или не создавать файл дампа.

● 0 ("false") – не создавать;

● 1 ("true") – создавать.

Атрибут type

Тип дампа, произвольная комбинация приведенных ниже флажков, представленная в десятичной или шестнадцатеричной системе (сложение значений флагов). Представление в шестнадцатеричной системе должно начинаться с символа ‘x’, например, x0002.

Доступны следующие значения:

● 0 (x0000) – минимальный;

● 1 (x0001) – дополнительный сегмент данных;

● 2 (x0002) – содержимое всей памяти процесса;

● 4 (x0004) – данные хэндлов;

● 8 (x0008) – оставить в дампе только информацию, необходимую для восстановления стеков вызовов;

● 16 (x0010) – если стек содержит ссылки на память модулей, то добавить флажок флаг 64 (0x0040);

● 32 (x0020) – включить в дамп память из-под выгруженных модулей;

● 64 (0x0040) – включить в дамп память, на которую есть ссылки;

● 128 (x0080) – добавить в дамп подробную информацию о файлах модулей;

● 256 (0x0100) – добавить в дамп локальные данные потоков;

● 512 (0x0200) – включение в дамп памяти из всего доступного виртуального адресного пространства.

СОВЕТ. Для большинства случаев достаточно в качестве значения атрибута type использовать значение 3, например, type="3".

Атрибут prntscrn

Создавать или нет файл копии экрана при аварийном завершении клиентской части системы «1С:Предприятие». Имя файла совпадает с именем дампа, но имеет расширение png. Файлы копий экрана создаются в том же каталоге, что и дампы (см. атрибут location).

● 0 ("false") – не создавать;

● 1 ("true") – создавать.

При аварийном завершении программы «1С:Предприятие» система выдает диалог с информацией о процессе записи дампа, который автоматически закрывается после завершения записи дампа.

3.14.1.5 Элемент leaks
Элемент <leaks> устанавливает отслеживание утечек памяти, вызванных проблемами кода конфигурации. По умолчанию отслеживание утечек выключено и не влияет на производительность системы.

Для того чтобы включить сбор данных об утечках, в файле logcfg.xml следует добавить элемент <leaks>: <leaks collect="1"> или <leaks collect="true">.

Чтобы отключить отслеживание утечек памяти, следует изменить элемент <leaks>: <leaks collect="0"> или <leaks collect="false">.

Если отслеживание утечек включено, то в разрезе пользователей контролируется создание и удаление следующих объектов:

● Форма,

● УправляемаяФорма,

● ФиксированнаяСтруктура,

● ФиксированноеСоответствие,

● ДанныеФормыСтруктура,

● ДанныеФормыКоллекция,

● ДанныеФормыСтруктураСКоллекцией,

● ДанныеФормыЭлементКоллекции,

● ДанныеФормыДерево,

● ДанныеФормыКоллекцияЭлементовДерева,

● ДанныеФормыЭлементДерева,

● РегистрБухгалтерииМенеджер,

● РегистрБухгалтерииНаборЗаписей,

● ПланСчетовМенеджер,

● ПланСчетовОбъект,

● ПланОбменаМенеджер,

● ПланОбменаОбъект,

● ХранилищаНастроекМенеджер,

● РегистрНакопленияМенеджер,

● РегистрНакопленияНаборЗаписей,

● ПланВидовХарактеристикМенеджер,

● ПланВидовХарактеристикОбъект,

● КонстантаМенеджер,

● ДокументМенеджер,

● ДокументОбъект,

● ПеречислениеМенеджер,

● ВнешняяОбработка,

● ВнешнийОтчет,

● РегистрСведенийМенеджер,

● РегистрСведенийНаборЗаписей,

● ОбработкаМенеджер,

● Обработка,

● СправочникМенеджер,

● СправочникОбъект,

● ОтчетМенеджер,

● Отчет,

● ПоследовательностьНаборЗаписей,

● БизнесПроцессМенеджер,

● БизнесПроцессОбъект,

● ЗадачаМенеджер,

● ЗадачаОбъект,

● ПланВидовРасчетаМенеджер,

● ПланВидовРасчетаОбъект,

● РегистрРасчетаМенеджер,

● РегистрРасчетаНаборЗаписей,

● ПерерасчетНаборЗаписей,

● COMSafeArray,

● КлючИЗначение,

● Массив,

● ФиксированныйМассив,

● Соответствие,

● Структура,

● ЭлементСпискаЗначений,

● СписокЗначений,

● ТаблицаЗначений,

● СтрокаТаблицыЗначений,

● ДеревоЗначений,

● СтрокаДереваЗначений.

Утечки отслеживаются между начальной и конечной контрольной точкой в коде. В начальной контрольной точке выполняется очистка данных об утечках для текущего пользователя. В конечной контрольной точке выполняется формирование и вывод в технологический журнал события LEAKS, в котором для каждого неосвобожденного экземпляра объекта будет указан стек встроенного языка на момент его создания.

В качестве контрольных точек могут использоваться:

● начало и конец исполнения встроенного языка на клиенте или на сервере;

● вызов процедуры/функции встроенного языка и возврат из процедуры/функции;

● начало выполнения одной строки кода встроенного языка и окончание выполнения другой строки кода встроенного языка.

Начальную и конечную контрольную точку определяет элемент <point>. При этом вложение контрольных точек друг в друга допускается, но игнорируется – подсчет утечек ведется только по внешним контрольным точкам. Например, если в процессе исполнения кода конфигурации были пройдены контрольные точки Начальная1, Начальная2, Конечная1, Конечная2, то утечки будут отслеживаться между точками Начальная1 и Конечная2.

Элемент <point> может иметь один из следующих форматов:

<point call=«client»/>, <point call=«server»/>

Определяет контрольные точки в начале/в конце исполнения встроенного языка на клиенте или на сервере, т. е.: начальная точка будет установлена в начале исполнения встроенного языка на сервере/клиенте, конечная точка – в конце исполнения встроенного языка на сервере/ клиенте.

<proc="<ИмяМодуля>/<ИмяМетода>"/>

Определяет контрольные точки при вызове и возврате определенного метода встроенного языка. <ИмяМодуля> – содержит полное имя объекта метаданных, которому принадлежит модуль (без названия конфигурации). В таком же формате имена модулей показывает отладчик. <ИмяМетода> содержит наименование метода. Если аргумент <ИмяМетода> не установлен, то контрольные точки будут определены в начале/окончании исполнения тела модуля. Примеры имен модулей:

● МодульСеанса.Модуль – модуль сеанса;

● МодульПриложения.Модуль – модуль приложения;

● МодульУправляемогоПриложения.Модуль – модуль управляемого приложения;

● МодульВнешнегоСоединения.Модуль – модуль внешнего соединения;

● ОбщийМодуль.Глобальный.Модуль – общий модуль Глобальный;

● Справочник.Контрагенты.МодульОбъекта – модуль элемента справочника Контрагенты;

● Обработка.Обработка1.Форма.Форма1.Форма – модуль формы Форма1 обработки Обработка1;

● Обработка.Обработка2.Форма.ОсновнаяФорма.Форма – модуль формы ОсновнаяФорма обработки Обработка2.

<point on="<ИмяМодуля>/<НомерСтроки>" Off="<ИмяМодуля>/<НомерСтроки>"/>

Определяет начальную и конечную контрольные точки явным указанием строк кода. Начальная контрольная точка соответствует началу исполнения кода строки, указанной в атрибуте On. Конечная контрольная точка соответствует окончанию исполнения кода строки, указанной в атрибуте Off. Нумерация строк начинается с 1. Если начальная контрольная точка достигнута на сервере, то и конечная контрольная точка должна быть достигнута на сервере. Конечной контрольной точкой не может быть последняя строка кода процедуры, функции или тела модуля.

Пример элемента <leaks>:

<leaks collect="1">
<point call="client"/>
<point call="server"/>
<point proc="МодульПриложения/"/>
<point proc="ОбщийМодуль.ОбработкаПодключений.Модуль/НаСервереБезУтечки"/>
<point on="ОбщийМодуль.Сервисы.Модуль/9" off="ОбщийМодуль.Сервисы.Модуль/11"/>
</leaks>
В данном случае сбор данных об утечках включен. Контрольные точки установлены:

● в начале и в конце исполнения встроенного языка на клиенте;

● в начале и в конце исполнения встроенного языка на сервере;

● в начале и при окончании исполнения тела модуля приложения;

● при вызове и возврате метода НаСервереБезУтечки() из общего модуля ОбработкаПодключений;

● на девятой и одиннадцатой строках общего модуля Сервисы.

Предположим, процедура со следующим текстом вызывает утечку памяти:

Процедура НаСервереСУтечкой() Экспорт
М=НовыйМассив;
М.Добавить(НовыйМассив);
М[0].Добавить(НовыйМассив);
М[0][0].Добавить(М);
КонецПроцедуры
Чтобы ее обнаружить, можно включить отслеживание утечек в технологическом журнале при помощи следующей настройки:

<config xmlns="http://v8.1c.ru/v8/tech-log">
<log location="C:\ProgramFiles\1cv82\logs" history="24">
<event>
<eq property="name" value="call"/>
</event>
<event>
<eq property="name" value="leaks"/>
</event>
<property name="all">
</property>
</log>
<leaks collect="1">
<point call="server"/>
</leaks>
</config>
Тогда при вызове сервера или выполнении регламентного задания, если утечки не происходит, фрагмент технологического журнала будет выглядеть следующим образом:

59:44.4562-2840,CALL,5,process=rphost,p:processName=t76346,t:clientID=428,t:applicationName=JobScheduler,Func=Execute,Module=ОбщийМодуль2,Meth=РегламентноеЗаданиеБезУтечки

59:49.4581-2700,CALL,5,process=rphost,p:processName=t76346,t:clientID=430,t:applicationName=JobScheduler,Func=Execute,Module=ОбщийМодуль2,Meth=РегламентноеЗаданиеБезУтечки
А если происходит, то таким образом:

59:48.4768-2885,CALL,5,process=rphost,p:processName=t76346,t:clientID=429,t:applicationName=JobScheduler,Func=Execute,Module=ОбщийМодуль2,Meth=РегламентноеЗаданиеСУтечкой

59:48.4769-0,LEAKS,5,process=rphost,Descr='

Array:

ОбщийМодуль.ОбщийМодуль2:2:НаСервереСУтечкой();

ОбщийМодуль.ОбщийМодуль1:4:М[0].Добавить(НовыйМассив);



Array:

ОбщийМодуль.ОбщийМодуль2:2:НаСервереСУтечкой();

ОбщийМодуль.ОбщийМодуль1:2:М=НовыйМассив;



Array:

ОбщийМодуль.ОбщийМодуль2:2:НаСервереСУтечкой();

ОбщийМодуль.ОбщийМодуль1:3:М.Добавить(НовыйМассив);
В приведенном фрагменте при выполнении в качестве регламентного задания (t:applicationName=JobScheduler, Func=Execute) метода РегламентноеЗаданиеСУтечкой() модуля ОбщийМодуль2 были созданы и не освобождены три объекта Array (Массив). При этом указаны стеки вызовов встроенного языка в момент создания каждого из объектов.

3.14.1.6 Элемент mem
Если элемент <mem> присутствует, то процессы сервера «1С:Предприятия» ведут подсчет:

● количества выделенных и не освобожденных фрагментов памяти;

● суммарного объема выделенных и не освобожденных фрагментов памяти.

Если между моментами времени, когда процесс сервера не выполнял ни одного вызова и ни одного регламентного задания, увеличилось количество выделенных, но не освобожденных фрагментов памяти, то формируется событие типа MEM со следующими свойствами:

● sz – общий объем выделенных процессом, но не освобожденных фрагментов памяти;

● szd – его изменение с момента вывода предыдущего события MEM;

● cn – общее количество выделенных процессом, но не освобожденных фрагментов памяти;

● cnd – его изменение с момента вывода предыдущего события MEM.

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

ВНИМАНИЕ! Указание элемента <mem> в конфигурационном файле технологического журнала несколько снижает производительность «1С:Предприятия», особенно при параллельной работе нескольких пользователей.

Например, при следующей конфигурации объем распределенной памяти не собирается и события MEM не выводятся:

<config xmlns="http://v8.1c.ru/v8/tech-log">
<log location="C:\ProgramFiles\1Cv82\logs" history="24">
<event>
<eq property="name" value="mem"/>
</event>
<property name="all"/>
</log>
</config>
Следующая конфигурация технологического журнала собирает объем распределенной памяти и при его росте выводит события MEM:

<config xmlns="http://v8.1c.ru/v8/tech-log">
<log location="C:\ProgramFiles\1Cv82\logs" history="24">
<event>
<eq property="name" value="mem"/>
</event>
<property name="all"/>
</log>
<mem/>
</config>
3.14.1.7 Элемент plansql
Если элемент <plansql> присутствует, то будет включен сбор планов запросов, которые генерируют СУБД при выполнении запросов «1С:Предприятия». Сами планы запросов расположены в свойстве <planSQLText> событий, связанных с исполнением запросов конкретной СУБД (см. здесь).

СОВЕТ. Рекомендуется вместе со свойством <planSQLText> включать в состав регистрируемых свойств также и свойство <SQL>, содержащее запрос, план которого будет зарегистрирован.

<?xml version="1.0"?>
<config xmlns="http://v8.1c.ru/v8/tech-log">
<log location="c:\log" history="24">
<event>
<eq property="name" value="dbmssql"/>
</event>
<property name="sql"/>
<property name="plansqltext"/>
</log>
<plansql />
</config>
В приведенном выше примере для СУБД Microsoft SQL Server (выражение <eq property="name" value="dbmssql"/>) включен сбор планов запросов (элемент <plansql />) и их запись в журнал регистрации (выражение <property name="plansqltext"/>) вместе с текстами самих запросов (выражение <property name="sql"/>) на языке запросов системы «1С:Предприятие».

ВНИМАНИЕ! Получение планов запросов замедляет выполнение запросов к СУБД. Для некоторых СУБД такое замедление может быть существенным. Не следует получать планы запросов в обычном режиме работы «1С:Предприятия». Планы запросов следует собирать только при анализе производительности запросов.

3.14.1.7.1. Информация по планам запросов СУБД
Информация по работе с планами запросов конкретных СУБД приводится в документации к этим СУБД:

● Microsoft SQL Server 2000:

http://msdn.microsoft.com/en-us/library ... 7(v=SQL.80).aspx;

http://msdn.microsoft.com/en-us/library ... 7(v=SQL.80).aspx;

http://msdn.microsoft.com/en-us/library/Aa259203.aspx.

● Microsoft SQL Server 2005:

http://msdn.microsoft.com/en-US/library ... 5(v=SQL.90).aspx;

http://msdn.microsoft.com/en-us/library/ms187735(SQL.90).aspx.

● Microsoft SQL Server 2008:

http://msdn.microsoft.com/en-us/library ... (v=SQL.100).aspx;

http://msdn.microsoft.com/en-us/library ... (v=SQL.100).aspx.

● Microsoft SQL Server 2008 R2:

http://msdn.microsoft.com/en-us/library ... (v=SQL.105).aspx;

http://msdn.microsoft.com/en-us/library ... (v=SQL.105).aspx.

● PostgreSQL 8.1 Windows/Linux:

http://www.postgresql.org/docs/8.1/stat ... -tips.html.

● PostgreSQL 8.2 Windows/Linux:

http://www.postgresql.org/docs/8.2/stat ... plain.html.

● PostgreSQL 8.3 Windows/Linux:

http://www.postgresql.org/docs/8.3/stat ... plain.html.

● PostgreSQL 8.4 Windows/Linux:

http://www.postgresql.org/docs/8.4/stat ... plain.html.

● IBM DB2 версия 9.1 Windows/Linux:

http://publib.boulder.ibm.com/infocente ... 05739.htm;

http://publib.boulder.ibm.com/infocente ... 008441.htm.

● IBM DB2 версия 9.5 Windows/Linux:

http://publib.boulder.ibm.com/infocente ... 2023.html;

http://publib.boulder.ibm.com/infocente ... 5739.html;

http://publib.boulder.ibm.com/infocente ... 08441.html.

● IBM DB2 версия 9.7 Windows/Linux:

http://publib.boulder.ibm.com/infocente ... 2023.html;

http://publib.boulder.ibm.com/infocente ... 5739.html;

http://publib.boulder.ibm.com/infocente ... 08441.html.

● Oracle DB2 10g R2:

http://download.oracle.com/docs/cd/B193 ... timops.htm.

● Oracle DB2 11g R1:

http://download.oracle.com/docs/cd/B283 ... timops.htm.

Для PostgreSQL и Oracle Database формат плана запроса в точности соответствует формату, описанному в документации на соответствующую СУБД. Формат планов запросов для Microsoft SQL Server и IBM BD2 упрощен относительно оригинального формата. При этом сохранены оригинальные названия полей. Интерпретация информации в этих полях также выполняется в соответствии с информацией на конкретную СУБД. Эти изменения отражены в следующих разделах.

3.14.1.7.2. Формат плана запроса MS SQL Server
Поле planSQLText для СУБД Microsoft SQL Server состоит из нескольких записей (строк), каждая из которых состоит из следующих полей (в терминах СУБД), идущих в порядке описания:

● Rows,

● Executes,

● EstimateRows,

● EstimateIO,

● EstimateCPU,

● AvgRowSize,

● TotalSubtreeCost,

● EstimateExecutions,

● StmtText.

Поля разделены запятыми. Последнее поле описания плана запроса (StmtText) следует читать до конца строки, игнорируя возможные символы ",". Строки разделены переводом строки.

3.14.1.7.3. Формат плана запроса IBM DB2
Поле planSQLText для СУБД IBM DB2 состоит из нескольких записей (строк), каждая из которых состоит из следующих полей, идущих в порядке описания. Имена полей в точности соответствуют полям из таблиц объяснений (explain tables), т. е. текст IO_COST (EXPLAIN_OPERATOR) означает, что в план запроса будет помещено поле IO_COST из таблицы объяснения EXPLAIN_OPERATOR:

● OPERATOR_TYPE (EXPLAIN_OPERATOR),

● TOTAL_COST (EXPLAIN_OPERATOR),

● STREAM_COUNT (EXPLAIN_STREAM),

● IO_COST (EXPLAIN_OPERATOR),

● CPU_COST (EXPLAIN_OPERATOR),

● COMM_COST (EXPLAIN_OPERATOR),

● BUFFERS (EXPLAIN_OPERATOR),

● PREDICATE_TEXT (EXPLAIN_PREDICATE).

Поля разделены запятыми. Последнее поле описания плана запроса (PREDICATE_TEXT) следует читать до конца строки, игнорируя возможные символы ",". Строки разделены переводом строки.

В конце описания плана запроса добавляется строка, начинающаяся с текста Optimized query:, которая содержит в себе текст запроса, сформированный оптимизатором СУБД. Оригинальный текст запроса приведен в свойстве SQL события технологического журнала. Запрос завершается концом строки. Идентификаторы из оптимизированного варианта запроса используются в данных, размещенных в колонке PREDICATE_TEXT.

3.14.1.7.4. Формат плана запроса файловой версии
План запроса файловой версии имеет следующий формат:

<План запроса>

[CONST <Условия>]
<Поля списка выборки>
[<Описание источника> [<Описание связи> [...]]]
[WITHOUT DUPLICATES]
[GROUPING]
[SORTING [CUTTING TOP]]
[UNION [ALL] <План запроса>]
В данном описании:

● WITHOUT DUPLICATES – обозначает, что нужно получать данные без дубликатов.

● GROUPING – обозначает, что нужно выполнить группировку результата.

● SORTING – обозначает, что нужно выполнить сортировку результата.

● CUTTING TOP – обозначает, что после сортировки будет получена только часть записей.

<Условия>

WHERE [(POST) | (END)] <Условие> [AND <Условие> [...]]
В данном описании:

● (POST) – обозначает, что условия проверяются после выполнения соединения.

● (END) – обозначает, что условия проверяются после того, как будут выполнены соединения между всеми таблицами.

<Поля списка выборки>

Fields:(<Выражение из списка выборки> [,<Выражение из списка выборки>])
<Описание сканирования>

{{NOT SCAN} | {FULL SCAN} | {DISTINCT SCAN} | {RANGE SCAN}} [UNTIL FIRST NOT NULL] [USING [REVERSE] INDEX (<Имя индекса>)[(<Количество используемых полей индекса> fields)]]
В данном описании:

● NOT SCAN – обозначает, что содержимое таблицы не будет сканироваться.

● FULL SCAN – обозначает, что содержимое таблицы будет просканировано полностью.

● DISTINCT SCAN – обозначает, что будут обходиться различные значения по индексу.

● UNTIL FIRST NOT NULL – обозначает, что записи будут сканироваться до тех пор, пока не будет получена первая запись со значением не NULL.

● USING INDEX – обозначает, что для обхода будет использоваться индекс.

● REVERSE – обозначает, что индекс будет использоваться в обратной последовательности.

<Описание источника>

{<Имя таблицы> [(TWICE)] <Описание сканирования>} |
{NESTED SELECT <Описание сканирования> (<План запроса>)}
<Условия>
<Описание связи>

{{ NESTED [OUTER] LOOP <Имя таблицы> [(TWICE)] <Описание сканирования>} |
{ NESTED [OUTER] LOOP BY SELECT <Описание сканирования> (<План запроса>)}}
<Условия> [<Условия>]
В данном описании:

● (TWICE) – обозначает, что таблица используется в запросе несколько раз.

● NESTED LOOP – обозначает, что для каждой записи таблицы слева будет выполнен цикл обхода записей таблицы справа.

● OUTER – обозначает, что если в правой таблице не будет найдено подходящей по условию связи записи, то запись целиком не пропадет.

3.14.1.8 Элемент defaultlog
Элемент <defaultlog> определяет параметры технологического журнала по умолчанию. Данный журнал имеет фиксированный фильтр событий, определяемых системой «1С:Предприятие». Этот фильтр не может быть изменен и его можно представить следующим файлом настройки:

<log location="C:\Users\<UserName>\AppData\Local\1C\1Cv82\logs" history="24" >
<event>
<eq property="name" value="system"/>
<eq property="level" value="error"/>
</event>
<property name="all"/>
</log>
В этот журнал записываются события, критические с точки зрения функционирования системы. Состав событий не документируется. Детализация формирования событий настраивается с помощью элемента <system>.

Атрибуты элемента:

Атрибут location

Имя каталога, в котором будет размещаться технологический журнал по умолчанию. Если атрибут не задан, то технологический журнал по умолчанию сохраняется в следующие каталоги:

● ОС Windows:

● Windows XP:
%USERPROFILE%\Local Settings\1C\1Cv82\logs.

● Windows Vista (и старше):
%LOCALAPPDATA%\1C\1Cv82\logs.

● ОС Linux: $HOME/.1cv82/logs.

ВНИМАНИЕ! Необходимо иметь в виду, что каталог технологического журнала (любого) не предназначен для хранения в нем файлов, которые не относятся к технологическому журналу. Поэтому не следует размещать в нем дампы или использовать каталог, который может содержать файлы, не относящиеся к технологическому журналу «1С:Предприятия». Если в каталоге, который указан в качестве каталога технологического журнала, имеются посторонние файлы, то указание каталога считается неверным, и технологический журнал не создается.

ПРИМЕЧАНИЕ. В элементах <log>, <dump> и <defaultlog> следует указывать разные каталоги в атрибутах location.

Атрибут history

Количество часов, через которое информация будет удаляться из технологического журнала. Если значение этого атрибута установить в значение 0 – будет отключена запись технологического журнала по умолчанию.

Значение по умолчанию: 24.

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

3.14.1.9 Элемент system
Для управления формированием событий SYSTEM в технологическом журнале предназначен элемент <system>. В файле настройки технологического журнала (logcfg.xml) может не содержать такого элемента, а также содержать один или несколько таких элементов.

Если элемент <system> отсутствует в файле logcfg.xml, то технологически журнал по умолчанию настроек следующим образом – уровень формирования системных событий для всех компонентов системы определен как Error.

События SYSTEM будут одновременно попадать во все настроенные технологические журналы (в том числе и в технологический журнал по умолчанию).

Атрибуты элемента:

Атрибут level

Задает минимальное значение уровня формируемых системой событий. Возможные значения (в порядке увеличения значимости):

● Trace – максимально подробный уровень.

● Debug – уровень отладочной информации. Предназначен для событий необходимых в целях отладки механизмов платформы или расследования особо трудных в обнаружении ошибок.

● Info – информационный уровень. Предназначен для событий, свидетельствующих о нормальном функционировании того или иного механизма платформы.

● Warning – уровень предупреждений. Предназначен для событий, информирующих о возникновении нештатных, но не критичных, с точки зрения механизма платформы, ситуаций.

● Error – уровень ошибок. Предназначен для событий, информирующих о возникновении ошибочных, с точки зрения механизма платформы, ситуаций.

● None – отключение фиксации системных событий.

Задание этого атрибута приведет к тому, что система «1С:Предприятие» не будет формировать события, не соответствующие заданному уровню.

Так, если в файле logcfg.xml, находится конструкция вида <system level="info" />, то это будет означать, что система «1С:Предприятие» будет формировать события с уровнями Info, Warning и Error.

Атрибут component

Определяет имя компоненты, для которой настраивается формирование системных событий. Имя компоненты является регистрозависимым.

Атрибут class

Определяет имя класса, для которого настраивается формирование системных событий. Имя класса является регистрозависимым.


В качестве примера, рассмотрим ситуацию, когда файл logcfg.xml содержит следующий фрагмент:

<system level="info"/>
<system level="debug" class=""core::FileSystem"" />
<system level="warning" component="core82" />
Эта настройка означает:

● Следует формировать события SYSTEM с уровнем Info (и выше) для всех объектов системы.

● Однако, для класса core::FileSystem следует формировать события с уровнем Debug.

● Для всех классов компоненты core82 следует формировать события с уровнем Warning и выше.

3.14.2. Вывод контекстов исключений
Контекст исключения представляет собой последовательность событий технологического журнала типа EXCPCNTX. Каждое событие типа EXCPCNTX является одним из длительных событий, которые начались, но не закончились в момент возникновения нештатной ситуации в работе системы «1С:Предприятие». При этом события выводятся в порядке убывания уровня вложенности. Тип события, исходного для события EXCPCNTX, становится значением свойства SrcName события EXCPCNTX.

Контекст исключения выводится в технологический журнал, если технологический журнал включен (в файле logcfg.xml имеется хотя бы один элемент log) и произошла одна из следующих нештатных ситуаций:

● При работе системы «1С:Предприятие» произошло исключение операционной системы, процесс (клиент или сервер) завершен аварийно, построен дамп аварийного завершения.

● Возникло исключение в базе данных, приводящее к отображению сообщения об ошибке и закрытию приложения системы «1С:Предприятие».

При возникновении любой ошибки базы данных в технологический журнал записывается событие типа EXCP, если оно удовлетворяет условиям, записанным в конфигурационном файле технологического журнала (logcfg.xml).

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

● Жертва блокировки – идентификатор соединения с СУБД, которое ожидает блокировки.

● Источник блокировки – идентификатор соединения с СУБД, которое установило блокировку.

Если в кластере несколько рабочих процессов, то запрос выполняется одним из них. Запросы о взаимных блокировках нумеруются.

Данные из полученной таблицы добавляются к контексту каждого потока, которому соответствуют полученные идентификаторы соединений с СУБД, и будут отображены в качестве значения блокировочных свойств очередного события технологического журнала. После того как в потоке, к контексту которого добавлена информация о блокировках, будет завершено очередное событие технологического журнала, к этому событию будут добавлены блокировочные свойства. При этом если поток был жертвой блокировки, то события блокировки будут очищены после вывода. Если поток был источником, то очистка выполняется при закрытии или откате транзакции.

Информация о блокировках добавляется к потокам в следующем порядке:

● Если поток-жертва еще не знает об этом, то ему устанавливается номер запроса и идентификатор потока-источника блокировки.

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

Информация о блокировках:

● поток является источником, момент обнаружения;

● поток является жертвой, момент обнаружения;

● номер запроса (если поток является жертвой);

● список номеров запросов (если поток является источником);

● номер соединения источника (если поток является жертвой).

Блокировочные свойства событий:

● lka=‘1’ – поток является источником блокировки.

● lkp=‘1’ – поток является жертвой блокировки.

● lkpid – номер запроса к СУБД, «кто кого заблокировал» (только для потока-жертвы блокировки). Например, ‘423’.

● lkaid – список номеров запросов к СУБД, «кто кого заблокировал» (только для потока-источника блокировки). Например, ‘271,273,274’.

● lksrc – номер соединения источника блокировки, если поток является жертвой, например, ‘23’.

● lkpto – время в секундах, прошедшее с момента обнаружения, что поток является жертвой. Например: ‘15’.

● lkato – время в секундах, прошедшее с момента обнаружения, что поток является источником блокировок. Например, ‘21’.

Таким образом, для анализа блокировок необходимо найти в технологических журналах процессов rphost первое событие со свойствами lka и lkp, узнать значения свойств lkaid, lkpid и найти все события с этими значениями свойств в журналах всех рабочих процессов кластера. По найденной группе событий можно установить, кто кого заблокировал, на сколько времени и что они при этом делали.

Также в свойстве Txt события TLOCK в технологическом журнале может быть отображено пространство имен, в котором наложена блокировка.

3.15. logui.txt
Файл logui.txt располагается в каталоге %APPDATA%\1C\1Cv82\<Уникальный идентификатор информационной базы> и содержит список интерактивных действий пользователя, которые выполнялись за время журналирования.

Одна запись файла содержит описание одного действия пользователя. Общий формат строки следующий:

● дата и время события;

● описание события (Event);

● имя объекта, с которым произошло событие;

● время (в миллисекундах) от начала работы программы (t);

● префиксы beg или end (аналогично открывающей и закрывающей скобке), идентифицирующие начало и конец события;

● детализация (Detail).

С целью сбора статистики длительности выполнения действий в протоколе фиксируется начало и окончание действия. Начало действия содержится в записи помеченным как beg, окончание действия – в записи помеченным как end (данные признаки отображаются в самом конце строки журнала).

Также фиксируется длительность действия, помеченная как t. Отсчет осуществляется с момента запуска программы и ведется в миллисекундах.

Между строками лога, содержащими beg и end, могут находиться как вложенные действия, содержащие beg и end, так и строки, отражающие какие-либо действия, подлежащие фиксации записи в журнал.

Протоколирование ведется для всех элементов формы и элементов глобального командного интерфейса, доступных в режиме 1С:Предприятие.

Протоколируются следующие действия:

● Нажатие кнопки на клавиатуре. Данные, вводимые пользователем, заменяются в протоколе звездочкой (Event Key_<клавиша> или Event key_*).

● Нажатие левой (Event_LClick), правой (Event_RClick) и средней кнопкой мыши (Event_MBtnDn).

● Двойной щелчок левой кнопкой мыши (Event_ LBtnDbl).

● Прокрутка колеса на мышке (Event_Wheel).

Для некоторых элементов используются специальные, присущие только им события:

● Форма:

● активация окна формы:

"Event FormActivate","Name <имяформы>"
● Панель подсистем (PartitionPanel):

● выбор подсистемы или рабочего стола при помощи мыши:

"Event LClick","Name PartitionPanel"
● активация сочетанием клавиш:

"Event PanelActivate","Name SubsystemsPanel"
● Панель навигации (FormNavigationPanel):

● исполнение команды:

"Event LClick","Name FormNavigationPanel","Detail Execute<имя команды>"
● разворачивание/сворачивание группы команд:

"Event LClick","Name FormNavigationPanel","Detail Close<имя группы команд>"
● активация сочетанием клавиш:

"Event PanelActivate","Name FormNavigationPanel"
● Заголовок окна (WindowCaptionText):

● нажатие на заголовок:

"Event LClick","Type WindowCaptionText","Detail
Обработка"
● Панель действий (ActionsPanel):

● исполнение команды:

"Event LClick","Name ActionsPanel","Detail <имя команды>"
● активация сочетанием клавиш:

"Event PanelActivate","Name ActionsPanel"
● Область информационной панели, в которой отображается список последних оповещений (NotificationHistoryPanel):

● исполнение команды:

"Event Key_SPACE","Name NotificationHistoryPanel","Detail<имя>"
● активация сочетанием клавиш:

"Event PanelActivate","Name NotificationHistoryPanel"
● Окно состояния (StatusWindow):

● закрытие:

"Event CloseWindow"
● перемещение:

"Event MoveWindow offset=<dx,dy> pos=<x,y,w,h>"
● Окно оповещения (NotifycationWindow):

● закрытие:

"Event CloseWindow"
● нажатие на ссылку:

"Event LClick","Name NotificationWindow","Detail Hyperlink"
● перемещение:

"Event MoveWindow offset=<dx,dy> pos=<x,y,w,h>"
● Окно проверки (подсказка об ошибках ввода) (CheckWindow):

● нажатие мышкой кнопки Следующее сообщение:

"Event LClick","Name CheckWindow","Detail NextButton"
● нажатие мышкой кнопки Предыдущее сообщение:

"Event LClick","Name CheckWindow","Detail PrevButton"
● нажатие мышкой кнопки Закрыть:

"Event LClick","Name CheckWindow","Detail CloseButton"
Пример записей лога:

"17.12.200816:41:55","Event Key_SPACE",
"Name HistoryPanel", "t=465562", "beg"
"17.12.200816:41:55","Event FormActivate",
"Name Справочник.Товары.ФормаСписка", "t=465562"
"17.12.200816:41:56","Event Key_SPACE","Name HistoryPanel",
"Detail Жирность","t=466281", "end"
"17.12.200816:07:05","Event PanelActivate",
"Name HistoryPanel", "t=918188"
3.16. nethasp.ini
Для настройки параметров взаимодействия системы «1С:Предприятие» с HASP License Manager используется конфигурационный файл nethasp.ini.

Файл располагается в каталоге конфигурационных файлов системы «1С:Предприятие», и его наличие не является обязательным.

Файл nethasp.ini содержит четыре секции:

● [NH_COMMON] – для общих настроек;

● [NH_IPX] – для протокола IPX;

● [NH_NETBIOS] – для протокола NetBIOS;

● [NH_TCPIP] – для протокола TCP/IP.

В секции [NH_COMMON] содержатся глобальные настройки для всех разделов файла конфигурации. Во всех остальных разделах содержатся настройки, влияющие на выполнение операций с конкретным протоколом.

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

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

В файле конфигурации могут присутствовать комментарии. Комментарий начинается с символа «;» (точка с запятой) и продолжается до конца строки.

Регистр букв в именах параметров не имеет значения.

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

При установке системы «1С:Предприятие» образец файла nethasp.ini копируется в каталог conf установочного каталога системы «1С:Предприятие». Данный файл практически полностью состоит из закомментированных строк и никак не переопределяет значений параметров по умолчанию, но при этом он содержит наиболее полный список параметров, которые могут использоваться для настройки взаимодействия системы «1С:Предприятие» с HASP License Manager.

Далее подробно описаны параметры каждой секции конфигурационного файла.

3.16.1. Секция [NH_COMMON]
NH_IPX

Возможные значения: Enabled, Disabled. Использовать или не использовать (соответственно) протокол IPX для связи с HASP License Manager.

Значение по умолчанию: Enabled.

NH_NETBIOS

Возможные значения: Enabled, Disabled. Использовать или не использовать (соответственно) протокол NetBIOS для связи с HASP License Manager.

Значение по умолчанию: Enabled.

NH_TCPIP

Возможные значения: Enabled, Disabled. Использовать или не использовать (соответственно) протокол TCP/IP для связи с HASP License Manager.

Значение по умолчанию: Enabled.

NH_SESSION

Возможные значения: <Число>. Задает интервал в секундах, в течение которого программа пытается установить соединение с HASP License Manager.

Значение по умолчанию: 2 секунды.

NH_SEND_RCV

Возможные значения: <Число>. Задает интервал в секундах, в течение которого программа пытается установить соединение с HASP License Manager.

Значение по умолчанию: 1 секунда.

3.16.2. Секция [NH_IPX]
NH_USE_SAP

Возможные значения: Enabled, Disabled. Использовать или не использовать службу SAP для поиска в сети HASP License Manager.

Значение по умолчанию: Enabled.

NH_USE_BROADCAST

Возможные значения: Enabled, Disabled. Использовать только механизм Broadcast для поиска в сети HASP License Manager. Данную возможность имеет смысл использовать при работе с протоколом IPX в сетях, отличных от Novell NetWare. Значение по умолчанию: Enabled.

NH_BC_SOCKET_NUM

Возможные значения: <Число>. Определяет номер сокета для широковещательного механизма. Число указывается в шестнадцатеричном виде.

Значение по умолчанию: 7483Н.

NH_SERVER_NAME

Возможные значения: localnet, Internet. Определяет, будет ли приложение обмениваться данными только с HASP LM, находящимся в локальной сети, или с любыми другими HASP LM.

Значение по умолчанию: Internet.

NH_DATFILE_PATH

Возможные значения: <Путь>. Путь, по которому будет производиться поиск файлов haspaddr.dat и newhaddr.dat, содержащих сетевой адрес HASP License Manager. Данный параметр в основном имеет смысл использовать только при установках NH_USE_SAP=Disabled и NH_USE_BROADCAST=Disabled, так как в противном случае адрес HASP License Manager может быть определен автоматически.

NH_SESSION

Возможные значения: <Число>. Задает интервал в секундах, в течение которого программа пытается установить соединение с HASP License Manager.

Значение по умолчанию: 2 секунды.

NH_SEND_RCV

Возможные значения: <Число>. Устанавливает для HASP License Manager максимальное время получения или отправки пакета.

Значение по умолчанию: 1 секунда.

3.16.3. Секция [NH_NETBIOS]
NH_NBNAME

Возможные значения: <Имя>. Задает имя HASP License Manager (длина имени – до 8 символов).

NH_USELANANUM

Возможные значения: <Число>. Устанавливает номер коммуникационного канала, который будет использоваться в качестве коммуникационного канала.

NH_SESSION

Возможные значения: <Число>. Задает интервал в секундах, в течение которого программа пытается установить соединение с HASP License Manager.

Значение по умолчанию: 2 секунды.

NH_SEND_RCV

Возможные значения: <Число>. Устанавливает для HASP License Manager максимальное время получения или отправки пакета.

Значение по умолчанию: 1 секунда.

3.16.4. Секция [NH_TCPIP]
NH_SERVER_ADDR

Возможные значения: <Адрес1>, <Адрес2>. Устанавливает IP-адреса всех HASP License Manager. Возможно использование неограниченных адресов и множественных строк.

IP-адрес: 192.114.176.65.

Имя локального узла: ftp.aladdin.co.il.

NH_SERVER_NAME

Возможные значения: <Имя1>, <Имя2>. Обменивается данными с HASP LM с определенным именем. Максимально – 6 имен; каждое имя может состоять максимально из 7 символов.

NH_PORT_NUMBER

Возможные значения: <Число>. Устанавливает номер сетевого порта.

Значение по умолчанию: 475.

NH_TCPIP_METHOD

Возможные значения: TCP, UDP. Посылает пакет TCP или UDP.

Значение по умолчанию: UDP.

ПРИМЕЧАНИЕ. Установка параметра в значение TCP игнорируется. Обращение к HASP License Manager всегда выполняется по UDP.

NH_USE_BROADCAST

Возможные значения: Enabled, Disabled. Использовать широковещательный механизм UDP.

Значение по умолчанию: Enabled.

NH_SESSION

Возможные значения: <Число>. Задает интервал в секундах, в течение которого программа пытается установить соединение с HASP License Manager.

Значение по умолчанию: 2 секунды.

NH_SEND_RCV

Возможные значения: <Число>. Устанавливает для HASP License Manager максимальное время получения или отправки пакета.

Значение по умолчанию: 1 секунда.

3.17. nhsrv.ini
Некоторые настройки HASP License Manager могут задаваться при помощи файла конфигурации nhsrv.ini. При запуске HASP License Manager в ОС Windows выполняется поиск конфигурационного файла nhsrv.ini в различных каталогах в следующей последовательности:

● каталог, в котором размещается исполняемый файл HASP License Manager;

● текущий каталог Windows;

● системный каталог Microsoft Windows (%SystemRoot%\system32 – для 32-разрядной версии и %SystemRoot%\system – для 64-разрядной версии);

● каталог Microsoft Windows (каталог %SystemRoot%);

● каталоги, перечисленные в переменной окружения PATH (только в случае установки HASP License Manager как приложения Microsoft Windows).

В ОС Windows рекомендуется размещать файл nhsrv.ini, если это необходимо, в каталоге, в котором размещается исполняемый файл HASP License Manager. Проверка того, что HASP License Manager нашел и прочитал файл конфигурации, возможна с помощью журнала Activity Log/Server Activity Log.

При запуске HASP License Manager в ОС Linux, размещение конфигурационного файла nhsrv.ini следует указать с помощью параметра -c. Расположение файла конфигурации по умолчанию не определено.

Настройка HASP License Manager осуществляется при помощи установки тех или иных значений параметров в секции [NHS_SERVER] файла nhsrv.ini:

NHS_IP_LIMIT

Возможные значения: <ipAddr>, <ipAddr>,...

Определяет диапазон сетевых станций, обслуживаемых HASP LM. Например: 10.1.1.1, 10.1.1.*,10.1.1.1/32, 10.1.1.1/24.

NHS_ADAPTER

Возможные значения: <ipAddrSubMask>,<ipAddrSubMask>,...

Определяет IP-адрес одной или более сетевых карт, которые будут обслуживать HASP License Manager. Применяется при использовании HASP License Manager с Win32. Например: 10.1.1.111, 255.255.0.0.

NHS_USERLIST

Максимальное количество пользователей, одновременно подключенных к HASP License Manager. Значение по умолчанию: 250.

3.18. srv1cv82
Конфигурационный файл /etc/sysconfig/srv1cv82 (для RPM-системы) используется для задания параметров запуска агента сервера «1С:Предприятия» с помощью скрипта /etc/init.d/srv1cv82. Если установка выполнялась для DEB-системы, то нижеперечисленные параметры следует редактировать в файле /etc/init.d/srv1cv82.

ВНИМАНИЕ! Данный конфигурационный файл используется в случае запуска сервера «1С:Предприятия» в операционной системе Linux.

С помощью этого конфигурационного файла можно настраивать следующие параметры:

SRV1CV8_KEYTAB

Путь к файлу закрытого ключа Kerberos.

SRV1CV8_DATA

Каталог, в котором будут расположены служебные файлы кластера серверов (в том числе список кластеров и список информационных баз кластера).

SRV1CV8_PORT

Номер главного порта агента кластера. Этот порт используется агентом кластера для обращения к центральному серверу. Порт агента кластера также указывается в качестве сетевого порта рабочего сервера.

SRV1CV8_REGPORT

Номер сетевого порта кластера, создаваемого по умолчанию при первом запуске ragent.

SRV1CV8_RANGE

Диапазоны сетевых портов для динамического выбора. Из них выбираются служебные порты процессов кластера при невозможности их выбора из настроек соответствующего рабочего сервера.

SRV1CV8_DEBUG

Запуск в режиме отладки:

● 0 – без режима отладки (по умолчанию);

● 1 – в режиме отладки.

SRV1CV8_SECLEV

Уровень безопасности соединений;

● 0 – выключено (по умолчанию);

● 1 – установка соединения;

● 2 – постоянно.

3.19. srvribrg.lst
Файл хранится на центральном сервере кластера в каталоге <рабочий каталог центрального сервера> и содержит список кластеров, зарегистрированных на данном компьютере сервера «1С:Предприятия». Содержащиеся в нем данные необходимы для нормальной работы приложений, использующих данный сервер «1С:Предприятия».

Пример:

C:/Program Files/1cv82/srvinfo/srvribrg.lst
3.20. swpuser.ini
Для того чтобы рабочий процесс запускался не от имени того же пользователя, что и агент сервера, в каталоге данных приложений, относящемся к пользователю агента сервера, может быть размещен файл swpuser.ini следующего формата:

user=<имя пользователя операционной системы>
password=<пароль пользователя операционной системы>
Например, файл swpuser.ini может содержать следующие данные:

user=\\Server_comp\uuuu
password=1234567
В этом случае рабочие процессы, запускаемые на данном рабочем сервере, будут запускаться от имени заданного пользователя (\\Server_comp\uuuu), зарегистрированного в операционной системе.
Проблема, это задача в решении которой никто не заинтересован.
СВС
Цитата

Вернуться в Для администратора

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0


Яндекс.Метрика
cron