gifts2017

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

Опубликовал Андрей Куканов (KukA.5) в раздел Администрирование - Журнал регистрации

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

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

Подсистема снова БЕСПЛАТНО (то есть даром :))

1) с помощью формы справочника «выявляются» метаданные конфигурации, их реквизиты.

2) в ней интерфейсно устанавливаются флажки "что надо контролировать" (можно установить флажок сразу на все реквизиты более нижнего уровня).

3) сохраняем значения флажков (в регистре сведений будет лежать эта служебная информация).

4) при записи (по подписке) делается регистрация того что изменилось (из того что надо контролировать)...

...все :)

 

5) Журнал изменений (форма регистра сведений) позволяет просматривать, искать, отбирать (отбор по GUID - позволяет узнать историю конкретного объекта), открывать объект (если он, конечно, еще существует в БД), также можно узнать кто когда с какого компьютера внес изменения в реквизит, который стоит у нас на контроле.

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

Наименование Файл Версия Размер Кол. Скачив.
КонтрольИзмененияДанных (версия 1.4)
.cf 456,75Kb
19.02.13
714
.cf 456,75Kb 714 Бесплатно
-
.1252105437 427,00Kb
19.02.13
698
.1252105437 427,00Kb 698 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Андрей Куканов (KukA.5) 05.09.09 03:25
Штука достаточно простая, в Москве работает в двух местах (с полгода) - полет нормальный, производительность не упала, а польза очевидна... можно детально контролировать важные реквизиты

Дайте плюсиков :) коллеги...
AntohaRomaha; FlagmanGK; MiG; literset; +4 Ответить
2. sound sound (sound) 05.09.09 07:26
"производительность не упала", а объемы данных как сильно возросли? И еще 1 из "стандартных": если в сохраненном документе в табличной части (1000 строк) удалить 1-ю строку, то сколько будет строк в "регистрации"?
P.S. Не проси плюсики, а то заклюют!
3. sound sound (sound) 05.09.09 07:29
Все таки за попытку и труд поставлю +:)
4. Андрей Куканов (KukA.5) 05.09.09 08:01
(2) спасибо, sound, за внимание и критику про строки в табличной части...
Действительно, будет зафиксировано изменение каждой строки - потому что каждая строка изменилась. А за плюс спасибо.
5. Maniac (Eugeneer) 05.09.09 11:28
Вообще механизм ведения версионности уже давно есть в типовой УПП.
Тут конечно ревизиты можно настраивать это плюс. Но я бы лучше типовым воспользовался. Там регистр не забивается за счет хранения объектов в xml плюс сжатие. в общем типовой кк мне кажется рулит.
6. Maniac (Eugeneer) 05.09.09 11:29
И отчет к тому же есть очень хороший. В общем рекоменудю лисапеды не изобретать.
7. Андрей Кундеренко (mir-inoy) 07.09.09 08:30
8. Владимир Денисов (den_vladimir) 07.09.09 14:41
9. Сергей Ожерельев (Поручик) 07.09.09 21:11
(4)
>>> Действительно, будет зафиксировано изменение каждой строки - потому что каждая строка изменилась.

Такая же проблема. http://infostart.ru/blogs/1062/
Вменяемо-адекватного решения так и не нащупал.
10. Василий Сидоров (Bambrlog) 08.09.09 03:02
Уважаемый Кука вы тестировали данную разработку на РИБ?
Попытался использовать вашу обработку на УТ 10.3.7.8 заметил вот такой глюк. Если поступает новый товар и менеджер узла "А" заносит абсолютно новую номенклатуру и делает выгрузку в узел "Б". В узел "Б" приходят данные подобного вида <"Объект не найден" GUID бла, бла, бла>. Причем замечу подобное происходит только с новой номенклатурой заведенной после внедрения обработки. Номенклатура заведенная ранее перемещается в обоих направлениях "А>Б", "Б>А" нормально.
11. Андрей Куканов (KukA.5) 08.09.09 10:17
на РИБ не тестировал - сделайте адаптацию самостоятельно.

Еще идея - можно сделать в объекте кнопочку (и тоже ее программно добавить). Она открывает журнал регистрации с отбором по GUID. Кнопка получается "История этого объекта"
12. Алексей Комов (com_a) 08.09.09 13:46
Все нормально. Мне понравилось.Делаю отчет об изменение объекта. Ижнбы снятие с проведения учесть.
13. Андрей Куканов (KukA.5) 08.09.09 14:21
(12) - удачи, доработайте сами такой функционал (это не сложно).
14. Андрей Куканов (KukA.5) 08.09.09 14:23
Коллеги, я в поисках работы - кто то сможет поддержать предложениями работы? Живу в Москве.
15. Екатерина Егорова (ZNW) 23.09.09 12:01
Отличная конфигурация! Наконец-то решен извечный вопрос "кто это сделал?!" :)
16. Maxim Goncharov (maxx) 28.09.09 14:06
Спасибо за конфигурацию.
Вот список, того что добавил в эту конфигурацию для себя:
- отслеживать изменение реквизита ПометкаУдаления
- отслеживать изменение реквизита Проведен в документах
- в форму списка справочника "МетаданныеОбъектыДляКонтроля" добавил возможность "Пометить объект и подчиненные" и "Снять флаг с объекта и подчиненных" для групповой установки флага "КонтролироватьИзменения"
- при открытии формы списка "МетаданныеОбъектыДляКонтроля" отключил , чтобы все флаги снимались и заполнялись по данными регистрами сведениями (не понял, зачем это было сделано, но занимало очень много времени, если все справочники и документы включены)
- изменил длина "НаименованиеРеквизита" в справочники и регистрах, т.к. в Управление торговленй есть реквизиты справочника УчетныеЗаписи с длино больше 50
- добавил отслеживание изменений , если удаляют строки табличной части, т.е. строк в итоге становится меньше чем было. Это не отслеживалось
- добавил еще один регистр сведений "РегистрацияСобытияОЗаписиОбъектов", где регистрирую при каждой записи РежимЗаписи, РежимПроведения, чтобы знать во-первых: кто вообще создал документ (кто автор) ; кто просто записыывал не меняя документ, кто просто перепроводил документы (тоже нет изменений в объекте).

Ну и напоследок надо будет сделать отчет об истории создания, Изменение, провдения документа
17. Maniac (Eugeneer) 03.10.09 12:19
Народ наверно не в курсе что система версионности давно уже есть в типовых от1С. в УПП. и работает суперотлично.
18. Сергей Ожерельев (Поручик) 03.10.09 20:30
Про УПП в курсе, не бойся. Только будет ли версионность в других конфах, вот в чем вопрос.
19. Александр Медведев (anig99) 03.10.09 20:50
и самописные конфы никто не отменял
20. Александр Алекс (Dragga) 12.10.09 15:22
В новых версиях появился инструмент версионирование енто на него похоже?
21. Андрей Куканов (KukA.5) 14.10.09 23:16
(16) maxx, спасибо за комментарий.
Мне было приятно, что это кому то полезно, да еще и развитие получило у коллеги! Вот для таких людей эту работу и выкладывал.
Доработки толковые, а насчет "при открытии формы справочника МетаданныеОбъектыДляКонтроля принудительное перезаполнение флагов по регистру" - это ...я сделал через ж@пу :(, по хорошему вместо справочника (где вся эта хрень еще и хранится) надо использовать произвольную форму для управления наполнением регистра сведений.

По хорошему эту подсистему вообще надо бы сделать всю по другому и даже мысли есть на эту тему, но это уже другая тема :)

Спасибо за отзывы, комментарии, плюсы....
Приятно когда твоя работа кому то полезна и помогает в работе твоим коллегам. Это здорово!
22. Андрей Куканов (KukA.5) 14.10.09 23:19
После 730 скачиваний версия стала платной - ЭТО ПЛОХО, конечно, но я думаю Инфостарт НУЖНО ПОДДЕРЖАТЬ ФИНАНСОВО.
Все средства, в полном объеме - на развитие и поддержку проекта.

Если кому то хочется получить, но нет возможности заплатить, думаю, Дорджи (но же support и просто хороший человек) может (при наличии прямого к нему обращения) и просто прислать эту подсистему бесплатно.
23. Андрей Куканов (KukA.5) 22.12.09 00:15
Подсистема снова в свободном скачивании.
24. Павел Духанин (Traas) 29.01.10 15:23
Файл без расширения. Что с ним делать то?
25. Андрей Куканов (KukA.5) 30.01.10 11:06
Файл без разширения... какой?
Основной файл конфигурации имеет расширение "КонтрольИзмененияДанных (версия 1.4).cf"
Сейчас тестово скачал, проверил - все в порядке.
Этот файл нужно в 1С-ке, в Конфигураторе через "загрузить конфигурацию", или "сравнить объединить".
26. Андрей (1СПрограммер) 15.04.10 21:52
Kuka, у меня вопрос ты используешь подписку на событие перед записью справочников, а если отработает исключение и справочник не запишется, как ты с этим боролся?

Или процедура При записи() которая в модуле формы ругнется на незаполненный реквизит и отменит транзакцию; а ведь процедура в форме выполняется позже процедуры в модуле объекта(я про процедуру При Записи())
27. Андрей Куканов (KukA.5) 16.04.10 22:44
(26) Подписка на событие ПередЗаписью выполняется в ОДНОЙ транзакции что и событие ЗАПИСЬ объекта.

На всякий случай провел дополнительные испытания :) и прилагаю скриншоты иллюстирующие этот факт.

Если коротко - РЕГИСТРАЦИИ ИЗМЕНЕНИЙ при отмене транзакции записи объекта НЕ БУДЕТ. Подсистема отрабатывает эту ситуацию корректно.
Прикрепленные файлы:
28. Андрей (1СПрограммер) 18.04.10 13:44
Да, точно, ты прав. У меня просто стояла задача по отражению справочников в двух базах в реальном времени и я в подписке сразу сбрасывал справочник в другую базу; совсем забыл про транзакционность записи, теперь переделал все через регистр. Большое спасибо за наводку :D
29. Андрей (1СПрограммер) 18.04.10 23:10
Кuка.5, слушай, а у тебя есть соображения, как избавиться от фиксаций изменений при простом просмотре и нажатии пользователем кнопки "ОК"
30. Андрей Куканов (KukA.5) 19.04.10 00:38
(29) Знаешь, ты хотя бы внимательно прочитай описание функционала... (если не можешь его попробовать сам)

У меня написано:
4) при записи (по подписке) делается регистрация того что изменилось (из того что надо контролировать)...

...делается регистрация ТОГО ЧТО ИЗМЕНИЛОСЬ .... - то есть фиксируются ТОЛЬКО ИЗМЕНЕНИЯ

Поэтому если пользователь нажмет кнопку Ок (или Записать), но ничего не изменилось (потому что он только смотрел) - регистрации изменений не возникнет :)

Пользуйтесь на здоровье :)
31. Андрей (1СПрограммер) 19.04.10 12:24
32. Андрей Куканов (KukA.5) 19.04.10 20:05
Всегда готов поделиться :)
Не жалко - главное, чтоб это было полезно и нужно кому то....
33. Андрей (1СПрограммер) 20.04.10 10:46
Кстати в подписку оказывается(для меня) все методы объекта передаются,
так что можно добавить:

Если Источник.Модифицированность() Тогда

более эффективно будет отрабатывать нажатия "ОК"
34. Владислав Лаврухин (wiranata) 10.06.10 08:35
Интересен опыт ведрения данной системы на УРБД на компии тестирую основной БД, на "боевой" пока не рискую ибо там переферийные узлы...
35. Сергей Дудаков (Anything) 10.06.10 11:02
(34) Я конечно сам не пробовал, но думаю, если отключить миграцию добавленных метаданных, то никаких проблем с РБД быть не должно.
36. Владислав Лаврухин (wiranata) 10.06.10 13:04
Но если отключить миграцию то и не получим данных о "косяках" в РБД, да и по умолчанию они в план обмена не ввойдут, надо принудительно выбирать
37. Андрей Куканов (KukA.5) 10.06.10 16:28
Для нормальной работы в РБД я бы порекомендовал с полный обмен включить регистр сведений (где данные о том, ЧТО надо контролировать) и собственно регистр, в котором регистрации изменений. Все будет прекрасно работать :) - прямых ссылок то нет, только GUID-ы.

