gifts2017

Кто и что изменял в документе

Опубликовал Антон Юхлин (antonrost) в раздел Администрирование - Журнал регистрации

Очередная версия обработки для просмотра изменений в документах. Изменения записываются в файл.

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

Наименование Файл Версия Размер Кол. Скачив.
-
.1243508196 18,15Kb
19.02.13
504
.1243508196 18,15Kb 504 Бесплатно

См. также

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

Комментарии

1. Сhe Burashka (CheBurator) 26.07.06 14:54
Антон! а прокомментируйте, плиз, - ловит ваша разработка протое изменение порядка строк (считаем что это не изменение), добавление строк, удаление строк? Прокомментируйте чуть подробнее.. в каком формате хранится, как логгируется?
2. AntonRost (antonrost) 26.07.06 14:55
Исправил
вместо
ТЗ.Автор = глПользователь;
теперь
ТЗ.Автор = ?(ПустоеЗначение(ПолноеИмяПользователя())=0,ПолноеИмяПользователя(),ИмяПользователя());
3. AntonRost (antonrost) 26.07.06 15:10
1. Хранится в виде файла: "ЗначениеВФайл(ИмяФайла, ТаблицаИзменений)"
При этом файлы имеет вид: КаталогБазы\Log\ВидДокумента\ВнутреннийНомерДокумента\НомерИ­зменения.txt
(Например: D:\Базы\Торг\DemoDB\Log\ПоступлениеТМЦ\347\00002.TXT)
2. Изменение порядка строк в данной версии не отслеживается, но очень легко добавить. Достаточно в сравниваемые таблицы (до и после изменений) добавить колонку с номером строки.
3. Добавление и удаление строк отслеживается. Принцип просмотра изменений ТЧ следующий (он, кстати, продемонстрирован в скриншотах): если есть измененная строка, то в результатах мы увидим ДВЕ СТРОКИ. Одна со знаком "-" (то, что было до изменения), вторая со знаком "+" (то, что стало). Измененные реквизиты выделены цветом. Для удобства сравнения рекомендуется отсортировать таблицу по ключевым реквизитам (например, по номенклатуре) двойным щелчком по наименованию колонки. Соответственно, если количество строк изменилось, то будет ТОЛЬКО строка с минусом (если строку удалили), или ТОЛЬКО строка с плюсам, если строку добавили.
4. AntonRost (antonrost) 26.07.06 15:13
При снятии флажка "Только измененные реквизиты", в отчет выведутся ВСЕ реквизиты документа. Измененные также останутся выделенными цветом.
5. AntonRost (antonrost) 26.07.06 15:14
Если у кого-то есть необходимость отслеживать изменение порядка строк - говорите. Добавлю через некоторое время.
6. AntonRost (antonrost) 27.07.06 10:50
70 человек скачали, никто не оценил. Вывод: кг/ам ???
7. Аркадий Кучер (Abadonna) 27.07.06 12:37
Совсем недавноя делал подобную штуку. Умудрился запихать весь документ в одну "плоскую" ТЗ из 4 колонок. Т.е. в этой 4-х колоночной ТЗ хранятся разом и общие, и реквизиты шапки, и все строчки документа.
Если интересно - могу намылить.
Примечание: а т.к. у нас всё равно SQL стоял, я завел "боковую" базу
Change с одной таблицей того же наименования, где в текстовых полях хранятся значения типа ЗначениеВСтрокуВнутр(). Табличка получилась универсальная - и для доков, и для справочников.
Контрагенты! Вот где они, гады, творят, что хотят, а потом отпираются ;)
8. AntonRost (antonrost) 27.07.06 12:42
И у меня тоже одна ТЗ. Только колонок пять :).
9. Вадим Самусев (wadus) 03.10.06 19:41
Внедрил в свою конфигурацию. Шеф в восторге (неописуемом).
Вопрос: можно тоже самое, но для справочников?
10. Сhe Burashka (CheBurator) 03.10.06 20:15
Изменения пишутся в какой файл? текстовый? xml?
или как еще...? в принципе, нормально, вопрос с типом файла выясню - может поставлю вместо своей...
11. AntonRost (antonrost) 04.10.06 07:46
Применяется метод "ЗначениеВФайл".
Минус - на больших конфигурациях "жрет" дисковое пространство. Есть идея архивировать каждый документ. Нет времени. :)
Со временем приделаю и справочники.
12. AntonRost (antonrost) 04.10.06 07:47
Вернее, на больших базах...
13. Denisыч (Denisыч) 21.12.06 08:59
Очень хорошая разработка. Хотелось бы еще изменения справочников увидеть. Когда можете сделать?
14. AntonRost (antonrost) 21.12.06 09:01
Банально не хватает времени :(
16. GlavBukh (glavbukh) 03.06.07 14:47
+1. Присоединяюсь к Denisыч : "Ну когда же..."?
17. AntonRost (antonrost) 04.06.07 14:05
Скоро. Для себя сделал - тестирую.
18. Дмитрий (gubsky) 27.09.07 08:34
ну и что там на счет справочников? как тема движется?
19. AntonRost (antonrost) 29.09.07 12:09
Выложил новую версию (документы + справочники). Описание внутри архива. Извиняюсь, если не очень подробное.
Если что-то неработает - обращайтесь, разберусь.
20. infossa S (infossa) 07.10.07 23:03
(19) обработка интересная и полезная

(7) также интересует вариант для SQL Server
если можно , то выложите здесь также свой вариант
21. Михаил (mdzen) 26.10.07 18:19
Интересно. Сравню со своей....
22. Михаил (mdzen) 26.10.07 18:50
В принципе неплохо как идея.
Только есть небольшое неудобство - доки в среднем 100 - 150 позиций занимают 56-80 кб. , за день лепят до 100 документов - по минимуму за день отожрет 56 - 80Mb если нет изменений, а если хоть по разу поменяют это еще 56-80 Mb , итого - 112 - 160 Мб ( т.е. полтора гига за 10 дней), а если надо логи за год-полтора иметь?
Для организаций с небольшим документо-потоком решение отличное ( потому +1)
23. Polukuzov (Polukuzov) 07.11.07 23:37
Я переделал процедуру хранения изменений(изменения по одному документу храняться в виде архива.zip и при надобности распоковывается во временную папку добавляется и снова упаковывается) при этом достигается экономия по месту хранения в 5-6 раз, а это уже что-то. А так вообще вещь нужная правда слегонца громоздкая. Много места занимает хранение в ввиде "ЗначениеВСтрокуВнутр" там куча скобок,кавычек и пробелов, но писать свою процедуру хранения как-то совсем неохота. Автору риспект +1
24. Антон Юхлин (antonrost) 28.05.09 14:58
Теперь корректно работает в распределенных базах.
25. Роман Бирюлин (Mario Bro) 04.06.09 15:33
я не програмист 1С но нам в фирму очень нужна подобная вещь, скачал, дак на работе блин даже ЗИП-аврхиваторов нету блин:(
26. Антон Юхлин (antonrost) 04.06.09 15:36
27. Роман Бирюлин (Mario Bro) 04.06.09 15:40
Разархивировал но там как я понял документы уже для внедрения в 1С, надо будет программиста нашего загрузить
28. Роман Бирюлин (Mario Bro) 04.06.09 15:44
А нет чё нить типа презентации данной функции)))
29. Антон Юхлин (antonrost) 04.06.09 15:44
30. Роман Бирюлин (Mario Bro) 04.06.09 16:12
antonrost

В 1С 7.7 есть получается и базовый журнал регистрации? у нас просто есть какой то но он уж очень долгий и там не очень то легко что то увидеть в разрезе таблицы
31. Алексей Федоренко (Fedorenko) 14.07.09 11:05
Попробовал на документе Реализация в Торговля и Склад 7.7. Обработка "Просмотр изменений в документах и справочниках.ert" пишет ошибку:
Стр = ЗначениеВСтрокуВнутр(СоздатьОбъект(Шаблон("[ТекТип].[ТекВид]")));
{E:\TORG\EXTFORMS\ПРОСМОТР ИЗМЕНЕНИЙ В ДОКУМЕНТАХ И СПРАВОЧНИКАХ.ERT(144)}: Неудачная попытка создания объекта.
Обработка "ПРОСМОТР ИЗМЕНЕНИЙ.ERT" выдает ошибку: ВидЭлемента = Конт.Вид();
{E:\TORG\EXTFORMS\ПРОСМОТР ИЗМЕНЕНИЙ.ERT(230)}: Значение не представляет агрегатный объект (Вид).
32. Антон Юхлин (antonrost) 14.07.09 13:30
(31) Загляни в личные сообщения.
33. Антон Юхлин (antonrost) 15.07.09 10:08
Глючила функция "Шаблон". Исправил.
34. Gen Tay (GenTay) 14.09.09 15:41
Идея очень хорошая, но оценить не могу, т.к. теже ошибки что и у сообщ. № 31
36. Gen Tay (GenTay) 14.09.09 15:42
И еще при проводке сообщает {D:\ПАПКА ОБМЕНА\ПРОБА\EXTFORMS\РЕГИСТРАЦИЯ ИЗМЕНЕНИЙ.ERT(36)}: Функция не обнаружена (глРазложить)
37. Антон Юхлин (antonrost) 14.09.09 15:57
Последнюю ошибку исправил, обновил. Предыдущие тоже вроде исправлял. Если не получится - пишите, разберемся.
38. Gen Tay (GenTay) 14.09.09 16:06
Осталось
Конт = Форма.Параметр;
ВидЭлемента = Конт.Вид();
{Обработка.РегистрацияИзменений.Форма.Модуль(230)}: Значение не представляет агрегатный объект (Вид)
39. Gen Tay (GenTay) 14.09.09 16:09
Пардон, плз. Это у меня глюки. Все заработало, но когда прошу показать изменения, выдает что-то про точку актуальности, но 1с бух нет оперативных итогов!
40. Антон Юхлин (antonrost) 14.09.09 16:10
41. Антон Юхлин (antonrost) 14.09.09 16:15
42. Gen Tay (GenTay) 14.09.09 16:21
43. Gen Tay (GenTay) 15.09.09 09:55
Привет! Не хочу надоедать, но какой-то конфуз у меня. Вчера все поставил, все работало. А сегодня не работает, причем в папке "log" создает ссылки, в отчете "просмотр изм в доках и спр" выдает в вверху,ну к примеру, "прих.накл". Но перечень изменений зась. Пишет "0 строк". Изменения были.Вчерашние изменения пожалуйста, сегодняшие ни как. Я глянул код, китайская грамота на русском языке, учебник квантовой физики. Что бы это значило?
44. Антон Юхлин (antonrost) 15.09.09 10:18
Напиши на мыло a.yuhlin@empils.ru
45. Korpas (korpas) 14.01.10 15:39
Обновил файлы на новую версию. При попытке посмотреть изменения вылетают следующие ошибки:
КодВида = СЗ.ПолучитьЗначение(2);
{\\...\EXTFORMS\ПРОСМОТР ИЗМЕНЕНИЙ В ДОКУМЕНТАХ И СПРАВОЧНИКАХ.ERT(119)}: Индекс не входит в границы списка значений.
КодЭл = СЗ.ПолучитьЗначение(3);
{\\...\EXTFORMS\ПРОСМОТР ИЗМЕНЕНИЙ В ДОКУМЕНТАХ И СПРАВОЧНИКАХ.ERT(120)}: Индекс не входит в границы списка значений.
КодБазы = СЗ.ПолучитьЗначение(4);
{\\...\EXTFORMS\ПРОСМОТР ИЗМЕНЕНИЙ В ДОКУМЕНТАХ И СПРАВОЧНИКАХ.ERT(121)}: Индекс не входит в границы списка значений.

Таблица документов не заполняется. В старой версии все работает.
46. Антон Юхлин (antonrost) 14.01.10 15:57
(45) Боюсь, что совместимость не предусмотрена :( , т.е. новый просмотрщик показывает только новые изменения.

Вообще предполагалось, что изменения будут просматриваться из самого документа или из журнала, а не через обработку просмотра.
47. Korpas (korpas) 14.01.10 16:06
(46)
1) Сильно изменился формат хранения? Заметил пару новых функций, в остальное не внедрялся...
2) У меня был случай, что обработка показывала изменения человеком, который их в это время не делал, а делал другой человек. Я думал, что это связано с открытием одного документа двумя пользователями: одним на редактирование, вторым на просмотр, но воспроизвести такую ситуацию не смог. Возможны ли вообще случаи, что обработка покажет другого пользователя, не делавшего изменения?
3) Как можно правильно перейти на новую версию обработки? Удалить Папку Log? Тогда в нее будут записываться изменения уже новой обработки?
48. Антон Юхлин (antonrost) 14.01.10 16:20
(47)

1. Изменился только формат имени файла.
2. Если документ изменен программно, то в LOG изменения будут добавлены при первом открытии документа и припишутся тому, кто его открыл. Чтобы такого не происходило, надо после Док.Записать() вызывать глРегистрацияИзменений().
3. Если есть возможность очистить log, проще всего так и сделать.
49. Серьога DREW (Ekstrem13) 09.12.11 17:13
Почему нет периода дат. Мне например нужно видеть изменения за конкретный квартал а не все
50. rosalin (rosalin) 09.04.12 12:43
Антон,
Приветствую, скачал вашу обработочку отличная вещь внес изменения

в ГМ

но не могу сделать что бы работала кнопка

по обработке "Просмотр изменений в документах и справочниках", все
показывает

а вот кнопка с формулой
ОткрытьФорму("Отчет#", ТекЭлемент, КаталогИБ()+"ExtForms\Просмотр изменений.ert");
ругаеться типа
ОткрытьФорму("Отчет<<?>>
Пропущен символ '"' (двойная кавычка)
ОткрытьФорму("Отчет<<?>>
Ожидается символ ')'

Помогите плиз
51. rosalin (rosalin) 09.04.12 12:58
еще ругаеться
ВидЭлемента = Конт.Вид();
{W:\ARCHIVE1903\EXTFORMS\ПРОСМОТР ИЗМЕНЕНИЙ.ERT(195)}: Значение не представляет агрегатный объект (Вид)
52. Т Е (tanekQ) 22.08.12 11:46
Интересная вещица! А главное столько лет поддерживается и, соответственно, совершенствуется! Автору БОЛЬШОЙ плюс!
53. Sergey Goylo (grayglobus) 09.12.12 19:20
Вещь интересная и нужная, опробую на постоянном клиенте, бо про некоторые реквизиты сам писал
54. lees lees (lees) 05.06.13 15:22
Для моей самописной небольшой базы объемом 1,5 ГБ хорошее решение задачи поиска виновных, спасибо большое
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа