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

09.03.10

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

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

Файлы

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

Наименование Скачано Купить файл
Печать журнала регистрации по объекту.epf
.epf 13,95Kb
518 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

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

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

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

Изменения:


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

 

09.03.2010

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

Вступайте в нашу телеграмм-группу Инфостарт

См. также

Журнал регистрации WEB-интеграция Программист 1С 8.3 1С:Библиотека стандартных подсистем Абонемент ($m)

Долго отлаживали интеграции через сообщения, журнал регистрации и чужие прокси. На проде это не взлетело. Собрали простой инструмент внутри платформы — смотришь запрос/ответ, повторяешь, выгружаешь curl.

1 стартмани

07.08.2026    786    2    Viktor_Ermakov    7    

12

Администрирование СУБД Журнал регистрации Системный администратор Программист 1С 8.3 Бесплатно (free)

Журнал регистрации на нагруженной базе перестаёт открываться: файлы растут на гигабайты в день, просмотр виснет, история недоступна. Рассказываю, как мы вынесли журнал трёх продуктивных баз в ClickHouse: 35 млрд событий, поиск всех ошибок за сутки — 0,11 секунды, привычная форма журнала для пользователей и падение числа ошибок в проде в 23 раза за полгода. Архитектура, схема таблицы, грабли интеграции и все цифры с прода.

04.08.2026    1696    nedomolkov.ivan    0    

8

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

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

28.02.2026    5172    julia96_07    0    

13

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

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

20.11.2024    8892    user1913000    13    

26

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

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

21.10.2024    9733    leemuar    8    

25

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

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

1 стартмани

29.12.2023    5756    63    dima_gsv    6    

15

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

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

1 стартмани

19.11.2023    4824    10    AlexSTAL    0    

8

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

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

1 стартмани

13.11.2023    10287    15    AlexSTAL    0    

48
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
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 1909 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", "Транзакция. Отмена.");





Показать
Для отправки сообщения требуется регистрация/авторизация