Имя: Пароль:
1C
1С v8
Поиск неликвидов
0 el7cartel
 
15.08.13
13:55
Сижу и думаю, как же лучше определить является материал неликвидом или нет. Что пришло на ум, так это сравнивать остатки на конкретную дату. Может еще кто-то по-другому делал, поделитесь пожалуйста вашими вариантами. Заранее благодарен.
1 МихаилМ
 
15.08.13
13:56
сначала определитесь, что такое "неликвид".
2 giallo
 
15.08.13
13:57
(0) ммм, есть abc/xyz калссификация например для ранжирования ассортимента
3 el7cartel
 
15.08.13
13:57
(1) вроде как определился, было поступление, но не было движения за определенный период
4 Нуф-Нуф
 
15.08.13
13:58
(3) ну так и смотри дату поступления и движения
5 el7cartel
 
15.08.13
13:59
а этот период, который будет условием, как я понимаю, его необходимо вводить...
6 Нуф-Нуф
 
15.08.13
13:59
кстати на одной из вакансий было подобное тестовое задание - создать отчет для получения неликвида. типа товар который не двигался по складу больше чем полгода. как-то так. но с хитростями
7 Wobland
 
15.08.13
13:59
(3) не проданный за три месяца пакет-майка - это странно. не проданный за тот же период холодильник - нет
8 МихаилМ
 
15.08.13
13:59
9 Maxus43
 
15.08.13
14:00
(8) http://ru.wiktionary.org/wiki/неликвид
10 giallo
 
15.08.13
14:00
(5) можно жестко задать, можно вводить, можно использоватть Генератор случайных числел
11 Maxus43
 
15.08.13
14:01
(9) там 2-е определение - именно залежавшийся товар... разговорный
12 Reaper_1c
 
15.08.13
14:02
У LearJet'а, кажется, движок крепится на 4-х магниевых болтах. Это ликвид или нет?
13 el7cartel
 
15.08.13
14:05
(10) выборка номенклатуры, с уловием что за какой-то период не было движения...т.е. суть такова...
14 Maxus43
 
15.08.13
14:07
(13) дак делай, вопрос то в чем?
15 Maxus43
 
15.08.13
14:07
не не было движений, а не было расхода
16 vde69
 
модератор
15.08.13
14:10
ВЫБРАТЬ
    Остатки.Номенклатура КАК Номенклатура,
    Остатки.Номенклатура.Ликвидность КАК Ликвидность,
    Остатки.ОстатокТекущий,
    Остатки.ОстатокНеликвид,
    ВЫБОР
        КОГДА Остатки.ОстатокНеликвид > 0
            ТОГДА 100 * (Остатки.КоличествоРасход - Остатки.КоличествоПриход) / Остатки.ОстатокНеликвид
        ИНАЧЕ 100
    КОНЕЦ КАК Процент,
    Остатки.ОстатокТекущий * ЦеныОстатков.Цена КАК ОстатокСумма
ИЗ
    (ВЫБРАТЬ
        Остатки.Номенклатура КАК Номенклатура,
        СУММА(Остатки.КоличествоКонечныйОстаток) КАК ОстатокТекущий,
        СУММА(ЕСТЬNULL(Закупки.КоличествоОборот, 0)) КАК КоличествоПриход,
        СУММА(ЕСТЬNULL(Продажи.КоличествоОборот, 0)) КАК КоличествоРасход,
        СУММА(ВЫБОР
                КОГДА Остатки.КоличествоНачальныйОстаток > ЕСТЬNULL(Продажи.КоличествоОборот, 0)
                    ТОГДА Остатки.КоличествоНачальныйОстаток
                ИНАЧЕ 0
            КОНЕЦ) КАК ОстатокНеликвид
    ИЗ
        (ВЫБРАТЬ
            ТоварыНаСкладахОстаткиИОбороты.Номенклатура КАК Номенклатура,
            СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток) КАК КоличествоНачальныйОстаток,
            СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток) КАК КоличествоКонечныйОстаток
        ИЗ
            РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты КАК ТоварыНаСкладахОстаткиИОбороты
        
        СГРУППИРОВАТЬ ПО
            ТоварыНаСкладахОстаткиИОбороты.Номенклатура) КАК Остатки
            ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
                ЗакупкиОбороты.Номенклатура КАК Номенклатура,
                СУММА(ЗакупкиОбороты.КоличествоОборот) КАК КоличествоОборот
            ИЗ
                РегистрНакопления.Закупки.Обороты КАК ЗакупкиОбороты
            
            СГРУППИРОВАТЬ ПО
                ЗакупкиОбороты.Номенклатура) КАК Закупки
            ПО Остатки.Номенклатура = Закупки.Номенклатура
            ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
                ПродажиОбороты.Номенклатура КАК Номенклатура,
                СУММА(ПродажиОбороты.КоличествоОборот) КАК КоличествоОборот
            ИЗ
                РегистрНакопления.Продажи.Обороты КАК ПродажиОбороты
            
            СГРУППИРОВАТЬ ПО
                ПродажиОбороты.Номенклатура) КАК Продажи
            ПО Остатки.Номенклатура = Продажи.Номенклатура
    
    СГРУППИРОВАТЬ ПО
        Остатки.Номенклатура) КАК Остатки
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            ВложенныйЗапрос.Номенклатура КАК Номенклатура,
            СУММА(ВЫБОР
                    КОГДА ВложенныйЗапрос.КоличествоОстаток = 0
                        ТОГДА 0
                    ИНАЧЕ ВложенныйЗапрос.СтоимостьОстаток / ВложенныйЗапрос.КоличествоОстаток
                КОНЕЦ) КАК Цена
        ИЗ
            (ВЫБРАТЬ
                ПартииТоваровНаСкладахОстатки.Номенклатура КАК Номенклатура,
                СУММА(ПартииТоваровНаСкладахОстатки.КоличествоОстаток) КАК КоличествоОстаток,
                СУММА(ПартииТоваровНаСкладахОстатки.СтоимостьОстаток) КАК СтоимостьОстаток
            ИЗ
                РегистрНакопления.ПартииТоваровНаСкладах.Остатки(&КонецПериода, ) КАК ПартииТоваровНаСкладахОстатки
            
            СГРУППИРОВАТЬ ПО
                ПартииТоваровНаСкладахОстатки.Номенклатура) КАК ВложенныйЗапрос
        
        СГРУППИРОВАТЬ ПО
            ВложенныйЗапрос.Номенклатура) КАК ЦеныОстатков
        ПО Остатки.Номенклатура = ЦеныОстатков.Номенклатура
ГДЕ
    ВЫБОР
            КОГДА Остатки.ОстатокНеликвид > 0
                ТОГДА 100 * (Остатки.КоличествоРасход - Остатки.КоличествоПриход) / Остатки.ОстатокНеликвид
            ИНАЧЕ 100
        КОНЕЦ <= &Процент

СГРУППИРОВАТЬ ПО
    Остатки.Номенклатура,
    Остатки.ОстатокТекущий,
    Остатки.ОстатокНеликвид,
    Остатки.Номенклатура.Ликвидность,
    ВЫБОР
        КОГДА Остатки.ОстатокНеликвид > 0
            ТОГДА 100 * (Остатки.КоличествоРасход - Остатки.КоличествоПриход) / Остатки.ОстатокНеликвид
        ИНАЧЕ 100
    КОНЕЦ,
    Остатки.ОстатокТекущий * ЦеныОстатков.Цена