ИР Форматировать текст

tormozit 27 1 2

В конфигураторе есть встроенная команда "Блок/Форматировать", имеющая недостатки:

  • проблема переноса параметров в вызове метода
  • не поддерживает методику И-Или дерева
  • не поддерживает язык запросов

Поэтому в ИР добавлена собственная команда форматирования программного кода встроенного языка и языка запросов.

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

Для использования одноименной команды адаптера настоятельно рекомендуется TurboConf 6.0+.
Внимание! По умолчанию команда адаптера подключается на стандартное сочетание клавиш Alt+Shift+F

Настройки форматирования можно изменить в настройках компоненты "Поле текста программы" приложения ИР

Встроенный язык

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

Пример форматирования

 	НевидимоеПолеПрограммы.ПолеТекста.УстановитьГраницыВыделения(КоординатыОшибки.НомерСтроки,
			НачальнаяКолонка, КоординатыОшибки.НомерСтроки, 
			НачальнаяКолонка);
	a = Истина
		И (Ложь
			Или СтрДлина(ЭлементыФормы.Параметры.ТекущаяСтрока.Значение) < 1000 
			Или (Истина
				И СтрДлина(ЭлементыФормы.Параметры.ТекущаяСтрока.Значение) < 100000
				И (Ложь
					// https://www.hostedredmine.com/issues/951572
					Или ирКэш.НомерВерсииПлатформыЛкс() < 803016 
					Или ирКэш.НомерВерсииПлатформыЛкс() > 803018)))
		И ТипЗначения = Тип("Строка");
	Если Истина
		И ТипЗначения = Тип("Строка") 
		И (Ложь
			Или СтрДлина(ЭлементыФормы.Параметры.ТекущаяСтрока.Значение) < 1000 
			Или (Истина
				И СтрДлина(ЭлементыФормы.Параметры.ТекущаяСтрока.Значение) < 100000
				И (Ложь
					// https://www.hostedredmine.com/issues/951572
					Или ирКэш.НомерВерсииПлатформыЛкс() < 803016 
					Или ирКэш.НомерВерсииПлатформыЛкс() > 803018)))
	Тогда 
		НовыйПутьКДанным = "ЭлементыФормы.Параметры.ТекущиеДанные.ПредставлениеЗначения";
		ЭлементыФормы.ЗначениеПараметра.ТолькоПросмотр = Ложь;
	Иначе                                                     
		НовыйПутьКДанным = "";
		ЭлементыФормы.ЗначениеПараметра.ТолькоПросмотр = Истина;
	КонецЕсли;

Язык запросов

Команда поддерживает только чистый текст запроса. Поэтому работает например в редакторе текста запроса конструктора схемы компоновки данных.
Команда выполняет пересборку текста запроса конструктором запроса ИР. Поэтому в тексте

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

Пример форматирования

//{Запрос: 0, -3 ////////////////////////////////////////
ВЫБРАТЬ
	Банки.Ссылка.ПометкаУдаления КАК Ссылка,
	Банки.Адрес КАК Адрес,
	//123
	Банки.Телефоны КАК Телефоны
ИЗ
	Справочник.Банки КАК Банки
	ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют КАК фффф
	ПО 1 = 1
ГДЕ ИСТИНА
	И Банки.Адрес ПОДОБНО "%%"
	И (ЛОЖЬ
		ИЛИ (ИСТИНА
			И Банки.КоррСчет ПОДОБНО "%67%"
			И Банки.Родитель = ЗНАЧЕНИЕ(Справочник.Банки.ПустаяСсылка))
		ИЛИ Банки.ПометкаУдаления = ЛОЖЬ)
;
0

Еще в "TurboConf ИР"

ИР Свернуть дерево кроме текущей

ИР Автодополнение / контекстная подсказка

ИР Создать описание метода

ИР Найти в списке

ИР Найти последнюю правку в Гите

ИР Запомнить для сравнения

ИР Переименовать слово

ИР Открыть объект метаданных

ИР Анализ замера

ИР Точка останова

Модератору