Печать журнала регистрации по объекту

09.03.10

База данных - Журнал регистрации

Стандартный журнал регистрации работает не очень быстро и не очень удобно.

Обработка выводит данные журнала регистрации по выбранному объекту в печатную форму.

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Печать журнала регистрации по объекту.epf
.epf 13,95Kb
518
518 Скачать (1 SM) Купить за 1 850 руб.

Стандартный журнал регистрации работает не очень быстро и не очень удобно, особенно при его большом объеме.

Обработка выбирает данные из журнала по заданному объекту и выводит их в печатную форму.

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

Изменения:


01.03.2010
- при отсутствии у пользователя административных прав - не ассоциируем пользователя из журнала регистрации с пользователем базы данных (вызовет ошибку), а выводим представление пользователя, сохраненное в базе данных.

 

09.03.2010

- не работали отборы по периоду, исправлено

См. также

Журнал регистрации Системный администратор Платформа 1С v8.3 Управляемые формы 1C:Бухгалтерия Россия Платные (руб)

История изменений реквизитов и табличных частей справочников, документов, независимых регистров сведений, возможность отката изменения, восстановление удаленных объектов, сбор статистики использования базы 1С. Альтернативный журнал регистрации.

22800 руб.

22.02.2018    36143    60    54    

57

Журнал регистрации Системный администратор Платформа 1С v8.3 1C:Бухгалтерия Платные (руб)

Конфигурация LogiCH эффективно решает проблему хранения и анализа записей журналов регистрации. Разработка использует столбцовую СУБД ClickHouse, одну из самых быстрых Big Data OLAP СУБД. Любой анализ журнала можно выполнить в одном отчете, в котором доступны все возможности СКД с учетом ограничений RLS. Количество подключаемых баз не ограничено и не влияет на скорость построения анализа.

6000 руб.

28.11.2018    21559    19    7    

44

Журнал регистрации Мониторинг Системный администратор Программист Бизнес-аналитик Руководитель проекта Платформа 1С v8.3 Платные (руб)

В сферу обязанностей при работе с клиентами входит контроль работы баз данных и серверов 1С. Нужно понимать что происходит в базах, есть ли ошибки, зависания у пользователей и фоновых задач, блокировки или какое-то необычное поведение системы, получение информации о причинах возникновения проблем и их оперативное устранение и т.д. В качестве источников информации использую консоль кластеров 1С, технологический журнал 1С, журналы регистрации базы 1С. Для автоматизации части операций мониторинга и анализа создал инструмент на основе 1С.

9000 руб.

28.08.2019    35418    29    21    

78

Журнал регистрации Программист Россия Бесплатно (free)

В материале рассматривается сравнение двух инструментов для работы с журналом регистрации 1С: утилиты ibcmd и платформы Vector. Описаны их функциональные возможности, тестирование производительности и практическое применение для преобразования логов в формат JSON.

20.11.2024    2340    user1913000    13    

20

Журнал регистрации Тестирование QA Программист Бесплатно (free)

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

21.10.2024    4372    leemuar    8    

24

Инструменты администратора БД Журнал регистрации Системный администратор Платформа 1С v8.3 1С:Управление торговлей 11 Абонемент ($m)

Внешняя обработка для регламентного сокращения журнала регистрации для конфигураций на базе БСП и платформы 8.3.20+

1 стартмани

29.12.2023    2792    45    dima_gsv    3    

14

Журнал регистрации Мониторинг Системный администратор Программист Абонемент ($m)

Как легко и быстро с помощью специализированных решений собирать, парсить и передавать логи и метрики.

1 стартмани

19.11.2023    1957    6    AlexSTAL    0    

8
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Sergey_Mishkin 01.12.09 10:13 Сейчас в теме
Здорово, нужная штука
2. Marks007 01.12.09 10:27 Сейчас в теме
Потестировал. Особого прироста ни в скорости ни в удобстве не заметил
3. 8c1.ru 154 01.12.09 10:39 Сейчас в теме
Как минимум не нужно лезть в дополнительное меню, ждать, пока перечитывается объекты при переходе на закладку "данные", не нужно выбирать тип объекта и искать нужные документ (когда подключена как печатная форма объекта).

По скорости:
на моей базе, журнал регистрации за два месяца (за два месяца размер журнала около 200мб):
стандартно - 55 секунд
через обработку - 26 секунд

так что я с вами не соглашусь.
4. e.kogan 1897 01.12.09 17:10 Сейчас в теме
1. Оформите как внешнюю печатную форму. Даты начала и окончания берите (если указаны) из дополнительных параметров.
2. Постарайтесь вывести пользователя изменения как пользователя из справочника (стыковка элементарна).
3. Выведите журнал в таблицу значений на форму и предоставьте пользователю хотя бы построитель отчёта для дальнейшего вывода (по группам и т.д.).
5. tonic-spb 02.12.09 10:24 Сейчас в теме
у меня почему то Бухгалтерии 8.1 вообще ничего не выдает :(
6. 8c1.ru 154 02.12.09 11:53 Сейчас в теме
В конфигурации должен быть включен журнал регистрации.
7. eXs 58 02.12.09 17:30 Сейчас в теме
В УТ ничего не выдает. А автор похоже так переживает за свой глючный гениальный код, что закрыл его паролем. Браво!
8. 8c1.ru 154 02.12.09 17:35 Сейчас в теме
В конфигурации должен быть включен журнал регистрации.
9. eXs 58 02.12.09 17:37 Сейчас в теме
ничего не выдает при интерактивном использовании
10. 8c1.ru 154 02.12.09 18:01 Сейчас в теме
какой объект, есть ли записи в журнале регистрации при отборе в нем по этому объекту?
11. kvckp 14.12.09 13:31 Сейчас в теме
Задумка хорошая, но, как уже писали, при интерактивном использовании не работает, а в режиме печатной формы, видимо, из-за того, что отбор дат не установлен, работает очень долго. Хотел подправить, но код закрыт.
12. 8c1.ru 154 14.12.09 14:35 Сейчас в теме
(11) Может журнал регистрации большой, тогда анализ будет долго идти.
Почему интерактивно не работает? Что пишет?
13. VUN 38 07.03.10 01:51 Сейчас в теме
При интерактивном использовании не работает период. Если указываю документ от 01.03.2010, а период - январь 2010 г., то все равно выводится информация по этому документу, хотя документа в январе не было.
14. 8c1.ru 154 09.03.10 14:55 Сейчас в теме
(13) да, была ошибка - исправил. Спасибо.
15. a_a 25.01.12 14:02 Сейчас в теме
Простая и нужная вещица в работе любого сисадмина и 1с-программиста. Обязательно иметь в наборе служебных обработок.
16. Natalito 23.10.14 13:00 Сейчас в теме
Скачала. Хотела подглядеть реализацию, а модуль закрыт для чтения. Требует пароль! Замечательно! На кой мне она вообще тогда нужна, если я не могу посмотреть код, за который заплатила! Только зря $m потратила!
17. 8c1.ru 154 23.10.14 18:31 Сейчас в теме
(16) Natalito, не знаю кому вы заплатили, обработка выложена бесплатно.
18. amyd 93 01.04.15 09:21 Сейчас в теме
а зачем пароль то на модуль ставить? с такими заявками раздавать нужно бесплатно.
19. amyd 93 01.04.15 10:24 Сейчас в теме
в общем за то что вы выставили обработку с закрытым модулем и еще просите за нее деньги за скачку, я выкладываю сюда текст модуля вашей обработки как он есть. (обойти пароль не большая проблема)
Перем СоответствиеСобытий;





Функция Печать() Экспорт
	ТабДокумент = Новый ТабличныйДокумент;
	ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ЖурналИзменений";

	ТаблицаДляПечати = ПолучитьТаблицуИзменений();

	Если ТаблицаДляПечати.Количество() = 0 Тогда
		Возврат ТабДокумент;
	КонецЕсли;

	Макет = ПолучитьМакет("Макет");

	ОбластьЗаголовок = Макет.ПолучитьОбласть("Шапка");
	ОбластьЗаголовок.Параметры.СсылкаНаОбъект = СсылкаНаОбъект;

	ТабДокумент.Вывести(ОбластьЗаголовок);

	ОбластьСтроки = Макет.ПолучитьОбласть("Строка");

	Для каждого СтрокаТаблицы Из ТаблицаДляПечати Цикл

		ОбластьСтроки.Параметры.Дата = СтрокаТаблицы.ДатаСобытия;
		ОбластьСтроки.Параметры.Событие = СтрокаТаблицы.Событие;
		ОбластьСтроки.Параметры.Пользователь = СтрокаТаблицы.Пользователь;

		ТабДокумент.Вывести(ОбластьСтроки);

	КонецЦикла;

	Возврат ТабДокумент;

КонецФункции


Функция ПолучитьТаблицуИзменений()
	ТаблицаИзменений = Новый ТаблицаЗначений;
	ТаблицаИзменений.Колонки.Добавить("ДатаСобытия");
	ТаблицаИзменений.Колонки.Добавить("Событие");
	ТаблицаИзменений.Колонки.Добавить("Пользователь");

	Если Не ЗначениеЗаполнено(СсылкаНаОбъект) Тогда
		Возврат ТаблицаИзменений;
	КонецЕсли;



	ВременныйФайл = ПолучитьИмяВременногоФайла("elf");

	СтруктураОтбора = Новый Структура;
	Если ЗначениеЗаполнено(ДатаНачала) Тогда
		СтруктураОтбора.Вставить("ДатаНачала", ДатаНачала);
	КонецЕсли;

	Если ЗначениеЗаполнено(ДатаОкончания) Тогда
		СтруктураОтбора.Вставить("ДатаОкончания", ДатаОкончания);
	КонецЕсли;

	СтруктураОтбора.Вставить("Данные", СсылкаНаОбъект);

	Состояние("Получение данных журнала регистрации");
	ВыгрузитьЖурналРегистрации(ВременныйФайл, СтруктураОтбора, "Дата, Пользователь, ИмяПользователя,  Событие");

	Состояние("Анализ данных журнала регистрации");

	ПараметрыЧтенияXML = Новый ПараметрыЧтенияXML(Неопределено, Неопределено, Неопределено, Неопределено, Истина, Истина, Истина, Истина, Истина);

	ЧтениеXML = Новый ЧтениеXML;
	ЧтениеXML.ОткрытьФайл(ВременныйФайл, ПараметрыЧтенияXML);
	ЧтениеXML.Прочитать();
	Если ЧтениеXML.Имя = "v8e:EventLog" Тогда
		Пока ЧтениеXML.Прочитать() Цикл
			Если ЧтениеXML.Имя = "v8e:Event" И ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда

				ДатаСобытия = ПреобразоватьДату(ПрочитатьЗначениеТега(ЧтениеXML, "v8e:Date"));
				Событие = ПреобразоватьСобытие(ПрочитатьЗначениеТега(ЧтениеXML, "v8e:EventName"));
				ПользовательGUID = ПрочитатьЗначениеТега(ЧтениеXML, "v8e:UserID");
				ИмяПользователя = ПрочитатьЗначениеТега(ЧтениеXML, "v8e:UserName");

				Если ЗначениеЗаполнено(Событие) Тогда

					СтрокаТаблицы = ТаблицаИзменений.Добавить();
					СтрокаТаблицы.ДатаСобытия = ДатаСобытия;

					Если ПравоДоступа("Администрирование", Метаданные) Тогда
						ПользовательИБ = ПользователиИнформационнойБазы.НайтиПоУникальномуИдентификатору(Новый УникальныйИдентификатор(ПользовательGUID));
						Если ПользовательИБ <> Неопределено Тогда
							СтрокаТаблицы.Пользователь = ПользовательИБ;
						Иначе
							СтрокаТаблицы.Пользователь = ИмяПользователя + " <Удален>";
						КонецЕсли;
					Иначе
						СтрокаТаблицы.Пользователь = ИмяПользователя;
					КонецЕсли;
					СтрокаТаблицы.Событие = Событие;

				КонецЕсли;

			КонецЕсли;
		КонецЦикла;
	КонецЕсли;

	ЧтениеXML.Закрыть();
	УдалитьФайлы(ВременныйФайл);

	Возврат ТаблицаИзменений;

КонецФункции


Функция ПреобразоватьДату(ДатаXML)
	Дата1С = Дата('00010101000000');

	Если ДатаXML <> "" Тогда
		ТекстДаты = СтрЗаменить(ДатаXML, "-", "");
		ТекстДаты = СтрЗаменить(ТекстДаты, ":", "");
		ТекстДаты = СтрЗаменить(ТекстДаты, "T", "");
		Дата1С = Дата(ТекстДаты);
	КонецЕсли;

	Возврат Дата1С;

КонецФункции

Функция ПрочитатьЗначениеТега(ЧтениеXML, Имя)
	Результат = Неопределено;
	ЧтениеXML.Прочитать();

	Если ЧтениеXML.Имя = Имя И ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда
		ЧтениеXML.Прочитать();
		Результат = ЧтениеXML.Значение;
	КонецЕсли;
	ЧтениеXML.Прочитать();

	Возврат Результат;
КонецФункции


Функция ПреобразоватьСобытие(КлючЗначения)
	Возврат СоответствиеСобытий.Получить(КлючЗначения);

КонецФункции

СоответствиеСобытий = Новый Соответствие;
СоответствиеСобытий.Вставить("_$Session$_.Start", "Сеанс. Начало");
СоответствиеСобытий.Вставить("_$Session$_.Finish", "Сеанс. Завершение");
СоответствиеСобытий.Вставить("_$InfoBase$_.ConfigUpdate", "Информационная база. Изменение конфигурации");
СоответствиеСобытий.Вставить("_$InfoBase$_.DBConfigUpdate", "Информационная база. Изменение конфигурации базы данных");
СоответствиеСобытий.Вставить("_$InfoBase$_.EventLogSettingsUpdate", "Информационная база. Изменение параметров журнала регистрации");
СоответствиеСобытий.Вставить("_$InfoBase$_.InfoBaseAdmParamsUpdate", "Информационная база. Изменение параметров информационной базы");
СоответствиеСобытий.Вставить("_$InfoBase$_.MasterNodeUpdate", "Информационная база. Изменение главного узла");
СоответствиеСобытий.Вставить("_$InfoBase$_.RegionalSettingsUpdate", "Информационная база. Изменение региональных установок");
СоответствиеСобытий.Вставить("_$InfoBase$_.TARInfo", "Тестирование и исправление. Сообщение");
СоответствиеСобытий.Вставить("_$InfoBase$_.TARMess", "Тестирование и исправление. Предупреждение");
СоответствиеСобытий.Вставить("_$InfoBase$_.TARImportant", "Тестирование и исправление. Ошибка");
СоответствиеСобытий.Вставить("_$Data$_.New", "Данные. Добавление");
СоответствиеСобытий.Вставить("_$Data$_.Update", "Данные. Изменение");
СоответствиеСобытий.Вставить("_$Data$_.Delete", "Данные. Удаление");
СоответствиеСобытий.Вставить("_$Data$_.TotalsPeriodUpdate", "Данные. Изменение периода рассчитанных итогов");
СоответствиеСобытий.Вставить("_$Data$_.Post", "Данные. Проведение");
СоответствиеСобытий.Вставить("_$Data$_.Unpost", "Данные. Отмена проведения");
СоответствиеСобытий.Вставить("_$User$_.New", "Пользователи. Добавление");
СоответствиеСобытий.Вставить("_$User$_.Update", "Пользователи. Изменение");
СоответствиеСобытий.Вставить("_$User$_.Delete", "Пользователи. Удаление");
СоответствиеСобытий.Вставить("_$Job$_.Start", "Фоновое задание. Запуск");
СоответствиеСобытий.Вставить("_$Job$_.Succeed", "Фоновое задание. Успешное завершение");
СоответствиеСобытий.Вставить("_$Job$_.Fail", "Фоновое задание. Ошибка выполнения");
СоответствиеСобытий.Вставить("_$Job$_.Cancel", "Фоновое задание. Отмена");
СоответствиеСобытий.Вставить("_$PerformError$_", "Ошибка выполнения");
СоответствиеСобытий.Вставить("_$Transaction$_.Begin", "Транзакция. Начало");
СоответствиеСобытий.Вставить("_$Transaction$_.Commit", "Транзакция. Фиксация");
СоответствиеСобытий.Вставить("_$Transaction$_.Rollback", "Транзакция. Отмена.");





Показать
Оставьте свое сообщение