Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.09.18;
Скачать: CL | DM;

Вниз

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

 
Юля П   (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;
Скачать: CL | DM;

Наверх




Память: 0.54 MB
Время: 0.019 c
1-58631
Юлия
2003-09-05 12:39
2003.09.18
Вопрос по datetimepicker


14-58830
Treg
2003-08-30 13:26
2003.09.18
Архивы конференции fido7.ru.delphi


3-58544
dimaska
2003-08-27 19:21
2003.09.18
Построение иерархической структуры в МSSQL


6-58820
tasman
2003-07-15 06:29
2003.09.18
Проблема с Submit у TWebBrowser


14-58847
ZeroDivide
2003-08-29 10:13
2003.09.18
Что вы думаете о ZeroDivide?