gifts2017

Изменения объектов (версионирование)

Опубликовал 1 C (devtob) в раздел Программирование - Инструментарий

Разработка представляет собой "легковесную" подсистему версионирования, на текущий момент именно документов (внеся небольшие изменения можно использовать и для справочников)

Данная подсистема хранит только изменения объекта (документа), а не полные его копии как в типовых конфигурациях, не используется xml-сериализация объектов.Возможно использование/встраивание данной разработки в любую конфигурацию на платформе 8.1, и с небольшими доработками на платформе 8.2

Ограничения: не хранятся изменения для типа данных "ХранилищеЗначения", для типа данных "Строка неограниченный длины" будут сохраняться только первые 1024 символа.

 

P.S. разработано, вместе с тестированием, за два рабочих дня

Скачать файлы

Наименование Файл Версия Размер
cf (изменения объектов) 207
.zip 15,78Kb
21.12.10
207
.zip 15,78Kb Скачать

См. также

Подписаться Добавить вознаграждение
Комментарии
1. Vitamax (Vitamax) 20.12.10 10:02
Интересно, но не правильно отрабатывает по табличной части, например:
Реквизит количество.
До изменения
Строка 1 = 100,Строка 2 = 100
Изменяем
Строка 1 = 100,Строка 2 = 101
Записываем. Фиксируем изменения.
Записываем. Идет фиксация изменения при отсутствии изменения.
2. 1 C (devtob) 20.12.10 11:45
Поправил, упустил момент с соединением по номеру ТЧ, да и парни не забывайте плюсовать
3. Vitamax (Vitamax) 21.12.10 09:03
Долго объяснять ошибку...
Просто поменяй
Запрос.УстановитьПараметр("НомерСтрокиТЧ", ?(ЭтоТабличнаяЧасть, 1, 0) );
на Запрос.УстановитьПараметр("НомерСтрокиТЧ", ?(ЭтоТабличнаяЧасть, НомерСтрокиТЧ, 0) );
4. Vitamax (Vitamax) 21.12.10 09:11
И ещё, Изменения не фиксируются если нажать сразу ОК
5. 1 C (devtob) 21.12.10 10:38
(3)(4) видимо ты совсем не программист, в (3) надо было просто подставить в параметры запроса именно НомерСтрокиТЧ, а про (4) закоментить строку в подписке на событие, которая фильтрует по режиму записи документа.

p.s. бывает конечно хочется готового продукта, но это уже совсем другая тема
6. Vitamax (Vitamax) 23.12.10 09:39
Да какой я программист... просто бесплатный тестер :D , да и не надо быть программистом чтобы
понять, что если всегда пихать 1 в параметр запроса "НомерСтрокиТЧ", то всегда будет
выдаваться история по первой строке табличной части, а иногда хочется и по второй и уж совсем не реально,
но бывает (один раз в год) по третьей строке.

P.S. я понимаю, что за плюсик хлеба не купишь, но хочется продукта более приближенного к реальной эксплуатации
(это я про кнопку Записать)
7. 1 C (devtob) 23.12.10 10:27
(6) блин, слушай, если для тебя это проблема, понять что это доп.функционал получения изменения по реквизиту (бантик) и поменять как тебе требуется, то можно просто пользоваться типовыми "отлаженными и эффективными" механизмами версионирования путем xml-сериализации

p.s. тоже хочу домик на рублевке
9. Брест Беларусь (zhleonid8) 16.01.12 10:33
балванку дали, дорабатываем сами:)
10. uno dos (unoDosTres) 07.12.12 17:37
(7) devtob, чем на ваш взгляд плоха хмл-сериализация, и сильно ли будет раздуваться база, используя ваш способ версионирования?
допустим используя хмл-сериализацию для хранения версий, можно в 10 строк кода (не считая запроса по регистру) восстановить нужную версию, хотя конечно нужно учитывать вариант что структура реквизитов не менялась, но все же в чем же черное пятно на ваш то взгляд
11. 1 C (devtob) 29.04.13 10:06
(10) unoDosTres, при типовой сериализации проблема начинает появляться на больших базах - моя сериализация именно для масштабных баз