|
|
|
как правильно хранить и получать текущее состояние ячейки склада.
|
|||
|---|---|---|---|
|
#18+
Есть склад Не складе много ячеек. По каждой ячейке идет большой оборот прихода расхода. Как правильно организовать хранение данных? 1. Писать все приходы в ячейку в таблицу с знаком плюс а расходы со знаком минус А остатки по ячейкам вычислять суммирование товаров с + и - Либо 2 подход как в п,1 только для прихода своя таблица для расхода своя таблица. Остатки вычислять так же Либо 3. Расходы в таблицу А приходы в таблицу Б А состояние ячейки держать в отдельной таблице Ж в которой идет через триггер update количества товара в зависимости от того списывается он или оприходуется. И при запросе остатков получать из таблицы Ж которая по сути не должна быть огромной. Думаю задача не нова хотелось бы услышать как мир ее решил. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2016, 03:28 |
|
||
|
как правильно хранить и получать текущее состояние ячейки склада.
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2016, 10:42 |
|
||
|
как правильно хранить и получать текущее состояние ячейки склада.
|
|||
|---|---|---|---|
|
#18+
eualexey, Все зависит от оборота и субд. Обычно как в 1, только плюс еще одна таблица для хранения остатков скажем на 1 число каждого месяца. Текущий остаток считаем как остаток на 1 число, плюс оборот по таблице начиная с 1 числа по нужный момент времени. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2016, 10:43 |
|
||
|
как правильно хранить и получать текущее состояние ячейки склада.
|
|||
|---|---|---|---|
|
#18+
Вариант - Таблица одна ,но есть еще поле - справочник видов движения - в том числе и остаток (скажем на начало месяца, хотя можно и ежедневный).В этом справочнике уход, приход, перевод, списание, раздробление и т.д. Хотя я справочник движения прикрепил и к документу, а в документе куча записей... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2016, 21:56 |
|
||
|
как правильно хранить и получать текущее состояние ячейки склада.
|
|||
|---|---|---|---|
|
#18+
Злой Бобр, А те данные которые в таблице до 1 числа они куда то в архивную таблицу должны сбрасываться или же так все в 1 и копиться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2016, 22:43 |
|
||
|
как правильно хранить и получать текущее состояние ячейки склада.
|
|||
|---|---|---|---|
|
#18+
eualexeyА те данные которые в таблице до 1 числа они куда то в архивную таблицу должны сбрасываться или же так все в 1 и копиться? Две отдельные таблицы. Ну а бекап вы ж всей БД делаете. Ну или задайте вопрос более конкретно, а то я толком немогу понять в чем суть вопроса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2016, 02:55 |
|
||
|
как правильно хранить и получать текущее состояние ячейки склада.
|
|||
|---|---|---|---|
|
#18+
Поверьте опыту - не дело это 2 таблицы... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2016, 10:36 |
|
||
|
как правильно хранить и получать текущее состояние ячейки склада.
|
|||
|---|---|---|---|
|
#18+
WMS изобретаете? как уже отметили выше. приход / расход номенклатуры лучше писать в одну таблицу 'SkuLocLot' оперирую знаками, также можно держать ключ операции "picking" / "refill" и т.д. Актуальный баланс ячейки держать в другой таблице, т.к. в транзакционной системе нет времени суммировать все Ваши движения с точкой актуальности. Если есть потребность (а она точно есть у Вас) промежуточный баланс ячейки "на начало месяца" необходимо держать в отдельной таблице (3я таблица), иначе как оперативно историю поднимать за определенный период. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2016, 17:08 |
|
||
|
как правильно хранить и получать текущее состояние ячейки склада.
|
|||
|---|---|---|---|
|
#18+
Думаю не слабо еще 4-ю таблицу придумать? 3 таблицы с одной структурой ? Круглое тащим, а куб катим.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2016, 19:43 |
|
||
|
как правильно хранить и получать текущее состояние ячейки склада.
|
|||
|---|---|---|---|
|
#18+
RissДумаю не слабо еще 4-ю таблицу придумать? 3 таблицы с одной структурой ? Круглое тащим, а куб катим.... Какие "3 таблицы с одной структурой" Вы здесь видите? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2016, 20:14 |
|
||
|
как правильно хранить и получать текущее состояние ячейки склада.
|
|||
|---|---|---|---|
|
#18+
Кот Матроскин IDVTWMS изобретаете? как уже отметили выше. приход / расход номенклатуры лучше писать в одну таблицу 'SkuLocLot' оперирую знаками, также можно держать ключ операции "picking" / "refill" и т.д. Актуальный баланс ячейки держать в другой таблице, т.к. в транзакционной системе нет времени суммировать все Ваши движения с точкой актуальности. Если есть потребность (а она точно есть у Вас) промежуточный баланс ячейки "на начало месяца" необходимо держать в отдельной таблице (3я таблица), иначе как оперативно историю поднимать за определенный период. ВСЕ перечисленные таблицы будут иметь как минимум кол-во, сумму, ссылку на ячейку , ну и дату .. Ну и он по моему 3 таблицы предлагает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2016, 00:22 |
|
||
|
как правильно хранить и получать текущее состояние ячейки склада.
|
|||
|---|---|---|---|
|
#18+
RissКот Матроскин IDVTWMS изобретаете? как уже отметили выше. приход / расход номенклатуры лучше писать в одну таблицу 'SkuLocLot' оперирую знаками, также можно держать ключ операции "picking" / "refill" и т.д. Актуальный баланс ячейки держать в другой таблице, т.к. в транзакционной системе нет времени суммировать все Ваши движения с точкой актуальности. Если есть потребность (а она точно есть у Вас) промежуточный баланс ячейки "на начало месяца" необходимо держать в отдельной таблице (3я таблица), иначе как оперативно историю поднимать за определенный период. ВСЕ перечисленные таблицы будут иметь как минимум кол-во, сумму, ссылку на ячейку , ну и дату .. Ну и он по моему 3 таблицы предлагает 1. "N таблиц будут иметь как минимум такие-то поля" и "N таблиц с одинаковой структурой" - это несколько разные тезисы. БОльшая часть таблиц в базе будет иметь поле ID, но это не очень убедительный довод за то, чтобы отказаться от них и складывать все данные в одну. 2. Поле "сумма" для содержимого складской ячейки - может иметь смысл в приходах-расходах, малоосмысленно в "срезе на дату" и бессмысленно от слова "совсем" - для "текущего состояния склада". 3. Поле "Дата" в "текущем состоянии склада" так же вызывает вопросы. Итого, какие общие поля остались для данных 3 таблиц - "количество" и "ячейка"? Лично я не сторонник хранения "текущего состояния склада", но раз уж взялись обсуждать это решение... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2016, 11:18 |
|
||
|
как правильно хранить и получать текущее состояние ячейки склада.
|
|||
|---|---|---|---|
|
#18+
Кот Матроскин 1. Прикольно, но Вы сами добавили еще поле ID ко всем таблицам )) 2 Назовите это "иметь смысл","малоосмысленно" и "бессмысленно", но на 80% думаю, что все эти таблицы будут иметь поле "Сумма" Остальные 20% оставлю на упертость - в смысле "Сказал, что не будет, значит не будет"... 3 "Дата" как бы не вызывал сомнение, но это не значит , что надо его отмести В конце концов 3 поля (включая ID))) - тоже таблица Подойдем по другому... Назовите, пожалуйста, поля, которыми будут отличать эти таблицы... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2016, 13:40 |
|
||
|
как правильно хранить и получать текущее состояние ячейки склада.
|
|||
|---|---|---|---|
|
#18+
RissНазовите, пожалуйста, поля, которыми будут отличать эти таблицы... См. в моем сообщении пункт 2 и пункт 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2016, 14:16 |
|
||
|
как правильно хранить и получать текущее состояние ячейки склада.
|
|||
|---|---|---|---|
|
#18+
Алейкум АссалямRissНазовите, пожалуйста, поля, которыми будут отличать эти таблицы... См. в моем сообщении пункт 2 и пункт 3. Прошу прощения - а где ваше сообщение? ПО сути нашел сообщение автора темы, но там нет описания полей, т.е не по теме прикола с Котом... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2016, 15:35 |
|
||
|
как правильно хранить и получать текущее состояние ячейки склада.
|
|||
|---|---|---|---|
|
#18+
Riss 1. Прикольно, но Вы сами добавили еще поле ID ко всем таблицам )) 2 Назовите это "иметь смысл","малоосмысленно" и "бессмысленно", но на 80% думаю, что все эти таблицы будут иметь поле "Сумма" Остальные 20% оставлю на упертость - в смысле "Сказал, что не будет, значит не будет"... 3 "Дата" как бы не вызывал сомнение, но это не значит , что надо его отмести В конце концов 3 поля (включая ID))) - тоже таблица Подойдем по другому... Назовите, пожалуйста, поля, которыми будут отличать эти таблицы... Например, в приходе/расходе будет ссылка на документ, по которому осуществляется оный приход/расход.Про дату и сумму я уже упомянул. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2016, 16:06 |
|
||
|
как правильно хранить и получать текущее состояние ячейки склада.
|
|||
|---|---|---|---|
|
#18+
RissВариант - Таблица одна ,но есть еще поле - справочник видов движения - в том числе и остаток (скажем на начало месяца, хотя можно и ежедневный).В этом справочнике уход, приход, перевод, списание, раздробление и т.д. Хотя я справочник движения прикрепил и к документу, а в документе куча записей... RissДумаю не слабо еще 4-ю таблицу придумать? 3 таблицы с одной структурой ? Круглое тащим, а куб катим....Конечно не слабо ) Одна таблица на приходы, одна на расходы, одна для остатков на дату, ну и 4ая для актуальных остатков... А можно все и в одну таблицу поместить, где и приходы и расходы и сразу и остатки на дату операции, да заодно и актуальные остатки пересчитываются по всем записям... Архитектура БД это как фетиш для избранных ))) Если смотреть по применению, то есть обороты и остатки. По мне так вполне логично ложатся в две разные таблицы. Остатки, конечно, можно поделить на "на дату" и "актуальные" и хранить в разных таблицах, а можно и в одной - в целом структура у них и правда схожа. А отсутствие даты в актуальном остатке можно использовать как признак отличия "актуальных" остатков от тех что "на дату". (честно говоря, т.к. у обоих подходов есть как плюсы, так и минусы, то влом выбирать) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2016, 19:29 |
|
||
|
как правильно хранить и получать текущее состояние ячейки склада.
|
|||
|---|---|---|---|
|
#18+
Кот МатроскинНапример, в приходе/расходе будет ссылка на документ, по которому осуществляется оный приход/расход.Про дату и сумму я уже упомянул. А что мешает, в данном случае, остатки также иметь здесь, где будет ссылка на документ, который будет рассчитан в процедуре и иметь название "Остатки" и тип документа - остатки? как и документы приходно - расходные Ведь этих остатков по количеству записей гораздо меньше, при интенсивных купли - продажах и они некритично будут влиять на роль во времени обслуживания ? Будет даже проще - вместо 3 таблиц - одна? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2016, 19:58 |
|
||
|
как правильно хранить и получать текущее состояние ячейки склада.
|
|||
|---|---|---|---|
|
#18+
lLocust, Даже спорить не буду - всему есть место, но при выполнении запросов, отчетов, обслуживания, описания программных кодов и обкатывания - гораздо проще иметь дело с одной таблицей, чем с 6-тью - испытал на практике ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2016, 20:06 |
|
||
|
как правильно хранить и получать текущее состояние ячейки склада.
|
|||
|---|---|---|---|
|
#18+
RissКот МатроскинНапример, в приходе/расходе будет ссылка на документ, по которому осуществляется оный приход/расход.Про дату и сумму я уже упомянул. А что мешает, в данном случае, остатки также иметь здесь, где будет ссылка на документ, который будет рассчитан в процедуре и иметь название "Остатки" и тип документа - остатки? Мешает бессмысленность этого документа и отсутствие оного в реальности. Я еще раз повторюсь - можно запихать все атрибуты всех сущностей в одну таблицу и хлопая глазами спрашивать "А что мешает в лишние для конкретной сущности атрибуты писать заглушки?", но всерьез обсуждать этот подход - простите, неинтересно. Будет даже проще - вместо 3 таблиц - одна Нет, будет сложнее, вместо трех таблиц - одна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2016, 20:32 |
|
||
|
как правильно хранить и получать текущее состояние ячейки склада.
|
|||
|---|---|---|---|
|
#18+
IDVTWMS изобретаете? Если есть потребность (а она точно есть у Вас) промежуточный баланс ячейки "на начало месяца" необходимо держать в отдельной таблице (3я таблица), иначе как оперативно историю поднимать за определенный период. вообще нужно знать 1) остатки на сейчас / остатки на любой момент времени 2) обороты за любой период времени (начало периода и конец периода задаются пользователем в полях) чтобы можно было наприер по товару "бублик" получить отчет вида с 03.02.2016 по 24.10.2016 начало приход расход остаток410212 а информация по остаткам на начало / конец месяца она не нужна т.е. это частный случай п.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2016, 00:05 |
|
||
|
как правильно хранить и получать текущее состояние ячейки склада.
|
|||
|---|---|---|---|
|
#18+
Кот МатроскинМешает бессмысленность этого документа и отсутствие оного в реальности. Я еще раз повторюсь - можно запихать все атрибуты всех сущностей в одну таблицу и хлопая глазами спрашивать "А что мешает в лишние для конкретной сущности атрибуты писать заглушки?", но всерьез обсуждать этот подход - простите, неинтересно. Нет, будет сложнее, вместо трех таблиц - одна. все очень субъективно "неинтересно" "хлопая глазами?" и это аргументы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2016, 00:19 |
|
||
|
как правильно хранить и получать текущее состояние ячейки склада.
|
|||
|---|---|---|---|
|
#18+
Как это сделано в нашей WMS. У нас стоит Manhattan SCALE. Есть таблица с транзакциями - они отражают все возможные изменения движения товара. Есть таблица с типами транзакций - описываются граничные условия применения - откуда-куда двигать, в каком количестве и так далее. Есть системные транзакции и пользовательские - первые зашиты по умолчанию, вторые можно создавать. Есть таблица с остатками по ячейкам. Содержит помимо всего прочего 4 поля с количеством товара - остатки на сейчас, количество товара зарезервированного под движение, но еще не взятого, количество товара под вопросом (возникает когда происходит недобор например), количество товара перемещаемого в ячейку (необходимо потому что возможна ситуация с резервированием товара который еще в ячейку не приехал, но скоро там будет, чтобы не ждать окончания пополнения например). Остатки на конкретное число и время в общем виде не получаются, требуется рассчитывать, или поднимать транзакцию ближайшую к нужному моменту. Каждая транзакция содержит остатки по изменяемой ячейке до изменения (все четыре количества) и остатки после изменения (все четыре опять же). В результате, когда система резервирует товар по ячейкам под отбор у нее нет необходимости пересчитывать для всех 20000 ячеек остатки на текущий момент (тем более если у вас точка актуальности в начале месяца, сейчас конец месяца и через ячейку прошло несколько сотен операций отбора и пополнения разного товара и разных партий в общем случае) - дополнительно учитывайте, что резервирование это не одна операция в день, а постоянно по факту получения новых заказов (хоть каждые 5 минут). Склад должен постоянно иметь актуальные остатки прямо сейчас и не ждать пересчета при каждом вопросе. Как-то так. Извиняюсь, что сумбурно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2016, 06:02 |
|
||
|
как правильно хранить и получать текущее состояние ячейки склада.
|
|||
|---|---|---|---|
|
#18+
MangusJRКак-то так. Извиняюсь, что сумбурно. Зато очень даже доходчиво ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2016, 07:09 |
|
||
|
как правильно хранить и получать текущее состояние ячейки склада.
|
|||
|---|---|---|---|
|
#18+
RissКот МатроскинМешает бессмысленность этого документа и отсутствие оного в реальности. Я еще раз повторюсь - можно запихать все атрибуты всех сущностей в одну таблицу и хлопая глазами спрашивать "А что мешает в лишние для конкретной сущности атрибуты писать заглушки?", но всерьез обсуждать этот подход - простите, неинтересно. Нет, будет сложнее, вместо трех таблиц - одна. все очень субъективно "неинтересно" "хлопая глазами?" и это аргументы? Аргументы в пользу чего? Вы высказали тезис "три таблицы с одинаковой структурой не нужны". Выяснилось, что никаких одинаковых структур нет в помине. Теперь Вы заявляете "А ну и подумаешь что структуры неодинаковы - я все равно засунул бы в одну таблицу и писал бы в отсутствующие поля заглушки". Что я на это могу сказать - ну засовывайте, это свободная страна, в конце концов. И да, "все очень субъективно" - вот это, несомненно, всем аргументам аргумент. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2016, 10:12 |
|
||
|
|

start [/forum/topic.php?fid=32&fpage=13&tid=1540260]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
60ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
101ms |
get tp. blocked users: |
2ms |
| others: | 249ms |
| total: | 458ms |

| 0 / 0 |

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