powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Складской учет, партии, распроведение документов
25 сообщений из 27, страница 1 из 2
Складской учет, партии, распроведение документов
    #38890342
Gildor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток.
Сломал всю голову, может кто поможет советом.
Имеется база для инструментальных складов. Операции с базой происходят с помощью документов: поступление, списание, перемещение, выдача на руки и возврат. Для каждого вида документа есть шапка и табличная часть с партиями номенклатуры. Например, перемещение фрезы 10 штук - 5 из одной партии и 5 из другой.
Задача стоит в отмене проведения произвольного документа, соответственно все документы с этой партией и датой большей или равной распроводимому становятся недействительны.
Что имеем: ID документа, ID партий в документе и точку актуальности (дата распроводимого документа).
Собственно суть проблемы в том, что партии из этого документа могут затрагивать и другие партии, если они в одном документе. Получается некое дерево документов, которые надо распроводить. Никак не могу придумать механизм построения этого дерева, рекурсивно идти по ID партии не получается - упираюсь в количество открытых курсоров.
...
Рейтинг: 0 / 0
Складской учет, партии, распроведение документов
    #38890358
ArtNick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GildorДоброго времени суток.

Задача стоит в отмене проведения произвольного документа, соответственно все документы с этой партией и датой большей или равной распроводимому становятся недействительны.

Если я правильно понял при сторнирование документа превращается в сторнирование всех дочерних документов. При этом каждый из дочерних имеет свои дочерние и т.д. Это так? Сторнировав "первый" в иерархии документ я очищу всю базу?
Оффтопик: есть такое хорошее правило: фарш назад не проворачивается.

Модератор: Тема перенесена из форума "Oracle".
...
Рейтинг: 0 / 0
Складской учет, партии, распроведение документов
    #38890361
Gildor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все верно.
...
Рейтинг: 0 / 0
Складской учет, партии, распроведение документов
    #38890396
ArtNick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gildor,
Если исходить из принципа "документ является вещью в себе" то он должен содержать ссылки на всех дочек. При сторно документа сторнируются все его дочки и т.д. У тебя же связи между документами прописаны неявно, через самостоятельное понятие "партия". ХЗ как в такой архитектуре ты будешь выкручиваться.
...
Рейтинг: 0 / 0
Складской учет, партии, распроведение документов
    #38890425
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gildor рекурсивно идти по ID партии не получается - упираюсь в количество открытых курсоров.

собирайте сперва все ID в таблицу (например операциями "дать все партии данного документа", "дать все документы по данной партии"), потом по ней делайте один курсор и сторнируйте.
...
Рейтинг: 0 / 0
Складской учет, партии, распроведение документов
    #38890446
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При правильном процессе и структуре, не нужно сторнировать кучу дочерних документов. :)
Просто у дочерних документов должны пропасть привязки с удаленных партий и возникнуть некое требование на перепривязку (признак в базе: что-то вроде "остаток к привязке > 0").
После исправления родительского документа следует инициировать процесс привязок у документов с оборванными привязками.
И всё по новой восстановится.
...
Рейтинг: 0 / 0
Складской учет, партии, распроведение документов
    #38890455
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GildorНапример, перемещение фрезы 10 штук - 5 из одной партии и 5 из другой.
Задача стоит в отмене проведения произвольного документа, соответственно все документы с этой партией и датой большей или равной распроводимому становятся недействительны.
А физически эти перемещённые фрезы тоже будут возвращаться на склад?
...
Рейтинг: 0 / 0
Складской учет, партии, распроведение документов
    #38890466
Gildor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кот Матроскин, сейчас примерно так и пытаюсь сделать.
...
Рейтинг: 0 / 0
Складской учет, партии, распроведение документов
    #38890468
Gildor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov, если с конкретно перемещение, то да. Ну и связка выдача-возврат тоже.
...
Рейтинг: 0 / 0
Складской учет, партии, распроведение документов
    #38890471
Gildor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LSV, это немного меняет концепцию. В принципе возможно сделать и так, есть автоподбор партий по FIFO. Но опять же вопрос как построить дерево зависимостей.
...
Рейтинг: 0 / 0
Складской учет, партии, распроведение документов
    #38890482
Gildor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov, тут собственно какая бывает ситуация. Человеку выдали некое количество фрез из партии 1, потом выдали еще из партий 2 и 3, а вернул он часть из первой партии и второй. Соответственно при сторнировании поступления по партии 1, возврат её становиться невозможен, а вот выдача партий 2 и 3 запросто. Ну и по нарастающей. Ну или перемещение на заточку нескольких партий, а возврат части из них или части одной партии.
...
Рейтинг: 0 / 0
Складской учет, партии, распроведение документов
    #38890492
Gildor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Собственно сейчас исправление или удаление возможно при полном перепроведении всех документов в базе, но это понятное дело не вариант. Сейчас в базе около 14 000 документов(в разрезе партий), которые перепроводятся около 6 минут, но в этот момент получается, что остаток не актуален.
...
Рейтинг: 0 / 0
Складской учет, партии, распроведение документов
    #38890493
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GildorDimitry Sibiryakov, тут собственно какая бывает ситуация. Человеку выдали некое количество фрез из партии 1, потом выдали еще из партий 2 и 3, а вернул он часть из первой партии и второй. Соответственно при сторнировании поступления по партии 1, возврат её становиться невозможен, а вот выдача партий 2 и 3 запросто. Ну и по нарастающей. Ну или перемещение на заточку нескольких партий, а возврат части из них или части одной партии.

