![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
подсчёт кол-во в складской программе [D7, Paradox]
@k@DElpher © (2005-04-22 20:00:00)Здравствуйте,
пишу программу по учёту склада(ну и остального:))
есть две таблицы Парадокса:
покупки, продажи
структуры почти одинаковые:
ID(ключ),IDDoc-номер,как документа, имя документа(накладная №3),
GOODID- номер товара из таблицы товаров,Amount -Кол-во и так далее...
Как вы заметили здесь даны не документы, а товары со свойствами на принадлежность к одному документу(IDDoc).
Так вот мне надо так подсчитывать суммы, чтоб оно относилось к одному документу, и выводить это юзеру, как таблицу накладных с суммами, и например остатки по этим таблицам...
в общем там разберусь- главное, что использовать? Куда думать:)? У кого подглядеть?
или, если, кто знает - где взять примеры, и где почитать касательно именно этой темы(разработки бухгалтерских и складских программ на Delphi...
( писать буду на Delphi 2005:) )
Заранее благодарен:)...
Polevi (2005-05-05 13:46:00) [21]гм остатки по клиенту это как
ANB (2005-05-05 13:28:00) [22]
> @k@DElpher (04.05.05 19:06) [103]
Ну, примерно, не претендуя на крутость :
- Список клиентов (отправителей, получателей), включая сам склад и частных лиц
- Список документов (обязательно включить отправителя и получателя)
- Справочник товаров
- Проводки, привязанные к документу (как строки документа). Я бы включил дублем тоже отправителя и получателя, потом легче отчеты делать, но можно и оставить нормализованным, то есть доставать их потом из документа.
- Остатки по каждому клиенту и товару
При добавлении / изменении проводок одновременно корректируй текущий остаток по товару. Тогда в любой момент ты сможешь получить текущий остаток и рассчитать остатки на любой момент времени. Это намного быстрее, чем доставать остатки от начала времен, хотя и сложнее писать.
@k@DElpher (2005-05-04 19:06:00) [23]
> > @k@DElpher (03.05.05 18:38) [86]
> - тебе примерный набор таблиц посоветовать ?
Посоветуй:) Но на оракле я пока делать не буду...(Мои таблицы готовы, только программно всё устроить 8-) )
Fay (2005-05-04 15:28:00) [24]Danilka © (04.05.05 12:55) [100]
Согласен. Ч/з ...опу.
Сделай
create view v_test as
select y1 = y.y1 + 0, y.y2 from t_test y
go
8)
evvcom (2005-05-04 14:44:00) [25]
> KSK (29.04.05 15:55) [55]
>
> select a.kod, sum(b.kolsh), sum(c.kol)
> from prod a left join wupprod b on a.kod=b.kod
> left join realprod c on a.kod=c.kod
> group by a.kod
>
> делая group by только по одной таблице и сравниваю результат:
>
> select с.kod, sum(с.kol)
> from realprod с
> group by с.kod
>
> результат не одинаков. Где-то затупил - верю. Но где???
Естественно не одинаков. Дело в том, что в таблицах a, b и с связь по kod не один к одному. Например,
b.kod b.kolsh | c.kod с.kol
1 1 | 1 3
1 2 | 1 4
Ты ожидал увидеть в результате
1 3 7
На самом деле после join-ов получишь такое
kod kolsh kol
1 1 3
1 1 4
1 2 3
1 2 4
А уже только потом суммирование приведет к результату
1 6 14
Вот в этом и грабли.
Danilka (2005-05-04 12:55:00) [26][84] ANB © (03.05.05 15:56)
> Большой глобальный минус - без компа с NT Server ты его
> не поднимешь. От чего я с него окончательно и слез.
Просто интересно, а разве Орокол встанет на Вин98?
А так, по теме холивора, в МС-Скуле меня просто убивает отсутствие нормальной работы триггеров instead of на вьюхах. :(((
Пример:
create table t_test (
y1 int identity,
y2 varchar(10),
primary key (y1))
go
create view v_test as
select y.y1, y.y2 from t_test y
go
create trigger tr_test on v_test instead of insert as
print 'bla-bla-bla'
go
при этом запрос: insert into v_test (y2) values ('test') проходит с ошибкой "поле y1 не нулл"... почему??? :(((
запрос insert into t_test (y2) values ('test') конечно идет на-ура.
и запрос insert into v_test (y1,y2) values (1,'test') тоже идет на ура - рисует такое красивое "бла-бла-бла", а в таблицу ниче не инсертит, автоинкремент не инкрементицца.
ну нафига проверки ДО триггера заменяющегостандартный инсерт??? мало-ли куда реально я распихаю данные которые мне пришли?
Danilka (2005-05-04 10:57:00) [27][98] Sergey13 © (04.05.05 10:49)
Понятно. Ну, значит я ошибся. Может, про Лайт думал, что бесплатный - сам этим интересовался давно, может год назад. Только, кажись, этот Лайт настолько урезан, что бесплатные альтернативы ему фору 100 очков дадут. Пора-бы и Ороклу что-нибудь бесплатненькое выкинуть, в свете таких альтернатив. :)
ps. если весь оффтопик из ветки вырезать, останется от нее хотя-бы треть? :))
Sergey13 (2005-05-04 10:49:00) [28]2 [97] Danilka © (04.05.05 10:44)
>Хм, значит я отстал от жизни. Вроде видел какую-то сильно урезаную бесплатную версию.
Так для разработки и изучения бесплатно все вроде. Хоть ентерпрайз ставь. Как только БД начинает эксплуатироваться - плати. По прайсу который есть у меня (старенький правда, 1.5 года) Персонал - 400$ Лайт - 100$.
Danilka (2005-05-04 10:44:00) [29][94] Sergey13 © (04.05.05 10:25)
Хм, значит я отстал от жизни. Вроде видел какую-то сильно урезаную бесплатную версию.
[95] ANB © (04.05.05 10:37)
Ну-ну. Тут у нашей конторы одни заказчики есть, еле-еле их уговорили, один из сильнейших доводов против - ПО под Орокол, а заказчики для других целей купили МС-Скуль, теперь еще и Орокол покупать, это значит удваивать стоимость покупки нашего ПО (по их словам).
Sergey13 (2005-05-04 10:43:00) [30]2[95] ANB © (04.05.05 10:37)
>- ты сам когда себе последний раз лицензионный софт покупал ?
Я сам не покупаю - у меня лично и компа то нет. 8-) А на работе, ты не поверишь, все лицензионное.
Нравится тебе Оракл в ларьки ставить - ставь. Мне по барабану. Свои сомнения в целесообразности этого я уже высказал.
ANB (2005-05-04 10:37:00) [31]
> Которые тоже денег стОят, между прочим. 8-)
- ты сам когда себе последний раз лицензионный софт покупал ? Кто у него в магазине будет это проверять ? Проблема с закачкой, т.к. весит инсталляшка 9.2 не меньше гектара и по почте высылать - для меня нагло, да и получать он будет долго.
Sergey13 (2005-05-04 10:25:00) [32]2[93] Danilka © (04.05.05 10:21)
> Впрочем, есть и персонал версии.
Которые тоже денег стОят, между прочим. 8-)
Danilka (2005-05-04 10:21:00) [33][92] Polevi © (04.05.05 10:18)
Для разработчика, таки, бесплатный. Для пользователей - нет. Впрочем, есть и персонал версии.
Polevi (2005-05-04 10:18:00) [34]а оракл что бесплатный ?
Sergey13 (2005-05-04 10:07:00) [35]2 [90] ANB © (04.05.05 10:01)
> Я к тому, что если он сразу на нем писать начнет, то потом сможет круто на работу устроится.
Или бросит все это к чертовой матери. 8-)
ЗЫ: А если еще и лицензиями озаботиться........
ANB (2005-05-04 10:01:00) [36]
> жуткая вещь
- не такая уж и жуткая. Я пред началом работы изучал его неделю. И потом сразу в бой. Я к тому, что если он сразу на нем писать начнет, то потом сможет круто на работу устроится. А FB такого преимущества не даст. Книг я по нему в магазинах не видел. С MS SQL зарплата по любому меньше (сам проверял).
Sergey13 (2005-05-04 09:40:00) [37]2[87] ANB © (04.05.05 09:31)
> Я почему оракл рекомендовал - возможности крутые и станет на любой комп.
Все таки странное преимущество. Мало ли что встанет на комп. Все таки Оракл не самая простая СУБД, при всей моей любви к нему. Я осваивал его самостоятельно - жуткая вещь. Особенно сразу после "настольных" БД типа Парадокс.
ИМХО, для автора FB - самое оно.
ANB (2005-05-04 09:32:00) [38]
> @k@DElpher (03.05.05 18:38) [86]
- тебе примерный набор таблиц посоветовать ?
ANB (2005-05-04 09:31:00) [39]
> В ora тоже (тоже так можно)
- нельзя. В оракл только строки приезжают. New и Old.
Гы, у меня такой же набор.
и под каждым не хватает чего-либо- на этом и закруглим. Полностью присоединяюсь. В принципе спор то был о выборе настольной СУБД. Я почему оракл рекомендовал - возможности крутые и станет на любой комп. А MS SQL сервер потребует (вот козлы, неплохая настольная база была, и админить ее просто).
> @k@DElpher (03.05.05 18:38) [86]
- если 1С стоит, то и оракл встанет, если места хватит и найдешь
@k@DElpher (2005-05-03 18:38:00) [40]Ну значит 386... Во всяком случае на нём с небольшими тормозами 1С(торговля+склад) И АвтоКаталог, который на FB пашет...
Если и будет что-то слетать, то другой купят:)