gifts2017

Конфигурация: Журнал регистрации (управляемое приложение)

Опубликовал Алексей Черданцев (scanner1980) в раздел Администрирование - Журнал регистрации

Конфигурация предназначена для загрузки журнала регистрации из xml файла или через COM подключение.

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

Описание конфигурации:

Предназначена для загрузки журнала регистрации из xml.

Позволяет хранить в одной БД несколько журналов (при загрузке используется идентификатор, который вводиться вручную).

Реализованы 2 роли: ПолныеПрава, ЧтениеЖурналаРегистрации.

Позволяет очищать журнал за период, по выбранной базе.

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

 

Материалы используемые при разработке:

http://infostart.ru/public/93225/ (взято за основу)

http://infostart.ru/public/71896/ (оригинальная разработка)

 

Изменения и дополнения:

Возможность загрузки напрямую из базы 1С;

Добавлена возможность ведения журналов по разным информационнам базам;

Добавлена возможность очистки как журнала регистрации, так и всех данных (справочников и регистра сведений);

Форма журнала приведена к привычному виду (построена на основе стандартного журнала);

Форма записи журнала построена на основе стандартной.

Изменения от 14.11.2011:

Добавлена возможность загрузки журнала через COM соединение.

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

Добавлено регламентное задание, для возможность загрузки журналов по расписанию. Журналы будут загружаться по всем ИБ для которых корректно настроено соединение.

Исправлены замеченные недоработки и ошибки. 

Изменения от 23.11.2011

Новое в версии 1.0.0.1

Общие изменения и улучшения
Пароль доступа к информационной базе отображается звездочками.

Добавлен отчет по журналу регистрации.

Добавлена заставка.

Реализовано удаление временного файла после загрузки журнала.

Добавлена загрузка журнала за период при COM соединении. Работает только при ручном варианте запуска из формы Информационной базы.

Важные изменения
Добавлена новая версия "8.2 в режиме совместимости с 8.1" (COM Connector используется от 8.2, а журнал выгружается в версии 8.1)

В настройки ИБ добавлен флаг "Фоновый обмен" (используется для указания использования фонового обмена, по ИБ у которых флаг не установлен фоновый обмен производиться не будет)

Исправлена процедура выполнения регламентного задания. Регламентное задание не выполнялось из-за отсутствующего параметра.

Произведена интеграция с Библиотекой стандартных подсистем. Перенесены подсистемы: Пользователи, Адресный классификатор, Управление контактной информацией, Регламентные задания, обновление версии ИБ, Базовая функциональность, Физические лица, Получение файлов из интернета, Дополнительные отчеты и обработки, Работа с электронной почтой.

 

Прилагаемые файлы:

Файл конфигурации (cf)

 

 


Это моя первая публикация и практически первый опыт работы с управляемым приложением.

 

Скачать файлы

Наименование Файл Версия Размер
Конфигурация 308
.cf 1,20Mb
06.02.13
308
.cf 1,20Mb Скачать

См. также

Подписаться Добавить вознаграждение
Комментарии
1. Armando Armando (Armando) 09.11.11 12:39
Давно хотел сделать. Руки не доходили.
Сразу хочется регламентное задание добавить.
2. Алексей Черданцев (scanner1980) 09.11.11 18:54
Регламентное для сбора журналов? Я сейчас впервые столкнулся с проблемой ограничения объема таблицы в файловой версии. А журнал всего с октября пытался загрузить, журнал почти стандартный Бухгалтерия 2. (( Перехожу на скуль и продолжаю разработку.
3. Armando Armando (Armando) 09.11.11 20:24
(2) Да, задание для сбора журналов по расписанию. С возможностью ручного запуска. Потом захочется настроить почтовые уведомления об ошибках, как в БСП. Очень удобная вещь.
Файловая база однозначно мало пригодна для таких целей. Как и в качестве БД для нормальной системы.
Проблему большого объема можно решить моделью OLTP -> DW.
4. Алексей Черданцев (scanner1980) 14.11.11 16:29
(3) Добавлено регламентное задание

Armando пишет:
OLTP -> DW
А можно поподробнее про это? или ссылочку где почитать
5. Александр Крынецкий (echo77) 16.11.11 18:38
Как автор оригинала плюсую ;-)
А если в 8.2 ведется учет доступа к данным(http://infostart.ru/public/89244/), работать будет?

Не вижу красивого отчета на СКД :-)
Нет ли желания встроить стандартную подсистему управления пользователями и отчетами?
С отчетом могу помочь
romankoav; scanner1980; +2 Ответить 1
6. Алексей Черданцев (scanner1980) 16.11.11 19:30
(5) Спасиб за ссылку.
Отчет на СКД думаю сделаю. Если честно, то пока не смотрел отчет котрый у тебя был реализован, так как не видел в нем особого смысла. Н восле того как журнал одной из баз грузится уже вторые сутки думаю придется сделать отчет ))

Стандартная подсистема зачем? Все же конфигурация больше для администраторов как я думаю.
7. Александр Крынецкий (echo77) 16.11.11 19:53
(6)Если встраивание стандартной подсистемы займет продолжительное время - то конечно не стоит.
В отчете есть смысл: чтобы не гонять всю базу период отбора сужаешь до месяцев/недели/а может быть и дней.

Есть еще предложение не делать справочник представлений подчиненным, а сделать его в виде словаря - т.е. при загрузке в базу "журнал регистарции" представление объекта сначала ищем во всем правочнике "Словарь представлений", если не нашли - добавляем - это несколько уменьшит размер базы журнала регистрации.
Выгода очевидна - ссылка на справочник - 16 байт, против - длинной строки или кучи строк с одинаковым наименованием
8. Александр Крынецкий (echo77) 19.11.11 12:46
Чего не хватает:
- Управление регламентными заданиями
- Возможности загружать данные из БАЗЫ(а не из файла) за указанный период

Один совсем нехороший момент: при загрузке журнала регистрации из базы на платформе 8.2, работающей в режиме совместимости 8.1 куча информации теряется(т.е. не грузится), скриншот: http://s004.radikal.ru/i205/1111/83/593aeadb5df1.png
9. Алексей Черданцев (scanner1980) 20.11.11 12:24
Один совсем нехороший момент: при загрузке журнала регистрации из базы на платформе 8.2, работающей в режиме совместимости 8.1 куча информации теряется(т.е. не грузится), скриншот: http://s004.radikal.ru/i205/1111/83/593aeadb5df1.png


При загрузке необходимо указать что это база версии 8.1

все остальное пока в работе.
10. Алексей Черданцев (scanner1980) 23.11.11 13:27
Обновил конфигурацию. Часть запросов реализовал. Возможна не очень корректная интеграция с БСП. Отпишитесь о работе регламентного задания на сервере, насколько корректно все делает.
11. Алексей Черданцев (scanner1980) 23.11.11 18:11
Исправлена работа фонового задания. Фоновое задание не запускалось из-за неверного параметра запроса.
12. Сергей Иванов (Pitbull-1C) 27.11.11 21:50
Неудобно что в обработке ЖурналаРегистрации отображаются события не по представлению (скорее это ошибка, т.к. в обработке данные поля "СобытиеПредставление", а отображает наименование). То же самое с ПредставлениеМетаданных, ПредставлениеДанных.

Т.е. отображает
15.01.2011 0:03:48 _$Session$_.Finish

А необходимо
15.01.2011 0:03:48 Сеанс. Завершение
13. Алексей Черданцев (scanner1980) 28.11.11 05:10
(12) Видимо у вас одна из первых версий конфигурации. В последних версиях это исправлено - см. общий скриншот. Хотя насколько я помню, то изначально было как на скриншоте.
14. Александр Крынецкий (echo77) 29.11.11 07:00
Небольшой баг при входе в базу под пользователем <неавторизован>(когда в списке пользователей ИБ никого нет)
[quote]{ОбщийМодуль.ОбщегоНазначения(2200)}: Ошибка при вызове метода контекста (ПравоДоступа)
Если ПравоДоступа("СохранениеДанныхПользователя", Метаданные) Тогда
по причине:
Указанное право не существует: СохранениеДанныхПользователя[/quote]

