Здравствуйте, коллеги!
Есть задача посчитать себестоимость продукта.
Структура следующая:
Есть продукт, который состоит из полуфабрикатов, каждый из которых который состоит из ингредиентов.
Исходные данные - цена за кг ингредиента.
В полуфабрикатах используются некоторые пропорции ингредиентов (например, бисквит состоит из 500 гр. муки, 200 гр. сахара и т.д.).
Себестоимость за кг. полуфабриката не считается? выдаёт 0
Пробовал MySQL запрос пока что вида SUM([271]) по условию parent_item_id=e.id
Помогите с расчётом
-
imamverdiyeveldar
- Сообщения: 403
- Зарегистрирован: 01 мар 2019, 08:57
- Имя: Эльдар Имамвердиев
- Откуда: Азербайджан, Баку
- Контактная информация:
Re: Помогите с расчётом
дайте скрины как устроены сущности, так не совсем понятно.
- alcompstudio
- Спонсор

- Сообщения: 1519
- Зарегистрирован: 03 янв 2016, 20:42
- Имя: Александр
- Откуда: Мир
Re: Помогите с расчётом
Самый простой (но не факт, что полностью правильный) вариант структуры такой:
Готовая продукция
- Полуфабрикаты
-- Ингредиенты
Т.е. выше - структура подчиненных таблиц-сущностей. По ней можно собирать себестоимость, которая будет как бы зависеть от конечного элемента, который уже не является какой-то спецификацией (т.е. не состоит из дробных составляющих). В данном случае - это Ингредиенты.
Однако, тут данная структура будет эффективна, если у вас продукция только так строится, т.е. вы не будете продавать отдельно полуфабрикат или отдельно ингредиент. Тогда они у вас будут как бы промежуточным звеном в производстве. А вся аналитика по продажам/прибыли будет выводиться из сущности Готовая продукция.
Это примерный расклад, далее уже нужно смотреть суть вашего учета и какую с/стоимость вы хотите видеть. А также технологические процессы на предприятии, тех.карты производства (рецепты) и т.п. Так можно более точно что-то порекомендовать.
Готовая продукция
- Полуфабрикаты
-- Ингредиенты
Т.е. выше - структура подчиненных таблиц-сущностей. По ней можно собирать себестоимость, которая будет как бы зависеть от конечного элемента, который уже не является какой-то спецификацией (т.е. не состоит из дробных составляющих). В данном случае - это Ингредиенты.
Однако, тут данная структура будет эффективна, если у вас продукция только так строится, т.е. вы не будете продавать отдельно полуфабрикат или отдельно ингредиент. Тогда они у вас будут как бы промежуточным звеном в производстве. А вся аналитика по продажам/прибыли будет выводиться из сущности Готовая продукция.
Это примерный расклад, далее уже нужно смотреть суть вашего учета и какую с/стоимость вы хотите видеть. А также технологические процессы на предприятии, тех.карты производства (рецепты) и т.п. Так можно более точно что-то порекомендовать.
- Fait
- Инвестор

- Сообщения: 1198
- Зарегистрирован: 19 ноя 2020, 17:46
- Имя: Максим Балакшеев
- Откуда: Россия, Златоуст
- Организация: ИП Балакшеев Максим Георгиевич
- Контактная информация:
Re: Помогите с расчётом
Спасибо за ответ!
Вариант такой структуры простой, но очень неудобный, так как придётся заполнять данные по полуфабрикатам и ингредиентам каждый раз, когда создаётся новый продукт.
Я пытаюсь посчитать себестоимость готового продукта, которая складывается из себестоимости использованного количества полуфабрикатов. А те, в свою очередь, зависят от себестоимости использованного количества ингредиентов.
Если не делать динамических SQL-запросов, то всё нормально считается.
А хочется так, чтобы, изменив цену на ингредиент (подешевле нашёл), менялась динамически себестоимость готового продукта и полуфабрикатов, где этот ингредиент используется.
Весь вопрос в том, что динамически не получается это сделать.
Вариант такой структуры простой, но очень неудобный, так как придётся заполнять данные по полуфабрикатам и ингредиентам каждый раз, когда создаётся новый продукт.
Я пытаюсь посчитать себестоимость готового продукта, которая складывается из себестоимости использованного количества полуфабрикатов. А те, в свою очередь, зависят от себестоимости использованного количества ингредиентов.
Если не делать динамических SQL-запросов, то всё нормально считается.
А хочется так, чтобы, изменив цену на ингредиент (подешевле нашёл), менялась динамически себестоимость готового продукта и полуфабрикатов, где этот ингредиент используется.
Весь вопрос в том, что динамически не получается это сделать.
alcompstudio писал(а): 11 дек 2020, 13:53 Самый простой (но не факт, что полностью правильный) вариант структуры такой:
Готовая продукция
- Полуфабрикаты
-- Ингредиенты
Т.е. выше - структура подчиненных таблиц-сущностей. По ней можно собирать себестоимость, которая будет как бы зависеть от конечного элемента, который уже не является какой-то спецификацией (т.е. не состоит из дробных составляющих). В данном случае - это Ингредиенты.
Однако, тут данная структура будет эффективна, если у вас продукция только так строится, т.е. вы не будете продавать отдельно полуфабрикат или отдельно ингредиент. Тогда они у вас будут как бы промежуточным звеном в производстве. А вся аналитика по продажам/прибыли будет выводиться из сущности Готовая продукция.
Это примерный расклад, далее уже нужно смотреть суть вашего учета и какую с/стоимость вы хотите видеть. А также технологические процессы на предприятии, тех.карты производства (рецепты) и т.п. Так можно более точно что-то порекомендовать.
- alcompstudio
- Спонсор

- Сообщения: 1519
- Зарегистрирован: 03 янв 2016, 20:42
- Имя: Александр
- Откуда: Мир
Re: Помогите с расчётом
Тут не совсем, конечно, понятно как вы хотите строить учет. Создание нового продукта и заполнение П/ф и ингредиентов будет обязательным, т.к. сразу меняется его составляющие, как я понял. Это новый продукт и для него в системе нужно прописать "правила", по которым будет собираться с/с. Но обычно это делается в т.н. "спецификациях" - удельных нормах расхода на каждый готовый продукт. А далее уже данные из этих удельных норм - передаются в заказ на производство, где делается нужное кол-во готового продукта. А система уже считает согласно норм, сколько пошло на данное количество нормативных составляющих, которые заложены в "спецификации".
Или у вас каждый раз создается новый продукт, как бы "на ходу" ? И вы хотите моментально получать с/с ?
По представленной вами структуре будет получаться видеть 3 отдельных с/с - по Продуктам, по Полуфабрикатам и по Ингредиентам. Чтобы сделать взаимосвязь, нужно знать, что вы имеете ввиду под понятием вашей себестоимости. Как вы ее хотите разложить, какова ее структура должна быть. Я, честно, пока не совсем понял...
Или у вас каждый раз создается новый продукт, как бы "на ходу" ? И вы хотите моментально получать с/с ?
По представленной вами структуре будет получаться видеть 3 отдельных с/с - по Продуктам, по Полуфабрикатам и по Ингредиентам. Чтобы сделать взаимосвязь, нужно знать, что вы имеете ввиду под понятием вашей себестоимости. Как вы ее хотите разложить, какова ее структура должна быть. Я, честно, пока не совсем понял...
- Fait
- Инвестор

- Сообщения: 1198
- Зарегистрирован: 19 ноя 2020, 17:46
- Имя: Максим Балакшеев
- Откуда: Россия, Златоуст
- Организация: ИП Балакшеев Максим Георгиевич
- Контактная информация:
Re: Помогите с расчётом
Есть ингредиент и его себестоимость за 1 кг.
Каждый полуфабрикат состоит из ингредиентов. И его себестоимость складывается из стоимости ингредиентов (которая высчитывается: вес * себестоимость ингр.)
Когда создаётся продукт, в него добавляются полуфабрикаты. И себестоимость за кг. продукта высчитывается по формуле из стоимости используемых полуфабрикатов.
В конкретный заказ добавляется товар, содержащий продукт в определённом количестве. Затраты на товар здесь считаются тоже путём умножения количества продукта на его себестоимость (SQL запрос нединамический) + стоимость упаковки + зарплата мастеру.
Я хочу, чтобы при такой структуре при изменении цены ингредиента менялась себестоимость продукта.
Каждый полуфабрикат состоит из ингредиентов. И его себестоимость складывается из стоимости ингредиентов (которая высчитывается: вес * себестоимость ингр.)
Когда создаётся продукт, в него добавляются полуфабрикаты. И себестоимость за кг. продукта высчитывается по формуле из стоимости используемых полуфабрикатов.
В конкретный заказ добавляется товар, содержащий продукт в определённом количестве. Затраты на товар здесь считаются тоже путём умножения количества продукта на его себестоимость (SQL запрос нединамический) + стоимость упаковки + зарплата мастеру.
Я хочу, чтобы при такой структуре при изменении цены ингредиента менялась себестоимость продукта.