#0
by fisher
Никогда раньше Вычислить и иже с ними не юзал, а сейчас чую - не обойтись. Только не могу сообразить - как... Нужно следующее. Исходная: допустим, есть оборотный регистр продаж с измерениями подразделение, контрагент, номенклатура и еще десятком других. Нужно посчитать показатель - размер среднего ассортимента, продаваемого контрагентам. Т.е. при любых отборах и группировках посчитать количество проданных номенклатурных позиций (видов номенклатуры!) каждому контрагенту и поделить их суммарное количество на количество контрагентов, которым выполнялась продажа (в диапазоне отчета). Т.е. сколько в среднем видов номенклатуры продали некоему среднему контрагенту. Вот как это посчитать?
#2
by fisher
Посчитать отдельно количество контрагентов и отдельно количество видов номенклатуры вообще - проблем не вижу. А вот как рассчитать и просуммировать количество видов номенклатуры по контрагентам... Допустим, УТ для Украины.
#3
by Reset
Так это просто одно "среднее" число получается? Вроде так можно (вечер, могу тупить): Выбрать Контрагент, Количество(Продажи.Номенклатура) Как Колич Поместить ПоКонтрагентам Из РН.Обороты(&БлаБлаОтборы) как Продажи Группировать по Контрагент ;
#7
by fisher
Это всего лишь один из показателей большого отчета. Т.е. задачу нужно решить минимальным вмешательством в базовый запрос. В идеале - на уровне вычисляемых полей и ресурсов СКД. Еще раз. Этот показатель должен рассчитываться вне зависимости от настроек группировок отчета. Т.е, допустим, пользователь выбрал группировку по подразделениям. А показатель должен отобразить ассортимент средней покупательской корзины по продажам этого подразделения. Этот показатель не имеет смысла. Что показывает отношение общего количества видов номенклатуры к общему количеству контрагентов? Мне нужно другое. Что именно - вроде как достаточно подробно описал.
#10
by fisher
Сочувствую :) Мои "объяснятельские" способности исчерпаны. В сабже исчерпывающая формулировка, ИМХО.
#11
by dk
недавно считал среднее кол-во товаров в чеке в принципе в все верно можно Количество(Различные Товар) ----- ты приведи пример на 5-10 строк исходных и что получить хочешь
#12
by Reset
как я понял из , - неверно. Если имеем 2 номенклатуры и 5 клиентов, при этом 4е клиент покупают всегда только 1у, а пятый только другую, результат должен быть 1, а не 2/5
#13
by dk
т.е. нужен не общий ассортимент а "средний" ассортимент по каждому клиент? Тоже не проблема - точно также считаем ассортимент по каждому клиенту отдельно
#14
by fisher
Именно. Нужно как бы получить сумму Количество(Различные Товар) по группировке "Контрагент" и поделить на количество контрагентов. Проблема в том, что считать это надо при любых настройках отчета (группировки выбирает пользователь).
#18
by Reset
Отдельно не проблема посчитать (см ) ТСу нужно это как то встроить в существующий запрос, чтобы работало "при любых настройках отчета". Я к сожалению в СКД профан
#19
by fisher
Есть у меня одна безумно извратная идея на самый крайний случай... Но мне кажется, что можно как-то через Вычислить сделать. Вроде ж для подобных вещей сделано, как мне казалось. Только я с ним никак не подружусь. На все мои потуги СКД ошибки сыпет... "Не могу мол такое посчитать и всё тут"
#20
by Noroving
Вычислить не для этого предназначено) Вот этот вариант из Вычисляемым полем тебе поможет. В запросы ничего пихать не нужно.. это ж СКД
#22
by Prince
ЕстьNull(Номенклатура)/ЕстьNull(Количество(Различные Контрагент)) - в вычисляемых полях
#26
by Noroving
Для общего итога - Ресурс - Вычислить(Количество(Номенклатура),"Контрагент")/Количество(Контрагент) - чтото вроди того)) нет я писал не правельно...
#27
by Noroving
или даже так Создаеш вычисляемое поле КолПоКонтрагенту(Количество(Различные Номенклатура)) а потом в Общем итоге Вычислить(Сумма(КолПоКонтрагенту), "Контрагент")/Количество("Контрагент").
#28
by Prince
В СКД это не прокатит- Вычислить(Сумма(КолПоКонтрагенту), это не ресурс а агрегатный объект
#29
by Noroving
должно получится, когдато я с этим игрался .... Выведи "КолПоКонтрагенту" в ресурсы по группировке "Контрагент"
#30
by y22-k
Если Он хочет посмотреть сколько номенклатуры продавалось контрагенту - Количество(различные номенклатура) а если он хочет посчитать какая доля то Количество(различные номенклатура)/Вычислить(Количество (различные контрагент), "Общий итог ") - как-то так
#31
by fisher
Вооот! Что-то в этом духе я и пробую. Но когда я пытаюсь что угодно Вычислить по "Контрагент" в ресурсе - ошибку валит. Щаз еще на свежую голову буду экспериментировать.
#32
by Prince
ЕстьNull(Количество(различные номенклатура))/ЕстьNull(Вычислить(Количество (различные контрагент), "Общий итог ")) - в вычисляемых полях . Ошибок не будет.
#33
by Prince
Ошибки валят потому что, Контрагент и Номенклатура являются агрегатными объектами а не ресурсами.
#34
by Axel2009
а что, ваще не работает в ресурсе задать что надо? ВЫБРАТЬ Номенклатура, Контрагент ИЗ РегистрНакопления.Продажи выч.поле СредОб, в значение пусто в ресурсах пишешь КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Номенклатура) / КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Контрагеент)
#35
by Axel2009
вот так вот надо делать <?xml version="1.0" encoding="UTF-8"?> <query>ВЫБРАТЬ ПЕРВЫЕ 100
#36
by fisher
Кто объяснит разницу между ВЫЧИСЛИТЬ и ВЫЧИСЛИТЬВЫРАЖЕНИЕ? По справке одно и то же, даже примеры одинаковые. ВЫЧИСЛИТЬВЫРАЖЕНИЕ типа более навороченное (тогда непонятно, нафиг ВЫЧИСЛИТЬ нужно?). Короче ВЫЧИСЛИТЬ при любых попытках что-то рассчитать по группировке ошибку валило. Попробовал ВЫЧИСЛИТЬВЫРАЖЕНИЕ - ошибку не валит. Щаз через него попробую сделать. Не. Лень по пятому кругу объяснять.
#37
by Axel2009
тады вот. через ВЫЧИСЛИТЬ <?xml version="1.0" encoding="UTF-8"?> <query>ВЫБРАТЬ ПЕРВЫЕ 100
#39
by Axel2009
давай на примерах К1 и К2 В1 В2 В3 связка К1 В1 К2 В3 что должено вывестись на экран при наличии группировок по К В и общий итог? =)
#40
by fisher
Всё, разобрался. Прочитал всё, что удалось раскопать по этим функциям, чуток прояснилось. Короче, в моем случае рулит ВычислитьВыражениеСГруппировкойМассив
#42
by fisher
Во встроенной справке отсутствует важнейший ньюанс - ВычислитьВыражение юзается для получения данных из вышестоящих группировок. А для моей задачи надо - из нижестоящих.
#46
by fisher
Конфигуратор - Справка - Содержание справки - Система компоновки данных - Язык выражений системы компоновки данных - Функции языка выражений системы компоновки данных
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- СКД: СКД. Понимает ли СКД ссылки на МенеджерВременныхТаблиц?
- СКД: как в СКД значеняи параметров по умолчанию заполнять?
- СКД: Диаграмма в СКД
- СКД: СКД. Как задать устанавливать параметры вложенных схем СКД?
- СКД: Объединение в СКД
- СКД: Как в СКД вычислить параметр - месяц назад от текущей даты?
- СКД: СКД - можно ди получить промежуточные итоги по колонкам
- СКД: Настройки СКД
- СКД: СКД: Программное обращение к полям группировки СКД
- СКД: СКД. Как переоределить действие кнопки "Сформировать" отчета, созданного в СКД?
- СКД: Как в СКД вычислить параметр - месяц +/- от текущей даты?
В этой группе 1С
- Панель функций, где найти в конфигураторе?
- Как аргументировать почему в распределении НДС участвует вся выручка. БП и КА?
- как программно удалить строчки из регистра сведений?
- как программно задать значение параметра СКД из "Шаблон типового отчета"?
- УТ 10.3. Третий товар бесплатно.
- СКД вывод штрих-кодов в одной строке, но в разных колонках
- Условие в запросе в СКД, как сделать?
- 1С УПП добавить поле в отчет "Дебиторская задолженность по срокам долга"
- v7: Подключение BZB-2U к 1с предприятие 7.7
- Новогоднее видеонаблюдение
- v8: УТ - как в акт выполненных работ на основании заказа добавить не только услуги но и товары?
- v7: Восстановление узла РИБ
- Работа с объектом "Расписание". How to easy...
- УПП - завершение сеансов пользователей
- Картинки в 1С элемент и группа справочника.
- v7: Долго запускается 1С
- Совместная группировка по периодам с другими выражениями запрещена
- БП 2.0, Корректировка поступления, трабла с НДС
- Увеличить длину кода в плане счетов 1С82 Бух 2.0
- Табличное поле - колонки дерева значений