• Ласкаво просимо на Спільнота для обміну досвідом між користувачами програм УкрБланк, УкрСклад, УкрЗарплата.
 

Прибыль по клиентам

Автор stesh, Березень 21, 2009, 23:13:11

Попередня тема - Наступна тема

0 Користувачі і 1 Гість дивляться цю тему.

stesh

Возможно ли сделать отчет прибыли по клиентам?
Т.е. нужно знать сколько клиент приносит прибыли по методу FIFO.
Пытался переделать отчет "Движение по клиентам: детализация по товару", но не могу туда добавить приходные цены чтобы посчитать прибыль по каждой строке.
Отчет "Прибыль по складу по методу списания FIFO" тоже не могу переделать так чтобы можно было добавить в запрос отбор по клиентам.
Может кто делал или подсажет что и как.
За ранее спасибо.

admin

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

stesh

Понял. Спасибо.
Я понял что программа даже немного подвисает при получении прибыли ФИФО за определенный период, а если еще и условие поиска дополнительные вводить то придется ждать наверное сутки ))

Creat

#3
А может у кого-то есть отчёт прибыль по поставщикам. Очень интересно знать с кем из поставщиков выгодно работать, какой товар выгоднее брать, а какой не очень.

В составлении запросов не разбираюсь. Помогите .
Хочу просто пока проанализировать какая прибыль получается по группе товаров относительно вложенных денег. За основу использую отчёт Прибуток по складу по методу списання FIFO. Хочу просто внизу группы добавить сумму товаров по группам. А потом разделить прибыль по этой группе на общую сумму товаров по группе. Буду видеть процент прибыльности этой группы за определённый период.
Может наоборот проще использовать отчёт сумма товаров по группам и туда добавить прибыль по этим группам ???

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

Creat

Как правильно объединить два скрипта с разных отчётов, что бы данные не выключались.
Сумма товаров по группам

select 
    s.num, 
    t.name, 
    case 
    when (c.how_to_calc = 1) then t.#цена_тип_поле#/c.kurs 
    when (c.how_to_calc = 0) then t.#цена_тип_поле#*c.kurs 
    end as cena, 
    t.ed_izm, 
    z_kolvo, 
    ((t.#цена_тип_поле#*s.z_kolvo)/#валюта_курс#) as z_suma, 
    gr.num, 
    gr.group_name 
from 
    view_sklad_zal(#склад_№#,'#дата#') s, 
    tovar_name t 
        left join currency c on t.#цена_тип_поле_пр#_curr_id = c.num, 
    print_view_sklad(0,#склад_№#) gr 
where 
    s.num = t.num and 
    t.tip = gr.num and 
    t.visible = 1 and 
    z_kolvo > 0 
order by 
    gr.group_name, 
    t.name

И с отчёта по прибыли
Прибыль по складу по методу списания FIFO

SELECT
  gr.group_name,   
  tn.kod,   
  tn.name,   
  tn.ed_izm,
  pr.in_tovar_kolvo,
  pr.in_tovar_suma,
  pr.out_tovar_kolvo,
  pr.out_tovar_suma
FROM
  tovar_name tn,
  print_view_sklad(0,#склад_№#) gr,
  pribil_fifo(#склад_№#, '#дата_с#', '#дата_по#') pr
WHERE
  pr.tovar_id = tn.num AND
  gr.num = tn.tip
ORDER BY
  gr.group_name,   
  tn.kod,   
  tn.name


admin

Цитата: Creat від Листопад 11, 2013, 11:31:26
Как правильно объединить два скрипта с разных отчётов, что бы данные не выключались.

Объясните подробней, что значит "что бы данные не выключались"? Или просто в прибыли надо показать еще и сколько есть товаров и на какую сумму?

Creat

Когда я просто изменил скрипт на

select 
    s.num, 
    t.name, 
    case 
    when (c.how_to_calc = 1) then t.#цена_тип_поле#/c.kurs 
    when (c.how_to_calc = 0) then t.#цена_тип_поле#*c.kurs 
    end as cena, 
    t.ed_izm, 
    z_kolvo, 
    ((t.#цена_тип_поле#*s.z_kolvo)/#валюта_курс#) as z_suma, 
    gr.num, 
    gr.group_name,
    pr.in_tovar_kolvo,
  pr.in_tovar_suma,
  pr.out_tovar_kolvo,
  pr.out_tovar_suma
from 
    view_sklad_zal(#склад_№#,'#дата#') s, 
    tovar_name t 
        left join currency c on t.#цена_тип_поле_пр#_curr_id = c.num, 
    print_view_sklad(0,#склад_№#) gr, 
    pribil_fifo(#склад_№#, '#дата_с#', '#дата_по#') pr
where 
    s.num = t.num and 
    t.tip = gr.num and 
    t.visible = 1 and 
    z_kolvo > 0  and
  pr.tovar_id = t.num AND
  gr.num = t.tip

order by 
    gr.group_name, 
    t.name


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


Я просто делал методом тыка - не прошло :)

А по второй фразе, я просто пробывал какой отчёт из двух вять за основу. Мне проще переделывать сам отчёт остатки по товарам - остатки товаров по группам.

Я уже ручками даже пробывал :)
Сделал отчёт  остатки товаров по группам. Переделал отчёт прибыль по ФИФО, оставил только итого по группам. А потом в екселе уже вычислил прибыльность групп :)

Creat

Сам не люблю излишне назойливых :) Но, подправьте кто-нибудь скрипт для правильной выборки.

admin

Не проверял, но вроде так:

SELECT
  gr.group_name,   
  tn.kod,   
  tn.name,   
  tn.ed_izm,
  pr.in_tovar_kolvo,
  pr.in_tovar_suma,
  pr.out_tovar_kolvo,
  pr.out_tovar_suma,
  CASE
    WHEN (c.how_to_calc = 1) THEN tn.#цена_тип_поле#/c.kurs
    WHEN (c.how_to_calc = 0) THEN   tn.#цена_тип_поле#*c.kurs
  END AS cena,
  ((tn.#цена_тип_поле#*s.z_kolvo)/#валюта_курс#) as z_suma,
  s.z_kolvo,
  gr.num
FROM
  tovar_name tn
    LEFT JOIN currency c ON  tn.#цена_тип_поле_пр#_curr_id = c.num,
  view_sklad_zal(#склад_№#,'#дата_по#') s,
  print_view_sklad(0,#склад_№#) gr,
  pribil_fifo(#склад_№#, '#дата_с#', '#дата_по#') pr
WHERE
  pr.tovar_id = tn.num AND
  s.num = tn.num and
  gr.num = tn.tip
ORDER BY
  gr.group_name,   
  tn.kod,   
  tn.name

Creat

Я так пробовал :(
После того как просто меняю скрипт на этот в отчёте сумма остатков по группам сумма меняется, а должна оставаться прежней!
Пока я просто меня скрипт того отчёта на этот который предлагаете вы.

admin

Это на основе отчета Прибыль, возьмите группу просчитайте вручную и посмотрите разницу.

Creat

Я наверное не совсем правильно изъясняюсь :(

Я хочу соединить два отчёта - прибыль по складу методом ФИФА, оставив там только прибыль по группам (это просто, я могу).
И отчёт  сумма остатков по группам.
Беру за основу   сумма остатков по группам . Теперь мне надо для каждой группы определить прибыль и сравнить её с суммой остатков по группе.  Как это сделать правильно?

Creat

Цитата: admin від Листопад 19, 2013, 11:34:30
Это на основе отчета Прибыль, возьмите группу просчитайте вручную и посмотрите разницу.
Те товары по которым было движение в это период и попадают в выборку те которые были в остатке нет.
[<SUM(<DataRep."z_suma">)>] так смотрел остаток по группе.

В сумму группы суммируются товары по которым было движение в период отчёта.