|
|
|
Просветите по схеме
|
|||
|---|---|---|---|
|
#18+
Выcпрошайка, ну так и добавь поле фактического остатка в таблицу движений. И вычисляй его при записи в неё прихода или расхода. Если приход товара в магазин, находишь последнюю запись об этом товаре в указанный магазин (не важно приход или расход) и плюсуешь к полученному запросом значению остатка значение прихода. Всю информацию записываешь в таблицу движений, при расходе разница только в том, что минусуешь. И всё что тебе нужно будет в таблице. Даже можно будет простым запросом строить историю остатков на любую дату. А из справочника изделий остатки лучше убрать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2014, 14:45 |
|
||
|
Просветите по схеме
|
|||
|---|---|---|---|
|
#18+
Mr.Fontaine, то есть получается из трёх таблиц слепили одну. С избыточностью информации конечно, ухудшением целостности данных, но зато как ты хочешь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2014, 14:50 |
|
||
|
Просветите по схеме
|
|||
|---|---|---|---|
|
#18+
Mr.FontaineВыcпрошайка, ну так и добавь поле фактического остатка в таблицу движений. Не очень удачная схема - никаких выигрышей по сравнению с отдельной таблицей остатков она не несет, только проблемы 1. Что Вы будете делать с несколькими строго одновременными операциями? 2. Что будет, если операцию движения будет редактировать позже? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2014, 14:52 |
|
||
|
Просветите по схеме
|
|||
|---|---|---|---|
|
#18+
Кот Матроскин, однозначно неудачная (я кстати про это написал), но всё же думаетеся мне, удачнее, чем выделение фактических остатков в таблицу изделий. Проблемы (особенно первая) описанные Вами присутствуют и при записи остатков в таблицу изделий. Во-вторых, почему последнюю запись надо брать по времени? А id на что? Ну а про редактирование, это уж пусть извращаются авторы, раз шибко хочется видеть это поле. Конечно, при хранении только текущего значения остатков можно просто определить величину изменения при редактировании и записать новое значение в поле остатков таблицы изделий, но ведь при моём варианте после определения величины изменения можно же update забабахивать на все последующие записи движения этого товара в этом магазине. Просто хранение остатков без привязки к магазинам это вообще чушь какая-то.... Никакого анализа по этой цифре не сделаешь, соответственно она не особо и нужна ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2014, 15:02 |
|
||
|
Просветите по схеме
|
|||
|---|---|---|---|
|
#18+
Mr.FontaineПросто хранение остатков без привязки к магазинам это вообще чушь какая-то.... Никакого анализа по этой цифре не сделаешь, соответственно она не особо и нужна Не путайте божий дар с яичницей. Остаток без привязки к магазину - отличный показатель для планирования закупки новой оптовой партии (с последующей поставкой в магазины) :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2014, 18:49 |
|
||
|
Просветите по схеме
|
|||
|---|---|---|---|
|
#18+
Вот что получается при такой схеме. Ну и где тут остатки по отдельному Магазину(Подразделению) должны лечь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2014, 12:30 |
|
||
|
Просветите по схеме
|
|||
|---|---|---|---|
|
#18+
Наверное все равно придется делать таблицу Остатки. Вот скрин. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2014, 12:32 |
|
||
|
Просветите по схеме
|
|||
|---|---|---|---|
|
#18+
ВыcпрошайкаНаверное все равно придется делать таблицу Остатки. Вот скрин. Схема с таблицей Остатки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2014, 12:33 |
|
||
|
Просветите по схеме
|
|||
|---|---|---|---|
|
#18+
И еще, никак не пойму в каком месте кода нужно сделать проверку на нуль? А то ошибку выдает. Выделил цветом. Хотя свойство QuantityIncoming имеет цифирь, но пишет что объект не имеет значения. Подскажите плиз. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2014, 12:42 |
|
||
|
Просветите по схеме
|
|||
|---|---|---|---|
|
#18+
ВыcпрошайкаВот что получается при такой схеме. Ну и где тут остатки по отдельному Магазину(Подразделению) должны лечь? До этого момента мне казалось, что мы проектируем БД. Оказывается разрабатываем интерфейс... В данной форме согласен, остатки по магазину не нужны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2014, 08:39 |
|
||
|
Просветите по схеме
|
|||
|---|---|---|---|
|
#18+
Mr.FontaineВыcпрошайкаВот что получается при такой схеме. Ну и где тут остатки по отдельному Магазину(Подразделению) должны лечь? До этого момента мне казалось, что мы проектируем БД. Оказывается разрабатываем интерфейс... А разве одно другому должно противоречить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2014, 09:17 |
|
||
|
Просветите по схеме
|
|||
|---|---|---|---|
|
#18+
Выcпрошайка, откуда такая мыль про противоречие двух совершенно не связанных процессов. База данных проектируется для хранения данных, приложение - для отображения их. Как удобно хранить для понимания структуры, так и хранишь данные, потом как удобно воспринимать информацию, так и отображаешь. Никаких противоречий в этом вопросе быть не может ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2014, 11:36 |
|
||
|
Просветите по схеме
|
|||
|---|---|---|---|
|
#18+
Mr.FontaineВыcпрошайка, откуда такая мыль про противоречие двух совершенно не связанных процессов. База данных проектируется для хранения данных, приложение - для отображения их. Как удобно хранить для понимания структуры, так и хранишь данные, потом как удобно воспринимать информацию, так и отображаешь. Никаких противоречий в этом вопросе быть не может Да это понятно. Картинки привел для наглядности. Просто хотелось бы чтобы результат сразу видел пользователь, без предварительного клика на кнопку, которая бы выводила отчет. Поэтому и таблицу Остатки сделал. Выглядеть примерно будет так как на скрине. Какие проблемы будут в хранении не знаю. Может у кого есть другое мнение. тогда приведите пример правильной схемы БД, ну и картинку желательно увидеть как данные выглядят в юзер интерфейсе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2014, 22:31 |
|
||
|
Просветите по схеме
|
|||
|---|---|---|---|
|
#18+
Выcпрошайка, мнений по схеме БД в этом топике напривилили уже порядочно. Тебе самому выбирать какой лучше. Лично мне кажется, более правильным решение отказа от хранения остатков и справочники должны хранить только справочную информацию. Так-то полной постановки задачи не было, потому я напишу по тому, что писал ты. Во-первых, займёмся справочниками. таблица Категории (id категории, наименование, id родителя) таблица Изделия (id изделия, наименование, id категории) таблица Магазины (id магазина, наименование) ну и одна рабочая таблица Движение (id движения, id изделия, id магазина, дата, направление (расход или приход), количество) При этом остатки можно вычислить простым запросом, который схематично выглядит так: Код: sql 1. Если не надо считать остатки по магазинам, то и не указывай в запросе id магазина. Или сделать этот запрос вьюхой при необходимости определения общих остатков выполнять запрос Код: sql 1. Вот и всё проктирвование БД по твоеим требованиям Конечно, при необходимости, можно подобавлять ещё кучу полей и таблиц. Например, в справочники статус изделия, категории, магазина (типа активен, не активен и т.п.) В таблицу движений добавить единицы измерения в какой единице пришло или ушло изделие. При этом конечно следует создать справочник единиц измерений: id единицы измерения, наименование, id базовой единицы измерения, коэффициент пресчёта в базовую единицу измерения (например, один раз пришло 12 бутылок водки, в следующий раз 5 ящиков водки, чтобы правильно сосчитать остатки требуется иметь возможность перевода бутылок в ящики и наоборот) Да много что ещё можно добавить при необходимости А уж как это выводить пользователю, это совершенно другая тема, к проектированию БД не имеющая никакого отношения. Но это тебе и самому понятно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2014, 08:43 |
|
||
|
Просветите по схеме
|
|||
|---|---|---|---|
|
#18+
ВыcпрошайкаИмеем: Одна Категория Вино-водочного изделия имеет много Наименований изделий (1:М). Пример:Категория - Водка имеет много наименований (Водка пшеничная, Водка анисовая, Абсент); категория-Коньяк (Коньяк армянский, Коньяк французский). Один Магазин имеет много Наименований водки, а одно Наименование водки может находиться во многих магазинах. То есть связь многие ко многим (М:М). Значит связующие таблицы будут Приход и Расход и Остатки. Или Приход и Расход в одну таблицу объединить, сделав столбец Операция? классно рецептус -> сходи на 1с чую ща меня запинают почем зрря но - сходи на 1с не пожалеешь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2014, 23:26 |
|
||
|
Просветите по схеме
|
|||
|---|---|---|---|
|
#18+
9681ВыcпрошайкаИмеем: Одна Категория Вино-водочного изделия имеет много Наименований изделий (1:М). Пример:Категория - Водка имеет много наименований (Водка пшеничная, Водка анисовая, Абсент); категория-Коньяк (Коньяк армянский, Коньяк французский). Один Магазин имеет много Наименований водки, а одно Наименование водки может находиться во многих магазинах. То есть связь многие ко многим (М:М). Значит связующие таблицы будут Приход и Расход и Остатки. Или Приход и Расход в одну таблицу объединить, сделав столбец Операция? классно рецептус -> сходи на 1с чую ща меня запинают почем зрря но - сходи на 1с не пожалеешь А чего именно там смотреть то надо? Ну стоит на компе у меня 1с. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2014, 10:45 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=38641065&tid=1540878]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
191ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
61ms |
get tp. blocked users: |
1ms |
| others: | 13ms |
| total: | 305ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...