![]() |
![]() |
|
СКД: функция Вычислить() в выражении вычисляемого поля | ☑ | ||
---|---|---|---|---|
0
daixiaozheng
03.06.09
✎
09:07
|
Не могу ее заставить работать. Поиском ничего полезного не нашел.
Цитата из документации: "..Функция Вычислить предназначена <...>. Функция имеет следующие параметры: · Выражение – строка, содержащая вычисляемое выражение; · Группировка – строка, содержащая имя группировки, в контексте · Тип расчета — строка, В случае если данный параметр имеет значение ОбщийИтог, выражение будет вычисляться для всех записей группировки. В случае если значение параметра Группировка, значения будут вычисляться для текущей групповой записи группировки." Есть у меня поле ОбъёмПродаж, группировки Номенклатура, День. Создал некое вычисляемое поле, пусть Поле1. В строке дня я должен наравне с объемом продаж дня и общий объем продаж по товару. Я понял мануал так, что должен задать для Поле1 выражение Вычислить("Сумма(ОбъёмПродаж)", "Номенклатура","Группировка"). Но оно ругается. "Ошибка исполнения отчета по причине: Ошибка получения данных по причине: Выражение не может быть вычислено "Сумма(НаборДанных1.ОбъёмПродаж)"" Интересно, что работают у меня только такие варианты: 1. Вычислить("Сумма(ОбъёмПродаж)", "ОбщийИтог","ОбщийИтог") 2. Вычислить("Сумма(ОбъёмПродаж)", "Группировка","ОбщийИтог") 3. Вычислить("Сумма(ОбъёмПродаж)", "Группировка","Группировка") :) Дают они все только общий итог. А мне нужен итог по группировке Номенклатура. P.S. gr13, самому секцию не поменять, дублирую. |
|||
1
ТелепатБот
гуру
03.06.09
✎
09:07
|
||||
2
daixiaozheng
03.06.09
✎
09:10
|
Пц, а в виде темы названия секции не видно.
На всякий случай: вопрос отоносится к СКД (система компоновки данных). Документация - Program Files\1cv81\AddDoc\RU\V8AddDoc81.htm |
|||
3
Garkin
03.06.09
✎
11:58
|
Попробуй
Вычислить("ОбъёмПродаж") |
|||
4
daixiaozheng
16.06.09
✎
11:59
|
Вернулся к этому отчету.
Может у кого появились идеи или опыт? Garkin, даже теоретически мне не подходит, ибо я должен где-то указать, что мне нужно сложить объемы продаж в контексте группировки по товару. Если Вычислить("ОбъёмПродаж") и будет работать, то он даст _общий_ итог по всем товарам. |
|||
5
IronDemon
16.06.09
✎
12:02
|
(0) Что нужно посчитать?
|
|||
6
Garkin
16.06.09
✎
12:44
|
(4) Проверял?
|
|||
7
daixiaozheng
16.06.09
✎
12:47
|
Вобщем самая суть проблемы для IronDemon.
Дожен быть такой отчет: Номенклатура ДатаПродажи Сумма ОбщаяСуммаПродажПоТовару Товар1 31.01.2009 1000 4000 Товар1 05.01.2009 700 4000 Товар1 04.01.2009 2900 4000 Товар1 14.01.2009 -600 4000 Товар2 08.02.2009 2500 7500 Товар2..... Товар3 ..... допустим, запрос выдает в СКД такую вот табличку без колонки "ОбщаяСуммаПродажПоТовару". Нужно добавить в СКД Вычисляемое поле, которое будет выводиться в детальных записях и содержать итог продаж по товару в целои. Собственно, это и должна быть колонка "ОбщаяСуммаПродажПоТовару". Насколько я понял мануал, надо в выражении поля вписать: Вычислить("Сумма(ОбъёмПродаж)", "Номенклатура","Группировка") Не работает. Как надо сделать, чтоб работало? НЕ надо советовать переделывать запрос :) |
|||
8
daixiaozheng
16.06.09
✎
12:49
|
Garkin, проверил.
Вычислить("ОбъёмПродаж") просто дублирует значение ОбъемПродаж Вычислить("ОбъёмПродаж", "Номенклатура", "Группировка") приводит к той же ошибке: Выражение не может быть вычислено "НаборДанных1.ОбъёмПродаж" |
|||
9
Garkin
16.06.09
✎
23:09
|
(8) а ну тогда
Вычислить("Сумма(ОбъёмПродаж)", "","ОбщийИтог") ЗЫ Если хочется писать Вычислить("Сумма(ОбъёмПродаж)", "Номенклатура","Группировка") то Группировке "Номенклатура" в конфигураторе обязательно надо дать "имя" (правая кнопка мыши, "установить имя..." ) |
|||
10
daixiaozheng
25.06.09
✎
09:52
|
(9) Общий итог мне вообще не нужен.
Нужно только то, что указано в "ЗЫ" А ведь заработало. Что-то мне как-то не нравится такой принцип работы. Это значит, что стоит поменять пользователю настройку (состав группировок), как отчет станет выдавать ошибку. (9) Спасибо. :) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |