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

Вниз

Правильно посчитать отчет   Найти похожие ветки 

 
Юля П   (2003-08-28 10:14) [0]

У меня неправильно считается итоговая сумма долгов.
Скорее всего это потому, что у меня в одном поле содержаться и рублевая и долларовая суммы. И как-то неправильно суммируется рублевая сумма. Помогите, пожалуйста.


 
Polevi   (2003-08-28 10:17) [1]

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


 
Sergey13   (2003-08-28 10:26) [2]

2Юля П (28.08.03 10:14)
>Скорее всего это потому, что у меня в одном поле содержаться и рублевая и долларовая суммы
Если нет указания на тип валюты, то налицо ошибка проектирования. Если есть то Polevi © (28.08.03 10:17) [1]


 
Юля П   (2003-08-28 11:17) [3]

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


 
DenK_vrtz   (2003-08-28 11:20) [4]

В чем выводится(считается) сумма?
Код?


 
MsGuns   (2003-08-28 11:29) [5]

Запрос на итоговую сумму в студию !


 
Hawk2   (2003-08-28 11:31) [6]

Юля П (28.08.03 11:17) [3]>
Там где рубли я умножаю на курс, а где доллары делю, т.к. мне нужены долги и долларах и в рублях в одном отчете.

Это в два этапа или одновременно? Получается там где была сумма в рублях станут доллары, а где была сумма в долларах станут рубли. И для чего эти манипуляции.

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

А Вы при подсчете отличаете Дебет от Кредита?


 
Anatoly Podgoretsky   (2003-08-28 11:40) [7]

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


 
MsGuns   (2003-08-28 11:56) [8]

Ну да, щас Кашпировский, Чумак и баба Соня соберутся и по фотографии вылечат у девочки флюс ;)))


 
Юля П   (2003-08-28 12:14) [9]

Можно хоть что-нибудь сделать?
Код вот такой ужасный:

procedure TMainForm.Debit1Click(Sender: TObject);
var i,j : Integer;
var RDate : TDate;
var Currdebit, Tot_dol, Tot_rus, CurrdebitR: Real;
begin
//


 
HSolo   (2003-08-28 12:26) [10]

"Что-нибудь" сделать всегда можно :))
Приведите структуру таблиц.


 
MsGuns   (2003-08-28 12:40) [11]

>Юля П (28.08.03 12:14) [9]

Ух, круто !!! Ни одного комментария, ни отступов, ни внятнообозванных сущностей БД. И все без единого запроса.
А что, на SQL у вас в конторе лежит вето ?


 
Юля П   (2003-08-28 12:45) [12]

Это структура главной таблицы Material.db:
ID AutoInc 0
NN String 5
Contra String 30
MatName String 30
MatMass String 10
SchetD Date 0
MatNVag String 20
MatOtpr Date 0
MatTrans String 5
MatPost Date 0
MatDogov String 7
MatRusPr String 15
MatTotPrice String 15
DogovorN String 15
DogovorD Date 0
GarantN String 15
GarantD Date 0
NakladN String 15
NakladD Date 0
SchetFakN String 15
SchetFakD Date 0
CertificatN String 15
CertificatD Date 0
PrihOrdN String 15
PrihOrdD Date 0
DeadLine Date 0
MatComment String 100
HTP String 11
SchetN String 15
DebitYN Boolean 0
NShop String 3
FinN String 7
PrihRBN String 15
PrihRBD Date 0

Table: Course

Data Date 0
Course String 7

Таблица Debit.db

DNN String 5
DContra String 30
DMatName String 30
DNetto String 10
DDebit_dol String 15
DDebit_rus String 15

Таблица Dummy.db (временная):

DummyDate Date 0
DummyDate2 Date 0
DummyContra String 30

Table: MoneyToPay

NN String 5
MoneyDate Date 0
Price_rus1 String 15
Price_Dollar String 15
NPoruch String 5

DummyMatName String 30


 
Danilka   (2003-08-28 12:45) [13]

MsGuns © (28.08.03 12:40)
камментариев есть немножко, но они, похоже, на греческом. :))


 
HSolo   (2003-08-28 12:56) [14]

> Юля П (28.08.03 12:45) [12]
ОК, начало положено :)
Следующий этап. Что за информация в какой таблице находится? Как они друг с другом связаны? Я понимаю, для Вас это давно очевидно, но мне, например, название MoneyToPay позволяет лишь догадываться, что речь идет о деньгах, а Price_Dollar - робко предположить, что это и есть та самая долларовая сумма. А уж что есть NN / DNN - тут без телепатического модуля никак, а он у меня в ремонте :)


 
MsGuns   (2003-08-28 13:01) [15]

>Юля П (28.08.03 12:45) [12]

Мдя... Я надеюсь, что это не ваше дитятко, Юля ? А Вам просто его нянчить ? Похоже, весь движняк по материалам всунут в одну таблу, зато для курса суперразработчик предусмотрел целых две.

"... это смутно мне напоминает индо-пакистанский инцидент" (ВВС (с)) А именно ДОСовские клипперно-дэбэфные базы, писанные студентами-недоучками.
Самое интереснон, что нет даже справочника материалов. "Бензопила Дружба" будет шлепаться на клаве столько раз, сколько встречалась в приходно-расходных документах и, естественно, каждый раз разными буквами (если, конечно, программер не исправил глюк горе-разработчика и не придумал перед добавлением предлагать выбор из списка существующего)

Резюме. ИМХО, 1.Существующую прогу вместе с БД - в печку, 2.разработать нормальную структуру "от документа", 3.Перекачать инфу из старой БД в новую (придется написать еще и конвертялку)
Кстати, заодно и распрощаться с Парадоксом как с примусом и патефоном.


 
MsGuns   (2003-08-28 13:10) [16]

>HSolo © (28.08.03 12:56) [14]
>А уж что есть NN / DNN - тут без телепатического модуля никак, а он у меня в ремонте :)

Это-то как раз самое несложное.
Все эти многочисленные, как тараканы, <чего-там>.N|D не что иное как № и дата этого самого <чего-то там> - видно из текста. Зачем таблица движения хранит эту инфу в каждой строке спецификации каждого документа - одному Господу (вкупе с разработчиком) известно. Причем, похоже, что даже отметки об оплате живут в "свальном грехе" с кол-вом, ценой, номером сертификата, даверенностью и т.д. И при этом все - даже суммы - в символах !!!! (Может, это импортированная из откуда-то инфа. И что-то мне шепчет на ухо, что без 1ц тут дело не обошлось,- согрешила бабушка с лабрадором-то ;)))
Короче, крутизнааааааа !!!


 
DenK_vrtz   (2003-08-28 13:12) [17]

Конкурс "Мать моя - женщина" или "Телепат года" продолжается! :-)


 
HSolo   (2003-08-28 13:15) [18]

> MsGuns © (28.08.03 13:01) [15]
Вот к Вашему резюме я и пытаюсь подвести человека. Следующим был бы вопрос "а почто в одной таблице-то?"
"Дедушка бабушку опередил" (с) :))


 
Hawk2   (2003-08-28 13:24) [19]

Юля без обид, но если это вы написали, то думаю Вам еще рановато заниматься такими вещами, а если это ктото другой, то я б ему морду набил.


 
MsGuns   (2003-08-28 13:28) [20]

>Hawk2 © (28.08.03 13:24) [19]
>Юля без обид, но если это вы написали, то думаю Вам еще рановато заниматься такими вещами, а если это ктото другой, то я б ему морду набил

Малевичу при жизни тоже морду били. Да и Ван Гога не очень почитали ;)))


 
Юля П   (2003-08-28 13:33) [21]

> HSolo

В таблице Material.db содержится информация по поступающему материалу: когда пришел (NakladD), от какой организации (Contra), по какой цене (MatDogov), вес (MatMass), сумма за материал (МатТотPrice (цена*вес)), NN - код записи (вводится вручную). Это основные поля в этой таблице.
Course.Db содержит число и значение курса на это число.
MoneyToPay.db
NN(код записи из Material.db), MoneyDate(дата, когда было оплачено за материал), Price_rus1 (сумма в рублях), Price_Dollar(сумма в долларах), NPoruc(номер платежного поручения).
Dummy.db временная таблица, используется, чтобы вывести материалы за месяц, за декаду. В ней сравниваются даты между собой.


 
Hawk2   (2003-08-28 13:36) [22]

Так то оно так, но прежде чем за что-то браться нужно хоть какие-то книги почитать. Кроме Делфи нужно и о БД коечто знать. Код программы написан, но от правильно организованной структуры БД тоже многое завист.


 
MsGuns   (2003-08-28 14:10) [23]

Я так понял, что ребеночек все же того... родненький ;)))
Тогда совет.
Для начала комп не нужен. Нужен только карандаш и бумага (листиков 5-6 для задачи такого плана)
1. Определить объекты БД:
- Приходная накладная
- Расходная накладная
- Поставщик (контрагент)
- Получатель (склад)
- Материал
- Группа материалов
...

2. Для каждого объекта определить его характеристика (свойства). Например, для накладной приходной это №, Дата, Поставщик, Сумма по накладной, Сумма НДС, Валюта, Инф-ция о доставке (№ авто, инфа путевого листа, № и дата доверенности и т.д.)

3. Установить общие для двух или более объектов характеристики и "вынести их за скобки", т.е. сделать справочники, а в самих документах характеристику заменить на ссылку к этому справочнику.

4. Установить межтабличные связи "один-ко-многим". Т.е. к примеру все приходы имеют 2 "этажа". На первом это т.н. заголовки, т.е. №, Дата и т.д., а на 2-м фактура, т.е. Материал, кол-во, цена и т.д.

Ну и в том же духе дальше. Очень рекомендую последовать совету Hawk2 © (28.08.03 13:36) [22], поверьте, этот человек знает, что говорит.



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

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

Наверх





Память: 0.51 MB
Время: 0.009 c
1-58626
Meg100
2003-09-05 14:35
2003.09.18
Word & Delphi


3-58577
Layner
2003-08-27 09:52
2003.09.18
Подскажите UpdateSQL для ADO Query


1-58720
Makhanev A.S.
2003-09-08 00:39
2003.09.18
OwnerDraw в ListView с CheckBoxes...


14-58856
Жук
2003-08-26 11:22
2003.09.18
Хранение СД-болванок


1-58766
Vlad25
2003-09-05 14:24
2003.09.18
Иконки для кнопок





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский