Проект

Общее

Профиль

Внешние обработки 83 » История » Версия 3

Всеволод Дорофеев, 19.05.2020 07:16

1 2 Всеволод Дорофеев
h1. Внешние обработки 8.3
2 1 Всеволод Дорофеев
3 1 Всеволод Дорофеев
h3. Запуск внешних обработок 1С из внешних обработок в фоне в 1С 8.3
4 1 Всеволод Дорофеев
5 1 Всеволод Дорофеев
источник:
6 1 Всеволод Дорофеев
https://www.koderline.ru/expert/programming/article-zapusk-vneshnikh-obrabotok-1s-iz-vneshnikh-obrabotok-v-fone-v-1s-8-3/
7 3 Всеволод Дорофеев
8 3 Всеволод Дорофеев
h3. Использование регламентных процедур в внешней обработке
9 3 Всеволод Дорофеев
10 3 Всеволод Дорофеев
<pre>
11 3 Всеволод Дорофеев
Функция ПолучитьТаблицуКоманд()
12 3 Всеволод Дорофеев
13 3 Всеволод Дорофеев
    Команды = Новый ТаблицаЗначений;
14 3 Всеволод Дорофеев
    //как будет выглядеть описание печ.формы для пользователя
15 3 Всеволод Дорофеев
    Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));
16 3 Всеволод Дорофеев
    //имя макета печ.формы
17 3 Всеволод Дорофеев
    Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка"));
18 3 Всеволод Дорофеев
    //ВызовСерверногоМетода
19 3 Всеволод Дорофеев
    Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка"));
20 3 Всеволод Дорофеев
    Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));
21 3 Всеволод Дорофеев
    Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка"));
22 3 Всеволод Дорофеев
23 3 Всеволод Дорофеев
    Возврат Команды;
24 3 Всеволод Дорофеев
	
25 3 Всеволод Дорофеев
КонецФункции
26 3 Всеволод Дорофеев
27 3 Всеволод Дорофеев
Функция ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "")
28 3 Всеволод Дорофеев
29 3 Всеволод Дорофеев
    НоваяКоманда = ТаблицаКоманд.Добавить();
30 3 Всеволод Дорофеев
    НоваяКоманда.Представление = Представление;
31 3 Всеволод Дорофеев
    НоваяКоманда.Идентификатор = Идентификатор;
32 3 Всеволод Дорофеев
    НоваяКоманда.Использование = Использование;
33 3 Всеволод Дорофеев
    НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
34 3 Всеволод Дорофеев
    НоваяКоманда.Модификатор = Модификатор;
35 3 Всеволод Дорофеев
36 3 Всеволод Дорофеев
КонецФункции
37 3 Всеволод Дорофеев
38 3 Всеволод Дорофеев
Функция УказатьНаименованиеВнешнейОбработки()
39 3 Всеволод Дорофеев
	
40 3 Всеволод Дорофеев
    Наименование = ЭтотОбъект.Метаданные().Представление();
41 3 Всеволод Дорофеев
    Возврат Наименование;
42 3 Всеволод Дорофеев
	
43 3 Всеволод Дорофеев
КонецФункции
44 3 Всеволод Дорофеев
45 3 Всеволод Дорофеев
46 3 Всеволод Дорофеев
Функция СведенияОВнешнейОбработке() Экспорт
47 3 Всеволод Дорофеев
	ПараметрыРегистрации = Новый Структура;
48 3 Всеволод Дорофеев
	МассивНазначений = Новый Массив;
49 3 Всеволод Дорофеев
	
50 3 Всеволод Дорофеев
	Наименование = УказатьНаименованиеВнешнейОбработки();
51 3 Всеволод Дорофеев
	
52 3 Всеволод Дорофеев
	ПараметрыРегистрации.Вставить("Вид", "ДополнительнаяОбработка");
53 3 Всеволод Дорофеев
	ПараметрыРегистрации.Вставить("Назначение", МассивНазначений);
54 3 Всеволод Дорофеев
	ПараметрыРегистрации.Вставить("Наименование", Наименование);
55 3 Всеволод Дорофеев
	ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь);
56 3 Всеволод Дорофеев
	ПараметрыРегистрации.Вставить("Версия", "XX.XX.202X");    
57 3 Всеволод Дорофеев
	ПараметрыРегистрации.Вставить("Информация", Наименование);
58 3 Всеволод Дорофеев
	
59 3 Всеволод Дорофеев
	ТаблицаКоманд = ПолучитьТаблицуКоманд();
60 3 Всеволод Дорофеев
	ДобавитьКоманду(ТаблицаКоманд, Наименование, Наименование, ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы(), Ложь); // Форма обработки
61 3 Всеволод Дорофеев
	ДобавитьКоманду(ТаблицаКоманд, "РегламентнаяВыгрузка", "РегламентнаяВыгрузка", ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода(), Ложь); // регламентная процедура. Вызывает ВыполнитьКоманду(
62 3 Всеволод Дорофеев
	ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);
63 3 Всеволод Дорофеев
	Возврат ПараметрыРегистрации;
64 3 Всеволод Дорофеев
	
65 3 Всеволод Дорофеев
КонецФункции
66 3 Всеволод Дорофеев
67 3 Всеволод Дорофеев
//Для регламентной задачи
68 3 Всеволод Дорофеев
Процедура ВыполнитьКоманду(Идентификатор, ОбъектыНазначения = неопределено) Экспорт
69 3 Всеволод Дорофеев
	//...
70 3 Всеволод Дорофеев
КонецПроцедуры
71 3 Всеволод Дорофеев
	
72 3 Всеволод Дорофеев
73 3 Всеволод Дорофеев
</pre>