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

обороты на момент времени 23:59:59

 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Банковская отчетность (оперативная, обязательная, Oracle Reports)
Предыдущая тема :: Следующая тема  
Автор Сообщение
Alexsey
Эксперт


Вступление в Клуб: 06.09.2007
СообщениеЧт Ноя 15, 2007 16:28   обороты на момент времени 23:59:59 Ответить с цитатой
Полезность: Нет оценки
Сегодня столкнулся с ошибкой при написании отчета, что машина игнорирует обороты при использовании операции ::[AC_FIN].[GET_SALDO] проведенные в 23:59:59, если отчет необходимо сформировать именно на это время. В 00:00:00 часов происходит смена дат и получается что остаток на 23:59:59 не сходится с остатком на счете на 00:00:00, хотя точно известно, что в данный момент времени ни какие операции не проводились..

Может кто сталкивался с подобным и поделится опытом как избежать данной ошибки
_________________
всегда есть как минимум 2 выхода
timochev
Эксперт


Вступление в Клуб: 02.07.2007
СообщениеЧт Ноя 15, 2007 18:11   Re: обороты на момент времени 23:59:59 Ответить с цитатой
Полезность: 1
Приведу комментарий к этой операции:
Код:
/*********************************************************************
Класс:        Финансовые счета
Операция:     Получить остатки на счете на момент времени
Короткое имя: GET_SALDO

Параметры: Наименование                  Имя         Вид  Тип
           Дата (и время)                P_DATE       ->  Дата
           Остаток в валюте              P_SALDO     <-   Сумма
           Остаток в основной валюте     P_SALDO_NAT <-   Сумма
           Признак учета ЗО              P_ZO         ->  Логика
           Признак возвращения остатка   P_NT         ->  Логика
              в основной валюте

Вазвращает   В Х О Д Я Щ И Й   (на начало секунды) остаток типа Сумма

FTC, Лагута О.Н., последнее изменение 21.03.99 15:51
*********************************************************************/


НА 23:59:59 = на НАЧАЛО последней секунды суток.
НА 00:00:00 = на НАЧАЛО следующей секунды
Таким образом, есть гипотеза, что остатки отличаются в точности на обороты течение 59-ой секунды. А это есть (как правило) "вставка в прошлое".
Alexsey
Эксперт


Вступление в Клуб: 06.09.2007
СообщениеЧт Ноя 15, 2007 18:25   Re: обороты на момент времени 23:59:59 Ответить с цитатой
Полезность: Нет оценки
timochev пишет:
...
НА 23:59:59 = на НАЧАЛО последней секунды суток.
НА 00:00:00 = на НАЧАЛО следующей секунды
Таким образом, есть гипотеза, что остатки отличаются в точности на обороты течение 59-ой секунды. А это есть (как правило) "вставка в прошлое".

Именно так и получается... последний файл с РКЦ приходит в поле нуля часов.. естественно что его никто не ждет...
в итоге отчет на момент времени рвет исходящий остаток

честно говоря не хочется писать операцию которая будет лезть в массив выписки и несложными математическими вычислениями получать необходимую цифру, когда есть дистрибутивная операция...

да и отчет придется усложнить и как показывается практика немного затормозить лазаниями по доп. массивам
_________________
всегда есть как минимум 2 выхода
timochev
Эксперт


Вступление в Клуб: 02.07.2007
СообщениеЧт Ноя 15, 2007 21:56    Ответить с цитатой
Полезность: Нет оценки
Цитата:
в итоге отчет на момент времени рвет исходящий остаток

Откровенно говоря, мне не совсем понятна поставленная задача. Мало информации. Что необходимо получить? Остаток на определенный момент астрономического времени? Файлы грузятся в текущий опер.день или в прошлый?
Если не секрет, зачем такой отчет нужен? В своей практике не сталкивался еще с такой необходимостью.
YuSokolov
Профи


Вступление в Клуб: 29.06.2007
СообщениеПт Ноя 16, 2007 08:44   Re: обороты на момент времени 23:59:59 Ответить с цитатой
Полезность: 1
Alexsey пишет:
в итоге отчет на момент времени рвет исходящий остаток

Алексей а почему бы для расчета остатка не использовать функцию f.a, например sum_tmp := f.a('В'||V_ACC.[ARC_MOVE]||'СВ', V_DATE); или sum_tmp := f.a('В'||V_ACC.[ARC_MOVE]||'СН', V_DATE);
"свою операцию" писать не надо.
dale
Участник со стажем


Вступление в Клуб: 28.09.2007
СообщениеПт Ноя 16, 2007 11:41    Ответить с цитатой
Полезность: 1
Ну и GET_SALDO я так понимаю что можно использовать тока на начало след дня
_________________
Программа делает не то, что хочет программист, а то, что написано в коде. (c)
Alexsey
Эксперт


Вступление в Клуб: 06.09.2007
СообщениеПт Ноя 16, 2007 13:02    Ответить с цитатой
Полезность: Нет оценки
dale пишет:
Ну и GET_SALDO я так понимаю что можно использовать тока на начало след дня

операция GET_SALDO считает на момент времени, что мне и было необходимо. Единственная проблема только в том, что считает она на начало секунды и не учитывает оборот по времени равный запросу (например 14/11/2007 23:59:59).В даном случае мне пришлось научить отчет заменять дату и время в данном случае на 15/11.2007 00:00:00 и получить актуальный остаток

YuSokolov пишет:
Алексей а почему бы для расчета остатка не использовать функцию f.a, например sum_tmp := f.a('В'||V_ACC.[ARC_MOVE]||'СВ', V_DATE); или sum_tmp := f.a('В'||V_ACC.[ARC_MOVE]||'СН', V_DATE);
"свою операцию" писать не надо.


честно говоря я не смотрел эту функцию... но если она будет расчитывать не текущий остаток а остаток на момент времени, по почему бы и не использовать...
_________________
всегда есть как минимум 2 выхода
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Банковская отчетность (оперативная, обязательная, Oracle Reports) Часовой пояс: GMT + 3
Страница 1 из 1

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