p.s. у меня 13 платформа
15. Роман Ложкин (webester) 30.11.11 02:42
При попытке загрузить журнал получаю: Неизвестное имя формы: Имя "Обработка.ЗагрузитьXML.ЗагрузкаЖурнала" что делать?
16. Алексей Черданцев (scanner1980) 30.11.11 20:47
(15) webester, сообщите версию платформы, режим запуска. Если можно, то вышлите на почту загружаемый вами журнал для проверки.
17. Алексей Черданцев (scanner1980) 30.11.11 21:16
(14) echo77, попытка повторить ошибку не получилась. если возможно вышлите базу с ошибкой для анализа на scanner1980@mail.ru
18. Владимир Б (antares_of) 02.12.11 15:11
а нельзя посмотреть точно кто что делал в документе? Не просто описание "редактировано,изменено", а что именно изменено или удалено?
19. Алексей Черданцев (scanner1980) 02.12.11 19:55
Если данное событие будет отражено в журнале регистрации (например в подписке на событие), тогда можно ...
21. Сергей Иванов (Pitbull-1C) 07.12.11 22:05
(13) scanner1980,
Все хорошо если загружать изначально в этой конфигурации. А я обновил с версии http://infostart.ru/public/93225/
Поэтому такая трабла.
22. Алексей Черданцев (scanner1980) 08.12.11 13:17
(21) это разные разработки и несовместимы между собой.
23. Иван Булычев (flybread) 13.12.11 11:11
(15) webester, была такая же ошибка.
Я исправил Обработка.ЗагрузитьДанныеXML.ЗагрузкаЖурнала на
ОткрытьФорму("Обработка.ЗагрузитьДанныеXML.Форма.ЗагрузкаЖурнала",, ПараметрыВыполненияКоманды.Источник, ПараметрыВыполненияКоманды.Уникальность, ПараметрыВыполненияКоманды.Окно);

В модуле команды обработки ЗагрузитьДанныеXML.

scanner1980, классная конфа, оказалась очень полезной, спасибо.
24. Иван Булычев (flybread) 13.12.11 12:02
flybread пишет:

(15) webester, была такая же ошибка.

Я исправил Обработка.ЗагрузитьДанныеXML.ЗагрузкаЖурнала на

ОткрытьФорму("Обработка.ЗагрузитьДанныеXML. Форма. ЗагрузкаЖурнала",, ПараметрыВыполненияКоманды.Источник, ПараметрыВыполненияКоманды.Уникальность, ПараметрыВыполненияКоманды.Окно);



В модуле команды обработки ЗагрузитьДанныеXML.



scanner1980, классная конфа, оказалась очень полезной, спасибо.




кстати забыл сказать платформа у меня была старая 8.2.14.528, думаю поэтому такая ошибка вышла.
25. Алексей Черданцев (scanner1980) 13.12.11 16:34
(15) (23) (24) Ошибка действительно присутствовала в конфигурации. Исправил и выложил обновленный файл конфигурации.
Кто не хочет качать и обновлять - см. (23)

Спасибо за найденную ошибку. Постараюсь быть внимательнее.
26. Игорь Дзеса (Kamikadze) 14.12.11 02:37
Ошибку, о которой пишет flybread исправлял тоже.

Что не понравилось:
- зачем форму списку регистра сведений "втюхивать" в командный интерфейс? При большом количестве данных это сильно будет тормозить работу;
- Отчетность не выведена в отдельный блок;
- как по мне отбор по данных журнала регистрации надо бы "допилить"
- как было сказано раньше - управление регламентными заданиями не помешало бы.

Однозначный плюс за реализацию - программный код мне понравился.

Что я реализую допишу под себя:

- выгрузка в режиме фона за каждый рабочий день журнала для отмеченных баз данных;
27. Алексей Черданцев (scanner1980) 14.12.11 05:08
1) альтернатива какая?
2) в работе
3) поподробнее
4) управление регламентными заданиями есть в последней версии от 23.11.11
28. PavelAkaev (pavelakaev) 21.12.11 23:01
(14) echo77, Не дочитал до конца возможно уже ответили. Дело в платформе. Обновись по крайней мере до 8,2,14
29. Александр Че (chmod660) 12.01.12 17:43
обновил до версии от 23.11.11 - очень много хороших изменений!
и так был полезный инструмент, а стал еще удобнее!
спасибо вам за ваш труд!
30. Евгений Малышев (kgp) 13.02.12 11:43
При добавлении новой учетной записи электронной почты получаю ошибку:

Ошибка в ограничении доступа к данным.
объект: 'Справочник.УчетныеЗаписиЭлектроннойПочты'; право: 'Чтение'
Синтаксическая ошибка "Параметр ОграничиватьДоступПоВиду не существует"
по причине:
Синтаксическая ошибка "Параметр ОграничиватьДоступПоВиду не существует"

Платформа 8.2.15.294
scanner1980; +1 Ответить
31. Алексей Черданцев (scanner1980) 13.02.12 13:00
Спасибо за сообщение об ошибке. Наверное из-за некорректного сопряжения с БСП. Постараюсь решить в ближайшее время.
33. Andrey Dyak (electronik) 03.04.12 16:57
Вещь хорошая давно искал Автору 5+ за работу и терпение, работоспособность будем тестировать
34. Andrey Dyak (electronik) 19.06.12 11:39
При вигрузке пишет следующую ошибку
{ОбщийМодуль.ЗагрузкаЖурналаСервер.Модуль(1130)}: Ошибка чтения журнала регистрации: C:\Users\electronik\AppData\Local\Temp\v8_564A_30.xml
{ОбщийМодуль.ЗагрузкаЖурналаСервер.Модуль(438)}: Неверный формат выгрузки журнала регистрации
ВызватьИсключение Ошибка;

Пожалуйста подскажите в чем причина
35. Алексей Черданцев (scanner1980) 20.06.12 13:21
(34) electronik, проверьте формат информационной базы в настройках.
36. simuljakr (simuljakr) 28.06.12 13:11
Из xml файла загрузка не прошла:


Ошибка в ограничении доступа к данным.
объект: 'Справочник.УчетныеЗаписиЭлектроннойПочты', поле: 'Ссылка'; право: 'Чтение'
Синтаксическая ошибка "Параметр ОграничиватьДоступПоВиду не существует"
по причине:
Синтаксическая ошибка "Параметр ОграничиватьДоступПоВиду не существует"

База УТ 10.3, платформа 8.1

п.с. Попробовал загрузить тот же файл в первоисточник:
http://infostart.ru/public/71896/
- загрузилось без ошибок.
37. Роман М (ROM_NN) 24.07.12 23:36
Очень интересует скорость работы. Можно из опыта хотя бы примерно оценить порядок? Скажем, количество записей регистра в минуту или в час?
И есть ли возможность параллельной загрузки из нескольких баз?
38. EfiopReal (Созинов) 26.07.12 13:34
Это я удачно зашел :-) Начал было писать свой велосипед, потом решил на инфостаре посмотреть. Пожалуй возьму вашу конфигурацию и добавлю то, что мне надо. Спасибо. Однозначно +
39. Алексей Черданцев (scanner1980) 26.07.12 18:53
(38) EfiopReal, Параллельная загрузка не предусматривалась из-за блокировок при параллельной записи в регистр, хотя можете попробовать (запустить несколько клиентов и загрузка из файла).

По поводу скорости тут все субъективно и от железа зависит. У меня журнал из порядка 2х миллионов записей грузился около 9 часов.
40. Babys (babys) 28.08.12 16:37
При загрузке частями через COM выдёт ошибку:
Ошибка чтения журнала регистрации: C:\Windows\Temp\v8_F7C2_2d.xml
{ОбщийМодуль.ЗагрузкаЖурналаСервер.Модуль(438)}: Неверный формат выгрузки журнала регистрации


База на 8.2, версия платформы установлена "1С:Предприятие 8.2"
Как побороть, xml выгрузка тоже не грузится (~20G).
41. Алексей Черданцев (scanner1980) 29.08.12 07:50
(40) babys, база не в режиме совместимости с 8.1?
42. Babys (babys) 29.08.12 09:04
(41) scanner1980, нет, 8.2.13 Релиз 8.2.15.318, КА 1.1.21.1
43. Алексей Черданцев (scanner1980) 29.08.12 09:11
(42) babys, Файлик можете прислать?
44. Babys (babys) 29.08.12 09:20
(43) scanner1980, Файлик чего? Полный журнал? Так я сейчас в режиме ручной загрузки через COM пытаюсь загрузиться по месячно.
45. Babys (babys) 29.08.12 10:37
(43) scanner1980, понял, при файлике без событий, такое сообщение выскакивает.
46. Алексей Черданцев (scanner1980) 29.08.12 13:09
(45) babys,
Ошибка чтения журнала регистрации: C:\Windows\Temp\v8_F7C2_2d.xml 

вот именно этот файлик, т.е. журнал выгружен, ошибка при загрузке. Либо попробуйте поиграться с версиями ИБ в настройках.
47. Babys (babys) 31.08.12 11:06
(46) scanner1980, ну зачем же файл, там данных то всего ничего :)
<?xml version="1.0" encoding="UTF-8" ?>
<
v8e:EventLog xmlns:v8e="http://v8.1c.ru/eventlog" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" />

Вынужден согласиться с программой, я тоже не смог определить версию лога.
48. Adapter Бахтыреев (adapter) 24.01.13 15:37
хорошая штука. Поставил закачку логов из рабочих БД.

В справочниках
Данные
ИменаПользователей
Компьютеры
ОбъектыМетаданных

Добавил владельца ИнформационныеБазы и подправил ПрочитатьЖурналВРегистр
49. Adapter Бахтыреев (adapter) 11.02.13 09:01
после всех изменений решил выложить результат
http://infostart.ru/public/172875/
50. Александр Фомин (alex15650) 18.06.13 16:35
Загрузил журнал из xml файла за один день. Журнал загрузился пустой, все с "ушами". В чем причина?
51. Александр Фомин (alex15650) 18.06.13 16:54
(50) alex15650, разобрался, все работает!
52. Александр Фомин (alex15650) 18.06.13 17:11
А за какой период журнал загружается если фоновым заданием?
53. Алексей Черданцев (scanner1980) 18.06.13 18:48
(52) Журнал загружается с момента последних, загруженных данных.
54. Александр Фомин (alex15650) 19.06.13 10:53
(53) scanner1980, спасибо, все отлично работает! )
55. Сергей Лесовой (Synoecium) 31.03.14 12:45
Не получилось загрузить логи по СОМ-соединению, при попытке загрузки выдало следующую ошибку:

При попытке подключения к информационной базе произошла ошибка:
{ОбщийМодуль.ОбменДаннымиСервер.Модуль(50)}: Ошибка при вызове конструктора (COMObject): Класс не зарегистрирован: Класс не зарегистрирован

С чем может быть связано такое сообщение?
56. Алексей Черданцев (scanner1980) 31.03.14 12:52
(55) Synoecium, зарегистрируйте COM объект вручную или переустановите платформу, при установке класс регистрируется автоматически.
57. Сергей Лесовой (Synoecium) 15.04.14 06:55
(56) scanner1980, Спасибо, получилось. Сделал как написано здесь http://infostart.ru/public/197627/
58. Александр Романько (romankoav) 05.06.14 12:28
Установил конфу. При заведении базы обнаружил что сервер задается строкой, а можно переделать на справочник? А то миграция планируется - придется все перебивать. Да и статистику по серверам удобней смотреть так...
59. Алексей Черданцев (scanner1980) 05.06.14 13:38
(58) romankoav, конфигурация является открытой, можете самостоятельно расширить функционал. Тем не менее спасибо за идею, возможно в будущем сделаю.
lllmartylll; +1 Ответить
60. Евгений Чернявский (otrazhenie) 16.02.15 15:58