Где можно посмотреть, кто и когда (и, если возможно, как) изменял документы?

1. zipercool 20.02.12 09:21 Сейчас в теме
товарисчи не судите строго подскажитте 1сному чайнику где можно посмотреть кто и когда(и если возможно как) изменял документы в частности накладные...? В одной конторе хозяева предполагают крыска завелась
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. Jill 17 20.02.12 10:10 Сейчас в теме
(1) zipercool, Кто и когда узнаете, а вот как-вряд ли...
11. andy2011 22.02.12 08:16 Сейчас в теме
(1) zipercool,
* СЕЙЧАС - в журнале регистрации сможете увидеть только ФАКТ изменения. и то - условно.
из практики - если вопрос о серьезных моментах - слабо доказуемо.
---------
самое простое и эффективное решение, если хотите действительно поймать "за руку" :
* ставите 1с++
* через объект "Перехватчик" - прозрачно "забираете на себя" предопределенные процедуры "ПриОткрытии/ПриСозданииКонтекса" / "ПриЗаписи" / ОбработчикиПроведения и проч , в которых фиксируете во внешних файлах всю историю.
при этом - в конфу изменения вносить почти не потребуется - несколько строк в глобальнике
2. Гость 20.02.12 09:23
Сервис-монитор пользователей - журнал регистрации - это?
evgeniy-zaytsev-76; Jill; +2 Ответить
4. program_km 3 20.02.12 10:15 Сейчас в теме
Можно написать историю изменения объектов в самой конфигурации кто когда и что именно изменил
5. Лаура 20.02.12 10:18 Сейчас в теме
Если копии базы каждый день (вечером) делаете и сохраняете за каждый день свой файл например с названием-датой + монитор пользователей + на данном сайте есть для семерки1С разные отчеты-мониторинг - то есть большая вероятность получить точную информацию
6. ElenaKsen 20.02.12 10:19 Сейчас в теме
Сервис-монитор пользователей-журнал регистрации-на закладке объекты ставите галочку отбор событий по объекту и выбираете, что вам нужно, тип объекта-что то из справочников или документов, объект-сам документ
7. ula1c 20.02.12 11:04 Сейчас в теме
Разово выяснить все по вашей проблеме это предложения (6) плюс (5).Если необходимо поставить историю изменений документов на постоянный контроль, то посмотрите еще вот эту тему и ссылки в ней
http://forum.infostart.ru/forum33/topic47767/message518212/#message518212
8. CoverG 20.02.12 11:15 Сейчас в теме
(7) ula1c,
Метод отслеживания версий документа хорош, но вызывает быстрый рост базы. Стандартный механизм хорош тем, что история в текстовый файл сбрасывается. Но каждому свое! :)
10. Jill 17 20.02.12 11:47 Сейчас в теме
(8) CoverG, методы разные бывают. Порекомендованный ula1c "Регистрирует все изменения сразу во внешней инф. базе, не влияя на размер основной инф. базы". Только сие для 1с8. Но, вероятней всего, есть аналоги и для 7.

В случае крайней необходимости (если изменять "внутренний" код конфигурации не рекомендуется) можно и самому ole робота организовать (на любом языке умеющем ole-можно даже скриптами), анализирующего вносимые изменения с определенным интервалом и отчеты для "чтения" базы робота.
9. Jill 17 20.02.12 11:35 Сейчас в теме
Если есть острая необходимость в последующем отслеживании изменений то добавляем в код (можно воспользоваться услугами программиста):
ЗаписьЖурналаРегистрации(<Коммент>,<ТипСобытия>,<Событие>,<Объект>,<Категория>)

И растет только лог.
12. Vladimirrr 2 28.02.12 17:32 Сейчас в теме
Я реализовывал через текстовые файлики. В отдельную папку при открытии документа записывается исходное состояние и при записи - следующее. Потом отчетом сравниваем. Все по метаданным.
13. uvetal7 12.03.12 10:07 Сейчас в теме
14. ra9000 8 12.03.12 15:48 Сейчас в теме
Сервис-монитор пользователей - журнал регистрации
15. ra9000 8 12.03.12 15:48 Сейчас в теме
Какой вопрос такой ответ..
Есть возможность отслеживать все изменения документа.
30. пользователь 24.04.18 20:38
Сообщение было скрыто модератором.
...
16. kievgorez 15.03.12 22:22 Сейчас в теме
Журнал регистрации в мониторе
17. petrulnik 19 19.03.12 14:53 Сейчас в теме
В глобальном модуле.
Обрати внимание на "Изменения от" в каждом документе будет указанно когда и кто последний раз редактировал документ.

//******************************************************************************
// глКонтрольДатыДокумента(ПереданКонтекст, НачальнаяДатаДокумента)
//
// Параметры:
// ПереданКонтекст - контекст документа,из которого вызвана процедура
// НачальнаяДатаДокумента - дата документа до изменения.
//
// Возвращемое значение:
// 1 - если документу был присвоен новый номер;
// 0 - если документу не был присвоен новый номер.
//
// Описание:
// Функция определяет ситуацию, когда при изменении своей даты документ
// оказывается в другом периоде нумерации документов, проверяет уникальность
// номера документа, и, в противном случае, пытается присвоить документу
// новый уникальный номер.
// Для работы функции должна быть объявлена глобальная переменная модуля
// формы документа НачальнаяДатаДокумента. В процедуре ПриОткрытии
// в эту переменную должна быть записана дата документа.
// Функция глКонтрольДатыДокумента() вызывается из процедуры ПриЗаписи.
// В процедуре ПриЗаписи проверяется возвращаемое значение, и, если
// оно равно 1 (то есть, документу присвоен новый номер), статус возврата
// устанавливается в 0, то есть документ не записывается, а происходит возрат
// к редактированию документа.
//
Функция глКонтрольДатыДокумента(ПереданКонтекст, НачальнаяДатаДокумента) Экспорт
Перем ФлагПрисвоенияНомера; // для возвращаемого значения

ФлагПрисвоенияНомера=0;

// Назначенную для данного вида документов периодичность смены номера
// определяем из метаданных.
ПериодСменыНомера = Метаданные.Документ(ПереданКонтекст.Вид()).ПериодичностьНомера;

// В зависимости от установленной периодичности смены номеров,
// определяем разность старой и новой датами документа.
// В данном случае конкретная величина разности не важна,
// важен сам факт ее наличия.
Если ПериодСменыНомера = "Год" Тогда
РазностьДат = НачГода(НачальнаяДатаДокумента)-НачГода(ПереданКонтекст.ДатаДок);

ИначеЕсли ПериодСменыНомера = "Квартал" Тогда
РазностьДат = НачКвартала(НачальнаяДатаДокумента)-НачКвартала(ПереданКонтекст.ДатаДок);

ИначеЕсли ПериодСменыНомера = "Месяц" Тогда
РазностьДат = НачМесяца(НачальнаяДатаДокумента)-НачМесяца(ПереданКонтекст.ДатаДок);

ИначеЕсли ПериодСменыНомера = "День" Тогда
РазностьДат = НачальнаяДатаДокумента-ПереданКонтекст.ДатаДок;
Иначе
РазностьДат = 0;
КонецЕсли;

Если РазностьДат <> 0 Тогда
// В результате изменения даты документ "ушел" в другой период
// смены номера. Возможные ситуации:
// 1) в этом периоде уже существуют документы, и номер документа
// стал неуникален;
// 2) номер документа - большой, и за-за этого в последовательности
// номеров образовалась дыра.

// Все операции проверки номера выполняем с "копией" документа.
Дубликат = СоздатьОбъект("Документ."+ПереданКонтекст.Вид());
Дубликат.Новый();
Дубликат.НомерДок = ПереданКонтекст.НомерДок;
Дубликат.ДатаДок = ПереданКонтекст.ДатаДок;

// Попробуем присвоить новый номер.
// Вызов метода должен учитывать особенности нумерации
// конкретного вида
Дубликат.УстановитьНовыйНомер(СокрЛП(Константа.ПрефиксИБ) + СокрЛП(ПереданКонтекст.ЮрЛицо.ПрефиксНомеровДокументов));

// Если новый номер не равен старому, значит,
// назначение номера прошло успешно.
Если ( Дубликат.НомерДок <> ПереданКонтекст.НомерДок ) Тогда

// Запоминаем новый номер и проверяем его на уникальность
НовыйНомерДок = Дубликат.НомерДок;
Если Дубликат.НайтиПоНомеру(Дубликат.НомерДок,Дубликат.ДатаДок)=0 Тогда

// Если номер уникальный, выдаем запрос о необходимости
// назначить документу новый номер
Если Вопрос( "Дата документа была "+?(РазностьДат>0, "уменьшена", "увеличена") + " более чем на " + Нрег(ПериодСменыНомера)+"."+РазделительСтрок+
"Для документов вида """+ПереданКонтекст.ПредставлениеВида()+""" каждый "+Нрег(ПериодСменыНомера)+" нумерация начинается заново."+РазделительСтрок+
"Присвоить новый номер?","Да+Нет", 60) = "Да" Тогда
ПереданКонтекст.НомерДок = НовыйНомерДок;

// Новую дату документа запомнаем в качестве начальной даты -
// в случае возможных последующих проверок.
НачальнаяДатаДокумента=ПереданКонтекст.ДатаДок;

// Устанавливаем возвращаемое значение
ФлагПрисвоенияНомера=1;

КонецЕсли;

КонецЕсли;
КонецЕсли;
// Активизируем номер докутента
ПереданКонтекст.Активизировать("НомерДок");
КонецЕсли;
Если ФлагПрисвоенияНомера=0 тогда
ПереданКонтекст.Ответственный = ПереданКонтекст.Ответственный+"Изменения от "+Строка(ТекущаяДата())+" "+ТекущееВремя()+", выполнил(а) "+глПользователь.Наименование+РазделительСтрок+";";//ЛокНч
КонецЕсли;
Возврат ФлагПрисвоенияНомера;

КонецФункции // глКонтрольДатыДокумента()

////////////////////////////////////////////////////////////­////////////////////
// АЛГОРИТМЫ ПРОВЕДЕНИЯ
//
18. petrulnik 19 19.03.12 15:02 Сейчас в теме
А вот чего меняли, тоже можно, но представь себе как будет расти база, хотя диверсантов думаю будет отпугивать то что теперь видно кто правил документ, притом что каждое изменение будет фиксироваться. Если надо подробней в бо при желании журнале глянуть по времени можно, либо при желании могу дописать...
19. пользователь 19.03.12 16:12
Сообщение было скрыто модератором.
...
20. lyashuk2012 31.03.12 19:07 Сейчас в теме
Мяня вот сильно интересует 17 ответ помог или нет? Если да то можно было бы тему закрыть, а то у меня гдет похожий код с некоторыми отличиями.
21. kelebro63 04.04.12 15:51 Сейчас в теме
Сервис-монитор пользователей-журнал регистрации вам в помощь
22. пользователь 09.05.12 17:12
Сообщение было скрыто модератором.
...
23. sazdar_90 09.05.12 17:35 Сейчас в теме
Сервис -> Монитор пользователей -> Журнал регистрации
24. lexa_12184 28.10.13 17:09 Сейчас в теме
а как отследить изменение константы? В мониторе только справочники и документы вроде можно просканировать...
25. vcv 89 28.10.13 20:07 Сейчас в теме
(24) Обработать глобальное событие "ПриЗаписиКонстанты".
26. LeXXik 30.10.13 09:12 Сейчас в теме
Топикстартер, не молчи, опиши, что помогло из вышесказанного? И для чего вообще были такие движения???
27. tango 543 30.10.13 10:10 Сейчас в теме
(26) LeXXik, по ходу уволили его. за то, что 1с разрешает себя изменять кому попало
28. LeXXik 30.10.13 10:53 Сейчас в теме
29. TuneSoft 248 21.06.16 10:35 Сейчас в теме
Добрый день.
Ещё можно установить дополнение для конфигурации, которое записывает и хранит изменения реквизитов во внешней базе: http://infostart.ru/public/465457/
evgeniy-zaytsev-76; +1 Ответить
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот