Ведение лог.файла в .xml
22.01.14
Разработка - Инструментарий разработчика
По мотивам http://infostart.ru/public/251947/
Представляю пример обработки, которая пишет данные в лог.файл в формате .xml.
Представляю пример обработки, которая пишет данные в лог.файл в формате .xml.
Скачать файл
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Наименование | По подписке [?] | Купить один файл | |
---|---|---|---|
ЗаписьЛогФайла.epf
.epf 9,59Kb ver:WriteLog
7
|
По мотивам //infostart.ru/public/251947/
Представляю пример обработки, которая пишет данные в лог.файл в формате .xml.
1.Для вызова обработки можно добавить подписку на событие, например: у документа запись, установку нового номера, копирование, проверку заполнения, установку нового кода элемента справочника и проч.
2.Для демонстрации всё-таки сделана форма, в которой можно заполнить (или не заполнить) любые значения.
3.Все значения пишутся файл с заголовком текущей даты, например, '2014-01-21.xml'. Таким образом, действия с будущей датой будут записываться уже в другой файл.
4.Лог.файлы располагаются в папке, в которой располагается обработка.
5.Вызов обработки происходит с сервера, поэтому папка обработки должна быть доступна для записи пользователем, п.у.которого запущен сервер 1С:Предприятия.
6.Обработка пишет данные в .xml-файл, добавляя элементы записи xml в конец. Для такой записи используется ДокументDOM - создаётся документ из .xml, находится корневой узел, к нему добавляется дочерний элемент. В этом дочернем элементе все переданные данные будут записаны как атрибуты. И, наконец, документ записывается в .xml.
7.В атрибуты добавляется текущее время и (если есть параметр сеанса ТекущийПользователь) - текущий пользователь (правда, только его ГУИД, но сделать и запись наименования или кода очень не сложно).
8.Код обработки можно (и нужно!) превратить в код общего модуля. Единственное, что потребуется менять - это указать путь, где будут создаваться лог.файлы. Ну, например, добавить строковую константу. Или жёстко описать этот путь в коде.
9.Чтобы не было конфликтов при записи, её можно осуществлять для каждого пользователя в отдельные файлы. Тогда имя файла формировать по дате + гуид текущего пользователя. Либо другой вариант - создать регистр сведений, куда копить информацию. Правда, если есть регистр сведений - то и зачем нам тогда лог.файл?
И самый главный вопрос: а для чего? Можно, например, отсылать почтой. Но это уже другая история...
PS Обработка для 8.3.
Для работы в 8.2 потребуется удалить области.