Имя: Пароль:
1C
1С v8
Вызов Внешнего дополнительного отчёта из формы Обработки
0 Cоляпсус
 
14.03.18
15:24
Добрый день. Подскажите пожалуйста. Есть внешний дополнительный отчет выполненный на СКД, сохранённый в разделе ДопОтчИОбработки. Всё хорошо работает. Данный отчёт необходимо вызвать из формы внутренней обработки (Обработки.МояОбработка).
Создал команду на форме обработки и задал ему обработчик. В обработчике вызываю отчёт. Что касательно обычных с формами, то тут более менее понятно. А вот на СКД вызвал затруднение. Ни разу ещё не делал. Подскажите добрым советом, примером, направлением. Гугл не дал представления. Заранее спасибо
1 Mankubus
 
14.03.18
15:26
(0) а как бы в обычных формах написал?
2 Cyberhawk
 
14.03.18
15:26
Смотри как это сделано для команд вызова внешних отчетов
3 Cоляпсус
 
14.03.18
15:35
(2) Всё что-то попадается с наличием форм, а у моего отчета нет никакой формы
4 Cоляпсус
 
14.03.18
15:35
(1) Не знаю честно говоря
5 Cyberhawk
 
14.03.18
15:37
(3) Если у отчета нет формы, то открывается форма отчета, указанная в соответствующем свойстве корня конфигурации. Если и там пусто, то платформенная форма.
6 Cyberhawk
 
14.03.18
15:37
Что в СП по поводу метода ОткрытьФорму?
7 Cоляпсус
 
14.03.18
15:46
(6) Требует процедуру или функцию.
8 Cоляпсус
 
14.03.18
15:49
(6) НУ да это ж метод, ссори.
Но всёравно не понятно как действовать
9 Cyberhawk
 
14.03.18
15:52
А ты там кем ?
10 Cоляпсус
 
14.03.18
15:59
(9) Странный вопрос не находишь. Был бы по традиции "Бетонщиком", спросил бы про бетон, ну или про погоду. А тут оппа по отчёты спрашивают. Вот "Бетонщики" пошли продвинутые
Что сложно подсказать?
11 Cyberhawk
 
14.03.18
15:59
С таким настроем далеко не уедешь
12 Cоляпсус
 
14.03.18
16:01
Настрой как раз нормальный, температура мешает поддерживать стёб. А хочется сделать, ни разу не делал же, а тут сделаю и буду знать.
13 Cyberhawk
 
14.03.18
16:02
Какой стеб? Я вроде довольно простые вопросы задаю
14 Cоляпсус
 
14.03.18
16:02
Мне не нужно за меня делать, хотя бы подсказать, как это люди делают.
15 Cоляпсус
 
14.03.18
16:07
(13) А что даёт ответ на вопрос. Если "Бетонщик", то займись своим делом? Или "Программист" - плохой программист, иди поучись или вызовите программиста? Или стажёр - но с заданиями, как буд-то как вы здесь семь лет, а у меня задания такие.
Ну это всё лирика, а помощь реальная пригодилась бы, кому конечно не сложно.
16 Любопытная
 
14.03.18
16:08
Ну елки, какие проблемы то?
Получаешь объект отчета, дальше Отчет.ПолучитьФорму();
Параметр "Форма" у этого метода необязательный, если его не указывать, открывается форма по умолчанию. Если формы по умолчанию нет, то платформа ее сама нарисует. Особенно если отчет на СКД.
17 Любопытная
 
14.03.18
16:08
И вообще, что мешает хотя бы попробовать?
18 Cyberhawk
 
14.03.18
16:10
(15) "что даёт ответ на вопрос" // Удовлетворяешь мой праздный интерес
19 Малыш Джон
 
14.03.18
16:11
(15) ответ ничего не дает. да он и не требуется.
тебе дали подсказку, ты её не понял, соответственно - логичный вопрос "а ты там кем?"
Воспринимай это как намек, что все данные у тебя уже есть, надо просто их в кучу собрать.
20 Малыш Джон
 
14.03.18
16:13
короче

"При помощи доброго слова и пинка для скорости можно добиться больше, чем при помощи просто доброго слова"
21 Cоляпсус
 
14.03.18
16:15
(20) Поддерживаю конечно, но ...))
22 Cоляпсус
 
14.03.18
16:22
(16) Так я пробовал вот на этом и застрял
Форма=Справочники.ДополнительныеОтчетыИОбработки.НайтиПоНаименованию("Дополнительный отчет: Отчет о выполенных услугах внешний доп");
Форма.ПолучитьФорму();
{Обработка.СменноеЗадание.Форма.ФормаСменныеЗаданияПациента.Форма(930)}: Ошибка при вызове метода контекста (ПолучитьФорму)Форма.ПолучитьФорму();по причине: Интерактивные операции недоступны
23 ildary
 
14.03.18
16:24
(22) Форма.ПолучитьФорму(); - где выполняется - на клиенте или на сервере?
24 Cоляпсус
 
14.03.18
16:27
(23) Ну да на серваке чего это я пытаюсь получить, это ж на клиенте надо делать,
25 Любопытная
 
14.03.18
16:27
(22) а Форма какой тип имеет?
26 Любопытная
 
14.03.18
16:27
Отладка что говорит?
27 Cоляпсус
 
14.03.18
16:30
(25) СправочникСсылка
28 Cоляпсус
 
14.03.18
16:33
(25) Ну да а должен же наверно быть объектом
29 Любопытная
 
14.03.18
16:35
(28) ну наверное)) Подозреваю, что там где-то хранятся двоичные данные, которые надо куда-то временно сохранить как внешний отчет, и вот у него уже получать форму
30 Малыш Джон
 
14.03.18
16:36
(29)  ))))))))))))

откуда такие черные подозрения?))
31 Cоляпсус
 
14.03.18
16:37
(29) Да, вот ищу пример как это делается)) спасибо за направление
32 Cоляпсус
 
14.03.18
16:38
(30) (20) короче

"При помощи доброго слова и пинка для скорости можно добиться больше, чем при помощи просто доброго слова"
21
)))
33 Любопытная
 
14.03.18
16:41
(30) Давно не копалась в кишках БСП, не знаю, как оно там сейчас. Но мне кажется это самый простой путь. У справочника есть реквизит ХранилищеОбработки тип ХранилищеЗначений. Туда пишутся двоичные данные. Их надо получить, во временный файл сохранить и его уже вызывать со всеми вытекающими.
34 Cоляпсус
 
14.03.18
16:43
Вот так наверное? (примерно?)
ИмяВременногоФайла = ПолучитьИмяВременногоФайла();
Обработка = Справочники.ВнешниеОбработки.НайтиПоНаименованию("НаименованиеОбработки");
ДвоичныеДанные = Обработка.ХранилищеВнешнейОбработки.Получить();
ДвоичныеДанные.Записать(ИмяВременногоФайла);
Форма = ВнешниеОбработки.ПолучитьФорму(ИмяВременногоФайла);
Если Не Форма = Неопределено Тогда
Форма.Открыть();
КонецЕсли;
УдалитьФайлы(ИмяВременногоФайла);
35 Cоляпсус
 
14.03.18
17:15
на самом интересном месте покинула сила подсказки))
36 Любопытная
 
14.03.18
17:28
(35) используй силу отладчика и силу СП
37 Cоляпсус
 
14.03.18
17:32
(36) ))) использую, но никак к СП не привыкну, не очевиден он периодически)
38 Cоляпсус
 
14.03.18
17:34
Не пойму как с двоичными данными побороться
39 Любопытная
 
14.03.18
17:35
(37) что не получается-то? СП по-моему как раз очень даже очевиден и понятен.
40 Любопытная
 
14.03.18
17:38
общий модуль ДополнительныеОтчетыИОбработкиКлиент процедура ОткрытьВариантДополнительногоОтчета
Смотри там
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой