Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Новое итоговое поле в группировке
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Система компоновки данных
salton
Добрый день.

Есть проблемка. Существует отчет который необходимо было дополнить данными. Кой чего я уже вывел. Но остался не решенным один вопрос:



Необходимо создать в строке группировки новое поле "% виходу". По сути это поле будет вычисляемым - Сума(Количествосырья)\КоличествоПродукции.
Я пробовал создать новое вычисляемое поле и лепить его к строке группировок "Продукция, Количество продукции, цена продукции" итд.
Но естественно получал ошибку:



сам отчет прилагается - необходимо зарегистрироваться для просмотра ссылки
платформа - 8.3.8.2322
релиз - "Управление торговым предприятием для Украины", редакция 1.2. (1.2.43.1)

Безусловно я не блещу знаниями в СКД, потому прошу ткнуть носом в решение вопроса.
Заранее благодарен!

зы. по другому - Поле "% виходу" для Строки "Продукция...." - это сумма "5 виходу" по строкам "сырье"
sava1
В ресурсах - Вычислить("Сумма(КолСырья)/Сумма(КолПродукции)")
Vofka
ВычислитьВыражениеСГруппировкойМассив (EvalExpressionWithGroupArray)
Синтаксис:

ВычислитьВыражениеСГруппировкойМассив (Выражение, ВыраженияПолейГруппировки, ОтборЗаписей, ОтборГруппировок)

Параметры:

Выражение - выражение, которое нужно вычислить. Тип Строка. Например, "Сумма(СуммаОборот)";
ВыраженияПолейГруппировки - выражения полей группировки, перечисленные через запятую. Например, "Контрагент, Партия";
ОтборЗаписей - выражение, применяемое к детальным записям. Например, "ПометкаУдаления = Ложь". Если в данном параметре используется агрегатная функция, то при выполнении компоновки данных возникнет ошибка;
ОтборГруппировок - отбор, применяемый к групповым записям. Например: "Сумма(СуммаОборот) > &Параметр1".
Функция возвращает массив, каждый элемент которого содержит результат вычисления выражения для группировки по указанному полю.

Пример:

Максимум(ВычислитьВыражениеСГруппировкойМассив ("Сумма(СуммаОборот)", "Контрагент"));

Компоновщик макета при генерации макета преобразовывает параметры функции в термины полей макета компоновки данных. Например, поле Контрагент будет конвертировано в НаборДанных.Контрагент.

Компоновщик макета при генерации выражений для вывода пользовательского поля, в выражении которого присутствует только функция ВычислитьМассивСГруппировкой генерирует выводимое выражение таким образом, чтобы данные выводить представления и данные были упорядочены.

Например, для пользовательского поля с выражением:

ВычислитьВыражениеСГруппировкойМассив("Сумма(СуммаОборот)", "Контрагент")

компоновщик макета сгенерирует для вывода следующее выражение:

СоединитьСтроки(Массив(Упорядочить(ВычислитьВыражениеСГруппировкойТаблицаЗначений ("Представление(Сумма(НаборДанных.СуммаОборот)), Сумма(НаборДанных.СуммаОборот)", "НаборДанных.Контрагент"), "2")))
salton
Как вычислить необходимое мне выражение я понял.
Вопрос в том - как разместить его именно в нужной мне строке?

Тоесть я хочу вывести результат в строку с четвертой группировкой "Продукция ..." или с третьей "Виробництво..."



вот как на рисунке


зы... уже хочется плюнуть и сделать обычным внешним отчетом....
Vofka
На вкладке Ресурсы можно указывать в каких группировках им быть.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.