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



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

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