Имя: Пароль:
1C
 
Проверить наличие обработки, если есть открыть
0 Kongo2019
 
06.11.25
11:05
Доброго.
Есть список задача, каждой задаче соответствует некая обработка, обработка эта может быть в базе то тогда надо ее открыть, либо нет в базе, ну еще не сваяли.
Проверить наличие обработки, если есть открыть.
Проверку надо выполнить по имени обработки.
Пачку условий Если Тогда не предлагать
Был какой-то варариат через квадрантные скобки, но хоть убей не могу вспомнить и поэтому нагуглить.
В общем нужна наводка куда порыть.
1 Garykom
 
гуру
06.11.25
11:14
Ты меня удивляешь
Если обработка встроена в конфу - ну дык обычная работа с метаданными
Если обработка в ДополнительныеОтчетыИОбработки - ну дык или через БСП или просто работа со справочником
Если внешняя - ну дык работа с файлами, проверить существование
2 Волшебник
 
06.11.25
11:13
Попытка...Исключение
3 Garykom
 
гуру
06.11.25
11:16
(2) Вариант рабочий
Часто используют с общими модулями или модулями менджера
4 Garykom
 
гуру
06.11.25
11:17
(3)+ Эмм задумался
А через метаданные можно список общих модулей получить?
5 Гипервизор
 
06.11.25
11:23
(4) Да, можно. Как коллекцию объектов метаданных.
6 Fish
 
гуру
06.11.25
11:24
(4) Метаданные.ОбщиеМодули Не?
7 Garykom
 
гуру
06.11.25
11:25
(5) (6) Странно... Тогда почему в типовых проверяют наличие общего модуля через Попытка..Исключение?
8 Fish
 
гуру
06.11.25
11:25
+(6) А в БСП есть функция ОбщийМодуль().
Возвращает ссылку на общий модуль или модуль менеджера по имени.
9 Ботаник Гарден Меран
 
06.11.25
11:35
(7)
Чтобы сервер с клиента не вызывать.
10 Гипервизор
 
06.11.25
11:39
(7) Например, в какой типовой так? Я встречал только обращение через ОбщегоНазначения.ОбщийМодуль().
11 Kongo2019
 
06.11.25
11:54
Был финт с квадратными скобками, какой-то хитрый.
Его вот найти хочу.
12 Fish
 
гуру
06.11.25
11:46
(11) А что там хитрого? Стандартное обращение к элементу коллекции по имени через квадратные скобки.
13 Fish
 
гуру
06.11.25
11:48
+(12) "ОбработкиМенеджер (DataProcessorsManager)
Элементы коллекции:
ОбработкаМенеджер.<Имя обработки>
Для объекта доступен обход коллекции посредством оператора Для каждого … Из … Цикл. При обходе выбираются менеджеры обработок.
Возможно обращение к менеджеру обработки посредством оператора [...]. В качестве аргумента передается имя обработки, как оно задано в конфигурации."
14 Kongo2019
 
06.11.25
11:54
Ладно, найду расскажу.
А то может маразма уже настигает.
15 Fish
 
гуру
06.11.25
11:56
(14) Видимо, в отпуск пора :)
16 Garykom
 
гуру
06.11.25
14:41
(14) че там искать-то?
	ИмяОбработки = "ПоискИУдалениеДублей";
	
	Попытка
		ТекущаяОбработка = Обработки[ИмяОбработки];
	Исключение
		ТекущаяОбработка = Неопределено;
	КонецПопытки;
	
	Если ТекущаяОбработка <> Неопределено Тогда
		// Нечто делаем
	КонецЕсли;
2 + 2 = 3.9999999999999999999999999999999...