1с как сохранить отчет как внешний
Создавать внешние отчеты научились, теперь необходимо научиться их правильно запускать, но перед этим его необходимо подключить. Подключить внешний отчет можно двумя способами:
1. В режиме пользователя.
2. В режиме разработчика.
Начнем с первого, так как это будет более наглядно и важнее.
Все внешние отчеты и обработки можно подключать сразу в режиме пользователя и нет необходимости обращаться к разработчику и ,в основном, оно для этих целей и нужно.
Приступим к этому.
Откроем пользовательский режим (Рисунок 1).
В этом режиме необходимо выполнить команду, чтобы открыть внешний отчет (Рисунок 2).
После нажатия кнопки "Открыть. " произойдет открытие проводника и там необходимо найти папку с файлом внешнего отчета (Рисунок 3).
Нажимаем кнопку "Открыть" и получаем уведомление (а можете и не получить) (Рисунок 4).
Данное уведомление предупреждает вас о том, что файл, который вы сейчас пытаетесь открыть, является сторонним файлом и никаким образом не относится к данной конфигурации (не смотря на то, что мы его только сделали именно в этой же конфигурации, предприятие об этом не знает). Сторонний файл может нанести вред вашей программе, удалить данные или внести какие-то свои данные - все это зависит от того, что будет прописано внутри этого файла сторонним программистом. То есть платформа предупреждает вас, что содержимое может быть не безопасно и стоит открывать только лишь в том случае, если вы доверяете источнику, откуда появился у вас этот файл - мы его создали, поэтому смело можем нажать "Да".
После этого откроется внешний отчет и будет он выглядеть точно так же, как и обычный отчет (Рисунок 5).
Пока содержимого отчета нет, так как мы не запросили данные. Для этого необходимо нажать на кнопку "Сформировать" (Рисунок 5) и появится содержимое отчета (Рисунок 6).
Таким образом, не имея своего созданного отчета и подключив сторонний отчет, мы все равно можем получить необходимые данные. Есть одна большая загвоздка, отчет подошел и работает лишь потому, что мы его создавали именно под эту конфигурацию, но если мы захотим его подключить к другой конфигурации, то ничего не будет работать. Давайте попробуем. Создайте пустую конфигурацию и запустите пользовательский режим и откроете в нем внешний отчет и получите ошибку (Рисунок 7).
Все просто, внешний отчет создавался именно под нашу конфигурацию и именно под регистр накопления, в котором есть свои поля, по которым мы получали данные, а в новой конфигурации нет этого регистра и соответственно при подключении он выдает ошибку, так как ему не к чему подключиться и не откуда брать данные для вывода.
Поэтому, вывод такой: создавая внешний отчет, вы должны быть уверены, что в другой конфигурации будут те объекты, по которым вы будете получать данные для отчета.
Давайте теперь подключим внешний отчет в режиме разработчика и проверим его работу в пользовательском режиме. Для этого перейдем в режим "Конфигуратор" и найдем строку "Отчет". Правой кнопкой мыши по этой строке и выберем команду "Подключить внешний отчет. " (Рисунок 8).
Всё вроде бы выгружается хорошо, исправляем отчет под требования клиента, пробуем открыть в режиме предприятия и сталкиваемся с принеприятнейшей ошибкой: Ошибка при выполнении функции ОбщегоНазначения.ИдентификаторОбъектаМетаданных()
Потратив часика полтора два на поиск устранения данной ошибки в доблестном интернете (информация сводится к двум вещам или обновить метаданные (//infostart.ru/public/372055/) или поправь права на объекты и обнови метаданные. Напомню, конфигурация на поддержки, мы ничего сломать не могли, просто пытаемся открыть отчет), результата так и не добился. Далее решил попробовать подключить его как внешний через "дополнительные отчеты и обработки", - результат тоже не тот:
Посмотрел в конфигуратор, на ошибки и понял, что почти все типовые отчеты содержат такую штуку как МодульМенеджера, в котором прописано поведение отчета и сидеть переписывать модуль менеджера отчета "под себя" что называется не было никакого желания.
Решив, уже ради спортивного интереса, добиться всё таки чтобы механизм по выгрузке отчетов заработал так как мне нужно (напомню, цель была сделать возможным доработку типового отчета с минимальными трудозатратами) прибегнул к методу которого нигде не нашел: Расширение! Если отчету нужен модель менеджера сделаем ему его :) Но столкнулся с проблемой что при заимствовании отчета в расширение СКД нельзя поменять, но вот если загрузить внешний отчет (ПКМ в конфигураторе), тогда картина становится совсем другой.
Далее переименовал имя отчета и вот беда подкралась не заметно, в расширении не открывается СКД этого отчета (потому что мы не "перетянули" в расширение все объекты, из которых строится отчет).
Однако и тут оказалось всё достаточно просто. В том отчете который мы просто выгрузили в самом начале, СКД прекрасно открывается и редактируется. Подправив СКД под требования заказчика, осталось только заменить его в нашем отчете из расширения.
Сделать это тоже очень просто достаточно просто сравнить отчет
при этом мы знаем, что нам нужно только измененное СКД:
Теперь нужно не забыть проанализировать реквизиты отчета и позаимстовать в расширение те объекты типов которых не хватает. (в моем примере это справочник.Организация и ХранилищеВариантовОтчетов), подсистема в которую необходимо выводить отчет (сделал в администрирование чтобы было проще искать). Далее копируем модуль менеджера типового отчета в свой добавленный и вуаля, всё готово.
На уровне различия в структуре метаданных в отчётах дополнительно можно указать основную Схему Компоновки Данных (СКД) и настройки для сохранения параметров. Также здесь есть используемый в текущий момент компоновщик настроек. В обработках данные структуры не используются.
Указание в отчётах основной СКД является полезной функцией, т.к. при этом можно создать требуемый отчёт, не написав ни единой строчки кода в самом модуле отчёта, что ускоряет разработку и понимание принципов функционирования СКД для новичков.
Внешние отчёты и обработки 1C
В режиме конфигуратора 1С есть возможность создавать не только объекты внутри конфигурации (в дереве метаданных), но и создавать внешние объекты в виде отдельных файлов. Это касается, в том числе, отчётов и обработок. Преимуществом внешних объектов в том, что новые объекты не требуется каждый раз включать в состав конфигурации и, соответственно, обновлять при этом всю информационную базу 1С. Вместо этого можно использовать любые необходимые отчёты и обработки и изменять их без внесения изменений в метаданные базы 1С.
Внешние отчёты/обработки сохраняются в отдельные файлы и имеют следующие расширения:
- Внешний отчёт – *.erf
- Внешняя обработка – *.epf
Пример создания внешней обработки 1С
Создавать внешние объекты довольно просто. Функционал, закладываемый разработчиком в конкретную реализацию отчёта или обработки в 1С 8.3 или 8.2, индивидуален и зависит от решаемой задачи.
1. Выбираем информационную базу из списка, заходим в режим конфигуратора 1С.
2. В конфигураторе выбираем пункт меню Файл – Новый…
3. Выбираем из списка вид объекта – Внешняя обработка.
4. Задаём имя обработки. В данном случае имя нашей обработки будет «ПримерВнешнейОбработки».
5. Определяем структуру данных обработки. По условию нашей задачи в структуру реквизитов нужно добавить строковое поле «Вывести».
6. Создаём пользовательскую форму. Тип формы: Обычная.
7. Правой клавишей мыши вызываем контекстное меню. Определяем обработчик нажатия на кнопку «Выполнить».
8. Прописываем код обработки.
9. Сохраняем нашу обработку на диск. Заходим в режим предприятия 1С.
10. Выбираем пункт меню Файл – Открыть…
11. Выбираем созданную нами обработку и нажимаем «Открыть».
Созданную обработку можно скачать по ссылке ниже.
Дополнительные отчёты и обработки
В конфигурациях 1С существуют также подключаемые внешние отчёты и обработки. Чтобы включить в информационную базу 1С соответствующую обработку/отчёт нужно выполнить ряд действий:
1. Зайти в конфигурацию в режиме предприятия 1С
2. В главном меню выбрать Сервис – Дополнительные отчеты и обработки – Дополнительные внешние обработки
3. Открылся список внешних обработок, загруженных в информационную базу 1С. Нажимаем кнопку «Добавить».
4. Загружаем файл обработки.
5. Запускаем обработку двойным кликом мышки, чтобы проверить её работоспособность.
С помощью данного механизма дополнительных обработок можно также изменять стандартные печатные формы на собственные и добавлять новые. Любой пользователь, таким образом, может расширить функционал типовой конфигурации 1С.
В этой статье мы рассмотрели создание и использование внешних отчётов и обработок. Создание внешних обработок в режиме управляемого приложения более подробно будет рассмотрено в следующей статье.
На одном из уроков мы создавали отчёт, который хранится непосредственно внутри нашей конфигурации, а сегодня мы попробуем сделать отчёт, который будет выгружать я в специальный отдельный файл, который сможет подключаться и к другим Конфигурациям!
Посмотреть урок по созданию простейшего отчета можно тут или найти Урок 31 .
Внешний отчёт - это специальный механизм, использующий компоновку данных для вывода необходимой пользователю информации, но не содержится непосредственно внутри самой конфигурации, а подключается отдельно.
Файл внешнего отчета выглядит следующим образом (Рисунок 1).
Ненужно смотреть на картинку, которой он отображается - это просто по умолчанию компьютера так стоит. Самым важным тут является расширение. Если вы видите такое расширение, то сразу можете себе сделать установку. что это внешний отчет, сделанный в платформе 1С: Предприятие 8.3.
Внешний отчёт не входит в состав программного решения и имеет расширение *. erf.
Подключается это расширение в режиме Конфигуратор и в режиме Предприятие.
Давайте сначала рассмотрим его создание в режиме конфигуратора, а потом рассмотрим и подключение в разных режимах: "Конфигуратор" и "Предприятие".
Переходим в режим разработчика и выбираем команду "Файл - Новый" (Рисунок 2).
В открывшемся окне выбираем "Внешний отчет" (Рисунок 3).
В следующем окне даем имя отчету и назовем его "ПервыйВнешнийОтчет" (Рисунок 4).
Теперь откроем схему компоновки данных, а точнее ее создадим и выберем необходимые нам данные (Рисунок 5).
Создаем новый запрос (Рисунок 6).
И теперь необходимо создать текст запроса, выбрав необходимые данные (Рисунок 7).
В этом окне выбираем необходимые данные (Рисунок 8).
Выбраны все элементы регистра накопления, так как перед нами сейчас нет цели сделать какой-то определенный отчет. Нажимаем кнопку "Ок" и переходим на вкладку "Настройки" и создаем новую группировку (Рисунок 9).
Выбираем без иерархии, нажав на кнопку "Ок". Перетаскиваем необходимые поля (Рисунок 10).
Перейдем на вкладку "Параметры" и поставим галочки на периоды.
Теперь необходимо включить эти параметры, для этого их нужно по очереди выделить и нажать на кнопку "Пользовательские настройки пользователя" (Рисунок 12).
Это необходимо сделать для двух строк, для начала и для конца периода.
Закроем окно компоновки и теперь необходимо выгрузить отчет в специальный файл (Рисунок 13).
Выбираем команду "Выгрузить в файлы. " и выбираем расширение внешнего отчета (Рисунок 14).
После этого он появится там, куда вы его выгрузили (Рисунок 15).
Внешний отчет создан, теперь его можно подключать к нужной конфигурации, но это мы сделаем на следующем занятии.
На этом статья урока подходит к концу. Попробуйте выполнить все действия, которые описаны в этом уроке. Если что-то не получается, то вы всегда сможете написать вопрос о том, что вам непонятно или вернуться к предыдущим урокам и посмотреть их - ссылки внизу!
Ссылка для вступления телеграм-канал - t.me.Apiscourses
Подписаться в группу ВКонтакте
Прошлые уроки:
На этом все. Жду Вас на следующем занятии.
P.S. Подписывайтесь на мой канал :-)
программирование программирование 1с 1с предприятие обучение онлайн обучение 1с
Выгрузка данных из 1С в Excel - задача, которая встречается довольно часто, но, к сожалению, не все пользователи знают как ее правильно решить.
Хорошая новость заключается в том, что сделать это очень просто, буквально в 2 клика мышкой.
Выгрузка данных из отчетов 1С в Excel
Для начала откроем отчет. Любой. В нашем примере мы рассмотрим два отчета: один из УНФ, другой из УТ.
✅ Способ №1 (Подходит для всех конфигураций)
Нажмите на клавиатуре Ctrl+S. Самый универсальный способ.
✅ Способ №2 (Конфигурации на управляемых формах)
Нажать на иконку с дискетой в правом верхнем углу
✅ Способ №3 (Конфигурации на обычных формах)
Нажать файл, затем "сохранить" или "сохранить как". Или нажать на на иконку с дискетой.
✅ Способ №4 (Сохранение данных по нажатию кнопки из формы отчета)
Во многих типовых конфигурациях на форму отчета выведены кнопки, при нажатии на которые, можно сохранить данные.
Вне зависимости от способа, которым вы воспользуетесь, откроется окно сохранения файла.
В этом окне нужно указать адрес папки, в которую вы хотите сохранить файл:
Затем необходимо указать имя файла:
Обязательно указываем тип файла (выбираем старый или новый формат Excel).
Кстати, не обязательно выбирать именно Excel, если вам нужно сохранить данные в Word или PDF - просто выберите интересующий вас формат в списке.
После этого нажимаем на кнопку "Сохранить":
Файл с данными из отчета в формате Excel появится в указанной вами папке :)
Сохранение данных из списков и табличных частей в Excel
Еще одна полезная фишка, о которой стоит рассказать.
А вы знали, что практически любой список или табличную часть документа из 1С можно запросто сохранить в Excel? Теперь знаете.
Управляемые формы
Для примера откроем список заказов клиентов в УНФ:
Перед тем, как вывести его на печать, возможно? вы захотите установить период, а также нужные вам отборы.
Читайте также: