CftClub.ru
Клуб специалистов ЦФТ-Банк

Программное журналирование

 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Разработка в PL/PLUS. Оптимизация запросов Oracle
Предыдущая тема :: Следующая тема  
Автор Сообщение
mvg
Участник - экстремал


Вступление в Клуб: 04.12.2008
СообщениеЧт Апр 15, 2010 15:48   Программное журналирование Ответить с цитатой
Полезность: Нет оценки
При включении журналирования для какого-либо реквизита типа возможно выбрать вариант программного журналирования:

Цитата:
"Прогр." – Журналирование выполняется программно. При установленном параметре подразумевается, что в написанном пользователем тексте соответствующей процедуры будет указан метод журналирования. Если в интерфейсном пакете процедуры не найдется соответствующих команд, то журналирования не произойдет.


Есть ли у кого-нибудь пример использования данного варианта?


Последний раз редактировалось: mvg (Пт Апр 16, 2010 07:23), всего редактировалось 1 раз
prog
Эксперт


Вступление в Клуб: 03.03.2008
СообщениеПт Апр 16, 2010 05:07    Ответить с цитатой
Полезность: Нет оценки
Цитата из справки по PL/Plus:
Цитата:

В языке PL/Plus определены дополнительные операторы для работы с объектами языка – это модификаторы. Они распознаются по символу ‘%’.
%log - вызов процедуры журналирования значений реквизитов, помеченных как "Журналируемые программно" в свойствах ТБП, для экземпляра, к которому применен модификатор. Возвращаемого значения не имеет, может использоваться только как отдельный оператор.
Volod
Эксперт


Вступление в Клуб: 19.09.2007
СообщениеПт Апр 16, 2010 21:26    Ответить с цитатой
Полезность: 1
Я использую процедуру

rtl.log_vals(this, 'I93_OP_TYPE', 'STRING', [I93_OP_TYPE].[CODE], 'MAIN_DOCUM');

работает без всяких галочек.
Смотреть по Ctrl-H на реквизите.
timochev
Эксперт


Вступление в Клуб: 02.07.2007
СообщениеПн Апр 19, 2010 07:55    Ответить с цитатой
Полезность: Нет оценки
Volod пишет:
Я использую процедуру

rtl.log_vals(this, 'I93_OP_TYPE', 'STRING', [I93_OP_TYPE].[CODE], 'MAIN_DOCUM');

работает без всяких галочек.
Смотреть по Ctrl-H на реквизите.

Правильно ли я понимаю, что преимущество этого способа в том, что жкрналируется не ID ссылки, а код экземпляра с этим ID?
Где такой код у Вас используется? Журналирование все-таки лучше делать на триггерах, чтоб уж никто не пробрался мимо. А здесь используется pl+, что говорит об использовании из программного кода.
Volod
Эксперт


Вступление в Клуб: 19.09.2007
СообщениеПн Апр 19, 2010 09:05    Ответить с цитатой
Полезность: Нет оценки
Этот код я взял из триггера, который создается при установке галки журналирования на реквизите.
Триггер не могу использовать, т.к. они замедляют обработку безнал. документов.
Приходится обходить таким образом.
Четвертый параметр определяет содержимое журнальной записи.
timochev
Эксперт


Вступление в Клуб: 02.07.2007
СообщениеПн Апр 19, 2010 09:11    Ответить с цитатой
Полезность: Нет оценки
Т.е. Вы вставили данный вызов в некоторый pl+ код, изменяющий ссылку? Но где гарантия, что из другого места (другой операции) никто не поменяет этот реквизит?
Volod
Эксперт


Вступление в Клуб: 19.09.2007
СообщениеПн Апр 19, 2010 09:17    Ответить с цитатой
Полезность: Нет оценки
Мне нужно в определенной операции для определенных пользователей отслеживать изменение реквизита.
Andry
Участник - экстремал


Вступление в Клуб: 14.01.2009
СообщениеПт Июл 30, 2010 17:59   модификатор %arch Ответить с цитатой
Полезность: Нет оценки
А кто-нибудь уже работает с функциональностью из 7.1 - архивными реквизитами (через модификатор %arch)?

Пробовали ли функцию переноса данных из системного журнала истории в историю архивных реквизитов?
Andry
Участник - экстремал


Вступление в Клуб: 14.01.2009
СообщениеСр Сен 08, 2010 12:58   Re: модификатор %arch Ответить с цитатой
Полезность: Нет оценки
Andry пишет:
А кто-нибудь уже работает с функциональностью из 7.1 - архивными реквизитами (через модификатор %arch)?


Неужели никому не интересна эта функциональность 7.1?

см PLPLUS.TXT:
...
2.1. Реализован новый модификатор %arch, позволяющий работать
с архивными реквизитами в PL/Plus (см.п.3.1).
Новый модификатор в зависимости от контекста использования реализует следующие режимы работы с архивами:
2.1.1. Применение к типу.
[CLASS]%arch - варианты использования:
...
2.1.2. Применение по ссылке.
<ref [CLASS]>%arch(p_qual string,p_time timestamp) return [CLASS]%arch
....
2.1.3. Применение к скалярному реквизиту.
<ref [CLASS]>->[ATTR1].[ATTR2]%arch(p_time timestamp,
p_field string default null) return string
...
2.1.5. Применение по ссылке в SQL-выражениях PL/Plus.
<ref [CLASS]>%arch.[FIELD]
...
2.1.6. Применение к типу.
[CLASS]%arch.[INSERT](p_rec [CLASS]%arch)
...
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Разработка в PL/PLUS. Оптимизация запросов Oracle Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Рейтинг@Mail.ru