Спасибо за внимание к данной разработке. Хотелось бы услышать оценку работы в вашей БД. Если хорошо работает - приятно, если плохо - будет понятно что плохо продумано/реализовано.
38. Сергей Дудаков (Anything) 10.06.10 16:45
(37) KukA.5, спасибо за эту подсистему! Отлично работает в моей конфигурации уже примерно полгода (один из первых релизов этой подсистемы) и прекрасно справляется со своими функциями.
39. Андрей Куканов (KukA.5) 21.06.10 21:20
(38) Релиз был только один. Я его изготовил сто лет назад, когда дома грипповал (чтоб не бездельничать). Внедрил эту штуку в конторе, где тогда работал, что значительно изменило ситуацию в лучшую сторону.

Подсистема полезна там, где нет четкой системы работы в 1С, и поэтому нужен удобный механизм "слежки" за важными данными.
40. Андрей Куканов (KukA.5) 24.06.10 00:16
Сегодня случилось событие :D - я стал клиентом на свою собственную подсистему. Скачал с сайта (под рукой не было), воткнул в УПП 1.2.29, все легко встало на удивление меня (разработчика), проверил - все чудненько работает. Завтра будет в боевой базе.
41. Сергей Большаков (axae) 01.07.10 07:42
Толково!
У alexer, в http://infostart.ru/public/63420/ кажется не фиксируются удаления. А здесь - фиксируются. Но есть пожелание (кстати у axeler я пытался написать, нажав [Редактировать], но у меня не получилось - кнопка [Изменить] не сохраняет почему-то изменения комментария): хотелось каким-нибудь простым образом делать поиск по строке <Объект не найден 145:523fg8...>. Из этой строки, знаю, можно получить GUID объекта - сам делал для восстановления удаленных (при своей доработке, кстати, Поиск битых ссылок http://infostart.ru/public/58058/ от naus). Да и при поиске обычного объекта как для него в журнале получить его GUID для отбора?
Вопрос о журнале регистрации у нас возник именно при поиске виновного в удалении объектов.
42. DiME VeYRoN (DiME) 23.08.10 14:36
Система класс!!!
но есть некоторые глюки :(
1. в справочник МетаданныеОбъектыДляКонтроля заносятся не все реквизиты докуметна, точнее добавляются по колличеству все, но некоторые отображаются как пустые строки.
2. не регистрируются удаления в ТЧ документов хотя объект помечен...
Косяки конфигурации все отлично работает! :D
43. Vladimir Gorchaev (Vladimir*) 07.09.10 10:48
Доброго дня!

Установил Вашу систему, нашел несколько нюансов:
1. :!: В документе 20 строк. При удалении всех строк начиная к примеру со 2ой, сделается запись, что изменилась строка №2 и все. Система http://infostart.ru/public/63420/ отработала корректно.
2. :( Сложно читать журнал регистрации, если бы прикрутить что-то типа обработки Alexer (http://infostart.ru/public/63420/)

:?: Можете доработать?

:idea: Очень понравилась зато возможность выставлять контроль именно на нужных объектах! Чего нет у Alexer и Удаление объекта фиксируется.

:?: и интересно насколько уменьшается производительность 1с из-за внедрения данного учета. Скажем есть документы (кассовые отчеты) которые создаются автоматом и включают в себя несколько тысяч строк, так вот удаление одной строки приведет к какому завису?
44. Андрей Куканов (KukA.5) 07.09.10 17:10
(43)

2) для анализа удобнее пользоваться чем то типа "Универсалный отчет по справочникам, документам, регистрам", который обычно есть во всех конфигурациях.

..производительность - проблем не видел. И ...зависания то с чего? подсистема делает запись пакета в регистр сведений - это операция, но не такая уж затратная.

Владимир, спасибо за Ваше внимание к этой моей давней работе и за плюс.
45. Vladimir Gorchaev (Vladimir*) 08.09.10 11:08
KukA.5, Вы написали недавно, что снова стали использовать Вашу старую разработку, может сможете ее немного доработать (комментарий 43)? ;)
46. Сергей Дудаков (Anything) 22.12.10 20:01
Уже на паре проектов использовал эту подсистему.
Заставили-таки пользователи написать обработку для просмотра истории изменений объекта. :)

Выложил сюда: http://infostart.ru/public/79680/

(45) Возможно, это то, что Вы хотели.
KukA.5; DiME; +2 Ответить
47. artmicro (artmicro) 19.01.11 12:42
Функция ВернутьТипОбъекта(Объект)
	//
	ТипОбъекта = Строка(ТипЗнч(Объект));
	//
	Если Найти(ТипОбъекта, "Справочник") Тогда
		Возврат "Справочники";
	ИначеЕсли Найти(ТипОбъекта, "Документ") Тогда
	        Возврат "Документы";
	КонецЕсли; 
	//
	Возврат "";
КонецФункции // ВернутьТипОбъекта(Объект)
...Показать Скрыть


Почему все так делают? :) Вся интернациональность 1С рубиться в генокоде:D
ZLENKO; KukA.5; artbear; +3 Ответить 1
48. Артур Аюханов (artbear) 19.01.11 16:46
(47) Ну уж и все :)
Но хорошее замечание, плюсую :)
49. Сергей (Che) Коцюра (CheBurator) 20.01.11 04:32
как-то не нравиться мне этот код.. в 8-ке я нуль, но вроде там можно сравнить типобъекта непосредственно со специальным типом данных "тип"...? или что-то похожее..
50. artmicro (artmicro) 30.01.11 12:31
(49)
В 8-ке есть несколько способов определить тип не обращаясь к сравнению со строковым значением. Например: Метаданные.Документы.Содержит(Док). А то при разных языках платформы представление будет разным. Если ru - будет "Справочники", "Документы", если ua будет "Довідники", "Документи" ... Но такого кода и в типовых конфах навалом :)
51. Андрей Куканов (KukA.5) 10.02.11 10:51
(50) с критикой согласен, сделать подсистему можно лучше.
52. Арам Замзам (Арамзамзам) 23.09.11 05:05
Тру разработка, я тут пофлужу, ибо нада файл скачать, а новые правила всё такое...сами понимаете, но на самом деле, качал давно, палён нормальный, плюс поставил сразу после тестов, адаптировал под себя, немного модернизировал.
53. Тарас (softest) 27.09.11 10:02
Скажите кто пользовался на сколько роздуваетса база?
54. Андрей Тарасенко (angtar) 01.12.11 10:50
скачал файлы, но не могу понять, как подключить систему к конфигурации?
какие файлы должны быть в комплекте?
для 8.2 есть что-либо подобное?
55. Сергей Ожерельев (Поручик) 01.12.11 11:10
(54) Вам к специалисту. Самостоятельно не справиться. Для 8.2. требуется конвертация cf
56. Андрей Тарасенко (angtar) 01.12.11 13:43
я сам себе специалист, разобрался уже и подключил к 8.2
просто файл битым скачался
58. Алексей Лейт (AlekseiLeit) 09.04.12 09:48
Спасибо автору. Пригодилось. Немного подточил под себя и пошло на ура :)
А главное скачалось за так )
59. Александр (tornado_storm) 16.08.12 14:33
А на какой платформе сохранена данная подсистема? У меня при сравнении и объединении или загрузке конфы ругается на несоответствие версий!!!!
60. mic auto (4ur) 20.08.12 17:20
спасибо, как раз поступил заказ на такую доработку, т.к. очень нужен дополнительный контроль
61. Вася Пупкин (Harry_Joplin) 13.10.12 10:19
(56) А можешь подсказать как? Тоже хочу на 8.2 поставить, делаю объединение конфигураций, мне тут же выдает морду как у 8.1 и не дает зайти ни в один документ.

С мордой 8.1 решил вопрос, надо было галку со "Свойства" снять
После объединения конфигураций, могу выбрать только интерфейс "Контроль за изменениями" и ни на какой другой уже поменять не могу, подскажите как быть?
62. Роман (Raminus) 14.11.12 16:00
Надо будет глянуть и оценить! :) Ставлю плюсик авансом, что бы не забыть :)
63. Ilya Khabarov (inshair) 15.03.13 11:16
Понравилась конфигурация, быстро смог внедрить. Автору спасибо. Глюков пока не замечено. Да и код очень просто и понятный, начал до этого момента свою конфигурацию править, а тут попалась эта и не стал уже велосипеды изобретать:)
64. Александр Топольский (AlexanderKai) 15.03.13 13:56
А средствами SQL это можно сделать? Никто не заморачивался?
65. Разве это имеет значение (-fox-) 17.05.13 15:19
Есть мелкие пожелания, но это для индивидуальной доработки. А как быстрое и простого решения очень подходит, Автору +.
66. Виталий Жуланов (VZhulanov) 25.05.13 20:02
Скачал, установил, добавил сразу же кучу галочек в дереве метаданных чтобы следить за изменениями всех важных объектов.
А вот примерный объем данных не подсчитал.
В итоге, примерно через месяц, пользователь жалуется что не может ни одного документа в систему добавить, система выдает ошибку, что таблица заполнена.
Начал искать ошибку - таблица регистра сведений заполнена на 99.99% (Tool_1CD.exe показал). Убрал все галочки контроля - система заработала. Теперь буду сидеть и считать кол-во данных, чтобы знать куда ставить галку, а куда нет.

Вижу 2 варианта доработки системы контроля:
1. по каждому объекту метаданных показывать количество объектов в системе. Там где это возможно (документы и регистры с датой) показывать среднее кол-во новых объектов за месяц. Эта информация поможет определить стоит или нет ставить контроль за этим объектом.
2. хранить данные контроля во внешней БД, но тут возникают проблемы с синхронизацией в распределенных базах.

Кто еще чего предложит?
67. Светлана Нелеп (Лануси4ка) 12.11.13 10:35
Спасибо огромное автору за данную разработку, как раз недавно собралась сама похожее писать, но наткнулась на вашу, скачала, поставила, проверила - очень понравилась. Есть правда некоторые недочеты, которые попытаюсь сама переделать:
1) при удалении строки было бы приятней увидеть что данная строка со всеми реквизитами была удалена, а не затерлась следующей
2) неудобно при отметке контроля по всем элементам по отдельности ставить галки, а если нужен контроль всего документа сразу? почему нельзя ставить галку чисто у документа всего, или чисто у его табличной части? приходится выбирать каждый реквизит документа/табличной части и ставить галки(
68. tamidi (tamidi) 12.11.13 11:46
Спасибо автору за разработку. Проще переделать под себя готовое решение, чем писать все с нуля.
69. Андрей Куканов (KukA.5) 11.12.13 23:53
Коллеги, спасибо за Ваши отзывы! Очень приятно!
Особенно с учетом, что уже почти 3 года как не программирую...
И на Инфостарт не заходил полгода (( - исправляюсь ))

Работаю сейчас как руководитель направления 1С:Документооборот в одной фирме ))
Так что, если смогу кому-то быть полезен в этой тематике, обращайтесь!

https://www.facebook.com/andrey.kukanov - моя страничка в фейсбуке

Во вложении моя сегодняшняя презентация про 1С:Документооборот к вебинару.
Она про возможности программы (обзорно и по-сути назначения программы).
Прикрепленные файлы:
1С.ДО - Возможности.pptx
70. Андрей Куканов (KukA.5) 11.12.13 23:56
(66) VZhulanov, "...таблица регистра сведений заполнена на 99.99%..." - прикольно и немного странно! Неужели таблицы в БД "конечны" )). Может быть это ограничение возникло, потому что база в файловом варианте?
71. Zhenius Eugenius (iZhenius) 23.07.14 13:38
Спасибо! Разработка пригодилась и нам в Беларуси!)
72. Namig Pirkuleiv (Namig) 03.02.15 23:06
Есть ли у кого версия для 8.0.18.2?
73. Игорь Крюк (igor.kryuk) 09.11.15 13:56
Спасибо автору! И вопрос. Реализовал ли кто проверку удаления строки табличной части документа?
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа