powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / структура таблиц/и
8 сообщений из 8, страница 1 из 1
структура таблиц/и
    #34688812
k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
k
Гость
здравствуите господа
описание ситуации:
склад.
склад получил товар (допустим сервиз для кофе, состоящи из: сахарница - 1, молочница - 1, чашки - 6).
склад получает товар ящиками. в ящике 10 комплектов.
а выдача со склада может быть: ящиками, комплектами или частями комплекта (например сахарница отделно или две чашки).
некак не могу придумать структуру, при которой все это можно организовать.
спосибо
...
Рейтинг: 0 / 0
структура таблиц/и
    #34689133
Bely
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kздравствуите господа
описание ситуации:
склад.
склад получил товар (допустим сервиз для кофе, состоящи из: сахарница - 1, молочница - 1, чашки - 6).
склад получает товар ящиками. в ящике 10 комплектов.
а выдача со склада может быть: ящиками, комплектами или частями комплекта (например сахарница отделно или две чашки).
некак не могу придумать структуру, при которой все это можно организовать.
спосибоНеобходимо организовать операцию:
Сборка-разборка комплекта.

С помощью нее надо все и реализовывать.
Ушел со склада ящик (100 стаканов) - пришло 100 стаканов россыпью.
После этого стаканы можно продавать поштучно.

Аналогичная проблема бывает при производстве (в частности при производстве компьютеров).
Компьютер - это отдельная позиция на складе, а собирается он из комплектухи, которая на этом же складе лежит.
В процессе сборки происходит преобразование отдельных железок в единый комплект - компьютер.
может быть и обратно, если компьютер не продался и решили его продать по частям.

примерно так.
...
Рейтинг: 0 / 0
структура таблиц/и
    #34689326
k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
k
Гость
Bely спосибо конечно, но это и я знаю, но делать такое не хочу. :(
в случае с компами конечно так и надо, реално это производство из однои сушности получаем другую. а тут все иначе. кроме того, в случае с компами приходится именно собирать, сборщик явно должен укозать из каких деталей собрал эгземпляр к продаже (конечно, можно и рецепт заранее загатавливать, но это не силно меняет ситуацию). а тут надо чтоб все было автоматом, да ещо и просто и понятно дла кладавщика. чтоб ему не приходилос при отпуске товара чтото разбирать или собирать.

я думаю в направлении иерархии.
ящик -> комплект -> эгземпляр. (эстественно неограниченной вложенности)
каличество, стоимость и все осталное пишется в эгземпляре, а верхний уровен вычисляется. но не удается все коректно сделать.
кроме того возникает вопрос, что и как писать в истории.
вот и подумал, может кто делал такое?
...
Рейтинг: 0 / 0
структура таблиц/и
    #34690279
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BelyАналогичная проблема бывает при производстве (в частности при производстве компьютеров).
Аналогичная проблема бывает везде. Случай из практики - примерно следующий процесс: стоит бочка, с которой в случайной последовательности делают три операции:

- льют в нее некоторое количество бензола марки А
- льют в нее некоторое количество бензола марки Б
- забирают некоторое количество смести.

Задачи выдерживать пропорцию итп не стоит, как получилось - так и получилось.

а тут надо чтоб все было автоматом, да ещо и просто и понятно дла кладавщика. чтоб ему не приходилос при отпуске товара чтото разбирать или собирать
Не путайте разные вещи.

Хранить в БД надо так, чтобы был надежный и удобный учет, и модель для этого названа. "Просто и понятно для кладовщика" - задача бизнес-процессов и интерфейса.

Как вариант - введите понятие "комплект". Приходящие на склад комплекты автоматом разукомплектовываются; таким образом, кладовщик видит "чашек у меня двадцать, тарелок десять". Также решается задача изменения состава комплекта; если в новых поставках станет десять чашек вместо восьми, остатки не поплывут. Уходить со склада могут как отдельные экземпляры, так и комплекты, в последнем случае выполняется автоматическая комплектация.
...
Рейтинг: 0 / 0
структура таблиц/и
    #34690680
k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
k
Гость
softwarer Как вариант - введите понятие "комплект". Приходящие на склад комплекты автоматом разукомплектовываются; таким образом, кладовщик видит "чашек у меня двадцать, тарелок десять". Также решается задача изменения состава комплекта; если в новых поставках станет десять чашек вместо восьми, остатки не поплывут. Уходить со склада могут как отдельные экземпляры, так и комплекты, в последнем случае выполняется автоматическая комплектация.т.е вы предлагаите ввести понятие "комплект" (для комплектов иерархию, без этого некак),
а отделние комплектующие описыать обычно. некоторые товары могут иметь комплект, некоторые нет. и в истории фиксировать какои "комплект" пришел или ушел (эсли была операция с "комплект"-ом).
идея вроде дельная, но пока плохо представляю все это в реалнои структуре.
может деталнее сможите описать? честно скозать, у меня болше всего проблеммы с фиксированием истории. в истории (хранилище) нужно отобразить все деиствия, при том что структура должна быть максимално простой.
в любом случае спосибо.
...
Рейтинг: 0 / 0
структура таблиц/и
    #34690742
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kможет деталнее сможите описать?
Как Вам сказать.. схема совершенно стандартная, опирается в первую очередь на два понятия: документ и движение товара.

Документ - как правило, представление соответствующей бумажки. Обладает списком товарных позиций и описывает намерение выполнить ту или иную операцию. В момент простановки статуса "принят", "выполнен" итп становится фактом.

Движение товара - это запись о приходе либо уходе товара в одно из мест хранения. Движение товара в обязательном порядке имеет основание - документ, а точнее, позицию из него. Так, строка приходной накладной является основанием для прихода соответствующего количества товара на склад. Создается в тот самый момент "документ становится фактом".

Документы и движения вместе и представляют ту историю, о которой Вы совершенно справедливо заботитесь.

Судя по описанию, Вам нужна автоматическая сборка-разборка комплектов. То есть: в тот момент, когда приходит комплект, автоматически генерится документ "разукомплектация". По этому документу со склада уходит один рояль, а приходят сотня струн, пятьдесят с хвостом белых клавиш, сорок с хвостом черных, пара педалей, двести-триста кило чугуна и кубометр дров. Аналогично, когда кто-то хочет купить рояль, автоматом генерится документ комплектации.

В принципе, разукомплектовывать сразу по приходу необязательно. Вместо этого можно разукомплектовывать по необходимости - если кому-то потребовалась белая клавиша, а ни одной нет в наличии - спросить у кладовщика "может, выломаем из рояля?" Но думаю, вам это будет менее удобно.

Также в принципе необязательно играть в пинг-понг; можно обойтись без дополнительных документов, если поступить так: в документе строка "приход рояля", а товарные движения к этой строке привязаны на клавиши, струны итп. Но я бы не стал здесь лениться; потом аукнется.
...
Рейтинг: 0 / 0
структура таблиц/и
    #34690958
k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
k
Гость
softwarerСудя по описанию, Вам нужна автоматическая сборка-разборка комплектов. так точно, но softwarerТакже в принципе необязательно играть в пинг-понг; можно обойтись без дополнительных документов, если поступить так: в документе строка "приход рояля", а товарные движения к этой строке привязаны на клавиши,вот это мне нужно организовать, но softwarerпотом аукнется.по этому и ищу вариант чтоб не аукнулас.
конечно, самый простои вариант softwarerв тот момент, когда приходит комплект, автоматически генерится документ "разукомплектация".и наабарот. но при этом нет реалного документа. именно этого я не хочу. не правилно создавать документ с воздуха, даже если он служебный. тем более что сделать тоже самое можно не очен сложным запросом.
учитывать нужно и то, что такои подход нужен примерно к 0,01% товаров. и из за этого силно усложнять не хочется. но сделать нужно.
вот примерно к чему я прищел, пока что:

таблица товаров
код товара
наименование товара
. . .
и все что ещо там нужно

таблица связеи для сборных товаров
код товара
код комплектуишего товара
каличество комплектуищего товара

при этом: усложнится отслеживание партии. но главное, не могу придумать структуру журнала движения товара.
...
Рейтинг: 0 / 0
структура таблиц/и
    #34690982
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kи наабарот. но при этом нет реалного документа. именно этого я не хочу.
А побудительные моменты, кроме сугубо религиозных?

kне правилно создавать документ с воздуха, даже если он служебный.
Не надо пытаться черезчур однозначно соответствовать реальному миру. Грубо говоря, таблица у Вас называется "Документ", а не "Бумажный документ". А правильнее может быть даже не "Документ", а "Операция" - и некоторые операции соответствуют используемым у клиента бумажным документам.

Представьте, например, что Вы пишете универсальную систему. У одного клиента - явные операции комплектации, Вы их делаете с "документами не из воздуха". А другой клиент - говорит, мол, не нужна мне эта хрень. И Вы делаете галочку в настройках: делать операции комплектации автоматически. Никакого криминала здесь нет.

kучитывать нужно и то, что такои подход нужен примерно к 0,01% товаров. и из за этого силно усложнять не хочется. но сделать нужно.
Вот именно что. Стоит сделать просто, единообразно, и при этом так, чтобы последующие изменения задачи не стали проблемой. Точное описание "технического документа".
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / структура таблиц/и
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]