|
|
|
Складской учет, партии, распроведение документов
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток. Сломал всю голову, может кто поможет советом. Имеется база для инструментальных складов. Операции с базой происходят с помощью документов: поступление, списание, перемещение, выдача на руки и возврат. Для каждого вида документа есть шапка и табличная часть с партиями номенклатуры. Например, перемещение фрезы 10 штук - 5 из одной партии и 5 из другой. Задача стоит в отмене проведения произвольного документа, соответственно все документы с этой партией и датой большей или равной распроводимому становятся недействительны. Что имеем: ID документа, ID партий в документе и точку актуальности (дата распроводимого документа). Собственно суть проблемы в том, что партии из этого документа могут затрагивать и другие партии, если они в одном документе. Получается некое дерево документов, которые надо распроводить. Никак не могу придумать механизм построения этого дерева, рекурсивно идти по ID партии не получается - упираюсь в количество открытых курсоров. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2015, 11:17 |
|
||
|
Складской учет, партии, распроведение документов
|
|||
|---|---|---|---|
|
#18+
GildorДоброго времени суток. Задача стоит в отмене проведения произвольного документа, соответственно все документы с этой партией и датой большей или равной распроводимому становятся недействительны. Если я правильно понял при сторнирование документа превращается в сторнирование всех дочерних документов. При этом каждый из дочерних имеет свои дочерние и т.д. Это так? Сторнировав "первый" в иерархии документ я очищу всю базу? Оффтопик: есть такое хорошее правило: фарш назад не проворачивается. Модератор: Тема перенесена из форума "Oracle". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2015, 11:31 |
|
||
|
Складской учет, партии, распроведение документов
|
|||
|---|---|---|---|
|
#18+
Все верно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2015, 11:34 |
|
||
|
Складской учет, партии, распроведение документов
|
|||
|---|---|---|---|
|
#18+
Gildor, Если исходить из принципа "документ является вещью в себе" то он должен содержать ссылки на всех дочек. При сторно документа сторнируются все его дочки и т.д. У тебя же связи между документами прописаны неявно, через самостоятельное понятие "партия". ХЗ как в такой архитектуре ты будешь выкручиваться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2015, 11:53 |
|
||
|
Складской учет, партии, распроведение документов
|
|||
|---|---|---|---|
|
#18+
Gildor рекурсивно идти по ID партии не получается - упираюсь в количество открытых курсоров. собирайте сперва все ID в таблицу (например операциями "дать все партии данного документа", "дать все документы по данной партии"), потом по ней делайте один курсор и сторнируйте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2015, 12:11 |
|
||
|
Складской учет, партии, распроведение документов
|
|||
|---|---|---|---|
|
#18+
При правильном процессе и структуре, не нужно сторнировать кучу дочерних документов. :) Просто у дочерних документов должны пропасть привязки с удаленных партий и возникнуть некое требование на перепривязку (признак в базе: что-то вроде "остаток к привязке > 0"). После исправления родительского документа следует инициировать процесс привязок у документов с оборванными привязками. И всё по новой восстановится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2015, 12:22 |
|
||
|
Складской учет, партии, распроведение документов
|
|||
|---|---|---|---|
|
#18+
GildorНапример, перемещение фрезы 10 штук - 5 из одной партии и 5 из другой. Задача стоит в отмене проведения произвольного документа, соответственно все документы с этой партией и датой большей или равной распроводимому становятся недействительны. А физически эти перемещённые фрезы тоже будут возвращаться на склад? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2015, 12:27 |
|
||
|
Складской учет, партии, распроведение документов
|
|||
|---|---|---|---|
|
#18+
Кот Матроскин, сейчас примерно так и пытаюсь сделать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2015, 12:33 |
|
||
|
Складской учет, партии, распроведение документов
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, если с конкретно перемещение, то да. Ну и связка выдача-возврат тоже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2015, 12:34 |
|
||
|
Складской учет, партии, распроведение документов
|
|||
|---|---|---|---|
|
#18+
LSV, это немного меняет концепцию. В принципе возможно сделать и так, есть автоподбор партий по FIFO. Но опять же вопрос как построить дерево зависимостей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2015, 12:38 |
|
||
|
Складской учет, партии, распроведение документов
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, тут собственно какая бывает ситуация. Человеку выдали некое количество фрез из партии 1, потом выдали еще из партий 2 и 3, а вернул он часть из первой партии и второй. Соответственно при сторнировании поступления по партии 1, возврат её становиться невозможен, а вот выдача партий 2 и 3 запросто. Ну и по нарастающей. Ну или перемещение на заточку нескольких партий, а возврат части из них или части одной партии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2015, 12:44 |
|
||
|
Складской учет, партии, распроведение документов
|
|||
|---|---|---|---|
|
#18+
Собственно сейчас исправление или удаление возможно при полном перепроведении всех документов в базе, но это понятное дело не вариант. Сейчас в базе около 14 000 документов(в разрезе партий), которые перепроводятся около 6 минут, но в этот момент получается, что остаток не актуален. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2015, 12:50 |
|
||
|
Складской учет, партии, распроведение документов
|
|||
|---|---|---|---|
|
#18+
GildorDimitry Sibiryakov, тут собственно какая бывает ситуация. Человеку выдали некое количество фрез из партии 1, потом выдали еще из партий 2 и 3, а вернул он часть из первой партии и второй. Соответственно при сторнировании поступления по партии 1, возврат её становиться невозможен, а вот выдача партий 2 и 3 запросто. Ну и по нарастающей. Ну или перемещение на заточку нескольких партий, а возврат части из них или части одной партии. Имхо такие вещи надо разруливать новым приходом, а не сторнированием выдачи. Если Ваш БА считает по-другому - ну и напрягите его расписыванием алгоритмов обнаружения зависимостей :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2015, 12:52 |
|
||
|
Складской учет, партии, распроведение документов
|
|||
|---|---|---|---|
|
#18+
Gildorтут собственно какая бывает ситуация. Человеку выдали некое количество фрез из партии 1, потом выдали еще из партий 2 и 3, а вернул он часть из первой партии и второй. Даже если фрезы из первой партии он уже сломал, а вернуть может только третью?.. GildorСоответственно при сторнировании поступления по партии 1, возврат её становиться невозможен, а вот выдача партий 2 и 3 запросто. Ну и по нарастающей. Ну или перемещение на заточку нескольких партий, а возврат части из них или части одной партии. С одним человеком всё ясно, но ведь у тебя подразумевается, что все остальные люди, которые получили инструмент после него, тоже обязаны его вернуть прежде чм начнётся новая раздача, не так ли?.. Я это к тому, что автоматическое сторнирование всех последующих документов вещь на практике фактически невозможная. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2015, 12:52 |
|
||
|
Складской учет, партии, распроведение документов
|
|||
|---|---|---|---|
|
#18+
не очень понятно с какого перепугу вообще есть эти зависимости. Что у вас вообще считается партией? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2015, 12:53 |
|
||
|
Складской учет, партии, распроведение документов
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, в принципе правильно. Если сломал он её вернет и спишем. Соответственно если эти партии потом пойдут другим людям - тоже надо сторнировать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2015, 12:56 |
|
||
|
Складской учет, партии, распроведение документов
|
|||
|---|---|---|---|
|
#18+
Кот Матроскин, в общем-то так и было. Все само по фифо делалось и на партии было начхать, но шефу припекло сделать так как сейчас. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2015, 12:58 |
|
||
|
Складской учет, партии, распроведение документов
|
|||
|---|---|---|---|
|
#18+
caballero, абстрактно это некое поступление одного вида номенклатуры. Фактически - ID строки табличной части документа Поступление. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2015, 12:59 |
|
||
|
Складской учет, партии, распроведение документов
|
|||
|---|---|---|---|
|
#18+
caballero, не совсем корректно это партией называть, но суть примерно та же. В зависимости от поступления меняется цена, в последствии нам нужно будет по нормам материала/инструмента подсчитать затраты на производство. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2015, 13:01 |
|
||
|
Складской учет, партии, распроведение документов
|
|||
|---|---|---|---|
|
#18+
Gildor, подсчет затрат таким образом устарел лет на сто. по уму партия - тип номенклатуры по определенной цене, независимот от поступления. я например делаю так - у меня поле партия - по сути цена поступления она же учетная цена. при отпуске рядом проставляется отпускная цена. навар и затраты получаются суммированием разниц - хоть по периоду хоть по номенклатуре. Особенно удобно если приход ставить с плюсом и уход с минусом на количестве. то есть должна быть таблица движений - партия, ссылка на документ (оттуда же дата), отпускная цена. При удалении документа задним числом - строки движения просто прибиваются - остальное остается как есть. С хранением остатков не заморачиваться - их легко получить пересчетом таблицы, особенно если не хранить в таблице поля переменного размера а цены хранить в копейках в целых полях. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2015, 13:13 |
|
||
|
Складской учет, партии, распроведение документов
|
|||
|---|---|---|---|
|
#18+
Очень странная система учета у вас. У нас цепочка такая (продуктовые товары), если упростить. -приход от поставщика -перемещение по складу -отбор покупателю -возврат от покупателя -корректировке на складе (списание брака, недостача, излишки и т.д.) Так вот, возврат товара от покупателя, оформляется не как отмена отгрузки, а как новый приход на склад. И не надо всяких лишних гемороев. Так же и отмена неверного списания выполняется как плюсовая корректировка на склад, а не как отмена минусовой корректировки. Заодно и движение по товару не теряется. И документальный учет нормально ведется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2015, 13:34 |
|
||
|
Складской учет, партии, распроведение документов
|
|||
|---|---|---|---|
|
#18+
MangusJR, у нас вся фигня в том, что склад инструментальный. Есть куча, около 3-4 тысяч наименований, которые переодически приходят и списываются. Основная работа - выдача, возврат и перемещение(между цехами, заточка, консервация, аттестация и т.п.). И надо четко знать где, чего и сколько в данный момент и еще что происходило с этой номенклатурой раньше. Плюс есть еще мерители, которые приходят, а потом индивидуально нумеруются, у меня это тоже операция. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2015, 13:40 |
|
||
|
Складской учет, партии, распроведение документов
|
|||
|---|---|---|---|
|
#18+
Gildor, Не понимаю как тип хранимой номенклатуры тут может помешать. Точнее как оформление возврата приходом :) Только лучше и понятнее станет. У себя я бы вообще на каждого пользователя завел виртуальную ячейку и оформлял бы все выдачи-сдачи как перемещение товара туда-сюда специальными корректировками. Партионный учет - сила. Правда у нас стоит SCALE - на нем такое реализовать очень просто, удобная система в обслуживании и подпиливании. А вам, похоже, придется как-то поизвращаться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2015, 13:45 |
|
||
|
Складской учет, партии, распроведение документов
|
|||
|---|---|---|---|
|
#18+
GildorИ надо четко знать где, чего и сколько в данный момент и еще что происходило с этой номенклатурой раньше. Кстати, а как отмена документов помогает этому пункту? Теряется ведь движение. Или нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2015, 13:46 |
|
||
|
Складской учет, партии, распроведение документов
|
|||
|---|---|---|---|
|
#18+
GildorИ надо четко знать где, чего и сколько в данный момент И вот эту задачу ты своим сторнированием и перепроведением отправляешь прямо в жопу, поскольку ситуация на бумаге резко начинает расходиться с реальностью. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2015, 13:47 |
|
||
|
|

start [/forum/topic.php?fid=32&fpage=22&tid=1540631]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
27ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
| others: | 245ms |
| total: | 370ms |

| 0 / 0 |

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