Имя: Пароль:
1C
1С v8
Отчет по неликвидам
0 Zombi
 
03.12.13
14:20
Сделал я такой отчет по неликвидам: Собирает остатки на складах, находит дату последнего прихода и дату последнего расхода и считает количество дней без продаж ТекущаяДата() - ДатаРасхода. Отчет работает, но если происходит такая ситуация: Товар давно купили и давно весь продали, месяц назад купили снова и пока 1 месяц он лежит на складе Отчет считает дату последней продажи(когда его больше года назад последний раз продали) и относит товар к неликвиду. То есть не видит что товар какое то время был продан весь. Можно ли как то обойти эту ситуацию?
3 Zombi
 
03.12.13
14:24
УТ 10.3
4 Галахад
 
гуру
03.12.13
14:24
Мин(ТекущаяДата() - ДатаРасхода, ТекущаяДата() - ДатаПрихода)
5 Aleksey
 
03.12.13
14:24
Если ДатаПрихода > ДатаРасхода тогда
//это не нелеквид
Иначе
//
КонецЕсли


Правда вопрос. У вас товар лежит год не продается, снабжения его еще раз закупила (свежий приход), или например, возврат от покупателя оформили как поступление (обратная реализация), тогда согласна твоему алгоритму товар становится "свежим"
6 Zombi
 
03.12.13
14:26
(4) Тогда если логисты закупят неликвидный товар, он перестанет быть неликвидным. То же неверно. Нужно получается как то видеть, был ли товар продан в 0.
7 Zombi
 
03.12.13
14:28
Вот запрос, кстати:

ВЫБРАТЬ
    ХозрасчетныйОстатки.Субконто1,
    СУММА(ХозрасчетныйОстатки.СуммаОстаток) КАК СуммаОстаток,
    СУММА(ХозрасчетныйОстатки.КоличествоОстаток) КАК КоличествоОстаток,
    ХозрасчетныйОстатки.Субконто2
ПОМЕСТИТЬ втСебестоимость
ИЗ
    РегистрБухгалтерии.Хозрасчетный.Остатки(
            &ТочкаАктуальности,
            Счет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ТоварыНаСкладах)
                ИЛИ Счет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.СырьеИМатериалы),
            ,
            ) КАК ХозрасчетныйОстатки

СГРУППИРОВАТЬ ПО
    ХозрасчетныйОстатки.Субконто1,
    ХозрасчетныйОстатки.Субконто2
;

////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ
    ХозрасчетныйОбороты.Субконто1 КАК Номенклатура,
    МАКСИМУМ(ВЫБОР
            КОГДА ХозрасчетныйОбороты.СуммаОборотДт > 0
                ТОГДА ХозрасчетныйОбороты.Период
            ИНАЧЕ ДАТАВРЕМЯ(1, 1, 1)
        КОНЕЦ) КАК ДатаПрихода,
    МАКСИМУМ(ВЫБОР
            КОГДА ХозрасчетныйОбороты.СуммаОборотКт > 0
                ТОГДА ХозрасчетныйОбороты.Период
            ИНАЧЕ ДАТАВРЕМЯ(1, 1, 1)
        КОНЕЦ) КАК ДатаРасхода,
    МАКСИМУМ(втСебестоимость.КоличествоОстаток) КАК КоличествоОстаток,
    МАКСИМУМ(втСебестоимость.СуммаОстаток) КАК СтоимостьОстаток,
    втСебестоимость.Субконто2 КАК Склад
ИЗ
    втСебестоимость КАК втСебестоимость
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.Обороты(
                ,
                ,
                Регистратор,
                Счет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ТоварыНаСкладах)
                    ИЛИ Счет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.СырьеИМатериалы),
                ,
                ,
                ,
                ) КАК ХозрасчетныйОбороты
        ПО втСебестоимость.Субконто1 = ХозрасчетныйОбороты.Субконто1
            И втСебестоимость.Субконто2 = ХозрасчетныйОбороты.Субконто2

СГРУППИРОВАТЬ ПО
    ХозрасчетныйОбороты.Субконто1,
    втСебестоимость.Субконто2

Я потом его в скд пихаю и поля некоторые вычисляю.
8 Zombi
 
03.12.13
14:28
Блин, этот запрос для БП, но есть такой же для УТ. Щас выложу.
9 Aleksey
 
03.12.13
14:29
(6) правильно, нужно брать все приходы и в обратном порядке набирать приходы на то количество что на остатке. И уж исходя из этой таблице и делать вывод.
Правда по хорошему еще многое чего нужно учитывать и частоту поставок (например сезонный товар, или раз в 3 месяца приход) и оборачиваемость
10 France
 
03.12.13
14:29
(3) используй "Анализ оборачиваемости товара" и наслаждайтесь жизнью.
11 Джинн
 
03.12.13
14:29
(0) Алгоритм безумный с точки зрения бизнес-логики
12 Zombi
 
03.12.13
14:30
Вот для УТ:

ВЫБРАТЬ
    ПартииТоваровНаСкладахОстатки.Номенклатура,
    СУММА(ПартииТоваровНаСкладахОстатки.СтоимостьОстаток) КАК СтоимостьОстаток,
    СУММА(ПартииТоваровНаСкладахОстатки.КоличествоОстаток) КАК КоличествоОстаток,
    ПартииТоваровНаСкладахОстатки.Склад
ПОМЕСТИТЬ втСебестоимость
ИЗ
    РегистрНакопления.ПартииТоваровНаСкладах.Остатки(&ТочкаАктуальности, ) КАК ПартииТоваровНаСкладахОстатки

СГРУППИРОВАТЬ ПО
    ПартииТоваровНаСкладахОстатки.Номенклатура,
    ПартииТоваровНаСкладахОстатки.Склад
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ТоварыНаСкладахОбороты.Номенклатура,
    МАКСИМУМ(ВЫБОР
            КОГДА ТоварыНаСкладахОбороты.КоличествоПриход > 0
                ТОГДА ТоварыНаСкладахОбороты.Период
            ИНАЧЕ ДАТАВРЕМЯ(1, 1, 1)
        КОНЕЦ) КАК ДатаПрихода,
    МАКСИМУМ(ВЫБОР
            КОГДА ТоварыНаСкладахОбороты.КоличествоРасход > 0
                ТОГДА ТоварыНаСкладахОбороты.Период
            ИНАЧЕ ДАТАВРЕМЯ(1, 1, 1)
        КОНЕЦ) КАК ДатаРасхода,
    МАКСИМУМ(втСебестоимость.КоличествоОстаток) КАК КоличествоОстаток,
    МАКСИМУМ(втСебестоимость.СтоимостьОстаток) КАК СтоимостьОстаток,
    ТоварыНаСкладахОбороты.Склад
ИЗ
    втСебестоимость КАК втСебестоимость
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Обороты(, &ТочкаАктуальности, Запись, ) КАК ТоварыНаСкладахОбороты
        ПО (ТоварыНаСкладахОбороты.Номенклатура = втСебестоимость.Номенклатура)
            И (ТоварыНаСкладахОбороты.Склад = втСебестоимость.Склад)

СГРУППИРОВАТЬ ПО
    ТоварыНаСкладахОбороты.Номенклатура,
    ТоварыНаСкладахОбороты.Склад
13 Джинн
 
03.12.13
14:30
(10) Вот так взяли и все опошлили одной фразой :)
Можно сказать полет мысли обрубили!
14 DexterMorgan
 
03.12.13
14:32
Сделал я такой отчет по неликвидам: Собирает остатки на складах, находит дату последнего прихода и дату последнего расхода и считает количество дней без продаж ТекущаяДата() - ДатаРасхода.

Забавный отчет. Если товар переместили с одного склада на другой - то товар естественно к неликвиду не относится?
15 ProProg
 
03.12.13
14:32
Могу продать готовое планирование для закупщиков. Там все на свете что только есть по товару, включая лекидность и прочее.
16 Zombi
 
03.12.13
14:32
Ну ТЗ мне ставят, хотят люди работать с таким отчетом. Пользуются и анализом оборачиваемости товара и остальными.
17 France
 
03.12.13
14:32
(13) каюсь, виноват))... обломал Мане реализацию))
18 Zombi
 
03.12.13
14:33
(14) Есть 2 варинта отчета, 1 учитывает перемещения, другой не учитывает, то есть товар нужно именно продать.
19 DexterMorgan
 
03.12.13
14:35
(18) У тебя есть параметры периода формирования отчета?
20 France
 
03.12.13
14:36
(16) а анализ оборачиваемости чем их не устроил? ведь, по сути, то что им нужно..
21 ProProg
 
03.12.13
14:36
(17) анализ оборачиваемости товаров - можешь выкинуть на свалку) так что ничего не обломал)
22 Zombi
 
03.12.13
14:36
(19) Задается только дата актуальности отчета, берется период с начала ведения учета.
23 DexterMorgan
 
03.12.13
14:37
(18) Вообще нельзя тут смотреть только по регистру товары на складах, нужно еще смотреть регистр продажи
24 ProProg
 
03.12.13
14:37
Вот разработка http://subsystems.ru/catalog/29/154/ учитывает все КАК НАДО! и четко. по полнейшей программе
25 el7cartel
 
03.12.13
14:38
(1) "выбор когда"  в запросе!
26 DexterMorgan
 
03.12.13
14:38
(18) у тебя возвраты корректно не отработают
27 ProProg
 
03.12.13
14:38
+(24) считает дни - по трем регистрам накопления с товарами. плюс соединение с календарем, учет выходных, праздников и рабочей недели.
Считает скорость и выдает два показателя ликвидности.
28 Zombi
 
03.12.13
14:39
(20) Им нужно видеть по каждому товару такие показатели как последняя дата прихода, последняя дата расхода, дней без продаж и все это в группировке по складам по колонкам. То есть если товар не продается на этом складе, тут же видно, как он продается на других складах. Может нормально идет в других магазинах, а может висит везде.
29 France
 
03.12.13
14:39
(24) у тебя анлим на рекламу??
30 ProProg
 
03.12.13
14:40
(29) ссылка по тематике не считается рекламой. чувак хотя бы увидит и услышит - надо будет сам сделает.
31 DexterMorgan
 
03.12.13
14:41
(28) Еще раз тебе говорю, чтобы решить (0) нужно сначала выбрать товар-неликвид из регистра продажи. Потом эту номенклатуру соединяй с товарами на складах и получай свои показатели - даты прихода и тд
32 Zombi
 
03.12.13
14:41
(27) Как видишь, я не владелец бизнеса, а одинесник. Поэтому пришел сюда за советом, а не за готовым отчетом.
33 el7cartel
 
03.12.13
14:41
(28) писал недавно такой отчет, могу скинуть если нужно!
34 Zombi
 
03.12.13
14:43
(31) Как из регистра "Продажи" можно выбрать неликвид?
35 DexterMorgan
 
03.12.13
14:43
(31) + хотя без периода - это бред. товар когда продали, тыщу лет назад и все он типа в неликвид не попадает.
36 Zombi
 
03.12.13
14:43
(33) Кидай, буду признателен.
37 Zombi
 
03.12.13
14:44
(35) В моем случае неликвид считается: Есть товар на складе? если есть когда последний раз продавался? Если больше месяца назад - это неликвид.
38 ProProg
 
03.12.13
14:46
Ну тогда вот совет:

1) регистр производственный календарь.
2) С НИМ соединяем три регистра: продажи, остатки товарво на складах, остатки в рознице (ни в коем случае партии)
39 ProProg
 
03.12.13
14:46
и получаем полную шахматку остатков и продаж по дням. исключем сразу дни - выходные, праздники.
40 DexterMorgan
 
03.12.13
14:48
(37) Нафига тогда тебе весь период анализировать, если у тебя всегда месяц?
41 Zombi
 
03.12.13
14:48
(39) Себестоимость неликвида тоже нужна, поэтому без партий никак.
42 DexterMorgan
 
03.12.13
14:48
(38) +1
43 Zombi
 
03.12.13
14:49
(40) Товар не продается год или полгода или месяц? Для логистов - большая разница. На колонку "Дней без продаж" они смотрят.
44 DexterMorgan
 
03.12.13
14:51
(34) ОстаткиНаСкладе.Номенклатура соединяешь с ПродажиОбороты где ПродажиОбороты.Номенклатура есть null
45 ProProg
 
03.12.13
14:52
короче манагеры у вас дибилы - можешь им так и передать.
хотят слепить мух с котлетами и получить отчет. сто пудово не выполняющий ничего.
лучше им мой покажи - купят  радости полные штаны будут.

ЗЫ половину ваших манагеров директор уводит после моего отчета.
46 ProProg
 
03.12.13
14:54
(43) логист у вас идиот. дни без продаж)) Весь мир считает дни с продажами, а у них смотрят на дни без продаж)))


Ну посчитай дни спродажами. а потом отними от всех дней = дни без продаж)))
Простая математика.
47 DexterMorgan
 
03.12.13
14:55
(43) Без периода никак, нужно еще определять был остаток на начало периода, (то что в (0) у тебя проблема). товар ликвиден в привязке к периоду времени.
48 DexterMorgan
 
03.12.13
14:56
(46) Сам ты идиот, это нужно многим, другое дело что посчитать их легко
49 Aleksey
 
03.12.13
14:57
(46) а может не логисты идиоты? Раз ты не понимаешь разницу между "Дней без продаж" и "осчитай дни спродажами. а потом отними от всех дней = дни без продаж"
50 ProProg
 
03.12.13
14:58
(48) считается ЭЛЕМЕНТАРНО как два пальца, как дважды два, как трижды три.
И примеров валом!
с производственным календарем надо делать запрос, с продажами и остаточными регистрами по складам.

Сколько раз повторить надо чтобы в голову дошло?
51 DexterMorgan
 
03.12.13
14:58
(50) Писатель?

читай (48) до посинения
52 ProProg
 
03.12.13
14:59
(49) ты дурак?
в школе двоешником наверное был?
От перемены мест слагаемых сумма не меняется.
53 Aleksey
 
03.12.13
14:59
(50) еще раз
"Дней без продаж" <> "всех дней - дни спродажами."
54 Aleksey
 
03.12.13
15:00
(52) Дней без продаж = ТекущаяДата() - Дата последней продажи."
И тут колендарь нафиг не нужен

Если ты этого не понимаешь тогда не лезь в ветку
55 DexterMorgan
 
03.12.13
15:01
(54) Он просто программист от бога. Ему важно посчитать все дни когда товар не продавался, а то, что это накуй никому не нужно это вторично
56 SunFox
 
03.12.13
15:03
Может все таки партии использовать по ФИФО если? Можно посмотреть какая партия когда пришла и вычислить число дней которое она лежит на складе.
57 ProProg
 
03.12.13
15:03
(54) если стоит задача ОТ ПОСЛЕДНЕЙ ПРОДАЖИ. то календарь тоже НУЖЕН. Выходные и параздники никто не отменял от подсчета.
58 DexterMorgan
 
03.12.13
15:04
(57) Иди уже отсюда
59 SunFox
 
03.12.13
15:05
Юзай партии, у тебя же УТ 10
60 Zombi
 
03.12.13
15:06
(56) Партий нет.
(57) Накой нам выходные и праздники? Магазины работают и в выходные и в праздники.
61 ProProg
 
03.12.13
15:06
(58) да пойду. оставайтесь сами с вашими подсчетами. Потом ясно становится когда у фирмы директор в акуе от работы закупок вместе с программистами.
62 Aleksey
 
