Кнопка сформировать отчет 1с

Обновлено: 05.07.2024

Сначала получаем форму.

Если отчет хранится в базе тогда выполняем на клиенте код:

Далее получаем настройки:

Через серверный вызов получаем настройки и если нужно заполняем параметры Компоновщика в отдельной процедуре.

Загружаем измененные настройки в компоновщик

Код выполняется на клиенте, сначала мы формируем структуру с необходимыми параметрами формы, а потом вызываем процедуру открытия. Часто используемые параметры в данном случае это:

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

Код выполняется на сервере.

Получение локального макета

Получение макета произвольного отчета

Получение макета во внешней обработке

Получение макета из внешней обработки или отчета

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

Мы можем создать новый компоновщик настроек на основе схемы и получить настройки из него.

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

И когда будем формировать

Далее программно заполняем параметры Компоновщика. Об этом подробно в разделе 4 .

Объявляем создаем необходимые объекты:

Создаем макет компоновки с помощью компоновщика макета:

Если результат выполнения СКД нужно вывести в таблицу значений то соответствующий тип генератора нужно указать в параметрах:

Инициализируем процессор компоновки данных

Создаем процессор вывода:

Для вывода в таблицу значений используется другой процессор вывода:

Запускаем процесс вывода:

Теперь мы можем проводить нужные операции с полученными данными.

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

При программном формировании СКД как в пункте 2 у нас есть огромное количество возможностей по управлению отчетом. Опишем самые часто используемые из них.

Или если с добавлением нового параметра

Переменная Настройки содержит в себе всю палитру настроек которая доступна в редакторе СКД в разделе “Настройки”. Наиболее часто из них программно редактируются отборы, параметры и структура, в случае когда отчет с табличной структурой надо вывести в таблицу значений. Рассмотрим их подробнее.

Параметры

Все параметры создаются при создании исходного отчета, исключение если параметр был добавлен при редактировании запроса. Значение существующего параметра устанавливается следующим образом:

Добавление параметра делается следующим образом

Отбор

У отборов нет специальных функций по установке значений. Поэтому нужно перебирать коллекцию циклом.

Структура

Для адаптации отчета к выводу в таблицу значений нужно очистить структуру группировок отчета и создать поле группировки “Детальные записи”.

Программист может упростить работу пользователя по вводу параметров и отборов если есть некоторая закономерность в них, но они всё таки не фиксированы. К примеру, сравнительный отчет по продажам за этот месяц этого года и аналогичные месяца трех предыдущих годов.

Приведенные примеры кода были протестированы на платформе 1С:Предприятие 8.3 (8.3.13.1690).

Приветствую. Продолжаем изучать объекты на дереве конфигурации и на очереди "Отчет" (Рисунок 1).

Создание отчета ничем не отличается от создания любого другого объекта дерева конфигурации: через контекстное меню или через значок плюсик.

Отчет - это объект дерева конфигурации, который предназначен для обработки данных и вывода их в виде, удобном пользователю.

Как и в жизни, отчеты хранят какую-то информацию, так и наши отчеты будут хранить информацию, которую хочет видеть пользователь.

Приступим к созданию отчета. Перед нами стоит задача: необходимо вывести список всех сотрудников по предприятию.

Добавляем отчет и называем его "Список сотрудников" (Рисунок 2).

Теперь необходимо нажать на кнопку "Открыть схему компоновки данных" (Рисунок 3).

Схема компоновки данных (СКД) - это специальный механизм (инструмент) платформы, который позволяет с легкостью создавать отчеты, даже не имея опыта разработки.

В открывшемся окне нажимаем "Готово"(Рисунок 4).

В следующем окне нужно подготовить все для создания отчета. Для этого создадим запрос (Рисунок 5).

После этого переходим в низ открывшегося окна и нажимаем кнопку "Конструктор запроса" (Рисунок 6).

В открывшемся окне нужно выбрать тот объект, по которому вы хотите сделать отчет, в данном случае нас интересует отчет по сотрудникам, значит выбираем справочник "СписокСотрудников" (Рисунок 7).

Перетаскиваем справочник (или двойным нажатием или на стрелочку вправо, выделив справочник) во второй столбец (Рисунок 7).

Теперь необходимо раскрыть элементы этого справочника и выбрать там те, которые мы хотим видеть в отчете (Рисунок 8). Перетаскиваем в столбец "Поля" нужные элементы (Рисунок 8).

После этого нажимаем "Ок" и в поле "" появится запрос (Рисунок 9).

Переходим на вкладку "Настройки" (Рисунок 10).

На этой вкладке нужно создать сам отчет (Рисунок 11). Создаем группировку.

В новом окне нажимаем "Ок", ничего не меняя (Рисунок 12).

После этого идем вниз и перетаскиваем нужные поля (Рисунок 13).

В итоге у вас должно получиться так (Рисунок 14).

Доступные поля - это те поля, которые вы выбрали на этапе создания запросе.

После этого закроем все окна, отчет готов, но нужно добавить его в одну из подсистем, иначе пользователь не сможет им пользоваться (Рисунок 15).

Запустим пользователя, перейдем в подсистему и найдем наш отчет (Рисунок 16).

Как видите, отчета нет. Нужно нажать кнопку "Сформировать" и отчет появится (Рисунок 17).

Таким образом, нажимая на кнопку "Сформировать" отчет будет формироваться каждый раз по новым данным, которые пользователь может добавлять каждый час или день.

Создание отчета завершено - это самый простейший отчет, который может создавать платформа. Это минимально, что она может и ее функционал намного больше, чем мы сделали сейчас. Но все это еще впереди, пока остановимся на этом.

На этом статья урока подходит к концу. Попробуйте выполнить все действия, которые описаны в этом уроке. Если что-то не получается, то вы всегда сможете написать вопрос о том, что вам непонятно или вернуться к предыдущим урокам и посмотреть их - ссылки внизу!

Создавать внешние отчеты научились, теперь необходимо научиться их правильно запускать, но перед этим его необходимо подключить. Подключить внешний отчет можно двумя способами:

1. В режиме пользователя.

2. В режиме разработчика.

Начнем с первого, так как это будет более наглядно и важнее.

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

Приступим к этому.

Откроем пользовательский режим (Рисунок 1).

В этом режиме необходимо выполнить команду, чтобы открыть внешний отчет (Рисунок 2).

После нажатия кнопки "Открыть. " произойдет открытие проводника и там необходимо найти папку с файлом внешнего отчета (Рисунок 3).

Нажимаем кнопку "Открыть" и получаем уведомление (а можете и не получить) (Рисунок 4).

Данное уведомление предупреждает вас о том, что файл, который вы сейчас пытаетесь открыть, является сторонним файлом и никаким образом не относится к данной конфигурации (не смотря на то, что мы его только сделали именно в этой же конфигурации, предприятие об этом не знает). Сторонний файл может нанести вред вашей программе, удалить данные или внести какие-то свои данные - все это зависит от того, что будет прописано внутри этого файла сторонним программистом. То есть платформа предупреждает вас, что содержимое может быть не безопасно и стоит открывать только лишь в том случае, если вы доверяете источнику, откуда появился у вас этот файл - мы его создали, поэтому смело можем нажать "Да".

После этого откроется внешний отчет и будет он выглядеть точно так же, как и обычный отчет (Рисунок 5).

Пока содержимого отчета нет, так как мы не запросили данные. Для этого необходимо нажать на кнопку "Сформировать" (Рисунок 5) и появится содержимое отчета (Рисунок 6).

Таким образом, не имея своего созданного отчета и подключив сторонний отчет, мы все равно можем получить необходимые данные. Есть одна большая загвоздка, отчет подошел и работает лишь потому, что мы его создавали именно под эту конфигурацию, но если мы захотим его подключить к другой конфигурации, то ничего не будет работать. Давайте попробуем. Создайте пустую конфигурацию и запустите пользовательский режим и откроете в нем внешний отчет и получите ошибку (Рисунок 7).

Все просто, внешний отчет создавался именно под нашу конфигурацию и именно под регистр накопления, в котором есть свои поля, по которым мы получали данные, а в новой конфигурации нет этого регистра и соответственно при подключении он выдает ошибку, так как ему не к чему подключиться и не откуда брать данные для вывода.
Поэтому, вывод такой: создавая внешний отчет, вы должны быть уверены, что в другой конфигурации будут те объекты, по которым вы будете получать данные для отчета.

Давайте теперь подключим внешний отчет в режиме разработчика и проверим его работу в пользовательском режиме. Для этого перейдем в режим "Конфигуратор" и найдем строку "Отчет". Правой кнопкой мыши по этой строке и выберем команду "Подключить внешний отчет. " (Рисунок 8).

После этого в проводнике выберем файл и нажмем кнопку "Открыть" (Рисунок 9).

После этого он появится в списке отчетов (Рисунок 10).

Мы сделали так, что внешний отчет теперь является частью всей конфигурации. То есть сторонний разработчик может создать для вас отчет, а вы можете его просто себе подключить и работать с ним.

Откройте его и добавьте в подсистему (Рисунок 11).

После этого запустите пользователя и сформируйте отчет (Рисунок 12).

Если сверите данные те, которые были получены по внешнему отчету и по этому отчету, то увидите, что разницы в данных нет вообще.

На этом статья урока подходит к концу. Попробуйте выполнить все действия, которые описаны в этом уроке. Если что-то не получается, то вы всегда сможете написать вопрос о том, что вам непонятно или вернуться к предыдущим урокам и посмотреть их - ссылки внизу!

Ссылка для вступления телеграм-канал - t.me.Apiscourses

Подписаться в группу ВКонтакте

Прошлые уроки:

На этом все. Жду Вас на следующем занятии.

P.S. Подписывайтесь на мой канал :-)

программирование программирование 1с 1с предприятие обучение онлайн обучение 1с

В одном документе для расчета потребовалось получать данные из отчета на СКД, реализовал следующим образом:

Разместил: all4cf  Версии: | 8.x |  Дата: 17.02.2016   Прочитано: 31418

Распечатать

Похожие FAQ

17 правил для составления оптимального ЗАПРОСа к данным базы 1С  42
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ COM-подключение к базе 7.7 из 8.2 1С  6
Если код выполняется на стороне клиента, то необходимо наличие базы 7.7 на локальной машине. Пример (На форме объекта присутствует реквизит Таблица(ТаблицаЗначений)): НаКлиенте Процедура Загрузки() ПутьКБазе=" D:ВашаБаза1с77" ; Пользователь= Microsoft SQL Server Native Client Добавление значения в столбец "datetime" привело к переполнению  1
При формировании отчета на СКД получили ошибку: Microsoft SQL Server Native Client 11.0: Добавление значения в столбец "datetime" привело к переполнению Подробнее текст такой: . по причине: Ошибка компоновки данных по причине: Ошибка получени Быстрая функция чтения данных с листа Excel  9
При чтении файла Excel я использую вариантный массив. Он позволяет быстро получить ВСЮ таблицу листа в память, а также получать данные массива целыми колонками. Тем самым время на чтение области файла Excel в таблицу значений сокращается в десятки ра Вертикальная автофиксация для СКД  0
В СКД очень не хватает возможности автофиксации строк. Обусловлено это невозможностью однозначно определить их количество в общем случае. Однако в большинстве случаев это можно сделать Обращаю ваше внимание, что приведенная процедура работает не все Посмотреть все результаты поиска похожих

Читайте также: