Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
16 Дек 2017, 19:44
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Как открыть внешний отчет из другого внешнего отчета?  (Прочитано 14222 раз)

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

Оффлайн MKozzlik

  • *
  • Сообщений: 45
  • РЕПУТАЦИЯ: -1
  • Регистрация: 2011-08-04
  • Сайт: 
Здравствуйте!
Имеется внешний отчет, при нажатии на ячейку на печатной форме должен открываться другой внешний отчет, и надо еще как-то передать параметры из одного отчета в другой. Платформа 8.1, может кто-нибудь сталкивался с таким?


Оффлайн Klyacksa

  • Фрилансер. Милости прошу с задачами в личку.
  • Глобальный модератор
  • *****
  • Сообщений: 1325
  • РЕПУТАЦИЯ: 430
  • КПД: 32%
  • Регистрация: 2010-08-20
  • Сайт: 
  • Профессия: Программист 1С
Используйте ОбработкуРасшифровки первого отчета, и открывайте по ней все, что хотите. Параметры передавать можно по-разному. Если это реквизиты первой обработки, то можно назначить ее владельцем второй, и обращаться как ВтораяОбработка.Владелец.НужныеРеквизитВладельца.
Или создать реквизиты во второй обработке, и при ее создании (до открытия и формирования), в той же обработке расшифровки заполнить эти реквизиты.
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

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

Оффлайн MKozzlik

  • *
  • Сообщений: 45
  • РЕПУТАЦИЯ: -1
  • Регистрация: 2011-08-04
  • Сайт: 
В обработке расшифровки прописываю такой код

Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)

ЗапускаемаяОбработка = Справочники.ВнешниеОбработки.НайтиПоКоду("Ц00000017", Истина);
ЗапускаемаяОбработка.ПолучитьФорму().Открыть();

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

Открывается форма "Регистрация внешнего отчета", а мне надо Именно форму отчета. если пишу так: ЗапускаемаяОбработка.ПолучитьФорму("ФормаОтчета").Открыть();  выдается ошибка

Оффлайн Klyacksa

  • Фрилансер. Милости прошу с задачами в личку.
  • Глобальный модератор
  • *****
  • Сообщений: 1325
  • РЕПУТАЦИЯ: 430
  • КПД: 32%
  • Регистрация: 2010-08-20
  • Сайт: 
  • Профессия: Программист 1С
СтандартнуюОБработку отмените.
Потому что получаете не форму самой обработки, а форму элемента справочника с кодом "Ц00000017". Чтобы открыть саму обработку, посмотрите как работает справочник. Откройте форму элемента справочника, там наверняка есть кнопочка по запуску/открытию обработки, посмотрите, как там это делается и что где хранится.
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

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

Оффлайн MKozzlik

  • *
  • Сообщений: 45
  • РЕПУТАЦИЯ: -1
  • Регистрация: 2011-08-04
  • Сайт: 
Спасибо! Открыть форму получилось, но мне еще надо передать параметры во внешнюю обработку и запустить выполнение процедуры, чтобы при открытии второй внешней обработки на форме в табличном поле сформировался отчет, пишу такой код, это в первой обработке из которой открываю:
СсылкаНаОбъект = Справочники.ВнешниеОбработки.НайтиПоКоду("Ц00000017");

ЭтоОтчет = ?(СсылкаНаОбъект.ВидОбработки = Перечисления.ВидыДополнительныхВнешнихОбработок.Отчет, Истина, Ложь);

Если НЕ ЭтоОтчет Тогда
  Возврат;
КонецЕсли;

ИмяФайла = ПолучитьИмяВременногоФайла();
ДвоичныеДанные = СсылкаНаОбъект.ХранилищеВнешнейОбработки.Получить();
ДвоичныеДанные.Записать(ИмяФайла);

ВнешнийОтчет = ВнешниеОтчеты.Создать(ИмяФайла);
ВнешнийОтчет.НачПериода = НачПериода;
ВнешнийОтчет.КонПериода = КонПериода;
ВнешнийОтчет.Менеджер = Менеджер;
ВнешнийОтчет.Организация = Организация;
ВнешнийОтчет.Подразделение = Подразделение;
ВнешнийОтчет.Склад = Склад;
ВнешнийОтчет.СформироватьОтчет();

Форма = ВнешниеОтчеты.ПолучитьФорму(ИмяФайла);

Если Не Форма = Неопределено Тогда
  Форма.ОткрытьМодально();
Иначе
  Сообщить("Форма открываемой обработки или отчета не определена.", СтатусСообщения.БезСтатуса);
КонецЕсли;

УдалитьФайлы(ИмяФайла);

Параметры передаются, функция вроде как выполняется, но на форме табличное поле пустое! (НачПериода, КонПериода, Организация, Подразделение, Склад - это реквизиты отчета)

Оффлайн Klyacksa

  • Фрилансер. Милости прошу с задачами в личку.
  • Глобальный модератор
  • *****
  • Сообщений: 1325
  • РЕПУТАЦИЯ: 430
  • КПД: 32%
  • Регистрация: 2010-08-20
  • Сайт: 
  • Профессия: Программист 1С
Получаете форму от нового экземпляра отчета, а не от того, который формировали. Поэтому и пустые поля!
Попробуйте открыть как
Форма = ВнешнийОтчет.ПолучитьФорму();
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

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

Оффлайн MKozzlik

  • *
  • Сообщений: 45
  • РЕПУТАЦИЯ: -1
  • Регистрация: 2011-08-04
  • Сайт: 
Если пробую так

Форма = ВнешнийОтчет.ПолучитьФорму();

то ругается, выдает ошибку:

{Форма.ФормаОтчета.Форма(353)}: Недостаточно фактических параметров
   Форма = ВнешниеОтчеты.ПолучитьФорму();

Оффлайн Klyacksa

  • Фрилансер. Милости прошу с задачами в личку.
  • Глобальный модератор
  • *****
  • Сообщений: 1325
  • РЕПУТАЦИЯ: 430
  • КПД: 32%
  • Регистрация: 2010-08-20
  • Сайт: 
  • Профессия: Программист 1С
Так в ошибке так и осталось "ВнешниеОтчеты"
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

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

Оффлайн MKozzlik

  • *
  • Сообщений: 45
  • РЕПУТАЦИЯ: -1
  • Регистрация: 2011-08-04
  • Сайт: 
Ой, простите, да действительно, сейчас все получилось!


Теги:
 


* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
157 Сообщений
ilyay ilyay
66 Сообщений
alex0402
53 Сообщений
AIFrame
48 Сообщений
andron81_81
44 Сообщений
oleg-x
44 Сообщений
BuhRust
33 Сообщений
MuI_I_Ika MuI_I_Ika
32 Сообщений
Golickoff Golickoff
31 Сообщений
Dima Dddd Dima Dddd
24 Сообщений

* Кто онлайн

  • Точка Гостей: 241
  • Точка Скрытых: 0
  • Точка Пользователей: 4
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal