![]() |
|
Как сделать в запросе ABC классификацию товаров внутри групп | ☑ | ||
---|---|---|---|---|
0
rikodroo
26.01.16
✎
09:31
|
Привет! Подскажите пожалуйста, может кто делал подобное: номенклатура лежит в папках (родитель номенклатуры) и нужно внутри каждой папки произвести классификацию АВС. Причем лучше это всё в одном запросе реализовать.
|
|||
1
FIXXXL
26.01.16
✎
09:33
|
(0) в СКД есть для ресурсов подсчет АВС
|
|||
2
rikodroo
26.01.16
✎
09:40
|
(1) Это функция какая-то СКД-шная?
|
|||
3
FIXXXL
26.01.16
✎
09:41
|
(2) да
|
|||
4
FIXXXL
26.01.16
✎
09:41
|
в справке посмотри
|
|||
5
rikodroo
26.01.16
✎
09:45
|
(4) пишут, что вроде начиная с 8.3 оно работает (((
|
|||
6
FIXXXL
26.01.16
✎
09:49
|
(5) да, 8.3 надо
КлассификацияABC(Значение, КоличествоГрупп, ПроцентыДляГрупп, ИмяГруппировки) |
|||
7
rikodroo
27.01.16
✎
08:36
|
Вот такое вот накатал, может кому-то пригодится (обратите только внимание, что методик много разных бывает для классификации по АВС):
ВЫБРАТЬ ПродажиОбороты.Номенклатура, ПродажиОбороты.Номенклатура.Родитель, СУММА(ПродажиОбороты.КоличествоОборот) КАК КоличествоОборот, СУММА(ПродажиОбороты.СуммаОборот) КАК СуммаОборот ПОМЕСТИТЬ ВРТ_ПродажиНом ИЗ РегистрНакопления.Продажи.Обороты(, , , ) КАК ПродажиОбороты СГРУППИРОВАТЬ ПО ПродажиОбороты.Номенклатура, ПродажиОбороты.Номенклатура.Родитель ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВРТ_ПродажиНом.НоменклатураРодитель, СУММА(ВРТ_ПродажиНом.КоличествоОборот) КАК КоличествоОборот, СУММА(ВРТ_ПродажиНом.СуммаОборот) КАК СуммаОборот ПОМЕСТИТЬ ВРТ_ПродажиНГ ИЗ ВРТ_ПродажиНом КАК ВРТ_ПродажиНом СГРУППИРОВАТЬ ПО ВРТ_ПродажиНом.НоменклатураРодитель ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВРТ_ПродажиНом.Номенклатура, ВРТ_ПродажиНом.НоменклатураРодитель, ВРТ_ПродажиНом.КоличествоОборот КАК КоличествоОборотПоПозиции, ВРТ_ПродажиНом.СуммаОборот КАК СуммаОборотПоПозиции, ЕСТЬNULL(ВРТ_ПродажиНГ.КоличествоОборот, 0) КАК КоличествоОборотПоНГ, ЕСТЬNULL(ВРТ_ПродажиНГ.СуммаОборот, 0) КАК СуммаОборотПоНГ, ВЫБОР КОГДА ЕСТЬNULL(ВРТ_ПродажиНГ.СуммаОборот, 0) = 0 ИЛИ ВРТ_ПродажиНГ.СуммаОборот = 0 ТОГДА 0 ИНАЧЕ 100 * ВРТ_ПродажиНом.СуммаОборот / ВРТ_ПродажиНГ.СуммаОборот КОНЕЦ КАК ПроцентПоСумме, ВЫБОР КОГДА ЕСТЬNULL(ВРТ_ПродажиНГ.КоличествоОборот, 0) = 0 ИЛИ ВРТ_ПродажиНГ.КоличествоОборот = 0 ТОГДА 0 ИНАЧЕ 100 * ВРТ_ПродажиНом.КоличествоОборот / ВРТ_ПродажиНГ.КоличествоОборот КОНЕЦ КАК ПроцентПоКоличеству ПОМЕСТИТЬ ВРТ_ОснованаяТаблица ИЗ ВРТ_ПродажиНом КАК ВРТ_ПродажиНом ЛЕВОЕ СОЕДИНЕНИЕ ВРТ_ПродажиНГ КАК ВРТ_ПродажиНГ ПО ВРТ_ПродажиНом.НоменклатураРодитель = ВРТ_ПродажиНГ.НоменклатураРодитель ; //////////////////////////////////////////////////////////////////////////////// УНИЧТОЖИТЬ ВРТ_ПродажиНом ; //////////////////////////////////////////////////////////////////////////////// УНИЧТОЖИТЬ ВРТ_ПродажиНГ ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВРТ_ОснованаяТаблица.Номенклатура, ВРТ_ОснованаяТаблица.НоменклатураРодитель, ВРТ_ОснованаяТаблица.КоличествоОборотПоПозиции, ВРТ_ОснованаяТаблица.СуммаОборотПоПозиции, ВРТ_ОснованаяТаблица.КоличествоОборотПоНГ, ВРТ_ОснованаяТаблица.СуммаОборотПоНГ, ВРТ_ОснованаяТаблица.ПроцентПоСумме, ВРТ_ОснованаяТаблица.ПроцентПоКоличеству ПОМЕСТИТЬ ВРТ_ДополнительнаяТаблица ИЗ ВРТ_ОснованаяТаблица КАК ВРТ_ОснованаяТаблица ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВРТ_ОснованаяТаблица.Номенклатура, СУММА(ВРТ_ДополнительнаяТаблица.ПроцентПоСумме) КАК ПроцентПоСуммеНарастающим ПОМЕСТИТЬ ВРТ_РасчетПроцентаПоСумме ИЗ ВРТ_ОснованаяТаблица КАК ВРТ_ОснованаяТаблица ЛЕВОЕ СОЕДИНЕНИЕ ВРТ_ДополнительнаяТаблица КАК ВРТ_ДополнительнаяТаблица ПО ВРТ_ОснованаяТаблица.НоменклатураРодитель = ВРТ_ДополнительнаяТаблица.НоменклатураРодитель И ВРТ_ОснованаяТаблица.ПроцентПоСумме >= ВРТ_ДополнительнаяТаблица.ПроцентПоСумме СГРУППИРОВАТЬ ПО ВРТ_ОснованаяТаблица.Номенклатура ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВРТ_ОснованаяТаблица.Номенклатура, СУММА(ВРТ_ДополнительнаяТаблица.ПроцентПоКоличеству) КАК ПроцентПоКоличествуНарастающим ПОМЕСТИТЬ ВРТ_РасчетПроцентаПоКоличеству ИЗ ВРТ_ОснованаяТаблица КАК ВРТ_ОснованаяТаблица ЛЕВОЕ СОЕДИНЕНИЕ ВРТ_ДополнительнаяТаблица КАК ВРТ_ДополнительнаяТаблица ПО ВРТ_ОснованаяТаблица.НоменклатураРодитель = ВРТ_ДополнительнаяТаблица.НоменклатураРодитель И ВРТ_ОснованаяТаблица.ПроцентПоКоличеству >= ВРТ_ДополнительнаяТаблица.ПроцентПоКоличеству СГРУППИРОВАТЬ ПО ВРТ_ОснованаяТаблица.Номенклатура ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВРТ_ОснованаяТаблица.НоменклатураРодитель КАК НоменклатураРодитель, ВРТ_ОснованаяТаблица.Номенклатура, ВРТ_ОснованаяТаблица.КоличествоОборотПоПозиции, ВРТ_ОснованаяТаблица.СуммаОборотПоПозиции КАК СуммаОборотПоПозиции, ВРТ_ОснованаяТаблица.КоличествоОборотПоНГ, ВРТ_ОснованаяТаблица.СуммаОборотПоНГ, ВРТ_ОснованаяТаблица.ПроцентПоСумме КАК ПроцентПоСумме, ВРТ_ОснованаяТаблица.ПроцентПоКоличеству КАК ПроцентПоКоличеству, ВРТ_РасчетПроцентаПоСумме.ПроцентПоСуммеНарастающим, ВРТ_РасчетПроцентаПоКоличеству.ПроцентПоКоличествуНарастающим, ВЫБОР КОГДА ВРТ_РасчетПроцентаПоСумме.ПроцентПоСуммеНарастающим <= &ПроцентС ИЛИ ВРТ_ОснованаяТаблица.ПроцентПоСумме = 0 ТОГДА "С" ИНАЧЕ ВЫБОР КОГДА ВРТ_РасчетПроцентаПоСумме.ПроцентПоСуммеНарастающим <= &ПроцентВ + &ПроцентС ТОГДА "В" ИНАЧЕ "А" КОНЕЦ КОНЕЦ КАК КатегорияАВС_ПоСумме, ВЫБОР КОГДА ВРТ_РасчетПроцентаПоКоличеству.ПроцентПоКоличествуНарастающим <= &ПроцентС ИЛИ ВРТ_ОснованаяТаблица.ПроцентПоКоличеству = 0 ТОГДА "С" ИНАЧЕ ВЫБОР КОГДА ВРТ_РасчетПроцентаПоКоличеству.ПроцентПоКоличествуНарастающим <= &ПроцентВ + &ПроцентС ТОГДА "В" ИНАЧЕ "А" КОНЕЦ КОНЕЦ КАК КатегорияАВС_ПоКоличеству ИЗ ВРТ_ОснованаяТаблица КАК ВРТ_ОснованаяТаблица ЛЕВОЕ СОЕДИНЕНИЕ ВРТ_РасчетПроцентаПоСумме КАК ВРТ_РасчетПроцентаПоСумме ПО ВРТ_ОснованаяТаблица.Номенклатура = ВРТ_РасчетПроцентаПоСумме.Номенклатура ЛЕВОЕ СОЕДИНЕНИЕ ВРТ_РасчетПроцентаПоКоличеству КАК ВРТ_РасчетПроцентаПоКоличеству ПО ВРТ_ОснованаяТаблица.Номенклатура = ВРТ_РасчетПроцентаПоКоличеству.Номенклатура |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |