Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.04.14;
Скачать: [xml.tar.bz2];

Вниз

LocalSQL   Найти похожие ветки 

 
Виталий Панасенко   (2003-03-26 12:26) [0]

Есть три таблицы:
Счета
Счет Название

Приход
Дата Дт Кт Сумма

Расход
Дата Дт Кт Сумма

Народ подскажите как под Paradox сделать запрос чтобы получить
Счет Дт-оборот за период Кт-оброт за период

Думал такой но он не работает в оборотах 0
select c.counter_number,
(select sum(d.summa) from docp d where d.counter_dt=c.counter
and d.doc_date between :dat1 and :dat2) as dt,
(select sum(d.summa) from docr d where d.counter_dt=c.counter
and d.doc_date between :dat1 and :dat2) as kt
from counters


 
MsGuns   (2003-03-26 12:32) [1]

Странная БД. Это что, же, если 26.03.03 я взял из банка деньги на хознужды, то у меня появятся 2 записи (по старому плану):

Таблица приходов

26.03.03 50 51 1000,00

Таблица расходов

26.03.03 51 50 1000,00

???


 
Виталий Панасенко   (2003-03-26 12:50) [2]

Я, прошу прощения, не о том спрашиваю... Если взял, будет одна. Хотя в SmartBANKе от Виасофт (Винница) как раз по две записли в архиве и ведется: одна по Дт другая по Кт - так обороты быстрее и легче считать. Но на ? вы так и не ответили...


 
MsGuns   (2003-03-26 13:14) [3]

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

Мне вот непонятно, ЧТО за проводки хранятся в этих таблицах, пересекаются ли они ?
Если это две РАЗНЫЕ таблицы (т.е.содержат уникальные неповторяющиеся проводки(, то это одно. Если же таблицы соответствуют документам, то пересечение очень даже может быть (К примеру банк.платеж может пройти и по выписке и по Дебеторам/Кредиторам)

Далее, суть запроса - надо выбрать обороты по одному счету или всем сразу ? Непонятно.


 
Виталий Панасенко   (2003-03-26 14:43) [4]

Суть в чем: меня попросили нарисовать т.н. Банк - Платежки + Разноска выписок. ПП получается расход, Разноска выписок - приход. И мне нужно выбрать данные об обротах по каждому счету за период. Т.е. я выписал столько-то, клиенты мне перечислили столько-то, вот и все. Просто Расход связан с таблицей платежек, а Приход ни с чем... Поэтому я их и разделил. Тем более, что приход, в принципе, разносится чуть ли не раз в месяц, а ПП каждый день. IB справляетсся, но не охота переделывать.


 
MsGuns   (2003-03-26 15:29) [5]

Делается так:
1.Таблица платежей (как дебетовых, так и кредитовых - отличаются флажками).
ID(AutoInc,PK),
ID Расчетного счета (Связка со спр-кам счетов в банках)
Дата,
Номер,
Текст,
ID контрагента,
банк.рекв-ты (или ссылка на соотв.строку справочника РС контрагентов),
Сумма,
НДС.


2.Таблица - разноска по контрагентам
ID контрагента (связка)
ID платежа
ID документа (накладная/счет)
Сумма
НДС

Счета получаются косвенно, как поля записей соотв.спр-ков. Но, если могут быть варианты (платится по разным бух.счетам, например за материалы и электроэнергию одниму и тому же поставщику), то соотв-но надо добавить в платежи и разноску поля для счетов/субсчетов


 
Виталий Панасенко   (2003-03-26 18:08) [6]

Мне контрагенты не нужны. Меня интересует оборот по бухсчетам предприятия. Т.е. выписана платежка на Сумму, но по бухсчетам это может быть не только одна операция, а до N, т.е.
Дт1 Кт1 Сумма1
Дт2 Кт2 Сумма2
....
ДтN КтN СуммаN
--------------
Сумма
Может, конечно, я чего-то недопонимаю/незнаю, не буду отрицать. Но из объяснения бухгалтера я понял так.


 
MsGuns   (2003-03-26 18:22) [7]

>Виталий Панасенко (26.03.03 18:08)
>Но из объяснения бухгалтера я понял так.

Правильно понял. Замени в приведенной структуре контрагентов на номера счетов и все. Бух не прав (или ты что-то не дотямил) в смысле "ненужности" контрагентов,- она (он) или ведет все это (в смысле аналитику по контрагентам и документам) в бумажном журнале или вообще просто сводит цифры, а аналитику ведет другой.

Или бух ведет только 5-й журнал (банк), для него, действительно, аналитика идет по банковским документам. В этом случае надо просто иметь след. таблицы:
1. Справочник расчетных счетов (РС) в банках
2. Таблица платежных документов (всех видов) по РС со ссылкой на выписку
3. Таблица проводок по каждому документу с полями, подобными тому, что ты привел выше.
4. Таблица выписок по РС

Обороты считаются только по документам, имеющим ссылку на выписку, и по дате выписки, а не документа.


 
Виталий Панасенко   (2003-03-26 18:46) [8]

>Или бух ведет только 5-й журнал (банк), для него, >действительно, аналитика идет по банковским документам. В этом >случае надо просто иметь след. таблицы:
>1. Справочник расчетных счетов (РС) в банках
>2. Таблица платежных документов (всех видов) по РС со ссылкой >на выписку
>3. Таблица проводок по каждому документу с полями, подобными >тому, что ты привел выше.
>4. Таблица выписок по РС

Вот это оно, но, опять же, забыли о первоначальном вопросе :-)
Как обороты посчитать. Даже имея одну таблицу для прихода/расхода нужно сделать что-то типа того что я написал в начале. (во закрутил :-))
Обороты по Дт и Кт все равно как-то надо опеределить. Можно заиметь два запроса с объдинением и заполнить какую-то врем.таблицу, но может, можно красивши ...



 
MsGuns   (2003-03-26 19:00) [9]

Я делал по схеме банковской выписки через UNION: рез-т типа

Документ Дебет Кредит

111001 40,00
111002 2000,00
11-98 75,00
118654 100,00
354 2100,00

Выборка по нужному счету из таблицы проводок. Условие - период дат (по датам выписок) и счет как дебетовый и как кредитовый корреспондент.
Потом суммируешь по полученным полям, можно запросом из запроса, можно через врем.таблицу, можно простым "пробегом" по НД (записей должно быть немного,- они же у тебя сводные.



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2003.04.14;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.008 c
1-44195
Roki
2003-04-01 16:25
2003.04.14
Как в TreeView раскрыть ветку?


1-44149
EthernalWonderer
2003-04-03 13:04
2003.04.14
Немодальный ShowMessage()


7-44470
JohnKorsh
2003-02-19 13:49
2003.04.14
Работа с последовательными портами.


7-44482
dkDimon
2003-02-20 23:03
2003.04.14
Список процессов


1-44106
Sergeus
2003-04-02 21:17
2003.04.14
Corel





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский