Вход | Регистрация
 

КлассификацияАВС номенклатуры

КлассификацияАВС номенклатуры
Я
   Peshalkin
 
16.11.20 - 14:27
Добрый день, такой вопрос, есть отчет, который просчитывает разные данные, в том числе и общий итог по большенству колонок, я добавил колонку в макете (Класс), где должен выводить класс номенклатуры А,В или С, в зависимости от условий, я не совсем понимаю, как мне задать данные условия, чтобы данные считались из колонки итога, то-есть условие проверяет, если общий итог по номенклатуре(Наушники) <= 20% от общего итога, тогда класс А, от 20-80 = класс В иначе С, не совсем понимаю, как мне задать эти условия, часть кода, которая отвечает за вывод нужных полей



Пока ВыборкаЗаписи.Следующий() Цикл
        ОбщСумма = ОбщСумма + ВыборкаЗаписи.Сумма;
        ОбщКолВо= ОбщКолВо+ ВыборкаЗаписи.КолВо;
        
        ОбластьЗаписей.Параметры.Заполнить(ВыборкаЗаписи);
        ТабДок.Вывести(ВыборкаЗаписи, ВыборкаЗаписи.Уровень());
КонецЦикла;
ОбластьСтрока.Параметры.Сумма = ОбщСумма;
ОбластьСтрока.Параметры.КолВо = ОбщКолВо;
   Ненавижу 1С
 
1 - 16.11.20 - 14:31
Изучить функции СКД и не писать отчет кодом
   Peshalkin
 
2 - 16.11.20 - 14:31
Или если это возможно сделать в запросе, то как можно это оформить в самом запросе через условие?
   Peshalkin
 
3 - 16.11.20 - 14:32
(1) Пробовал в СКД сделать через КлассификацияABC, но проблема в том, что там можно только 1 значение вставить, то-есть количество или же сумма
   Ненавижу 1С
 
4 - 16.11.20 - 14:54
(3) в смысле только одно? классифицировать естественно можно по-одному ресурсу, выводить колонки - по нескольким
   Peshalkin
 
5 - 16.11.20 - 15:01
(4) Если не сложно можете объяснить или показать пример, я создал вычисляемое поле - Класс и Добавил его в Ресурс, там написал выражение - КлассификацияАВС("Сумма(Количество)", 3, "20,21,81") числа, это A класс – Количество или сумма входит в первые 20%. B класс – от 20% до 80%. C класс – больше 80%. , но как я выведу колонки по количество и Сумме, не совсем понимаю? и еще такой вопрос, когда я задаю проценты, у меня при формировании отчета выскакивает ошибка, но если я указываю 3 параметра, то ошибки в принципе нет и по одному значению он формирует
   Ненавижу 1С
 
6 - 16.11.20 - 15:32
КлассификацияАВС("Сумма(Количество)", 3, "20,30") 
КлассификацияАВС("Сумма(Количество)", 3, "20,30","Номенклатура")
   Peshalkin
 
7 - 16.11.20 - 15:35
Все равно не понял,поискал в интернете и нашел только работу с одной колоной, как классификацию использовать по 2м колонкам? Допустим я хочу убрать колонку количество и сумма с отчета(чтобы их не было видно) я отключаю в СКД их, у меня в отчет выводятся поля НОменклатура, КлассАВС и другие колонки, которые роли не играют в данном примере, но я же изначально задал, что классификация будет только по 1му ресурсу(количество), а задача именно если кол-во или сумма больше или меньше
   Peshalkin
 
8 - 16.11.20 - 15:35
(6) если я правильно понял, из пары статей которые мильком прочитал, то работает 3й Параметр так "30, 60" = До 60%, от 60% до 90%, свыше 90%
   Peshalkin
 
9 - 16.11.20 - 15:36
Ошибся в сообщении выше, до 30%, от 30% до 60%, свыше 60%
   Ненавижу 1С
 
10 - 16.11.20 - 15:38
(7) еще раз: как можно по нескольким признакам построить одну ранжировку?
можно либо по количеству ранжировать, либо по сумме, но не одновременно по тому и другому
   Peshalkin
 
11 - 16.11.20 - 15:41
(10) Значит не правильно понял (4), вот почему СКД мне не особо подходит, мне класс номенклатуры задать, исходя из количество и суммы, если количество будет 10% допустим, а сумма 30%, то товар получит В уже, а не А, вот в чем вся проблема, но я не совсем понимаю как это кодом реализовать
   Ненавижу 1С
 
12 - 16.11.20 - 15:42
(11) задачу формулизуй сначала
   Peshalkin
 
13 - 16.11.20 - 15:49
Опустим тот отчет который есть, возьмём новый. написал отчет который выводит только Номенклатуру, Количество и Сумма продажи, и Общий итог для них рассчитал, теперь мне нужно исходя из общей суммы или количество каждого товара за месяц, присвоить каждому товару класс А,В или С, есть условие A класс – количество или сумма входит в первые 20%, В - 20-80% иначе С, вот я не понимаю, как мне задать это условие
   Peshalkin
 
14 - 16.11.20 - 16:04
Я понимаю, что можно изначально не выводить данные в таблице, а сделать это после проверки, и вывести их целиком, а вот как мне задать это условие, вот в этом у меня заключается вся проблема
   Peshalkin
 
15 - 16.11.20 - 16:05
я изначально выборкой заполняю все параметры в цикле, получаю общий итог, после я делаю проверку условием, и по условию будет заполняться класс, после выведу все данные, но вот только как мне задать это условие, не пойму
   Ненавижу 1С
 
16 - 16.11.20 - 16:07
такой примерно ресурс:

ВЫБОР
  КОГДА КлассификацияABC("Сумма(СуммаВыручкиОборот)", 3, "20,50","Номенклатура")<КлассификацияABC("Сумма(КоличествоОборот)", 3, "20,50","Номенклатура")
    ТОГДА КлассификацияABC("Сумма(СуммаВыручкиОборот)", 3, "20,50","Номенклатура")
    ИНАЧЕ КлассификацияABC("Сумма(КоличествоОборот)", 3, "20,50","Номенклатура")
КОНЕЦ
   Peshalkin
 
17 - 16.11.20 - 16:17
(16) Я правильно понимаю, исходя из этого выражения, Классификация будет делать выборку по Сумме и Количеству в любом случае?
   Ненавижу 1С
 
18 - 16.11.20 - 16:18
(17) да и брать наименьшее
   Peshalkin
 
19 - 16.11.20 - 16:22
(18) Спасибо большое за помощь, думал, что через СКД так не сделать, как будет время, нужно будет обязательно взять на заметку ваше сообщение (1)

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.