Гость
Форумы / [игнор отключен] [закрыт для гостей] / Регистрация изменений в документах 1С 8.0???? / 25 сообщений из 26, страница 1 из 2
16.09.2006, 00:08
    #33991634
Valer4ik99
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регистрация изменений в документах 1С 8.0????
Есть ли какой нибудь более грамотный способ выявления изменений в документах чем просто при записи перебирать все реквизиты шапки документа, а затем перебирать все строки табличной части документа и сравнивать состояние документа на момент открытия (при открытии формируется некая копия документа, отображающия состояние документа на момент открытия) и на момент записи (т. е. текущее состояние документа)?

P/S/ Метод Модифицированность() не подходит в данном случае, т.к. необходимо определить какие именно реквизиты были изменены.

Заранее благодарен
...
Рейтинг: 0 / 0
16.09.2006, 12:42
    #33991819
Valer4ik99
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регистрация изменений в документах 1С 8.0????
UP!
...
Рейтинг: 0 / 0
17.09.2006, 06:47
    #33992257
Регистрация изменений в документах 1С 8.0????
Есть. Например, я сделал так: регистр сведений, куда пишется xml-снимок документа в момент его записи. Далее обработкой сравнивается 2 снимка (состояния) документа. При такой технологии можно увидеть изменения в документе с точностью до реквизита таб. части.
А при открытии документа никакой копии не формируется - просто открывается форма сохраненного ранее (или нового) документа. Никакого отслеживания изменений при этом, конечно, не получится.
...
Рейтинг: 0 / 0
18.09.2006, 09:09
    #33993040
gybson
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регистрация изменений в документах 1С 8.0????
Перепроектировать систему так, чтобы задача так не стояла.
...
Рейтинг: 0 / 0
22.09.2006, 17:15
    #34006974
strizh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регистрация изменений в документах 1С 8.0????
1) Создать копии всех таблиц 1С внутри той же БД.
2) Убрать с копий primary key, foreign key.
3) Добавить к копиям колонки идентификаторов юзеров, даты-времени, типа операции (обновление-удаление).
4) Для каждой рабочей таблицы создать триггеры на before update и before delete.
5) В триггерах писать состояние записей ДО в таблицы-копии.

Получится полный журнал действий всех юзеров над всей базой. Далее - пишете интерфейс к этому журналу (самое интересное :) ). Так в общем случае надо делать для любой системы с сервером БД, а не только для 1С.
...
Рейтинг: 0 / 0
23.09.2006, 00:21
    #34007525
Valer4ik99
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регистрация изменений в документах 1С 8.0????
strizh1) Создать копии всех таблиц 1С внутри той же БД.
2) Убрать с копий primary key, foreign key.
3) Добавить к копиям колонки идентификаторов юзеров, даты-времени, типа операции (обновление-удаление).
4) Для каждой рабочей таблицы создать триггеры на before update и before delete.
5) В триггерах писать состояние записей ДО в таблицы-копии.

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

Неплохая задумка
...
Рейтинг: 0 / 0
24.09.2006, 09:15
    #34008146
Крендел
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регистрация изменений в документах 1С 8.0????
Угу, тока 8ка тебя пошлет приналичии таких вещей в базе. Или при первой же реструктуризации они будут удалены.
...
Рейтинг: 0 / 0
25.09.2006, 06:44
    #34008670
Deosfen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регистрация изменений в документах 1С 8.0????
Используй несколько регистров сведений.
...
Рейтинг: 0 / 0
25.09.2006, 09:11
    #34008792
Регистрация изменений в документах 1С 8.0????
В структуру БД вообще лезть не советую, как уже сказали, первое же изменение конфигурации БД - прощайте все ваши тригеры. Только средствами восьмерки, и никак иначе.
...
Рейтинг: 0 / 0
25.09.2006, 10:16
    #34008932
_док
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регистрация изменений в документах 1С 8.0????
а чем не устраивает способ через наборы полей который упоминается в исходном топике?
в 1с имхо это естественный способ для решения подобной задачи.
...
Рейтинг: 0 / 0
25.09.2006, 14:33
    #34009904
gybson
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регистрация изменений в документах 1С 8.0????
И все-таки стоит пересмотреть проект. Ситуация при котрой требуется подобное поведение системы - нездоровая.
...
Рейтинг: 0 / 0
26.09.2006, 14:19
    #34012759
Valer4ik99
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регистрация изменений в документах 1С 8.0????
gybsonИ все-таки стоит пересмотреть проект. Ситуация при котрой требуется подобное поведение системы - нездоровая.

Проект типовой. Пользователей много. Вообще данную задачу поставило руководство.
...
Рейтинг: 0 / 0
27.09.2006, 05:45
    #34014261
Регистрация изменений в документах 1С 8.0????
Предполагаю - задача была поставлена так: отслеживать, кто из пользователей изменил документ и что именно было изменено. Журнал регистрации показывает только сам факт изменения, без деталей. Я прав?
...
Рейтинг: 0 / 0
27.09.2006, 10:36
    #34014699
Сисой
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регистрация изменений в документах 1С 8.0????
Таких ключевых документов обычно немного (в первую очередь, оперативные заявки, заказы, резервы).
И ключевыми в них являются отнюдь не все реквизиты.

Я обычно делаю так.
Добавляю в документ строковый реквизит неограниченной длины. При любой записи документа пишу в реквизит значения ключевых полей, дату, время, пользователя, имя компьютера. И добавляю кнопочку просмотра протокола (а в грамотно написанных типовых - новый пункт меню в "Действия").

Этого более чем достаточно.
Остальное - блажь руководства.
...
Рейтинг: 0 / 0
27.09.2006, 11:50
    #34015104
Valer4ik99
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регистрация изменений в документах 1С 8.0????
Регистрироваться леньПредполагаю - задача была поставлена так: отслеживать, кто из пользователей изменил документ и что именно было изменено. Журнал регистрации показывает только сам факт изменения, без деталей. Я прав?

Совершенно верно
...
Рейтинг: 0 / 0
27.09.2006, 13:15
    #34015589
gybson
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регистрация изменений в документах 1С 8.0????
Проект типовой. Пользователей много. Вообще данную задачу поставило руководство.


Не надо бояться уточнять задачи у руководства. Так мол и так, в данном виде задача не может быть выполена быстро, дешево и т.п. Возможно проще вести свой лог изменений где-то в текстовичке.
...
Рейтинг: 0 / 0
28.09.2006, 02:19
    #34017441
Регистрация изменений в документах 1С 8.0????
Valer4ik99 Регистрироваться леньПредполагаю - задача была поставлена так: отслеживать, кто из пользователей изменил документ и что именно было изменено. Журнал регистрации показывает только сам факт изменения, без деталей. Я прав?

Совершенно верно

Отлично. Пойдем дальше - отслеживать изменения нужно в момент записи/проведения документа, так? Допустим, отследили. Куда это самое отслеженное писать будем?
...
Рейтинг: 0 / 0
28.09.2006, 15:36
    #34019411
lmdleon
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регистрация изменений в документах 1С 8.0????
В регистр сведений!
Измерения: Пользователь, Название объекта, Название реквизита, Номер строки...
Реквизиты:
Предыдущее значение, Текущее значение...

+ универсальную обработку по метаданным пихнуть, которая все кладет в него.
+ отчет.
...
Рейтинг: 0 / 0
28.09.2006, 15:39
    #34019429
lmdleon
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регистрация изменений в документах 1С 8.0????
++ он конечно периодический.
...
Рейтинг: 0 / 0
28.09.2006, 15:41
    #34019439
lmdleon
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регистрация изменений в документах 1С 8.0????
++ что класть в Измерения а что в реквизиты.. надо подумать поточнее...
...
Рейтинг: 0 / 0
28.09.2006, 15:44
    #34019452
lmdleon
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регистрация изменений в документах 1С 8.0????
++ универсальная обработка вызывается в момент записи (++ может в момент проведения, хотя хз)
...
Рейтинг: 0 / 0
28.09.2006, 17:01
    #34019803
Сисой
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регистрация изменений в документах 1С 8.0????
Тогда уж дождаться 8.1
Там есть механизм подписки на события.
Это позволит без изменения кода прикладных объектов протоколировать любые изменения универсальной процедурой.

Можно добавить еще один регистр сведений для перечисления ключевых реквизитов каждого из протоколируемых объектов.
...
Рейтинг: 0 / 0
28.09.2006, 17:02
    #34019809
lmdleon
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регистрация изменений в документах 1С 8.0????
to Сисой
Что за механизм? Где почитать?
Я только про веб-сервисы обчитался :)
...
Рейтинг: 0 / 0
29.09.2006, 20:26
    #34023502
Valer4ik99
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регистрация изменений в документах 1С 8.0????
СисойТогда уж дождаться 8.1
Там есть механизм подписки на события.
Это позволит без изменения кода прикладных объектов протоколировать любые изменения универсальной процедурой.

Можно добавить еще один регистр сведений для перечисления ключевых реквизитов каждого из протоколируемых объектов.

Да действительно, интересно бы поподробнее узнать про етот механизм.
...
Рейтинг: 0 / 0
30.09.2006, 09:20
    #34023786
Регистрация изменений в документах 1С 8.0????
Valer4ik99 СисойТогда уж дождаться 8.1
Там есть механизм подписки на события.
Это позволит без изменения кода прикладных объектов протоколировать любые изменения универсальной процедурой.

Можно добавить еще один регистр сведений для перечисления ключевых реквизитов каждого из протоколируемых объектов.

Да действительно, интересно бы поподробнее узнать про етот механизм.

На сайте 1С есть кусочек об этом. Вкратце - это возможность вызывать некую процедуру из общего модуля при вызове обработчика события объекта (например, ПриЗаписи). Проблемы это не решает, естественно, зато делает решение чуть удобнее ;)
...
Рейтинг: 0 / 0
Форумы / [игнор отключен] [закрыт для гостей] / Регистрация изменений в документах 1С 8.0???? / 25 сообщений из 26, страница 1 из 2
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]