Вот какая стала дилема. Толи писать универсальные отчеты, то ли частные. Например, состояние склада можно получить путем анализа счета по субконто. А можно и свой отчет написать, который будет просто выводить наличие материалов на складе в данный момент. Но ведь этот отчет является просто частным случаем стандартного отчета. Вот тут я и задумался. А как сделать так, чтобы был универсальный и частный отчет. Первое, что нужно выяснить можно ли запускать один отчет из другого. Можно.
ОткрытьФорму
Выполняет открытие формы из встроенного языка.
Синтаксис:
ОткрытьФорму (<Параметр1>, <КонтекстФормы>, <Параметр 3>...)
Англоязычный синоним:
OpenForm
Параметры:
<Параметр1> В зависимости от типа открываемой формы используется различные значения данного параметра.Для журналов, отчетов, списков в конце строки описателя формы может быть указан символ "#" с некоторым идентификатором: "#LLLL". Это используется для того, чтобы данная форма открылась в новом окне, а не активизировала существующее окно этой формы, если оно открыто. Где, LLLL — идентификатор, который позволяет открыть новое окно или активизировать уже открытое с этим идентификатором. Если идентификатор не задан, то обязательно открывается новое окно.
<КонтекстФормы> Необязательный параметр. Имя переменной, куда можно задать значение любого типа для передачи в открываемую форму. Данное значение будет доступно в открытой форме как атрибут Форма.Параметр.После исполнения данного метода система вернет в данную переменную контекст открытой формы (см. Передача контекста в качестве параметра). С помощью значения этого контекста можно затем произвольно манипулировать открытой формой, пока она открыта. Пока форма открыта, тип значения данного параметра равен 100 (см. ТипЗначения), если закрыта — 0.
<Параметр3>... В зависимости от типа открываемой формы используется различный состав и значения остальных параметров.
Возвращаемое значение:
Число 1 — если действие выполнено;
Число 0 — если действие не выполнено.
Описание:
Функция ОткрытьФорму позволяет открыть форму документа, справочника, журнала документов, и других форм используемых в системе 1C:Предприятие.
Описание не полное, но я и не ставлю задачу повторить документацию 1C. Здесь нет примечаний. Итак, делаем новый отчет и кнопку на него. Кнопке вызов процедуры.
Код:
Процедура НажалиКнопку() ОткрытьФорму("Отчет.КнигаПродаж"); КонецПроцедуры
Тестируем.
Работает. Теперь нужно научиться передавать параметры.