gifts2017

ПоставщикДанныхЖурналаРегистрацииSQL

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

ПоставщикДанныхЖурналаРегистрацииSQL - КОП для 1С++
Позволяет сохранять, в реальном режиме времени, все записи Журнала Регистрации в SQL таблицу, а так-же просматривать полученный журнал с поиском и отбором (фильтрацией) в разы быстрее стандартного 1cv7.mlg

Данный КОП повторяет функционал встроенного класса ПоставщикДанныхЖурналаРегистрации ВК 1С++ v.3.x но работает с журналом хранящимся в SQL Собственно он сам его туда и сохраняет. Работает это через перехватчик событий компоненты 1С++ Для подлючения нужно подключить сам класс и добавить несклько строк в глобальный модуль в процедуру ПриНачалеРаботыСистемы.

Что есть такого, чего нету в стандартном 1cv7.mlg

  1. Скорость работы при поиске и отборе - ну это понятно, SQL все-таки :) 
  2. Возможность отбора по нескольким параметрам и нескольким значениям. Например по 2, 3 или 10 объектам одновременно, причем разного типа и вида (Справчник, Документ.РасходнаяНакладная, Документ.Налоговая .... и т.п.)
  3. Возможность вызова из формы объекта (документа, справочника) или журнала. Не нужно запоминать номер документа, потом идти в ЖР и там на закладке "Объекты" лихорадочно его искать
  4. Возможность обращаться к созданному объекту как к ПоставщикуДанных и как к ODBCRecordSet (он наследует эти классы). Т.е. можно задать критерии поиска, а потом сказать ЖР.Открыть() и можно двигаться по записям Пока ЖР.Конец() = 0 Цикл ЖР.След()  и т.д. Т.е. дописывать свои интерфейсы к журналу регистрации
  5. Возможность хранить дополнительные данные с привязкой к событиям Журнала регистрации. Например при наличии класса "ХранениеОбъектовВБазе" можно при печати документов сохранять отпечатанные Таблицы-MXL в SQL базу с привязкой к пользовательскому событию ЖР "ПриПечатиДокумента". Поотом из журнала регистрации можно посмотреть что-же именно юзер напечатал и не поменял-ли что либо недозволенное в MXL перд печатью. Т.е. своего рода фискальный принтер :) Или при каждой записи объекта сохранять его состояние до записи с возможностью отката изменений прямо из журнала.
  6. Загрузка/выгрузка журнала в текстовый файл, в том числе и загрузка из 1cv7.mlg


Для работы необходима ВК 1С++ весии не ниже 3.0.1.22 и скорее всего последний FormEx (не знаю, может и без него будет работать, он у меня постоянно загружен)

В комплекте идет обработка для просмотра с отбором/фильтрацией Журнала регистрации. Сразу предупреждаю - обработка не моя. Это слегка доработанна мною обработка ТестТабличногоПоляПоставщикДанныхЛог.ert из "Репозитария классов 1С++ в единой конфе" Кстати автору этой обработки огромное спасибо! Без нее я-бы не разобрался со всем этим добром (ПоставцикиДанных, ТабПоля и т.п.) :)

Инструкции по подключению сожержаться внутри архива в файле ReadMe.txt Еще там есть пару жутких скриптов для перехода с версии 1.x на 2.x Просьба не пугаться, если ставить версию 2.x  с нуля то они не нужны.

Новые версии смотреть здесь и на форуме 1С++

http://www.1cpp.ru/forum/YaBB.pl?num=1234869674

 

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

Наименование Файл Версия Размер Кол. Скачив.
SysLog_SQL_v2_04.rar
.rar 102,94Kb
19.02.13
36
.rar 102,94Kb 36 Скачать
SysLog_SQL_v2_03.rar
.rar 93,93Kb
19.02.13
6
.rar 93,93Kb 6 Скачать
-
.1250769432 99,31Kb
19.02.13
69
.1250769432 99,31Kb 69 Бесплатно

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Епрст (Ёпрст) 21.08.09 10:18
Автор, кстати, в самом копе указан..
2. Александр Гринюк (avgreen) 21.08.09 15:52
Ну да, там я и указан :)
А автор обработки ЖурналРегистрации.ert к сожалению не указан
Именно это не мое, а весь КОП полностью мой .... со всеми глюками :)
3. Борис Соколов (Boog) 22.10.09 15:18
Есть вопрос: в классе (точнее в файле SysLog.ert) используется RegExp в функции Строку_SQL. Захотел переписать её на штатную СтрЗаменить, т.к. на одной машине не хавает VBScript.RegExp. Не могу понять, почему в паттерне RegExp стоит "'+". Это не ошибка?
avgreen, если не сложно, напиши что имеется ввиду.

И замечание: в глобальние не работают директивы препроцессору, поэтому
//#if _class_ПоставщикДанныхЖурналРегистрацииSQL
лучше заменить на
Попытка Исключение ...

Предлагаю свой вариант обработки для просмотра журнала регистрации SQL.
Прикрепленные файлы:
ЖурналРегистрацииПросмотр.ert
4. Александр Гринюк (avgreen) 25.11.09 22:34
Захотел переписать её на штатную СтрЗаменить, т.к. на одной машине не хавает VBScript.RegExp

А там M$ Офис установлен. По моему именно он доставляет RegExp. Или попробуй переписать и зарегить %SYSTEM32%\vbscript.dll
Не могу понять, почему в паттерне RegExp стоит "'+". Это не ошибка?
avgreen, если не сложно, напиши что имеется ввиду

Паттерн '+ означает одна или более кавычек...
Имелось ввиду что сначала одна или несколько кавычек преобразуется в одну а потом каждая одиночная в пару. Просто мне когда-то встречались строки где было подряд по несколько кавычек, причем количество могло быть как четным так и нечетным - т.е. непредсказуемым и SQL от этого плющило :)
Здесь хотел использовать УстановитьТекстовыйПараметр но он не везде вписался ..... нужно будет еще пересмотреть код....
И замечание: в глобальние не работают директивы препроцессору, поэтому
//#if _class_ПоставщикДанныхЖурналРегистрацииSQL
лучше заменить на
Попытка Исключение ...

Согласен! ПРОсто у меня это не в ГМ а в классе-перехватчике прописано и я тупо оттуда скопировал не подумав что в ГМ это не сработает :(
5. Александр Гринюк (avgreen) 19.05.10 14:42
Новая версия 2.04
1. Подправил функцию СоздатьТаблицу на предмет получиени типа и длинны полей Event и EventType
Т.е. с этой ошибкой в пустой базе таблицы не создавались вообще Печаль
6. yuko (yuko) 20.09.10 16:48
А возможно такое же сделать под 8.2 то есть главный принцип "сохранять, в реальном режиме времени, все записи Журнала Регистрации в SQL таблицу," И в каком направлении копать?
7. Александр Гринюк (avgreen) 21.09.10 17:29
(6) К сожалению именно такое-же невозможно, т.к. нету компоненты 1с++ под восьмерку. А тут весь смысл в использовании Перехватчика, т.е. ничего в коде самой базы править не нужно (ну точнее по минимуму - в глобальнике подключить Перехватчик и все!)
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа