Проект внешних отчетов и обработок

Проект внешних отчетов и обработок

В таком проекте может содержаться одновременно и несколько внешних отчетов, и несколько внешних обработок. Можно импортировать их из .erf- и .epf-файлов или из файлов выгрузки в XML.

Совет: Подробнее про внешние обработки и отчеты — см. «Внешние обработки и отчеты».

Несмотря на то что такой вид проекта один, существует два разных диалога создания: один для проекта внешнего отчета, а другой для проекта внешней обработки. Они делают одно и то же — создают проект внешних отчетов и обработок. Только в одном случае в нем сразу создается пустой внешний отчет, а в другом случае — пустая внешняя обработка. Это сделано из соображений удобства, чтобы вам не приходилось каждый раз в пустом проекте создавать их вручную.

Проект внешних отчетов и внешних обработок может быть связан с проектом конфигурации. Это позволяет вам иметь контекст конфигурации при разработке отчетов и обработок. А еще это позволяет автоматически запускать внешние обработки при запуске самой конфигурации. Для внешних отчетов такой способ запуска невозможен, их нужно открывать как файл внешнего отчета из уже запущенного приложения вручную.

Создать новый проект внешних отчетов и обработок

Существует два способа создания нового проекта такого типа:

1C:EDT автоматически заполнит все необходимые поля диалога, так что можно просто нажать Готово. Но обычно все же разработчики задают собственное имя внешнего отчета или внешней обработки (поле Имя), которые будут созданы в проекте.

Это имя может отличаться, и обычно отличается, от имени самого проекта (поле Имя проекта).
Важно: Будьте внимательны. После создания проекта его имя изменить нельзя.

Кроме того, можно сразу задать Базовый проект — это облегчит разработку и отладку внешних отчетов и внешних обработок.

Для проекта внешних отчетов и обработок можно задать базовый проект (проект конфигурации) с двумя целями:

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

Назначение полей
  • Имя — имя внешнего отчета или внешней обработки. Имя используется для обращения из встроенного языка. Оно должно быть уникальным среди имен других внешних отчетов или внешних обработок, которые есть в конфигурации. Оно не должно совпадать с зарезервированными словами языка запросов «1С:Предприятия» (см. документацию «1С:Предприятия»). Имя должно состоять из одного слова, начинаться с буквы и не содержать специальных символов кроме "_". Длина имени не может превышать 80 символов.
  • Синонимсиноним внешнего отчета или внешней обработки. Синоним содержит название, которое будет показано пользователям.
  • Комментарийкомментарий к внешнему отчету или внешней обработке. Содержит произвольный комментарий для разработчиков.
  • Имя проекта — имя проекта. Обязательное поле. Имя проекта. Имя идентифицирует проект в рабочей области 1C:EDT. Не может совпадать с именем другого проекта в этой же рабочей области;
    Важно: Будьте внимательны. После создания проекта его имя изменить нельзя.
  • Расположение по умолчаниюесли флажок установлен, каталог с файлами проекта будет располагаться в корне рабочей области. Если снят — для нового проекта будет использован путь, указанный в поле Расположение;
  • Расположениепуть к каталогу, в котором будут располагаться файлы проекта. Нестандартный путь может быть полезен, например, для группировки проектов внутри рабочей области или внутри репозитория;
  • Базовый проект — имя базового проекта, который будет связан с создаваемым проектом. Базовый проект — это один из проектов в рабочей области. Он будет запускаться для запуска и отладки внешних обработок и отчетов. Одна из внешних обработок может быть автоматически открыта в запущенном базовом проекте. Другие внешние обработки или отчеты необходимо запускать вручную. Контекст базового проекта будет доступен при разработке внешних отчетов и обработок;
  • Версия — маска версии платформы «1С:Предприятия». Можно выбрать одну из масок, работу с которыми поддерживает 1C:EDT.
    Платформа, соответствующая этой маске, будет использоваться для автоматической проверки конфигурации, для взаимодействия с автоматически обновляемыми информационными базами и для запуска приложения (в качестве стандартного значения).
    По умолчанию 1C:EDT выберет самую старшую из установленных на компьютере версий платформы, соответствующую этой маске. Если вы не хотите, чтобы использовалась самая старшая версия, соответствующая маске, можно указать конкретную версию платформы, которая будет использоваться при выборе этой маски. Подробнее смотрите в разделе Назначение конкретной версии маске.
    Важно: Будьте внимательны. После создания проекта маску версии платформы изменить нельзя.

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

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

В этом примере мы рассмотрим оба сценария отладки.

Если внешняя обработка предназначена для работы с конкретной конфигурацией или вы хотите отлаживать обработку на определенных данных, содержащихся в информационной базе, то сначала вам нужно импортировать конфигурацию из этой базы в 1C:EDT. После этого можно перейти к пункту 3.

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

1. Создайте новую информационную базу
Создайте новую информационную базу без конфигурации. Назовите ее, например, База для отладки;
2. Импортируйте созданную базу в проект
  1. Если в панели Навигатор нет проектов, нажмите Импорт конфигурации и расширений из информационной базы.

    Если в панели Навигатор уже есть проекты, нажмите Импорт... > 1C:Enterprise > Конфигурация из информационной базы в контекстном меню;

    1C:EDT откроет мастер импорта;

  2. В поле Информационная база выберите базу, которую вы создали — База для отладки.

    1C:EDT проанализирует базу и предложит ее импортировать;

  3. Задайте имя проекта — Проект для отладки;
  4. Нажмите Импорт;

    В панели Навигатор появится новый проект конфигурации — Проект для отладки;

3. Импортируйте внешнюю обработку из .epf-файла
  1. В панели Навигатор нажмите Импорт... > 1C:Enterprise > Внешние обработки и отчеты из файлов в контекстном меню проекта Проект для отладки или в контекстном меню того проекта, в который вы самостоятельно импортировали нужную вам конфигурацию.

    1C:EDT откроет диалог импорта. Обратите внимание, что в этом диалоге уже выбран базовый проект — Проект для отладки (или ваш проект). Это та конфигурация, вместе с которой будет запускаться внешняя обработка после импорта.

  2. В поле Из каталога выберите ту папку, в которой находится .epf-файл внешней обработки.

    В поле Внешние обработки и отчеты появится .epf-файл, уже отмеченный для импорта, а в поле Название проекта — имя нового проекта внешних отчетов и обработок, в который будет импортирована эта обработка;

  3. Измените название проекта на то, которое вам нужно. Например Обработки и отчеты;
  4. Нажмите Готово.

    В панели Навигатор появится новый проект Обработки и отчеты, который содержит импортированную обработку. Проект Проект для отладки будет являться базовым для него;

4. Создайте и измените конфигурацию запуска
  1. Выделите проект Обработки и отчеты и в командной панели основного окна нажмите (Отладка как...).

    Откроется диалог выбора клиентского приложения для отладки;

  2. Выберите, например, Тонкий клиент 1С:Предприятия и нажмите ОК.

    1C:EDT автоматически создаст конфигурацию отладки для этого проекта и запустит ее. В результате запустится тонкий клиент «1С:Предприятия»;

  3. Закройте тонкого клиента;
  4. В командной панели главного окна нажмите на стрелку рядом с (Отладка как...);

    1C:EDT откроет выпадающее меню, в котором первой строкой будет конфигурация запуска, которую вы только что использовали;

  5. Нажмите на нее мышью удерживая клавишу Ctrl.

    1C:EDT не запустит эту конфигурацию, а откроет ее для изменения;

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

    Теперь при запуске этой конфигурации 1C:EDT будет запускать тонкого клиента, а затем — указанную внешнюю обработку;

  7. Чтобы назначение этой конфигурации запуска было понятно, измените ее имя. Назовите ее, например, Проект для отладки Консоль запросов;
  8. Нажмите Закрыть, чтобы сохранить результаты изменений;
5. Попробуйте отладку внешней обработки с перезапуском приложения
  1. В командной панели главного окна нажмите на стрелку рядом с (Отладка как...);

    1C:EDT откроет выпадающее меню, в котором первой строкой будет конфигурация запуска, которую вы только что изменяли;

  2. Нажмите на нее.

    1C:EDT запустит тонкого клиента и задаст вопрос об открытии файла внешней обработки;

  3. Нажмите Да.

    1C:EDT откроет внешнюю обработку;

6. Попробуйте отладку внешней обработки без перезапуска приложения
  1. Закройте обработку в «1С:Предприятии», но само «1С:Предприятие» не закрывайте;
  2. Внесите изменения во внешнюю обработку.
    1. Перейдите в 1C:EDT, откройте форму обработки КонсольЗапросов и внесите в нее любые изменения, которые позволят вам понять, что это ваша измененная форма.

      Например, добавьте в форму декорацию в надписью;

    2. Сохраните изменения, выполненные в редакторе формы;

  3. Скопируйте путь к файлу обработки.
    1. Нажмите Открыть редактор проекта в контекстном меню проекта внешних отчетов и обработок;
    2. Скопируйте содержимое поля Путь в группе Настройки выгрузки;
  4. Откройте файл обработки в запущенном приложении «1С:Предприятия».
    1. Перейдите в запущенное «1С:Предприятие»;
    2. В главном меню нажмите Файл > Открыть..., вставьте путь из буфера обмена, выберите .epf-файл и нажмите Открыть.
    3. 1C:EDT задаст вопрос об открытии файла внешней обработки;
    4. Нажмите Да.

      1C:EDT откроет внешнюю обработку. В дальнейшем для перезапуска обработки вам не понадобится путь к ней — «1С:Предприятие» уже запомнило его в списке последних открытых файлов подменю Файл.

Таким образом вы просто модифицируете обработку в 1C:EDT, сохраняете изменения, потом переходите в «1С:Предприятие», закрываете обработку и снова открываете .epf-файл.

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

Импортировать из файлов

Внешние отчеты и обработки можно импортировать из .erf- и .epf-файлов.

Также их можно импортировать из .xml-файлов, полученных путем выгрузки этих отчетов и обработок из конфигуратора «1С:Предприятия» (Действия > Выгрузить в файлы... в редакторе внешнего отчета или внешней обработки).

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

Чтобы импортировать файлы любого из перечисленных типов в панели Навигатор нажмите Импорт... > 1C:Enterprise > Внешние обработки и отчеты из файлов в контекстном меню.

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

Экспортировать внешний отчет или внешнюю обработку

Экспорт внешних отчетов и внешних обработок как таковой не требуется. 1C:EDT хранит файлы внешних отчетов и обработок в каталоге bin проекта, поэтому вам остается просто скопировать их.

Открыть каталог bin проекта
  1. Откройте перспективу Файлы;
  2. В панели Структура проекта нажмите Показать в > Проводник в контекстном меню папки bin.

Скопировать внешний во внутренний и обратно

Отчеты и обработки, находящиеся в 1C:EDT, можно копировать из внешних во внутренние и обратно.

Возможная проблема: Проект конфигурации, из которого (в который) копируются отчеты и обработки, должен являться базовым проектом для проекта внешних отчетов и обработок.
Скопировать из конфигурации в проект внешних отчетов и обработок
  1. Нажмите Скопировать в проект внешних отчетов и обработок... в контекстном меню нужного проекта или обработки;
  2. Удерживая Ctrl можно выделить мышью другие отчеты и обработки для копирования;
  3. Выберите проект внешних отчетов и обработок, в который нужно скопировать;

    1C:EDT предлагает для выбора те проекты, у которых данный проект конфигурации указан в качестве базового проекта;

  4. Нажмите Готово.

    Если в проекте уже есть отчет или обработка с таким именем, 1C:EDT сгенерирует уникальное имя для копируемой обработки или отчета.

Скопировать из проекта внешних отчетов и обработок в конфигурацию
  1. Нажмите Скопировать в конфигурацию... в контекстном меню нужного проекта или обработки;
  2. Удерживая Ctrl можно выделить мышью другие отчеты и обработки для копирования;
  3. Если у проекта не заполнено свойство Базовый проект, то 1C:EDT предложит вам выбрать проект конфигурации, в который нужно скопировать. Если базовый проект указан, то копирование будет выполнено в него без вопросов;
  4. Нажмите Готово.

    Если в проекте уже есть отчет или обработка с таким именем, 1C:EDT сгенерирует уникальное имя для копируемой обработки или отчета.

Изменить свойства проекта внешних отчетов и обработок

Чтобы изменить свойства проекта расширения, нажмите Открыть редактор проекта в контекстном меню проекта.

Открыть свойства проекта

В панели Навигатор нажмите Открыть редактор проекта в контекстном меню проекта.

Назначение полей
  • Общее:
    • Версия платформы — Маска версии платформы «1С:Предприятие».
      Платформа, соответствующая этой маске, будет использоваться для автоматической проверки конфигурации, для взаимодействия с автоматически обновляемыми информационными базами и для запуска приложения (в качестве стандартного значения).
      По умолчанию 1C:EDT выберет самую старшую из установленных на компьютере версий платформы, соответствующую этой маске. Если вы не хотите, чтобы использовалась самая старшая версия, соответствующая маске, можно указать конкретную версию платформы, которая будет использоваться при выборе этой маски. Подробнее смотрите в разделе Назначение конкретной версии маске.
      Важно: После создания проекта маску версии платформы изменить нельзя.
    • Оптимизировать формат хранения данных проектаОптимизирует внутренний формат .xml-файлов проекта.
  • Связь с базовым проектом:
    • Базовый проект— Имя базового проекта, который связан с проектом внешних отчетов и обработок. Базовый проект — это один из проектов в рабочей области. Он будет запускаться для запуска и отладки внешних обработок и отчетов. Одна из внешних обработок может быть автоматически открыта в запущенном базовом проекте. Другие внешние обработки или отчеты необходимо запускать вручную. Контекст базового проекта будет доступен при разработке внешних отчетов и обработок;
  • Настройки выгрузки:
    • Включить автоматическую генерацию выгрузок — если флажок установлен, то в папке проекта 1C:EDT будет автоматически сохранять файлы внешних отчетов и внешних обработок для запуска в «1С:Предприятии 8». Если флажок снят — файлы для «1С:Предприятия» сохраняться не будут.
    • Путь — каталог, в который будут сохраняться .epf- и .erf-файлы.
  • Проект внешних отчетов и обработок:
    • Вариант встроенного языка — явное указание, какой вариант встроенного языка должны использовать внешние отчеты и внешние обработки, в случае если базовый проект не указан.
    • Языки — явное указание, какие языки должны использовать внешние отчеты и внешние обработки, в случае если базовый проект не указан.