Подробный журнал регистрации изменений

Публикация № 653494

Администрирование - Администрирование данных 1С - Журнал регистрации

журнал регистрации с периодом реквизит

10
Потребовалось отслеживать изменения реквизитов справочников, документов (в т.ч. и табличных частях), так как штатный журнал регистрации не даёт достаточной информации. Поскольку внедрять в рабочую конфу какие-то навороченные подсистемы, коих в сети как грязи, не хотелось, решено разработать небольшую процедуру регистрации изменений в журнале регистрации. Сама идея подобной фичи возникла после прочтения материалов статьи Механизм детального отслеживания изменения содержимого документов

Добавить в какой-либо общий модуль функцию и процедуру или создать отдельный серверный модуль



Источник: file:///C:/Users/N.Temirgaliev@greenhouse.kz/Downloads/%D0%96%D1%83%D1%80%D0%BD%D0%B0%D0%BB%D0%A0%D0%B5%D0%B3%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%86%D0%B8%D0%B9/%D0%9F%D1%80%D0%BE%D1%81%D1%82%D0%BE%D0%B9%20%D1%81%D0%BF%D0%BE%D1%81%D0%BE%D0%B1%20%D1%80%D0%B5%D0%B3%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%86%D0%B8%D0%B8%20%D0%B8%D0%B7%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D0%B9%20%D1%80%D0%B5%D0%BA%D0%B2%D0%B8%D0%B7%D0%B8%D1%82%D0%BE%D0%B2%20%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BE%D0%B2%20%D0%B2%201%D0%A1%20%D0%9F%D1%80%D0%B5%D0%B4%D0%BF%D1%80%D0%B8%D1%8F%D1%82%D0%B8%D0%B8%208.X%20%20%20Aeroion.Ru.htm
В 


// Возвращает значение или структуру с именами и значениями реквизитов произвольного объекта ссылочного типа
// прочитанные из информационной базы
//
// Параметры:
//  Ссылка - произвольный объект ссылочного типа (справочник, документ, план обмена, ПВХ, задача)
//  СтруктураРеквизитов - Необязательно. Может содержать значения:
//                      строка - имя реквизита объекта.
//                      строка - имена реквизитов, перечисленные через запятую, в формате требований к свойствам структуры.
//                      структура - структура с именами реквизитов.
//
//
// Возвращаемое значение:
//  Структура - если СтруктураРеквизитов имеет тип Структура и заполнен - структура с именами и значениями указанных реквизитов
//  Структура - если СтруктураРеквизитов не указан или не заполнен - структура с именами и значениями всех реквизитов объекта
//  Произвольный - если СтруктураРеквизитов строкового типа - значение данного реквизита
//
Функция ПолучитьРеквизитыОбъекта(Знач Ссылка, Знач СтруктураРеквизитов = Неопределено) Экспорт

    МетаданныеОбъекта = Ссылка.Метаданные();
    ИмяТаблицы = МетаданныеОбъекта.ПолноеИмя();

    ЭтоСправочник = Справочники.ТипВсеСсылки().СодержитТип(ТипЗнч(Ссылка));
    ЭтоПланОбмена = ПланыОбмена.ТипВсеСсылки().СодержитТип(ТипЗнч(Ссылка));
    ЭтоПВХ = ПланыВидовХарактеристик.ТипВсеСсылки().СодержитТип(ТипЗнч(Ссылка));
    ЭтоПланВидовРасчета = ПланыВидовРасчета.ТипВсеСсылки().СодержитТип(ТипЗнч(Ссылка));
    ЭтоДокумент = (Документы.ТипВсеСсылки().СодержитТип(ТипЗнч(Ссылка)) ИЛИ БизнесПроцессы.ТипВсеСсылки().СодержитТип(ТипЗнч(Ссылка)));
    ЭтоЗадача = Задачи.ТипВсеСсылки().СодержитТип(ТипЗнч(Ссылка));

    ТекстЗапроса = "ВЫБРАТЬ ";

    //Формируем список реквизитов объекта для запроса
    Если ТипЗнч(СтруктураРеквизитов) = Тип("Строка") И ЗначениеЗаполнено(СтруктураРеквизитов) Тогда

        ТекстЗапроса = ТекстЗапроса + СокрЛП(СтруктураРеквизитов);
        //Если передали список реквизитов, инициализируем структуру
        Если Найти(СтруктураРеквизитов, ",") <> 0 Тогда
            СтруктураРеквизитов = Новый Структура(СтруктураРеквизитов);
        КонецЕсли;

    ИначеЕсли ТипЗнч(СтруктураРеквизитов) = Тип("Структура") И СтруктураРеквизитов.Количество() > 0 Тогда

        Для каждого Реквизит Из СтруктураРеквизитов Цикл ТекстЗапроса = ТекстЗапроса + Реквизит.Ключ + ","; КонецЦикла;

        //Отрезаем последнюю запятую
        ТекстЗапроса = Лев(ТекстЗапроса, СтрДлина(ТекстЗапроса) - 1);

    Иначе

        //Определяем список реквизитов объектов для подстановки в текст запроса
        СписокРеквизитов = "";
        Если ЭтоСправочник ИЛИ ЭтоПланОбмена ИЛИ ЭтоПВХ ИЛИ ЭтоПланВидовРасчета Тогда
            Если МетаданныеОбъекта.ДлинаКода > 0 Тогда
                СписокРеквизитов = "Код,";
            КонецЕсли;
            Если МетаданныеОбъекта.ДлинаНаименования > 0 Тогда
                СписокРеквизитов = СписокРеквизитов + "Наименование,";
            КонецЕсли;
            Если ЭтоСправочник ИЛИ ЭтоПВХ Тогда
                Если МетаданныеОбъекта.Иерархический Тогда
                    СписокРеквизитов = СписокРеквизитов + "Родитель,";
                КонецЕсли;
                Если ЭтоСправочник И (МетаданныеОбъекта.Владельцы.Количество() <> 0) Тогда
                    СписокРеквизитов = СписокРеквизитов + "Владелец,";
                КонецЕсли;
            КонецЕсли;
        ИначеЕсли ЭтоДокумент Тогда
            Если МетаданныеОбъекта.ДлинаНомера > 0 Тогда
                СписокРеквизитов = "Номер,";
            КонецЕсли;
            СписокРеквизитов =  СписокРеквизитов + "Дата,";
        ИначеЕсли ЭтоЗадача Тогда
            Если МетаданныеОбъекта.ДлинаНомера > 0 Тогда
                СписокРеквизитов = "Номер,";
            КонецЕсли;
            СписокРеквизитов =  СписокРеквизитов + "Дата,";
            Если МетаданныеОбъекта.ДлинаНаименования > 0 Тогда
                СписокРеквизитов = СписокРеквизитов + "Наименование,";
            КонецЕсли;
        КонецЕсли;

        СписокРеквизитов = СписокРеквизитов + "ПометкаУдаления,";

        Для каждого Реквизит Из МетаданныеОбъекта.Реквизиты Цикл СписокРеквизитов = СписокРеквизитов + Реквизит.Имя + ","; КонецЦикла;

        //Отрезаем последнюю запятую
        СписокРеквизитов = Лев(СписокРеквизитов, СтрДлина(СписокРеквизитов) - 1);
        СтруктураРеквизитов = Новый Структура(СписокРеквизитов);

        ТекстЗапроса = ТекстЗапроса + СписокРеквизитов;

    КонецЕсли;

    ТекстЗапроса = ТекстЗапроса + "
        |ИЗ " + ИмяТаблицы + "
        |ГДЕ Ссылка = &Ссылка";

    Запрос = Новый Запрос;
    Запрос.Текст = ТекстЗапроса;
    Запрос.УстановитьПараметр("Ссылка", Ссылка);

    РезультатЗапроса = Запрос.Выполнить();
    Если НЕ РезультатЗапроса.Пустой() Тогда
        Выборка = РезультатЗапроса.Выбрать();
        Если Выборка.Следующий() Тогда
            Если ТипЗнч(СтруктураРеквизитов) = Тип("Строка") И ЗначениеЗаполнено(СтруктураРеквизитов) Тогда
                Возврат Выборка[СтруктураРеквизитов];
            Иначе
                ЗаполнитьЗначенияСвойств(СтруктураРеквизитов, Выборка);
                Возврат СтруктураРеквизитов;
            КонецЕсли;
        КонецЕсли;
    КонецЕсли;

    Возврат Неопределено;

КонецФункции //ПолучитьРеквизитыОбъекта()


Источник: file:///C:/Users/N.Temirgaliev@greenhouse.kz/Downloads/%D0%96%D1%83%D1%80%D0%BD%D0%B0%D0%BB%D0%A0%D0%B5%D0%B3%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%86%D0%B8%D0%B9/%D0%9F%D1%80%D0%BE%D1%81%D1%82%D0%BE%D0%B9%20%D1%81%D0%BF%D0%BE%D1%81%D0%BE%D0%B1%20%D1%80%D0%B5%D0%B3%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%86%D0%B8%D0%B8%20%D0%B8%D0%B7%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D0%B9%20%D1%80%D0%B5%D0%BA%D0%B2%D0%B8%D0%B7%D0%B8%D1%82%D0%BE%D0%B2%20%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BE%D0%B2%20%D0%B2%201%D0%A1%20%D0%9F%D1%80%D0%B5%D0%B4%D0%BF%D1%80%D0%B8%D1%8F%D1%82%D0%B8%D0%B8%208.X%20%20%20Aeroion.Ru.htm#
В 


// Универсальная процедура, регистрирующая изменения реквизитов объекта (справочник, документ, план обмена, ПВХ)
// в журнале регистрации
//
Процедура РегистрацияИзмененийРеквизитовОбъекта(Объект) Экспорт
    Перем МетаданныеОбъекта;

    Если НЕ Объект.Ссылка.Пустая() Тогда

        МетаданныеОбъекта = Объект.Метаданные();

        СтрокаСобытие = "Данные.ИзменениеРеквизитов." + МетаданныеОбъекта.Имя;
        ПрежнийОбъект = Объект.Ссылка;
        РеквизитыПрежнегоОбъекта = ДополнительныеПроцедурыСервер.ПолучитьРеквизитыОбъекта(ПрежнийОбъект);

        СтрокаСообщениеРеквизит = "Изменён реквизит ";
        СтрокаСообщениеТабЧасть = "Изменена таб.часть ";
        СтрокаСообщениеТабЧастьУдалено = "Удалено ";
        СтрокаСообщениеТабЧастьДобавлено = "Добавлено ";

        Для Каждого Элемент из РеквизитыПрежнегоОбъекта Цикл
            ПрежнийРеквизитЗначение = Элемент.Значение;
            НовыйРеквизитЗначение = Объект[Элемент.Ключ];
            Если ТипЗнч(НовыйРеквизитЗначение) = Тип("Строка") Тогда
                НовыйРеквизитЗначение = СокрЛП(НовыйРеквизитЗначение);
            КонецЕсли;
            Если ТипЗнч(ПрежнийРеквизитЗначение) = Тип("Строка") Тогда
                ПрежнийРеквизитЗначение = СокрЛП(ПрежнийРеквизитЗначение);
            КонецЕсли;
            Если ПрежнийРеквизитЗначение <> НовыйРеквизитЗначение Тогда
                ЗаписьЖурналаРегистрации(СтрокаСобытие, УровеньЖурналаРегистрации.Предупреждение, МетаданныеОбъекта, ПрежнийОбъект, СтрокаСообщениеРеквизит + Элемент.Ключ + Символы.ВК + "Прежний: " + Строка(ПрежнийРеквизитЗначение) + Символы.ВК + "Новый: " + Строка(НовыйРеквизитЗначение));
            КонецЕсли;
        КонецЦикла;

        Если МетаданныеОбъекта.ТабличныеЧасти.Количество() > 0 Тогда

            // Определяем список проверяемых реквизитов табличных частей,
            // чтобы не забивать журнал регистрации лишними записями.
            // Для каждой конфигурации определить свой список, либо удалить проверку
            // Здесь приведён пример для Управления Торговлей.
            ПроверяемыеРеквизитыТабЧасти = Новый Структура("Номенклатура, ЕдиницаИзмерения, Количество, Цена, Сумма, СтавкаНДС, СерияНоменклатуры, ХарактеристикаНоменклатуры, СерияНоменклатурыНовая, ХарактеристикаНоменклатурыНовая, СерияНоменклатурыСтарая, ХарактеристикаНоменклатурыСтарая, Проект, ЗаказПокупателя, Сделка, ДокументПартии, ДокументРасчетовСКонтрагентом, СуммаВзаиморасчетов, ДоговорКонтрагента, Контрагент, СтатьяДвиженияДенежныхСредств, ПроцентСкидкиНаценки, НаименованиеТовара, ЗаказПоставщику, ДокументПоступления, ДокументОснование, ИсходноеРазмещение, НовоеРазмещение, СуммаТовара, СуммаПлатежа, Размещение, УвеличениеДолгаКонтрагента, УменьшениеДолгаКонтрагента, КоличествоУчет, ДокументРезерва, ТипЦен, Валюта, Пользователь, ВидЗадолженности, ВидОперации");

      
            Для Каждого МДТЧ ИЗ МетаданныеОбъекта.ТабличныеЧасти Цикл
                ИмяТЧ = МДТЧ.Имя;
                ТЧ1 = Объект[ИмяТЧ];
                ТЧ2 = ПрежнийОбъект[ИмяТЧ];
                ТЧ1Количество = ТЧ1.Количество();
                ТЧ2Количество = ТЧ2.Количество();
                Если ТЧ1Количество <> ТЧ2Количество Тогда
                    ЗаписьЖурналаРегистрации(СтрокаСобытие, УровеньЖурналаРегистрации.Предупреждение, МетаданныеОбъекта, Объект.Ссылка, СтрокаСообщениеТабЧасть + ИмяТЧ + Символы.ВК + "Прежняя: " + Строка(ТЧ2Количество) + ". Новая: " + Строка(ТЧ1Количество));
                КонецЕсли;
                Если ТЧ1Количество = ТЧ2Количество Тогда
                    СтрокаСообщение = СтрокаСообщениеРеквизит;
                ИначеЕсли ТЧ2Количество > ТЧ1Количество Тогда
                    СтрокаСообщение = СтрокаСообщениеТабЧастьУдалено;
                ИначеЕсли ТЧ2Количество < ТЧ1Количество Тогда
                    СтрокаСообщение = СтрокаСообщениеТабЧастьДобавлено;
                КонецЕсли;

                Для Инд = 0 По Макс(ТЧ1Количество - 1, ТЧ2Количество - 1) Цикл

                    Для Каждого МДРТЧ ИЗ МДТЧ.Реквизиты Цикл
                        Реквизит = МДРТЧ.Имя;

                        // При необходимости проверку можно удалить
                        Если НЕ ПроверяемыеРеквизитыТабЧасти.Свойство(Реквизит) Тогда
                            Продолжить;
                        КонецЕсли;

                        Если Инд >= ТЧ1Количество Тогда
                            НовыйРеквизитЗначение = Неопределено;
                        Иначе
                            НовыйРеквизитЗначение = ТЧ1[Инд][Реквизит];
                        КонецЕсли;
                        Если Инд >= ТЧ2Количество Тогда
                            ПрежнийРеквизитЗначение = Неопределено;
                        Иначе
                            ПрежнийРеквизитЗначение = ТЧ2[Инд][Реквизит];
                        КонецЕсли;

                        Если (ЗначениеЗаполнено(ПрежнийРеквизитЗначение) И ЗначениеЗаполнено(НовыйРеквизитЗначение)) ИЛИ (НЕ ЗначениеЗаполнено(ПрежнийРеквизитЗначение) И ЗначениеЗаполнено(НовыйРеквизитЗначение)) ИЛИ (ЗначениеЗаполнено(ПрежнийРеквизитЗначение) И НЕ ЗначениеЗаполнено(НовыйРеквизитЗначение)) Тогда
                            Если ТипЗнч(НовыйРеквизитЗначение) = Тип("Строка") Тогда
                                НовыйРеквизитЗначение = СокрЛП(НовыйРеквизитЗначение);
                            КонецЕсли;
                            Если ТипЗнч(ПрежнийРеквизитЗначение) = Тип("Строка") Тогда
                                ПрежнийРеквизитЗначение = СокрЛП(ПрежнийРеквизитЗначение);
                            КонецЕсли;
                            Если НовыйРеквизитЗначение <> ПрежнийРеквизитЗначение Тогда
                                ЗаписьЖурналаРегистрации(СтрокаСобытие, УровеньЖурналаРегистрации.Предупреждение, МетаданныеОбъекта, Объект.Ссылка, СтрокаСообщение + ИмяТЧ + "." + Реквизит + " в строке " + (Инд + 1) + Символы.ВК + "Прежний: " + Строка(ПрежнийРеквизитЗначение) + Символы.ВК + "Новый: " + Строка(НовыйРеквизитЗначение));
                            КонецЕсли;
                        КонецЕсли;

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

    КонецЕсли;

КонецПроцедуры

Создать подписку на событие для документов

Источник = ДокументОбъект
Событие = ПередЗаписью
Назначить обработчик события



Источник: file:///C:/Users/N.Temirgaliev@greenhouse.kz/Downloads/%D0%96%D1%83%D1%80%D0%BD%D0%B0%D0%BB%D0%A0%D0%B5%D0%B3%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%86%D0%B8%D0%B9/%D0%9F%D1%80%D0%BE%D1%81%D1%82%D0%BE%D0%B9%20%D1%81%D0%BF%D0%BE%D1%81%D0%BE%D0%B1%20%D1%80%D0%B5%D0%B3%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%86%D0%B8%D0%B8%20%D0%B8%D0%B7%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D0%B9%20%D1%80%D0%B5%D0%BA%D0%B2%D0%B8%D0%B7%D0%B8%D1%82%D0%BE%D0%B2%20%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BE%D0%B2%20%D0%B2%201%D0%A1%20%D0%9F%D1%80%D0%B5%D0%B4%D0%BF%D1%80%D0%B8%D1%8F%D1%82%D0%B8%D0%B8%208.X%20%20%20Aeroion.Ru.htm#
В 


Источник: file:///C:/Users/N.Temirgaliev@greenhouse.kz/Downloads/%D0%96%D1%83%D1%80%D0%BD%D0%B0%D0%BB%D0%A0%D0%B5%D0%B3%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%86%D0%B8%D0%B9/%D0%9F%D1%80%D0%BE%D1%81%D1%82%D0%BE%D0%B9%20%D1%81%D0%BF%D0%BE%D1%81%D0%BE%D0%B1%20%D1%80%D0%B5%D0%B3%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%86%D0%B8%D0%B8%20%D0%B8%D0%B7%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D0%B9%20%D1%80%D0%B5%D0%BA%D0%B2%D0%B8%D0%B7%D0%B8%D1%82%D0%BE%D0%B2%20%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BE%D0%B2%20%D0%B2%201%D0%A1%20%D0%9F%D1%80%D0%B5%D0%B4%D0%BF%D1%80%D0%B8%D1%8F%D1%82%D0%B8%D0%B8%208.X%20%20%20Aeroion.Ru.htm#
В 

//Обработчик события подписки на событие
//Регистрируем изменения для документа
//
Процедура ПередЗаписьюДокументаРегистрацияИзмененийРеквизитов(Источник, Отказ, РежимЗаписи, РежимПроведения) Экспорт

    //Изменения будем регистрировать для случаев проведения или отмены проведения,
    //так как для простой записи или вновь создаваемых документов контроль не имеет особого смысла
    Если НЕ Отказ И ((РежимЗаписи = РежимЗаписиДокумента.Проведение) ИЛИ (РежимЗаписи = РежимЗаписиДокумента.ОтменаПроведения)) Тогда
        РегистрацияИзмененийРеквизитовОбъекта(Источник);
    КонецЕсли;

КонецПроцедуры


Источник: file:///C:/Users/N.Temirgaliev@greenhouse.kz/Downloads/%D0%96%D1%83%D1%80%D0%BD%D0%B0%D0%BB%D0%A0%D0%B5%D0%B3%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%86%D0%B8%D0%B9/%D0%9F%D1%80%D0%BE%D1%81%D1%82%D0%BE%D0%B9%20%D1%81%D0%BF%D0%BE%D1%81%D0%BE%D0%B1%20%D1%80%D0%B5%D0%B3%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%86%D0%B8%D0%B8%20%D0%B8%D0%B7%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D0%B9%20%D1%80%D0%B5%D0%BA%D0%B2%D0%B8%D0%B7%D0%B8%D1%82%D0%BE%D0%B2%20%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BE%D0%B2%20%D0%B2%201%D0%A1%20%D0%9F%D1%80%D0%B5%D0%B4%D0%BF%D1%80%D0%B8%D1%8F%D1%82%D0%B8%D0%B8%208.X%20%20%20Aeroion.Ru.htm#
В 

Создать подписку на событие для справочников (ПВХ, планов обменов, задач, бизнес-процессов)

Источник = БизнесПроцессОбъект, ПланВидовРасчетаОбъект, ПланВидовХарактеристикОбъект, ПланОбменаОбъект, СправочникОбъект, ЗадачаОбъект

Событие = ПередЗаписью

Назначить обработчик события



