Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Очень сложный вопрос. Как рассчитать прибыль КОНКРЕТНОГО товара.  [new]
Kimel
Member

Откуда: Украина
Сообщений: 334
Есть таблица с продажами. Там цена по которой продавался товар и количество.
Есть таблица с закупками.

Всё стандартно. Но у меня один большой вопрос.

Я упрощу всё, представим, что в фирме один товар. У нас есть продажи и закупки. Теперь для примера 2 таблицы.
(Дата для упрощения будет 1,2,3...)
Таблица закупки
Цена К-во Дата
1011
11102
1214


Таблица продажи
Цена К-во Дата
1212
1354
1434
1525


возникает такая проблема, как же посчитать прибыль? Извините, если я не сильно в бухгалтерских терминах разбираюсь, но я имею ввиду Прибыль, это Выручка-Закупка. Сеть не в этом. Как теперь посчитать всё это?
Дело в том, что я реализовал такой алгоритм.

Берём первую закупку, и продаём её, в итоге у нас получается 12*1-10*1=2 (у.е) Это очень просто, дальше основная проблема.
Берём 13*5-11*10= -45грн Получается абсурл, я подумла, что нужно считать не так.
Берём и каждую запись разбиваем по 1 количеству, будет что-то типо:
Цена Дата
101
112
112
112
112
112
112
112
112
112
112
124


Тоже самое делаем с таблицей продажи. (Не буду приводить, просто представьте.)

Теперь алгоритм будет работать примерно так:
берём от первой продажи отнимаем первую закупку. В итоге будет 12-10=2(уе), добавляем это значение в переменную "прибыль".  Дальше делаем тоже самое пока все продажи не закончатся. 
В итоге у нас будет переменная Прибыль в которой прибыль по каждому товару.

Тепреь закономерный вопрос. Что бы всё это посчитать нужно часа 2. Вся беда в том, что о прибыли должна быть информация оперативная и по дням. И каждый раз пересчитывать эти милионы записей не очень то и удобно.

Посоветуйте ка кэто дело упростить. Нужна прибыль по неделям, от товара.

И да кстати, я это дело делал на C#. Теперь нужно (крайне нужно) реализовать это на SQL (MS SQL 2012)
SQL я знаю, но вот я слышал, что всякие процедурные функции и прочее в SQL это не кошерно.
28 июн 14, 20:05    [16233825]     Ответить | Цитировать Сообщить модератору
 Re: Очень сложный вопрос. Как рассчитать прибыль КОНКРЕТНОГО товара.  [new]
347635
Guest
Kimel,

Вам нужна себестоимость товара на момент продажи. Как ее вычислять - узнавайте у вашего бизнеса - вариантов уйма, начиная от различных средних и заканчивая учетом партий товаров.
28 июн 14, 23:03    [16234329]     Ответить | Цитировать Сообщить модератору
 Re: Очень сложный вопрос. Как рассчитать прибыль КОНКРЕТНОГО товара.  [new]
Kimel
Member

Откуда: Украина
Сообщений: 334
347635,

Избавьте меня от своих советов.
28 июн 14, 23:06    [16234341]     Ответить | Цитировать Сообщить модератору
 Re: Очень сложный вопрос. Как рассчитать прибыль КОНКРЕТНОГО товара.  [new]
msLex
Member

Откуда:
Сообщений: 9291
Kimel,

вам дело советуют, почти все системы
28 июн 14, 23:09    [16234347]     Ответить | Цитировать Сообщить модератору
 Re: Очень сложный вопрос. Как рассчитать прибыль КОНКРЕТНОГО товара.  [new]
Kimel
Member

Откуда: Украина
Сообщений: 334
msLex,

Мне просто нужна реализоация алгоритма на SQL. Сначала нужно разгруппировать 2 таблицы, потом просто вычесть их. Занести значения по датам в допполнительную таблицу и использовать её как кэш.

А вопросы других реализаций мне не у кого спросить. Или тут пишите или лучше помогите реализовать то, что есть.
28 июн 14, 23:11    [16234355]     Ответить | Цитировать Сообщить модератору
 Re: Очень сложный вопрос. Как рассчитать прибыль КОНКРЕТНОГО товара.  [new]
msLex
Member

Откуда:
Сообщений: 9291
ушло раньше времени

почти все erp поддерживают 3(4) основных системы связи закупок-продаж
1. партионный.
2. FIFO (LIFO реже).
3. усредненная себестоимость.
28 июн 14, 23:12    [16234357]     Ответить | Цитировать Сообщить модератору
 Re: Очень сложный вопрос. Как рассчитать прибыль КОНКРЕТНОГО товара.  [new]
Kimel
Member

Откуда: Украина
Сообщений: 334
msLex,

У нас такая ERP в которой ничего из этого нет.
Просто 2 таблицы поступления и продажи и исходя из них нужно всё это вычислить средствами SQL
28 июн 14, 23:15    [16234372]     Ответить | Цитировать Сообщить модератору
 Re: Очень сложный вопрос. Как рассчитать прибыль КОНКРЕТНОГО товара.  [new]
msLex
Member

Откуда:
Сообщений: 9291
Если говорить о вашей проблеме, то в лоб это решается следующим образом


1. Добавляется таблица текущий остатков
дата поступления, товар, себестоимость, количество, зарезервировано


2. В таблицу продаж добавляется поле себестоимость. Когда вы добавляете товар в счет/накладную то
он блокируется в таблице остатков в порядке прихода, т.е. товар может быть взят из нескольких закупок. Из этих же строк берется себестоимость товара
28 июн 14, 23:19    [16234380]     Ответить | Цитировать Сообщить модератору
 Re: Очень сложный вопрос. Как рассчитать прибыль КОНКРЕТНОГО товара.  [new]
Kimel
Member

Откуда: Украина
Сообщений: 334
msLex,

Я смысл уловил, что к каждой записе нужно в момент её добавление прибавлять её себестоимость.
Но всё е немного не понял как это реализовать, не понял с резервацией.
28 июн 14, 23:24    [16234396]     Ответить | Цитировать Сообщить модератору
 Re: Очень сложный вопрос. Как рассчитать прибыль КОНКРЕТНОГО товара.  [new]
msLex
Member

Откуда:
Сообщений: 9291
Kimel,

обычно, сначала выставляется счет клиенту, в этот момент товар резервируется, после продажи (отгрузки) товара остаток уменьшается, резерв убирается.
28 июн 14, 23:27    [16234404]     Ответить | Цитировать Сообщить модератору
 Re: Очень сложный вопрос. Как рассчитать прибыль КОНКРЕТНОГО товара.  [new]
Kimel
Member

Откуда: Украина
Сообщений: 334
msLex,

У нас не та модель бизнеса. У нас может быть с резервацией и без. У нас может быть такая ситуация, когда товар ещё не пришёл (а соответственно мы не знаем сколько будет он стоить), но уже клиент его заказал. Ну и подобные непрятности.

Товар может резервироваться, а может просто висеть заказ без резервации. Бывают там всякие киалова, недосчёты, браки, короче сложно в момент составления заказа както соотнести товар с тем который на складе (так как его может и не быть по факту)
28 июн 14, 23:34    [16234420]     Ответить | Цитировать Сообщить модератору
 Re: Очень сложный вопрос. Как рассчитать прибыль КОНКРЕТНОГО товара.  [new]
msLex
Member

Откуда:
Сообщений: 9291
Kimel
У нас не та модель бизнеса. У нас может быть с резервацией и без.

Сразу списывайте остаток

Kimel
У нас может быть такая ситуация, когда товар ещё не пришёл (а соответственно мы не знаем сколько будет он стоить), но уже клиент его заказал.

Выписывайте товар без себестоимости, помечайте документ, а после поступления товара пересчитывайте себестоимость (можно сразу в момент прихода)

Kimel
Товар может резервироваться, а может просто висеть заказ без резервации.

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

Kimel
Бывают там всякие киалова, недосчёты, браки, короче сложно в момент составления заказа както соотнести товар с тем который на складе (так как его может и не быть по факту)

Всякие браки, пересортицы и прочие пропажа товара должны проходить отдельными документами, для корректного списания остатка.
28 июн 14, 23:43    [16234447]     Ответить | Цитировать Сообщить модератору
 Re: Очень сложный вопрос. Как рассчитать прибыль КОНКРЕТНОГО товара.  [new]
Kimel
Member

Откуда: Украина
Сообщений: 334
msLex,

То есть вы предлагает, подойти к этой проблеме с точки реорганизации определенных бизнес-процессов? (не типа решение не в лоб)

Просто эта информация нужна во первых для статистики. А во вторых, что бы знать как отрабатывают менеджеры, сколько прибыли принёс сегодня менеджер, а соответственно сколько денег ему дать.
28 июн 14, 23:50    [16234467]     Ответить | Цитировать Сообщить модератору
 Re: Очень сложный вопрос. Как рассчитать прибыль КОНКРЕТНОГО товара.  [new]
msLex
Member

Откуда:
Сообщений: 9291
Kimel
То есть вы предлагает, подойти к этой проблеме с точки реорганизации определенных бизнес-процессов?

Нет, я же выше расписал, как ваши бизнес процессы "ложатся" в это решение. Понятно, что это просто прикидки и вам нужно детальнее все это проработать.
29 июн 14, 13:15    [16235115]     Ответить | Цитировать Сообщить модератору
 Re: Очень сложный вопрос. Как рассчитать прибыль КОНКРЕТНОГО товара.  [new]
Kimel
Member

Откуда: Украина
Сообщений: 334
msLex,

Вот вы написали
msLex
1. Добавляется таблица текущий остатков
дата поступления, товар, себестоимость, количество, зарезервировано


2. В таблицу продаж добавляется поле себестоимость. Когда вы добавляете товар в счет/накладную то
он блокируется в таблице остатков в порядке прихода, т.е. товар может быть взят из нескольких закупок. Из этих же строк берется себестоимость товара


Что если сделать таблицу поступления -
Поступления
Дата поступление Товар Себестоимость Количество Осталось

Написать тригер на продажу товара что-то типа.
1. Найти ПЕРВУЮ поставку в которой не пустое поле ОСТАЛОСЬ и отнять отнять от осталось количество проданного 2. Если продалось не всё то найти следующую поставку с непустым осталось и сделать шаг 1. Толкьо вот меня смущает, что прийдется пробегать по всем товарам.
Потом сделать представление Остатки:
Товар Осталось
Гдето осталось, это сумма всех Осталось по товару из таблицы Поступления.

Такая схема будет нормальная?
Какие есть ограничения? (продажи, поступления обратным числом, и тд..)
29 июн 14, 14:01    [16235197]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить