Имя: Пароль:
1C
1С v8
Как отключить запись в журнал регистрации информации о записях в регистр сведений?
,
0 franky_tut
 
08.10.21
08:49
1. Обрезать журнал регистрации рег заданием 0% (0)
2. Хранить коды маркировки во внешней базе SQL 0% (0)
3. Увеличить место под журнал регистрации 0% (0)
4. свой вариант 0% (0)
Всего мнений: 0

Ситуация: работаем с маркировкой молочной продукции. Ежедневно 300 тыс штук кодов маркировки поступают из внешней системы. Нужно проверить их статус в Честном знаке. Хорошие записать в типовой документ, по плохим отправить информацию в исходную систему. Перед проверкой статуса нужно сохранить эти коды в 1С ERP в каком-то месте. Если использовать регистр сведений, то каждая строка записи в регистре создает строку записи в журнале регистрации. В результате, журнал регистрации ежедневно пухнет минимум на 300 тыс строк. Как избежать распухания журнала регистрации?
1 ДенисЧ
 
08.10.21
08:50
Пиши набором записей, тогда будет одна строчка на всю пачку
2 Ёпрст
 
08.10.21
08:52
Тли отключить жр насовсем, или чистить кодом
3 franky_tut
 
08.10.21
08:55
(2) кодом вычищать куски из журнала регистрации связанные с записью в отдельный регистр сведений?
4 Галахад
 
гуру
08.10.21
09:05
Писать во внешнюю базу. Ну или во внутреннюю, но прямо в таблички SQL.
5 Ёпрст
 
08.10.21
09:09
(3) ну да, можешь это делать в модуле менеджера РС, например
6 PLUT
 
08.10.21
09:10
(0) разделяйте ЖР с периодичностью день или неделя. старые журналы через какое-то время перемещайте/удаляйте
7 Ёпрст
 
08.10.21
09:14
ОчиститьЖурналРегистрации в помощь
8 Ёпрст
 
08.10.21
09:31
Хотя, вот то, что тебе нужно:

Глобальный контекст (Global context)
УстановитьИспользованиеСобытияЖурналаРегистрации (SetEventLogEventUse)
9 Ёпрст
 
08.10.21
09:31
Посмотри, там есть пример, чтение по-диагонали показывает, что там можно запихать в событие нужные метаданные и отключить их регистрацию.
10 franky_tut
 
08.10.21
09:38
(9) Примечание. События, связанные с транзакциями (_$Transaction$_.Begin, _$Transaction$_.Commit, _$Transaction$_.Rollback), не могут быть отключены с помощью метода УстановитьИспользованиеСобытияЖурналаРегистрации().
11 H A D G E H O G s
 
08.10.21
09:44
(10) достаточно на запись и на создание отключить.
12 ptiz
 
08.10.21
09:47
(0) Счастливчики. У нас до миллиона в день. Плюс записи по регистрам состояний кодов.
Сейчас в платформе нет таких механизмов.
13 ptiz
 
08.10.21
09:54
14 fisher
 
08.10.21
10:01
Я в нетленке тупо переключаю уровень регистрации на "Ошибки, Предупреждения" и регаю все что надо через подписки.
15 fisher
 
08.10.21
10:03
Заодно и настраиваемую регистрацию изменений объектов туда же прикрутил.
16 fisher
 
08.10.21
10:12
Единственное - события в ЖР приходится писать с уровнем "Предупреждение", но это малое зло.
17 timurhv
 
08.10.21
10:41
(1) +1 и быстрее запись будет. В измерениях:
Идентификатор пакета/поставки
КодМарки
ХэшМарки (иначе 01GTIN21000000S и 01GTIN21000000s не запишутся)
18 Обработка
 
08.10.21
11:13
У нас в Рознице 2 объем ЖР за месяц вырастает до 160 ГБ потом перестает работать. Режем каждый месяц.
Из-за старого релиза (8.2.10) нет возможности настроить период ЖР. ((
Ничего живем.
Даже больше в ЖР я запихивал целые файлы загрузки от битрикс для отладки и отлова ошибок.
19 fisher
 
08.10.21
11:20
(18) Что-то ты странное пишешь. sqlite только в 8.3 появился, а разделение по периодам для текстового формата еще в 8.1 было.
20 H A D G E H O G s
 
08.10.21
12:11
Вот моя процедура

Процедура РегистрироватьСобытияЖурналаРегистрацииПриМассовойЗаписи(Регистрировать) Экспорт
    УстановитьПривилегированныйРежим(Истина);
    ИспользованиеСобытияЖурналаРегистрации = Новый ИспользованиеСобытияЖурналаРегистрации();
    ИспользованиеСобытияЖурналаРегистрации.Использование = Регистрировать;
    УстановитьИспользованиеСобытияЖурналаРегистрации("_$Data$_.New", ИспользованиеСобытияЖурналаРегистрации);
    УстановитьИспользованиеСобытияЖурналаРегистрации("_$Data$_.Update", ИспользованиеСобытияЖурналаРегистрации);
    УстановитьПривилегированныйРежим(Ложь);
КонецПроцедуры

Не работает одновременно в разных потоках, в транзакции.
Если марки пишите параллельно, с разбиением по фоновым - эту штуку нужно делать в основном потоке.
21 pechkin
 
08.10.21
12:14
в жр писать только ошибки. остальное через версионирование
22 Обработка
 
08.10.21
12:45
(19) Ты про что? Я имел ввиду что в конфе можно настроить архивирвать ЖР. и в релизе 8.3.10 нет. А вот в релизе 8.3.18 уже есть.
Думаю это появилось где-то в 12 релизе.
23 fisher
 
08.10.21
12:51
(22) Тогда просто переключись на текстовый формат ЖР.
ЗЫ. Я про то, что ты написал 8.2.10, а не 8.3.10
24 Обработка
 
08.10.21
12:52
(23) Пардон опечатка произошла.
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший