Программное обращение к внешнему отчету

28.04.15

Задачи пользователя - Менеджеры внешних отчетов

В УПП зарегистрированы внешние отчеты в Сервис\Дополнительные отчеты и обработки\отчеты. Нужно к ним программно обратиться.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
ОткрытиеВнешнегоОтчета.epf
.epf 6,06Kb
4
4 Скачать (1 SM) Купить за 1 850 руб.

Для наглядности создадим внешнюю обработку, на ней форму, а в форме пропишем действие для кнопки "Выполнить"

Находим номер нужного отчета для подстановки, а код, собственно, следующий:

 

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

Программное обращение внешнему отчету

См. также

Менеджеры внешних отчетов Программист Стажер Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Описание необходимых минимальных настроек внешнего отчета, позволяющих добавлять внешний отчет в информационную базу.

22.08.2024    1646    rslayer    7    

4

Менеджеры внешних отчетов Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

Очень часто возникает необходимость сохранить в папку на локальном диске все дополнительные внешние отчеты и обработки из базы 1С. Данная обработка позволит сделать это быстро и с учетом внутренней иерархии и с проверкой результата выгрузки (Управляемые формы).

1 стартмани

25.04.2024    1424    16    Suker86    0    

5

Менеджеры внешних отчетов Программист Платформа 1С v8.3 1С:Управление торговлей 11 Россия Абонемент ($m)

Пример добавления отчета в расширение в типовые конфигурации на БСП на примере УТ 11.5, с добавлением в типовые меню отчетов.

1 стартмани

31.01.2024    4420    DarkPinch222    0    

15

Менеджеры внешних отчетов Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

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

5 стартмани

04.09.2023    1129    3    serg1234    0    

4

Менеджеры внешних отчетов Анализ учета Программист Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 2.х Платные (руб)

Расширение «Контрольные отчеты» для автоматизации процесса проверки ведения учета в ПП. Со списком ошибок могут работать ответственные пользователи. Помогает в процессе внедрения ПП находить нарушения в бизнес-процессах. 

12000 руб.

08.08.2023    2072    3    1    

6

Инструментарий разработчика Менеджеры внешних отчетов Программист Платформа 1С v8.3 Конфигурации 1cv8 1С:ERP Управление предприятием 2 Абонемент ($m)

При изменении и отладке внешней обработки приходится десятки раз заходить в Файл-Открыть и переоткрывать обработку. Данное решение значительно упрощает данную задачу.

1 стартмани

28.07.2023    5605    62    Serg2000mr    31    

61

Менеджеры внешних отчетов Пользователь Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Добавление кнопки "Показать в списке" в формах отчетов для открытия соответствующего элемента справочника "Варианты отчетов".

1 стартмани

12.12.2022    1735    0    RocKeR_13    6    

4
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. пользователь 28.04.15 14:07
Сообщение было скрыто модератором.
...
2. binex 279 28.04.15 16:21 Сейчас в теме
3. E_BEREZIN 30 28.04.15 17:48 Сейчас в теме
Зачем, спрашивается, помещать обработку во внешние обработки, когда ее можно включить в конфигурацию?
Чем обоснована эта необходимость?
Да и зачем изгаляться с внешними обработками, когда ее можно разместить на диске и по такой же схеме открывать, указав путь к файлу на диске.
5. TODD22 19 28.04.15 17:55 Сейчас в теме
(3) acapulco,
спрашивается, помещать обработку во внешние обработки, когда ее можно включить в конфигурацию?

Для того что бы не включать режим редактирования конфигурации.
Чем обоснована эта необходимость?

Тем что база с включенным режимом редактирования будет дольше обновляться. А если его не включать то в обновление пройдёт автоматическом режиме.
Да и зачем изгаляться с внешними обработками, когда ее можно разместить на диске и по такой же схеме открывать, указав путь к файлу на диске.

Для того что бы обработка выгружалась в резервную копию вместе с базой. То есть хранилась в самой базе данных.
Ali_q; Alex_E; Рамзес; lonlilokli; h00k; +5 Ответить
7. h00k 51 28.04.15 18:18 Сейчас в теме
(3) acapulco,
Да и зачем изгаляться с внешними обработками, когда ее можно разместить на диске и по такой же схеме открывать, указав путь к файлу на диске.

Ну ка, расскажите нам не сведущим, как обработку/ отчет размещенную на диске подключить к конфигурации, добавив команды открытия в нужные разделы интерфейса, указав конкретного пользователя/ группу имеющую право запускать эту обработку или просто настроить запуск по расписанию.

(5) TODD22, на мой взгляд удобное назначение права доступа более веская причина, хотя да, хранение обработки в базе тоже причина достаточно важная.
lonlilokli; TODD22; +2 Ответить
8. lonlilokli 28.04.15 21:24 Сейчас в теме
(3) acapulco, собственно задачка простенькая, особенно я так понимаю для Вас. Нужно формировать отчет с разными настройками для менеджеров. Менеджеров 50 настроек тоже. Если можно расскажите как бы Вы это реализовали.
17. h00k 51 01.05.15 04:14 Сейчас в теме
(8) Вот я не понимаю, отчет ведь для какой-то конфигурации, правильно?
Неужели в этой конфигурации нет ни одного объекта/ формы сохраняющего свои настройки?!

Поищите в этой конфигурации либо в синтаксис помощнике
ХранилищеОбщихНастроек.Сохранить
ХранилищеОбщихНастроек.Загрузить


Метод работает как для объектов в составе конфигурации, так и для внешних отчетов/обработок хранящихся на диске, главное не промахнуться с ключами объекта и настроек.

П.С.: Ну и незнание некоторых методов - это не повод писать "мусорные статьи" в надежде получить ответ в комментариях, лучше просто задать вопрос на форуме...
6. h00k 51 28.04.15 18:09 Сейчас в теме
(0) Круто. Теперь ждем цикл статей как подключить обработку из справочника без создания временного файла на диске...
9. karpik666 3856 29.04.15 09:36 Сейчас в теме
(0) Это троллинг, или автор действительно называет это "Публикацией"?
EliasShy; artbear; +2 Ответить
10. Kolyasik 29.04.15 10:11 Сейчас в теме
а на ИТС разве нет описания работы с внешними отчетами обработками?
E_BEREZIN; +1 Ответить
11. lonlilokli 29.04.15 14:13 Сейчас в теме
(10) Kolyasik, Ок, посмотрю. Иногда бывает нет под рукой. А если можно подскажите как это там найти.
12. E_BEREZIN 30 30.04.15 09:33 Сейчас в теме
(10) Kolyasik, конечно есть http://its.1c.ru/db/metod8dev#content:3556:hdoc
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)

    //Помещаем обработку во временном хранилище
    АдресХранилища = "";
    Результат = ПоместитьФайл(АдресХранилища, "C:\ВнешняяОбработка.epf", , Ложь);           
    ИмяОбработки = ПодключитьВнешнююОбработку(АдресХранилища);
    
    // Откроем форму подключенной внешней обработки
    ОткрытьФорму("ВнешняяОбработка."+ ИмяОбработки +".Форма");

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

&НаСервере
Функция ПодключитьВнешнююОбработку(АдресХранилища)

    Возврат ВнешниеОбработки.Подключить(АдресХранилища);

КонецФункции 
Показать
lonlilokli; +1 Ответить
13. lonlilokli 30.04.15 09:48 Сейчас в теме
(12) acapulco, Ок ! Спасибо! У меня просто стояла задачка брать обработки сохраненные во внешних в 1с предприятии.
А так тоже надо было, но не смог найти. А оказалось точно просто набираешь в поиске на итс "открыть внешнюю обработку" и на тебе пожалуйста.
Сколько раз уже на эти грабли натыкался, ищешь часами в нет, нет что бы просто в синтакспомощник заглянуть :))
14. karpik666 3856 30.04.15 10:03 Сейчас в теме
(13) а еще можно в конфигураторе найти справочник "ВнешниеОбработки" и глянуть как в форме списка открываются внешние обработки. Обработчик события при выборе:
	
Справочники.ВнешниеОбработки.ВыполнитьВнешнююОбработку(ВыбраннаяСтрока);

...

Процедура ВыполнитьВнешнююОбработку(ВнешняяОбработкаСсылка) Экспорт
	
	ЭтоОбработка = ?(ВнешняяОбработкаСсылка.ВидОбработки = Перечисления.ВидыДополнительныхВнешнихОбработок.Обработка, Истина, Ложь);
	ЭтоОтчет = ?(ВнешняяОбработкаСсылка.ВидОбработки = Перечисления.ВидыДополнительныхВнешнихОбработок.Отчет, Истина, Ложь);
	
	Если НЕ (ЭтоОбработка ИЛИ ЭтоОтчет) Тогда
		Возврат;
	КонецЕсли;
	
	ИмяФайла = КаталогВременныхФайлов() + ВнешняяОбработкаСсылка.УникальныйИдентификатор() + ".tmp";
	ДвоичныеДанные = ВнешняяОбработкаСсылка.ХранилищеВнешнейОбработки.Получить();
	ДвоичныеДанные.Записать(ИмяФайла);
	
	Если ЭтоОбработка Тогда
		
		Форма = ВнешниеОбработки.ПолучитьФорму(ИмяФайла);
		
	Иначе
		
		Форма = ВнешниеОтчеты.ПолучитьФорму(ИмяФайла);
		
	КонецЕсли;
	
	Если Не Форма = Неопределено Тогда
		
		Форма.Открыть();
		
	Иначе
		
		Если ЭтоОбработка Тогда
			ВнешняяОбработка = ВнешниеОбработки.Создать(ИмяФайла, Не ВнешняяОбработкаСсылка.ОтключитьБезопасныйРежим);
		Иначе
			ВнешнийОтчет = ВнешниеОтчеты.Создать(ИмяФайла, Не ВнешняяОбработкаСсылка.ОтключитьБезопасныйРежим);
			Форма = ВнешнийОтчет.ПолучитьФорму();
			Если Форма <> Неопределено Тогда
				Форма.Открыть();
			КонецЕсли;
		КонецЕсли;
		
	КонецЕсли;
	
КонецПроцедуры

Показать

Но наверное это было сложно сделать.
P.S. Нет возможности заглянуть в синтакс-помощник, зато есть время такое публиковать.
E_BEREZIN; +1 Ответить
15. lonlilokli 01.05.15 00:03 Сейчас в теме
(14) karpik666, Ты добрый малый! А если не секрет что тебя так задевает? Ну опубликовал такую фигню. Тебе от этого плохо? Или я тебе чем-то помешал. Вообще не слишком ли много чести,зачем ты потратил стока своего драгоценного времени?
21. vasyak319 152 01.05.15 21:15 Сейчас в теме
(15) удали фигню. Это проще и правильнее, чем фигню публиковать.
22. lonlilokli 05.05.15 12:46 Сейчас в теме
(21) vasyak319, А все-таки не такая уж и фигня, как кажется, если в поисковиках на первом месте и 100 просмотров.
23. vasyak319 152 05.05.15 17:10 Сейчас в теме
(22) у блюющего котёнка на ТыТрубе вообще 15 миллионов просмотров. И что?
24. lonlilokli 05.05.15 19:50 Сейчас в теме
(23) vasyak319, о эко тебя, но ты то, что здесь искал если не секрет. Еще поражает столь сильное Ваше внимание к столь не нужной теме. А может ты просто так зарабатываешь:) тогда ок!


16. lonlilokli 01.05.15 00:14 Сейчас в теме
(14) karpik666, А собственно. Вопрос все равно остался. Пусть обработка или отчет есть в конфе. У отчета есть n-ное количество пользовательских настроек. Нужно программно вызывать все эти настройки, и формировать отчеты.
18. karpik666 3856 01.05.15 07:50 Сейчас в теме
(16) Извини, если мои комментарии были грубые, но меня задевает, что нет премодерации по содержанию, а только по оформление, что инфостарт уже какая-то свалка, чтобы найти что-то стоящее нужно часами копаться. И в данном случае твоя статья не содержит в себе ничего, с таким же успехом можно было справку из синтакс-помощника здесь разместить. А хотелось бы, чтобы инфостарт был похож на хабр, какой он сейчас, где каждая статья содержит в себе ценность.
19. karpik666 3856 01.05.15 08:53 Сейчас в теме
(16) в типовых конфигурациях на обычных формах есть регистр сведений "сохраненные настройки", если отчет был сделан на универсальном отчете, то настройки попадают туда, чтобы посмотреть как эти настройки загружаются из этого регистра нужно открыть "универсальный отчет" модуль объекта процедура "восстановить настройки". Если на скд, то настройки попадают в "хранилище общих настроек", но тут я не смогу подсказать, потому как сам не знаю.
lonlilokli; +1 Ответить
20. h00k 51 01.05.15 17:40 Сейчас в теме
(19) karpik666,
то настройки попадают в "хранилище общих настроек", но тут я не смогу подсказать, потому как сам не знаю.

