Имя: Пароль:
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)
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn