|
Регистрация изменений в документах 1С 8.0????
|
|||
---|---|---|---|
#18+
Есть ли какой нибудь более грамотный способ выявления изменений в документах чем просто при записи перебирать все реквизиты шапки документа, а затем перебирать все строки табличной части документа и сравнивать состояние документа на момент открытия (при открытии формируется некая копия документа, отображающия состояние документа на момент открытия) и на момент записи (т. е. текущее состояние документа)? P/S/ Метод Модифицированность() не подходит в данном случае, т.к. необходимо определить какие именно реквизиты были изменены. Заранее благодарен ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2006, 00:08 |
|
Регистрация изменений в документах 1С 8.0????
|
|||
---|---|---|---|
#18+
UP! ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2006, 12:42 |
|
Регистрация изменений в документах 1С 8.0????
|
|||
---|---|---|---|
#18+
Есть. Например, я сделал так: регистр сведений, куда пишется xml-снимок документа в момент его записи. Далее обработкой сравнивается 2 снимка (состояния) документа. При такой технологии можно увидеть изменения в документе с точностью до реквизита таб. части. А при открытии документа никакой копии не формируется - просто открывается форма сохраненного ранее (или нового) документа. Никакого отслеживания изменений при этом, конечно, не получится. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2006, 06:47 |
|
Регистрация изменений в документах 1С 8.0????
|
|||
---|---|---|---|
#18+
Перепроектировать систему так, чтобы задача так не стояла. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2006, 09:09 |
|
Регистрация изменений в документах 1С 8.0????
|
|||
---|---|---|---|
#18+
1) Создать копии всех таблиц 1С внутри той же БД. 2) Убрать с копий primary key, foreign key. 3) Добавить к копиям колонки идентификаторов юзеров, даты-времени, типа операции (обновление-удаление). 4) Для каждой рабочей таблицы создать триггеры на before update и before delete. 5) В триггерах писать состояние записей ДО в таблицы-копии. Получится полный журнал действий всех юзеров над всей базой. Далее - пишете интерфейс к этому журналу (самое интересное :) ). Так в общем случае надо делать для любой системы с сервером БД, а не только для 1С. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2006, 17:15 |
|
Регистрация изменений в документах 1С 8.0????
|
|||
---|---|---|---|
#18+
strizh1) Создать копии всех таблиц 1С внутри той же БД. 2) Убрать с копий primary key, foreign key. 3) Добавить к копиям колонки идентификаторов юзеров, даты-времени, типа операции (обновление-удаление). 4) Для каждой рабочей таблицы создать триггеры на before update и before delete. 5) В триггерах писать состояние записей ДО в таблицы-копии. Получится полный журнал действий всех юзеров над всей базой. Далее - пишете интерфейс к этому журналу (самое интересное :) ). Так в общем случае надо делать для любой системы с сервером БД, а не только для 1С. Неплохая задумка ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2006, 00:21 |
|
Регистрация изменений в документах 1С 8.0????
|
|||
---|---|---|---|
#18+
Угу, тока 8ка тебя пошлет приналичии таких вещей в базе. Или при первой же реструктуризации они будут удалены. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.09.2006, 09:15 |
|
Регистрация изменений в документах 1С 8.0????
|
|||
---|---|---|---|
#18+
Используй несколько регистров сведений. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2006, 06:44 |
|
Регистрация изменений в документах 1С 8.0????
|
|||
---|---|---|---|
#18+
В структуру БД вообще лезть не советую, как уже сказали, первое же изменение конфигурации БД - прощайте все ваши тригеры. Только средствами восьмерки, и никак иначе. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2006, 09:11 |
|
Регистрация изменений в документах 1С 8.0????
|
|||
---|---|---|---|
#18+
а чем не устраивает способ через наборы полей который упоминается в исходном топике? в 1с имхо это естественный способ для решения подобной задачи. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2006, 10:16 |
|
Регистрация изменений в документах 1С 8.0????
|
|||
---|---|---|---|
#18+
И все-таки стоит пересмотреть проект. Ситуация при котрой требуется подобное поведение системы - нездоровая. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2006, 14:33 |
|
Регистрация изменений в документах 1С 8.0????
|
|||
---|---|---|---|
#18+
gybsonИ все-таки стоит пересмотреть проект. Ситуация при котрой требуется подобное поведение системы - нездоровая. Проект типовой. Пользователей много. Вообще данную задачу поставило руководство. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.09.2006, 14:19 |
|
Регистрация изменений в документах 1С 8.0????
|
|||
---|---|---|---|
#18+
Предполагаю - задача была поставлена так: отслеживать, кто из пользователей изменил документ и что именно было изменено. Журнал регистрации показывает только сам факт изменения, без деталей. Я прав? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2006, 05:45 |
|
Регистрация изменений в документах 1С 8.0????
|
|||
---|---|---|---|
#18+
Таких ключевых документов обычно немного (в первую очередь, оперативные заявки, заказы, резервы). И ключевыми в них являются отнюдь не все реквизиты. Я обычно делаю так. Добавляю в документ строковый реквизит неограниченной длины. При любой записи документа пишу в реквизит значения ключевых полей, дату, время, пользователя, имя компьютера. И добавляю кнопочку просмотра протокола (а в грамотно написанных типовых - новый пункт меню в "Действия"). Этого более чем достаточно. Остальное - блажь руководства. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2006, 10:36 |
|
Регистрация изменений в документах 1С 8.0????
|
|||
---|---|---|---|
#18+
Регистрироваться леньПредполагаю - задача была поставлена так: отслеживать, кто из пользователей изменил документ и что именно было изменено. Журнал регистрации показывает только сам факт изменения, без деталей. Я прав? Совершенно верно ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2006, 11:50 |
|
Регистрация изменений в документах 1С 8.0????
|
|||
---|---|---|---|
#18+
Проект типовой. Пользователей много. Вообще данную задачу поставило руководство. Не надо бояться уточнять задачи у руководства. Так мол и так, в данном виде задача не может быть выполена быстро, дешево и т.п. Возможно проще вести свой лог изменений где-то в текстовичке. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2006, 13:15 |
|
Регистрация изменений в документах 1С 8.0????
|
|||
---|---|---|---|
#18+
Valer4ik99 Регистрироваться леньПредполагаю - задача была поставлена так: отслеживать, кто из пользователей изменил документ и что именно было изменено. Журнал регистрации показывает только сам факт изменения, без деталей. Я прав? Совершенно верно Отлично. Пойдем дальше - отслеживать изменения нужно в момент записи/проведения документа, так? Допустим, отследили. Куда это самое отслеженное писать будем? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2006, 02:19 |
|
Регистрация изменений в документах 1С 8.0????
|
|||
---|---|---|---|
#18+
В регистр сведений! Измерения: Пользователь, Название объекта, Название реквизита, Номер строки... Реквизиты: Предыдущее значение, Текущее значение... + универсальную обработку по метаданным пихнуть, которая все кладет в него. + отчет. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2006, 15:36 |
|
Регистрация изменений в документах 1С 8.0????
|
|||
---|---|---|---|
#18+
++ он конечно периодический. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2006, 15:39 |
|
Регистрация изменений в документах 1С 8.0????
|
|||
---|---|---|---|
#18+
++ что класть в Измерения а что в реквизиты.. надо подумать поточнее... ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2006, 15:41 |
|
Регистрация изменений в документах 1С 8.0????
|
|||
---|---|---|---|
#18+
++ универсальная обработка вызывается в момент записи (++ может в момент проведения, хотя хз) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2006, 15:44 |
|
Регистрация изменений в документах 1С 8.0????
|
|||
---|---|---|---|
#18+
Тогда уж дождаться 8.1 Там есть механизм подписки на события. Это позволит без изменения кода прикладных объектов протоколировать любые изменения универсальной процедурой. Можно добавить еще один регистр сведений для перечисления ключевых реквизитов каждого из протоколируемых объектов. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2006, 17:01 |
|
Регистрация изменений в документах 1С 8.0????
|
|||
---|---|---|---|
#18+
to Сисой Что за механизм? Где почитать? Я только про веб-сервисы обчитался :) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2006, 17:02 |
|
Регистрация изменений в документах 1С 8.0????
|
|||
---|---|---|---|
#18+
СисойТогда уж дождаться 8.1 Там есть механизм подписки на события. Это позволит без изменения кода прикладных объектов протоколировать любые изменения универсальной процедурой. Можно добавить еще один регистр сведений для перечисления ключевых реквизитов каждого из протоколируемых объектов. Да действительно, интересно бы поподробнее узнать про етот механизм. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2006, 20:26 |
|
Регистрация изменений в документах 1С 8.0????
|
|||
---|---|---|---|
#18+
Valer4ik99 СисойТогда уж дождаться 8.1 Там есть механизм подписки на события. Это позволит без изменения кода прикладных объектов протоколировать любые изменения универсальной процедурой. Можно добавить еще один регистр сведений для перечисления ключевых реквизитов каждого из протоколируемых объектов. Да действительно, интересно бы поподробнее узнать про етот механизм. На сайте 1С есть кусочек об этом. Вкратце - это возможность вызывать некую процедуру из общего модуля при вызове обработчика события объекта (например, ПриЗаписи). Проблемы это не решает, естественно, зато делает решение чуть удобнее ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2006, 09:20 |
|
|
start [/forum/topic.php?fid=28&fpage=188&tid=1525560]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
30ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
63ms |
get tp. blocked users: |
2ms |
others: | 287ms |
total: | 430ms |
0 / 0 |