Имхо такие вещи надо разруливать новым приходом, а не сторнированием выдачи. Если Ваш БА считает по-другому - ну и напрягите его расписыванием алгоритмов обнаружения зависимостей :)
...
Рейтинг: 0 / 0
Складской учет, партии, распроведение документов
    #38890495
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gildorтут собственно какая бывает ситуация. Человеку выдали некое количество фрез
из партии 1, потом выдали еще из партий 2 и 3, а вернул он часть из первой партии и
второй.
Даже если фрезы из первой партии он уже сломал, а вернуть может только третью?..

GildorСоответственно при сторнировании поступления по партии 1, возврат её
становиться невозможен, а вот выдача партий 2 и 3 запросто. Ну и по нарастающей. Ну или
перемещение на заточку нескольких партий, а возврат части из них или части одной
партии.
С одним человеком всё ясно, но ведь у тебя подразумевается, что все остальные люди,
которые получили инструмент после него, тоже обязаны его вернуть прежде чм начнётся новая
раздача, не так ли?..

Я это к тому, что автоматическое сторнирование всех последующих документов вещь на
практике фактически невозможная.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Складской учет, партии, распроведение документов
    #38890496
caballero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не очень понятно с какого перепугу вообще есть эти зависимости.
Что у вас вообще считается партией?
...
Рейтинг: 0 / 0
Складской учет, партии, распроведение документов
    #38890498
Gildor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov, в принципе правильно. Если сломал он её вернет и спишем. Соответственно если эти партии потом пойдут другим людям - тоже надо сторнировать.
...
Рейтинг: 0 / 0
Складской учет, партии, распроведение документов
    #38890500
Gildor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кот Матроскин, в общем-то так и было. Все само по фифо делалось и на партии было начхать, но шефу припекло сделать так как сейчас.
...
Рейтинг: 0 / 0
Складской учет, партии, распроведение документов
    #38890502
Gildor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
caballero, абстрактно это некое поступление одного вида номенклатуры. Фактически - ID строки табличной части документа Поступление.
...
Рейтинг: 0 / 0
Складской учет, партии, распроведение документов
    #38890508
Gildor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
caballero, не совсем корректно это партией называть, но суть примерно та же. В зависимости от поступления меняется цена, в последствии нам нужно будет по нормам материала/инструмента подсчитать затраты на производство.
...
Рейтинг: 0 / 0
Складской учет, партии, распроведение документов
    #38890526
caballero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gildor,
подсчет затрат таким образом устарел лет на сто.

по уму партия - тип номенклатуры по определенной цене, независимот от поступления.
я например делаю так - у меня поле партия - по сути цена поступления она же учетная цена. при отпуске рядом проставляется отпускная цена.

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

Так вот, возврат товара от покупателя, оформляется не как отмена отгрузки, а как новый приход на склад. И не надо всяких лишних гемороев. Так же и отмена неверного списания выполняется как плюсовая корректировка на склад, а не как отмена минусовой корректировки. Заодно и движение по товару не теряется. И документальный учет нормально ведется.
...
Рейтинг: 0 / 0
Складской учет, партии, распроведение документов
    #38890571
Gildor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MangusJR, у нас вся фигня в том, что склад инструментальный. Есть куча, около 3-4 тысяч наименований, которые переодически приходят и списываются. Основная работа - выдача, возврат и перемещение(между цехами, заточка, консервация, аттестация и т.п.). И надо четко знать где, чего и сколько в данный момент и еще что происходило с этой номенклатурой раньше. Плюс есть еще мерители, которые приходят, а потом индивидуально нумеруются, у меня это тоже операция.
...
Рейтинг: 0 / 0
Складской учет, партии, распроведение документов
    #38890574
MangusJR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gildor,

Не понимаю как тип хранимой номенклатуры тут может помешать. Точнее как оформление возврата приходом :)
Только лучше и понятнее станет.
У себя я бы вообще на каждого пользователя завел виртуальную ячейку и оформлял бы все выдачи-сдачи как перемещение товара туда-сюда специальными корректировками. Партионный учет - сила.
Правда у нас стоит SCALE - на нем такое реализовать очень просто, удобная система в обслуживании и подпиливании. А вам, похоже, придется как-то поизвращаться.
...
Рейтинг: 0 / 0
Складской учет, партии, распроведение документов
    #38890575
MangusJR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
GildorИ надо четко знать где, чего и сколько в данный момент и еще что происходило с этой номенклатурой раньше.

Кстати, а как отмена документов помогает этому пункту? Теряется ведь движение. Или нет?
...
Рейтинг: 0 / 0
Складской учет, партии, распроведение документов
    #38890577
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GildorИ надо четко знать где, чего и сколько в данный момент
И вот эту задачу ты своим сторнированием и перепроведением отправляешь прямо в жопу,
поскольку ситуация на бумаге резко начинает расходиться с реальностью.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
25 сообщений из 27, страница 1 из 2
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Складской учет, партии, распроведение документов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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