В (17) я показал "как они туда попадают", остается только посмотреть в синтаксис помощнике методы объекта ХранилищеОбщихНастроек и воспользоваться ими...
karpik666; +1 Ответить
25. zhuravlev_as 437 06.05.15 11:35 Сейчас в теме
А теперь еще сделаем одну обработку для открытия описанной в публикации обработки с тем же кодом и так далее - по циклу... бесконечно. Похоже, что автор просто хотел поделиться наработкой.
26. lonlilokli 07.05.15 15:34 Сейчас в теме
(25) apostal86, ну да именно так запускаем обработку и выполняем отчеты. Для Вас задачка я так понимаю простенькая. Может подскажите как выполнять отчет для n-ного количества сотрудников, соответственно каждому с его настройкой и отправлять на мыло?
27. h00k 51 07.05.15 15:51 Сейчас в теме
(26)
Для Вас задачка я так понимаю простенькая.

Эта задачка для любого "простенькая". Или начните пользоваться головой по назначению или наймите программиста.
28. lonlilokli 08.05.15 07:58 Сейчас в теме
короче, у вас есть решение хотите продать? Или я у Вас хлеб отнимаю, от того такая неприязнь? Чем Вам я конкретно мешаю? Может Вы хотите чтобы я оценил Ваши публикации? Ну так прямо бы и сказали. Каждый конечно выживает по своему.
29. vasyak319 152 08.05.15 10:36 Сейчас в теме
(28)
от того такая неприязнь? Чем Вам я конкретно мешаю?


Вам уже отвечали на этот вопрос. Вы загаживаете сайт нашего сообщества мусором, плюс начинаете юродствовать, когда вам на это указывают, отсюда и отношение.
30. lonlilokli 08.05.15 15:22 Сейчас в теме
(29) vasyak319, Дорогой мой человек! Спасибо за столь внимательное отношение к теме. Но наверно есть более простые способы удалять не нужные публикации. Вы являетесь модератором? Просто удалите её. Или может если не являетесь, то обратитесь к модератору и он удалит. Может быть есть публикация и я повторил её, укажите это модератору. А Вы настолько уверены в себе, что можете утверждать, что Ваши публикации ничего не засоряют? Или может у Вас их нет? Не знаю, что Вы имеете ввиду говоря "юродствовать" , объяснитесь. Но на самом деле не допускаете ли мысли, что это и есть тот случай?
31. Keizzz91 29.05.20 07:27 Сейчас в теме
32. VZyryanov 29.05.20 08:33 Сейчас в теме
Можно еще так:
&НаСервереБезКонтекста
Функция ВнешнийОтчетСсылкаПолучить(ВнешнийОтчетНаименование)
	Возврат	Справочники.ДополнительныеОтчетыИОбработки.НайтиПоНаименованию(ВнешнийОтчетНаименование,Истина);
КонецФункции

&НаКлиенте
Процедура Расшифровка(Команда)
	ВнешнийОтчетНаименование="*Карточка договора";
	ВнешнийОтчетСсылка=ВнешнийОтчетСсылкаПолучить(ВнешнийОтчетНаименование);
	Если Не ЗначениеЗаполнено(ВнешнийОтчетСсылка) Тогда
		ПоказатьПредупреждение(,"Не найден дополнительный (внешний) отчет по наименованию """+ВнешнийОтчетНаименование+""".");
		Возврат;
	КонецЕсли;
	ВнешнийОтчетИмя=ДополнительныеОтчетыИОбработкиВызовСервера.ПодключитьВнешнююОбработку(ВнешнийОтчетСсылка);	
	ПараметрыОтчета=Новый Структура;	
	ПараметрыОтчета.Вставить("Договор",Договор);
	ПараметрыОтчета.Вставить("ДатаФормирования",ДатаФормирования);
	Уникальность=Договор;
	ОткрытьФорму("ВнешнийОтчет."+ВнешнийОтчетИмя+".Форма",ПараметрыОтчета,ЭтаФорма,Уникальность);
КонецПроцедуры
Показать
Оставьте свое сообщение