Технология построения кросс-отчетов по версиям Создание простого отчета, где сумма разложена по номерам версий: 1. Создаем обычный шаблон отчета по слою. 2. С помощью кнопки «Выбрать из стандартных» выбираем три вида колонок: a. Колонки для ключевых полей, по которым будут сгруппированы данные b. Колонку для поля «LayerVersion» c. Колонку суммы 3. Если нужно, создаем дополнительные вычислимые колонки. 4. Упорядочиваем колонки: сначала идут ключевые поля и вычислимые, потом LayerVersion, потом поле суммы. 5. Настраиваем колонку LayerVersion: a. Меняем тип поля на «Кросс» b. Устанавливаем заголовок колонки, который будет отображаться над всеми размноженными колонками с суммой 6. Настраиваем колонку суммы: a. Меняем тип поля на «Кросс-Результат» b. Устанавливаем нужный стиль c. Проверяем, что группировка стоит «Суммировать» d. Скрываем колонку, чтобы в отчет не выводилась итоговая сумма (итоговая сумма по всем версиям не имеет какого-либо предметного значения, поэтому лучше скрыть) 7. В настройках шаблона устанавливаем значение параметра «Настройки таблицы / Количество строк над таблицей, которые нужно сдвигать»: нужно поставить 2 или более (количество строк, содержащих шапку отчета). Под кросс-колонки требуется как минимум 2 строки: одна с общим заголовком, вторая – под номера версий. 8. Рисуем шаблон: кнопкой «Задать ячейку таблицы» задаем ячейку, с которой начнется вывод массива данных, а кнопкой «Установить бордюры и названия столбцов» рисуем саму таблицу. 9. Прописываем в таблице заголовок отчета и прочие атрибуты отчета. Сохраняем шаблон. 10. Регистрируем отчет на интерфейсе «Администратор отчетов». В конфигурации отчета в поле «Параметры» вручную добавляем параметр с именем «$Version.ВерсииДанных». Этот параметр позволит выбрать из списка нужные версии данных для вывода в отчет. 11. Выкладываем отчет на рабочее место, и убеждаемся, что основная часть работы сделана: Добавление в отчет колонки с разницей между версиями: 1. При выполнении пункта 3 основного алгоритма создания отчета, дополнительно добавляем вычислимую колонку, в которой будет рассчитана разница между суммами различных версий. Эту колонку ставим непосредственно перед колонкой суммы, и тоже скрываем. Настройки колонки показаны на рисунке: 2. При выполнении пункта 7 основного алгоритма указываем как минимум 3 строки в заголовке таблицы: под обобщающий заголовок, под номера версий и под заголовки колонок с разницей и общей суммой. 3. После выполнения пункта 8 основного алгоритма нужно открыть колонки с разницей и суммой, и перенести текст заголовков этих двух колонок из верхней строки заголовков в нижнюю. После этого опять скрыть. 4. При выполнении пункта 10 основного алгоритма, в конфигурацию отчета прописываем подключение расширения в поле «Дополнительная информация»: <РассчитатьРазницуВерсий ИмяПоляСуммы="Сумма" ИмяПоляРазницы="Разница"/> - в параметре «ИмяПоляСуммы» указываем имя поля (не колонки!!!) отчета, из которого выводится сумма в кросс-колонку; - в параметре «ИмяПоляРазницы» указываем имя вычислимого поля, которое мы создали под расчет разницы суммы между версиями. 5. После поключения расширений в конфигурации отчета иногда требуется перезапустить АС «Бюджет». Перезапускаем, и смотрим результат: Вывод наименований версий вместо номеров в заголовках: 1. При выполнении пункта 3 основного алгоритма создания отчета дополнительно добавляем вычислимое поле которое называем «LayerVersionName». Колонку размещаем сразу после колонки «LayerVersion». Настраиваем колонки: Колонку «LayerVersion» скрываем, и настраиваем ее, как показано на следующем рисунке: 2. Пункт 5 основного алгоритма пропускаем, т.к. кросс-колонку уже настроили 3. При выполнении пункта 10 основного алгоритма, в конфигурацию отчета прописываем подключение расширения в поле «Дополнительная информация»: <РазыменоватьВерсииВСлое Формат="[Номер] - [Название]"/> - в параметре «Формат» указываем формат строки, которую нужно сформировать для заголовков колонок. Можно использовать значения полей «Номер» и «Название». При этом номер в формате должен обязательно присутствовать, и должен быть первым, чтобы данные были правильно упорядочены, и кроссколонки вывелись в нужном порядке. 4. Если в конфигурации отчета нужно указать несколько расширений, тогда они указываются последовательно. Например: <РассчитатьРазницуВерсий ИмяПоляСуммы="Сумма" ИмяПоляРазницы="Разница"/> <РазыменоватьВерсииВСлое Формат="[Номер] - [Название]"/> 5. После поключения расширений в конфигурации отчета иногда требуется перезапустить АС «Бюджет». Перезапускаем, и смотрим результат: