|
|
|
Получение последны измененные данные
|
|||
|---|---|---|---|
|
#18+
Всем привет! Дайте мне идея! Есть таблица учет товара. В нем: Код: html 1. здесь кредит расход и дебет приход. Таким образом: Как можно следит за остатками? Заранее Всем спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2014, 10:41 |
|
||
|
Получение последны измененные данные
|
|||
|---|---|---|---|
|
#18+
Я написал вот такой триггер: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. Мне кажется это не вариант! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2014, 10:43 |
|
||
|
Получение последны измененные данные
|
|||
|---|---|---|---|
|
#18+
Alimkulovздесь кредит расход и дебет приход. Дизайнеру базы руки оторвать по самую задницу. AlimkulovКак можно следит за остатками? Код: sql 1. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2014, 11:01 |
|
||
|
Получение последны измененные данные
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovДизайнеру базы руки оторвать по самую задницу. Что вы имеете в виду? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2014, 11:12 |
|
||
|
Получение последны измененные данные
|
|||
|---|---|---|---|
|
#18+
AlimkulovDimitry SibiryakovДизайнеру базы руки оторвать по самую задницу. Что вы имеете в виду? Что они (руки) у него (дизайнера базы) из этой самой задницы и растут. Насколько я понимаю, именно ты спроектировал это убожество. Можешь обосновать выбор такой странной структуры таблицы? Ты, кстати, даже не сказал что это за таблица. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2014, 11:19 |
|
||
|
Получение последны измененные данные
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovAlimkulovпропущено... Что вы имеете в виду? Что они (руки) у него (дизайнера базы) из этой самой задницы и растут. Насколько я понимаю, именно ты спроектировал это убожество. Можешь обосновать выбор такой странной структуры таблицы? Ты, кстати, даже не сказал что это за таблица. Теперь не Вы, а Ты! Следи за словом! Ну если не так проектировал, это не значить что 'Что они (руки) у него (дизайнера базы) из этой самой задницы и растут.' Ты родился со знанием проектирования что ли. Нет ты родился не зная ничего! Да ты сейчась хорошо проектируеш. Но с начало тебе тоже было трудно с проектированием. Получается твая голова из той места, который ты вызазыл! понятно тебе! Насчет таблица, эта таблица движения товаров в firebrid. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2014, 11:32 |
|
||
|
Получение последны измененные данные
|
|||
|---|---|---|---|
|
#18+
AlimkulovНасчет таблица, эта таблица движения товаров в firebrid. И в каком бизнес-процессе ты нашёл, что товар движется в обеих направлениях одновременно? В чём глубинный смысл хранения даты и времени в отдельных полях? Зачем нарушать вторую НФ хранением полной суммы? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2014, 11:53 |
|
||
|
Получение последны измененные данные
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Как будет вообще правилно? Ты можеш дать вариант? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2014, 11:58 |
|
||
|
Получение последны измененные данные
|
|||
|---|---|---|---|
|
#18+
AlimkulovТы можеш дать вариант? Сначала ответь на вопросы выше. Кто ж знает что у тебя там за ТЗ и что за БП... Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2014, 12:11 |
|
||
|
Получение последны измененные данные
|
|||
|---|---|---|---|
|
#18+
AlimkulovDimitry Sibiryakov, Как будет вообще правилно? Ты можеш дать вариант? Пристрелить,не выживет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2014, 12:13 |
|
||
|
Получение последны измененные данные
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, БД в firebrid. Есть таблица товаров: Код: sql 1. 2. 3. 4. 5. 6. 7. Приход товара осуществляется с помощью документа приходного акта, a расход с помощью документа расходного акта. Это всем понятно. Существует таблица докуметов: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. И есть таблица остатка товаров Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Вот такая схема. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2014, 13:02 |
|
||
|
Получение последны измененные данные
|
|||
|---|---|---|---|
|
#18+
AlimkulovВот такая схема. Теперь повторяю вопросы медленно: 1) Один и тот же товар ДЕЙСТВИТЕЛЬНО по одному и тому же документу может как поступить на склад так и уйти с него? Т.е. в таблице TOTAL поля AMOUNTD и AMOUNTK могут быть не нулевыми одновременно? 2) В чём причина нарушения второй НФ в виде хранения TOTAL_AMOUNT? 3) В чём проблема "следить за остатками" с помощью запроса, приведённого в первом же ответе? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2014, 13:30 |
|
||
|
Получение последны измененные данные
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovAlimkulovВот такая схема. Теперь повторяю вопросы медленно: 1) Один и тот же товар ДЕЙСТВИТЕЛЬНО по одному и тому же документу может как поступить на склад так и уйти с него? Т.е. в таблице TOTAL поля AMOUNTD и AMOUNTK могут быть не нулевыми одновременно? 2) В чём причина нарушения второй НФ в виде хранения TOTAL_AMOUNT? 3) В чём проблема "следить за остатками" с помощью запроса, приведённого в первом же ответе? По приходному акту записывается на AMOUNTD (Дебет), а по расходному записывается на AMOUNTK (Кредит) TOTAL_AMOUNT = Предедуший остаток +/- AMOUNT(D/K) (Дебет или кредит). Найти Предедуший остаток. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2014, 13:47 |
|
||
|
Получение последны измененные данные
|
|||
|---|---|---|---|
|
#18+
Alimkulov, Что означает твой НФ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2014, 13:49 |
|
||
|
Получение последны измененные данные
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Что означает твой НФ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2014, 13:49 |
|
||
|
Получение последны измененные данные
|
|||
|---|---|---|---|
|
#18+
В таблице документов как минимум не хватает признака что это - приход или расход. Возможно это определяется по внешним ссылкам, но зачем? Таблица остатков в таком виде дублирует таблицу документов, да еще и плохо дублирует - в таком виде она вообще не нужна ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2014, 14:04 |
|
||
|
Получение последны измененные данные
|
|||
|---|---|---|---|
|
#18+
AlimkulovTOTAL_AMOUNT = Предедуший остаток +/- AMOUNT(D/K) (Дебет или кредит). Не надо так делать. Выкинь это поле вообще. Поля AMOUNTD и AMOUNTK объедини в одно, где храни положительное количество для поступлений товара и отрицательное - для отгрузки. AlimkulovЧто означает твой НФ? На лекциях о проектировании БД вам не рассказывали о Нормальных Формах?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2014, 14:06 |
|
||
|
Получение последны измененные данные
|
|||
|---|---|---|---|
|
#18+
VerLeonТаблица остатков в таком виде дублирует таблицу документов Ага, я тоже сначала думал, что TOTAL это у него таблица остатков, но, судя по ссылке на документ, это всё же спецификация накладной. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2014, 14:13 |
|
||
|
Получение последны измененные данные
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovVerLeonТаблица остатков в таком виде дублирует таблицу документов Ага, я тоже сначала думал, что TOTAL это у него таблица остатков, но, судя по ссылке на документ, это всё же спецификация накладной. Не так, спецификация накладной у меня храняется в отделном таблице, которого я не указывал тебе. Dimitry SibiryakovНе надо так делать. Выкинь это поле вообще. Поля AMOUNTD и AMOUNTK объедини в одно, где храни положительное количество для поступлений товара и отрицательное - для отгрузки. С этим я согласен. Теперь как найти сальдо на конец периода? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2014, 14:37 |
|
||
|
Получение последны измененные данные
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovVerLeonТаблица остатков в таком виде дублирует таблицу документов Ага, я тоже сначала думал, что TOTAL это у него таблица остатков, но, судя по ссылке на документ, это всё же спецификация накладной. Да, что-то невнимательно посмотрел, думал что заголовок и спецификация объединены в одну таблицу DOC100. А так да - TOTAL - это спецификация с кучей избыточных полей. Тогда ты во всем прав: 1. TOTAL - это спецификация документа. Убрать оттуда дебит-кредит, оставить количество и сумму. нарастающие итоги - и подавно убить. Да и переобзвать в что-то похожее на истинное предназначение таблицы. 2. В DOC100 желательно добавить признак вида документа. Хотя если база небольшая, то можно и без этого, но я бы в любом случае это сделал (пусть и в нарушение 1 НФ) 3. Если нужна таблица остатков - сделать другую таблицу. Дата - товар - остаток (количество и если реально нужно - сумма). Таблица ведется на триггерах, меняется при проведении документа. Но надо еще подумать - нужна ли она вообще. Как бэ общие принципы для любой системы учета товародвижения :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2014, 14:51 |
|
||
|
Получение последны измененные данные
|
|||
|---|---|---|---|
|
#18+
Alimkulov, Пляши от логики всегда. Что ты хочешь получить от таблицы остатков? Количество (и возможно сумму) остатка конкретного товара на дату? Тогда она должна быть дата-товар-остаток (количество и сумма, если надо). Общую сумму товара на складе - тода дата-сумма (количество уже не интересно) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2014, 14:55 |
|
||
|
Получение последны измененные данные
|
|||
|---|---|---|---|
|
#18+
AlimkulovТеперь как найти сальдо на конец периода? SQL запросом SELECT с использованием агрегатной функции SUM() и условием выборки всех движений, предшествующих концу периода. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2014, 15:17 |
|
||
|
Получение последны измененные данные
|
|||
|---|---|---|---|
|
#18+
[quot Dimitry Sibiryakov] AlimkulovTOTAL_AMOUNT = Предедуший остаток +/- AMOUNT(D/K) (Дебет или кредит). Не надо так делать. Выкинь это поле вообще. Поля AMOUNTD и AMOUNTK объедини в одно, где храни положительное количество для поступлений товара и отрицательное - для отгрузки. Думал что, буду использовать этого таблицу на документе акт внутренные перемещения. Тогда например со склада №1 на склад №2 перемещаем товар в количестве 10 шт. проводко AMOUNTD (склад №2) = 10; AMOUNTK (склад №1) = -10; Вот почему я розделил на 2 части. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2014, 17:53 |
|
||
|
Получение последны измененные данные
|
|||
|---|---|---|---|
|
#18+
Alimkulov, а если количество складов возрастёт до 50? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2014, 17:57 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=38650921&tid=1563567]: |
0ms |
get settings: |
11ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
189ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
81ms |
get tp. blocked users: |
1ms |
| others: | 242ms |
| total: | 567ms |

| 0 / 0 |
