powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Помогите как рассчитать средную себестоимость товара?
35 сообщений из 35, показаны все 2 страниц
Помогите как рассчитать средную себестоимость товара?
    #39138978
mr.Ulugbek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет всем
Помогите как рассчитать себестоимость товара
Пример

1)Поступило ручка 10 шт по цене 20 руб Себестоимость товара 20
2)Продали ручка 4 шт по цене 30 руб

3)Поступило ручка 10 шт по цене 15 руб здесь как посчитать себестоимость?
4)Продали товар 4 шт по цене 30 руб


Как мне надо узнать себестоимость продаж?

Заранее благодарен
...
Рейтинг: 0 / 0
Помогите как рассчитать средную себестоимость товара?
    #39138993
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mr.Ulugbek,

всегда отделяйте мух от котлет, т.е. себестоимость (объективную величину, независящую от воли и сознания :)) и розничную выручку (часто определяемую ценами, созревшими в головах "успешных менеджеров" по продажам :)).

Если учетной политикой предусмотрено применение метода средневзвешенной себестоимости, то:

p 1 = (C 0 + C 1 ) / (Q 0 + q 1 )

где:
p 1 = новое значение ср-взвешенной цены за 1 единицу товара, которое будет после оприходования новой партии;
C 0 = значение общей стоимости остатка товара, которое было _до_ поступления новой партии;
C 1 = значение общей стоимости товара _в_ данной партии
Q 0 = общее количество остатка товара, которое было _до_ поступления новой партии;
Q 1 = количество товара _в_ данной партии.

Значение себестоимости "X" единиц товара, которые были продано по цене p 1 (т.е. _после_ оприходования), есть: S x = p 1 * Q x

Для вашего примера будет так:

p1 = 20 / 10 = 2.0000;
s1 = 2.0000 * 4 = 8 - это себестоимость проданного товара; (30/10) * 4 = 12 - это розничная выручка;
остаток товара после продажи:
1) в количественном выражении: Q0 = 10-4 = 6 шт
2) в рублевом: S0 = 20 - 8 = 16 руб
3) новый приход: Q1=10 шт на сумму S1=15 руб - подставляем в формулу:
p1 = (S0+S1) / (Q0+Q1) = (16+15)/(6+10) = 31/16 = 1.9375 - это новое значение ср-взвешенной цены за 1 единицу товара, которое будет после оприходования новой партии; общее значение остатка на складе станет p1 * (Q0+Q1) = 31 руб - это ответ на ваш вопрос в п. "3)".
4) продали 4 штуки: s1 = 1.9375 * 4 = 7.75 руб - это себестоимость проданного товара; а ваши 30 руб - это розничная выручка.
...
Рейтинг: 0 / 0
Помогите как рассчитать средную себестоимость товара?
    #39139109
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mr.UlugbekПомогите как рассчитать себестоимость товара
Таблоидучетной политикой предусмотреноОбратитесь к своему главбуху, как прописано в вашей учетной политике, так и считайте.
...
Рейтинг: 0 / 0
Помогите как рассчитать средную себестоимость товара?
    #39139135
DBConstructor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mr.Ulugbek, в общем и целом Таблоид вам правильно ответил. Один ньюанс - то, что вы считаете, это средняя цена приобретения для складского остатка, в стоимости которого не учтены операционные расходы.
...
Рейтинг: 0 / 0
Помогите как рассчитать средную себестоимость товара?
    #39139352
mr.Ulugbek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Таблоид
Спасибо за помощь
Еще один вопрос подскажите как лучше хранить эти себестоимости товаров? или селектом можно?

Таблица примерно стандартный
1)Таблица Товары
ИД
Наименование
Фото
Штрихкод



1)Таблица Шапка документ

Тип операция (приход,расход,корректировка)
номер документа
Дата
Откуда
Куда
Проведен (да/нет)


2)Таблица перечень товаров

ИД
ИД Документа
ИД Товара
Количество
Закупочная цена

Достаточно ли селектом все вытащит на любую дату из этих таблиц
Общая выручка
Общая себестоимости продаж
Прибиль?

Заранее благодарен
...
Рейтинг: 0 / 0
Помогите как рассчитать средную себестоимость товара?
    #39139360
mr.Ulugbek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сделать отделную таблицу для хранение
или селектом с примененим оконные функции из Firebird 3 ки можно все это рассчитать на любую дату?
...
Рейтинг: 0 / 0
Помогите как рассчитать средную себестоимость товара?
    #39139381
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mr.Ulugbek,

на любую дату остаток посчитать по этим таблицам можно, но при их увеличении это начнёт тормозить.
Вам необходима еще таблица т.н. "опорных остатков", т.е. тех, что были, например, на некоторые промежуточные ("опорные" даты) - скажем, на начало каждого квартала или каждого месяца.
...
Рейтинг: 0 / 0
Помогите как рассчитать средную себестоимость товара?
    #39139489
DBConstructor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mr.Ulugbek, если вы закрываете месяц (делаете проведение), то далее вы можете опираться на итог дебета счета, на котором у вас отражен складской остаток и далее делать подсчет от последнего закрытого месяца. Собственно, так делает большинство бухгалтерских программ.
...
Рейтинг: 0 / 0
Помогите как рассчитать средную себестоимость товара?
    #39139529
mr.Ulugbek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Без дополнительных таблиц можете пример селект дать как считается себестоимоисть
пока читаю новых фич Firebird 3 over partition оконные функции..
...
Рейтинг: 0 / 0
Помогите как рассчитать средную себестоимость товара?
    #39139562
DBConstructor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mr.Ulugbek, в каком смысле "без дополнительных таблиц"?
Если вы делаете проведение бухгалтерских документов за месяц (к примеру, ТТН), то в вашей базе, как минимум, должны присутствовать таблицы плана счетов бухгалтерского учета и таблицы с итогами дебетовых и кредитовых счетов проведенных документов.
...
Рейтинг: 0 / 0
Помогите как рассчитать средную себестоимость товара?
    #39139565
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mr.Ulugbekпока читаю новых фич Firebird 3 over partition оконные функции..
оконные функции будут точно так же молотить весь результат, если он не будет храниться. Так что, улучшения производительности тут не будет.
Не знаю, откуда у вас взялась идея, что при той же структуре и объемах данных, новый sql будет "побыстрее". Есть методы доступа, и они определяют скорость выполнения запросов. А оконные функции не добавляют новых методов доступа.
...
Рейтинг: 0 / 0
Помогите как рассчитать средную себестоимость товара?
    #39139569
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Без дополнительных таблиц можете пример селект дать как считается себестоимоисть
> пока читаю новых фич Firebird 3 over partition оконные функции..

а зачем вам для подсчета остатков оконные ф-ции ? вам же агрегированные данные нужны только по ИД изделия - так или нет ?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
select
   d.ware_id -- "ИД Товара"
  ,sum( d.qty * iif( h.optype = "+", 1, -1) ) -- для приходов суммируем, для расходов вычитаем
    as amount_remainder
  ,sum (d.price_purchase -- закупочная цена (здесь это должна быть СТОИМОСТЬ ЗА ВСЁ количество по строке)
     * iif( h.optype = "+", 1, -1) -- для приходов суммируем, для расходов вычитаем
    ) as cost_remainder_in_purchasing_price
from doc_data d  -- "перечень товаров"
join doc_list h -- "Шапка документ" 
    on d.doc_id = h.id
where 
    h.проведен = "да" 
    and h.date <= :a_interested_date -- на какую дату считаем остатки (включая операции за эту дату)
group by 
   d.ware_id;
...
Рейтинг: 0 / 0
Помогите как рассчитать средную себестоимость товара?
    #39139570
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvА оконные функции не добавляют новых методов доступа
sliding window внутри буферизированного набора - это в некотором роде новый метод доступа
...
Рейтинг: 0 / 0
Помогите как рассчитать средную себестоимость товара?
    #39139574
DBConstructor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitr, не просветите в двух словах - какой принцип заложен в скользящее окно? В чем соль?
P.S. сори за офтоп.
...
Рейтинг: 0 / 0
Помогите как рассчитать средную себестоимость товара?
    #39139589
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DBConstructor,

LR 3.0Есть ещё одно важное понятие, связанное с оконными функциями: для каждой строки
существует набор строк в её разделе, называемый рамкой окна (кадры окна). По умолчанию, с
указанием ORDER BY рамка состоит из всех строк от начала раздела до текущей строки и строк,
равных текущей по значению выражения ORDER BY. Без ORDER BY рамка по умолчанию
состоит из всех строк раздела.
Таким образом, для стандартных агрегатных функций, предложение ORDER BY заставляет
возвращать частичные результаты агрегации по мере обработки записей.

В настоящее время управлять рамкой окна в Firebird нельзя. Т.е. нельзя задавать что-то вроде
ROWS BETWEEN CURRENT ROW AND 1 FOLLOWING или другие рамки.

Если есть ORDER BY окно всегда такое
RANGE UNBOUNDED PRECEDING AND CURRENT ROW (т.е. от 1 до текущего значения в ORDER BY и всех равных ему)
если ORDER BY не указано
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING (всё окно)
...
Рейтинг: 0 / 0
Помогите как рассчитать средную себестоимость товара?
    #39139595
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DBConstructor,

в заранее материализованном наборе можно сколько угодно дергать "курсор" туда-обратно, без повторного физического обращения к данным. Такой подход используется только в хеш-джойнах и при использовании оконных функций. Другие методы доступа все читают линейно и однократно.
...
Рейтинг: 0 / 0
Помогите как рассчитать средную себестоимость товара?
    #39139597
DBConstructor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис, спасибо!
В общем и целом суть ясна, но полагаю, подобного эффекта можно и сейчас (на v2.5) добиться через скан курсора в
Код: plsql
1.
2.
3.
4.
5.
6.
FOR
    SELECT ...
      FROM ...
      ORDER BY ...
      INTO: ...
  DO


при скане курсора проверяя на изменение значения уточняющих полей в предложении ORDER BY и периодически выплевывая полученные данные из процедуры в результирующий набор через SUSPEND. Или я не прав?
...
Рейтинг: 0 / 0
Помогите как рассчитать средную себестоимость товара?
    #39139598
DBConstructor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitr, внесли окончательную ясность в вопрос. Спасибо!
...
Рейтинг: 0 / 0
Помогите как рассчитать средную себестоимость товара?
    #39139602
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DBConstructor,

можно-то можно, только когда окон несколько и они с различными сортировками и секциями это становится затруднительно

Код: sql
1.
2.
3.
4.
select
  sum(t.w) over(order by t.bydate asc) as W1,
  sum(t.w) over(order by t.bydate desc) as W2
from t
...
Рейтинг: 0 / 0
Помогите как рассчитать средную себестоимость товара?
    #39139603
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тем не менее, я считаю, что мысль автора топика "а вот я сейчас заюзаю оконные функции из 3.0, и все станет хорошо", развеяна.
...
Рейтинг: 0 / 0
Помогите как рассчитать средную себестоимость товара?
    #39139604
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
оконные функции автору однозначно не помогут.
...
Рейтинг: 0 / 0
Помогите как рассчитать средную себестоимость товара?
    #39139640
mr.Ulugbek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DBConstructormr.Ulugbek, в каком смысле "без дополнительных таблиц"?
Если вы делаете проведение бухгалтерских документов за месяц (к примеру, ТТН), то в вашей базе, как минимум, должны присутствовать таблицы плана счетов бухгалтерского учета и таблицы с итогами дебетовых и кредитовых счетов проведенных документов.

Дебет кредит мне не надо
У меня простой маленький учет товаров Закупка,Продажа

Для хранение себестоимость как я понял подойдет ли такая структура таблиц оно будет заполнятся и обновляется за день?

ИД
Дата
ИДТовара
Себестоимость товар
ИДСклад (магазин итд)
Начал Остаток
Приход
Уход
КонецОстаток
...
Рейтинг: 0 / 0
Помогите как рассчитать средную себестоимость товара?
    #39139642
mr.Ulugbek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да по ИД товара мне надо узнать себестоимость товара
Здесь я не вижу вашу формулу который вы дали..




Таблоид> Без дополнительных таблиц можете пример селект дать как считается себестоимоисть
> пока читаю новых фич Firebird 3 over partition оконные функции..

а зачем вам для подсчета остатков оконные ф-ции ? вам же агрегированные данные нужны только по ИД изделия - так или нет ?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
select
   d.ware_id -- "ИД Товара"
  ,sum( d.qty * iif( h.optype = "+", 1, -1) ) -- для приходов суммируем, для расходов вычитаем
    as amount_remainder
  ,sum (d.price_purchase -- закупочная цена (здесь это должна быть СТОИМОСТЬ ЗА ВСЁ количество по строке)
     * iif( h.optype = "+", 1, -1) -- для приходов суммируем, для расходов вычитаем
    ) as cost_remainder_in_purchasing_price
from doc_data d  -- "перечень товаров"
join doc_list h -- "Шапка документ" 
    on d.doc_id = h.id
where 
    h.проведен = "да" 
    and h.date <= :a_interested_date -- на какую дату считаем остатки (включая операции за эту дату)
group by 
   d.ware_id;
...
Рейтинг: 0 / 0
Помогите как рассчитать средную себестоимость товара?
    #39139655
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mr.UlugbekДа по ИД товара мне надо узнать себестоимость товара
Здесь я не вижу вашу формулу который вы дали..Себестоимость имеющегося остатка на интересующую дату - вот она:...
Код: plaintext
1.
2.
  ,sum (d.price_purchase -- закупочная цена (здесь это должна быть СТОИМОСТЬ ЗА ВСЁ количество по строке)
     * iif( h.optype = "+", 1, -1) -- для приходов суммируем, для расходов вычитаем
    ) as cost_remainder_in_purchasing_price
...
А формулу надо впихивать в after-update триггер на вашу таблицу "Шапка документа": если новое значение в поле "Проведен" этой таблицы стало равным "Да", то курсором пройтись по таблице "Перечень товаров" (с отбором строк только для данного документа) и для каждого изделия уже рассчитывать новое значение средневзвешенной цены. С записью в поле "Цена средняя" вашей "Таблицы товаров" (вы это поле не указали, но оно вам понадобится, т.к. при оформлении списаний из него надо будет брать это значение для расчета стоимости расхода в закупочных ценах).
...
Рейтинг: 0 / 0
Помогите как рассчитать средную себестоимость товара?
    #39139667
mr.Ulugbek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Таблоидmr.UlugbekДа по ИД товара мне надо узнать себестоимость товара
Здесь я не вижу вашу формулу который вы дали..Себестоимость имеющегося остатка на интересующую дату - вот она:...
Код: plaintext
1.
2.
  ,sum (d.price_purchase -- закупочная цена (здесь это должна быть СТОИМОСТЬ ЗА ВСЁ количество по строке)
     * iif( h.optype = "+", 1, -1) -- для приходов суммируем, для расходов вычитаем
    ) as cost_remainder_in_purchasing_price
...
А формулу надо впихивать в after-update триггер на вашу таблицу "Шапка документа": если новое значение в поле "Проведен" этой таблицы стало равным "Да", то курсором пройтись по таблице "Перечень товаров" (с отбором строк только для данного документа) и для каждого изделия уже рассчитывать новое значение средневзвешенной цены. С записью в поле "Цена средняя" вашей "Таблицы товаров" (вы это поле не указали, но оно вам понадобится, т.к. при оформлении списаний из него надо будет брать это значение для расчета стоимости расхода в закупочных ценах).

Понятно спасибо вам
Добавлю тогда в таблицу товара несколько полей (цена средняя),продажная цена по умолчанию,закупочная цена по умолчанию, скидка
Создам для таблицу товаров аудит лог через IBExpert для учета лога что было что стало итд

Попробую спасибо вам огромное
...
Рейтинг: 0 / 0
Помогите как рассчитать средную себестоимость товара?
    #39165233
RADSeatle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Таблоид
Подскажите как вычислить средний себестоимость товара при удаление прихода
Допустим
Приход 01,01,2016
1) Товар А 10 штук по 15 рублей себестоимость товара 15 рублей

Приход 10,01,2016
1) Товар А 10 штук по 10 рублей себестоимость товара 12,5 рублей

Есть у меня таблица который хранить перечень товаров при приходе для него работает триггер after insert or after update
в нем обновляю две таблицу один таблицу остатков другой справочник товаров поля средний себестоимость
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
declare variable CURRENT_QTY D_QTY;
declare variable CURRENT_COST D_AMT;
declare variable NEW_COST D_AMT;
begin

IF (INSERTING) THEN
  begin
   CURRENT_QTY  =0;
   CURRENT_COST =0;
   NEW_COST     =0;     

  select sum(coalesce(qty,0))
    from GOODSREMAINS
   where GOODSID=:NEW.GDSID     
    INTO :CURRENT_QTY;
    
  select coalesce(GDSAVGCOST,0)
    from TGOODS
   where GDSID=:NEW.GDSID     
    INTO :CURRENT_COST;
    
    if (exists(select goodsid from goodsremains where goodsid = :NEW.GDSID and storeid = :NEW.STOREID and boxnumber = :NEW.GDSCOD)) then
        begin
            UPDATE GOODSREMAINS
                   SET GOODSREMAINS.QTY = GOODSREMAINS.QTY + :NEW.RGSTRITEMQTY * :NEW.TRANSTYPE
                        WHERE GOODSREMAINS.GOODSID   = :NEW.GDSID
                               AND GOODSREMAINS.BOXNUMBER = :NEW.GDSCOD
                               AND GOODSREMAINS.STOREID   = :NEW.STOREID;
  end
  else
  begin
    insert into goodsremains (
        goodsid,
        storeid,
        boxnumber,
        qty)
        VALUES (:NEW.GDSID,:NEW.STOREID,:NEW.GDSCOD,:NEW.RGSTRITEMQTY * :NEW.TRANSTYPE);
  end
  
  NEW_COST = (:CURRENT_QTY*:CURRENT_COST+:NEW.RGSTRITEMQTY*:NEW.RGTRITEMPURCHAMT)/(:NEW.RGSTRITEMQTY+:CURRENT_QTY);  

  update TGOODS
     set GDSAVGCOST=:NEW_COST
   where GDSID=:NEW.GDSID;

end
ELSE IF (DELETING) THEN
   BEGIN
         CURRENT_QTY  =0;
     CURRENT_COST =0;
     NEW_COST     =0;
     
     select sum(coalesce(qty,0))
    from GOODSREMAINS
   where GOODSID=:OLD.GDSID     
    INTO :CURRENT_QTY;
    
  select coalesce(GDSAVGCOST,0)
    from TGOODS
   where GDSID=:OLD.GDSID     
    INTO :CURRENT_COST;
   
     UPDATE GOODSREMAINS
        SET GOODSREMAINS.QTY = GOODSREMAINS.QTY - :OLD.RGSTRITEMQTY * :OLD.TRANSTYPE
      WHERE GOODSREMAINS.GOODSID   = :OLD.GDSID
        AND GOODSREMAINS.BOXNUMBER = :OLD.GDSCOD
        AND GOODSREMAINS.STOREID   = :OLD.STOREID;    

   
    
     NEW_COST = ((:CURRENT_QTY-:OLD.RGSTRITEMQTY * :OLD.TRANSTYPE)*:CURRENT_COST-:OLD.RGSTRITEMQTY*:OLD.RGTRITEMPURCHAMT)/:CURRENT_QTY+:OLD.RGSTRITEMQTY;  

  update TGOODS
     set GDSAVGCOST=:NEW_COST
   where GDSID=:OLD.GDSID;
   end    
end




При приходе правильно считает но при удаление неправильно.. Заранее благодарен
...
Рейтинг: 0 / 0
Помогите как рассчитать средную себестоимость товара?
    #39165242
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RADSeatle,

В прошлый раз я отсутствовал, и возможности поворчать не было.
Это не себестоимость, а средневзвешенный остаток.
Хватит называть себестоимостью какие-то приходы без учёта затрат и прочего, у меня зубы ныть начинают.
...
Рейтинг: 0 / 0
Помогите как рассчитать средную себестоимость товара?
    #39166267
RADSeatle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
WildSery
это не остаток а средневзвешенный стоимость
Пример

Приход
ТоварА 10 шт по 15 рубл средневзвешенный стоимость 15
Продажа
ТоварА 4 шт по 25 рубл при продаже вставлю средневзвешенный стоимость 15

Выручка 100
Прибил 100-60=40

Приход
ТоварА 10 шт по 10 рубл средневзвешенный стоимость уже будет по формуле (6*15+10*10)/(10+6) = 11,875
Продажа
ТоварА 4 шт по 25 рубл при продаже вставлю средневзвешенный стоимость 11,875

Выручка 100
Прибил 100-47,5= 52,5

Суммарная выручка 200
Суммарная 107,5
Суммарная прибил 92,5

Подскажите как обратно считать средневзвешенный стоимость если удалить один из приход
...
Рейтинг: 0 / 0
Помогите как рассчитать средную себестоимость товара?
    #39166541
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RADSeatleкак обратно считать средневзвешенный стоимость если удалить один из приходКогда вы отменяете у прихода статус "Проведён", то по каждому его изделию надо найти (в сальдовой таблице количественных и стоимостных остатков) прежнюю стоимость S0 и прежний колич. остаток Q0. Затем вычисляете (S0-Si) / (Q0 - Qi), где Qi - общее кол-во по строке в отменяемом приходе, а Si - общая стоимость в этой строке. Результат будет новой средневзв. ценой. Умножаете её на новое кол-во (если надо) и получаете ср-взв. стоимость.
Тут сложного ничего нет.
Однако! Прежде, чем вы будете отменять приход, необходимо убедиться, что также отменены все расходы, в которые "попало" хотя бы одно количество из этого прихода. Это уже другая песня, связанная с правилом списаний (FIFO/LIFO), да и вообще с политикой вашей конторы - можно ли такое делать. Ведь расходы эти, если они не внутренние, надо будет затем опять "накатывать" :-)
...
Рейтинг: 0 / 0
Помогите как рассчитать средную себестоимость товара?
    #39166552
RADSeatle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Таблоид
Метод FIFO LIFO пока не надо. В моем случае как пересчитать остатки голову ломаю чета застрял на этом пути
...
Рейтинг: 0 / 0
Помогите как рассчитать средную себестоимость товара?
    #39166561
RADSeatle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня три таблица
1 шапка документа у шапки документа есть флаг проведен или нет
2 детали документа
3 точная копия детали документа внем есть триггер

Когда галочку вставить проведен
я беру из второго таблиц
сажаю в третую таблицу
...
Рейтинг: 0 / 0
Помогите как рассчитать средную себестоимость товара?
    #39166580
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RADSeatle,

Концепцию через ж... строили, вот теперь и мучаешься.
У тебя нет партионного учёта, судя по всему, но ты "откуда-то знаешь", что из первой партии именно 6*15
Если же ты тупо усредняешь текущую цену, то это не средневзвешенная, а вообще хрен знает что.
И вычесть обратно, "рассреднить", невозможно, без пересчёта всей цепочки.

Иначе получится вот такая фигня:
скажем, у тебя получилось 12 штук остаток по цене 11.875
теперь ты хочешь вычесть первый приход и найти цену
(2*х + 10*15) / 12 = 11.875
2*х + 10*15 = 142.5
2*х = -7.5
х = -3.75

Меняй концепцию.
...
Рейтинг: 0 / 0
Помогите как рассчитать средную себестоимость товара?
    #39166764
RADSeatle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
WildSeryRADSeatle,

Концепцию через ж... строили, вот теперь и мучаешься.
У тебя нет партионного учёта, судя по всему, но ты "откуда-то знаешь", что из первой партии именно 6*15
Если же ты тупо усредняешь текущую цену, то это не средневзвешенная, а вообще хрен знает что.
И вычесть обратно, "рассреднить", невозможно, без пересчёта всей цепочки.

Иначе получится вот такая фигня:
скажем, у тебя получилось 12 штук остаток по цене 11.875
теперь ты хочешь вычесть первый приход и найти цену
(2*х + 10*15) / 12 = 11.875
2*х + 10*15 = 142.5
2*х = -7.5
х = -3.75

Меняй концепцию.


Как делаются учет по FIFO LIFO и средный себестомость. Мне надо по средную...

Таблоид
Можете по подробнее
автор прежнюю стоимость S0 и прежний колич. остаток Q0. Затем вычисляете (S0-Si) / (Q0 - Qi), где Qi - общее кол-во по строке в отменяемом приходе, а Si - общая стоимость в этой строке. Результат будет новой средневзв. ценой. Умножаете её на новое кол-во (если надо) и получаете ср-взв. стоимость



Приход
1) 10 штук 15 рублей средный 15
2) 10 штук 10 рублей средный 12,5
3) 10 штук 20 рублей средный 15


Хочу удалит первый приход 1)
По ваше формулой чета не получается должно 15руб должен у вас 13,7

S0=15 руб*30шт
Q0=30 шт

Qi=10
Si=15*10шт
...
Рейтинг: 0 / 0
Помогите как рассчитать средную себестоимость товара?
    #39166844
RADSeatle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Таблоид спасибо получилось
...
Рейтинг: 0 / 0
Помогите как рассчитать средную себестоимость товара?
    #39167032
RADSeatle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Таблоид еще один вопрос
Как будет правильнее показать суммарный выручка и суммарный себестоимость продаж и прибыль

Пример
купил 10 ручка по 15 руб себестоимость товар 15 руб
продал 4 шт по 25 руб

Выручка 100 себестоимость продаж 60 Прибыль 40 руб

купил 10 ручка по 10 руб себестоимость товар 11,88 руб
продал 4 шт по 25 руб

выручка 200 себестоимость продаж 107.52 руб Прибыль 92.48 руб

Удаляю последний приход
При удаление прихода беру текущий себестоимость
считаю новый себестоимость
Обновляю таблицу продажи
себестомость продаж на новую
где себестомость продаж=текущий себестоимость
код товара = код товара

Тогда получиться так
Выручка 200 себестоимость продаж 120 руб Прибыль 80 руб
Или оставить как есть тогда получается так
выручка 200 себестоимость продаж 107.52 руб Прибыль 92.48 руб
...
Рейтинг: 0 / 0
35 сообщений из 35, показаны все 2 страниц
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Помогите как рассчитать средную себестоимость товара?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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