Версионирование объектов

22.01.25

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

Немного измененный механизм версионирования объектов. Может использоваться с любой конфигурацией (возможно с небольшими доработками). Тестировался на УТ 10.3. Основное отличие - контроль уже записанных версий объектов.

Файлы

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

Наименование Скачано Купить файл
конфигурация для объединения
.cf 69,37Kb
428 4 550 руб. Купить

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

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

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

В стандартном механизме, даже если не изменять объект, но записать его, создается новая версия объекта. В данной подсистеме происходит проверка с последней записанной версией объекта и, если версии идентичны, то новая версия не создается.
Реализовано с использованием md5 хеширования.

 

Устанавливается либо переносом объектов, либо объединением конфигураций.

Проверено на следующих конфигурациях и релизах:

  • Управление торговлей, редакция 10.3, релизы 10.3.12.3

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

См. также

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

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

22800 руб.

22.02.2018    37159    61    55    

58

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

Журнал регистрации платформы 1С в SQL. Общая база хранения всех журналов. Через com-подключение регламентным заданием периодически догружает журналы регистраций из рабочих баз. Предоставляет настраиваемый доступ к журналам по правам подразделений. Формирует отчеты по пользователям и данным.

12000 руб.

23.05.2014    57826    53    17    

48

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

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

20.11.2024    4270    user1913000    13    

22

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

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

21.10.2024    6006    leemuar    8    

24

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

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

1 стартмани

29.12.2023    3690    52    dima_gsv    4    

14

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

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

1 стартмани

19.11.2023    2843    7    AlexSTAL    0    

8

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

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

1 стартмани

13.11.2023    7474    12    AlexSTAL    0    

48

Журнал регистрации Инструменты администратора БД Мониторинг Мессенджеры и боты Системный администратор Программист 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление холдингом 1С:Комплексная автоматизация 2.х Абонемент ($m)

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

3 стартмани

26.09.2023    4372    28    doom2good    16    

14
Вознаграждение за ответ
Показать полностью
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Chernyakovich 37 17.08.12 11:29 Сейчас в теме
Советую всем обратить внимания на эту разработку,
очень помогла
Teut_Vlad; +1 Ответить
2. worker1c 120 04.09.12 07:20 Сейчас в теме
А вы пробовали массовое перепроведение документов (например 10 000) с контролем уже записанных версий объектов и без контроля (как реализовано в типовом механизме)?
Мне интересно падение производительности, есть или нет? Если есть то насколько это критично?
Мы тоже "боремся" с версионированием, но мы пошли по другому пути: Сначала записываем всё без разбора (чтобы документы проводились быстрее), а потом во время простоя (ночью) запускаем обработку и удаляем дубли.

http://infostart.ru/public/150314/

Если нет потери производительности или она минимальна, то может и не стоит заморачиваться с обработкой и сделать вашу модификацию...
3. unoDosTres 07.12.12 17:18 Сейчас в теме
попробовал внедрить в имеющуюся конфу, все отлично, но вот 64бит система не хочет воспринимать ком объект который использут общий модуль Хеш.. мучался мучался эту компоненту поставить , но она подттупливает.. а так вешь отличнейшая. работает шустро
(2) worker1c, а вы качали конфу то, поглядите как там(javaScript) реализовано нет этой муторной проверки как в отчете по историиИЗмененияОбъектов от 1с
24. пользователь 19.05.21 21:46
Сообщение было скрыто модератором.
...
28. simuljakr 207 25.09.24 16:07 Сейчас в теме
(2) (0)
Замерил скорость проведения документов с включенным версионированием и без него.
Разница в скорости примерно в 3 раза.
Если без версионирования документ "Реализация товаров и услуг" проводится в среднем за 0,07 секунды, то с включенным версионированием в среднем за 0,2 секунды.

скорость проведения тестировал вот этой обработкой https://infostart.ru/1c/tools/367060/

Причем, у документов, у которых в регистре "Настройка версионирования" не заполнено версионирование, скорость проведения также падает примерно в 3 раза !!! Почему ??
29. simuljakr 207 25.09.24 16:19 Сейчас в теме
(28) (2) (0)

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

У необходимых объектов ставим "версионировать" - тут уж никуда не денешься - скорость проведения по ним упадет от 2.5 до 5 раз.
30. simuljakr 207 25.09.24 18:20 Сейчас в теме
(2) , (0), (28)
Дольше всего вычисляется хэш-сумма и пишутся/удаляются временные файлы на диск.
Я немного изменил код - теперь временные файлы не используеются, а хэш считается встроенной в 1С функцией.
Теперь - ваще летает !!!
А главное - костыли со скриптом и 64-х битным сервером теперь не нужны !!!

(если автор не будет против - могу выложить отдельной публикацией)
31. kolos 72 26.09.24 14:46 Сейчас в теме
(30) Во времена, когда все это писалось, еще не было встроенных функций для хэша, поэтому и костыли со скриптами.

Выкладывайте, конечно. Разработка фактически не актуальная, во всех современных решениях уже есть версионирование, правда без контроля изменения.
4. sherbv 523 20.12.12 05:41 Сейчас в теме
В Бухгалтерию 2.0 ставиться на УРА
Остается только включить константу "Использовать версионирование" в Истина
21. user665368_shakir.shirvanzade 1 25.01.18 15:04 Сейчас в теме
(4)
"Использовать версионирование


как?
26. пользователь 20.05.21 20:51
Сообщение было скрыто модератором.
...
5. apatyukov 950 25.03.13 13:27 Сейчас в теме
Конфа под 8.2, а в описании публикации написано что и под 8.1 тоже работает...
11. DenMaxwell 17 31.07.14 11:46 Сейчас в теме
Кто-то поборол: {ОбщийМодуль.Хеш.Модуль(5)}: Ошибка при вызове конструктора (COMОбъект): -2147221164(0x80040154): Класс не зарегистрирован
12. GoKerze 02.10.14 18:53 Сейчас в теме
В Windows Server 2008R2 Standard 64bit "{ОбщийМодуль.Хеш.Модуль(5)}: Ошибка при вызове конструктора (COMОбъект): -2147221164(0x80040154): Класс не зарегистрирован : -2147221164(0x80040154): Класс не зарегистрирован "

В Windows 7 Масимальная SP1 64bit такого не наблюдается. Явно беда не в 64bit. В чем затык? Версия платформы не та? Нужна Java? Ищу, чем отличаются два ПК помимо версии ОС.
6. pyrkin_vanya 501 27.08.13 14:43 Сейчас в теме
Только сегодня получил подобное задание. Самому лень писать. Решил здесь посмотреть. Прям в точку. То, что нужно. Спасибо огромное.
7. yalo 20.03.14 16:29 Сейчас в теме
Поставили задачу на версионирование обеъектов в ЗУиПе. Попробую использовть вашу разработку
8. yalo 20.03.14 16:38 Сейчас в теме
После объединения с cf файлом выходит ошибка:
{ОбщийМодуль.ОбщегоНазначенияЗК.Модуль(1133,15)}: Процедура или функция с указанным именем не определена (глЗначениеПеременной)
Обработка = <<?>>глЗначениеПеременной("глОбработкаСообщений");
9. kanalya 109 20.03.14 16:42 Сейчас в теме
(8) Затерся модуль приложения. Скопируйте его из рабочей базы.
10. break 33 23.05.14 15:36 Сейчас в теме
не пошла (( Ошибка при вызове конструктора (COMОбъект): Класс не зарегистрирован Скрипт = Новый COMОбъект("MSScriptControl.ScriptControl"); проблема в 64 битной версии версии Win, пока выставил выполнение модуля "Хеш" на клиенте
13. Maria1C 02.10.14 20:22 Сейчас в теме
Спасибо! Очень полезная вещь! Поставилась на УТ без проблем и доработок.
14. GoKerze 02.10.14 22:28 Сейчас в теме
В файловом варианте на свежеустановленной Windows Server 2008R2 Standard 64bit. Косяк точно не в битах. (%

Кто запустил - признавайтесь. Косяк в правах на исполнение скриптов? Косяк в сервере 1С?
15. GoKerze 03.10.14 12:20 Сейчас в теме
16. пользователь 15.10.14 04:11
Сообщение было скрыто модератором.
...
17. ivm032 8 03.03.15 14:27 Сейчас в теме
18. ChessCat 29.09.15 12:23 Сейчас в теме
В доработке есть один интересный момент.

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

Функция ПолучитьСтарыйХеш(Ссылка, ЧислоВерсийОбъекта) Экспорт
	
	Запрос = Новый Запрос;
	Запрос.Текст = "
	| ВЫБРАТЬ Хеш КАК Хеш
	| ИЗ РегистрСведений.ВерсииОбъектов
	| ГДЕ Объект = &Ссылка И НомерВерсии = &НомерВерсии";
	Запрос.УстановитьПараметр("Ссылка", Ссылка);
	Запрос.УстановитьПараметр("НомерВерсии", ЧислоВерсийОбъекта);
	
	Выборка = Запрос.Выполнить().Выбрать();
	Если Выборка.Следующий() Тогда
		Возврат Выборка.Хеш;
	Иначе
		Возврат "";
	КонецЕсли;
	
КонецФункции
Показать


У всех объектов которые присутствуют в базе до момента внесения доработок в систему версионирования Хэш пустой (поскольку этого ресурса в регистре сведений ранее не было).
Поэтому функция вернет пустое значение и в результате при записи объекта будет создана версия объекта с заполненным хэшем (даже если в реквизитах объекта ничего не поменялось).
19. newtype 15.03.16 16:25 Сейчас в теме
Поставил на ЗУП 2.5. Работает. Можно ли как-нибудь сравнить хэши, для того, чтобы узнать, что изменилось в версии объекта ? Спасибо за разработку.
20. jaroslav.h 182 12.09.16 08:12 Сейчас в теме
Работал проделанная очень бомбезная, автору спасибо, с соглашением автора добавил управляемые формы на ту же логику http://infostart.ru/public/548203/
22. AlexeyK1 15 24.04.18 14:11 Сейчас в теме
Строки табличных документов фиксирует?
23. mrlakec 25.09.18 15:12 Сейчас в теме
Никак не смог подключить на УТ 10.3, нигде не могу найти где надо включить его, может кто подскажет?
25. пользователь 19.05.21 21:49
Сообщение было скрыто модератором.
...
27. aarty 21.05.21 18:05 Сейчас в теме
Добрый день данное обновление еще актуально? Хочу узнать подробности.
Для отправки сообщения требуется регистрация/авторизация