Источник: file:///C:/Users/N.Temirgaliev@greenhouse.kz/Downloads/%D0%96%D1%83%D1%80%D0%BD%D0%B0%D0%BB%D0%A0%D0%B5%D0%B3%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%86%D0%B8%D0%B9/%D0%9F%D1%80%D0%BE%D1%81%D1%82%D0%BE%D0%B9%20%D1%81%D0%BF%D0%BE%D1%81%D0%BE%D0%B1%20%D1%80%D0%B5%D0%B3%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%86%D0%B8%D0%B8%20%D0%B8%D0%B7%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D0%B9%20%D1%80%D0%B5%D0%BA%D0%B2%D0%B8%D0%B7%D0%B8%D1%82%D0%BE%D0%B2%20%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BE%D0%B2%20%D0%B2%201%D0%A1%20%D0%9F%D1%80%D0%B5%D0%B4%D0%BF%D1%80%D0%B8%D1%8F%D1%82%D0%B8%D0%B8%208.X%20%20%20Aeroion.Ru.htm#
В 

//Обработчик события подписки на событие
//Регистрируем изменения для справочника, плана обмена, ПВХ, задачи, бизнесс-процесса
//
Процедура ПередЗаписьюОбъектаРегистрацияИзмененийРеквизитов(Источник, Отказ) Экспорт

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

КонецПроцедуры


Источник: file:///C:/Users/N.Temirgaliev@greenhouse.kz/Downloads/%D0%96%D1%83%D1%80%D0%BD%D0%B0%D0%BB%D0%A0%D0%B5%D0%B3%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%86%D0%B8%D0%B9/%D0%9F%D1%80%D0%BE%D1%81%D1%82%D0%BE%D0%B9%20%D1%81%D0%BF%D0%BE%D1%81%D0%BE%D0%B1%20%D1%80%D0%B5%D0%B3%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%86%D0%B8%D0%B8%20%D0%B8%D0%B7%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D0%B9%20%D1%80%D0%B5%D0%BA%D0%B2%D0%B8%D0%B7%D0%B8%D1%82%D0%BE%D0%B2%20%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BE%D0%B2%20%D0%B2%201%D0%A1%20%D0%9F%D1%80%D0%B5%D0%B4%D0%BF%D1%80%D0%B8%D1%8F%D1%82%D0%B8%D0%B8%208.X%20%20%20Aeroion.Ru.htm#
В 

10

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. alex.msk 34 24.07.17 15:43 Сейчас в теме
А использовать версионирование из БСП религия не позволяет?
DrAku1a; Bassgood; +2 Ответить
2. Bassgood 964 24.07.17 15:46 Сейчас в теме
(0) И чем же это решение лучше всех тех разработок, коих в интернете как грязи?
3. alex.msk 34 24.07.17 17:00 Сейчас в теме
(2) Своя грязь ближе к сердцу )))
4. Altair777 639 24.07.17 17:19 Сейчас в теме
Поскольку внедрять в рабочую конфу какие-то навороченные подсистемы, коих в сети как грязи, не хотелось

А при чем тут в сети? Есть "штатная" подсистема "Версионирование объектов". А засорять и без того тормознутый ЖР, совсем нехорошо.
А вот какие еще фичи при этом есть.
P.S. Прочитал, отвлекли. А пока писал коммент, уже и без меня объяснили :)
Прикрепленные файлы:
5. emettre1 25.07.17 00:34 Сейчас в теме
Версионирование объектов дает более полную информацию (типовой функционал).
Смысла второй раз изобретать велосипед нет
6. user700035_6550355 18 25.07.17 05:49 Сейчас в теме
Данная доработка у меня для 8.1, но работает на всех версиях, кроме 7.7. Теперь объем логов станет больше. Но решается чисткой время от времени.
7. alex.msk 34 25.07.17 09:38 Сейчас в теме
(6) Причем тут то, что она у тебя работает? Суть в том, что этот виноградный велосипед работает плохо и нелогично, потому что "объем логов станет больше. Но решается чисткой время от времени"..

Журнал регистрации неудобен, громоздок, бесполезен, и он адски тупит.
Версионирование - отлаженный, стабильный функционал, по возможностям сильно превосходящий твою "доработку".

Но suum cuique..
15. user625585_sansan.compz 30.08.18 13:25 Сейчас в теме
(6)
Спасибо очень помогло.
16. user700035_6550355 18 04.09.18 06:19 Сейчас в теме
8. user700035_6550355 18 25.07.17 10:25 Сейчас в теме
на 8.1 нет версионирования
9. Altair777 639 25.07.17 11:46 Сейчас в теме
(8) А что по Вашему означает версионирование? Это просто пару регистров и код.
Более того, Вы удивитесь, но оно как объект (История данных) появится только в 8.3.11
alex.msk; +1 Ответить
10. alex.msk 34 25.07.17 12:57 Сейчас в теме
(8) Так естественно)) В вашей базе его, версионирования нет, потому что это дополнительны функционал, который "кагбэ" надо интегрировать.. собственно, как и ваш изобретенный "велосипед"..
11. Altair777 639 25.07.17 13:39 Сейчас в теме
(10) В моих-то базах он есть. Изобретать велосипед - дело неблагодарное и скучное.
12. alex.msk 34 25.07.17 13:41 Сейчас в теме
13. realist14 27.07.17 13:56 Сейчас в теме
здраствуйте, а где-то обработка готовая есть, чтобы потом можно было ее доработать
14. корум 311 01.08.17 12:03 Сейчас в теме
(13) копипасти из публикации, "готовая обработка" не нужна.
Оставьте свое сообщение

См. также

ELK. Время изумительных историй! 27

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

Всем привет! Сегодня хочу рассказать вам несколько полезных историй про то как нам помог Elastic search в связке с Kibana. Про сам Elastic рассказывать не буду, уже все давным давно описали и до меня. Все обычно говорят что это полезно, это классно. В то же время, очень мало кто рассказывает про практические ситуации: когда и как помог Elastic. Итак, начнем.

31.10.2019    3835    slozhenikin_com    25       

Готовые переносы данных из различных конфигураций 1C Промо

Рекомендуем готовые решения для переноса данных из различных конфигураций 1C. C техподдержкой от разработчиков и гарантией от Инфостарт.

Версионирование регистров сведений 6

Статья Программист Нет файла v8 Бесплатно (free) Журнал регистрации Практика программирования

Моя реализация механизма мониторинга изменений регистра сведений.

17.09.2019    1982    KonS    9       

Переход на 64-х разрядный сервер 1С 40

Статья Системный администратор Программист Нет файла v8 Windows Бесплатно (free) Журнал регистрации Администрирование данных 1С

Переход с 32-х разрядной версии сервера 1С на 64-х разрядную с сохранением данных журналов регистрации информационных баз, используемых в 32-х разрядной версии.

05.04.2019    8647    ids79    9       

Подборка решений для взаимодействия со ФГИС «Меркурий» Промо

С 1 июля 2019 года все компании, участвующие в обороте товаров животного происхождения, должны перейти на электронную ветеринарную сертификацию (ЭВС) через ФГИС «Меркурий». Инфостарт предлагает подборку программ, связанных с этим изменением.

Мониторинг активности пользователя 58

Статья Системный администратор Нет файла v8 1cv8.cf Бесплатно (free) Журнал регистрации

Работает ли пользователь с программой? Сколько времени пользователь работает в программе? Что пользователь делает в программе? - эти вопросы стандартно решаются или просмотром журнала регистрации, или с помощью внешних программ. В данной статье будет предложен способ, как следить за активностью пользователей, используя небольшую доработку конфигурации. Бонусом системы мониторинга является автоматическое завершение сеансов пользователей, не работающих с программой длительное время.

11.10.2018    9934    postovalov    25       

Все, что вы хотели знать о журнале регистрации 26

Статья Системный администратор Нет файла v8 Бесплатно (free) Журнал регистрации

Исследование файла Журнала регистраций в формате lgd.

22.09.2018    12444    Fox-trot    23       

Вакансия Автор новостных обзоров на тему 1С и бухучета, По совместительству Промо

Редакция Infostart.ru будет рада сотрудничеству с 1С-специалистом, умеющим и любящим излагать свои мысли в письменной форме. Если вы работали в IT-изданиях или имеете опыт ведения технологического блога/канала/группы, если сможете сделать обзор обработок из каталога infostart.ru/public/all/, то у вас большое преимущество.

Кто запустил анализ журнала регистрации? 29

Статья Системный администратор Программист Нет файла v8 Бесплатно (free) Журнал регистрации

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

16.09.2017    16380    metmetmet    42       

Сжатие журнала регистрации в формате SQLite (.lgd) с помощью программы "DB Browser for SQLite". 24

Статья Программист Нет файла v8 Россия Бесплатно (free) Журнал регистрации

Если журнал регистрации базы 1С заметно увеличился, Вы не сможете оперативно искать в нем нужную информацию. Более того, работа с таким журналом может вызывать блокировку работы всех пользователей. Для предотвращения разрастания журнала необходимо устранять настройками запись ненужных событий и перемещать в архивы события с неактуальными датами. Избавиться от уже записанной ненужной информации можно с помощью программы DB Browser for SQLite указанным в этой статье способом.

04.06.2017    22476    DrSender    5       

Очный семинар по регулярному менеджменту Александра Фридмана "Вы или Хаос", 12 декабря 2019 г. , Санкт-Петербург Промо

Семинар по регулярному менеджменту от Александра Фридмана для собственников, первых лиц и топов. Технология управленческого планирования, комплексного управления временем и другими ресурсами, выполнением поручений, делами, информацией, контактами (встречи-звонки-почта).

от 11000 до 29000 рублей

Запись в журнал регистрации изменений дополнительных сведений 16

Статья Системный администратор Программист Нет файла v8 УТ11 УУ Бесплатно (free) Журнал регистрации

Небольшая доработка программы "Управление торговлей 11" для записи информации в журнал регистрации изменений дополнительных сведений (регистр сведений) по объектам. Должна работать на всех релизах.

04.05.2017    23148    Mortiferus    3       

Загрузка логов журнала регистрации 1С из MS SQL в ElasticSearch 74

Статья no Архив с данными v8 Бесплатно (free) Журнал регистрации

Еще один инструмент хранения и визуализации логов журнала регистрации 1С

01.09.2016    29237    farukshin    9       

Онлайн-интенсив "Бизнес-процессы для подготовки к экзамену 1С:Специалист по платформе" 12 декабря 2019 г. Промо

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

777 рублей

Ошибка формата файла журнала регистрации, database disk image is malformed 57

Статья Системный администратор Нет файла v8 1cv8.cf Бесплатно (free) Журнал регистрации

Ошибка формата файла журнала регистрации по причине: sqlite3_step failed: database disk image is malformed db: C:\Program Files\1cv8\srvinfo\reg_1541\34eda2fe-bcf4-485e-ab47-4f302319f59a\1Cv8Log\1Cv8.lgd sql: SELECT severity, date, connectID, session, transactionStatus, transactionDate, transactionID, userCode, computerCode, appCode, eventCode, comment, metadataCodes, sessionDataSplitCode, dataType, data, dataPresentation, workServerCode, primaryPortCode, secondaryPortCode FROM EventLog WHERE date

27.09.2015    75988    mrWatson    29       

Анализ журнала регистрации для автонастройки списка выгружаемых объектов в обработке ВыгрузкаЗагрузкаДанныхXML82.epf 29

Статья Системный администратор Программист Нет файла v8 1cv8.cf Бесплатно (free) Журнал регистрации Практика программирования Перенос данных из 1C8 в 1C8

Сказ о том, как с помощью слегка модифицированной обработки ВыгрузкаЗагрузкаДанныхXML82.epf решить задачу "Выгрузить из базы-источника все объекты, которые заданный пользователь изменил в указанный период". Данная публикация может быть интересна тем, кто хочет узнать: а) как программно анализировать журнал регистрации и б) как программно настраивать список выгружаемых объектов в обработке ВыгрузкаЗагрузкаДанныхXML82.epf.

06.08.2015    17122    q_i    2       

Перенос данных КА 1.1 => ERP 2 (ЕРП) (обработка переноса документов, остатков и справочной информации из "1С:Комплексная автоматизация, ред. 1.1" в "1С:ERP Управление предприятием, ред 2"). Обновлен до КА 1.1.115.х и ERP 2.4.10.х Промо

Обработка позволяет переносить из КА 1.1 в ERP 2 документы за выбранный период и остатки. Типовая обработка от фирмы 1С документы не переносит. Также исправлены ошибки типовой обработки. При выходе новых релизов обновление высылается бесплатно в течение года. Разработка будет полезна фирмам-франчайзи, которые периодически выполняют такой перенос данных для заказчиков. Вы можете один раз приобрести обработку переноса, и потом бесплатно получать обновления в случае выхода новых релизов конфигураций 1С.

29700 руб.

Журнал регистрации 1С: путь к пониманию процессов клиента 25

Статья Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Журнал регистрации

Как понять процессы документооборота клиента, имея доступ к его базе и не общаясь с ним.

11.06.2015    14822    Kindman1980    23       

Облегчение вызовов журнала регистрации с отбором по объекту 18

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Журнал регистрации

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

24.03.2015    11909    tarassov    2       

Новый раздел на Инфостарте - Electronic Software Distribution Промо

Инфостарт напоминает: на нашем сайте можно купить не только ПО, связанное с 1С. В нашем арсенале – ESD-лицензии на ПО от ведущих вендоров: Microsoft, Kaspersky, ESET, Dr.Web, Аскон и другие.

  • Низкие цены, без скрытых платежей и наценок
  • Оперативная отгрузка
  • Возможность оплаты с личного счета (кешбек, обмен стартмани на рубли и т.п.)
  • Покупки идут в накопления для получения скидочных карт лояльности Silver (5%) и Gold (10%)

Формат файлов журнала регистрации 1С 8.1/8.2 - ELF/LOG/LGF/LGP 119

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Журнал регистрации

В статье детально описан формат текстовых файлов журнала регистрации 1С 8.1 - ELF/LOG и 1С 8.2 - LGF/LGP

09.04.2013    72977    Антон Ширяев    29       

Версионирование объектов в программе «Управление торговлей для Украины 3.0» 10

Статья Системный администратор Нет файла v8 УТ10 Украина Windows Бесплатно (free) Журнал регистрации Администрирование данных 1С

Для выполнения административных обязанностей часто нужно выяснить, какие события происходили в определенный момент времени или какие действия выполнял тот или иной пользователь.

13.02.2013    23735    aharechko    21       

Перенос документов и справочников ERP 2 / КА 2 / УТ 11 => БП 3.0 Промо

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

19700 руб.

Автоматизация укорачивания журнала регистрации 26

Статья Системный администратор Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Журнал регистрации

Автоматизированная периодическая очистка разросшегося журнала регистрации на сервере с сохранением удаляемых частей на другом диске.

14.11.2012    28207    Stamper    8       

Контроль изменения документов 29

Статья Системный администратор Нет файла v8 1cv8.cf Россия Бесплатно (free) Журнал регистрации

Надоело ловить за руку тех кто изменяет документы задним числом, после их распечатывания? Постоянно мучают мысли, а все ли документы в БД правильно оформлены и подписаны? Если так, читайте дальше

17.11.2011    22908    pzu    14       

Перенос данных БП 3.0 => УТ 11 / КА 2 / ERP 2 (ЕРП) (перенос остатков, документов и справочной информации из "1С:Бухгалтерия предприятия 8", ред.3.0). Обновлено до БП 3.0.73.х, УТ 11.4.10.х, КА 2.4.10.х., ERP 2.4.10.х! Промо

Переносятся документы за выбранный период, справочная информация и остатки по счетам бух. учета в программу УТ 11 / КА 2 / ЕРП 2 (ERP). Переносятся все возможные виды операций ввода остатков на нужную дату. Есть отбор по периоду переноса документов и фильтр по организации, доступен выбор даты ввода остатков. Если нужно переносить что-то дополнительно, то обычно бесплатно добавляем это в перенос . Смотрите видеодемонстрацию со звуком - советами по переносу и рекомендациями настройки программ.

29700 руб.

Анализ журнала регистрации информационных баз 30

Инструменты и обработки Системный администратор Конфигурация (md, cf) v8 1cv8.cf Россия Бесплатно (free) Журнал регистрации

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

27.06.2011    16443    215    AndreyEvtushin    16       

Программы для исполнения 54-ФЗ Промо

С 01.02.2017 контрольно-кассовая техника должна отправлять электронные версии чеков оператору фискальных данных - правила установлены в 54-ФЗ ст.2 п.2. Инфостарт предлагает подборку программ, связанных с применением 54-ФЗ, ККТ и электронных чеков.

Регистрация изменений в документах 22

Инструменты и обработки Системный администратор Архив с данными v8 1cv8.cf Россия Бесплатно (free) Журнал регистрации

Небольшая, простая разработка регистрации изменений в документах. Кто, что именно, когда менял. Пишем все в регистр сведений.

16.10.2009    12311    276    websamson    23       

Подсистема "Контроль изменения данных" (8.1) 211

Инструменты и обработки Системный администратор Конфигурация (md, cf) v8 1cv8.cf Россия Бесплатно (free) Журнал регистрации

Подсистема легко встраивается в любую конфигурацию, не изменяет конфигурацию и не мешает обновлению. Назначение - регистрация изменения отдельных (или всех) реквизитов справочников и документов, имеющихся в конфигурации. Например, необходимо контролировать - КТО, КОГДА, С КАКОГО КОМПЬЮТЕРА изменил сумму существующего уже документа "Расходный кассовый ордер"? А в справочнике "Контрагенты" кто и когда поменял "Основного менеджера"? И хотелось бы узнать какое значение на какое заменили - ...чтобы восстановить справедливость :) Подсистема снова БЕСПЛАТНО (то есть даром :))

05.09.2009    25846    1606    KukA.5    73       

Перенос данных КА 1.1 / УПП 1.3 => БП 3.0 (перенос остатков, документов и справочников из "1С:Комплексная автоматизация 1.1" / УПП 1.3 в "1С:Бухгалтерия 3.0"). Обновлен до версий КА 1.1.115.х, УПП 1.3.127.х! Промо

Разработка позволяет перенести остатки по всем счетам бух.учета в программу "1С:Бухгалтерия предприятия 8", ред. 3.0 на выбранную дату начала ведения учета. Также переносятся документы за период и вся необходимая справочная информация. Правила оперативно обновляю при выходе новых релизов. Рассылка обновлений правил бесплатно в течение 12 месяцев. Есть видеодемонстрация проведения переноса данных. Конфигурации при использовании обмена остаются полностью типовыми. Перенос данных возможен в Бухгалтерию 3.0 версии ПРОФ, КОРП или базовую.

24700 руб.

Подсистема восстановления и регистрации изменений данных (версия 1.0.4.3) 83

Инструменты и обработки Системный администратор Конфигурация (md, cf) v8 1cv8.cf Россия Бесплатно (free) Журнал регистрации

В новой версии "журнала истории объектов" 1.0.4.3 вы сможете слегкостью просмотреть историю изменения объекта, когда и что именно поменял. В настройках можете добавить условия на анализируемые реквизиты и тем самым отследить историю изменения объекта до реквизита. Добавлены диаграммы анализа работы пользователя (показывает процен записи объектов от общего числа), и анализ изменений объектов (процент изменений объектов пользователями).

05.05.2009    14474    891    SedovSU@mail.ru    25       

Подсистема восстановления и регистрации изменений данных 42

Инструменты и обработки Системный администратор Конфигурация (md, cf) v8 1cv8.cf Россия Бесплатно (free) Журнал регистрации

Вы случайно измененили какой то документ, или справочник или другой объект, так не думайте об этом, данная конфигурация легко восстановить любой объект конфигурации на заданую дату, если он был удален - то будет создан новый на заданую дату. Конфигруация позволяет построить объект в виде дерева, со всеми реквизитами, табличными частями, а если это документ, то и его движения, а так же покажет вам значения до текущих изменений. Все что Вам необходимо это объединить данную конфигурацию, окрыть форму регистра сведений "Журнал истории объектов", на вкладе "Настройки" , нажать по кнопке "Обновить", и напротив регистрируемых объектов поставить "галочку". Конфигурация так же позволяет архивировать журнал и ведет собственный лог, которые при необходимости можно настроить. Если Вы что случайно изменили, не бойтесь, откатите обратно!

24.04.2009    12015    619    SedovSU@mail.ru    19       

Программы для исполнения 488-ФЗ: Маркировка товаров Промо

1 января 2019 года вступил в силу ФЗ от 25.12.2018 № 488-ФЗ о единой информационной системе маркировки товаров с использованием контрольных (идентификационных) знаков, который позволяет проследить движение товара от производителя до конечного потребителя. Инфостарт предлагает подборку программ, связанных с применением 488-ФЗ и маркировкой товаров.

Подсистема регистрации изменений 20

Инструменты и обработки Системный администратор Конфигурация (md, cf) v8 1cv8.cf Россия Бесплатно (free) Журнал регистрации

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

16.04.2009    13622    376    SedovSU@mail.ru    18       

Отчет по времени начала работы пользователей в 1С по дням (по XML выгрузке журнала) 2

Инструменты и обработки Системный администратор Внешняя обработка (ert,epf) v8 1cv8.cf Россия Бесплатно (free) Журнал регистрации

Простой отчёт по файлу выгрузки XML журнала: в какое время пользователь начал использовать 1С по дням.

13.11.2008    8226    199    angeliccare    1