1с сделать форму настроек
Когда мне пришлось создавать внешние печатные формы под приложения на БСП ("1С: Бухгалтерия предприятия 3.0", "1С: Управление торговлей 11"), я обнаружил, что нет грамотных инструкций. Те, что имелись, использовали так называемые шаблоны: готовые обработки, в которых необходимо выполнять определенные корректировки. Но как создать сам шаблон, конкретных мануалов не было, справочную информацию я нашел на сайте ИТС и, обработав ее, написал статью, где подробно и понятно объясняются все этапы создания внешней печатной формы для управляемого приложения на примере конфигурации "1С: Бухгалтерия предприятия 3.0"
UPD Статья и обработки к ней обновлены на февраль 2019 года
UPD 25.03.2019 Добавлены примеры внешних печатных форм для УТ 11.4
В этой статье мы научимся создавать внешнюю печатную форму для "1С: Бухгалтерия предприятия 3.0". Причем создавать с нуля, не используя так называемые шаблоны. Вы сами научитесь создавать шаблоны внешних печатных форм.
Все это делается довольно просто))
И так, создадим новую обработку.
Мы будем создавать внешний счет на оплату покупателю, поэтому обработку так и назовем: «СчетНаОплатуВнешний».
Сохраним ее на жесткий диск.
Зайдем в модуль обработки, и создадим экспортную функцию СведенияОВнешнейОбработке.
Внутри этой функции создадим структуру ПараметрыРегистрации, которая будет содержать определенный список полей. Каждое поле мы разберем в отдельности.
Создадим первый элемент структуры, он будет иметь ключ с название «Вид».
Значением данной связки КлючИЗначение идет одна из строк:
В нашем случае должна быть строка "ПечатнаяФорма".
Следующий элемент структуры должен иметь ключ с названием Назначение.
В качестве значения данного элемента должен выступать массив, где перечислены будут все документы или справочники, в которых будет выходить данная печатная форма.
Они должны иметь тип строка, и быть в следующем формате:
Документ."НазваниеДокумента"
Справочник."НазваниеСправочника"
У нас этот массив будет возвращать отдельная функция ПолучитьНазначениеОбработки.
Допишем созданный последним элемент структуры.
Создадим новый элемент структуры, ключ которого будет называться «Наименование», а в значении будет содержаться наименование обработки, которое будет отображаться в справочнике "Дополнительные внешние печатные формы".
Следующий элемент структуры будет иметь название «Версия», значением данного элемента будет версия обработки. Задается программистом на его усмотрение.
Следующий элемент имеет название «Информация», который содержит краткую информацию по обработке.
Следующий элемент имеет название «БезопасныйРежим», его необходим устанавливать в значение истина или ложь, в зависимости от того необходимо устанавливать или отключать безопасный режим во время выполнения обработки. Мы установим значение Истина.
И в последнем параметре необходимо добавить команды, которые будут поставляться обработкой. Для этого нам необходимо создать и заполнить таблицу команд. Разработаем функцию, которая создает и возвращает таблицу с определенным набором полей. Делать это будем в функции ПолучитьТаблицуКоманд.
Создадим функцию и таблицу значений внутри нее.
Теперь создадим пять колонок этой таблицы.
И первая колонка – Представление (тип строка).
Эта колонка – представление команды в пользовательском интерфейсе, т.е. то, что пользователь увидит при нажатии меню"Печать" в документе или справочнике.
Вторая колонка – Идентификатор.
Это может быть любая текстовая строка, уникальная в пределах данной обработки.
Третья колонка – Использование.
Параметр данной колонки типа строка, должен принимать одно из четырех значений –
- ОткрытиеФормы – Открывает форму обработки.
- ВызовКлиентскогоМетода – будет вызвана клиентская процедура из модуля формы обработки.
- ВызовСерверногоМетода - будет вызвана серверная процедура из модуля обработки.
- СценарийВБезопасномРежиме – тоже будет вызвана серверная процедура из модуля обработки в безопасном режиме.
Конкретно мы будем использовать вызов серверного метода.
Следующая колонка – показывать оповещение. Принимает значение истина или ложь, в зависимости от того надо показывать оповещение или нет.
И последняя колонка – модификатор. Это дополнительный модификатор команды. В нашем случае будет иметь название ПечатьXML.
Теперь создадим процедуру, которая будет заполнять данную таблицу значений.
В данном коде все понятно.
В функции СведенияОВнешнейОбработке создадим команду и заполним ее.
Создаем таблицу значений:
Теперь заполним ее.
Еще раз пройдемся по параметрам.
- Первый параметр, непосредственно таблица команд вновь созданная.
- Второй параметр, как будет отображаться команда пользователю на форме (документа, справочника).
- Третий – уникальный идентификатор команды, запомните его, он нам еще пригодится!
- Четвертый параметр – использование, что вызовет Ваша команда.
- Пятый параметр – показывать оповещение, мы не будем это делать.
- Шестой параметр – модификатор, в нашем случае он всегда один ПечатьXML.
Теперь передадим вновь созданную таблицу команд в структуру ПараметрыРегистрации.
И пусть наша функция СведенияОВнешнейОбработке возвращает данную структуру.
Все теперь наша обработка будет передавать нужные параметры регистрации, которые будут необходимы при создании элемента справочника дополнительные печатные формы и обработки. Обращаю ваше внимание, что название всех полей в структуре Параметры регистрации, а также название и типы всех колонок в таблице команд, должны быть те которые приведены в примере, иначе Ваша обработка не зарегистрируется.
Теперь в модуле объекта создадим процедуру Печать. Это процедура с четырьмя параметрами: МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода.
И вот начинается самое интересное, теперь вам необходимо войти в аналогичную процедуру в менеджере объекта счет на оплату покупателю, или в обработке, которая, по сути, является менеджером печати.
Как узнать, где находится нужная нам функция?
Откроем модуль менеджера документа Счет на оплату покупателю.
И найдем процедуру ДобавитьКомандыПечати, которая заполняет список команд .
В этой процедуре найдем код, где добавляется команда для нужной нам печатной формы (список команд добавляется в таблицу значений КомандыПечати). И обратим внимание на свойство МенеджерПечати. Если этому свойству присваивается какое-нибудь значение - это путь к объекту метаданных, как правило к обработке, то значит при выводе нужной печатной формы будет отработан код в процедуре Печать, которая находится в модуле менеджере этого объекта (в обработке). А если это свойство в принципе не фигурирует при заполнении команды печати, то значит будет отработан код в процедуре Печать, которая находится в модуле менеджера нашего основного объекта (в нашем случае это документ СчетНаОплатуПокупателю)
Посмотрим на процедуру ДобавитьКомандыПечати в модуле менеджера документа "Счет на оплату покупателя".
Поскольку мы делаем внешнюю печатную форму счета на оплату, то нас интересует первое добавление в таблицу значений (см. свойство Представление), и мы видим, что в этом случае заполнено свойство МенеджерПечати, где указан объект Обработка.ПечатьСчетаНаОплату. Это значит, что нам нужно найти процедуру Печать в модуле менеджера обработки ПечатьСчетаНаОплату.
А если бы мы решили сделать внешнюю печатную форму договора счета на оплату (второе добавление в таблицу значений КомандыПечати), то нам нужно было бы найти процедуру Печать в модуле менеджера документа СчетНаОплатуПокупателя.
Откроем модуль менеджера обработки ПечатьСчетаНаОплату.
И раскроем процедуру Печать.
Нас интересует второе условие (где фигурирует строка "СчетЗаказ", см. идентификатор нужной команды в процедуре ДобавитьКомандыПечати модуля менеджера документа), скопируем это условие в процедуру Печать нашей внешней обработки.
Внимание! Копировать напрямую процедуру Печать из модуля менеджера (без разницы обработка это, документ или справочник) не следует. Поскольку у них отличается количество параметров, в последствие это приводит к ошибкам при работе.
Так же из модуля менеджера обработки скопируем процедуру СформироватьПечатнуюФорму.
В этом коде есть строка, где заполняется таблица сведений счета на оплату.
Эта таблица получается при помощи функции модуля менеджера объекта (в нашем случае это документ СчетНаОплатуПокупателю). Найдем эту функцию в модуле менеджера документа СчетНаОплатуПокупателю.
И скопируем её в модель нашей внешней обработки.
А сам код процедуры СформироватьПечатнуюФорму в модуле внешней обработки исправим, убрав все не нужное от туда.
Если мы сейчас сделаем проверку модуля внешней обработки, то выйдет две ошибки. Первая, что не определена переменная ПараметрыПечати в процедуре Печать, и, что не найдена функция ПолучитьТекстЗапросаДляФормированияТаблицыСведенийСчетаНаОплату в функции ПолучитьТаблицуСведенийСчетаНаОплату.
Создадим переменную ПараметрыПечати в процедуре Печать. Это будет простая структура.
А потом найдем функцию ПолучитьТекстЗапросаДляФормированияТаблицыСведенийСчетаНаОплату в модуле менеджера документа СчетНаОплатуПокупателю и скопируем её в модуль внешней обработки.
Должен получится следующий состав процедур и функций модуля внешней обработки (для удобства я разделил их на две области).
Еще раз делаем проверку модуля. Ошибок не обнаружено.
Продолжаем, теперь нам необходимо, что бы брался наш макет, и печатался по нашей команде.
Нас интересует процедура СформироватьПечатнуюФорму, а в ней мы уделим внимание методу ПечатьСчетаНаОплату общего модуля ПечатьТорговыхДокументов.
Очевидно, она непосредственно формирует табличный документ. Перейдем в этот общий модуль, и скопируем функцию ПечатьСчетаНаОплату в модуль нашей внешней обработки.
Делаем проверку модуля внешней обработки. Ругается на несуществующие методы ВывестиЗаголовокПредупреждение и НомерСчетаНаОплату.
Переходим в общий модуль, от куда мы взяли функцию ПечатьСчетаНаОплату, находим процедуру ВывестиЗаголовокПредупреждение , и копируем ее в модуль внешней обработки.
А функция НомерСчетаНаОплату в общем модуле ПечатьТорговыхДокументов экспортная, поэтому мы просто исправим код в процедуре ПечатьСчетаНаОплату, где используется проблемная функция, сделав вызов этой функции из вышеупомянутого общего модуля.
Проверяем еще раз ошибки. Все нормально.
Не забудем в процедуре СформироватьПечатнуюФорму убрать вызов метода ПечатьСчетаНаОплату из общего модуля.
Теперь зайдем в скопированную функцию ПечатьСчетаНаОплату, и посмотрим, где в ней подтягивается макет.
Находим данный макет в общих макетах и копируем его в макеты нашей обработки.
Исправляем выделенный код, где подтягивается макет, следующий образом.
Теперь зайдем в наш скопированный макет, и сделаем какое-нибудь изменение, чтобы вы видели, что команда подтянула именно макет из внешней обработки.
Вернемся обратно в процедуру Печать нашей внешней обработки.
И теперь осталась одна небольшая хитрость, без которой ваш внешний отчет не будет работать. Необходимо текст "СчетЗаказ" (это идентификатор типовой печатной формы).
Заменить на название идентификатора команды ("СчетНаОплатуВнешний").
Все, сохраняем данную обработку. И запускаем "1С: Предприятие" из конфигуратора.
Идем в администрирование. В дополнительные отчеты и обработки.
Нажимаем на кнопку "Добавить из файла" и выбираем нашу созданную обработку.
При запуске печатной формы из 1С Предприятия может потребоваться интерактивный выбор каких либо настроек для продолжения печати. Для решения этой задачи необходимо в печатную форму внедрить механизм вывода формы настроек, на которой будут расположены определенные настройки. В типовых конфигурациях, в управляемом приложении печатные формы программируются и подключаются по другому, чем в обычном приложении.
Внешняя печатная форма в управляемом приложении - это обработка, которая содержит в модуле обработки или в основной форме экспортную функцию Печать() и в модуле обработки экспортную функцию СведенияОВнешнейОбработке(). Базовый пример того как сделать внешнюю печатную форму для управляемого приложения. В базовую печатную форму необходимо внести ряд изменений, для того чтобы перед формированием выводилась дополнительная форма настроек.
Обработка для внешней печатной формы
Обработка содержит две формы: ФормаТестов, ФормаНастроек.
В функции СведенияОВнешнейОбработке() для свойства "Использование" нужно установить значение "ВызовКлиентскогоМетода". Это означает, что при запуске печатной формы из 1С Предприятия, будет автоматически запускаться экспортная функция Печать() ИЗ ОСНОВНОЙ ФОРМЫ ОБРАБОТКИ, при этом форма не открывается.
Форма тестов
Так как в свойствах команды было указано "ВызовКлиентскогоМетода", то экспортная функция Печать(), должна быть расположена в модуле основной формы обработки (в данном случае ФормаТестов), сама форма открыта не будет. Но для отладки, печатная форма будет запускаться через главное меню Файл->Открыть. Поэтому предусмотрим на форме тестов команду для вызова экспортной функции Печать().
Форма настроек
На форме настроек расположим несколько полей ввода. Зададим обработчик действия для кнопки "ПродолжитьПечать".
Еще нужно добавить 2 параметра формы: ИдентификаторКоманды, МассивОбъектов, которые передаются при открытии формы. Эти параметры должны быть с признаком Ключевой параметр.
В модуле объекта обработки, разместим экспортную функцию печать, которая занимается формированием табличного документа.
Комментарии (2)
Иногда пользователям необходимо печатать отчет с определенными данными и такие данные могут меняться, поэтому было бы логичнее создать форму ввода параметров для печатной формы, чтобы не тревожить программиста по пустякам)) Вот хочу показать небольшой пример как я вывела на печатную форму свой параметр "Название печатной формы", вообще в параметры можно добавлять что угодно, но проще для меня вывести обычную строку для примера:).
Итак, что мы делаем:
1. Создаем новую внешнюю обработку и указываем сведения в модуле объекта:
Также в модуле объекта пишем две процедуры:
2. Переходим к созданию основной формы обработки, она нам понадобится только для исполнения процедур:
- Добавим параметры к форме, обязательно в свойствах параметров указать "Ключевой параметр", после этого параметры выделятся жирным шрифтом
- В модуле основной формы пишем следующий код:
- Создаем еще одну форму, и назовем ее "ФормаВвода", разместим на ней реквизит "НазваниеПечатнойФормы":
- И на команду "Печать" добавим следующий код:
Данная печатная форма тестировалась в конфигурации 1с Бухгалтерия предприятия 3.0 (8.3.10.2561).
Специальные предложения
А теперь получилось. В заблуждение ввело то, что название формы совпало с названием параметра:
РегистрационныеДанные.Вставить("Вид", "ПечатнаяФорма");
Обратите на это внимание.
У меня из-за этой строки
ОбъектыНазначения.Добавить(Результат);
вылезла ошибка
"Метод объекта не обнаружен (Метаданные)".
Это лишняя строка, её можно просто убрать.
За примеры кода огромное спасибо.
"МассивОбъектов" внешней печатной формы хранит ссылки на объекты печати.
Теперь он хранит дополнительные параметры формы ввода.
Как теперь получить в модуле объекта "Массив объектов" т.е. и новые параметры формы ввода и массив объектов печсати ))) ?!
В основной форме добавляем в параметры формы "ОбъектыНазначенияМассив":
В форме ввода добавляем процедуру "ПриСозданииНаСервере" в которой принимаем "ОбъектыНазначенияМассив" :
Далее передаем все параметры формы ввода и наш массив ссылок в процедуру печати модуля объекта.
(11) Не совсем понял как можно в параметры засунуть массив: мне выдает: Тип "Массив" не может использоваться в данных формы
(11) Как вы это сделали, никак не получается получить параметры в модуле объекта, тем более без отладки
Можете пояснить как это сделать? Тоже не понял как
(14) Например, так:
В процедуру ПечатьЗавершение после строки
ОбъектыНазначения = Новый Массив;
добавить свои передаваемые параметры:
ДополнительныеПараметры = Новый Структура;
//Значения для передачи
ДополнительныеПараметры.Вставить("МойПараметр1", ЗначениеМоегоПараметра1);
ДополнительныеПараметры.Вставить("МойПараметр2", ЗначениеМоегоПараметра2);
А в модуле обработки в процедуре ПечатьМакета это будет первый элемент массива МассивОбъектов
В этой статье ( МассивОбъектов[0].НазваниеПечатнойФормы;) это в строке:
ОбластьМакета.Параметры.НазваниеПечатнойФормы = МассивОбъектов[0].НазваниеПечатнойФормы;
У меня уже была процедура заполнения макета с использованием «изначального» первого элемента этого массива, чтобы сделать "быстро и тупо", сделала так:
МойПарам1 = МассивОбъектов[0]. МойПараметр1;
МассивОбъектов.Удалить(0);
(16) Спасибо огромное мил человку, наконецто получилось! Без отладки не понимал как формировались параметры
Здравствуйте, не понимаю в какой момент происходит формирование печатной формы в модуле объекта обработки, в какой момент алгоритм туда заходит, объясните кто-нибудь пожалуйста, ?
Что мог сделать не так, что не выходит форма с параметрами, а сразу выходит печатная форма. Все сделал точно по статье.
Просмотры 32566
Загрузки 132
Рейтинг 63
Создание 23.03.18 20:58
Обновление 01.04.18 12:17
№ Публикации 804832
Конфигурация Конфигурации 1cv8
Операционная система Не имеет значения
Страна Россия
Вид учета Не имеет значения
Доступ к файлу Абонемент ($m)
Код открыт Да
См. также
Запуск фонового задания во внешней обработке без регистрации в справочнике "Дополнительные отчеты и обработки"
Описал, как показать прогресс выполнения длительной операции во внешней обработке, и при этом не регистрировать обработку в справочнике "ДополнительныеОтчетыИОбработки". Проверял на БСП версии "3.1.2.264".
1 стартмани
09.03.2020 9471 VinnieThePOOH 6
Акт о передаче в производство (вводе в эксплуатацию) малоценных предметов к документу Требование-накладная
Дополнительная печатная форма "Акт о передаче в производство (вводе в эксплуатацию) малоценных предметов " к документу "Требование накладная". БП 3.0
1 стартмани
27.02.2019 5388 4 xxl_1 0
Сортировка метаданных с учетом объектов на замке
Порой одна конфигурация находится на поддержке нескольких поставщиков (со своими префиксами). Зачастую при обновлении отдельных поставок происходит "перемешивание" объектов с различными префиксами. Работать с такой конфигурацией не очень удобно, но есть способ для сортировки метаданных (в том числе объектов на замке), а также быстрого восстановления сортировки, если случайно очередное обновление было выполнено с взятием порядка метаданных из файла (которое устанавливается по умолчанию).
1 стартмани
16.08.2018 4441 Olenevod 1
Заполнение документа Word без ComОбъект
Идея написать публикацию пришла после прочтения очередного рассказа о том, как файл Word заполнялся через COM-объект в клиент-серверном варианте. При этом падал Сервер 1С. Зачем в принципе использовать файлы Word как шаблоны? Ну, допустим, в организации используется некая внутренняя отчетность, выполнения в корпоративном стиле, и переделать ее на привычные табличные документы нет возможности.
1 стартмани
08.07.2018 19167 nbeliaev 32
Создание мульти-базовых отчетов. Все, что вы хотели об этом знать
В статье описано создание отчета по данным из клиент-серверных баз кластера 1С. Подключение к базам осуществляется через com-соединение. В качестве примера создается отчет «Права доступа мульти-базовый», который оформлен в виде внешнего отчета с двумя вариантами выполнения. Для построения собственного отчета на базе описанного достаточно будет изменить функции «ПолучитьТекстЗапроса», в модуле объекта отчета и построить свой макет запроса. Также описан код вызова отчета путем нажатия кнопки с передачей параметров в макет запроса и форму отчета. Описание примера отчета показывает, что создание отчетов по нескольким базам данных в 1С, не является сверхсложной задачей и достигается простыми методами
1 стартмани
23.03.2018 11159 IVC_goal 3
«Танкистам» 8.2 (ч.2)
продолжении освоения 8.2 здесь только текст. Файл с текстом и картинками добавлен ниже
Рассмотрим настройку и создание новых печатных форм в системе 1С 8.3.
Создание внешних печатных форм для управляемого приложения рассмотрено в отдельной статье.
Самый простой способ создания печатной формы — с помощью встроенного конструктора печатных форм. Рассмотрим пошаговую инструкцию по созданию и настройке печатной формы на примере создания печатной формы «Счет покупателю».
Создание и настройка печатной формы 1С 8.3
Первый шаг — необходимо зайти в палитру свойств нужного нам документа и выбрать Действия — Конструкторы — Конструктор печати:
Первый вопрос системы — выбор варианта работы конструктора. Настройки аналогичны, если у Вас конфигурация работает в управляемом режиме — выберите его, если нет — выберите обычные формы. Мы рассмотрим создание на обычной форме.
Следующий шаг — выбор названия процедуры для печати. Назовём её «Печать счета».
Если вы только начинаете программировать в 1С или просто хотите систематизировать свои знания - попробуйте Школу программирования 1С нашего друга Владимира Милькина. Пошаговые и понятные уроки даже для новичка с поддержкой учителя.
Попробуйте бесплатно по ссылке >>
Далее необходимо выбрать реквизиты, которые нужно указать в шапке печатной формы в том порядке, который нам необходим:
После выбора реквизитов шапки печатной формы 1С 8.2 следует сделать выбор данных для табличной части:
Когда и этот шаг сделан, нужно выбрать реквизиты подвала аналогично реквизитам в шапке.
На последней странице можно оставить всё по умолчанию и нажать ОК:
Что получаем в итоге?
Правильно оформленный макет печатной формы:
Процедура, полностью формирующая печатную форму документа:
Которые можно настроить в 1С 8.2, как нужно нам.
Вывод вызова созданной печатной формы 1С
Для вызова созданной печатной формы нужно просто разместить кнопку на форму документа. Это сделать очень просто. Для начала создадим кнопку на форме, назовем её «Печать счета»:
Нажимаем на кнопку «лупы» у действия — мы попадем в модуль формы, где вписываем вызов процедуры печати вновь созданного счета:
Где «ПечатьСчета» — имя нашей процедуры.
Созданная и настроенная печатная форма выглядит так:
Другие статьи по 1С:
В дополнение — наш видеоурок по созданию внешних печатных форм и подключению их на примере конфигурации 1С Бухгалтерии:
Отчеты 1С 8.3 — это специальный объект метаданных, предназначенный для формирования удобного для пользователя представления данных из таблиц базы данных 1С.
Разберемся, как настроить отчеты, для чего они нужны, чем отличаются внешние отчеты от встроенных и чем отличаются отчеты от обработки.
Создание и настройка отчетов в 1С 8.3
Для того чтобы создать или настроить отчет, необходимо знать встроенный язык программирования 1С 8.3 и язык запросов 1С. Как ни крути, в основе создания практически любого отчета лежит первоначальный запрос, который получает данные. Эти данные мы обрабатываем и выводим в удобной пользователю форме.
Отчеты — это главное в любой информационной системе, поэтому фирма 1С обратила на разработку отчетов пристальное внимание и создала большое количество конструкторов и механизмов для их создания.
Рассмотрим основные методики создания отчетов
Как сделать отчет в 1С с помощью макета
Если вы только начинаете программировать в 1С или просто хотите систематизировать свои знания - попробуйте Школу программирования 1С нашего друга Владимира Милькина. Пошаговые и понятные уроки даже для новичка с поддержкой учителя.
Попробуйте бесплатно по ссылке >>
Создание с помощью макета — самый рутинный способ. Однако к нему часто прибегают от безысходности, т.к. в этом способе разработчик полностью прописывает кодом каждое действие, а значит, мы можем сделать всё что угодно. Этим не могут похвастаться другие механизмы.
Но в этом случае все пунктики, меню и прочие «бантики» придется прописывать вручную, что очень трудоёмко.
Создание отчета с помощью конструктора выходной формы
Конструктор выходной формы — встроенный в платформу механизм, который облегчает разработку отчета. Конструктор доступен только для обычных форм.
Конструктору указывается запрос и все необходимые параметры будущего отчета, а он, в свою очередь, генерирует модули и формы отчета. Механизм основан на объекте встроенного языка 1С 8.2 — ПостроительОтчетов.
Создание отчета с помощью Универсального отчета
Универсальный отчет — механизм типовых конфигураций, позволяющий облегчить разработку отчетов в системе. Этот способ был самым популярным до появления СКД. Метод так же основан на построителе отчетов. В идеале, отчет должен быть построен по регистру накопления.
Универсальный отчет имеет большой функционал, удобный интерфейс настроек, привычный пользователю:
Отчеты на основе Системы компоновки данных
Это самый прогрессивный метод создания отчетов в 1С, рекомендованный и самой фирмой 1С. Система компоновки данных (СКД) появилась в платформе 1С в версии 8.1.
СКД позволяет создать несложные отчеты вообще без строчки программирования, потому что он имеет очень гибкий и функциональный конструктор создания схемы компоновки данных:
Во всех последних конфигурациях все отчеты написаны с использованием системы компоновки данных.
Чем отличаются внешние отчеты от встроенных
Как написано в документации — ничем. Механизм внешних отчетов был создан для того, чтобы отлаживать отчеты в процессе разработке.
Единственное отличие при разработке решения — Вы не можете обратиться к внешнему отчету «по имени», в отличие от встроенного отчета.
Чем отчет отличается от обработки
На самом деле — практически ничем. Главное различие — назначение использования объекта: отчеты нужны для отображения информации, а обработки — для изменения информации.
Основные различия в свойствах: в отчетах можно указать Основную схему компоновки данных (СКД) и указать настройки для сохранения параметров отчетов.
Другие статьи по 1С:
Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):
Читайте также: