Как рассчитать сальдо по счету на опр. дату?

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

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

Ответить
Nike
Новичок
Сообщения: 24
Зарегистрирован: 20 апр 2007, 13:40

Как рассчитать сальдо по счету на опр. дату?

Сообщение Nike »

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

Пробовал вот так:

Код: Выделить всё

select sum(Sums) from saldmoun sal where scheto='6241'
 and SUBOSSCH='2011'
 and datesal=(Select  Max(datesal) from saldmoun sa where sa.nrec=sal.nrec and datesal<= '2007-06-30' )
Но сумма при этом получается неправильная (не совпадает со значением аналитики в Галактике). Пробовал ковыряться с полем viob таблицы saldmoun - не помогло. Подскажите пожалуйста, как данное значение из базы вытащить?? Уже нифига не соображаю и чувствую себя полным идиотом :?
Deinis
Местный житель
Сообщения: 783
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва
Контактная информация:

Re: Как рассчитать сальдо по счету на опр. дату?

Сообщение Deinis »

Во-первых нужного тебе сальдо в БД может и не быть. В смысле - сальдо - вещь динамическая, сейчас - одно значение, через 3 минуты - уже другое.
Поэтому Галактика хранит сальдо в таблице SaldMoun только на какие-то реперные точки, а именно - входящее сальдо (на утро) на каждое 1-е число месяца :).
Процедура сохранения сальдо в таблицу SaldMoun вызывается либо вручную (через меню в модуле ФРО), либо по мере закрытия периода в бухгалтерии (в модуле ФРО или Настройка).

Хочешь посчитать на конкретную дату? Тогда бери сальдо из SaldMoun на дату отчетного периода в бухгалтерии. Поле ViOb показывает - дебет или кредит.
Прибавляй все дебетовые обороты и вычитай все кредитовые обороты(Oborot.SumOb) за период с 1-го месяца по нужную тебе дату. Дебет или кредит в проводке - думаю поймешь где.
Не вполне уверен насчет поля Oborot.SumOb, там ведь могут быть еще конвертирования, точно уже не помню. Но вроде все нормально в это поле рублевая сумма и попадает.

Чтобы сальдо, рассчитанное "в стороне от" совпадало полностью с сальдо, рассчитанным "внутри" Галактики, нужно расчет вести с учетом всех аналитических разрезах, а не только по счету/субсчету (это касается Активно/Пассивных счетов).

Кстати, в Галактике есть стандартная функция CalcNewSaldo (чтобы не лезть в таблицу проводок). Но она по-моему вызывается только из VIP-а.
novichok
Постоянный гость
Сообщения: 79
Зарегистрирован: 10 апр 2013, 09:24

Re: Как рассчитать сальдо по счету на опр. дату?

Сообщение novichok »

Мне тоже нужно рассчитать сальдо на дату, только программу пишу на vip-е. Как использовать функцию CalcNewSaldo:
CalcNewSaldo; или CalcNewSaldo(дата);
Эта функция ничего не испортит в галактике (где-то писали, что нельзя сальдо рассчитывать программно)?
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

Re: Как рассчитать сальдо по счету на опр. дату?

Сообщение Алексей »

Верно копаете, именно этой функцией и рассчитывается сальдо, при чем на любую дату и складывает полученный расчёт во временную таблицу. Ничего не портит.
Поищите пример использования на форуме.
spark
Местный житель
Сообщения: 476
Зарегистрирован: 19 окт 2005, 13:38
Контактная информация:

Re: Как рассчитать сальдо по счету на опр. дату?

Сообщение spark »

novichok писал(а):Мне тоже нужно рассчитать сальдо на дату, только программу пишу на vip-е. Как использовать функцию CalcNewSaldo:
CalcNewSaldo; или CalcNewSaldo(дата);
Эта функция ничего не испортит в галактике (где-то писали, что нельзя сальдо рассчитывать программно)?
В VIP'е можно использовать функцию GetPat(' ') и с помощью бухгалтерских формул получать сальдо, обороты и т.д.
exorka
Сообщения: 2
Зарегистрирован: 25 сен 2014, 12:01
Откуда: Хабаровск

Re: Как рассчитать сальдо по счету на опр. дату?

Сообщение exorka »

Важно еще помнить что есть еще и данные по которым не было оборотов. А еще есть "Пропуск уровня аналитики" что тоже необходимо учесть.
Ответить