03.12.13
15:07
(57) При условии что праздников не так уж и много ты действительно считаешь что кто-от будет заморачиваться 148 дней он не продается или 138 дня? По большому счету он не продается больше месяца и пофиг на сколько больше, чисто так для себя чтобы понимать порядок это 2 месяца или 10.
От того что ты прикрутишь к расчету календарь ни холодно ни жарка
63 ProProg
 
03.12.13
15:09
(62) ага. читай (61) Когда программист принимает решение - да какая нафиг разница 148 или 138 ))) да да.
64 Zombi
 
03.12.13
15:11
(63) Магазины работают и в выходные и в праздничные, зачем эти дни исключать? Они в выходные и в праздничные еще больше чем в будни продают.
65 el7cartel
 
03.12.13
15:12
вы чего-то поперли не в ту степь...
66 el7cartel
 
03.12.13
15:16
друг, вот ты скажи конкретно что тебе нужно получить? если то, что в (0) то сделай "выбор когда"! и все!
67 ProProg
 
03.12.13
15:17
(64) если работают - пусть работают. Мы тут обсуждаем правильный подход а он один. Во всех примерах типовых происходит работа с календарем. А как работает фирма - просто настройка рабочей недели.
68 ProProg
 
03.12.13
15:18
в 1С розница есть оборотка по товарам - там есть рабочий запрос.
69 Aleksey
 
03.12.13
15:20
(63) А с чего это ты взял что это программист принял такое решение? Лишь бы языком ляпнуть?
70 Zombi
 
03.12.13
15:22
(66) Взять таблицу ОстаткиИОбороты и условие Выбор Когда ТоварыНаСкладахОбороты.КоличествоКонечныйОстаток <> 0 ?
71 ProProg
 
03.12.13
15:23
получить дату последней продажи не составляет труда. Согласен?
Простым запросом по продажам с выбрать первые 1, с датой уорядоччивания продажи по убыванию.

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

1) запрос по номенклатуре.
2) выгружаем ее в ТЗ.
3) Проходим циклом делаем подзапрос с каждым товаром по получению последней даты продажи.

имеем промежуточную ТЗ:
4) делаем общий запрос по календарю+нашей таблице через менеджер временных таблица запроса + соединение по остаткам в эти дни. Так как в любом случае понадобится инфо - а был ли товар вооще на остатках за дни когда не было продаж.


(69) потому что  МОЗГ надо включать всегда, а не от того что безголовые манагеры просят.
72 el7cartel
 
03.12.13
15:24
ну вот судя из этого " Отчет считает дату последней продажи(когда его больше года назад последний раз продали) и относит товар к неликвиду", вам нужно сравнить эти даты! а дальше сами думайте! (70)
73 YAGolova
 
03.12.13
15:29
(71) Это печально, если первое что в голову тебе приходит для получения последней даты продажи это оббегать ТЗ в цикле с запросом. Могу предположить что же тогда за код в МЕГА обработке
74 Aleksey
 
03.12.13
15:30
(71) Товар купили и он лежит на складе что покажет твой алгоритм?

Вариант 2. Купили в январе и тут же продали, потом купили в июле и он пол года лежит, что отчет покажет
75 ProProg
 
03.12.13
15:31
(73) а у меня нету таког опоказателя - дата последней продажи. У меня история продаж выводится в расшифровке. Где манагер видит всю динамику.

Второе: не все всегда можно слепить в одном запросе. если надо по каждому товару получить дату последней продажи - НУ ДАВАЙ как давай запрос который сделает это оптимально быстро одним запросом, чем подзапрос с комбинацией ВЫБРАТЬ ПЕРВЫЕ 1 с обратным порядком дат - который сработает моментально.
76 Aleksey
 
03.12.13
15:31
(73) Вот и рушатся наше представления об мега спецах. А ведь всем на этом форуме известно что бывает с яйцами, если писать запросы в цикле
77 ProProg
 
03.12.13
15:32
+(73) а то я смотрю тут умник на унике, а как дело до конкретной реализации и программирпования - так сразу все в разбег.
78 Aleksey
 
03.12.13
15:32
(75) П.3 твойе писанины не ты писал?
79 el7cartel
 
03.12.13
15:33
вы из элементарной задачи делаете какой-то изврат!
80 ProProg
 
03.12.13
15:33
(76) это ты программистам 1С будешь рассказывать у которых ПолучитьЦенуНоменклатуры() - в каждом массовой выборке по товарам
81 Aleksey
 
03.12.13
15:34
(79) Давно известный факт, что маня в ветки - это цирк и пиар его сайта
82 ProProg
 
03.12.13
15:34
(78) я автору даю совет как быстро и оптимально решить задачу. Для него это будет проще всего.
А ты умник раз начал уже говорить - давай текст запроса где ты все сделаешь одним запросом.
83 Aleksey
 
03.12.13
15:35
(82) Я такого разве говорил?
84 DexterMorgan
 
03.12.13
15:36
(75) Оо, я в акуе....
85 ProProg
 
03.12.13
15:36
(83) а ну да. не ты. другой. Но ты ему поддакиваешь)))
86 YAGolova
 
03.12.13
15:38
(85) Я конешна может чего то в этой жизни не понимаю, но помоему запрос:
ВЫБРАТЬ
    ПродажиОбороты.Номенклатура,
    МАКСИМУМ(ПродажиОбороты.Период) КАК Период
ИЗ
    РегистрНакопления.Продажи.Обороты(, , День, ) КАК ПродажиОбороты

СГРУППИРОВАТЬ ПО
    ПродажиОбороты.Номенклатура
в аккурат вернет даты послених продаж по номенклатуре
87 ProProg
 
03.12.13
15:39
(84) я тоже в акуе. но в запросах 1С нельзя использовать ВЫБРАТЬ ПЕРВЫЕ 1 во вложенныхъ запросах.

А так как решение задачи это множественные соединения с разными регистрами. и получение даты последней продажи это будет вложенный запрос.
88 ProProg
 
03.12.13
15:40
(86) ага. У меня 400 000 товаров с базе 10 лет. Спасибо большое. Я два часа буду ждать данные этого запроса.
89 ProProg
 
03.12.13
15:41
Весь запрос полностью выгребет всю базу. Да еще и по дням.
90 Aleksey
 
03.12.13
15:41
(85) Я одного понять не могу, с чего ты взял что кому тог интересна твоя динамика?

У меня например, руководства часто просит отчеты из серии "кого выеб..ть" которые показывает косяки менеджеров или снабженцев. И этот возможно как раз иодин из вариантов. В данном случае пофиг на динамику, главное оценить масштаб трагедии. Если 50% товара лежит полгода и не продается - это повод вызвать снабженца, а он уже пусть формирует отчеты с динамикой и объясняет почему товар лежит полгода на складе
91 YAGolova
 
03.12.13
15:42
(88) У меня в базе товаров примерно столько же и выполнение его заняло примерно 3с. Т.е. ты предполагаешь оббежать 400000 строк таблицы и выполнить столько же запросов будет быстрее? Мне даже если чессно проверять лень
92 DexterMorgan
 
03.12.13
15:44
(88) Ты че? в цикле сделать 400 000 раз запрос быстрее?
93 ProProg
 
03.12.13
15:44
(91) слушай давай рассматривать всю задачу во всем контексте а не урывками.
не писти что у тебя за3 секунды выполнился этот запрос. В это никто не поверит.

Второе: у автора надо получить дату последней продажи по каждому складу. В регистре продаж склада нет.
94 ProProg
 
03.12.13
15:44
(92) выбрать первые 1 с порядком будет молниеносно.
95 YAGolova
 
03.12.13
15:46
(94) У меня нет даже желания с тобой спорить, видно что программист из тебя никакой, надеюсь хоть продажник отличный
96 ProProg
 
03.12.13
15:47
(95) взаимно вижу что ты никакой. тк только верхушку задачи видишь. а на следующем шаге получишь облом.
97 Zombi
 
03.12.13
15:47
Вроде такой запрос решил задачу:

ВЫБРАТЬ
    ПартииТоваровНаСкладахОстатки.Номенклатура,
    СУММА(ПартииТоваровНаСкладахОстатки.СтоимостьОстаток) КАК СтоимостьОстаток,
    СУММА(ПартииТоваровНаСкладахОстатки.КоличествоОстаток) КАК КоличествоОстаток,
    ПартииТоваровНаСкладахОстатки.Склад
ПОМЕСТИТЬ втСебестоимость
ИЗ
    РегистрНакопления.ПартииТоваровНаСкладах.Остатки(&ТочкаАктуальности, ) КАК ПартииТоваровНаСкладахОстатки

СГРУППИРОВАТЬ ПО
    ПартииТоваровНаСкладахОстатки.Номенклатура,
    ПартииТоваровНаСкладахОстатки.Склад
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ТоварыНаСкладахОстаткиИОбороты.Номенклатура,
    МАКСИМУМ(ВЫБОР
            КОГДА ТоварыНаСкладахОстаткиИОбороты.КоличествоПриход > 0
                ТОГДА ТоварыНаСкладахОстаткиИОбороты.Период
            ИНАЧЕ ДАТАВРЕМЯ(1, 1, 1)
        КОНЕЦ) КАК ДатаПрихода,
    МАКСИМУМ(ВЫБОР
            КОГДА ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход > 0
                ТОГДА ТоварыНаСкладахОстаткиИОбороты.Период
            ИНАЧЕ ДАТАВРЕМЯ(1, 1, 1)
        КОНЕЦ) КАК ДатаРасхода,
    МАКСИМУМ(втСебестоимость.КоличествоОстаток) КАК КоличествоОстаток,
    МАКСИМУМ(втСебестоимость.СтоимостьОстаток) КАК СтоимостьОстаток,
    ТоварыНаСкладахОстаткиИОбороты.Склад
ИЗ
    втСебестоимость КАК втСебестоимость
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(, &ТочкаАктуальности, Запись, , ) КАК ТоварыНаСкладахОстаткиИОбороты
        ПО (ТоварыНаСкладахОстаткиИОбороты.Номенклатура = втСебестоимость.Номенклатура)
            И (ТоварыНаСкладахОстаткиИОбороты.Склад = втСебестоимость.Склад)
ГДЕ
    ВЫБОР
            КОГДА ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток <> 0
                ТОГДА ИСТИНА
            ИНАЧЕ ЛОЖЬ
        КОНЕЦ

СГРУППИРОВАТЬ ПО
    ТоварыНаСкладахОстаткиИОбороты.Номенклатура,
    ТоварыНаСкладахОстаткиИОбороты.Склад

Рабочий день заканчивается, завтра буду проверять. Всем спасибо.
98 wade25
 
03.12.13
15:47
Не читал) По сути запрос:

1. Берем календарь, берем остатки на каждый день, делаем временную табличку 1.
2. Берем продажи и делаем табличку 2.
3. Группируем табличку 2 по номенклатуре и соединенем с количеством различных получаем сколько дней товар был.
4. По формуле твоей получаешь ликвидность. (по сути это к-нт оборачиваемости, вообще ничего сам по себе не дающий, по этой теме, т.к. оборачиваемость фин показатель).
99 ProProg
 
03.12.13
15:50
(97) приход и расход в регистре товаров по складам это не только поступление и реализация. это еще и перемещения, списания, оприходования, возвраты, коректировки и еще вагон документов.
100 wade25
 
03.12.13
15:52
И еще) Маня прав про склады. Если склады далеко друг от друга и продажи идут с ними связано, регистр продажи не пойдет)
101 Zombi
 
03.12.13
15:53
(99) Я выше писал уже, что есть несколько вариантов отчетов, этот берет все, есть варинты, где не учитываются перемещения и прочее. Просто тут несколько фирм, у каждой своя специфика.
102 ProProg
 
03.12.13
15:55
+(100) тут цикличный запрос по реализациям с выборкой первого и упорядочиванием.