powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Организация партионного учета на складе
20 сообщений из 20, страница 1 из 1
Организация партионного учета на складе
    #38859599
Новичок2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!

Перед мной поставили не простую задачу по складскому учету.

Ранее организация склада у нас была по простой схеме:

Таблица "Поступившие товары" (ArrivalProducts)
ID,
OperationDate,
ProductID
Quantity
Price
Amount

Таблица "Списанные товары" (RemovalProducts)
ID,
OperationDate,
ProductID
Quantity

Представление "Хронология" (HistoryProducts)
SELECT 'Поступление' AS OperationType, OperationDate, ProductID, Quantity FROM ArrivalProducts
UNION
SELECT 'Списание' AS OperationType, OperationDate, ProductID, -Quantity FROM ArrivalProducts

Представление "Склад"

SELECT ProductID, SUM(Quantity) FROM HistoryProducts GROUP BY ProductID

Теперь появилась необходимость учитывать на складе и цену поступления - чтобы было видно какой товар в каком количестве по какой цене пришел.

Я в таблицу "Списанные товары" (RemovalProducts) добавила поля :
ID,
OperationDate,
ProductID
Quantity
Price
Amount


Соответственно представление "Хронология" (HistoryProducts) тоже переделала:
SELECT 'Поступление' AS OperationType, OperationDate, ProductID, Quantity, Price FROM ArrivalProducts
UNION
SELECT 'Списание' AS OperationType, OperationDate, ProductID, -Quantity, Price FROM ArrivalProducts

Представление "Склад":

SELECT ProductID, SUM(Quantity), Price FROM HistoryProducts GROUP BY ProductID, Price

На складе я стала видеть цену поступления, но это прибавило проблем :
Например, на складе есть Товар в количестве 100 штук. 50 штук из первой партии по цене поступления 100 рублей и 50 штук из другой партии по цене поступления 200 рублей.

Пользователь заносит запись в таблицу Списанные товары
Указывает товар и количество 80 штук.

Мне нужно чтобы списалось 50 штук из первой партии по 100 руб. и 30 штук из второй партии по 200 руб.

Сейчас я пишу скрипт, который будет эту запись разделять на две в нужном для меня виде. НО ! Может быть я изначально что то не так делаю ??? Может такие задачи решаются как то по другому ? с другой структурой БД...
Подскажите :( Может быть есть какие то примеры реализации ?

Спасибо что прочли мое сообщение, жду от вас рекомендаций и советов.
...
Рейтинг: 0 / 0
Организация партионного учета на складе
    #38859612
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Новичок2012Сейчас я пишу скрипт, который будет эту запись разделять на две в нужном для меня виде. НО ! Может быть я изначально что то не так делаю ???

В целом да, не совсем так - в норме никакие существующие записи не делятся, а вводится третья таблица связей между приходами и расходами.
...
Рейтинг: 0 / 0
Организация партионного учета на складе
    #38859615
Новичок2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кот Матроскин,

Как эта таблица связей должна выглядеть ? Как она формируется ?
...
Рейтинг: 0 / 0
Организация партионного учета на складе
    #38859642
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Новичок2012Мне нужно чтобы списалось 50 штук из первой партии по 100 руб. и 30 штук
из второй партии по 200 руб.
То есть списание идёт чисто на бумаге, а не по факту отгрузки/выдачи?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Организация партионного учета на складе
    #38859664
Новичок2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

А какое это имеет значение?

Пользователь со склада списывает 80 штук товара (это факт отгрузки?), и ему не важно по какой цене этот товар поступал.
А вот на складе должно все отразиться верно - списаться из двух партий.
...
Рейтинг: 0 / 0
Организация партионного учета на складе
    #38859679
жно чтобы списалось 50 штук из первой партии по 100 руб. и 30 штук из второй партии по 200 руб.Для этого к журналу движения делают журнал привязок приход-расход-колво/сумма.
При этом есть возможность произвести привязку в ручном режиме, если автоматом привязала не так, как хочется.
...
Рейтинг: 0 / 0
Организация партионного учета на складе
    #38859684
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Новичок2012А вот на складе должно все отразиться верно - списаться из двух партий.

Разница в том, что когда кладовщик пойдёт за 50-ю изделиями из первой партии, он может
найти только, скажем, 30. Остальные - хрен знает где, может украл кто-то, может мыши
погрызли. И списание будет неверно.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Организация партионного учета на складе
    #38859701
Новичок2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
постоянный мембер,

как должен выглядеть журнал привязок приход-расход-колво/сумма ?

В таблицу "Списанные товары" я добавила поле "Цена" где указываю цену поступления - так эту привязку приход-расход организовала я. А что вы имеете в виду ?
...
Рейтинг: 0 / 0
Организация партионного учета на складе
    #38859708
Новичок2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

Такие сложные ситуации с голодными крысами я не рассматриваю. Если на складе 100 штук товара, значит на складе 100 штук.
А если 80 штук погрызли крысы (украли, продали) - значит их нужно правильно списать.
...
Рейтинг: 0 / 0
Организация партионного учета на складе
    #38859769
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Новичок2012А если 80 штук погрызли крысы (украли, продали) - значит их нужно
правильно списать.
А для этого нужно сначала пропажу обнаружить. И это как раз обычно происходит когда
кладовщик идёт выдавать товар клиенту по расходной накладной. Предлагаете ему клиента
притормозить пока идёт инвентаризация и пересортица?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Организация партионного учета на складе
    #38859775
Новичок2012постоянный мембер,

как должен выглядеть журнал привязок приход-расход-колво/сумма ?

В таблицу "Списанные товары" я добавила поле "Цена" где указываю цену поступления - так эту привязку приход-расход организовала я. А что вы имеете в виду ?привязка в партиям, т.е. к ID приходных строк.

ИД прихода, ИД расхода, кол-во, сумма(опционально), вспом. поля

При этом очередность списания определяется требованиями бизнеса. Привязку можно в любой момент перепривязать.

Цена это еще не привязка. :)
...
Рейтинг: 0 / 0
Организация партионного учета на складе
    #38859777
Naf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если движений немного, то можно добавить поля "Партия" в таблицы Поступления, Списания и представления Хронология, Склад
Когда все вырастет - представление Склад лучше заменить на таблицу
...
Рейтинг: 0 / 0
Организация партионного учета на складе
    #38859817
Новичок2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
постоянный мембер,

т.е в табл. Списанные товары предлагаете добавить поле ArrivalID (Код поступления) ?

Что нам это даст ? ...

Журналом привязок вы называете представление вида:

SELECT 'Поступление' AS OperationType, ID AS ArrivalID, NULL AS RemovalProducts, ProductID, Quantity, Price FROM ArrivalProducts
UNION
SELECT 'Списание' AS OperationType, ArrivalID, ID, ProductID, -Quantity, Price FROM RemovalProducts
?

Тогда мы сможем определить количество товара в партии. Верно ?

Но при оформлении списания мы опять упремся в ту же задачу -
"Какое ArrivalID прописать в случае списании 80 штук ?"
Согласна, что работать с ArrivalID приятнее чем просто с ценой.

Можете ли вы предоставить пример какой-нибудь ?
...
Рейтинг: 0 / 0
Организация партионного учета на складе
    #38859859
Naf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Новичок2012,

Ваш ArrivalID должен еще иметь дату, по которой и сортируем
если используется ФИФО, то списываем с наиболее ранней оставшейся на остатках партии
...
Рейтинг: 0 / 0
Организация партионного учета на складе
    #38860617
Cane Cat Fisher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Новичок2012Но при оформлении списания мы опять упремся в ту же задачу -
"Какое ArrivalID прописать в случае списании 80 штук ?"


Здесь много зависит от того, являются ли товары разных партий различимыми и взаимозаменяемыми, или нет.

Например, если вчера на складе высыпали самосвал угля - 1 тонну по 100 руб/кг, а сегодня - еще самосвал точно такого же угля, 1 тонну, но уже по 200 руб/кг в ту же кучу, то физически уголь уже неразличим, и все равно, из какой кучи его брать - погрузчик будет черпать все подряд. Вопрос тогда заключается в том, по какой цене его продавать. Ценообразование может быть разное - то ли до исчерпания первой тонны продаем по 100, а оставшуюся тонну по 200 (метод ФИФО). То ли сразу начинаем продавать все по 150 (по средней цене).

Если же товар по 100 и 200 различим, например, упаковки лекарств каждая со штрих-кодом, то добавляется вопрос, из какой коробки брать сначала, из какой потом. Ответ опять же зависит от характеристик товара. Например, по сроку годности.

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

Подробнее почитайте ПБУ-5, раздел III. Отпуск материально-производственных запасов http://www.consultant.ru/document/cons_doc_LAW_107302/ , и к нему методические рекомендации и комментарии.
...
Рейтинг: 0 / 0
Организация партионного учета на складе
    #38860750
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Новичок2012Но при оформлении списания мы опять упремся в ту же задачу -
"Какое ArrivalID прописать в случае списании 80 штук ?"
Согласна, что работать с ArrivalID приятнее чем просто с ценой.

Можете ли вы предоставить пример какой-нибудь ?


В записи о списании Вы не указваете ArrivalID - Вы формируете 2 записи-связи поступления и списания, с разными ArrivalID
Поступления
ArrivalID Дата Кол-во Стоимость1 01.01.2015 50 50002 02.01.2015 50 10000

Списания
RetirementID Дата Кол-во Стоимость100 03.01.2015 80 11000

ПоступленияСписания
ArrivalID RetirementID Кол-во Стоимость1 100 50 50002 100 30 6000

В записях о поступлениях можно сделать дополнительное служебное поле "остаток из партии в наличии" для ускорения расчета, и обновлять его после списаний - но необязательно.
...
Рейтинг: 0 / 0
Организация партионного учета на складе
    #38862189
wamaco
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Новичок2012,

1. Списание себестоимости (методы):
а). по средней себестоимости
б). по FIFO (первый пришел, первый ушел)
в). по LIFO (последний пришел, первый ушел)
г). ручной выбор конкретной партии списания.
2. Должна быть таблица движений по партиям.
- id (идентфикатор)
- id_tovara (ид товара)
- partia (номер, дата партии, поставщик и т.д.... идентифицирующую партию)
- datapost (дата поступления, необходима для реализации методов списания себестоимости FIFO, LIFO, ручн.выбор)
- kol (кол-во)
- summa (стоимость товара)
- ost (остаток по партии)

при приходе сюда пишем поступления, при списании, в зависимости от метода списания, информацию по списанным позициям.

т.е. добавляете одну эту таблицу и реализуете логику заполнения при поступлении и списании.
а). при поступлении - тупо insert
б). при списании - сортировка по datapost и гашение партий.

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

ваш прежний механизм остается не тронутым!
...
Рейтинг: 0 / 0
Организация партионного учета на складе
    #38863420
Новичок2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо всем большое за советы !
Понравились идеи wamaco и Кот Матроскин .
...
Рейтинг: 0 / 0
Организация партионного учета на складе
    #38863541
Cane Cat Fisher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wamacoСписание себестоимости (методы):
в). по LIFO (последний пришел, первый ушел)


LIFO вроде убрали уже давно
...
Рейтинг: 0 / 0
Организация партионного учета на складе
    #38865482
Фотография bootty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cane Cat FisherLIFO вроде убрали уже давноЗапретили в бухучете и налоговом учете.
МСФО рекомендует применять FIFO или средневзвешенный.
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Организация партионного учета на складе
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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