Продвинутый курс. Домашнее задание №2

Эта запись посвящена второму потоку продвинутого курса.
Второе задание по 0-му блоку продвинутого курса.

Для выполнения рекомендуется изучить следующие главы 0-го курса.
Глава 6. Технологический журнал.
Глава 7. Конфигурации в ИБ.
Глава 8. Поставка и поддержка конфигурации.
Глава 9. Обновление и модификация конфигураций.
Глава 10. Регламентные операции с ИБ.
Глава 11. Конфигурационные файлы.
Глава 12. Отладка прикладных решений.
Глава 13. Директивы компиляции, инструкции препроцессору и общие модули.
Глава 14. Показатели производительности.
Глава 15. Групповая разработка конфигурации.

К сожалению, у Вас недостаточно прав для просмотра этой записи. Если Вы еще не залогинены на сайте — залогиньтесь. Если Вы оплачивали курс, у Вас активирован токен доступа, Вы залогинены, но Вы видите эту запись — напишите нам на e-mail поддержки.

комментариев 106 на “Продвинутый курс. Домашнее задание №2”

  1. По первому заданию пришлось поработать. Фильтр   настраивала по событию SESN с помощью свойств Context и Usr только по пользователям и событию открытия любой формы, по виду формы не удалось. Дальше в Excel.

  2. Использовал такую настройку:
    <?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 проблем не возникло.

  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) С групповой разработкой проблем не возникло.

  4. Задание 2,3 – без проблем
    С заданием 1 – с “лету” удалось наложить условие только на usr, дальше кучу времени заняло эмпирическое “вычисление”  на func. На обработку сил не хватило – фильтрую в Excel

  5. ДЗ выполнено, с п1 помучался, одним глазом подсмотрел у более опытных товарищей, 2,3  как мастер учил

  6. Антон Булыгин 01.11.2010 в 20:10

    Пункты 2 и 3 затруднений не вызвали т. к. постоянно пользуюсь этими механизмами.
    При выполнении первого пункта так и не удалось добиться нормального результата.

  7. Эксперементальным методом подобрал оптимальный вариант регистрации события открытия формы  используя событие 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 задание выполнил по примеру в видео файлах. Проблем по ним не возникло.

  8. Задание выполнено. Сложностей не возникло.

  9. Я работаю в файловом режиме.
    Экспериментировала с событием 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>

  10. Задание выполнено. Помогла обработка “Настройка технологического журнала”. Благодаря ей задание превратилось в удовольствие :) было интересно. После долгих экспериментов получилось вот что:
    <?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 часть проблем не вызвала.
     

  11. 2, 3 пункт сделал…
    Пункт 1.. база на SQL , долго мучался с файлом из папки тонкого клиента , потом нашел нормальный лог в папке rphost   отбор типа <like property= ‘VRSREQUEST’ value= ‘%Документ.РасходДенег.Форма.ФормаДокумент%’/>
    не работает . отбор по юзеру <eq property=”usr” value=”Админ”/> тоже не получился, но <eq property= “name” value=”SDBL”/> работает..
     

  12. Александр Тарасов 01.11.2010 в 16:23

    использовал фильтр
    <eq property=»name» value=»SESN»/>
    далее анализ в Excel
    2 и 3 сложностей не возникло

  13. Отчет по ДЗ №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. Создал хранилище конфигурации. Создал администратора со всеми правами и пользователей Иванова и Петрова с правом захват объектов. Версии можно смотреть в меню История хранилища.

  14. Пункт 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 выполнены. Проблем не возникло.

  15. Леонид 01.11.2010 в 12:02

    Задание выполнил. 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 проблем не возникло.

  16. Задание выполнено…действительно, пришлось потрудиться с тех.журналом. Но в конце концов и он был побежден.

  17. Задание сделал
    Пришлось тоже много возится с настройкой журнала. Фильтр по событию Context=Система.ПолучитьФорму : Документ.ПоступлениеТоваровИУслуг.Форма.ФормаДокумента
    упорно не работает…
    Пришлось фильтровать уже при анализе. События фильтровал в Excel
    По 2 и 3 части все прозрачно, работает нормально

  18. progr-2008 01.11.2010 в 09:48

    Сделала.
    По журналу – получилась запись context для указанных USR, остальное – в Excel.
    Причем, и это получилось очень даже не сразу – только после изучения курса, обработки с ИТС, статей ИТС, документации по 1С, комментариев в этой теме, поиска в Интернет  и т.д. Раньше с технологическим журналом не работала вообще, так что, обрадовал и этот результат.
    По дистрибутивам – без проблем, в курсе – все подробно, получилось сразу.
    По хранилищу – тоже получилось. Проблемы сначала были с добавлением новых элементов – в ДЗ нет, но, хотелось понять, как не только редактировать. Ппотом нашла информацию и об этом, получилось.

  19. Денис Гончаренко 01.11.2010 в 09:38

    А у меня в файлы ТЖ воообще ничего не пишется.
    Платформа 8.2.11.  База файловая.
    Все делаю один к одному как в уроке. Включаю полное логирование (посимвольно сверял текст конфигурационного файла)
    Создаю на диске папку, указываю что лог  в ней сохранять. Запускаю конфигурацию, проделываю в ней некоторые действия. Папки и файлы журналов создаются, но файлы внутри пустые.  В них нет ни одной строки.

    • Попробуйте создать файл с помощью обработки с диска ИТС.

      • Денис Гончаренко 02.11.2010 в 09:09

        Нашел обработку в сети. Лог заработал.
        Правда по свойству  “Context = Система.ПолучитьФорму” не смог заставить работать. Пришлось логировать по имени пользователя, а в Excel-e уже фильтровать.
        С остальными пунктами проблем не возникло.

  20. elitekGAVA 01.11.2010 в 08:48

    Выполнено. Проблем не возникло

  21. Задание выполнено, помогла обработка с ИТС по настройки ТЖ, анализировал в Екзеле, 2 и 3 пункт трудностей не вызвали.

  22. задание выполнено частично – 2 и 3 пункт

  23. Дом.задание №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”/> упорно не получалось….
    так или иначе после всех попыток подготовил простую обработку чтения технол.журнала.
    С помощью объекта ТекстовыйДокумент посчитал количество открытий формы конкретным пользователем.
    С механизмом поставки, хранилища конфигурации поработал.
     

  24. Сделал. Почему то не возникло траблов с отбором в ТЖ, такое описание у меня логирует открытие любой формы документа, пишется токо одна нужная строчка

    <property name=”Context” value=”Система.ПолучитьФорму : Документ.ПоступлениеТоваров.Форма”>
    <event>
    <eq property=”name” value=”sdbl”/>
    </event>
    </property>
    <property name=”Context” value=”Система.ПолучитьФорму : Документ.ПоступлениеТоваров.Форма”> <event> <eq property=”name” value=”sdbl”/> </event> </property>

  25. Задание выполнил. Создал 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 затруднений не вызвал

  26. Обработкой с ИТС настроил ввод контекста и имени пользователя.
    SESN SCALL SDBL  Форма упоминается во многих местах.
    Какое событие правильне отлавливать?
    Фильтр как и многие отписавшиеся, делаю с помощью Экселя.
    Свой дистрибутив создал, с этим было не сложно.
    При создании пользователя при попытке подключиться  в хранилище получил “Пользователь сущесвующей связи отличается от текущего”
    Потом добавил пользователю еще прав и стало всё ок.
    Подводя итоги. Сложнее всего было с журналом. слишком там много всего.
    В целом задание выполнил.
    Обработкой с ИТС настроил ввод контекста и имени пользователя.SESN SCALL SDBL  Форма упоминается во многих местах.Какое событие правильне отлавливать?Фильтр как и многие отписавшиеся, делаю с помощью Экселя.Свой дистрибутив создал, с этим было не сложно.При создании пользователя при попытке подключиться  в хранилище получил “Пользователь сущесвующей связи отличается от текущего” Потом добавил пользователю еще прав и стало всё ок.
    Подводя итоги. Сложнее всего было с журналом. слишком там много всего. В целом задание выполнил.

  27. В целом задание выполнено.
    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.

  28. Кудрявцев Олег 30.10.2010 в 19: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 выполнены без проблем.

  29. ДЗ сделал.
    п.1. Фильтр  удалось настроить только по пользователям и событию открытия любой формы, по виду формы – никак не получилось. Одно открытие – одна запись. Путем обработки текстовых файлов можно подготовить отчет по конкретным формам, вопрос рутинный. Пункты 2 и 3 – без проблем.

  30. Константин Павленко 30.10.2010 в 18:09

    Уточнение: после сброса кэша запрос срабатывает, запись в журнале появляется. Пункты 2, 3 выполнены без особых затруднений – установочные дистрибутивы ранее создавал, хранилище поднимал.

  31. Константин Павленко 30.10.2010 в 18:01

    Перед выполнением ДЗ добавил Иванова и Петрова,  добавил новую форму (ФормаМенеджера), обеспечил возможность выбора формы при открытии из списка (Процедура Процедура СписокВыбор()). На сервере получаем список форм кроме той, откуда вызываем, далее:
    ОткрытьФорму(“Документ.РеализацияТоваровИУслуг.Форма.”+ВыбФорма.Значение, Новый Структура(“Ключ”, ВыбраннаяСтрока));
    Открытие формы менеджера Ивановым или Петровым отлавливал с помощью технологического журнала. Весьма помогла обработка с ИТС, без неё было бы сложно. Для читстоты эксперимента Иванов заходил под толстым клиентом, а Петров под тонким. Сначала отлавливал все события, узнал много интересного :) Далее надо было определить с событием, которое одинаково бы работало в толстом и тонком клиенте. Наиболее подходящим оказался “Запрос к базе данных” (SDBL). Возникла проблема как отфильтровать события по Иванову и Петрову. Имя пользователя можно проверить только на eq, ne и like. Пришлось вручную делать два элемента event, которые объединяются по ИЛИ. Вот что получилось:
      <event>
       <eq property=”name” value=”sdbl”/>
       <eq property=”usr” value=”Иванов”/>
       <like property=”sdbl” value=”%Документ.РеализацияТоваровИУслуг.Форма.ФормаМенеджера/НастройкиФормы%”/>
      </event>
    Точно такой же элемент для Петрова. К сожалению, обработка ИТС не позволяет объединить по ИЛИ одинаковые события с разными условиями. Возникла ещё одна проблема. В толстом клиенте кэш обновляется чаще (примерно раз в 20 минут), после сброса кэша запрос срабатывает, запись в журнале не появляется. Пока кэш не сброшен, я ни в одном из событий не видел строчки ФормаМенеджера – привязаться не к чему. В тонком клиенте и того хуже. После старта приложения и открытия документа одна строчка в журнале появляется. После этого как отрезало – прошёл час, но ни одной новой записи не появилось. Видимо для тонкого клиента надо подобрать другое событие с учетом кэширования.

  32. Не могу применить следующую настройку
    <like property=”Context” value=”%РеализацияТоваровИУслуг.Форма.ФормаДокумента%”/>

    Это ошибка платформы 1С:Предприятие 8.2 (8.2.11.236) или так идолжно быть?

  33. С частью первой пришлось убить немало времени и так до конца и не получилось настроить необходимым образом технологический журнал. Настройки были по событию SESN, где в свойстве контекст выводились данные по всем формам… но условие типа like не удалось применить к этому свойств… Так что сделано не до конца.
    По второй и третьей частям проблем не возникло.

  34. Сергей Калмыков 30.10.2010 в 15:50

    Добрый вечер !
    1) Запустил с ИТС обработку для настройки технологического журнала – поигрался с ней. В результате создал файл logcfg.xml с фильтром по событиям запроса к БД, выводящем контекст и имя пользователя. Далее лог-файл читаю экселем, ставлю фильтр по событию Система.ПолучитьФорму : Документ.РеализацияТоваровИУслуг.Форма.ФормаДокумента
    , по пользователю и средствами экселя получаю кол-во обращений.
    2) Дистрибутив создал. Проблема была в том, что в каталоге поставщика надо было указать “1с\названиекаталогашаблонов”, а у меня шаблон копировался прямо в каталог tmplts.
    3) С хранилищем проблем не возникло. Создал пользователей хранилища. Подключился. Попробовал захватить объект “Справочник.контрагенты”, обновить объект в хранилище.

  35. 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 накладывается, а то правда, что-то очень как-то непонятно с ним все.

  36. Илья Чернов 29.10.2010 в 21:07

    Бился на смерть с первым блоком в технологическом журнале, но так и не победил. :( максимум что добился, так это чтобы выводил строки типо: 35:34.5081-1,SCALL,0,Usr=Администратор,Context=Система.ПолучитьФорму : Документ.РеализацияТоваровИУслуг.Форма.ФормаДокумента
    но таких строк много, и все формы и документы разные.
    Но не унывая…дальше для анализа я копировал это все в эксель, разбивал по столбцам и с помощью фильтров анализировал.
    Но что то мне кажется есть более легкий путь.
    Остальное ок.
    Сразу же вопрос. в эвентах есть тип сравнения like как с ним работать? Я пытался накладывать фильтр like на контекст, но ничего не вышло, сразу перестает что-либо попадать в журнал со свойством контекст.

    • В задаче нет ограничений на используемые средства :)
      Так что MS Excel тоже вариант )

      • Илья Чернов 30.10.2010 в 20:11

        В этом варианте есть преимущество, не надо писать программный код. Только по кнопкам тыкать.

    • Константин Павленко 30.10.2010 в 20:51

      Поддерживаю, ситуация с отбором по контексту достаточно мутная. Ставлю отбор:
      <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С тут есть над чем поработать…

  37. Филимонов Юрий 29.10.2010 в 21:00

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

    По 2 и 3 пунктам все очень просто – постоянно использую эти механизмы в процессе работы когда готовлю обновления нетиповых конфигураций для крупных клиентов

  38. 1)Создал logcfg.xml Указал фильтр на событие “SESN” показывать свойства Context у которого значение <>”” , и свойство Usr.
    Сформировал обработку в которой указывается
    – Сетевое место в котором лежат Логи;
    – Список пользователей по которым необходимо следить;
    Алгоритм работы:
    Выбираю все файлы лежащие в Сетевом каталоге с расширением *.log, далее в цикле каждый лог копирую во временный файл в другое место(чтобы можно было прочитать текущие данные у пользователя, т.к. файл занят для чтения). Затем в строке ищу следующие подстроки: “Context”, “ПолучитьФорму”, “РеализацияТоваровИУслуг”, при совпадении в цикле пробегаюсь по списку необходимых пользователей проверяю есть ли указанный пользователь в строке, если да то в СпискеПользователей в колонке Количество увеличиваю на 1.

    Вопросы:
    1) можно ли в cfg файле накладывать ограничения на значение свойств “Подобно”, “Like” ?

    2) Создал комплект поставки, проверил, в шаблонах появляется, при создании данные есть.
    3) Создал хранилище, добавил двух Пользователей Иванов и Петров, попробовал поработать поизменять объекты, посмотрел как сохраняются версии.

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

  39. Дз отчасти выполнено…
    Часть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 ДЗ выполнены без каких либо затруднений. Все понятно и работает.

  40. Добрый день. А какой последний день сдачи задания?

    • Добрый!
      Следующее ДЗ будет во вторник, до этого времени нужно отчитаться.