![]() |
#1 |
Участник
|
Как правило, на любом предприятии с одной и той же информацией могут работать несколько сотрудников. В связи с этим существует необходимость отслеживать кто и когда сделал изменения, особенно если эти изменения были неправильными.
В Microsoft Dynamics NAV для этого существует функциональность Журнал Изменений. Для активации отслеживания необходимо следующее: 1. Включить настройку журнала изменений - Раздел меню Администрирование - Управление ИТ - Общая настройка - Протокол Изменений Настройка. ![]() 2. Нажав на кнопку Настройка - Таблицы, установить изменения каких таблиц и каких полей таблиц отражать в журнале изменений. Например, при создании и изменении данных таблицы Валюта сохранять старые и новые значения всех полей, а при удалении записи таблицы сохранять только некоторые поля. ![]() Например, поле Код. ![]() На этом настройка закончена. В случае изменения, например, добавления строки Российский рубль ![]() в журнале изменений будет сохранена соответствующая настройкам информация со старыми и новыми значениями полей. ![]() Источник: http://blogs.technet.com/agladkik/archive/...ion-dfgdfg.aspx
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору. |
|
![]() |
#2 |
Участник
|
Цитата:
Ни в коем случае не вставляйте отслеживание всех таблиц - это сильно, очень сильно снизит производительность. Скорее всего, начать надо с настроечных таблиц и со справочников. Обычно отслеживают изменения в прайс-листах. Зачастую в заказах и закупках. Но перед тем как включать в журнал изменений документы и проводки надо крепко подумать. |
|
![]() |
#3 |
Участник
|
Вещица кажется лучшей, чем есть на самом деле...
В журнал попадают лишь те модификации, которые сделаны пользователем непосредственно руками в форме. Если при этом отработает какой-либо триггер делающий изменения в базе, то никаких следов о действиях этого триггера не останется!!! Тоже самое относится и к отечтам и кодеюнитам. |
|
![]() |
#4 |
MCTS
|
Если продолжить цитирование документации:
Цитата:
Протоколирование изменений, возникших в результате работы пакетных заданий
Программа также протоколирует изменения мастер-данных, возникшие в результате работы пакетных заданий. Далее приводится перечень заданий, способных внести подобные модификации: · Коррекция Цен/Себест. Товаров · Коррекция Цен/Себест. Ресурсов · Изменить Глобальные Измерения Для того чтобы протоколировались изменения, внесенные в результате работы пакетных заданий, нужно установить параметры протоколирования соответствующих полей карточки товара и ресурса и таблицы Финансы Настройка. Внимание Изменения, протоколируемые по итогам работы задания Изменить Глобальные Измерения, относятся только к модификациям таблицы Финансы Настройка. Модификации всех прочих книг учтенных операций не находят отражение в журнале изменений. PS. Процитированная документация от 3.60. |
|
![]() |
#5 |
Участник
|
Ну неужели сложно модифицировать триггеры? (TRUE)
Представляете что получится, если любой код, который добавляется в любой INSERT, MODIFY, ... будет мусорка. Ведь всегда можно легонько кастомизировать. Или я не прав? |
|
![]() |
#6 |
Участник
|
Цитата:
Код: RecRef.GETTABLE("Stockkeeping Unit"); ChangeLogMgt.LogModification(RecRef,xRecRef); которые нужно включать в КАЖДОЕ место, которрое я хочу внести в лог. Цитата:
А какая мусорка если мне нужны ВСЕ операции с конкретным полем? О чем Вы говорите? Я делал такую кастомизацию. И честно говоря, несколько устал отлавливая ВСЕ места, в которые нужно поставить волшебные строчки... |
|
![]() |
#7 |
Участник
|
Не поверите, иногда даже получалось модифицировать триггеры. И даже добавлять новые таблички с формочками с обработкой OnInsert, ...
Правда я не писал как, а только показал где смотреть. Цитата:
А какая мусорка если мне нужны ВСЕ операции с конкретным полем? О чем Вы говорите?
Я делал такую кастомизацию. И честно говоря, несколько устал отлавливая ВСЕ места, в которые нужно поставить волшебные строчки... Откройте любую базовую таблицу и поссмотрите что там в триггерах. НЕТ лекарства от ВСЕГО И СРАЗУ!! Вы хотите предложить другую модель переноса кода? |
|
![]() |
#8 |
Участник
|
Я предложил бы разработчикам переписать этот модуль.
Или через SQL изменения логить. И здесь нужно не лекарство, а простой настраиваемый модуль. Который как мне кажется проще сделать, чем отискивать и модифицировать функции. А еще если учесть, что клиент, купив этот модуль и обладая минимальной лицензией доработки при всем своем желании (используя честные способы ![]() |
|
![]() |
#9 |
Участник
|
Цитата:
Сообщение от Fordewind
![]() Я предложил бы разработчикам переписать этот модуль.
Или через SQL изменения логить. И здесь нужно не лекарство, а простой настраиваемый модуль. Который как мне кажется проще сделать, чем отискивать и модифицировать функции. А еще если учесть, что клиент, купив этот модуль и обладая минимальной лицензией доработки при всем своем желании (используя честные способы ![]() А в SQL и так можно это сделать. По поводу последнего - согласен, но хотя бы основные таблицы покрыты и это радует. Просто привыкли писать маркетинговые материалы Аля-Все-Что-Захочешь.... "Закон Маркетинга" |
|