gifts2017

Контроль измениений в документа/справочниках

Опубликовал Sergey Zima (Winter) в раздел Обработки - Обработка документов

Контроль измениений в документа/справочниках

Прочитал комментарии к посту http://infostart.ru/projects/3112/ увидел вопросы по поводу аналогичного механизма для 7.7 У меня есть такой, правда автор не я, а tycoon (разработка с 1c.proclab.ru http://1c.proclub.ru/modules/mydownloads/personal.php?cid=5&lid=5409). Я ее для себя немного переделал, отказавшись от использования Compound.dll, заменив ее на обращение к справочнику "Пользователи" и добавив контроль изменений справочников (изначально обработка контролирует только изменения в документах). Присутсвует та же проблема, что и в Журнале изменений для 8-ки (когда меняется порядок строк). Хочу переделать этот механизм, но все не дойдут руки. Так же есть проблема, если в табличной части удалили строку - все последующие строки идут как измененные.

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

Наименование Файл Версия Размер
- 61
.1247142451 67,97Kb
25.09.09
61
.1247142451 67,97Kb Скачать

См. также

Подписаться Добавить вознаграждение
Комментарии
1. Евгений Мартыненков (JohnyDeath) 09.07.09 16:58
Т.е. вы предлагаете поменять модули форм всех Документов и Справочников, вставив в ПриЗаписи вызов вашей глоб. процедуры?
Если да, то есть решение попроще: используя 1С++ и его классом Перехватчик, который будет перехватывать событие формы ПриЗаписи.

Но все равно остается одна проблема: программное изменение документов и справочников никак не отслеживается (
2. Sergey Zima (Winter) 09.07.09 17:08
(1) По поводу Перехватчика - согласен, но когда я внедрял эту разработку у себя - 1С++-ом еще не занимался. По поводу программного изменения документов и справочников - у себя я вообще запретил запускать внешние обработки, сделал доступ к внешним через другую обработку, где назначаю права конкретным пользователям и без меня туда обработку не добавят. По другому не нашел как решить этот вопрос. Во внутрених модулях, где идет запись изменений документов/справочников дописал вызов процедуры контроля записи
3. dahanago (sys_adminus) 09.07.09 17:20
Давно скачал эту вещь с 1c.proclub.ru- очень во многом помогла!!!
4. Евгений Мартыненков (JohnyDeath) 10.07.09 09:32
(2) Во внутрених модулях, где идет запись изменений документов/справочников дописал вызов процедуры контроля записи
Это понятно, но крайне геморно. Надо ж прошерстить все модули и обработки и помнить про это при написании новых - не самое отличное решение. Уж и не знаю, реально ли что-то другое для ДБФ баз придумать.
5. Евгений Мартыненков (JohnyDeath) 10.07.09 09:38
+(4) По наводке Александра ака Chieftain http://infostart.ru/profile/4512/ есть ещё один способ отлова прогрммных изменений.
Пример для "Справочника": создать класс, унаследоваться от "reference" и переопределить метод "Записать".
6. Sergey Zima (Winter) 10.07.09 11:03
(5) А можно здесь поподробнее. Я вообще то в этом деле "чайник". Но узнать что то новое и применить эту у себя в работе - готов всегда.
7. Евгений Мартыненков (JohnyDeath) 10.07.09 12:42
(6) для начала лучше воспользоваться перехватчиком, чтобы не править ни строчки кода ни в глобальнике ни, тем более, во ВСЕХ формах документов и журналов. Документация здесь: http://www.1cpp.ru/docum/icpp/html/Hooker.html
Много советов и решений можно поискать на форуме: http://www.1cpp.ru/forum/YaBB.pl (там же можно и задавать вопросы).

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