Продвинутый курс. Домашнее задание №2
Эта запись посвящена второму потоку продвинутого курса.
Второе задание по 0-му блоку продвинутого курса.
Для выполнения рекомендуется изучить следующие главы 0-го курса.
Глава 6. Технологический журнал.
Глава 7. Конфигурации в ИБ.
Глава 8. Поставка и поддержка конфигурации.
Глава 9. Обновление и модификация конфигураций.
Глава 10. Регламентные операции с ИБ.
Глава 11. Конфигурационные файлы.
Глава 12. Отладка прикладных решений.
Глава 13. Директивы компиляции, инструкции препроцессору и общие модули.
Глава 14. Показатели производительности.
Глава 15. Групповая разработка конфигурации.
По первому заданию пришлось поработать. Фильтр настраивала по событию SESN с помощью свойств Context и Usr только по пользователям и событию открытия любой формы, по виду формы не удалось. Дальше в Excel.
Использовал такую настройку:
<?xml version=”1.0″ encoding=”UTF-8″?>
<config xmlns=”http://v8.1c.ru/v8/tech-log”>
<log history=”168″ location=”D:\temp\7″>
<event>
<eq property=”name” value=”SDBL”/>
<ne property=”Usr” value=””/>
</event>
<property name=”context”/>
<property name=”usr”/>
</log>
</config>
При этом были проблемы, отборы на русском языке почему-то не работали, при использовании конструкции например, <eq property=”Usr” value=”Иванов”/> логи переставали формироваться.
Полученные логи обрабатывал в Экселе.
С пунктами 2 и 3 проблем не возникло.
Задание №2 выполнила.
1) Для файловой ИБ, запускаемой в режиме тонкого клиента, получился такой файл logcfg.xml:
<?xml version=”1.0″ encoding=”UTF-8″ ?>
– <config xmlns=”http://v8.1c.ru/v8/tech-log“>
<dump create=”false” />
– <log location=”C:\Temp\1cv8Log” history=”1“>
– <event>
<eq property=”name” value=”SDBL” />
<eq property=”usr” value=”Петров” />
<eq property=”Func” value=”HoldConnection” />
</event>
– <event>
<eq property=”name” value=”SDBL” />
<eq property=”usr” value=”Иванов” />
<eq property=”Func” value=”HoldConnection” />
</event>
<property name=”all” />
</log>
</config>
Написала внешнюю обработку, в которой производится подсчет количества открытий формы документа РализацияТоваровИУслуг пользователями Иванов и Петров перебором строк лог-файла и поиска вхождений “Context=Система.ПолучитьФорму : Документ.РеализацияТоваровИУслуг.Форма.ФормаДокумента”. Наложить фильтр сразу в файле logcfg.xml на это условие не получилось.
2) Установочный дистрибутив создала без проблем. Попутно разобралась с созданием cfu-файлов. Не приходилось ранее этим заниматься.
3) С групповой разработкой проблем не возникло.
Задание 2,3 – без проблем
С заданием 1 – с “лету” удалось наложить условие только на usr, дальше кучу времени заняло эмпирическое “вычисление” на func. На обработку сил не хватило – фильтрую в Excel
ДЗ выполнено, с п1 помучался, одним глазом подсмотрел у более опытных товарищей, 2,3 как мастер учил
Пункты 2 и 3 затруднений не вызвали т. к. постоянно пользуюсь этими механизмами.
При выполнении первого пункта так и не удалось добиться нормального результата.
Эксперементальным методом подобрал оптимальный вариант регистрации события открытия формы используя событие SESN и накладывая ограничение по времени на данное событие.
<config xmlns=”http://v8.1c.ru/v8/tech-log“>
<log location=”C:\Program Files\1cv82\logs” history=”24″>
<event>
<eq property=”Name” value=”SESN”/>
<ne property=”Usr” value=””/>
<eq property=”func” value=”Attach”/>
<gt property=”Duration” value=”100″/>
<lt property=”Duration” value=”700″/>
</event>
<property name=”Usr”>
</property>
<property name=”Context”>
</property>
</log>
</config>
Полученный текстовый файл отфильтровываю с помощью Excel.
Если бы можно было отфильтровать по свойству “Context” то решение нашей задачи значительно облегчилось. Но к сожалению отфильтровать по свойству “Context” не удаеться. Конфигурационный файл сохранял в формате UTF-8. Интересно это ошибка платформы или это в принципе невозможно?
2 и 3 задание выполнил по примеру в видео файлах. Проблем по ним не возникло.
Задание выполнено. Сложностей не возникло.
Я работаю в файловом режиме.
Экспериментировала с событием SDBL и с событием DBv8DBEng
Получилось примерно одинаково.
С событием Sesn информации недостаточно.
Наложить фильтр на контекст с названием
документа и формы не получилось.
Ошибка появляется при попытке просмотреть файл в браузере. Может быть слишком длинные строки, или текст включает кириллицу хотя и в кавычках, или версия у меня не та.
Фильтр на имена пользователей накладывать не стала сознательно.
В обработке считываю текстовый файл, отыскиваю строки с названием
интересующей формы и пользователя.
Задание 2 и 3 затруднений не вызвали
эмпирическим путем получилось следующее.
<config xmlns=”http://v8.1c.ru/v8/tech-log“>
<log location=”C:\temp\12\” history=”1″>
<event>
<eq property=”Name” value=”SDBL” />
</event>
<property name=”context”>
<event>
<eq property=”Name” value=”SDBL” />
</event>
</property>
<property name=”usr”>
<event>
<eq property=”Name” value=”SDBL” />
</event>
</property>
</log>
</config>
Задание выполнено. Помогла обработка “Настройка технологического журнала”. Благодаря ей задание превратилось в удовольствие :) было интересно. После долгих экспериментов получилось вот что:
<?xml version=”1.0″ encoding=”UTF-8″?>
<config xmlns=”http://v8.1c.ru/v8/tech-log”>
<dump create=”false”/>
<log location=”C:\Program Files\1cv82\conf\log4\” history=”1″>
<event>
<eq property=”name” value=”sdbl”/>
<eq property=”usr” value=”иванов”/>
<eq property=”context” value=”система.получитьформу : документ.реализациятоваровиуслуг.форма.формадокумента”/>
</event>
<property name=”context”>
<event>
<eq property=”name” value=”sdbl”/>
</event>
</property>
</log>
</config>
2 и 3 часть проблем не вызвала.
2, 3 пункт сделал…
Пункт 1.. база на SQL , долго мучался с файлом из папки тонкого клиента , потом нашел нормальный лог в папке rphost отбор типа <like property= ‘VRSREQUEST’ value= ‘%Документ.РасходДенег.Форма.ФормаДокумент%’/>
не работает . отбор по юзеру <eq property=”usr” value=”Админ”/> тоже не получился, но <eq property= “name” value=”SDBL”/> работает..
использовал фильтр
<eq property=»name» value=»SESN»/>
далее анализ в Excel
2 и 3 сложностей не возникло
Отчет по ДЗ №2
1. файл logcfg.xml
<?xml version=”1.0″ encoding=”UTF-8″?>
<config xmlns=”http://v8.1c.ru/v8/tech-log”>
<dump create=”false”/>
<log location=”C:\1c\МастерГруппа82\log\” history=”168″>
<event>
<eq property=”name” value=”DBV8DBEng”/>
<eq property=”Usr” value=”Иванов И.И.”/>
</event>
<event>
<eq property=”name” value=”DBV8DBEng”/>
<eq property=”Usr” value=”Петров П.П.”/>
</event>
<property>
<eq property=”name” value=”DBV8DBEng”/>
<like property=”Sql” value=”Документ.РеализацияТоваровИУслуг.Форма.Форма1/НастройкиОкна”/>
</property>
</log>
</config>
Но в лог-файле все равно появилось много лишних строк, поэтому дальше в экселе можно отбирать по подстроке: “Документ.РеализацияТоваровИУслуг.Форма.Форма1/НастройкиОкна”
2. Конфигурация – Поставка конфигурации – комплект поставки – создать новое описание поставки. Далее нужно поставить галочку «Текущая информационная база». Затем создать файлы комплекта в том каталоге, где хранятся шаблоны.
3. Создал хранилище конфигурации. Создал администратора со всеми правами и пользователей Иванова и Петрова с правом захват объектов. Версии можно смотреть в меню История хранилища.
Пункт 1: Используя обработку с ИТС – НастройкаТехнологическогоЖурнала получаем файл logcfg.xml вида
<?xml version=”1.0″ encoding=”UTF-8″?>
<config xmlns=”http://v8.1c.ru/v8/tech-log”>
<dump create=”false”/>
<log location=”C:\Documents and Settings\evgeniyk\Рабочий стол\testststst” history=”168″>
<event>
<eq property=”name” value=”sesn”/>
<like property=”usr” value=”иванов”/>
</event>
<event>
<eq property=”name” value=”sesn”/>
<like property=”usr” value=”петров”/>
</event>
<property name=”context”>
<event>
<eq property=”name” value=”sesn”/>
</event>
</property>
<property name=”usr”>
<event>
<eq property=”name” value=”sesn”/>
</event>
</property>
</log>
</config>
Настройку на контекст наложить все таки не удалось (журнал перестает логироваться).
Далее файлы анализируются через Excel, используя отбор по колонкам (по пользователю и по нужному объекту).
Обработку делать не стал, хотя она наверное предпочительнее..
Пункты 2 и 3 выполнены. Проблем не возникло.
Задание выполнил
Пункт 1: Используя обработку с ИТС – НастройкаТехнологическогоЖурнала получаем файл logcfg.xml вида
<?xml version=”1.0″ encoding=”UTF-8″?>
<config xmlns=”http://v8.1c.ru/v8/tech-log”>
<dump create=”false”/>
<log location=”C:\Documents and Settings\denisk\Рабочий стол\test” history=”168″>
<event>
<eq property=”name” value=”sesn”/>
<like property=”usr” value=”иванов”/>
</event>
<event>
<eq property=”name” value=”sesn”/>
<like property=”usr” value=”петров”/>
</event>
<property name=”context”>
<event>
<eq property=”name” value=”sesn”/>
</event>
</property>
<property name=”usr”>
<event>
<eq property=”name” value=”sesn”/>
</event>
</property>
</log>
</config>
Настройку на контекст наложить все таки не удалось (журнал перестает логироваться).Далее файлы анализируются через Excel, используя отбор по колонкам (по пользователю и по нужному объекту).Обработку делать не стал, хотя она наверное предпочительнее..
Пункты 2 и 3 выполнены. Проблем не возникло.
Задание выполнил. logcfg.xml сформировал с помощью обработки с диска ИТС.
<?xml version=”1.0″?>
<config xmlns=”http://v8.1c.ru/v8/tech-log”>
<log history=”168″ location=”D:\UchebProd\Log1″>
<event>
<eq property=”name” value=”SDBL”/>
<like property=”usr” value=”Администратор”/>
</event>
<event>
<eq property=”name” value=”SDBL”/>
<like property=”usr” value=”Иванов”/>
</event>
<property name=”context”/>
<property name=”usr”/>
</log>
</config>
event для второго пользователя вставил руками. Добиться записи в журнал только для одной формы как и остальных не удалось.
Файлы ТЖ читаю обработкой “Чтение технологического журнала” пользователя инфостарта “Широкий”. Спасибо ему. :)
по пунктам 2 и 3 проблем не возникло.
Задание выполнено…действительно, пришлось потрудиться с тех.журналом. Но в конце концов и он был побежден.
Победа будет за нами :)
Задание сделал
Пришлось тоже много возится с настройкой журнала. Фильтр по событию Context=Система.ПолучитьФорму : Документ.ПоступлениеТоваровИУслуг.Форма.ФормаДокумента
упорно не работает…
Пришлось фильтровать уже при анализе. События фильтровал в Excel
По 2 и 3 части все прозрачно, работает нормально
Сделала.
По журналу – получилась запись context для указанных USR, остальное – в Excel.
Причем, и это получилось очень даже не сразу – только после изучения курса, обработки с ИТС, статей ИТС, документации по 1С, комментариев в этой теме, поиска в Интернет и т.д. Раньше с технологическим журналом не работала вообще, так что, обрадовал и этот результат.
По дистрибутивам – без проблем, в курсе – все подробно, получилось сразу.
По хранилищу – тоже получилось. Проблемы сначала были с добавлением новых элементов – в ДЗ нет, но, хотелось понять, как не только редактировать. Ппотом нашла информацию и об этом, получилось.
А у меня в файлы ТЖ воообще ничего не пишется.
Платформа 8.2.11. База файловая.
Все делаю один к одному как в уроке. Включаю полное логирование (посимвольно сверял текст конфигурационного файла)
Создаю на диске папку, указываю что лог в ней сохранять. Запускаю конфигурацию, проделываю в ней некоторые действия. Папки и файлы журналов создаются, но файлы внутри пустые. В них нет ни одной строки.
Попробуйте создать файл с помощью обработки с диска ИТС.
Нашел обработку в сети. Лог заработал.
Правда по свойству “Context = Система.ПолучитьФорму” не смог заставить работать. Пришлось логировать по имени пользователя, а в Excel-e уже фильтровать.
С остальными пунктами проблем не возникло.
Выполнено. Проблем не возникло
Задание выполнено, помогла обработка с ИТС по настройки ТЖ, анализировал в Екзеле, 2 и 3 пункт трудностей не вызвали.
задание выполнено частично – 2 и 3 пункт
Дом.задание №2 сделано.
Создал файл logcfg.xml на все события.
После анализа с помощью обработки НастройкаТехнологическогоЖурнала.epf подготовил сл.текст
<?xml version=”1.0″?>
<config xmlns=”http://v8.1c.ru/v8/tech-log”>
<dump create=”false” location=”” type=”0″ prntscrn=”false”/>
<log history=”1″ location=”C:\Program Files\1cv82\logs”>
<event>
<eq property=”ref” value=”DBs”/>
<like property=”usr” value=”Администратор”/>
<eq property=”Sql” value=”COMMIT TRANSACTION”/>
<eq property=”context” value=”Система.ПолучитьФорму : Документ.ПоступлениеТоваров.Форма.ФормаДокументаОсобая”/>
</event>
<event>
<eq property=”ref” value=”DBs”/>
<like property=”usr” value=”Менеджер”/>
<eq property=”Sql” value=”COMMIT TRANSACTION”/>
<like property=”context” value=”Система.ПолучитьФорму : Документ.ПоступлениеТоваров.Форма.ФормаДокументаОсобая”/>
</event>
</log>
</config>
По контексту Система.ПолучитьФорму : Документ.ПоступлениеТоваров.Форма.ФормаДокументаОсобая
все хорошо фильтровалось относительно всех событий, но вот условие <eq property=”Sql” value=”COMMIT TRANSACTION”/> упорно не получалось….
так или иначе после всех попыток подготовил простую обработку чтения технол.журнала.
С помощью объекта ТекстовыйДокумент посчитал количество открытий формы конкретным пользователем.
С механизмом поставки, хранилища конфигурации поработал.
Сделал. Почему то не возникло траблов с отбором в ТЖ, такое описание у меня логирует открытие любой формы документа, пишется токо одна нужная строчка
<property name=”Context” value=”Система.ПолучитьФорму : Документ.ПоступлениеТоваров.Форма”>
<event>
<eq property=”name” value=”sdbl”/>
</event>
</property>
<property name=”Context” value=”Система.ПолучитьФорму : Документ.ПоступлениеТоваров.Форма”> <event> <eq property=”name” value=”sdbl”/> </event> </property>
Задание выполнил. Создал logcfg.xml:
<?xml version=”1.0″ encoding=”UTF-8″?>
<config xmlns=”http://v8.1c.ru/v8/tech-log”>
<log location=”D:\Temp\tech_logs\Dz_2\” history=”168″>
<event>
<eq property=”name” value=”sesn”/>
<eq property=”usr” value=”Иванов”/>
</event>
<event>
<eq property=”name” value=”sesn”/>
<eq property=”usr” value=”Петров”/>
</event>
<property name=”context”>
</property>
<property name=”usr”>
</property>
</log>
</config>
Естественно, <like property=»context» value=»…/> не срабатывает. Затем делал обработку файлов из каталога, указанного в файле logcfg. Вывел обработанные данные на форму.
По второй и третьей части все понятно и просто
1. Выполнил с использованием обработки с ИТС и excel анализировал файл
2,3 затруднений не вызвал
Обработкой с ИТС настроил ввод контекста и имени пользователя.
SESN SCALL SDBL Форма упоминается во многих местах.
Какое событие правильне отлавливать?
Фильтр как и многие отписавшиеся, делаю с помощью Экселя.
Свой дистрибутив создал, с этим было не сложно.
При создании пользователя при попытке подключиться в хранилище получил “Пользователь сущесвующей связи отличается от текущего”
Потом добавил пользователю еще прав и стало всё ок.
Подводя итоги. Сложнее всего было с журналом. слишком там много всего.
В целом задание выполнил.
Обработкой с ИТС настроил ввод контекста и имени пользователя.SESN SCALL SDBL Форма упоминается во многих местах.Какое событие правильне отлавливать?Фильтр как и многие отписавшиеся, делаю с помощью Экселя.Свой дистрибутив создал, с этим было не сложно.При создании пользователя при попытке подключиться в хранилище получил “Пользователь сущесвующей связи отличается от текущего” Потом добавил пользователю еще прав и стало всё ок.
Подводя итоги. Сложнее всего было с журналом. слишком там много всего. В целом задание выполнил.
В целом задание выполнено.
1) С помощью обработки «Настройка технологического журнала», взятой с диска ИТС, создан конфигурационный файл ”logcfg.xml” следующего содержания:
<?xml version=”1.0″ encoding=”UTF-8″?>
<config xmlns=”http://v8.1c.ru/v8/tech-log”>
<dump create=”false”/>
<log location=”C:\TJLog82″ history=”2″>
<event>
<eq property=”name” value=”SESN”/>
<ne property=”usr” value=””/>
<eq property=”func” value=”Attach”/>
</event>
<property name=”usr”/>
<property name=”context”/>
</log>
</config>
Файл сохранен в папке: C:\Program Files\1cv82\conf
2) Полученный *.log файл читается внешней обработкой с помощью объекта «Текстовый документ». В цикле обходятся все строки текст. док-та. На каждой итерации в строке ищем текст «”Context=Система.ПолучитьФорму : Документ.РеализацияТоваровИУслуг.Форма.ФормаДокумента”». Если нашли, проверяем, принадлежит ли наше событие нужному пользователю. Для этого в текущей строке еще раз ищем другой текст «”Usr=Иванов И. И.”» ИЛИ «”Usr=Петров П. П.”», если нашли, плюсуем единицу к переменной «СчетчикОбращений», созданной отдельно для Иванова и отдельно для Петрова. В конце концов, сообщаем значения этих переменных. Минусом данного решения является его не универсальность. Но, тем не менее подсчитать количество обращений к форме возможно.
3) С созданием установочного дистрибутива проблем не возникло. Все сделано способами, описанными в главе 8.
4) С созданием и настройкой хранилища проблем тоже не возникло. Ознакомился с механизмом сохранения версий. Пользовался материалами главы 15.
1. Файл logcfg.xml:
<config xmlns=”http://v8.1c.ru/v8/tech-log”>
<log location=”D:\tecn\4″ history=”1″>
<event>
<eq property=”Name” value=”sdbl”/>
<eq property=”Usr” value=”Администратор”/>
<eq property=”Func” value=”HoldConnection”/>
</event>
<property name=”all”>
</property>
</log>
</config>
Но в отчет попадают все формы всех документов.
Пытался сделать фильтр строчкой “<eq property=”Context” value=”Система.ПолучитьФорму : Документ.РеализацияТоваровИУслуг.Форма.ФормаДокумента”/>”, почему то ничего не получилось.
Кроме анализа полученного файла сторонними средствами ничего в голову не приходит.
Пункты 2,3 выполнены без проблем.
ДЗ сделал.
п.1. Фильтр удалось настроить только по пользователям и событию открытия любой формы, по виду формы – никак не получилось. Одно открытие – одна запись. Путем обработки текстовых файлов можно подготовить отчет по конкретным формам, вопрос рутинный. Пункты 2 и 3 – без проблем.
Уточнение: после сброса кэша запрос срабатывает, запись в журнале появляется. Пункты 2, 3 выполнены без особых затруднений – установочные дистрибутивы ранее создавал, хранилище поднимал.
Перед выполнением ДЗ добавил Иванова и Петрова, добавил новую форму (ФормаМенеджера), обеспечил возможность выбора формы при открытии из списка (Процедура Процедура СписокВыбор()). На сервере получаем список форм кроме той, откуда вызываем, далее:
ОткрытьФорму(“Документ.РеализацияТоваровИУслуг.Форма.”+ВыбФорма.Значение, Новый Структура(“Ключ”, ВыбраннаяСтрока));
Открытие формы менеджера Ивановым или Петровым отлавливал с помощью технологического журнала. Весьма помогла обработка с ИТС, без неё было бы сложно. Для читстоты эксперимента Иванов заходил под толстым клиентом, а Петров под тонким. Сначала отлавливал все события, узнал много интересного :) Далее надо было определить с событием, которое одинаково бы работало в толстом и тонком клиенте. Наиболее подходящим оказался “Запрос к базе данных” (SDBL). Возникла проблема как отфильтровать события по Иванову и Петрову. Имя пользователя можно проверить только на eq, ne и like. Пришлось вручную делать два элемента event, которые объединяются по ИЛИ. Вот что получилось:
<event>
<eq property=”name” value=”sdbl”/>
<eq property=”usr” value=”Иванов”/>
<like property=”sdbl” value=”%Документ.РеализацияТоваровИУслуг.Форма.ФормаМенеджера/НастройкиФормы%”/>
</event>
Точно такой же элемент для Петрова. К сожалению, обработка ИТС не позволяет объединить по ИЛИ одинаковые события с разными условиями. Возникла ещё одна проблема. В толстом клиенте кэш обновляется чаще (примерно раз в 20 минут), после сброса кэша запрос срабатывает, запись в журнале не появляется. Пока кэш не сброшен, я ни в одном из событий не видел строчки ФормаМенеджера – привязаться не к чему. В тонком клиенте и того хуже. После старта приложения и открытия документа одна строчка в журнале появляется. После этого как отрезало – прошёл час, но ни одной новой записи не появилось. Видимо для тонкого клиента надо подобрать другое событие с учетом кэширования.
Не могу применить следующую настройку
<like property=”Context” value=”%РеализацияТоваровИУслуг.Форма.ФормаДокумента%”/>
Это ошибка платформы 1С:Предприятие 8.2 (8.2.11.236) или так идолжно быть?
8,2,12,96 тоже не работает
С частью первой пришлось убить немало времени и так до конца и не получилось настроить необходимым образом технологический журнал. Настройки были по событию SESN, где в свойстве контекст выводились данные по всем формам… но условие типа like не удалось применить к этому свойств… Так что сделано не до конца.
По второй и третьей частям проблем не возникло.
Добрый вечер !
1) Запустил с ИТС обработку для настройки технологического журнала – поигрался с ней. В результате создал файл logcfg.xml с фильтром по событиям запроса к БД, выводящем контекст и имя пользователя. Далее лог-файл читаю экселем, ставлю фильтр по событию Система.ПолучитьФорму : Документ.РеализацияТоваровИУслуг.Форма.ФормаДокумента
, по пользователю и средствами экселя получаю кол-во обращений.
2) Дистрибутив создал. Проблема была в том, что в каталоге поставщика надо было указать “1с\названиекаталогашаблонов”, а у меня шаблон копировался прямо в каталог tmplts.
3) С хранилищем проблем не возникло. Создал пользователей хранилища. Подключился. Попробовал захватить объект “Справочник.контрагенты”, обновить объект в хранилище.
1. При помощи обработки с ИТС создал такой конфиг:
<?xml version=”1.0″ encoding=”UTF-8″?>
<config xmlns=”http://v8.1c.ru/v8/tech-log”>
<log history=”168″ location=”C:\1Clogs”>
<event>
<eq property=”name” value=”SESN”/>
</event>
<property name=”Usr”/>
<property name=”Context”/>
</log>
</config>
Все хорошо, но фильтр на Context через like наложить не удалось. Категорические отказывается фильтроваться по этому условию. Поэтому, фильтрю уже в обработке, которая читает логи и пишет информацию в темповое тз, на основании которого потом дергается простой запрос, выводящий информацию в разрезах: период, пользователь, открытая форма, кол-во открытий.
2. Дистрибутив каркасной конфигурации, заполненной данными создал. Никаких проблем не возникло.
3. С хранилищем работаю с момента его создания :) Вопрос абсолютно никаких нет.
P.s.: хотелось бы увидеть, как все таки фильтр like накладывается, а то правда, что-то очень как-то непонятно с ним все.
Бился на смерть с первым блоком в технологическом журнале, но так и не победил. :( максимум что добился, так это чтобы выводил строки типо: 35:34.5081-1,SCALL,0,Usr=Администратор,Context=Система.ПолучитьФорму : Документ.РеализацияТоваровИУслуг.Форма.ФормаДокумента
но таких строк много, и все формы и документы разные.
Но не унывая…дальше для анализа я копировал это все в эксель, разбивал по столбцам и с помощью фильтров анализировал.
Но что то мне кажется есть более легкий путь.
Остальное ок.
Сразу же вопрос. в эвентах есть тип сравнения like как с ним работать? Я пытался накладывать фильтр like на контекст, но ничего не вышло, сразу перестает что-либо попадать в журнал со свойством контекст.
В задаче нет ограничений на используемые средства :)
Так что MS Excel тоже вариант )
В этом варианте есть преимущество, не надо писать программный код. Только по кнопкам тыкать.
Поддерживаю, ситуация с отбором по контексту достаточно мутная. Ставлю отбор:
<event>
<eq property=”func” value=”committransaction”/>
<like property=”context” value=”%ФормаДокумента%”/>
</event>
Ни одной записи не появляется. Оставляю:
<event>
<eq property=”func” value=”committransaction”/>
</event>
Появляется запись:
49:05.1106-1,DBV8DBEng,2,Usr=Петров,Func=commitTransaction,Context=Система.ПолучитьФорму : Документ.РеализацияТоваровИУслуг.Форма.ФормаДокумента
Думаю, фирме 1С тут есть над чем поработать…
C первой частью задания замучался, так как создавал конфигурационный файл технологического журнала руками, а не обработкой, но в конечном итоге все получилось.
По 2 и 3 пунктам все очень просто – постоянно использую эти механизмы в процессе работы когда готовлю обновления нетиповых конфигураций для крупных клиентов
1)Создал logcfg.xml Указал фильтр на событие “SESN” показывать свойства Context у которого значение <>”” , и свойство Usr.
Сформировал обработку в которой указывается
– Сетевое место в котором лежат Логи;
– Список пользователей по которым необходимо следить;
Алгоритм работы:
Выбираю все файлы лежащие в Сетевом каталоге с расширением *.log, далее в цикле каждый лог копирую во временный файл в другое место(чтобы можно было прочитать текущие данные у пользователя, т.к. файл занят для чтения). Затем в строке ищу следующие подстроки: “Context”, “ПолучитьФорму”, “РеализацияТоваровИУслуг”, при совпадении в цикле пробегаюсь по списку необходимых пользователей проверяю есть ли указанный пользователь в строке, если да то в СпискеПользователей в колонке Количество увеличиваю на 1.
Вопросы:
1) можно ли в cfg файле накладывать ограничения на значение свойств “Подобно”, “Like” ?
2) Создал комплект поставки, проверил, в шаблонах появляется, при создании данные есть.
3) Создал хранилище, добавил двух Пользователей Иванов и Петров, попробовал поработать поизменять объекты, посмотрел как сохраняются версии.
Поторопился, пропустил что надо еще отбор по определенной форме делат, добавил в алгоритм отбор по названию необходимой формы.
Дз отчасти выполнено…
Часть1 – намучался… использовал ТЖ, на выходе получился следующий файл настроек (файловая база):
<config xmlns=”http://v8.1c.ru/v8/tech-log”>
<log history=”1″ location=”C:\Temp\1″>
<event>
<eq property=”Usr” value=”Администратор”/>
<eq property=”name” value=”sdbl”/>
<eq property=”Func” value=”HoldConnection”/>
</event>
<event>
<eq property=”Usr” value=”Менеджер”/>
<eq property=”name” value=”sdbl”/>
<eq property=”Func” value=”HoldConnection”/>
</event>
<property name=”usr”/>
<property name=”context”/>
</log>
</config>
Это лучшее, чего удалось добиться.
Проблемы:
1)Имена пользователей у нас на русском, поэтому важно сохранять файл в кодировке UTF-8, в кодировке ANSI имена читаются не верно, и события не пишутся
2) не удалось устранить из ТЖ регистрацию события с именем “EXCPCNTX”. И так стоит условие на имя=”sdbl”, дак и добавление
<ne property=”name” value=”EXCPCNTX”/>
тоже никак не помогает
3) Спасибо обработке с ИТС, без неё возился бы еще дольше
4) В своей работе вижу минусы:
нет ограничения на базу данных, в итоге если есть 2 БД с юзером Администратор, и там и там будут идти логи (а зацепиться не нашел за что, ведь не в каждом событии есть свойство IB).
Не выполнил условие, чтобы логировалось открытие форм ТОЛЬКО документа РТУ… Упоминание о документе есть лишь в свойстве Контекст, но возможности использования условий сравнения очень ограничены и нельзя указать что-то вроде “context содержит РеализацияТоваровИУслуг”…
Если у пользователя на рабочем столе вынесены формы списков документов, то еще только при входе в сеанс в ТЖ уже пишется 2 события => сбой статистики.
При невозможности никак повлиять на конфигурацию не знаю как и быть.
т.о. не смог в точности соблюсти условия задания при выполнении, необходимый результат по части 1 не достигнут… :(
В целом при практике с ТЖ, кажется что очень неудобно его использовать для статистики. даже если удается добиться идеальных условий и логируются только нужные события, то факт записи логов для каждого сеанса в отдельную папку разрывает эти логи. Названия у папок НЕ говорящие – сиди потом, собирай по крупицам. Может у пользователя крыша поехала и он каждую минуту перезаходил в 1С => новый сеанс => новая папка => головная боль :)
Части 2 и 3 ДЗ выполнены без каких либо затруднений. Все понятно и работает.
Добрый день. А какой последний день сдачи задания?
Добрый!
Следующее ДЗ будет во вторник, до этого времени нужно отчитаться.