![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 16.08.2007
Сообщений: 2
|
![]()
Привет всем!
Нужна помощь в решении задачи построения отчета. У меня есть Таблица с данными о клиенте и его долге. Долг у клиентов бывает в 3-х валютах. В отчете нужно вывести всех должников и посчитать пеню. Все это я сделал, кроме одного. Пеня в отчете должна расчитиватся в нац. валюте, а у меня и доллар и евро. Так вот, как сделать чтобы в отчете было условие если USD то умножаем на КУРС и множим на процент пени. Делать 3 отчета и разделять клиентов по валютам нельзя. Подскажите, если можна поподробнее... Заранее спасибо! |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 26.04.2008
Сообщений: 487
|
![]()
Задача не такая простая, как кажется на первый взгляд.
Вам нужно дополнительно создать таблицы валют (справочник), курсы валют с отслеживанием изменений курса по датам. Возможно потребуется создание доп.функций для расчетов. Поищите в инете методики расчетов курс.разниц. |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 25.08.2008
Сообщений: 14
|
![]()
Я так понимаю методика вычисления пени в организации уже имеется. Поэтому нужно лишь описать алгоритм.
Действительно потребуется две таблицы (как минимум, возможно нужна еще одна - если усложнить задачу). Таблица1 (Клиент, Долг-сумма, Долг-валюта). Для долг валюта сделаем список выбора: RUB, EUR, USD. Таблица2 (Название-валюты, курс). Для валют EUR и USD вводится курс относительно рубля, RUB=1. Можно регулярно обновлять таблицу самому, а можно попробовать брать из инета (не знаю как но точно можно). Теперь делаем запрос: связываем таблицы 1 и 2 через поле Название-валюты/Долг-валюта. Таблица2 будет главной. Добавляем в запрос все поля. И делаем вычисляемое поле Пени где сумма долга делится на Таблица2.курс. Условие в данном случае даже не нужно. А усложнение задачи будет в случае, если у одного клиента может быть несколько долгов (в зависимости от предметной области). Но вам, наверное, это не нужно. |
![]() |
![]() |
![]() |
#4 |
Новичок
Джуниор
Регистрация: 16.08.2007
Сообщений: 2
|
![]()
Спасибо всем кто ответил на мой вопрос.
Ваши ответы были очень полезными!!! Но, я все таки решил свою проблему сам, с помощью перекрестного запроса. Дело в том что справочник курсов мне не нужен. Просрочка бывает только раз в месяц и поэтому в форме у меня забивается данные по клиенту, в том числе и валюта долга, а в подчиненной форме дата, сумма проср., сумма % проср., и курс (если выбрана иностранная валюта). Все расчеты производятся в самом отчете. Сам SQL-запрос для отчета (если что-то будет понятно): TRANSFORM Sum(Pen.Sum_Osn_Dolg) AS [Sum-Sum_Osn_Dolg] SELECT Klient.Num_Client, Klient.FIO, Klient.Num_Kred_Dog, Pen.Num, Pen.Num_Prasr, Pen.ProcPen, Pen.YN, Pen.DataFakt, Pen.DataPogPr, Pen.Sum_Proc_Dolg, Klient.Valuta, Pen.Oplatil FROM Klient INNER JOIN Pen ON Klient.Num_Client = Pen.Num WHERE (((Pen.YN)=No)) GROUP BY Klient.Num_Client, Klient.FIO, Klient.Num_Kred_Dog, Pen.Num, Pen.Num_Prasr, Pen.ProcPen, Pen.YN, Pen.DataFakt, Pen.DataPogPr, Pen.Sum_Proc_Dolg, Klient.Valuta, Pen.Oplatil PIVOT Klient.Valuta; Вот так. Ище раз спасибо! |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
отчет в Delphi | LIEN | БД в Delphi | 4 | 12.05.2008 11:04 |
Отчет | [Smarik] | Помощь студентам | 1 | 23.04.2008 20:13 |
Отчет для КР Срочно! | Anna_fors | Помощь студентам | 4 | 23.08.2007 15:17 |
Отчет Rav | ГОСЕАН | БД в Delphi | 3 | 30.06.2007 22:29 |