Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
28 мар 2024, 23:57

1C8.2 УП.Открытие существующего отчета(СКД) из модуля команды документа?

Автор |R|U|D|E|N, 24 дек 2011, 12:31

0 Пользователей и 1 гость просматривают эту тему.

|R|U|D|E|N

Добрый день!

Уже долгое время не могу реализовать задуманное.

У меня есть полностью рабочий отчет доступный в интерфейсе пользователя. У него есть один параметр(Контрагент) который поьзователь вводит в ручную.

Также есть документы в которых было бы очень класно видить этот отчет приминительно к контрагентам указанным в этих документах.
ТОйсть я создал команду. Разместил ее на форме документа. Но я не знаю как передать парамет в этот отчет и вывести его(отчет) при нажатии на эту команду?

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


С уважением, Александр!

sergeevds

Также есть документы в которых было бы очень класно видить этот отчет приминительно к контрагентам указанным в этих документах.
ТОйсть я создал команду. Разместил ее на форме документа. Но я не знаю как передать парамет в этот отчет и вывести его(отчет) при нажатии на эту команду?

А теперь тоже самое, но по-русски, а то как-то становиться непонятно после "было бы очень класно видить этот отчет приминительно к контрагентам указанным в этих документах."

|R|U|D|E|N

Имеется в виду, что необходимо вызывать этот отчет из некоторых документов передавая в этот отчет значение реквизита "Контрагент".  Тойсть по нажатию на кновпочку формеруется отчет по контрагенту указонному в открытом документе

sergeevds

Внешний отчет? Тогда просто контрагента можно достать из реквизита "СсылкаНаОбъект", или как он у тебя там называется.

Можешь сделать его как внешнюю печатную форму - посмотри есть такой справочник "ВнешниеПечатныеФормыИОбработки" в него добавляешь свой отчет, сделанный по аналогии с существующими - там название реквизитов должны сходиться.

|R|U|D|E|N

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

Как то это же возможно? не ужели это не реализовать...

aaaaaa

Как вариант можно так:

Процедура Кнопка1Нажатие(Элемент)
// Insert handler code.
Отчеты.ОстаткиБюджета.ПолучитьФорму().Открыть();
  //Отчеты.ОстаткиБюджета.ПолучитьМакет().Параметры.Установить();
  // Параметр = КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("Д2"));;
  //  Параметр.Значение = КонецДня(Элемент.ТекущаяДата);
  //  Параметр.Использование = Истина;
Wsh = Новый COMОбъект("Wscript.shell");
Wsh.SendKeys("^{Enter}");   //имитируем нажатие CTRL+Enter

КонецПроцедуры

Это открывает нужный Вам отчет.
А с параметрами... Посмотрите закоментированные строки кода. Может они помогут. У меня уже просто рабочий день на исходе. Должен идти. Если у Вас не получится, завтра посмотрю.


aaaaaa

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

Odavid

Цитата: aaaaaa от 29 дек 2011, 16:33
Как вариант можно так:
какой же это вариант - если у него УФ, а у вас - обычное?
Вопрос и стоит - как в УФ в модуле команды вызвать другой объект?
Пока, кроме как через промежуточный общий модуль (НаКлиенте), указать там процедуру НаСервере, и уже оттуда - вызывать дотспуную экспортную процедуру Отчета (или сам отчет).

Dethmontt

УсловияОтбора = Новый Структура("ПолеОтбора", СсылкаНаЭлемент);
ПараметрыФормы = Новый Структура("Отбор, СформироватьПриОткрытии", УсловияОтбора, Истина);
ОткрытьФорму("Отчет.ЦеныТоваров.ФормаОбъекта", ПараметрыФормы);
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

cska-fanat-kz

Цитата: Dethmontt от 17 июн 2012, 07:12
УсловияОтбора = Новый Структура("ПолеОтбора", СсылкаНаЭлемент);
ПараметрыФормы = Новый Структура("Отбор, СформироватьПриОткрытии", УсловияОтбора, Истина);
ОткрытьФорму("Отчет.ЦеныТоваров.ФормаОбъекта", ПараметрыФормы);


Браво!
+100500!

а то уже и до SendKeys дело дошло.......
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск