Имя: Пароль:
1C
1С v8
БП 3.0. Запустить внешнюю обработку, сохраненную в базе
0 25-11
 
26.02.14
22:50
Имеется внешняя обработка, написанная так, что ее удается сохранить в базе: Администирование - внешние отчеты и обработки.
А вот можно ли ее запускать, не сохраняя предварительно на диск, пока не разобрался. Подскажите, есть ли такой штатный инструмент (аналогичный запуску вы обычном прилиожении)?
Если есть, то где посмотреть и как им воспользоваться?
1 Remark
 
26.02.14
23:23
(0) А как запускается в обычном приложении? Насколько я помню она в 2.0 она запускается двойным щелчком.
В БП 30 внешняя обработка может быть разной и запускаться в форме объектов, к которым привязана. Например, есть обработки заполнения табличных  частей, или печатные формы.
2 25-11
 
26.02.14
23:29
(1) В "обычных" - прямо из списка справочника, например. Имеется ввиду ни к чему не привязанная внешняя обработка для загрузки объектов 1C из внешних файлов.
3 25-11
 
28.02.14
19:53
Подниму, пожалуй..
Сама обработка должна быть как-то по особому оформлена, чтобы ее можно было запустить из базы?
4 Chai Nic
 
28.02.14
21:05
(3) Потребуется дорабатывать - как минимум добавить в модуль функцию СведенияОВнешнейОбработке. К сожалению, 1с пошла по пути специализации, универсальные обработки теперь к базе не подключишь..
5 25-11
 
28.02.14
21:28
А пример где посмотрерть оформления сведений? Не подскажешь?
6 Chai Nic
 
28.02.14
21:31
Функция СведенияОВнешнейОбработке() Экспорт
    Идентификатор=ЭтотОбъект.Метаданные().ПолноеИмя();
    Представление=ЭтотОбъект.Метаданные().Представление();
    
    Сведения = Новый Структура;
    Сведения .Вставить("Вид", "ДополнительныйОтчет");
    Сведения .Вставить("Наименование", Представление);
    Сведения .Вставить("Информация", Представление);
    Сведения .Вставить("Версия", "0.1");
    Сведения .Вставить("БезопасныйРежим", Истина);
    
    Команды = Новый ТаблицаЗначений;
    Команды.Колонки.Добавить("Идентификатор");
    Команды.Колонки.Добавить("Представление");
    Команды.Колонки.Добавить("Модификатор");
    Команды.Колонки.Добавить("ПоказыватьОповещение");
    Команды.Колонки.Добавить("Использование");    
    
    Команда = Команды.Добавить();
    Команда.Представление = Представление;
    Команда.ПоказыватьОповещение = Ложь;
    Команда.Использование = "ОткрытиеФормы";
    Команда.Идентификатор = Идентификатор;    
    
    Сведения.Вставить("Команды", Команды);    
    
    Возврат Сведения;
КонецФункции
7 25-11
 
28.02.14
21:38
Спасибо!
8 Alexman13
 
28.02.14
21:44
В твоем случае главное использовать:

Сведения .Вставить("Вид", "ДополнительнаяОбработка");

Команда.Использование = "ОткрытиеФормы";