|
|
|
Снабжение и склад
|
|||
|---|---|---|---|
|
#18+
Вроде, не новичек в БД, но со складом и снабжением ранее не сталкивался. Попробовал построить БД и столкнулся с некоторыми проблемами, решение которых с ходу не нашел. SQL Server 2005 С одной стороны - есть склады - каждый склад представляет собой векторное пространство адресов. На каждом одресе могут храниться несколько разных или одинаковых деталей. В принципе, сложностей у меня не вызывает. Берем во внимание, что есть таблица со своим ид. Детали на склад поступают от поставщика(ов) в соответствии с заказами (таблица) + позиции заказов (таблица). Заказ может быть как на различные детали, так и на одинаковые, но с разной датой доставки. Для доставленых деталей таблица Доставок + деталировка доставки. Доставка по позициям заказа может быть как частичной, так и объединенной для одинаковых деталей с разной датой доставки. Вместе с доставкой приходит либо Упаковочный лист либо платежка либо эти два документа вместе. Но одна платежка может придти и сразу на несколько доставок (упаковочных листов ИЗ РАЗНЫХ заказов!). Здесь у меня возникает первае сомнение. Понятно, что номер Упаковочного листа должен быть полем в табл.Доставок. А как быть с Платежкой? Прописать ее здесь же - вроде как отойти от нормализации. Иначе - добавлять еще 2 таблицы - Платежка и ее упаковочные листы. Не то чтобы я экономил на таблицах, но, во-первых, таблиц набирается немало. Во-вторых, не очень вижу как потом управлять этими таблицами: ввел номер платежки, нашел в справочнике поставщика, выбрал заказ 1, выбрал все упаковочные листы к нему, перешел ко второму заказу... Слишком много действий. Далее, усложнения. Детали иногда приходят некачественные и приходится их отсылать по рекламации: документ на рекламацию (таблица), позиция(ии) по рекламации. Затем, возврат из рекламации - опять 2 таблицы. Детали со склада направляются подрядчику для изготовления полуфабрикатов - еще 2 таблицы. От подрядчика возвращаются остатки + 2 таблы. Подрядчик возвращает на склад полуфабрикат + 2 таблицы. Возможны рекламации полуфабрикатов + 2 табл на возврат + 2 на приход. Движение между складами - передача с одного склада на другой - 1 таблица. Отправка готовой продукции заказчику + 2 тбл... Здесь мой второй вопрос: как справиться с этим движением? Для каждого движения строить свою таблицу складского движения - адрес склада, ид из соответствующей таблицы или как то можно построить одну таблицу двжения по складу с глобальным индитификатором. Что тоже нарушает нормализацию с одной стороны. А с другой усложняет процесс ввода данных: сначала придется заполнять эту таблицу, получать индитификатор и заносить его вместе с данными в соответствующую тбл. Наверное, сумбурно несколько описал. Готов ответить на любые вопросы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2012, 16:11 |
|
||
|
Снабжение и склад
|
|||
|---|---|---|---|
|
#18+
1. "Векторное пространство адресов" - несколько необычный термин для складского учета. Имеется в виду физическое расположение внутри склада (номер стеллажа - полки - коробки), или что-то другое? Вместе с доставкой приходит либо Упаковочный лист либо платежка либо эти два документа вместе. Но одна платежка может придти и сразу на несколько доставок 2. Отделить мух от котлет, то есть заказ товара от его поставки, а поставку товара - от его оплаты. Это разные процессы, разные документы. Связанные, но разные. Прежде всего, с доставкой "приходит" приходный ордер. И рождается "партия". А к ней уже можно привязывать - по какому заказу (или без заказа) она пришла, какой платежкой оплачена (или еще не оплачена). 3. Далее, по возвратам, и прочим движениям товара. На самом деле документов будет больше, и со временем проявятся новые. Сделаете каждый тип документа в свою таблицу - огребете много таблиц и много проблем. Сделаете в одну - это правильнее, но делать это надо будет внимательно. В общем, на данном этапе отодвиньте БД, рисуйте документооборот, и выделяйте сущности. Результат в в студию для обсуждения. И поищите по форуму слова "склад", "партионный учет". Готовые куски обсуждались неоднократно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2012, 18:04 |
|
||
|
Снабжение и склад
|
|||
|---|---|---|---|
|
#18+
Rivkin DmitryЗдесь у меня возникает первае сомнение. Понятно, что номер Упаковочного листа должен быть полем в табл.Доставок. А как быть с Платежкой? Формально связь разных документов и их строк состава - многие ко многим. Например одна строка заказа может быть оплачена несколькими разными платёжками. А может быть наоборот, одной платёжкой оплачено несколько разных строк заказа. Поэтому прямых ссылок быть не должно, так как они работают только при прямой генерации дочерних документов. Точнее, если только прямая генерация дочерниз документов - ими можно обойтись, но в общем случае - нет. Нужны отдельные "связки". Если рассматривается какая-то очень ограниченная ситуация - тогда возможно есть и особенности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2012, 18:28 |
|
||
|
Снабжение и склад
|
|||
|---|---|---|---|
|
#18+
Rivkin Dmitry, типа, ТЗ - сам-себе... имхо, поэтому - столкнулся с некоторыми проблемами, решение которых с ходу не нашел... Уважаемый, а на бид-4 будет продолжение ? ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2012, 20:19 |
|
||
|
|

start [/forum/topic.php?fid=32&fpage=46&tid=1541583]: |
0ms |
get settings: |
4ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
55ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
23ms |
get tp. blocked users: |
1ms |
| others: | 204ms |
| total: | 306ms |

| 0 / 0 |
