Skip to content

Commit

Permalink
Changed substitution of parameters and variables in the code console.…
Browse files Browse the repository at this point in the history
… Changed forms
  • Loading branch information
denisushakov committed May 6, 2024
1 parent 45faad3 commit 22f1ce2
Show file tree
Hide file tree
Showing 11 changed files with 426 additions and 278 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,42 @@
<WindowOpeningMode>LockWholeInterface</WindowOpeningMode>
<AutoTitle>false</AutoTitle>
<Customizable>false</Customizable>
<CommandBarLocation>Top</CommandBarLocation>
<VerticalScroll>useIfNecessary</VerticalScroll>
<CommandSet>
<ExcludedCommand>Abort</ExcludedCommand>
<ExcludedCommand>Cancel</ExcludedCommand>
<ExcludedCommand>Ignore</ExcludedCommand>
<ExcludedCommand>No</ExcludedCommand>
<ExcludedCommand>OK</ExcludedCommand>
<ExcludedCommand>RestoreValues</ExcludedCommand>
<ExcludedCommand>Retry</ExcludedCommand>
<ExcludedCommand>SaveValues</ExcludedCommand>
<ExcludedCommand>Yes</ExcludedCommand>
</CommandSet>
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1">
<Autofill>false</Autofill>
<ChildItems>
<Button name="КомандаОК" id="15">
<Type>CommandBarButton</Type>
<DefaultButton>true</DefaultButton>
<CommandName>Form.Command.КомандаОК</CommandName>
<ExtendedTooltip name="КомандаОКРасширеннаяПодсказка" id="25"/>
</Button>
<Button name="ФормаЗакрыть" id="31">
<Type>CommandBarButton</Type>
<CommandName>Form.StandardCommand.Close</CommandName>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Отмена</v8:content>
</v8:item>
</Title>
<ExtendedTooltip name="ФормаЗакрытьРасширеннаяПодсказка" id="32"/>
</Button>
</ChildItems>
</AutoCommandBar>
<Events>
<Event name="ChoiceProcessing">ОбработкаВыбора</Event>
<Event name="OnCreateAtServer">ПриСозданииНаСервере</Event>
</Events>
<ChildItems>
Expand Down Expand Up @@ -84,39 +115,6 @@
</InputField>
</ChildItems>
</UsualGroup>
<CommandBar name="ГруппаДействияФормы" id="14">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа действия формы</v8:content>
</v8:item>
<v8:item>
<v8:lang>en</v8:lang>
<v8:content>Group actions forms</v8:content>
</v8:item>
</Title>
<HorizontalLocation>Right</HorizontalLocation>
<ExtendedTooltip name="ГруппаДействияФормыРасширеннаяПодсказка" id="24"/>
<ChildItems>
<Button name="КомандаОК" id="15">
<Type>CommandBarButton</Type>
<DefaultButton>true</DefaultButton>
<CommandName>Form.Command.КомандаОК</CommandName>
<ExtendedTooltip name="КомандаОКРасширеннаяПодсказка" id="25"/>
</Button>
<Button name="Закрыть" id="16">
<Type>CommandBarButton</Type>
<Representation>PictureAndText</Representation>
<CommandName>Form.StandardCommand.Close</CommandName>
<ExtendedTooltip name="ЗакрытьРасширеннаяПодсказка" id="26"/>
</Button>
<Button name="Справка" id="17">
<Type>CommandBarButton</Type>
<CommandName>Form.StandardCommand.Help</CommandName>
<ExtendedTooltip name="СправкаРасширеннаяПодсказка" id="27"/>
</Button>
</ChildItems>
</CommandBar>
</ChildItems>
<Attributes>
<Attribute name="ЛогическоеВыражение" id="2">
Expand Down Expand Up @@ -195,21 +193,6 @@
</v8:StringQualifiers>
</Type>
</Attribute>
<Attribute name="СписокПеременных" id="6">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Список переменных</v8:content>
</v8:item>
<v8:item>
<v8:lang>en</v8:lang>
<v8:content>Variables List</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>v8:ValueListType</v8:Type>
</Type>
</Attribute>
<Attribute name="НадписьСинтаксис" id="7">
<Title>
<v8:item>
Expand Down Expand Up @@ -244,6 +227,21 @@
</v8:StringQualifiers>
</Type>
</Attribute>
<Attribute name="АдресЗначений" id="9">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Адрес значений</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>0</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
</Attribute>
</Attributes>
<Commands>
<Command name="КомандаОК" id="1">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,8 @@

Параметры.Свойство("Режим", Режим);

Если Параметры.Свойство("Переменные") Тогда
Для Каждого ТекущаяПеременна Из Параметры.Переменные Цикл
СписокПеременных.Добавить(ТекущаяПеременна.Значение);
КонецЦикла;
Если Параметры.Свойство("ЗначенияЗаполнения") Тогда
АдресЗначений = ПоместитьВоВременноеХранилище(Параметры.ЗначенияЗаполнения, УникальныйИдентификатор);
КонецЕсли;

НадписьСинтаксис = НСтр("ru = '?(<ЛогическоеВыражение>,<ВыражениеЕслиИстина>,<ВыражениеЕслиЛожь>)';
Expand Down Expand Up @@ -90,7 +88,7 @@
Процедура КомандаОК(Команда)

ОбновитьВыражениеРезультат();
Закрыть(ВыражениеРезультат);
ОповеститьОВыборе(Новый Структура("Поле", ВыражениеРезультат));

КонецПроцедуры

Expand All @@ -103,7 +101,7 @@
&НаКлиенте
Процедура ОбновитьВыражениеРезультат()

ВыражениеРезультат = СтрШаблон("?(%1, %2, %3);", ЛогическоеВыражение, ВыражениеИстина, ВыражениеЛожь);
ВыражениеРезультат = СтрШаблон("?(%1, %2, %3)", ЛогическоеВыражение, ВыражениеИстина, ВыражениеЛожь);

КонецПроцедуры

Expand All @@ -116,28 +114,22 @@

ПараметрыФормы.Вставить("Режим", Режим);

Если СписокПеременных.Количество() Тогда
ПараметрыФормы.Вставить("Переменные", СписокПеременных.ВыгрузитьЗначения());
КонецЕсли;
Если Не ПустаяСтрока(АдресЗначений) Тогда
ПараметрыФормы.Вставить("АдресЗначений", АдресЗначений);
КонецЕсли;
ПараметрыФормы.Вставить("ИмяПриемника", ИмяПриемника);

ОткрытьФорму("ОбщаяФорма.__ФормаВыбораПоля",
ПараметрыФормы, ЭтотОбъект,,,,
Новый ОписаниеОповещения("ВыборПоляЗавершение", ЭтотОбъект, Новый Структура("ИмяПриемника", ИмяПриемника)),
РежимОткрытияОкнаФормы.БлокироватьВесьИнтерфейс);
ОткрытьФорму("ОбщаяФорма.__ФормаВыбораПоля", ПараметрыФормы, ЭтотОбъект);

КонецПроцедуры

// Обработчик оповещения "ВыборПоляЗавершение".
//
// Параметры:
// РезСтруктура - КодВозвратаДиалога.
// ДополнительныеДанные - Структура.
//
&НаКлиенте
Процедура ВыборПоляЗавершение(Результат, ДополнительныеДанные) Экспорт

Если ТипЗнч(Результат) = Тип("Структура") Тогда
Элементы[ДополнительныеДанные.ИмяПриемника].ВыделенныйТекст = Результат.Имя;
Процедура ОбработкаВыбора(ВыбранноеЗначение, ИсточникВыбора)

Если ИсточникВыбора.ИмяФормы = "ОбщаяФорма.__ФормаВыбораПоля" Тогда
Если ТипЗнч(ВыбранноеЗначение) = Тип("Структура") Тогда
Элементы[ВыбранноеЗначение.ИмяПриемника].ВыделенныйТекст = ВыбранноеЗначение.Поле;
КонецЕсли;
ОбновитьВыражениеРезультат();
КонецЕсли;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -151,6 +151,16 @@
Или ИсточникВыбора.ИмяФормы = "Справочник.__ПользовательскиеФункции.Форма.ФормаМассива" Тогда
текДанные = Элементы.ПараметрыФункции.ТекущиеДанные;
текДанные.АдресЗначения = ВыбранноеЗначение.Адрес;
ИначеЕсли ИсточникВыбора.ИмяФормы = "ОбщаяФорма.__ФормаВыбораПоля" Тогда
Если ТипЗнч(ВыбранноеЗначение) = Тип("Структура") Тогда

Check warning on line 155 in src/cf/Catalogs/__ПользовательскиеФункции/Forms/ФормаЭлемента/Ext/Form/Module.bsl

View check run for this annotation

sonar.openbsl.ru qa-bot / 1C: Project SubSystems Library Sonarqube Results

src/cf/Catalogs/__ПользовательскиеФункции/Forms/ФормаЭлемента/Ext/Form/Module.bsl#L155

Синтаксическая конструкция "Если...Тогда...ИначеЕсли..." содержит повторяющиеся блоки кода
Модифицированность = Истина;
View().selectedText(ВыбранноеЗначение.Поле);
КонецЕсли;
ИначеЕсли ИсточникВыбора.ИмяФормы = "Справочник.__ПользовательскиеФункции.Форма.УсловныйОператор" Тогда
Если ТипЗнч(ВыбранноеЗначение) = Тип("Структура") Тогда
Модифицированность = Истина;
View().selectedText(ВыбранноеЗначение.Поле);
КонецЕсли;
КонецЕсли;

КонецПроцедуры
Expand Down Expand Up @@ -542,67 +552,20 @@

ПараметрыФормы = Новый Структура;

МассивИменПеременных = Новый Массив;

Для Каждого ТекСтрока Из Объект.Переменные Цикл
МассивИменПеременных.Добавить(ТекСтрока.Имя);
КонецЦикла;
ДополнитьПараметрыОткрытияФормы(ПараметрыФормы);

ПараметрыФормы.Вставить("Переменные",МассивИменПеременных);

ОткрытьФорму("ОбщаяФорма.__ФормаВыбораПоля", ПараметрыФормы, ЭтотОбъект,,,,
Новый ОписаниеОповещения("ОткрытьФормуВыбораПоляЗавершение", ЭтотОбъект),
РежимОткрытияОкнаФормы.БлокироватьВесьИнтерфейс);
ОткрытьФорму("ОбщаяФорма.__ФормаВыбораПоля", ПараметрыФормы, ЭтотОбъект);

КонецПроцедуры // ОткрытьФормуВыбораПоля()

// Оработчик оповещения "ОткрытьФормуВыбораПоляЗавершение".
//
// Параметры:
// РезСтруктура - Структура.
// Параметры - Структура.
//
&НаКлиенте
Процедура ОткрытьФормуВыбораПоляЗавершение(Результат, Параметры) Экспорт

Если ТипЗнч(Результат) = Тип("Структура") Тогда
Объект.КодПодпрограммы = СтрШаблон("%1 %2", Объект.КодПодпрограммы, Результат.Имя);
УстановитьИсполняемыйКод();
Модифицированность = Истина;
КонецЕсли;

КонецПроцедуры

&НаКлиенте
Процедура ОткрытьКонструкторУсловногоВыражения()

ПараметрыФормы = Новый Структура;
СписокПеременных = Новый СписокЗначений;

Для Каждого Элемент Из Объект.Переменные Цикл
СписокПеременных.Добавить(Элемент.Имя);
КонецЦикла;
ДополнитьПараметрыОткрытияФормы(ПараметрыФормы);

ПараметрыФормы.Вставить("Переменные", СписокПеременных);

ОткрытьФорму(КлючОбъекта("УсловныйОператор"), ПараметрыФормы, ЭтотОбъект,,,,
Новый ОписаниеОповещения("ОткрытьКонструкторУсловногоВыраженияЗавершение", ЭтотОбъект));

КонецПроцедуры

// Процедура обработчик оповещения "ОткрытьКонструкторУсловногоВыраженияЗавершение".
//
// Параметры:
// РезВыражение - Строка.
// Параметры - Структура.
//
&НаКлиенте
Процедура ОткрытьКонструкторУсловногоВыраженияЗавершение(Результат, Параметры) Экспорт

Если ТипЗнч(Результат) = Тип("Строка") Тогда
Объект.КодПодпрограммы = СтрШаблон("%1 %2", Объект.КодПодпрограммы, Результат);
УстановитьИсполняемыйКод();
КонецЕсли;
ОткрытьФорму(КлючОбъекта("УсловныйОператор"), ПараметрыФормы, ЭтотОбъект);

КонецПроцедуры

Expand Down Expand Up @@ -631,6 +594,27 @@
Возврат "Справочник.__ПользовательскиеФункции.Форма." + ИмяФормы;
КонецФункции

&НаКлиенте
Процедура ДополнитьПараметрыОткрытияФормы(ПараметрыОткрытия)

ЗначенияЗаполнения = Новый Структура;

МассивИменПеременных = Новый Массив;
Для Каждого ТекСтрока Из Объект.Переменные Цикл
МассивИменПеременных.Добавить(ТекСтрока.Имя);
КонецЦикла;
ЗначенияЗаполнения.Вставить("Переменные",МассивИменПеременных);

Check notice on line 606 in src/cf/Catalogs/__ПользовательскиеФункции/Forms/ФормаЭлемента/Ext/Form/Module.bsl

View check run for this annotation

sonar.openbsl.ru qa-bot / 1C: Project SubSystems Library Sonarqube Results

src/cf/Catalogs/__ПользовательскиеФункции/Forms/ФормаЭлемента/Ext/Form/Module.bsl#L606

Справа от ',' не хватает пробела

МассивИменПараметров = Новый Массив;
Для Каждого ТекСтрока Из Объект.ПараметрыФункции Цикл
МассивИменПараметров.Добавить(ТекСтрока.Наименование);
КонецЦикла;
ЗначенияЗаполнения.Вставить("Параметры", МассивИменПараметров);

ПараметрыОткрытия.Вставить("ЗначенияЗаполнения", ЗначенияЗаполнения);

КонецПроцедуры

#Область ОбработчикиСобытийПоляРедактора

&НаКлиенте
Expand Down
Loading

0 comments on commit 22f1ce2

Please sign in to comment.