Фильтр на журнал

Администрирование баз данных (Pervasive.SQL, MS SQL, Oracle, утилита Support)

Модераторы: m0p3e, edward_K, Модераторы

IgorA
Постоянный обитатель
Сообщения: 192
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Красноярск

Фильтр на журнал

Сообщение IgorA »

Поделитесь опытом, как по таблице OBOROT посмотреть удаленные записи по определенному счету.
Бухгалтера вечно задают вопрос типа:
КТО НАРУШИЛ СЧЕТ 20.
И если записи модифицировались или добавлялись, то все просто, берем nrec и ищем.
А если удалялись и nrec неизвестен?
Перебирать 1000 записей в журнале????



P.S.В документации нашел ф-ии:
GetOldFieldValueFromJournal
GetNewFieldValueFromJournal
но как их использовать?
vitali
Постоянный обитатель
Сообщения: 192
Зарегистрирован: 29 мар 2005, 17:49
Откуда: г.Иркутск (это где Байкал, озеро такое) ОАО "Кедр" (ликеро-водка)
Контактная информация:

Re: Фильтр на журнал

Сообщение vitali »

А если использовать при просмотре журнала в support-е Ctrl-S или Ctrl-A, т.е. встроенные фильтры?
Правда сам не пробовал
IgorA
Постоянный обитатель
Сообщения: 192
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Красноярск

Re: Фильтр на журнал

Сообщение IgorA »

А как из мемо-поля вытащить значение конкретного поля?

Вроде бы ф-ии
GetOldFieldValueFromJournal
GetNewFieldValueFromJournal
предназначены для этого, может кто их использовал?
Deinis
Местный житель
Сообщения: 783
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва
Контактная информация:

Re: Фильтр на журнал

Сообщение Deinis »

ecasoft
Местный житель
Сообщения: 645
Зарегистрирован: 29 мар 2005, 17:49
Откуда: г.Королев МО ООО "Эффективная Комплексная Автоматизация- СОФТ"

Re: Фильтр на журнал

Сообщение ecasoft »

Var dblValue: double;

получите по имени OBOROT запись таблицы x$Files для второго параметра

Параметны такие

1 искомое поле, например Oborot.summa
2 x$files.xf$recordfixed
3 x$journal.dataRec
4 x$journal.operation
5 dblValue


Значение поля будет в переменной dblValue

С уважением, Игорь
Некоммерческое общение в форуме
klimin_a_s
Постоянный гость
Сообщения: 69
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва
Контактная информация:

Re: Фильтр на журнал

Сообщение klimin_a_s »

Как-то писал "адскую машинку" - которая выгружает все мемо-поля всесте со структурой из журнала во внешний файл, а затем спец. прогой можно найти ответ на вопрос, н-р, "Кто удалил проводку по Д70 на сумму 1000 руб?".
С уважением,
Климин Андрей
IgorA
Постоянный обитатель
Сообщения: 192
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Красноярск

Re: Фильтр на журнал

Сообщение IgorA »

Использовал функцию GetOldFieldValueFromJournal, по рекомендациям Косякина Игоря, в ARD- отчете.

Первая запись обрабатывается, и дает вернный результат, но почему-то происходит зацикливание, и в отчете первая запись повторяется бесконечно.

Отчет простейший.

запрос
.create view t1 as
select DATAREC, Operation
from X$JOURNAL
where ((9011==TABLECODE));

а затем, цикл
.{table t1
.begin
GetNewFieldValueFromJournal(OBOROT.SCHETO,566 , DATAREC, Operation, pSch);
end.
^
.}
IgorA
Постоянный обитатель
Сообщения: 192
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Красноярск

Re: Фильтр на журнал

Сообщение IgorA »

У меня, только одна идея:
ф-ия GetNewFieldValueFromJournal, переводит указатель на первую запись.

Как с этим бороться?

p.s. Для проверки, оставлял в журнале, только одну запись, то же зацикливается.
sth
Постоянный обитатель
Сообщения: 148
Зарегистрирован: 29 мар 2005, 17:49

Re: Фильтр на журнал

Сообщение sth »

но это же ведь не весь текст отчета? Наверное там еще что-то есть?
IgorA
Постоянный обитатель
Сообщения: 192
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Красноярск

Re: Фильтр на журнал

Сообщение IgorA »

Вот весь отчет:
.Form 'Журнализация'
.ard
.var pSch: String;
.endvar
.create view t1 as
select DATAREC, Operation
from X$JOURNAL
where ((9011==TABLECODE));
.fields
pSch
.endfields
.{table t1
.begin
GetNewFieldValueFromJournal(OBOROT.SCHETO,566 , DATAREC, Operation, pSch);
end.
^
.}
.endform
IgorA
Постоянный обитатель
Сообщения: 192
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Красноярск

Re: Фильтр на журнал

Сообщение IgorA »

Естественно упростил, как мог.
И в таком виде циклит.
ecasoft
Местный житель
Сообщения: 645
Зарегистрирован: 29 мар 2005, 17:49
Откуда: г.Королев МО ООО "Эффективная Комплексная Автоматизация- СОФТ"

Re: Фильтр на журнал

Сообщение ecasoft »

Проблема не в функции, а в том, что Вы не перемещаетесь по таблице журнала. Ничего эта функция не переводит. Работает она вполне обычно. Она просто лезет в мемо поле и достает оттуда запись. С движением по таблице она никаким боком не связано.

С уважением,Игорь
Некоммерческое общение в форуме
IgorA
Постоянный обитатель
Сообщения: 192
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Красноярск

Re: Фильтр на журнал

Сообщение IgorA »

Как это не перемещаюсь?

Я всегда считал, что
.{table t1
.}
это - цикл, с перемещением по набору данных, до тех пор пока он не кончится.

И если это не так, то как, тогда мне перемещаться?

p.s. Кстати, если убрать из вышеописанного примера эту функцию, то все перемещается.
ecasoft
Местный житель
Сообщения: 645
Зарегистрирован: 29 мар 2005, 17:49
Откуда: г.Королев МО ООО "Эффективная Комплексная Автоматизация- СОФТ"

Re: Фильтр на журнал

Сообщение ecasoft »

Выслал на почту примеры работы с поиском изменений по Оборотам и Накладным (как пример) на ВИПе по журналу. Там есть работа с разными функциями. Это делалось года два назад для компании ЮКОС. Хотя это не конечный код - конечный код дорабатывался ими уже..хотя дорабатывался там просто сервис интерфейса по вводу ограничений по номеру счета, пользователю, интервалу и т.д. Конечный вариант у меня не сохранился. Хотя в принципе его написать ничего не стоит по данным примерам - там все есть.

С уваженеим, Игорь
Некоммерческое общение в форуме
ALEKS123
Местный житель
Сообщения: 278
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва
Контактная информация:

Re: Фильтр на журнал

Сообщение ALEKS123 »

Игорь, доброго времени суток. А можно, если несложно, тот же пример и на мою почту? Спасибо
Ответить