OneScript icon indicating copy to clipboard operation
OneScript copied to clipboard

Прошу добавить поддержку меток

Open tormozit opened this issue 2 years ago • 6 comments

Снова испытал нехватку меток и оператора "Перейти". Есть большой метод с несколькими выходами. В начале захватываю ресурс ОС. Надо освободить его при любом выходе. Пришлось в каждом выходе звать специальный метод с передачей всех нужных параметров. А хотелось бы в конце метода разместить метку и к ней везде прыгать.

tormozit avatar Aug 30 '23 19:08 tormozit

Переходы допустимы только в рамках текущих операторных скобок (Если, Попытка, Цикл) или их родителей, т.е. прыгать внутрь неоткрытых в текущем месте скобок запрещено.

tormozit avatar Aug 30 '23 19:08 tormozit

наружу можно? Можно выпрыгнуть из тела цикла? Из попытки?

EvilBeaver avatar Aug 31 '23 07:08 EvilBeaver

Да. Да. Да.

tormozit avatar Aug 31 '23 08:08 tormozit

Как продвигается?

tormozit avatar Sep 28 '24 15:09 tormozit

Классический случай освобождения захватов ресурсов при любом выходе из метода сделать красиво не могу до сих пор

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

Приходится делать нагромождения "Если тогда" с избыточным заглублением вложенности конструкций.

tormozit avatar May 20 '25 04:05 tormozit

Сергей, к сожалению, у меня нет ресурса на реализацию меток. Я буду признателен помощи в этом вопросе.

EvilBeaver avatar May 20 '25 13:05 EvilBeaver