mirror of
https://github.com/firstBitSportivnaya/PSSL.git
synced 2024-11-21 17:56:47 +02:00
added new collections to the parameters (#56)
Добавлена возможность указания коллекций в параметрах пользовательских функций
This commit is contained in:
parent
6c2833f03a
commit
6333e32935
@ -590,38 +590,35 @@
|
||||
<Use>ForItem</Use>
|
||||
</Properties>
|
||||
<ChildObjects>
|
||||
<Attribute uuid="ed036b65-226b-42e4-ae09-bf1436fa0120">
|
||||
<Attribute uuid="bc0eb7c0-0bee-4659-9678-97931036a3f3">
|
||||
<Properties>
|
||||
<Name>Наименование</Name>
|
||||
<Name>Идентификатор</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Наименование</v8:content>
|
||||
</v8:item>
|
||||
<v8:item>
|
||||
<v8:lang>en</v8:lang>
|
||||
<v8:content>Name</v8:content>
|
||||
<v8:content>Идентификатор</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
<Comment>Идентификатор</Comment>
|
||||
<Type>
|
||||
<v8:Type>xs:string</v8:Type>
|
||||
<v8:StringQualifiers>
|
||||
<v8:Length>200</v8:Length>
|
||||
<v8:AllowedLength>Variable</v8:AllowedLength>
|
||||
</v8:StringQualifiers>
|
||||
<v8:Type>v8:UUID</v8:Type>
|
||||
</Type>
|
||||
<PasswordMode>false</PasswordMode>
|
||||
<Format/>
|
||||
<EditFormat/>
|
||||
<ToolTip/>
|
||||
<ToolTip>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Идентификатор параметра</v8:content>
|
||||
</v8:item>
|
||||
</ToolTip>
|
||||
<MarkNegatives>false</MarkNegatives>
|
||||
<Mask/>
|
||||
<MultiLine>false</MultiLine>
|
||||
<ExtendedEdit>false</ExtendedEdit>
|
||||
<MinValue xsi:nil="true"/>
|
||||
<MaxValue xsi:nil="true"/>
|
||||
<FillChecking>ShowError</FillChecking>
|
||||
<FillChecking>DontCheck</FillChecking>
|
||||
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
|
||||
<ChoiceParameterLinks/>
|
||||
<ChoiceParameters/>
|
||||
@ -676,22 +673,26 @@
|
||||
<DataHistory>Use</DataHistory>
|
||||
</Properties>
|
||||
</Attribute>
|
||||
<Attribute uuid="aaefaa01-2704-426d-b247-0dfbeaa84deb">
|
||||
<Attribute uuid="ed036b65-226b-42e4-ae09-bf1436fa0120">
|
||||
<Properties>
|
||||
<Name>НеОбязательныйДляЗаполнения</Name>
|
||||
<Name>Наименование</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Не обязательный</v8:content>
|
||||
<v8:content>Наименование</v8:content>
|
||||
</v8:item>
|
||||
<v8:item>
|
||||
<v8:lang>en</v8:lang>
|
||||
<v8:content>Not Required</v8:content>
|
||||
<v8:content>Name</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
<Type>
|
||||
<v8:Type>xs:boolean</v8:Type>
|
||||
<v8:Type>xs:string</v8:Type>
|
||||
<v8:StringQualifiers>
|
||||
<v8:Length>200</v8:Length>
|
||||
<v8:AllowedLength>Variable</v8:AllowedLength>
|
||||
</v8:StringQualifiers>
|
||||
</Type>
|
||||
<PasswordMode>false</PasswordMode>
|
||||
<Format/>
|
||||
@ -703,7 +704,7 @@
|
||||
<ExtendedEdit>false</ExtendedEdit>
|
||||
<MinValue xsi:nil="true"/>
|
||||
<MaxValue xsi:nil="true"/>
|
||||
<FillChecking>DontCheck</FillChecking>
|
||||
<FillChecking>ShowError</FillChecking>
|
||||
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
|
||||
<ChoiceParameterLinks/>
|
||||
<ChoiceParameters/>
|
||||
@ -774,6 +775,93 @@
|
||||
<DataHistory>Use</DataHistory>
|
||||
</Properties>
|
||||
</Attribute>
|
||||
<Attribute uuid="aaefaa01-2704-426d-b247-0dfbeaa84deb">
|
||||
<Properties>
|
||||
<Name>Необязательный</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Необязательный</v8:content>
|
||||
</v8:item>
|
||||
<v8:item>
|
||||
<v8:lang>en</v8:lang>
|
||||
<v8:content>Not Required</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
<Type>
|
||||
<v8:Type>xs:boolean</v8:Type>
|
||||
</Type>
|
||||
<PasswordMode>false</PasswordMode>
|
||||
<Format/>
|
||||
<EditFormat/>
|
||||
<ToolTip/>
|
||||
<MarkNegatives>false</MarkNegatives>
|
||||
<Mask/>
|
||||
<MultiLine>false</MultiLine>
|
||||
<ExtendedEdit>false</ExtendedEdit>
|
||||
<MinValue xsi:nil="true"/>
|
||||
<MaxValue xsi:nil="true"/>
|
||||
<FillChecking>DontCheck</FillChecking>
|
||||
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
|
||||
<ChoiceParameterLinks/>
|
||||
<ChoiceParameters/>
|
||||
<QuickChoice>Auto</QuickChoice>
|
||||
<CreateOnInput>Auto</CreateOnInput>
|
||||
<ChoiceForm/>
|
||||
<LinkByType/>
|
||||
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
|
||||
<Indexing>DontIndex</Indexing>
|
||||
<FullTextSearch>Use</FullTextSearch>
|
||||
<DataHistory>Use</DataHistory>
|
||||
</Properties>
|
||||
</Attribute>
|
||||
<Attribute uuid="50282414-75c3-4d5b-a39b-1afa2cca73c3">
|
||||
<Properties>
|
||||
<Name>Тип</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Тип</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment>Тип</Comment>
|
||||
<Type>
|
||||
<v8:Type>xs:string</v8:Type>
|
||||
<v8:StringQualifiers>
|
||||
<v8:Length>0</v8:Length>
|
||||
<v8:AllowedLength>Variable</v8:AllowedLength>
|
||||
</v8:StringQualifiers>
|
||||
</Type>
|
||||
<PasswordMode>false</PasswordMode>
|
||||
<Format/>
|
||||
<EditFormat/>
|
||||
<ToolTip>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Тип параметра</v8:content>
|
||||
</v8:item>
|
||||
</ToolTip>
|
||||
<MarkNegatives>false</MarkNegatives>
|
||||
<Mask/>
|
||||
<MultiLine>false</MultiLine>
|
||||
<ExtendedEdit>false</ExtendedEdit>
|
||||
<MinValue xsi:nil="true"/>
|
||||
<MaxValue xsi:nil="true"/>
|
||||
<FillChecking>DontCheck</FillChecking>
|
||||
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
|
||||
<ChoiceParameterLinks/>
|
||||
<ChoiceParameters/>
|
||||
<QuickChoice>Auto</QuickChoice>
|
||||
<CreateOnInput>Auto</CreateOnInput>
|
||||
<ChoiceForm/>
|
||||
<LinkByType/>
|
||||
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
|
||||
<Indexing>DontIndex</Indexing>
|
||||
<FullTextSearch>Use</FullTextSearch>
|
||||
<DataHistory>Use</DataHistory>
|
||||
</Properties>
|
||||
</Attribute>
|
||||
</ChildObjects>
|
||||
</TabularSection>
|
||||
<TabularSection uuid="ad25fde7-2eab-4cf5-a3b9-174008de7522">
|
||||
@ -940,9 +1028,11 @@
|
||||
<Form>ФормаЭлемента</Form>
|
||||
<Form>ФормаСписка</Form>
|
||||
<Form>ФормаВыбора</Form>
|
||||
<Form>ФормаПараметров</Form>
|
||||
<Form>ФормаГруппы</Form>
|
||||
<Form>УсловныйОператор</Form>
|
||||
<Form>ФормаТаблицыЗначений</Form>
|
||||
<Form>ФормаСтруктуры</Form>
|
||||
<Form>ФормаМассива</Form>
|
||||
<Template>НастройкиПоУмолчанию</Template>
|
||||
</ChildObjects>
|
||||
</Catalog>
|
||||
|
@ -20,6 +20,66 @@
|
||||
|
||||
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
|
||||
|
||||
#Область ПрограммныйИнтерфейс
|
||||
|
||||
// Формирует список возможных типов конфигурации.
|
||||
//
|
||||
// Параметры:
|
||||
// СписокДобавленныхТипов - СписокЗначений - список типов, добавленных "вручную".
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// СписокЗначений
|
||||
//
|
||||
Функция СформироватьСписокТипов(СписокДобавленныхТипов = Неопределено) Экспорт
|
||||
|
||||
СписокТипов = Новый СписокЗначений;
|
||||
|
||||
Если СписокДобавленныхТипов <> Неопределено Тогда
|
||||
СписокТипов.ЗагрузитьЗначения(СписокДобавленныхТипов.ВыгрузитьЗначения());
|
||||
КонецЕсли;
|
||||
|
||||
ОписаниеТипаВсеСсылки = __СтандартныеПодсистемыПовтИсп.ОписаниеТипаВсеСсылки();
|
||||
ДоступныеТипыДанных = Новый ОписаниеТипов(ОписаниеТипаВсеСсылки, "ОписаниеТипов");
|
||||
МассивТипов = ДоступныеТипыДанных.Типы();
|
||||
|
||||
НеПримитивныеТипы = Новый СписокЗначений;
|
||||
НеПримитивныеТипы.ЗагрузитьЗначения(МассивТипов);
|
||||
НеПримитивныеТипы.СортироватьПоЗначению(НаправлениеСортировки.Возр);
|
||||
|
||||
СписокТипов.Добавить("Число", НСтр("ru = 'Число'"));
|
||||
СписокТипов.Добавить("Строка", НСтр("ru = 'Строка'"));
|
||||
СписокТипов.Добавить("Дата", НСтр("ru = 'Дата'"));
|
||||
СписокТипов.Добавить("Булево", НСтр("ru = 'Булево'"));
|
||||
СписокТипов.Добавить("ТаблицаЗначений", НСтр("ru = 'Таблица значений'"));
|
||||
СписокТипов.Добавить("СписокЗначений", НСтр("ru = 'Список значений'"));
|
||||
СписокТипов.Добавить("Массив", НСтр("ru = 'Массив'"));
|
||||
СписокТипов.Добавить("Структура", НСтр("ru = 'Структура'"));
|
||||
|
||||
Для каждого Стр Из НеПримитивныеТипы Цикл
|
||||
ЗначениеТипа = XMLТип(Стр.Значение).ИмяТипа;
|
||||
ПредставлениеТипа = Строка(Стр.Значение);
|
||||
СписокТипов.Добавить(ЗначениеТипа, ПредставлениеТипа);
|
||||
КонецЦикла;
|
||||
|
||||
Возврат СписокТипов;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Фильтрует список типов для данного контекста.
|
||||
//
|
||||
// Параметры:
|
||||
// СписокТипов - СписокЗначений - передаваемые типы.
|
||||
// Контекст - Строка
|
||||
//
|
||||
Процедура ФильтрацияСпискаТипов(СписокТипов, Контекст) Экспорт
|
||||
|
||||
Элемент = СписокТипов.НайтиПоЗначению("TypeDescription"); // Тип "Описание типов" удаляется всегда.
|
||||
СписокТипов.Удалить(Элемент);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныйПрограммныйИнтерфейс
|
||||
|
||||
// Обновляет тексты предопределенных элементов справочника пользовательские функции.
|
||||
@ -97,49 +157,220 @@
|
||||
|
||||
// Формирует структуру заголовков для элемента справочника.
|
||||
//
|
||||
Функция ПолучитьНазваниеПодпрограммыСПараметрами(Ссылка) Экспорт
|
||||
// Параметры:
|
||||
// Ссылка - СправочникСсылка.__ПользовательскиеФункции
|
||||
// - Массив - Если передается группа, множественный выбор недоступен.
|
||||
// ЭтоГруппа - Булево - Зависит выполняемый запрос для получения данных.
|
||||
// ВыводитьТелоФункции - Булево - Если установлено Ложь, возможно сформировать описание функции и имя с параметрами.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Массив - коллекция параметров в виде структур,
|
||||
// гарантировано возвращает массив размером равным количеству переданных ссылок.
|
||||
// *Структура -
|
||||
// ** Ключ - Строка - НазваниеСПараметрами, ОписаниеПараметров;
|
||||
// ** Значение - Строка - Содержит описание параметров.
|
||||
//
|
||||
Функция ПолучитьНазваниеПодпрограммыСПараметрами(Ссылка, ЭтоГруппа = Ложь, ВыводитьТелоФункции = Ложь) Экспорт
|
||||
|
||||
// Значения элементов структуры:
|
||||
//
|
||||
// - ЗаголовокФункции: Функция МояФункция(Параметр1, Параметр2).
|
||||
// - НазваниеСПараметрами: МояФункция(Параметр1, Параметр2).
|
||||
// - ОписаниеПараметров: // Типы входных параметров:
|
||||
// // Параметр1 - 'Число'.
|
||||
// // Параметр2 - 'Строка'.
|
||||
СтруктураПараметров = Новый Структура("ЗаголовокФункции, НазваниеСПараметрами, ОписаниеПараметров");
|
||||
|
||||
ТекстНазвания = СтрШаблон("%1(", СокрЛП(Ссылка.Наименование));
|
||||
ТекстКомментария = "// Типы входных параметров: ";
|
||||
Результат = Новый Массив();
|
||||
|
||||
Для Каждого Параметр Из Ссылка.ПараметрыФункции Цикл
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст = ТекстЗапросаИменИТелФункции(ЭтоГруппа, ВыводитьТелоФункции);
|
||||
|
||||
Запрос.УстановитьПараметр("Ссылка", Ссылка);
|
||||
|
||||
РезультатыЗапроса = Запрос.ВыполнитьПакет();
|
||||
|
||||
ВыборкаЭлемент = РезультатыЗапроса[1].Выбрать();
|
||||
ВыборкаСсылка = РезультатыЗапроса[2].Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
|
||||
|
||||
Пока ВыборкаЭлемент.Следующий() Цикл
|
||||
|
||||
ТекстНазвания = ТекстНазвания + СокрЛП(Параметр.Наименование);
|
||||
СтруктураПараметров = Новый Структура("ЗаголовокФункции, НазваниеСПараметрами, ОписаниеПараметров");
|
||||
|
||||
Если Параметр.НеОбязательныйДляЗаполнения Тогда
|
||||
ТекстНазвания = СтрШаблон("%1 = Неопределено", ТекстНазвания);
|
||||
ТипыВходПарам = Новый Массив();
|
||||
ТипыВходПарам.Добавить("// Типы входных параметров:");
|
||||
|
||||
ЧастиИмени = Новый Массив();
|
||||
ЧастиИмени.Добавить(ВыборкаЭлемент.Представление);
|
||||
ЧастиИмени.Добавить("(");
|
||||
|
||||
Если ВыборкаСсылка.НайтиСледующий(ВыборкаЭлемент.Ссылка, "Ссылка") Тогда
|
||||
|
||||
ВыборкаТЧ = ВыборкаСсылка.Выбрать();
|
||||
Пока ВыборкаТЧ.Следующий() Цикл
|
||||
ТипВходПарам = СтрШаблон("// %1 - '%2'", ВыборкаТЧ.ИмяПараметра, ВыборкаТЧ.ТипПараметра);
|
||||
ТипыВходПарам.Добавить(ТипВходПарам);
|
||||
|
||||
Параметр = СокрЛП(ВыборкаТЧ.ИмяПараметра) + ?(ВыборкаТЧ.Необязательный, " = Неопределено", "") +
|
||||
?(ВыборкаТЧ.НомерСтроки <> ВыборкаСсылка.НомерСтроки, ", ", "");
|
||||
ЧастиИмени.Добавить(Параметр);
|
||||
КонецЦикла;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Если ТипЗнч(Ссылка) = Тип("ДанныеФормыСтруктура") Тогда
|
||||
ОписаниеТипаПараметра = "";
|
||||
Иначе
|
||||
ОписаниеТипаПараметра = СокрЛП(Параметр.ТипПараметра.Получить());
|
||||
ТипыВходПарам.Добавить("//");
|
||||
Если ВыводитьТелоФункции Тогда
|
||||
КодПодпрограммы = ПересобратьТелоФункции(ВыборкаЭлемент.КодПодпрограммы);
|
||||
ТипыВходПарам.Добавить(КодПодпрограммы);
|
||||
КонецЕсли;
|
||||
ТекстКомментария = СтрСоединить(ТипыВходПарам, Символы.ПС);
|
||||
|
||||
ТекстКомментария = СтрШаблон("%1%2// %3 - '%4'",
|
||||
ТекстКомментария, Символы.ПС, СокрЛП(Параметр.Наименование), ОписаниеТипаПараметра);
|
||||
ЧастиИмени.Добавить(")");
|
||||
ТекстНазвания = СтрСоединить(ЧастиИмени, "");
|
||||
|
||||
Если Не Параметр.НомерСтроки = Ссылка.ПараметрыФункции.Количество() Тогда
|
||||
ТекстНазвания = СтрШаблон("%1, ", ТекстНазвания);
|
||||
КонецЕсли;
|
||||
СтруктураПараметров.НазваниеСПараметрами = ТекстНазвания;
|
||||
СтруктураПараметров.ОписаниеПараметров = ТекстКомментария;
|
||||
|
||||
Результат.Добавить(СтруктураПараметров);
|
||||
КонецЦикла;
|
||||
|
||||
ТекстНазвания = СтрШаблон("%1)", ТекстНазвания);
|
||||
Возврат Результат;
|
||||
|
||||
СтруктураПараметров.ЗаголовокФункции = СтрШаблон("Функция %1", ТекстНазвания);
|
||||
СтруктураПараметров.НазваниеСПараметрами = ТекстНазвания;
|
||||
СтруктураПараметров.ОписаниеПараметров = ТекстКомментария;
|
||||
КонецФункции
|
||||
|
||||
// Формирует строку, содержащую описание функций.
|
||||
//
|
||||
// Параметры:
|
||||
// Ссылка - СправочникСсылка.__ПользовательскиеФункции
|
||||
// - Массив - Если передается группа, множественный выбор недоступен.
|
||||
// ЭтоГруппа - Булево - Зависит выполняемый запрос для получения данных.
|
||||
// ВыводитьТелоФункции - Булево - Если установлено Ложь, возможно сформировать описание функции и имя с параметрами.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Строка - Сформированное описание Функций, с выводом имени функции, ее параметров и описание типов параметров
|
||||
//
|
||||
Функция СформироватьОписаниеФункций(Ссылка, ЭтоГруппа = Ложь, ВыводитьТелоФункции = Ложь) Экспорт
|
||||
|
||||
Возврат СтруктураПараметров;
|
||||
Результат = Новый Массив();
|
||||
Результат.Добавить(СтрШаблон(НСтр("ru='#В группе: %1';en='#In Group: %1'"), Ссылка));
|
||||
Результат.Добавить(Символы.ВК);
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст = ТекстЗапросаИменИТелФункции(ЭтоГруппа, ВыводитьТелоФункции);
|
||||
|
||||
Запрос.УстановитьПараметр("Ссылка", Ссылка);
|
||||
|
||||
РезультатыЗапроса = Запрос.ВыполнитьПакет();
|
||||
|
||||
ВыборкаЭлемент = РезультатыЗапроса[1].Выбрать();
|
||||
ВыборкаСсылка = РезультатыЗапроса[2].Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
|
||||
|
||||
Пока ВыборкаЭлемент.Следующий() Цикл
|
||||
|
||||
Если ВыборкаЭлемент.ЭтоГруппа Тогда
|
||||
Результат.Добавить(СтрШаблон("Группа: %1", ВыборкаЭлемент.Представление));
|
||||
Результат.Добавить(Символы.ВК);
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
ТипыВходПарам = Новый Массив();
|
||||
ЧастиИмени = Новый Массив();
|
||||
|
||||
ТипыВходПарам.Добавить("// Типы входных параметров:");
|
||||
|
||||
ЧастиИмени.Добавить(СтрШаблон("Функция %1(", ВыборкаЭлемент.Представление));
|
||||
|
||||
Если ВыборкаСсылка.НайтиСледующий(ВыборкаЭлемент.Ссылка, "Ссылка") Тогда
|
||||
|
||||
ВыборкаТЧ = ВыборкаСсылка.Выбрать();
|
||||
Пока ВыборкаТЧ.Следующий() Цикл
|
||||
ТипВходПарам = СтрШаблон("// %1 - '%2'", ВыборкаТЧ.ИмяПараметра, ВыборкаТЧ.ТипПараметра);
|
||||
ТипыВходПарам.Добавить(ТипВходПарам);
|
||||
|
||||
Параметр = СокрЛП(ВыборкаТЧ.ИмяПараметра) + ?(ВыборкаТЧ.Необязательный, " = Неопределено", "") +
|
||||
?(ВыборкаТЧ.НомерСтроки = ВыборкаСсылка.НомерСтроки, "", ", ");
|
||||
ЧастиИмени.Добавить(Параметр);
|
||||
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
ЧастиИмени.Добавить(")");
|
||||
ТипыВходПарам.Добавить("//");
|
||||
|
||||
ИмяПараметрыФункции = СтрСоединить(ЧастиИмени, "");
|
||||
|
||||
ТипыВходПарам.Добавить(ИмяПараметрыФункции);
|
||||
ОсновнойТекст = СтрСоединить(ТипыВходПарам, Символы.ПС);
|
||||
Результат.Добавить(ОсновнойТекст);
|
||||
|
||||
Если ВыводитьТелоФункции Тогда
|
||||
КодПодпрограммы = ПересобратьТелоФункции(ВыборкаЭлемент.КодПодпрограммы);
|
||||
Результат.Добавить(КодПодпрограммы);
|
||||
КонецЕсли;
|
||||
|
||||
Результат.Добавить(Символы.ВК);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Возврат СтрСоединить(Результат, Символы.ПС);
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ТекстЗапросаИменИТелФункции(ЭтоГруппа = Ложь, ВыводитьТелоФункции = Ложь)
|
||||
|
||||
ТекстЗапроса = "ВЫБРАТЬ
|
||||
| __ПользовательскиеФункции.Ссылка КАК Ссылка,
|
||||
| __ПользовательскиеФункции.Представление КАК Представление,
|
||||
| __ПользовательскиеФункции.ЭтоГруппа КАК ЭтоГруппа
|
||||
|ПОМЕСТИТЬ ДанныеЭлемента
|
||||
|ИЗ
|
||||
| Справочник.__ПользовательскиеФункции КАК __ПользовательскиеФункции
|
||||
|ГДЕ
|
||||
| __ПользовательскиеФункции.Ссылка В (&Ссылка)
|
||||
|;
|
||||
|
|
||||
|////////////////////////////////////////////////////////////////////////////////
|
||||
|ВЫБРАТЬ
|
||||
| ДанныеЭлемента.Ссылка КАК Ссылка,
|
||||
| ДанныеЭлемента.Представление КАК Представление,
|
||||
| ДанныеЭлемента.ЭтоГруппа КАК ЭтоГруппа
|
||||
|ИЗ
|
||||
| ДанныеЭлемента КАК ДанныеЭлемента
|
||||
|
|
||||
|УПОРЯДОЧИТЬ ПО
|
||||
| ЭтоГруппа
|
||||
|;
|
||||
|
|
||||
|////////////////////////////////////////////////////////////////////////////////
|
||||
|ВЫБРАТЬ
|
||||
| ТаблицаПараметров.Ссылка КАК Ссылка,
|
||||
| ТаблицаПараметров.НомерСтроки КАК НомерСтроки,
|
||||
| ТаблицаПараметров.Наименование КАК ИмяПараметра,
|
||||
| ТаблицаПараметров.Необязательный КАК Необязательный,
|
||||
| ТаблицаПараметров.Тип КАК ТипПараметра
|
||||
|ИЗ
|
||||
| ДанныеЭлемента КАК ДанныеЭлемента
|
||||
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.__ПользовательскиеФункции.ПараметрыФункции КАК ТаблицаПараметров
|
||||
| ПО ДанныеЭлемента.Ссылка = ТаблицаПараметров.Ссылка
|
||||
|ИТОГИ
|
||||
| МАКСИМУМ(НомерСтроки)
|
||||
|ПО
|
||||
| Ссылка";
|
||||
|
||||
Если ЭтоГруппа Тогда
|
||||
СхемаЗапроса = Новый СхемаЗапроса;
|
||||
СхемаЗапроса.УстановитьТекстЗапроса(ТекстЗапроса);
|
||||
Пакет = __СхемыЗапросов.ЗапросПакетаЗапросов(СхемаЗапроса, 0);
|
||||
Пакет.Операторы[0].Отбор.Установить(0, Новый ВыражениеСхемыЗапроса("__ПользовательскиеФункции.Родитель = &Ссылка"));
|
||||
ТекстЗапроса = СхемаЗапроса.ПолучитьТекстЗапроса();
|
||||
КонецЕсли;
|
||||
|
||||
Если ВыводитьТелоФункции Тогда
|
||||
ТекстЗапроса = __СхемыЗапросов.ДобавитьПолеВыборкиВЗапрос(
|
||||
ТекстЗапроса,
|
||||
"__ПользовательскиеФункции.КодПодпрограммы",
|
||||
"КодПодпрограммы",
|
||||
0);
|
||||
ТекстЗапроса = __СхемыЗапросов.ДобавитьПолеВыборкиВЗапрос(
|
||||
ТекстЗапроса,
|
||||
"ДанныеЭлемента.КодПодпрограммы",
|
||||
"КодПодпрограммы",
|
||||
1);
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ТекстЗапроса;
|
||||
|
||||
КонецФункции
|
||||
|
||||
@ -188,6 +419,19 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ПересобратьТелоФункции(ТелоФункции)
|
||||
|
||||
РазобранныйКод = СтрРазделить(ТелоФункции, Символы.ПС, Ложь);
|
||||
Части = Новый Массив();
|
||||
Для Сч = 0 По РазобранныйКод.ВГраница() Цикл
|
||||
Если ЗначениеЗаполнено(РазобранныйКод[Сч]) Тогда
|
||||
Части.Добавить(РазобранныйКод[Сч]);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
Возврат СтрСоединить(Части, Символы.ПС);
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецЕсли
|
||||
|
@ -120,14 +120,6 @@
|
||||
<ShowTitle>false</ShowTitle>
|
||||
<ExtendedTooltip name="ГруппаОписаниеФункцииРасширеннаяПодсказка" id="45"/>
|
||||
<ChildItems>
|
||||
<InputField name="Описание" id="30">
|
||||
<DataPath>Items.Список.CurrentData.Описание</DataPath>
|
||||
<ReadOnly>true</ReadOnly>
|
||||
<TitleLocation>None</TitleLocation>
|
||||
<MultiLine>true</MultiLine>
|
||||
<ContextMenu name="ОписаниеКонтекстноеМеню" id="31"/>
|
||||
<ExtendedTooltip name="ОписаниеРасширеннаяПодсказка" id="46"/>
|
||||
</InputField>
|
||||
<UsualGroup name="ГруппаШапкаФункции" id="13">
|
||||
<Title>
|
||||
<v8:item>
|
||||
@ -306,6 +298,7 @@
|
||||
</Type>
|
||||
<MainAttribute>true</MainAttribute>
|
||||
<UseAlways>
|
||||
<Field>Список.IsFolder</Field>
|
||||
<Field>Список.Ref</Field>
|
||||
</UseAlways>
|
||||
<Settings xsi:type="DynamicList">
|
||||
|
@ -50,42 +50,18 @@
|
||||
// Ссылка - СправочникСсылка.__ПользовательскиеФункции.
|
||||
//
|
||||
&НаСервере
|
||||
Процедура ПоказатьОписаниеФункцииСервер(Ссылка)
|
||||
Процедура ПоказатьОписаниеФункцииСервер(Ссылка, ЭтоГруппа)
|
||||
|
||||
Если Ссылка.ЭтоГруппа Тогда
|
||||
|
||||
ТекстОписания = СтрШаблон(НСтр("ru='#В группе: %1';en='#In Group: %1'"), Символы.ПС);
|
||||
|
||||
Выборка = Справочники.__ПользовательскиеФункции.Выбрать(Ссылка);
|
||||
Пока Выборка.Следующий() Цикл
|
||||
|
||||
Если Выборка.ЭтоГруппа Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
ОписаниеСКомментариями = СтрЗаменить(СокрЛП(Выборка.Описание), Символы.ПС, СтрШаблон("%1// ", Символы.ПС));
|
||||
Если СокрЛП(Выборка.Описание) = "" Тогда
|
||||
ОписаниеФункции = НСтр("ru='// <нет описания>';en='// <No description>'");
|
||||
Иначе
|
||||
ОписаниеФункции = СтрШаблон("// %1", ОписаниеСКомментариями);
|
||||
КонецЕсли;
|
||||
|
||||
__ОбщегоНазначенияСервер.ДобавитьСтрокуКТексту(ТекстОписания, ОписаниеФункции);
|
||||
СтруктураЗаголовка = Справочники.__ПользовательскиеФункции.ПолучитьНазваниеПодпрограммыСПараметрами(Выборка.Ссылка);
|
||||
__ОбщегоНазначенияСервер.ДобавитьСтрокуКТексту(ТекстОписания, СтруктураЗаголовка.ЗаголовокФункции + Символы.ПС);
|
||||
КонецЦикла;
|
||||
|
||||
ПолеОписания = ТекстОписания;
|
||||
Если ЭтоГруппа Тогда
|
||||
ПолеОписания = Справочники.__ПользовательскиеФункции.СформироватьОписаниеФункций(Ссылка, ЭтоГруппа);
|
||||
Иначе
|
||||
СтруктураЗаголовка = Справочники.__ПользовательскиеФункции.ПолучитьНазваниеПодпрограммыСПараметрами(Ссылка);
|
||||
|
||||
Элементы.ДекорацияНазваниеСПараметрами.Заголовок = СтруктураЗаголовка.НазваниеСПараметрами;
|
||||
ПолеОписания = СтрШаблон("%1%2%3", СтруктураЗаголовка.ОписаниеПараметров, Символы.ПС, СокрЛП(Ссылка.КодПодпрограммы));
|
||||
Результат = Справочники.__ПользовательскиеФункции.ПолучитьНазваниеПодпрограммыСПараметрами(Ссылка, ЭтоГруппа, Истина);
|
||||
Элементы.ДекорацияНазваниеСПараметрами.Заголовок = Результат[0].НазваниеСПараметрами;
|
||||
ПолеОписания = Результат[0].ОписаниеПараметров;
|
||||
КонецЕсли;
|
||||
|
||||
Элементы.Описание.Видимость = Не Ссылка.ЭтоГруппа;
|
||||
Элементы.ГруппаШапкаФункции.Видимость = Не Ссылка.ЭтоГруппа;
|
||||
Элементы.ГруппаПодвалФункции.Видимость = Не Ссылка.ЭтоГруппа;
|
||||
Элементы.ГруппаШапкаФункции.Видимость = Не ЭтоГруппа;
|
||||
Элементы.ГруппаПодвалФункции.Видимость = Не ЭтоГруппа;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@ -94,12 +70,12 @@
|
||||
&НаКлиенте
|
||||
Процедура ПоказатьОписаниеФункции()
|
||||
|
||||
ТекущиеДанные = Элементы.Список.ТекущиеДанные;
|
||||
Если ТекущиеДанные = Неопределено Тогда
|
||||
ТекДанные = Элементы.Список.ТекущиеДанные;
|
||||
Если ТекДанные = Неопределено Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ПоказатьОписаниеФункцииСервер(ТекущиеДанные.Ссылка);
|
||||
ПоказатьОписаниеФункцииСервер(ТекДанные.Ссылка, ТекДанные.ЭтоГруппа);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
@ -1,16 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.16">
|
||||
<Form uuid="98e5b51d-5174-455c-b517-05c96721ba7e">
|
||||
<Form uuid="0456b3fd-91ed-4b7b-becb-06315f20d3b7">
|
||||
<Properties>
|
||||
<Name>ФормаПараметров</Name>
|
||||
<Name>ФормаМассива</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Форма параметров</v8:content>
|
||||
</v8:item>
|
||||
<v8:item>
|
||||
<v8:lang>en</v8:lang>
|
||||
<v8:content>The form of the parameters</v8:content>
|
||||
<v8:content>Форма массива</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
@ -0,0 +1,186 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Form xmlns="http://v8.1c.ru/8.3/xcf/logform" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core" xmlns:dcsset="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.16">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Конструктор "массива"</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<WindowOpeningMode>LockOwnerWindow</WindowOpeningMode>
|
||||
<AutoTitle>false</AutoTitle>
|
||||
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1">
|
||||
<ChildItems>
|
||||
<Button name="ФормаСохранитьРезультат" id="20">
|
||||
<Type>CommandBarButton</Type>
|
||||
<DefaultButton>true</DefaultButton>
|
||||
<CommandName>Form.Command.СохранитьРезультат</CommandName>
|
||||
<ExtendedTooltip name="ФормаСохранитьРезультатРасширеннаяПодсказка" id="21"/>
|
||||
</Button>
|
||||
</ChildItems>
|
||||
</AutoCommandBar>
|
||||
<Events>
|
||||
<Event name="OnCreateAtServer">ПриСозданииНаСервере</Event>
|
||||
<Event name="OnClose">ПриЗакрытии</Event>
|
||||
</Events>
|
||||
<ChildItems>
|
||||
<Table name="Массив" id="22">
|
||||
<Representation>List</Representation>
|
||||
<Header>false</Header>
|
||||
<HorizontalLines>false</HorizontalLines>
|
||||
<VerticalLines>false</VerticalLines>
|
||||
<AutoInsertNewRow>true</AutoInsertNewRow>
|
||||
<DataPath>Массив</DataPath>
|
||||
<RowPictureDataPath>Массив.Picture</RowPictureDataPath>
|
||||
<CommandSet>
|
||||
<ExcludedCommand>Pickup</ExcludedCommand>
|
||||
</CommandSet>
|
||||
<ContextMenu name="МассивКонтекстноеМеню" id="23"/>
|
||||
<AutoCommandBar name="МассивКоманднаяПанель" id="24"/>
|
||||
<ExtendedTooltip name="МассивРасширеннаяПодсказка" id="25"/>
|
||||
<SearchStringAddition name="МассивСтрокаПоиска" id="26">
|
||||
<AdditionSource>
|
||||
<Item>Массив</Item>
|
||||
<Type>SearchStringRepresentation</Type>
|
||||
</AdditionSource>
|
||||
<ContextMenu name="МассивСтрокаПоискаКонтекстноеМеню" id="27"/>
|
||||
<ExtendedTooltip name="МассивСтрокаПоискаРасширеннаяПодсказка" id="28"/>
|
||||
</SearchStringAddition>
|
||||
<ViewStatusAddition name="МассивСостояниеПросмотра" id="29">
|
||||
<AdditionSource>
|
||||
<Item>Массив</Item>
|
||||
<Type>ViewStatusRepresentation</Type>
|
||||
</AdditionSource>
|
||||
<ContextMenu name="МассивСостояниеПросмотраКонтекстноеМеню" id="30"/>
|
||||
<ExtendedTooltip name="МассивСостояниеПросмотраРасширеннаяПодсказка" id="31"/>
|
||||
</ViewStatusAddition>
|
||||
<SearchControlAddition name="МассивУправлениеПоиском" id="32">
|
||||
<AdditionSource>
|
||||
<Item>Массив</Item>
|
||||
<Type>SearchControl</Type>
|
||||
</AdditionSource>
|
||||
<ContextMenu name="МассивУправлениеПоискомКонтекстноеМеню" id="33"/>
|
||||
<ExtendedTooltip name="МассивУправлениеПоискомРасширеннаяПодсказка" id="34"/>
|
||||
</SearchControlAddition>
|
||||
<ChildItems>
|
||||
<InputField name="ЗначениеЭлемента" id="35">
|
||||
<DataPath>Массив.Value</DataPath>
|
||||
<EditMode>EnterOnInput</EditMode>
|
||||
<ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
|
||||
<ContextMenu name="ЗначениеЭлементаКонтекстноеМеню" id="36"/>
|
||||
<ExtendedTooltip name="ЗначениеЭлементаРасширеннаяПодсказка" id="37"/>
|
||||
</InputField>
|
||||
</ChildItems>
|
||||
</Table>
|
||||
</ChildItems>
|
||||
<Attributes>
|
||||
<Attribute name="Структура" id="1">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Структура</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<Type>
|
||||
<v8:Type>v8:ValueTable</v8:Type>
|
||||
</Type>
|
||||
<Columns>
|
||||
<Column name="Ключ" id="1">
|
||||
<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>
|
||||
</Column>
|
||||
<Column name="Значение" id="2">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Значение</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<Type>
|
||||
<v8:Type>xs:boolean</v8:Type>
|
||||
<v8:Type>xs:string</v8:Type>
|
||||
<v8:Type>xs:dateTime</v8:Type>
|
||||
<v8:Type>xs:decimal</v8:Type>
|
||||
<v8:TypeSet>cfg:AnyRef</v8:TypeSet>
|
||||
<v8:NumberQualifiers>
|
||||
<v8:Digits>10</v8:Digits>
|
||||
<v8:FractionDigits>0</v8:FractionDigits>
|
||||
<v8:AllowedSign>Any</v8:AllowedSign>
|
||||
</v8:NumberQualifiers>
|
||||
<v8:StringQualifiers>
|
||||
<v8:Length>0</v8:Length>
|
||||
<v8:AllowedLength>Variable</v8:AllowedLength>
|
||||
</v8:StringQualifiers>
|
||||
<v8:DateQualifiers>
|
||||
<v8:DateFractions>Date</v8:DateFractions>
|
||||
</v8:DateQualifiers>
|
||||
</Type>
|
||||
</Column>
|
||||
</Columns>
|
||||
</Attribute>
|
||||
<Attribute name="АдресЗначения" id="2">
|
||||
<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>
|
||||
<Attribute name="СохранитьРезультат" id="3">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Сохранить результат</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<Type>
|
||||
<v8:Type>xs:boolean</v8:Type>
|
||||
</Type>
|
||||
</Attribute>
|
||||
<Attribute name="Массив" id="4">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Массив</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<Type>
|
||||
<v8:Type>v8:ValueListType</v8:Type>
|
||||
</Type>
|
||||
</Attribute>
|
||||
</Attributes>
|
||||
<Commands>
|
||||
<Command name="СохранитьРезультат" id="1">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>ОК</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<ToolTip>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Сохранить результат</v8:content>
|
||||
</v8:item>
|
||||
</ToolTip>
|
||||
<Action>СохранитьРезультат</Action>
|
||||
</Command>
|
||||
</Commands>
|
||||
</Form>
|
@ -0,0 +1,85 @@
|
||||
// Библиотека проектных подсистем для упрощения разработки архитектуры на 1С: Предприятие 8,
|
||||
// включая доработку типовых конфигураций.
|
||||
//
|
||||
// Copyright First BIT company
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
// URL: https://github.com/firstBitSportivnaya/PSSL/
|
||||
//
|
||||
|
||||
#Область ОбработчикиСобытийФормы
|
||||
|
||||
&НаСервере
|
||||
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
|
||||
|
||||
Если Параметры.Свойство("АдресЗначения", АдресЗначения) Тогда
|
||||
Значение = ПолучитьИзВременногоХранилища(АдресЗначения);
|
||||
Если Значение <> Неопределено Тогда
|
||||
Массив.ЗагрузитьЗначения(Значение);
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПриЗакрытии(ЗавершениеРаботы)
|
||||
|
||||
Если ЗавершениеРаботы Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если СохранитьРезультат Тогда
|
||||
Адрес = АдресМассиваВХранилище();
|
||||
ОповеститьОВыборе(Новый Структура("Адрес", Адрес));
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ОбработчикиКомандФормы
|
||||
|
||||
&НаКлиенте
|
||||
Процедура СохранитьРезультат(Команда)
|
||||
СохранитьРезультат = Истина;
|
||||
Закрыть();
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
&НаСервереБезКонтекста
|
||||
Процедура ОчиститьНеиспользуемыеНастройки(Адрес)
|
||||
УдалитьИзВременногоХранилища(Адрес);
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Функция АдресМассиваВХранилище()
|
||||
|
||||
Адрес = "";
|
||||
Если ЗначениеЗаполнено(Массив) Тогда
|
||||
Результат = Массив.ВыгрузитьЗначения();
|
||||
// Если коллекция помещена в хранилище перезапишем в тот же адрес
|
||||
УИД = ?(ПустаяСтрока(АдресЗначения), Новый УникальныйИдентификатор, АдресЗначения);
|
||||
Адрес = ПоместитьВоВременноеХранилище(Результат, УИД);
|
||||
Иначе
|
||||
ОчиститьНеиспользуемыеНастройки(АдресЗначения);
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Адрес;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
@ -1,210 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Form xmlns="http://v8.1c.ru/8.3/xcf/logform" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core" xmlns:dcsset="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.16">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Форма заполнения параметров</v8:content>
|
||||
</v8:item>
|
||||
<v8:item>
|
||||
<v8:lang>en</v8:lang>
|
||||
<v8:content>Form of filling-in the parameters</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<AutoTitle>false</AutoTitle>
|
||||
<CommandBarLocation>Bottom</CommandBarLocation>
|
||||
<VerticalScroll>useIfNecessary</VerticalScroll>
|
||||
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1">
|
||||
<HorizontalAlign>Right</HorizontalAlign>
|
||||
<Autofill>false</Autofill>
|
||||
<ChildItems>
|
||||
<Button name="ФормаОК" id="8">
|
||||
<Type>CommandBarButton</Type>
|
||||
<DefaultButton>true</DefaultButton>
|
||||
<CommandName>Form.Command.ОК</CommandName>
|
||||
<ExtendedTooltip name="ФормаОКРасширеннаяПодсказка" id="10"/>
|
||||
</Button>
|
||||
<Button name="ФормаЗакрыть" id="9">
|
||||
<Type>CommandBarButton</Type>
|
||||
<Representation>PictureAndText</Representation>
|
||||
<CommandName>Form.StandardCommand.Close</CommandName>
|
||||
<ExtendedTooltip name="ФормаЗакрытьРасширеннаяПодсказка" id="11"/>
|
||||
</Button>
|
||||
</ChildItems>
|
||||
</AutoCommandBar>
|
||||
<Events>
|
||||
<Event name="OnCreateAtServer">ПриСозданииНаСервере</Event>
|
||||
</Events>
|
||||
<ChildItems>
|
||||
<Table name="ТаблицаПараметров" id="1">
|
||||
<Representation>List</Representation>
|
||||
<CommandBarLocation>None</CommandBarLocation>
|
||||
<ChangeRowSet>false</ChangeRowSet>
|
||||
<ChangeRowOrder>false</ChangeRowOrder>
|
||||
<AutoInsertNewRow>true</AutoInsertNewRow>
|
||||
<EnableStartDrag>true</EnableStartDrag>
|
||||
<EnableDrag>true</EnableDrag>
|
||||
<FileDragMode>AsFile</FileDragMode>
|
||||
<DataPath>ТаблицаПараметров</DataPath>
|
||||
<SearchStringLocation>None</SearchStringLocation>
|
||||
<ViewStatusLocation>None</ViewStatusLocation>
|
||||
<SearchControlLocation>None</SearchControlLocation>
|
||||
<RowFilter xsi:nil="true"/>
|
||||
<ContextMenu name="ТаблицаПараметровКонтекстноеМеню" id="2"/>
|
||||
<AutoCommandBar name="ТаблицаПараметровКоманднаяПанель" id="3"/>
|
||||
<ExtendedTooltip name="ТаблицаПараметровРасширеннаяПодсказка" id="12"/>
|
||||
<SearchStringAddition name="ТаблицаПараметровСтрокаПоиска" id="13">
|
||||
<AdditionSource>
|
||||
<Item>ТаблицаПараметров</Item>
|
||||
<Type>SearchStringRepresentation</Type>
|
||||
</AdditionSource>
|
||||
<ContextMenu name="ТаблицаПараметровСтрокаПоискаКонтекстноеМеню" id="14"/>
|
||||
<ExtendedTooltip name="ТаблицаПараметровСтрокаПоискаРасширеннаяПодсказка" id="15"/>
|
||||
</SearchStringAddition>
|
||||
<ViewStatusAddition name="ТаблицаПараметровСостояниеПросмотра" id="16">
|
||||
<AdditionSource>
|
||||
<Item>ТаблицаПараметров</Item>
|
||||
<Type>ViewStatusRepresentation</Type>
|
||||
</AdditionSource>
|
||||
<ContextMenu name="ТаблицаПараметровСостояниеПросмотраКонтекстноеМеню" id="17"/>
|
||||
<ExtendedTooltip name="ТаблицаПараметровСостояниеПросмотраРасширеннаяПодсказка" id="18"/>
|
||||
</ViewStatusAddition>
|
||||
<SearchControlAddition name="ТаблицаПараметровУправлениеПоиском" id="19">
|
||||
<AdditionSource>
|
||||
<Item>ТаблицаПараметров</Item>
|
||||
<Type>SearchControl</Type>
|
||||
</AdditionSource>
|
||||
<ContextMenu name="ТаблицаПараметровУправлениеПоискомКонтекстноеМеню" id="20"/>
|
||||
<ExtendedTooltip name="ТаблицаПараметровУправлениеПоискомРасширеннаяПодсказка" id="21"/>
|
||||
</SearchControlAddition>
|
||||
<ChildItems>
|
||||
<InputField name="ТаблицаПараметровПараметр" id="4">
|
||||
<DataPath>ТаблицаПараметров.Параметр</DataPath>
|
||||
<ReadOnly>true</ReadOnly>
|
||||
<EditMode>EnterOnInput</EditMode>
|
||||
<Width>24</Width>
|
||||
<ContextMenu name="ТаблицаПараметровПараметрКонтекстноеМеню" id="5"/>
|
||||
<ExtendedTooltip name="ТаблицаПараметровПараметрРасширеннаяПодсказка" id="22"/>
|
||||
</InputField>
|
||||
<InputField name="ТаблицаПараметровЗначение" id="6">
|
||||
<DataPath>ТаблицаПараметров.Значение</DataPath>
|
||||
<EditMode>EnterOnInput</EditMode>
|
||||
<ClearButton>true</ClearButton>
|
||||
<ContextMenu name="ТаблицаПараметровЗначениеКонтекстноеМеню" id="7"/>
|
||||
<ExtendedTooltip name="ТаблицаПараметровЗначениеРасширеннаяПодсказка" id="23"/>
|
||||
<Events>
|
||||
<Event name="StartChoice">ТаблицаПараметровЗначениеНачалоВыбора</Event>
|
||||
<Event name="Clearing">ТаблицаПараметровЗначениеОчистка</Event>
|
||||
</Events>
|
||||
</InputField>
|
||||
</ChildItems>
|
||||
</Table>
|
||||
</ChildItems>
|
||||
<Attributes>
|
||||
<Attribute name="ТаблицаПараметров" id="1">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Таблица параметров</v8:content>
|
||||
</v8:item>
|
||||
<v8:item>
|
||||
<v8:lang>en</v8:lang>
|
||||
<v8:content>Parameters Table</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<Type>
|
||||
<v8:Type>v8:ValueTable</v8:Type>
|
||||
</Type>
|
||||
<Columns>
|
||||
<Column name="Параметр" id="1">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Параметр</v8:content>
|
||||
</v8:item>
|
||||
<v8:item>
|
||||
<v8:lang>en</v8:lang>
|
||||
<v8:content>Parameter</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<Type>
|
||||
<v8:Type>xs:string</v8:Type>
|
||||
<v8:StringQualifiers>
|
||||
<v8:Length>50</v8:Length>
|
||||
<v8:AllowedLength>Variable</v8:AllowedLength>
|
||||
</v8:StringQualifiers>
|
||||
</Type>
|
||||
</Column>
|
||||
<Column name="Значение" id="2">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Значение</v8:content>
|
||||
</v8:item>
|
||||
<v8:item>
|
||||
<v8:lang>en</v8:lang>
|
||||
<v8:content>Value</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<Type>
|
||||
<v8:Type>xs:boolean</v8:Type>
|
||||
<v8:Type>xs:string</v8:Type>
|
||||
<v8:Type>xs:dateTime</v8:Type>
|
||||
<v8:Type>xs:decimal</v8:Type>
|
||||
<v8:TypeSet>cfg:AnyRef</v8:TypeSet>
|
||||
<v8:NumberQualifiers>
|
||||
<v8:Digits>10</v8:Digits>
|
||||
<v8:FractionDigits>0</v8:FractionDigits>
|
||||
<v8:AllowedSign>Any</v8:AllowedSign>
|
||||
</v8:NumberQualifiers>
|
||||
<v8:StringQualifiers>
|
||||
<v8:Length>0</v8:Length>
|
||||
<v8:AllowedLength>Variable</v8:AllowedLength>
|
||||
</v8:StringQualifiers>
|
||||
<v8:DateQualifiers>
|
||||
<v8:DateFractions>Date</v8:DateFractions>
|
||||
</v8:DateQualifiers>
|
||||
</Type>
|
||||
</Column>
|
||||
</Columns>
|
||||
</Attribute>
|
||||
<Attribute name="фКэшЗначений" id="2">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Ф кэш значений</v8:content>
|
||||
</v8:item>
|
||||
<v8:item>
|
||||
<v8:lang>en</v8:lang>
|
||||
<v8:content>F values cache</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<Type/>
|
||||
</Attribute>
|
||||
</Attributes>
|
||||
<Commands>
|
||||
<Command name="ОК" id="1">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>ОК</v8:content>
|
||||
</v8:item>
|
||||
<v8:item>
|
||||
<v8:lang>en</v8:lang>
|
||||
<v8:content>OK</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<ToolTip>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>ОК</v8:content>
|
||||
</v8:item>
|
||||
<v8:item>
|
||||
<v8:lang>en</v8:lang>
|
||||
<v8:content>OK</v8:content>
|
||||
</v8:item>
|
||||
</ToolTip>
|
||||
<Action>ОК</Action>
|
||||
<CurrentRowUse>DontUse</CurrentRowUse>
|
||||
</Command>
|
||||
</Commands>
|
||||
</Form>
|
@ -1,133 +0,0 @@
|
||||
// Библиотека проектных подсистем для упрощения разработки архитектуры на 1С: Предприятие 8,
|
||||
// включая доработку типовых конфигураций.
|
||||
//
|
||||
// Copyright First BIT company
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
// URL: https://github.com/firstBitSportivnaya/PSSL/
|
||||
//
|
||||
|
||||
#Область ОбработчикиСобытийФормы
|
||||
|
||||
&НаСервере
|
||||
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
|
||||
|
||||
ПараметрыФункции = Параметры.ПараметрыФункции;
|
||||
ЗначенияПараметров = Параметры.ЗначенияПараметров;
|
||||
|
||||
ТаблицаПараметров.Очистить();
|
||||
|
||||
Для Каждого Параметр Из ПараметрыФункции Цикл
|
||||
|
||||
ОписаниеТипа = Новый ОписаниеТипов(Параметр.фТипПараметра);
|
||||
|
||||
Стр = ЗначенияПараметров.Получить(Параметр.Наименование);
|
||||
Если Стр = Неопределено Тогда
|
||||
|
||||
НоваяСтрока = ТаблицаПараметров.Добавить();
|
||||
НоваяСтрока.Параметр = Параметр.Наименование;
|
||||
НоваяСтрока.Значение = ОписаниеТипа.ПривестиЗначение();
|
||||
Иначе
|
||||
|
||||
НоваяСтрока = ТаблицаПараметров.Добавить();
|
||||
НоваяСтрока.Параметр = Параметр.Наименование;
|
||||
|
||||
МассивТиповЗначения = Новый Массив;
|
||||
МассивТиповЗначения.Добавить(ТипЗнч(Стр));
|
||||
|
||||
ОписаниеТипаЗначения = Новый ОписаниеТипов(МассивТиповЗначения);
|
||||
|
||||
Если ОписаниеТипа = ОписаниеТипаЗначения Тогда
|
||||
НоваяСтрока.Значение = Стр;
|
||||
Иначе
|
||||
НоваяСтрока.Значение = ОписаниеТипа.ПривестиЗначение();
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
ЗаполнитьКэшЗначений(фКэшЗначений);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ОбработчикиСобытийЭлементовТаблицыФормыТаблицаПараметров
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ТаблицаПараметровЗначениеНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
|
||||
|
||||
ТекущиеДанные = Элементы.ТаблицаПараметров.ТекущиеДанные;
|
||||
Если ТекущиеДанные = Неопределено Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
СписокВыбора = фКэшЗначений.ДоступныеТипыЗначенияПараметра;
|
||||
__РаботаСДиалогамиКлиент.НачалоВыбораСоставного(
|
||||
ЭтотОбъект, Элемент, ТекущиеДанные, "Значение", СписокВыбора, СтандартнаяОбработка);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ТаблицаПараметровЗначениеОчистка(Элемент, СтандартнаяОбработка)
|
||||
|
||||
Элементы.ТаблицаПараметровЗначение.ВыбиратьТип = Истина;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ОбработчикиКомандФормы
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ОК(Команда)
|
||||
|
||||
ВернутьПараметрыИЗакрыть();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
&НаСервере
|
||||
Процедура ЗаполнитьКэшЗначений(КэшированныеЗначения)
|
||||
|
||||
КэшированныеЗначения = Новый Структура;
|
||||
|
||||
МассивТипов = ТаблицаПараметров.Выгрузить().Колонки.Значение.ТипЗначения.Типы();
|
||||
СписокТипов = __ОбщегоНазначенияСервер.ПодготовитьСписокВыбораТипа(МассивТипов);
|
||||
|
||||
КэшированныеЗначения.Вставить("ДоступныеТипыЗначенияПараметра", СписокТипов);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ВернутьПараметрыИЗакрыть(ПараметрыФормы = Ложь)
|
||||
|
||||
СоответствиеПараметров = Неопределено;
|
||||
|
||||
Если Не ПараметрыФормы Тогда
|
||||
|
||||
СоответствиеПараметров = Новый Соответствие;
|
||||
Для Каждого Параметр Из ТаблицаПараметров Цикл
|
||||
СоответствиеПараметров.Вставить(Параметр.Параметр, Параметр.Значение);
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
Закрыть(СоответствиеПараметров);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
@ -133,14 +133,6 @@
|
||||
<ShowTitle>false</ShowTitle>
|
||||
<ExtendedTooltip name="ГруппаОписаниеФункцииРасширеннаяПодсказка" id="43"/>
|
||||
<ChildItems>
|
||||
<InputField name="Описание" id="28">
|
||||
<DataPath>Items.Список.CurrentData.Описание</DataPath>
|
||||
<ReadOnly>true</ReadOnly>
|
||||
<TitleLocation>None</TitleLocation>
|
||||
<MultiLine>true</MultiLine>
|
||||
<ContextMenu name="ОписаниеКонтекстноеМеню" id="29"/>
|
||||
<ExtendedTooltip name="ОписаниеРасширеннаяПодсказка" id="44"/>
|
||||
</InputField>
|
||||
<UsualGroup name="ГруппаШапкаФункции" id="16">
|
||||
<Title>
|
||||
<v8:item>
|
||||
@ -318,6 +310,7 @@
|
||||
</Type>
|
||||
<MainAttribute>true</MainAttribute>
|
||||
<UseAlways>
|
||||
<Field>Список.IsFolder</Field>
|
||||
<Field>Список.Ref</Field>
|
||||
</UseAlways>
|
||||
<Settings xsi:type="DynamicList">
|
||||
|
@ -50,42 +50,18 @@
|
||||
// Ссылка - СправочникСсылка.__ПользовательскиеФункции.
|
||||
//
|
||||
&НаСервере
|
||||
Процедура ПоказатьОписаниеФункцииСервер(Ссылка)
|
||||
Процедура ПоказатьОписаниеФункцииСервер(Ссылка, ЭтоГруппа)
|
||||
|
||||
Если Ссылка.ЭтоГруппа Тогда
|
||||
|
||||
ТекстОписания = СтрШаблон(НСтр("ru='#В группе: %1';en='#In Group: %1'"), Символы.ПС);
|
||||
|
||||
Выборка = Справочники.__ПользовательскиеФункции.Выбрать(Ссылка);
|
||||
Пока Выборка.Следующий() Цикл
|
||||
|
||||
Если Выборка.ЭтоГруппа Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
ОписаниеСКомментариями = СтрЗаменить(СокрЛП(Выборка.Описание), Символы.ПС, СтрШаблон("%1// ", Символы.ПС));
|
||||
Если СокрЛП(Выборка.Описание) = "" Тогда
|
||||
ОписаниеФункции = НСтр("ru='// <нет описания>';en='// <No description>'");
|
||||
Иначе
|
||||
ОписаниеФункции = СтрШаблон("// %1", ОписаниеСКомментариями);
|
||||
КонецЕсли;
|
||||
|
||||
__ОбщегоНазначенияСервер.ДобавитьСтрокуКТексту(ТекстОписания, ОписаниеФункции);
|
||||
СтруктураЗаголовка = Справочники.__ПользовательскиеФункции.ПолучитьНазваниеПодпрограммыСПараметрами(Выборка.Ссылка);
|
||||
__ОбщегоНазначенияСервер.ДобавитьСтрокуКТексту(ТекстОписания, СтруктураЗаголовка.ЗаголовокФункции + Символы.ПС);
|
||||
КонецЦикла;
|
||||
|
||||
ПолеОписания = ТекстОписания;
|
||||
Если ЭтоГруппа Тогда
|
||||
ПолеОписания = Справочники.__ПользовательскиеФункции.СформироватьОписаниеФункций(Ссылка, ЭтоГруппа);
|
||||
Иначе
|
||||
СтруктураЗаголовка = Справочники.__ПользовательскиеФункции.ПолучитьНазваниеПодпрограммыСПараметрами(Ссылка);
|
||||
|
||||
Элементы.ДекорацияНазваниеСПараметрами.Заголовок = СтруктураЗаголовка.НазваниеСПараметрами;
|
||||
ПолеОписания = СтрШаблон("%1%2%3", СтруктураЗаголовка.ОписаниеПараметров, Символы.ПС, СокрЛП(Ссылка.КодПодпрограммы));
|
||||
Результат = Справочники.__ПользовательскиеФункции.ПолучитьНазваниеПодпрограммыСПараметрами(Ссылка, ЭтоГруппа, Истина);
|
||||
Элементы.ДекорацияНазваниеСПараметрами.Заголовок = Результат[0].НазваниеСПараметрами;
|
||||
ПолеОписания = Результат[0].ОписаниеПараметров;
|
||||
КонецЕсли;
|
||||
|
||||
Элементы.Описание.Видимость = Не Ссылка.ЭтоГруппа;
|
||||
Элементы.ГруппаШапкаФункции.Видимость = Не Ссылка.ЭтоГруппа;
|
||||
Элементы.ГруппаПодвалФункции.Видимость = Не Ссылка.ЭтоГруппа;
|
||||
Элементы.ГруппаШапкаФункции.Видимость = Не ЭтоГруппа;
|
||||
Элементы.ГруппаПодвалФункции.Видимость = Не ЭтоГруппа;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@ -99,7 +75,7 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ПоказатьОписаниеФункцииСервер(ТекущиеДанные.Ссылка);
|
||||
ПоказатьОписаниеФункцииСервер(ТекущиеДанные.Ссылка, ТекущиеДанные.ЭтоГруппа);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
@ -0,0 +1,21 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.16">
|
||||
<Form uuid="5a53935f-59f2-4d7e-88af-48f30e135e8f">
|
||||
<Properties>
|
||||
<Name>ФормаСтруктуры</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Форма структуры</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
<FormType>Managed</FormType>
|
||||
<IncludeHelpInContents>false</IncludeHelpInContents>
|
||||
<UsePurposes>
|
||||
<v8:Value xsi:type="app:ApplicationUsePurpose">PlatformApplication</v8:Value>
|
||||
<v8:Value xsi:type="app:ApplicationUsePurpose">MobilePlatformApplication</v8:Value>
|
||||
</UsePurposes>
|
||||
</Properties>
|
||||
</Form>
|
||||
</MetaDataObject>
|
@ -0,0 +1,181 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Form xmlns="http://v8.1c.ru/8.3/xcf/logform" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core" xmlns:dcsset="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.16">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Конструктор "структуры"</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<WindowOpeningMode>LockOwnerWindow</WindowOpeningMode>
|
||||
<AutoTitle>false</AutoTitle>
|
||||
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1">
|
||||
<ChildItems>
|
||||
<Button name="ФормаСохранитьРезультат" id="20">
|
||||
<Type>CommandBarButton</Type>
|
||||
<DefaultButton>true</DefaultButton>
|
||||
<CommandName>Form.Command.СохранитьРезультат</CommandName>
|
||||
<ExtendedTooltip name="ФормаСохранитьРезультатРасширеннаяПодсказка" id="21"/>
|
||||
</Button>
|
||||
</ChildItems>
|
||||
</AutoCommandBar>
|
||||
<Events>
|
||||
<Event name="OnCreateAtServer">ПриСозданииНаСервере</Event>
|
||||
<Event name="OnClose">ПриЗакрытии</Event>
|
||||
</Events>
|
||||
<ChildItems>
|
||||
<Table name="Структура" id="1">
|
||||
<Representation>List</Representation>
|
||||
<AutoInsertNewRow>true</AutoInsertNewRow>
|
||||
<EnableStartDrag>true</EnableStartDrag>
|
||||
<EnableDrag>true</EnableDrag>
|
||||
<DataPath>Структура</DataPath>
|
||||
<RowFilter xsi:nil="true"/>
|
||||
<ContextMenu name="СтруктураКонтекстноеМеню" id="2"/>
|
||||
<AutoCommandBar name="СтруктураКоманднаяПанель" id="3"/>
|
||||
<ExtendedTooltip name="СтруктураРасширеннаяПодсказка" id="4"/>
|
||||
<SearchStringAddition name="СтруктураСтрокаПоиска" id="5">
|
||||
<AdditionSource>
|
||||
<Item>Структура</Item>
|
||||
<Type>SearchStringRepresentation</Type>
|
||||
</AdditionSource>
|
||||
<ContextMenu name="СтруктураСтрокаПоискаКонтекстноеМеню" id="6"/>
|
||||
<ExtendedTooltip name="СтруктураСтрокаПоискаРасширеннаяПодсказка" id="7"/>
|
||||
</SearchStringAddition>
|
||||
<ViewStatusAddition name="СтруктураСостояниеПросмотра" id="8">
|
||||
<AdditionSource>
|
||||
<Item>Структура</Item>
|
||||
<Type>ViewStatusRepresentation</Type>
|
||||
</AdditionSource>
|
||||
<ContextMenu name="СтруктураСостояниеПросмотраКонтекстноеМеню" id="9"/>
|
||||
<ExtendedTooltip name="СтруктураСостояниеПросмотраРасширеннаяПодсказка" id="10"/>
|
||||
</ViewStatusAddition>
|
||||
<SearchControlAddition name="СтруктураУправлениеПоиском" id="11">
|
||||
<AdditionSource>
|
||||
<Item>Структура</Item>
|
||||
<Type>SearchControl</Type>
|
||||
</AdditionSource>
|
||||
<ContextMenu name="СтруктураУправлениеПоискомКонтекстноеМеню" id="12"/>
|
||||
<ExtendedTooltip name="СтруктураУправлениеПоискомРасширеннаяПодсказка" id="13"/>
|
||||
</SearchControlAddition>
|
||||
<ChildItems>
|
||||
<InputField name="СтруктураКлюч" id="14">
|
||||
<DataPath>Структура.Ключ</DataPath>
|
||||
<EditMode>EnterOnInput</EditMode>
|
||||
<ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
|
||||
<ContextMenu name="СтруктураКлючКонтекстноеМеню" id="15"/>
|
||||
<ExtendedTooltip name="СтруктураКлючРасширеннаяПодсказка" id="16"/>
|
||||
<Events>
|
||||
<Event name="OnChange">СтруктураКлючПриИзменении</Event>
|
||||
</Events>
|
||||
</InputField>
|
||||
<InputField name="СтруктураЗначение" id="17">
|
||||
<DataPath>Структура.Значение</DataPath>
|
||||
<EditMode>EnterOnInput</EditMode>
|
||||
<ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
|
||||
<ContextMenu name="СтруктураЗначениеКонтекстноеМеню" id="18"/>
|
||||
<ExtendedTooltip name="СтруктураЗначениеРасширеннаяПодсказка" id="19"/>
|
||||
</InputField>
|
||||
</ChildItems>
|
||||
</Table>
|
||||
</ChildItems>
|
||||
<Attributes>
|
||||
<Attribute name="Структура" id="1">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Структура</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<Type>
|
||||
<v8:Type>v8:ValueTable</v8:Type>
|
||||
</Type>
|
||||
<Columns>
|
||||
<Column name="Ключ" id="1">
|
||||
<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>
|
||||
</Column>
|
||||
<Column name="Значение" id="2">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Значение</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<Type>
|
||||
<v8:Type>xs:boolean</v8:Type>
|
||||
<v8:Type>xs:string</v8:Type>
|
||||
<v8:Type>xs:dateTime</v8:Type>
|
||||
<v8:Type>xs:decimal</v8:Type>
|
||||
<v8:TypeSet>cfg:AnyRef</v8:TypeSet>
|
||||
<v8:NumberQualifiers>
|
||||
<v8:Digits>10</v8:Digits>
|
||||
<v8:FractionDigits>0</v8:FractionDigits>
|
||||
<v8:AllowedSign>Any</v8:AllowedSign>
|
||||
</v8:NumberQualifiers>
|
||||
<v8:StringQualifiers>
|
||||
<v8:Length>0</v8:Length>
|
||||
<v8:AllowedLength>Variable</v8:AllowedLength>
|
||||
</v8:StringQualifiers>
|
||||
<v8:DateQualifiers>
|
||||
<v8:DateFractions>Date</v8:DateFractions>
|
||||
</v8:DateQualifiers>
|
||||
</Type>
|
||||
</Column>
|
||||
</Columns>
|
||||
</Attribute>
|
||||
<Attribute name="АдресЗначения" id="2">
|
||||
<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>
|
||||
<Attribute name="СохранитьРезультат" id="3">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Сохранить результат</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<Type>
|
||||
<v8:Type>xs:boolean</v8:Type>
|
||||
</Type>
|
||||
</Attribute>
|
||||
</Attributes>
|
||||
<Commands>
|
||||
<Command name="СохранитьРезультат" id="1">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>ОК</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<ToolTip>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Сохранить результат</v8:content>
|
||||
</v8:item>
|
||||
</ToolTip>
|
||||
<Action>СохранитьРезультат</Action>
|
||||
</Command>
|
||||
</Commands>
|
||||
</Form>
|
@ -0,0 +1,108 @@
|
||||
// Библиотека проектных подсистем для упрощения разработки архитектуры на 1С: Предприятие 8,
|
||||
// включая доработку типовых конфигураций.
|
||||
//
|
||||
// Copyright First BIT company
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
// URL: https://github.com/firstBitSportivnaya/PSSL/
|
||||
//
|
||||
|
||||
#Область ОбработчикиСобытийФормы
|
||||
|
||||
&НаСервере
|
||||
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
|
||||
|
||||
Если Параметры.Свойство("АдресЗначения", АдресЗначения) Тогда
|
||||
Значение = ПолучитьИзВременногоХранилища(АдресЗначения);
|
||||
Если Значение <> Неопределено Тогда
|
||||
Для Каждого Пара Из Значение Цикл
|
||||
нСтрока = Структура.Добавить();
|
||||
ЗаполнитьЗначенияСвойств(нСтрока, Пара);
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПриЗакрытии(ЗавершениеРаботы)
|
||||
|
||||
Если ЗавершениеРаботы Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если СохранитьРезультат Тогда
|
||||
Адрес = АдресСтруктурыВХранилище();
|
||||
ОповеститьОВыборе(Новый Структура("Адрес", Адрес));
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ОбработчикиСобытийЭлементовТаблицыФормыСтруктура
|
||||
|
||||
&НаКлиенте
|
||||
Процедура СтруктураКлючПриИзменении(Элемент)
|
||||
ТекДанные = Элементы.Структура.ТекущиеДанные;
|
||||
Если ЗначениеЗаполнено(ТекДанные.Ключ) Тогда
|
||||
Результат = СтрЗаменить(ТекДанные.Ключ, " ", "");
|
||||
Пока __ОбщегоНазначенияСлужебныйКлиентСервер.ЭтоЧисло(Сред(Результат,1,1)) Цикл
|
||||
Результат = Прав(Результат, СтрДлина(Результат) - 1);
|
||||
КонецЦикла;
|
||||
__ОбщегоНазначенияКлиентСервер.УдалитьНедопустимыеСимволы(Результат);
|
||||
ТекДанные.Ключ = Результат;
|
||||
КонецЕсли;
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ОбработчикиКомандФормы
|
||||
|
||||
&НаКлиенте
|
||||
Процедура СохранитьРезультат(Команда)
|
||||
СохранитьРезультат = Истина;
|
||||
Закрыть();
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
&НаСервереБезКонтекста
|
||||
Процедура ОчиститьНеиспользуемыеНастройки(Адрес)
|
||||
УдалитьИзВременногоХранилища(Адрес);
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Функция АдресСтруктурыВХранилище()
|
||||
|
||||
Адрес = "";
|
||||
|
||||
Если ЗначениеЗаполнено(Структура) Тогда
|
||||
Результат = Новый Структура;
|
||||
Для Каждого Пара Из Структура Цикл
|
||||
Результат.Вставить(Пара.Ключ, Пара.Значение);
|
||||
КонецЦикла;
|
||||
УИД = ?(ПустаяСтрока(АдресЗначения), Новый УникальныйИдентификатор, АдресЗначения);
|
||||
Адрес = ПоместитьВоВременноеХранилище(Результат, УИД);
|
||||
Иначе
|
||||
ОчиститьНеиспользуемыеНастройки(АдресЗначения);
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Адрес;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
@ -0,0 +1,21 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.16">
|
||||
<Form uuid="16043b2f-cf1a-43cb-8e07-64499c1d5992">
|
||||
<Properties>
|
||||
<Name>ФормаТаблицыЗначений</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Форма таблицы значений</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
<FormType>Managed</FormType>
|
||||
<IncludeHelpInContents>false</IncludeHelpInContents>
|
||||
<UsePurposes>
|
||||
<v8:Value xsi:type="app:ApplicationUsePurpose">PlatformApplication</v8:Value>
|
||||
<v8:Value xsi:type="app:ApplicationUsePurpose">MobilePlatformApplication</v8:Value>
|
||||
</UsePurposes>
|
||||
</Properties>
|
||||
</Form>
|
||||
</MetaDataObject>
|
@ -0,0 +1,257 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Form xmlns="http://v8.1c.ru/8.3/xcf/logform" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core" xmlns:dcsset="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.16">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Конструктор "таблицы значений"</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<WindowOpeningMode>LockOwnerWindow</WindowOpeningMode>
|
||||
<AutoTitle>false</AutoTitle>
|
||||
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1">
|
||||
<ChildItems>
|
||||
<Button name="ФормаСохранитьРезультат" id="37">
|
||||
<Type>CommandBarButton</Type>
|
||||
<DefaultButton>true</DefaultButton>
|
||||
<CommandName>Form.Command.СохранитьРезультат</CommandName>
|
||||
<ExtendedTooltip name="ФормаСохранитьРезультатРасширеннаяПодсказка" id="38"/>
|
||||
</Button>
|
||||
</ChildItems>
|
||||
</AutoCommandBar>
|
||||
<Events>
|
||||
<Event name="OnCreateAtServer">ПриСозданииНаСервере</Event>
|
||||
<Event name="OnClose">ПриЗакрытии</Event>
|
||||
</Events>
|
||||
<ChildItems>
|
||||
<Button name="ФормаПоказатьКолонкиСтроки" id="33">
|
||||
<Type>UsualButton</Type>
|
||||
<CommandName>Form.Command.ПоказатьКолонкиСтроки</CommandName>
|
||||
<ExtendedTooltip name="ФормаПоказатьКолонкиСтрокиРасширеннаяПодсказка" id="34"/>
|
||||
</Button>
|
||||
<Table name="КолонкиТаблицыЗначений" id="1">
|
||||
<Representation>List</Representation>
|
||||
<AutoInsertNewRow>true</AutoInsertNewRow>
|
||||
<EnableStartDrag>true</EnableStartDrag>
|
||||
<EnableDrag>true</EnableDrag>
|
||||
<DataPath>КолонкиТаблицыЗначений</DataPath>
|
||||
<RowFilter xsi:nil="true"/>
|
||||
<ContextMenu name="КолонкиТаблицыЗначенийКонтекстноеМеню" id="2"/>
|
||||
<AutoCommandBar name="КолонкиТаблицыЗначенийКоманднаяПанель" id="3"/>
|
||||
<ExtendedTooltip name="КолонкиТаблицыЗначенийРасширеннаяПодсказка" id="4"/>
|
||||
<SearchStringAddition name="КолонкиТаблицыЗначенийСтрокаПоиска" id="5">
|
||||
<AdditionSource>
|
||||
<Item>КолонкиТаблицыЗначений</Item>
|
||||
<Type>SearchStringRepresentation</Type>
|
||||
</AdditionSource>
|
||||
<ContextMenu name="КолонкиТаблицыЗначенийСтрокаПоискаКонтекстноеМеню" id="6"/>
|
||||
<ExtendedTooltip name="КолонкиТаблицыЗначенийСтрокаПоискаРасширеннаяПодсказка" id="7"/>
|
||||
</SearchStringAddition>
|
||||
<ViewStatusAddition name="КолонкиТаблицыЗначенийСостояниеПросмотра" id="8">
|
||||
<AdditionSource>
|
||||
<Item>КолонкиТаблицыЗначений</Item>
|
||||
<Type>ViewStatusRepresentation</Type>
|
||||
</AdditionSource>
|
||||
<ContextMenu name="КолонкиТаблицыЗначенийСостояниеПросмотраКонтекстноеМеню" id="9"/>
|
||||
<ExtendedTooltip name="КолонкиТаблицыЗначенийСостояниеПросмотраРасширеннаяПодсказка" id="10"/>
|
||||
</ViewStatusAddition>
|
||||
<SearchControlAddition name="КолонкиТаблицыЗначенийУправлениеПоиском" id="11">
|
||||
<AdditionSource>
|
||||
<Item>КолонкиТаблицыЗначений</Item>
|
||||
<Type>SearchControl</Type>
|
||||
</AdditionSource>
|
||||
<ContextMenu name="КолонкиТаблицыЗначенийУправлениеПоискомКонтекстноеМеню" id="12"/>
|
||||
<ExtendedTooltip name="КолонкиТаблицыЗначенийУправлениеПоискомРасширеннаяПодсказка" id="13"/>
|
||||
</SearchControlAddition>
|
||||
<Events>
|
||||
<Event name="OnStartEdit">КолонкиТаблицыЗначенийПриНачалеРедактирования</Event>
|
||||
</Events>
|
||||
<ChildItems>
|
||||
<InputField name="Имя" id="14">
|
||||
<DataPath>КолонкиТаблицыЗначений.Имя</DataPath>
|
||||
<EditMode>EnterOnInput</EditMode>
|
||||
<ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
|
||||
<ContextMenu name="ИмяКонтекстноеМеню" id="15"/>
|
||||
<ExtendedTooltip name="ИмяРасширеннаяПодсказка" id="16"/>
|
||||
<Events>
|
||||
<Event name="OnChange">КолонкиТаблицыЗначенийИмяПриИзменении</Event>
|
||||
</Events>
|
||||
</InputField>
|
||||
<InputField name="ТипЗначения" id="17">
|
||||
<DataPath>КолонкиТаблицыЗначений.ТипЗначения</DataPath>
|
||||
<EditMode>EnterOnInput</EditMode>
|
||||
<ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
|
||||
<AutoChoiceIncomplete>true</AutoChoiceIncomplete>
|
||||
<ContextMenu name="ТипЗначенияКонтекстноеМеню" id="18"/>
|
||||
<ExtendedTooltip name="ТипЗначенияРасширеннаяПодсказка" id="19"/>
|
||||
</InputField>
|
||||
</ChildItems>
|
||||
</Table>
|
||||
<Table name="СтрокиТаблицыЗначений" id="20">
|
||||
<Representation>List</Representation>
|
||||
<AutoInsertNewRow>true</AutoInsertNewRow>
|
||||
<EnableStartDrag>true</EnableStartDrag>
|
||||
<EnableDrag>true</EnableDrag>
|
||||
<DataPath>СтрокиТаблицыЗначений</DataPath>
|
||||
<RowFilter xsi:nil="true"/>
|
||||
<ContextMenu name="СтрокиТаблицыЗначенийКонтекстноеМеню" id="21"/>
|
||||
<AutoCommandBar name="СтрокиТаблицыЗначенийКоманднаяПанель" id="22"/>
|
||||
<ExtendedTooltip name="СтрокиТаблицыЗначенийРасширеннаяПодсказка" id="23"/>
|
||||
<SearchStringAddition name="СтрокиТаблицыЗначенийСтрокаПоиска" id="24">
|
||||
<AdditionSource>
|
||||
<Item>СтрокиТаблицыЗначений</Item>
|
||||
<Type>SearchStringRepresentation</Type>
|
||||
</AdditionSource>
|
||||
<ContextMenu name="СтрокиТаблицыЗначенийСтрокаПоискаКонтекстноеМеню" id="25"/>
|
||||
<ExtendedTooltip name="СтрокиТаблицыЗначенийСтрокаПоискаРасширеннаяПодсказка" id="26"/>
|
||||
</SearchStringAddition>
|
||||
<ViewStatusAddition name="СтрокиТаблицыЗначенийСостояниеПросмотра" id="27">
|
||||
<AdditionSource>
|
||||
<Item>СтрокиТаблицыЗначений</Item>
|
||||
<Type>ViewStatusRepresentation</Type>
|
||||
</AdditionSource>
|
||||
<ContextMenu name="СтрокиТаблицыЗначенийСостояниеПросмотраКонтекстноеМеню" id="28"/>
|
||||
<ExtendedTooltip name="СтрокиТаблицыЗначенийСостояниеПросмотраРасширеннаяПодсказка" id="29"/>
|
||||
</ViewStatusAddition>
|
||||
<SearchControlAddition name="СтрокиТаблицыЗначенийУправлениеПоиском" id="30">
|
||||
<AdditionSource>
|
||||
<Item>СтрокиТаблицыЗначений</Item>
|
||||
<Type>SearchControl</Type>
|
||||
</AdditionSource>
|
||||
<ContextMenu name="СтрокиТаблицыЗначенийУправлениеПоискомКонтекстноеМеню" id="31"/>
|
||||
<ExtendedTooltip name="СтрокиТаблицыЗначенийУправлениеПоискомРасширеннаяПодсказка" id="32"/>
|
||||
</SearchControlAddition>
|
||||
</Table>
|
||||
</ChildItems>
|
||||
<Attributes>
|
||||
<Attribute name="КолонкиТаблицыЗначений" id="1">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Колонки таблицы значений</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<Type>
|
||||
<v8:Type>v8:ValueTable</v8:Type>
|
||||
</Type>
|
||||
<Columns>
|
||||
<Column name="Имя" id="1">
|
||||
<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>
|
||||
</Column>
|
||||
<Column name="ТипЗначения" id="2">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Тип значения</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<Type>
|
||||
<v8:Type>v8:TypeDescription</v8:Type>
|
||||
</Type>
|
||||
</Column>
|
||||
<Column name="Идентификатор" id="3">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Идентификатор</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<Type>
|
||||
<v8:Type>v8:UUID</v8:Type>
|
||||
</Type>
|
||||
</Column>
|
||||
</Columns>
|
||||
</Attribute>
|
||||
<Attribute name="СтрокиТаблицыЗначений" id="2">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Строки таблицы значений</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<Type>
|
||||
<v8:Type>v8:ValueTable</v8:Type>
|
||||
</Type>
|
||||
</Attribute>
|
||||
<Attribute name="ПоказатьТаблицу" id="3">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Показать таблицу</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<Type>
|
||||
<v8:Type>xs:boolean</v8:Type>
|
||||
</Type>
|
||||
</Attribute>
|
||||
<Attribute name="СохранитьРезультат" id="4">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Сохранить результат</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<Type>
|
||||
<v8:Type>xs:boolean</v8:Type>
|
||||
</Type>
|
||||
</Attribute>
|
||||
<Attribute name="АдресЗначения" id="5">
|
||||
<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">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Показать колонки/строки</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<ToolTip>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Показать колонки строки</v8:content>
|
||||
</v8:item>
|
||||
</ToolTip>
|
||||
<Action>КолонкиСтроки</Action>
|
||||
</Command>
|
||||
<Command name="СохранитьРезультат" id="2">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>ОК</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<ToolTip>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Сохранить результат</v8:content>
|
||||
</v8:item>
|
||||
</ToolTip>
|
||||
<Action>СохранитьРезультат</Action>
|
||||
</Command>
|
||||
</Commands>
|
||||
</Form>
|
@ -0,0 +1,206 @@
|
||||
// Библиотека проектных подсистем для упрощения разработки архитектуры на 1С: Предприятие 8,
|
||||
// включая доработку типовых конфигураций.
|
||||
//
|
||||
// Copyright First BIT company
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
// URL: https://github.com/firstBitSportivnaya/PSSL/
|
||||
//
|
||||
|
||||
#Область ОбработчикиСобытийФормы
|
||||
|
||||
&НаСервере
|
||||
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
|
||||
|
||||
Если Параметры.Свойство("АдресЗначения", АдресЗначения) Тогда
|
||||
Таблица = ПолучитьИзВременногоХранилища(АдресЗначения);
|
||||
Если Таблица <> Неопределено Тогда
|
||||
Для Каждого Колонка Из Таблица.Колонки Цикл
|
||||
// Заполняем таблицу колонок
|
||||
нСтрока = КолонкиТаблицыЗначений.Добавить();
|
||||
ЗаполнитьЗначенияСвойств(нСтрока, Колонка);
|
||||
КонецЦикла;
|
||||
// Создаем реквизиты формы, выводим таблицу формы
|
||||
ПоказатьТаблицу = Истина;
|
||||
ОбновитьТаблицуСтрок();
|
||||
// Заполняем таблицу строк
|
||||
Для Каждого Стр Из Таблица Цикл
|
||||
нСтрока = СтрокиТаблицыЗначений.Добавить();
|
||||
ЗаполнитьЗначенияСвойств(нСтрока, Стр);
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
УстановитьВидимостьЭлементов();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПриЗакрытии(ЗавершениеРаботы)
|
||||
|
||||
Если ЗавершениеРаботы Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если СохранитьРезультат Тогда
|
||||
Адрес = АдресТаблицыВХранилище();
|
||||
ОповеститьОВыборе(Новый Структура("Адрес", Адрес));
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ОбработчикиСобытийЭлементовТаблицыФормыКолонкиТаблицыЗначений
|
||||
|
||||
&НаКлиенте
|
||||
Процедура КолонкиТаблицыЗначенийИмяПриИзменении(Элемент)
|
||||
ТекДанные = Элементы.КолонкиТаблицыЗначений.ТекущиеДанные;
|
||||
Если ЗначениеЗаполнено(ТекДанные.Имя) Тогда
|
||||
Результат = СтрЗаменить(ТекДанные.Имя, " ", "");
|
||||
__ОбщегоНазначенияКлиентСервер.УдалитьНедопустимыеСимволы(Результат);
|
||||
ТекДанные.Имя = Результат;
|
||||
КонецЕсли;
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура КолонкиТаблицыЗначенийПриНачалеРедактирования(Элемент, НоваяСтрока, Копирование)
|
||||
|
||||
Если Не НоваяСтрока Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ТекДанные = Элементы.КолонкиТаблицыЗначений.ТекущиеДанные;
|
||||
ТекДанные.Имя = "Колонка_";
|
||||
// Установим тип по умолчанию "Строка"
|
||||
ТекДанные.ТипЗначения = Новый ОписаниеТипов("Строка", , Новый КвалификаторыСтроки(10));
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ОбработчикиКомандФормы
|
||||
|
||||
&НаКлиенте
|
||||
Процедура КолонкиСтроки(Команда)
|
||||
УстановитьВидимостьЭлементов();
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура СохранитьРезультат(Команда)
|
||||
СохранитьРезультат = Истина;
|
||||
Закрыть();
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
&НаСервереБезКонтекста
|
||||
Процедура ОчиститьНеиспользуемыеНастройки(Адрес)
|
||||
УдалитьИзВременногоХранилища(Адрес);
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Функция АдресТаблицыВХранилище()
|
||||
|
||||
Адрес = "";
|
||||
Если ЗначениеЗаполнено(СтрокиТаблицыЗначений) Тогда
|
||||
УИД = ?(ПустаяСтрока(АдресЗначения), Новый УникальныйИдентификатор, АдресЗначения);
|
||||
ТаблицаЗначений = СтрокиТаблицыЗначений.Выгрузить();
|
||||
Адрес = ПоместитьВоВременноеХранилище(ТаблицаЗначений, УИД);
|
||||
Иначе
|
||||
ОчиститьНеиспользуемыеНастройки(АдресЗначения);
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Адрес;
|
||||
|
||||
КонецФункции
|
||||
|
||||
&НаСервере
|
||||
Процедура ОбновитьТаблицуСтрок()
|
||||
|
||||
ИменаКолонок = Новый Массив;
|
||||
Для Каждого Реквизит Из КолонкиТаблицыЗначений Цикл
|
||||
ИменаКолонок.Добавить(Реквизит.Имя);
|
||||
КонецЦикла;
|
||||
|
||||
ИмяТаблицы = "СтрокиТаблицыЗначений";
|
||||
РеквизитыТаблицы = ПолучитьРеквизиты(ИмяТаблицы);
|
||||
ИменаРеквизитов = Новый Массив();
|
||||
|
||||
УдаляемыеРеквизиты = Новый Массив;
|
||||
Для Каждого Реквизит Из РеквизитыТаблицы Цикл
|
||||
ИменаРеквизитов.Добавить(Реквизит.Имя);
|
||||
Если ИменаКолонок.Найти(Реквизит.Имя) = Неопределено Тогда
|
||||
УдаляемыеРеквизиты.Добавить(ИмяТаблицы + "." + Реквизит.Имя);
|
||||
__РаботаСФормами.УдалитьЭлемент(ЭтотОбъект, ИмяТаблицы + Реквизит.Имя);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
ДобавляемыеРеквизиты = Новый Массив;
|
||||
Для Каждого Колонка Из КолонкиТаблицыЗначений Цикл
|
||||
Если ИменаРеквизитов.Найти(Колонка.Имя) = Неопределено Тогда
|
||||
НовыйРеквизит = Новый РеквизитФормы(Колонка.Имя, Колонка.ТипЗначения, ИмяТаблицы);
|
||||
ДобавляемыеРеквизиты.Добавить(НовыйРеквизит);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Если Не ЗначениеЗаполнено(УдаляемыеРеквизиты) И Не ЗначениеЗаполнено(ДобавляемыеРеквизиты) Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
НачатьТранзакцию();
|
||||
Попытка
|
||||
|
||||
ИзменитьРеквизиты(, УдаляемыеРеквизиты);
|
||||
ИзменитьРеквизиты(ДобавляемыеРеквизиты);
|
||||
|
||||
Для Каждого Реквизит Из ДобавляемыеРеквизиты Цикл
|
||||
Если Элементы.Найти(ИмяТаблицы + Реквизит.Имя) = Неопределено Тогда
|
||||
__РаботаСФормами.СоздатьКолонкаТаблицыФормы(
|
||||
ЭтотОбъект,
|
||||
ИмяТаблицы + Реквизит.Имя,
|
||||
Элементы.СтрокиТаблицыЗначений,
|
||||
,
|
||||
,
|
||||
ИмяТаблицы + "." + Реквизит.Имя);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
ЗафиксироватьТранзакцию();
|
||||
Исключение
|
||||
ОтменитьТранзакцию();
|
||||
ВызватьИсключение;
|
||||
КонецПопытки;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура УстановитьВидимостьЭлементов()
|
||||
Если ПоказатьТаблицу Тогда
|
||||
ОбновитьТаблицуСтрок();
|
||||
КонецЕсли;
|
||||
ОбновитьЗаголовокКнопки();
|
||||
Элементы.КолонкиТаблицыЗначений.Видимость = Не ПоказатьТаблицу;
|
||||
Элементы.СтрокиТаблицыЗначений.Видимость = ПоказатьТаблицу;
|
||||
ПоказатьТаблицу = Не ПоказатьТаблицу;
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура ОбновитьЗаголовокКнопки()
|
||||
Элементы.ФормаПоказатьКолонкиСтроки.Заголовок = ?(ПоказатьТаблицу, "Показать колонки", "Показать строки");
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
@ -4,13 +4,14 @@
|
||||
<UseForFoldersAndItems>Items</UseForFoldersAndItems>
|
||||
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1"/>
|
||||
<Events>
|
||||
<Event name="ChoiceProcessing">ОбработкаВыбора</Event>
|
||||
<Event name="AfterWriteAtServer">ПослеЗаписиНаСервере</Event>
|
||||
<Event name="OnReadAtServer">ПриЧтенииНаСервере</Event>
|
||||
<Event name="OnOpen">ПриОткрытии</Event>
|
||||
<Event name="BeforeWrite">ПередЗаписью</Event>
|
||||
<Event name="OnCreateAtServer">ПриСозданииНаСервере</Event>
|
||||
<Event name="BeforeWriteAtServer">ПередЗаписьюНаСервере</Event>
|
||||
<Event name="OnWriteAtServer">ПриЗаписиНаСервере</Event>
|
||||
<Event name="OnClose">ПриЗакрытии</Event>
|
||||
</Events>
|
||||
<ChildItems>
|
||||
<InputField name="Родитель" id="5">
|
||||
@ -202,17 +203,42 @@
|
||||
<ExtendedTooltip name="ПараметрыФункцииНаименованиеExtendedTooltip" id="83"/>
|
||||
</InputField>
|
||||
<CheckBoxField name="ПараметрыФункцииНеОбязательныйДляЗаполнения" id="26">
|
||||
<DataPath>Объект.ПараметрыФункции.НеОбязательныйДляЗаполнения</DataPath>
|
||||
<DataPath>Объект.ПараметрыФункции.Необязательный</DataPath>
|
||||
<EditMode>EnterOnInput</EditMode>
|
||||
<CheckBoxType>Auto</CheckBoxType>
|
||||
<ContextMenu name="ПараметрыФункцииНеОбязательныйДляЗаполненияКонтекстноеМеню" id="27"/>
|
||||
<ExtendedTooltip name="ПараметрыФункцииНеОбязательныйДляЗаполненияExtendedTooltip" id="84"/>
|
||||
</CheckBoxField>
|
||||
<InputField name="ПараметрыФункцииТипПараметра" id="69">
|
||||
<DataPath>Объект.ПараметрыФункции.фТипПараметра</DataPath>
|
||||
<InputField name="ПараметрыФункцииТипВФорме" id="148">
|
||||
<DataPath>Объект.ПараметрыФункции.ТипВФорме</DataPath>
|
||||
<EditMode>EnterOnInput</EditMode>
|
||||
<ContextMenu name="ПараметрыФункцииТипПараметраКонтекстноеМеню" id="70"/>
|
||||
<ExtendedTooltip name="ПараметрыФункцииТипПараметраРасширеннаяПодсказка" id="85"/>
|
||||
<ChoiceButton>true</ChoiceButton>
|
||||
<ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
|
||||
<TextEdit>false</TextEdit>
|
||||
<ContextMenu name="ПараметрыФункцииТипВФормеКонтекстноеМеню" id="149"/>
|
||||
<ExtendedTooltip name="ПараметрыФункцииТипВФормеРасширеннаяПодсказка" id="150"/>
|
||||
<Events>
|
||||
<Event name="StartChoice">ПараметрыФункцииТипВФормеНачалоВыбора</Event>
|
||||
</Events>
|
||||
</InputField>
|
||||
<InputField name="ПараметрыФункцииЗначениеВФорме" id="154">
|
||||
<DataPath>Объект.ПараметрыФункции.ЗначениеВФорме</DataPath>
|
||||
<EditMode>EnterOnInput</EditMode>
|
||||
<ChoiceButton>true</ChoiceButton>
|
||||
<ChooseType>false</ChooseType>
|
||||
<ContextMenu name="ПараметрыФункцииЗначениеВФормеКонтекстноеМеню" id="155"/>
|
||||
<ExtendedTooltip name="ПараметрыФункцииЗначениеВФормеРасширеннаяПодсказка" id="156"/>
|
||||
<Events>
|
||||
<Event name="StartChoice">ПараметрыФункцииЗначениеВФормеНачалоВыбора</Event>
|
||||
</Events>
|
||||
</InputField>
|
||||
<InputField name="ПараметрыФункцииАдресЗначения" id="157">
|
||||
<DataPath>Объект.ПараметрыФункции.АдресЗначения</DataPath>
|
||||
<Visible>false</Visible>
|
||||
<EditMode>EnterOnInput</EditMode>
|
||||
<ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
|
||||
<ContextMenu name="ПараметрыФункцииАдресЗначенияКонтекстноеМеню" id="158"/>
|
||||
<ExtendedTooltip name="ПараметрыФункцииАдресЗначенияРасширеннаяПодсказка" id="159"/>
|
||||
</InputField>
|
||||
</ChildItems>
|
||||
</Table>
|
||||
@ -376,16 +402,6 @@
|
||||
<CommandName>Form.Command.ВставитьЗапрос</CommandName>
|
||||
<ExtendedTooltip name="ВставитьЗапросExtendedTooltip" id="95"/>
|
||||
</Button>
|
||||
<Button name="ДобавитьОписание" id="64">
|
||||
<Type>CommandBarButton</Type>
|
||||
<CommandName>Form.Command.ДобавитьОписание</CommandName>
|
||||
<ExtendedTooltip name="ДобавитьОписаниеExtendedTooltip" id="96"/>
|
||||
</Button>
|
||||
<Button name="ЗадатьПараметры" id="65">
|
||||
<Type>CommandBarButton</Type>
|
||||
<CommandName>Form.Command.ЗадатьПараметры</CommandName>
|
||||
<ExtendedTooltip name="ЗадатьПараметрыExtendedTooltip" id="97"/>
|
||||
</Button>
|
||||
</ChildItems>
|
||||
</ButtonGroup>
|
||||
<ButtonGroup name="ГруппаНастройкиОтображения" id="139">
|
||||
@ -625,19 +641,63 @@
|
||||
<SavedData>true</SavedData>
|
||||
<Columns>
|
||||
<AdditionalColumns table="Объект.ПараметрыФункции">
|
||||
<Column name="фТипПараметра" id="1">
|
||||
<Column name="ТипВФорме" id="2">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Тип параметра</v8:content>
|
||||
</v8:item>
|
||||
<v8:item>
|
||||
<v8:lang>en</v8:lang>
|
||||
<v8:content>Parameter Type</v8:content>
|
||||
<v8:content>Тип</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<Type>
|
||||
<v8:Type>v8:TypeDescription</v8:Type>
|
||||
<v8:Type>xs:string</v8:Type>
|
||||
<v8:StringQualifiers>
|
||||
<v8:Length>0</v8:Length>
|
||||
<v8:AllowedLength>Variable</v8:AllowedLength>
|
||||
</v8:StringQualifiers>
|
||||
</Type>
|
||||
</Column>
|
||||
<Column name="ЗначениеВФорме" id="4">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Значение</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<Type>
|
||||
<v8:Type>v8:ValueListType</v8:Type>
|
||||
<v8:Type>xs:boolean</v8:Type>
|
||||
<v8:Type>xs:string</v8:Type>
|
||||
<v8:Type>xs:dateTime</v8:Type>
|
||||
<v8:Type>xs:decimal</v8:Type>
|
||||
<v8:Type>v8:UUID</v8:Type>
|
||||
<v8:TypeSet>cfg:AnyRef</v8:TypeSet>
|
||||
<v8:NumberQualifiers>
|
||||
<v8:Digits>10</v8:Digits>
|
||||
<v8:FractionDigits>0</v8:FractionDigits>
|
||||
<v8:AllowedSign>Any</v8:AllowedSign>
|
||||
</v8:NumberQualifiers>
|
||||
<v8:StringQualifiers>
|
||||
<v8:Length>0</v8:Length>
|
||||
<v8:AllowedLength>Variable</v8:AllowedLength>
|
||||
</v8:StringQualifiers>
|
||||
<v8:DateQualifiers>
|
||||
<v8:DateFractions>Date</v8:DateFractions>
|
||||
</v8:DateQualifiers>
|
||||
</Type>
|
||||
</Column>
|
||||
<Column name="АдресЗначения" id="5">
|
||||
<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>
|
||||
</Column>
|
||||
</AdditionalColumns>
|
||||
@ -893,6 +953,17 @@
|
||||
</Type>
|
||||
<SavedData>true</SavedData>
|
||||
</Attribute>
|
||||
<Attribute name="СписокТипов" id="21">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Список типов</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<Type>
|
||||
<v8:Type>v8:ValueListType</v8:Type>
|
||||
</Type>
|
||||
</Attribute>
|
||||
</Attributes>
|
||||
<Commands>
|
||||
<Command name="ВвестиУсловноеВыражение" id="1">
|
||||
@ -979,64 +1050,6 @@
|
||||
<ModifiesSavedData>true</ModifiesSavedData>
|
||||
<CurrentRowUse>DontUse</CurrentRowUse>
|
||||
</Command>
|
||||
<Command name="ДобавитьОписание" id="5">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Добавить описание</v8:content>
|
||||
</v8:item>
|
||||
<v8:item>
|
||||
<v8:lang>en</v8:lang>
|
||||
<v8:content>Add Description</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<ToolTip>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Добавить описание подпрограммы</v8:content>
|
||||
</v8:item>
|
||||
<v8:item>
|
||||
<v8:lang>en</v8:lang>
|
||||
<v8:content>Add the subroutine description</v8:content>
|
||||
</v8:item>
|
||||
</ToolTip>
|
||||
<Picture>
|
||||
<xr:Ref>StdPicture.Task</xr:Ref>
|
||||
<xr:LoadTransparent>true</xr:LoadTransparent>
|
||||
</Picture>
|
||||
<Action>ДобавитьОписание</Action>
|
||||
<ModifiesSavedData>true</ModifiesSavedData>
|
||||
<CurrentRowUse>DontUse</CurrentRowUse>
|
||||
</Command>
|
||||
<Command 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>Set Parameters</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<ToolTip>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Задать параметры для отладки кода</v8:content>
|
||||
</v8:item>
|
||||
<v8:item>
|
||||
<v8:lang>en</v8:lang>
|
||||
<v8:content>Set parameters for code debugging</v8:content>
|
||||
</v8:item>
|
||||
</ToolTip>
|
||||
<Picture>
|
||||
<xr:Ref>StdPicture.Enum</xr:Ref>
|
||||
<xr:LoadTransparent>true</xr:LoadTransparent>
|
||||
</Picture>
|
||||
<Action>ЗадатьПараметры</Action>
|
||||
<ModifiesSavedData>true</ModifiesSavedData>
|
||||
<CurrentRowUse>DontUse</CurrentRowUse>
|
||||
</Command>
|
||||
<Command name="ВыполнитьКод" id="7">
|
||||
<Title>
|
||||
<v8:item>
|
||||
|
@ -27,9 +27,6 @@
|
||||
&НаКлиенте
|
||||
Перем мПредИмя; // Хранит имя переменной до его изменения
|
||||
|
||||
&НаКлиенте
|
||||
Перем мЗначенияПараметров; // Хранит соответствие параметров и их значений для отладки.
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ОбработчикиСобытийФормы
|
||||
@ -37,7 +34,7 @@
|
||||
&НаСервере
|
||||
Процедура ПриЧтенииНаСервере(ТекущийОбъект)
|
||||
|
||||
ПрочитатьТипыПараметров(ТекущийОбъект);
|
||||
ПрочитатьТипыИЗначенияПараметров(ТекущийОбъект, Истина);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@ -60,7 +57,7 @@
|
||||
КонецЦикла;
|
||||
|
||||
ЗначениеВДанныеФормы(СправочникОбъект, Объект);
|
||||
ПрочитатьТипыПараметров(СправочникОбъект);
|
||||
ПрочитатьТипыИЗначенияПараметров(СправочникОбъект);
|
||||
Иначе
|
||||
ДобавитьПараметры();
|
||||
КонецЕсли;
|
||||
@ -75,7 +72,7 @@
|
||||
КаталогИсходногоКодаКонфигурации = Каталог;
|
||||
КонецЕсли;
|
||||
|
||||
ПолучитьНазваниеПодпрограммыСПараметрамиСервер();
|
||||
ПолучитьНазваниеПодпрограммыСПараметрамиСервер(Истина);
|
||||
|
||||
УправлениеЭлементамиФормы();
|
||||
|
||||
@ -89,13 +86,14 @@
|
||||
ВидимостьКартыКода = Истина;
|
||||
ПодсвечиватьЗапросы = Истина;
|
||||
|
||||
СписокТипов = Справочники.__ПользовательскиеФункции.СформироватьСписокТипов();
|
||||
Справочники.__ПользовательскиеФункции.ФильтрацияСпискаТипов(СписокТипов, "");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПриОткрытии(Отказ)
|
||||
|
||||
мЗначенияПараметров = Новый Соответствие;
|
||||
|
||||
Оповещение = Новый ОписаниеОповещения("ПослеПодключенияРасширенияДляРаботыСФайлами", ЭтотОбъект);
|
||||
НачатьПодключениеРасширенияРаботыСФайлами(Оповещение);
|
||||
ОпределитьРазделительПути();
|
||||
@ -109,26 +107,10 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
|
||||
|
||||
Для Каждого ТекущийПараметр Из Объект.ПараметрыФункции Цикл
|
||||
|
||||
СтруктураОтбора = Новый Структура;
|
||||
СтруктураОтбора.Вставить("Наименование", ТекущийПараметр.Наименование);
|
||||
|
||||
ДанныеПоиска = ТекущийОбъект.ПараметрыФункции.НайтиСтроки(СтруктураОтбора);
|
||||
Если ДанныеПоиска.Количество() Тогда
|
||||
ДанныеПоиска.Получить(0).ТипПараметра = Новый ХранилищеЗначения(ТекущийПараметр.фТипПараметра);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи)
|
||||
|
||||
ПрочитатьТипыПараметров(ТекущийОбъект);
|
||||
ПрочитатьТипыИЗначенияПараметров(ТекущийОбъект, Истина);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@ -146,6 +128,31 @@
|
||||
СохранитьКаталогИсходногоКодаКонфигурации(КаталогИсходногоКодаКонфигурации);
|
||||
КонецЕсли;
|
||||
|
||||
СохранитьПараметрыФункции();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПриЗакрытии(ЗавершениеРаботы)
|
||||
|
||||
Если ЗавершениеРаботы Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
УдалениеДанныхИзВременногоХранилища();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ОбработкаВыбора(ВыбранноеЗначение, ИсточникВыбора)
|
||||
|
||||
Если ИсточникВыбора.ИмяФормы = "Справочник.__ПользовательскиеФункции.Форма.ФормаТаблицыЗначений"
|
||||
Или ИсточникВыбора.ИмяФормы = "Справочник.__ПользовательскиеФункции.Форма.ФормаСтруктуры"
|
||||
Или ИсточникВыбора.ИмяФормы = "Справочник.__ПользовательскиеФункции.Форма.ФормаМассива" Тогда
|
||||
текДанные = Элементы.ПараметрыФункции.ТекущиеДанные;
|
||||
текДанные.АдресЗначения = ВыбранноеЗначение.Адрес;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
@ -196,6 +203,7 @@
|
||||
|
||||
Если НоваяСтрока Тогда
|
||||
ТекущиеДанные.Наименование = СтрШаблон("П%1", Строка(ТекущиеДанные.НомерСтроки));
|
||||
ТекущиеДанные.Идентификатор = Новый УникальныйИдентификатор;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
@ -203,14 +211,69 @@
|
||||
&НаКлиенте
|
||||
Процедура ПараметрыФункцииПриОкончанииРедактирования(Элемент, НоваяСтрока, ОтменаРедактирования)
|
||||
|
||||
ПолучитьНазваниеПодпрограммыСПараметрамиСервер();
|
||||
ПолучитьНазваниеПодпрограммыСПараметрамиСервер(Истина);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПараметрыФункцииПослеУдаления(Элемент)
|
||||
|
||||
ПолучитьНазваниеПодпрограммыСПараметрамиСервер();
|
||||
ПолучитьНазваниеПодпрограммыСПараметрамиСервер(Истина);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Асинх Процедура ПараметрыФункцииТипВФормеНачалоВыбора(Элемент, ДанныеВыбора, ВыборДобавлением, СтандартнаяОбработка)
|
||||
|
||||
СтандартнаяОбработка = Ложь;
|
||||
|
||||
ЗаголовокЭлемента = НСтр("ru = 'Редактирование типа данных'");
|
||||
|
||||
ВыбранныйЭлемент = Ждать СписокТипов.ВыбратьЭлементАсинх(ЗаголовокЭлемента);
|
||||
Если ВыбранныйЭлемент = Неопределено Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ТекДанные = Элементы.ПараметрыФункции.ТекущиеДанные;
|
||||
|
||||
Если ВыбранныйЭлемент.Значение = "ТаблицаЗначений"
|
||||
Или ВыбранныйЭлемент.Значение = "Массив"
|
||||
Или ВыбранныйЭлемент.Значение = "Структура" Тогда
|
||||
|
||||
ТекДанные.Тип = ВыбранныйЭлемент.Значение;
|
||||
ТекДанные.ТипВФорме = ВыбранныйЭлемент.Представление;
|
||||
// Доработать, отражение количество элементов в коллекции, условное оформление - цвет текста, запрет изменения
|
||||
ТекДанные.ЗначениеВФорме = ВыбранныйЭлемент.Представление;
|
||||
Иначе
|
||||
ИнициализацияТипаИЗначенияПараметра(ТекДанные, ВыбранныйЭлемент);
|
||||
КонецЕсли;
|
||||
|
||||
Модифицированность = Истина;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПараметрыФункцииЗначениеВФормеНачалоВыбора(Элемент, ДанныеВыбора, ВыборДобавлением, СтандартнаяОбработка)
|
||||
|
||||
ТекДанные = Элементы.ПараметрыФункции.ТекущиеДанные;
|
||||
Тип = ТекДанные.Тип;
|
||||
|
||||
Если Тип = "ТаблицаЗначений" Тогда
|
||||
Путь = КлючОбъекта("ФормаТаблицыЗначений");
|
||||
ИначеЕсли Тип = "Структура" Тогда
|
||||
Путь = КлючОбъекта("ФормаСтруктуры");
|
||||
ИначеЕсли Тип = "Массив" Тогда
|
||||
Путь = КлючОбъекта("ФормаМассива");
|
||||
Иначе
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ПараметрыФормы = Новый Структура;
|
||||
Если ЗначениеЗаполнено(текДанные.АдресЗначения) Тогда
|
||||
ПараметрыФормы.Вставить("АдресЗначения", текДанные.АдресЗначения);
|
||||
КонецЕсли;
|
||||
|
||||
ОткрытьФорму(Путь, ПараметрыФормы, ЭтотОбъект);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@ -286,29 +349,6 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ДобавитьОписание(Команда)
|
||||
|
||||
Обработчик = Новый ОписаниеОповещения("ДобавитьОписаниеЗавершение", ЭтотОбъект);
|
||||
ПоказатьВводСтроки(Обработчик, Объект.Описание, НСтр("ru='Описание подпрограммы';en='description of routines'"),, Истина);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
//Обработчик оповещения "ДобавитьОписаниеЗавершение".
|
||||
//
|
||||
// Параметры:
|
||||
// Текст - Строка.
|
||||
// ПараметрыИсточника - Структура.
|
||||
//
|
||||
&НаКлиенте
|
||||
Процедура ДобавитьОписаниеЗавершение(Текст, ПараметрыИсточника) Экспорт
|
||||
|
||||
Если Текст <> Неопределено Тогда
|
||||
Объект.Описание = Текст;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ВставитьЗапрос(Команда)
|
||||
|
||||
@ -316,41 +356,11 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ЗадатьПараметры(Команда)
|
||||
|
||||
СтруктураТаблиц = Новый Структура;
|
||||
УпаковатьТаблицу("ПараметрыФункции",СтруктураТаблиц);
|
||||
|
||||
ПараметрыФормы = Новый Структура;
|
||||
ПараметрыФормы.Вставить("ПараметрыФункции", СтруктураТаблиц.ПараметрыФункции);
|
||||
ПараметрыФормы.Вставить("ЗначенияПараметров", мЗначенияПараметров);
|
||||
|
||||
ОткрытьФорму("Справочник.__ПользовательскиеФункции.Форма.ФормаПараметров", ПараметрыФормы, ЭтотОбъект,,,,
|
||||
Новый ОписаниеОповещения("ЗадатьПараметрыЗавершение", ЭтотОбъект), РежимОткрытияОкнаФормы.БлокироватьВесьИнтерфейс);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Обработчик оповещения "ЗадатьПараметрыЗавершение".
|
||||
//
|
||||
// Параметры:
|
||||
// НаборПараметров - Структура.
|
||||
// Параметры - Структура.
|
||||
//
|
||||
&НаКлиенте
|
||||
Процедура ЗадатьПараметрыЗавершение(НаборПараметров, Параметры) Экспорт
|
||||
|
||||
Если Не НаборПараметров = Неопределено Тогда
|
||||
мЗначенияПараметров = НаборПараметров;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ВыполнитьКод(Команда)
|
||||
|
||||
ОбновитьИсполняемыйКод();
|
||||
ВыполнитьКодСервер(мЗначенияПараметров);
|
||||
ВыполнитьКодСервер();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@ -406,7 +416,6 @@
|
||||
// При загрузке из Эксель контекст зависит от того в каком правиле пытаемся выполнить загрузку,
|
||||
// в общем случае проверка невозможна.
|
||||
Элементы.ВыполнитьКод.Доступность = Не флКонтекстЗагрузкаЭксель;
|
||||
Элементы.ЗадатьПараметры.Доступность = Не флКонтекстЗагрузкаЭксель;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@ -414,57 +423,84 @@
|
||||
Процедура ДобавитьПараметры()
|
||||
|
||||
Справочники.__ПользовательскиеФункции.ЗаполнитьПараметры(Объект);
|
||||
ПолучитьНазваниеПодпрограммыСПараметрамиСервер();
|
||||
ПолучитьНазваниеПодпрограммыСПараметрамиСервер(Истина);
|
||||
|
||||
КонецПроцедуры // ДобавитьПараметры()
|
||||
|
||||
&НаСервере
|
||||
Процедура ПолучитьНазваниеПодпрограммыСПараметрамиСервер()
|
||||
Процедура ПолучитьНазваниеПодпрограммыСПараметрамиСервер(ПараметрыИзменены = Ложь)
|
||||
|
||||
СтруктураЗаголовка = Справочники.__ПользовательскиеФункции.ПолучитьНазваниеПодпрограммыСПараметрами(Объект);
|
||||
НазваниеПодпрограммы = СтруктураЗаголовка.НазваниеСПараметрами;
|
||||
Если Не ПараметрыИзменены Тогда
|
||||
Позиция = СтрНайти(НазваниеПодпрограммы, "(");
|
||||
НазваниеПодпрограммы = Объект.Наименование + ?(Позиция > 0, Сред(НазваниеПодпрограммы, Позиция), "()");
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ЧастиИмени = Новый Массив();
|
||||
|
||||
ЧастиИмени.Добавить(Объект.Наименование);
|
||||
ЧастиИмени.Добавить("(");
|
||||
Предел = Объект.ПараметрыФункции.Количество();
|
||||
Для Каждого СтрПараметр Из Объект.ПараметрыФункции Цикл
|
||||
Параметр = СокрЛП(СтрПараметр.Наименование) +
|
||||
?(СтрПараметр.Необязательный, " = Неопределено", "") +
|
||||
?(СтрПараметр.НомерСтроки <> Предел, ", ", "");
|
||||
ЧастиИмени.Добавить(Параметр);
|
||||
КонецЦикла;
|
||||
ЧастиИмени.Добавить(")");
|
||||
|
||||
НазваниеПодпрограммы = СтрСоединить(ЧастиИмени, "");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура ПрочитатьТипыПараметров(СпрОбъект)
|
||||
Процедура ПрочитатьТипыИЗначенияПараметров(СпрОбъект, ПрочитатьЗначения = Ложь)
|
||||
|
||||
Если ПрочитатьЗначения Тогда
|
||||
НастройкиПараметров = ПолучитьПараметрыФункции();
|
||||
КонецЕсли;
|
||||
|
||||
Для Каждого ТекущийПараметр Из СпрОбъект.ПараметрыФункции Цикл
|
||||
|
||||
ОписаниеТипаПараметра = ТекущийПараметр.ТипПараметра.Получить();
|
||||
Если ОписаниеТипаПараметра = Неопределено Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
СтруктураОтбора = Новый Структура;
|
||||
СтруктураОтбора.Вставить("Наименование", ТекущийПараметр.Наименование);
|
||||
СтруктураОтбора.Вставить("Идентификатор", ТекущийПараметр.Идентификатор);
|
||||
АктивныеСтроки = Объект.ПараметрыФункции.НайтиСтроки(СтруктураОтбора);
|
||||
|
||||
ДанныеПоиска = Объект.ПараметрыФункции.НайтиСтроки(СтруктураОтбора);
|
||||
Если Не ДанныеПоиска.Количество() = 0 Тогда
|
||||
ДанныеПоиска.Получить(0).фТипПараметра = ОписаниеТипаПараметра;
|
||||
Если ЗначениеЗаполнено(АктивныеСтроки) Тогда
|
||||
Представление = Строка(Тип(ТекущийПараметр.Тип));
|
||||
АктивныеСтроки[0].ТипВФорме = Представление;
|
||||
// Доработать, отражение количество элементов в коллекции, условное оформление - цвет текста, запрет изменения
|
||||
АктивныеСтроки[0].ЗначениеВФорме = Представление;
|
||||
Если ПрочитатьЗначения Тогда
|
||||
НастройкаПараметра = НастройкиПараметров.Получить(ТекущийПараметр.Идентификатор);
|
||||
ЗначениеПараметраФункции(АктивныеСтроки[0], НастройкаПараметра);
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура УпаковатьТаблицу(ИмяТаблицы, СтрТаблиц)
|
||||
Процедура ЗначениеПараметраФункции(СтрокаТаблицы, Настройка)
|
||||
|
||||
МассивРеквизитов = Объект[ИмяТаблицы].Выгрузить().Колонки;
|
||||
ИменаРеквизитов = Новый Структура;
|
||||
|
||||
Для каждого Реквизит Из МассивРеквизитов Цикл
|
||||
ИменаРеквизитов.Вставить(Реквизит.Имя,Реквизит.ТипЗначения);
|
||||
КонецЦикла;
|
||||
|
||||
СтрТаблиц.Вставить(ИмяТаблицы, __ОбщегоНазначенияКлиентСервер.УпаковатьДанныеФормыКоллекция(
|
||||
Объект[ИмяТаблицы], ИменаРеквизитов));
|
||||
СтрТаблиц.Вставить(ИмяТаблицы + "_Колонки", ИменаРеквизитов);
|
||||
Если Настройка = Неопределено Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если СтрокаТаблицы.Тип = "ТаблицаЗначений"
|
||||
Или СтрокаТаблицы.Тип = "Структура"
|
||||
Или СтрокаТаблицы.Тип = "Массив" Тогда
|
||||
Если ТипЗнч(Настройка.Значение) <> Тип("Строка") Тогда
|
||||
СтрокаТаблицы.АдресЗначения = ПоместитьВоВременноеХранилище(Настройка.Значение, Новый УникальныйИдентификатор);
|
||||
КонецЕсли;
|
||||
СтрокаТаблицы.ЗначениеВФорме = СтрокаТаблицы.ТипВФорме;
|
||||
Иначе
|
||||
СтрокаТаблицы.ЗначениеВФорме = Настройка.Значение;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура ВыполнитьКодСервер(ЗначенияПараметров)
|
||||
Процедура ВыполнитьКодСервер()
|
||||
|
||||
СтрПеременные = Новый Структура;
|
||||
|
||||
@ -479,13 +515,15 @@
|
||||
ТабПараметров.Колонки.Добавить("Параметр");
|
||||
ТабПараметров.Колонки.Добавить("Значение");
|
||||
|
||||
Ном = 1;
|
||||
Для Каждого КлючЗначение Из ЗначенияПараметров Цикл
|
||||
ЗначенияПараметровФункции = ПолучитьПараметрыФункции();
|
||||
Для Каждого Стр Из Объект.ПараметрыФункции Цикл
|
||||
НоваяСтрока = ТабПараметров.Добавить();
|
||||
НоваяСтрока.Номер = Ном;
|
||||
НоваяСтрока.Параметр = КлючЗначение.Ключ;
|
||||
НоваяСтрока.Значение = КлючЗначение.Значение;
|
||||
Ном = Ном + 1;
|
||||
НоваяСтрока.Номер = Стр.НомерСтроки;
|
||||
НоваяСтрока.Параметр = Стр.Наименование;
|
||||
Значение = ЗначенияПараметровФункции.Получить(Стр.Идентификатор);
|
||||
Если ЗначениеЗаполнено(Значение) Тогда
|
||||
НоваяСтрока.Значение = Значение.Значение;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
// Чтобы текст функции не изменился сформируем его копию.
|
||||
@ -565,7 +603,7 @@
|
||||
|
||||
ПараметрыФормы.Вставить("Переменные", СписокПеременных);
|
||||
|
||||
ОткрытьФорму("Справочник.__ПользовательскиеФункции.Форма.УсловныйОператор", ПараметрыФормы, ЭтотОбъект,,,,
|
||||
ОткрытьФорму(КлючОбъекта("УсловныйОператор"), ПараметрыФормы, ЭтотОбъект,,,,
|
||||
Новый ОписаниеОповещения("ОткрытьКонструкторУсловногоВыраженияЗавершение", ЭтотОбъект));
|
||||
|
||||
КонецПроцедуры
|
||||
@ -600,13 +638,13 @@
|
||||
Процедура СохранитьКаталогИсходногоКодаКонфигурации(Каталог)
|
||||
|
||||
__ОбщегоНазначенияСлужебный.ХранилищеОбщихНастроекСохранить(КлючОбъекта(),
|
||||
"__ПользовательскиеФункции_КаталогИсхКода", Каталог);
|
||||
"__ПользовательскиеФункции_КаталогИсхКода", Каталог);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Функция КлючОбъекта()
|
||||
Возврат "Справочник.__ПользовательскиеФункции.Форма.ФормаЭлемента";
|
||||
&НаСервереБезКонтекста
|
||||
Функция КлючОбъекта(Знач ИмяФормы = "ФормаЭлемента")
|
||||
Возврат "Справочник.__ПользовательскиеФункции.Форма." + ИмяФормы;
|
||||
КонецФункции
|
||||
|
||||
#Область ОбработчикиСобытийПоляРедактора
|
||||
@ -1956,4 +1994,99 @@
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область РаботаСПараметрами
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ИнициализацияТипаИЗначенияПараметра(ТекущийПараметр, ТекущийТип)
|
||||
|
||||
// Тип в табличной части.
|
||||
ТекущийПараметр.Тип = ТипСтрока(ТекущийТип.Значение);
|
||||
|
||||
// Тип в форме.
|
||||
Массив = Новый Массив;
|
||||
Массив.Добавить(Тип(ТекущийПараметр.Тип));
|
||||
Описание = Новый ОписаниеТипов(Массив);
|
||||
|
||||
ТекущийПараметр.ТипВФорме = ТекущийТип.Представление;
|
||||
|
||||
// Значение в форме.
|
||||
Значение = Описание.ПривестиЗначение(Тип(ТекущийТип.Значение));
|
||||
ТекущийПараметр.ЗначениеВФорме = Значение;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Возвращает строковое представление типа.
|
||||
// Например, для ссылки справочника возвращает "CatalogRef.ИмяСправочника".
|
||||
//
|
||||
&НаСервереБезКонтекста
|
||||
Функция ТипСтрока(Знач Значение)
|
||||
|
||||
СписокДобавленныхТипов = Справочники.__ПользовательскиеФункции.СформироватьСписокТипов();
|
||||
|
||||
ТипСтрока = Строка(Тип(Значение));
|
||||
Если Значение = "СписокЗначений" Тогда
|
||||
Возврат "СписокЗначений";
|
||||
КонецЕсли;
|
||||
|
||||
ТипНайден = Ложь;
|
||||
Для Каждого ЭлементСписка Из СписокДобавленныхТипов Цикл
|
||||
Если ЭлементСписка.Представление = ТипСтрока Тогда
|
||||
ТипНайден = Истина;
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Если Не ТипНайден Тогда
|
||||
ТипСтрока = XMLТип(Тип(Значение)).ИмяТипа;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ТипСтрока;
|
||||
|
||||
КонецФункции
|
||||
|
||||
&НаСервере
|
||||
Процедура УдалениеДанныхИзВременногоХранилища()
|
||||
Для Каждого Параметр Из Объект.ПараметрыФункции Цикл
|
||||
Если ЗначениеЗаполнено(Параметр.АдресЗначения) Тогда
|
||||
УдалитьИзВременногоХранилища(Параметр.АдресЗначения);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура СохранитьПараметрыФункции()
|
||||
|
||||
НастройкиПараметров = ПолучитьПараметрыФункции();
|
||||
|
||||
// ключ - Идентификатор параметра, значение - Структура("Тип,Значение")
|
||||
Данные = Новый Соответствие;
|
||||
Для Каждого Параметр Из Объект.ПараметрыФункции Цикл
|
||||
ОписаниеПараметра = Новый Структура;
|
||||
ОписаниеПараметра.Вставить("Имя", Параметр.Наименование);
|
||||
ОписаниеПараметра.Вставить("Тип", Параметр.Тип);
|
||||
// Берем значение с формы только для типов не требующих преобразования
|
||||
Значение = Параметр.ЗначениеВФорме;
|
||||
Если ЗначениеЗаполнено(Параметр.АдресЗначения) Тогда
|
||||
Значение = ПолучитьИзВременногоХранилища(Параметр.АдресЗначения);
|
||||
УдалитьИзВременногоХранилища(Параметр.АдресЗначения);
|
||||
КонецЕсли;
|
||||
ОписаниеПараметра.Вставить("Значение", Значение);
|
||||
Данные.Вставить(Параметр.Идентификатор, ОписаниеПараметра);
|
||||
КонецЦикла;
|
||||
|
||||
__ОбщегоНазначенияСлужебный.ХранилищеОбщихНастроекСохранить(КлючОбъекта(),
|
||||
"__ПользовательскиеФункции_ПараметрыФункции", Данные);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Функция ПолучитьПараметрыФункции()
|
||||
|
||||
Возврат __ОбщегоНазначенияСлужебный.ХранилищеОбщихНастроекЗагрузить(КлючОбъекта(),
|
||||
"__ПользовательскиеФункции_ПараметрыФункции", Новый Соответствие);
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
@ -294,6 +294,35 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Аналог метода БСП. Возвращает признак того, что переданное значение является, либо не является, числом.
|
||||
//
|
||||
// Параметры:
|
||||
// ПроверяемоеЗначение - Строка - значение, которое проверяется на соответствие числу.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Булево - признак того, что переданное значение является, либо не является, числом.
|
||||
//
|
||||
Функция ЭтоЧисло(Знач ПроверяемоеЗначение) Экспорт
|
||||
|
||||
Если ПроверяемоеЗначение = "0" Тогда
|
||||
Возврат Истина;
|
||||
КонецЕсли;
|
||||
|
||||
ОписаниеЧисла = Новый ОписаниеТипов("Число");
|
||||
|
||||
Возврат ОписаниеЧисла.ПривестиЗначение(ПроверяемоеЗначение) <> 0;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныйПрограммныйИнтерфейс
|
||||
|
||||
Процедура УдалитьНедопустимыеСимволы(Строка) Экспорт
|
||||
НедопустимыеСимволы = """'`/\[]{}:;|-=?*<>,.()+#№@!%^&~«»";
|
||||
Строка = СтрСоединить(СтрРазделить(Строка, НедопустимыеСимволы, Истина));
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
@ -1215,6 +1215,29 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Аналог метода БСП. Удаляет настройку из хранилища общих настроек, как метод платформы Удалить,
|
||||
// объектов СтандартноеХранилищеНастроекМенеджер или ХранилищеНастроекМенеджер.<Имя хранилища>,
|
||||
// но с поддержкой длины ключа настроек более 128 символов путем хеширования части,
|
||||
// которая превышает 96 символов.
|
||||
// Если нет права СохранениеДанныхПользователя, удаление пропускается без ошибки.
|
||||
//
|
||||
// Параметры:
|
||||
// КлючОбъекта - Строка
|
||||
// - Неопределено - см. синтакс-помощник платформы.
|
||||
// КлючНастроек - Строка
|
||||
// - Неопределено - см. синтакс-помощник платформы.
|
||||
// ИмяПользователя - Строка
|
||||
// - Неопределено - см. синтакс-помощник платформы.
|
||||
//
|
||||
Процедура ХранилищеОбщихНастроекУдалить(КлючОбъекта, КлючНастроек, ИмяПользователя) Экспорт
|
||||
|
||||
ХранилищеУдалить(ХранилищеОбщихНастроек,
|
||||
КлючОбъекта,
|
||||
КлючНастроек,
|
||||
ИмяПользователя);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
// Аналог метода БСП. Пока заглушка, см. ОбщегоНазначения.ПриНачалеВыполненияРегламентногоЗадания
|
||||
@ -2211,6 +2234,16 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Аналог метода БСП.
|
||||
//
|
||||
Процедура ХранилищеУдалить(МенеджерХранилища, КлючОбъекта, КлючНастроек, ИмяПользователя)
|
||||
|
||||
Если ПравоДоступа("СохранениеДанныхПользователя", Метаданные) Тогда
|
||||
МенеджерХранилища.Удалить(КлючОбъекта, КлючНастроек(КлючНастроек), ИмяПользователя);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Аналог метода БСП. Возвращает строку ключа настроек, не превышающую допустимую длину 128 символов.
|
||||
// Если указанная строка превышает 128, тогда вместо символов сверх 96 символов
|
||||
// добавляется их хеш-сумма по алгоритму MD5 размером 32 символа.
|
||||
|
@ -80,6 +80,14 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// См. __ОбщегоНазначенияСервер.ХранилищеОбщихНастроекУдалить.
|
||||
Процедура ХранилищеОбщихНастроекУдалить(КлючОбъекта, КлючНастроек, ИмяПользователя = Неопределено) Экспорт
|
||||
|
||||
Модуль = ПолучитьМодуль();
|
||||
Модуль.ХранилищеОбщихНастроекУдалить(КлючОбъекта, КлючНастроек, ИмяПользователя);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// См. __ОбщегоНазначенияСервер.ПриНачалеВыполненияРегламентногоЗадания.
|
||||
Процедура ПриНачалеВыполненияРегламентногоЗадания(РегламентноеЗадание = Неопределено) Экспорт
|
||||
|
||||
|
@ -97,6 +97,14 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// См. __ОбщегоНазначенияСлужебныйКлиентСервер.ЭтоЧисло.
|
||||
Функция ЭтоЧисло(Знач ПроверяемоеЗначение) Экспорт
|
||||
|
||||
Модуль = ПолучитьМодуль();
|
||||
Возврат Модуль.ЭтоЧисло(ПроверяемоеЗначение);
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
@ -138,9 +146,17 @@
|
||||
#КонецОбласти
|
||||
|
||||
Функция ПолучитьМодуль()
|
||||
Возврат __ОбщегоНазначенияВызовСервера.ОбщийМодуль(
|
||||
"ОбщегоНазначенияКлиентСервер",
|
||||
"__ОбщегоНазначенияКлиентСервер");
|
||||
|
||||
#Если Клиент Тогда
|
||||
Возврат __ОбщегоНазначенияКлиент.ОбщийМодуль(
|
||||
"ОбщегоНазначенияКлиентСервер",
|
||||
"__ОбщегоНазначенияКлиентСервер");
|
||||
#Иначе
|
||||
Возврат __ОбщегоНазначенияВызовСервера.ОбщийМодуль(
|
||||
"ОбщегоНазначенияКлиентСервер",
|
||||
"__ОбщегоНазначенияКлиентСервер");
|
||||
#КонецЕсли
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
23
src/CommonModules/__СтандартныеПодсистемыПовтИсп.xml
Normal file
23
src/CommonModules/__СтандартныеПодсистемыПовтИсп.xml
Normal file
@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.16">
|
||||
<CommonModule uuid="6980971c-f5f9-4e8c-9e7f-05a6cf21ab7c">
|
||||
<Properties>
|
||||
<Name>__СтандартныеПодсистемыПовтИсп</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Стандартные подсистемы повт исп</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
<Global>false</Global>
|
||||
<ClientManagedApplication>false</ClientManagedApplication>
|
||||
<Server>true</Server>
|
||||
<ExternalConnection>true</ExternalConnection>
|
||||
<ClientOrdinaryApplication>true</ClientOrdinaryApplication>
|
||||
<ServerCall>false</ServerCall>
|
||||
<Privileged>false</Privileged>
|
||||
<ReturnValuesReuse>DuringSession</ReturnValuesReuse>
|
||||
</Properties>
|
||||
</CommonModule>
|
||||
</MetaDataObject>
|
@ -0,0 +1,40 @@
|
||||
// Библиотека проектных подсистем для упрощения разработки архитектуры на 1С: Предприятие 8,
|
||||
// включая доработку типовых конфигураций.
|
||||
//
|
||||
// Copyright First BIT company
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
// URL: https://github.com/firstBitSportivnaya/PSSL/
|
||||
//
|
||||
|
||||
#Область СлужебныйПрограммныйИнтерфейс
|
||||
|
||||
Функция ОписаниеТипаВсеСсылки() Экспорт
|
||||
|
||||
Возврат Новый ОписаниеТипов(Новый ОписаниеТипов(Новый ОписаниеТипов(Новый ОписаниеТипов(Новый ОписаниеТипов(
|
||||
Новый ОписаниеТипов(Новый ОписаниеТипов(Новый ОписаниеТипов(Новый ОписаниеТипов(
|
||||
Справочники.ТипВсеСсылки(),
|
||||
Документы.ТипВсеСсылки().Типы()),
|
||||
ПланыОбмена.ТипВсеСсылки().Типы()),
|
||||
Перечисления.ТипВсеСсылки().Типы()),
|
||||
ПланыВидовХарактеристик.ТипВсеСсылки().Типы()),
|
||||
ПланыСчетов.ТипВсеСсылки().Типы()),
|
||||
ПланыВидовРасчета.ТипВсеСсылки().Типы()),
|
||||
БизнесПроцессы.ТипВсеСсылки().Типы()),
|
||||
БизнесПроцессы.ТипВсеСсылкиТочекМаршрутаБизнесПроцессов().Типы()),
|
||||
Задачи.ТипВсеСсылки().Типы());
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.16">
|
||||
<CommonModule uuid="c724f4aa-23a0-42b1-99fb-4cfc23ecd5af">
|
||||
<Properties>
|
||||
<Name>__СтандартныеПодсистемыСлужебныйПовтИсп</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Стандартные подсистемы служебный повт исп</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
<Global>false</Global>
|
||||
<ClientManagedApplication>false</ClientManagedApplication>
|
||||
<Server>true</Server>
|
||||
<ExternalConnection>true</ExternalConnection>
|
||||
<ClientOrdinaryApplication>false</ClientOrdinaryApplication>
|
||||
<ServerCall>false</ServerCall>
|
||||
<Privileged>false</Privileged>
|
||||
<ReturnValuesReuse>DuringSession</ReturnValuesReuse>
|
||||
</Properties>
|
||||
</CommonModule>
|
||||
</MetaDataObject>
|
@ -0,0 +1,43 @@
|
||||
// Библиотека проектных подсистем для упрощения разработки архитектуры на 1С: Предприятие 8,
|
||||
// включая доработку типовых конфигураций.
|
||||
//
|
||||
// Copyright First BIT company
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
// URL: https://github.com/firstBitSportivnaya/PSSL/
|
||||
//
|
||||
|
||||
#Область СлужебныйПрограммныйИнтерфейс
|
||||
|
||||
#Область ПереадресацияМетодов
|
||||
|
||||
// См. __СтандартныеПодсистемыПовтИсп.ОписаниеТипаВсеСсылки.
|
||||
Функция ОписаниеТипаВсеСсылки() Экспорт
|
||||
|
||||
Модуль = ПолучитьМодуль();
|
||||
Возврат Модуль.ОписаниеТипаВсеСсылки();
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
Функция ПолучитьМодуль()
|
||||
Возврат __ОбщегоНазначенияПовтИсп.ОбщийМодуль("СтандартныеПодсистемыПовтИсп", "__СтандартныеПодсистемыПовтИсп");
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
@ -54,9 +54,17 @@
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
Функция ПолучитьМодуль()
|
||||
Возврат __ОбщегоНазначенияВызовСервера.ОбщийМодуль(
|
||||
"СтроковыеФункцииКлиентСервер",
|
||||
"__СтроковыеФункцииКлиентСервер");
|
||||
|
||||
#Если Клиент Тогда
|
||||
Возврат __ОбщегоНазначенияКлиент.ОбщийМодуль(
|
||||
"СтроковыеФункцииКлиентСервер",
|
||||
"__СтроковыеФункцииКлиентСервер");
|
||||
#Иначе
|
||||
Возврат __ОбщегоНазначенияВызовСервера.ОбщийМодуль(
|
||||
"СтроковыеФункцииКлиентСервер",
|
||||
"__СтроковыеФункцииКлиентСервер");
|
||||
#КонецЕсли
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
@ -310,6 +310,8 @@
|
||||
<CommonModule>__СправочникиПередЗаписью</CommonModule>
|
||||
<CommonModule>__СправочникиПриЗаписи</CommonModule>
|
||||
<CommonModule>__СправочникиПриКопировании</CommonModule>
|
||||
<CommonModule>__СтандартныеПодсистемыПовтИсп</CommonModule>
|
||||
<CommonModule>__СтандартныеПодсистемыСлужебныйПовтИсп</CommonModule>
|
||||
<CommonModule>__СтроковыеФункцииКлиентСервер</CommonModule>
|
||||
<CommonModule>__СтроковыеФункцииСлужебныйКлиентСервер</CommonModule>
|
||||
<CommonModule>__СхемыЗапросов</CommonModule>
|
||||
|
@ -32,7 +32,6 @@
|
||||
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.__СтроковыеФункцииКлиентСервер</xr:Item>
|
||||
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.__ОбщегоНазначенияКлиентСервер</xr:Item>
|
||||
<xr:Item xsi:type="xr:MDObjectRef">CommonForm.__ФормаВыбораПоля</xr:Item>
|
||||
<xr:Item xsi:type="xr:MDObjectRef">Catalog.__НастройкиОтбораОбъектов</xr:Item>
|
||||
</Content>
|
||||
</Properties>
|
||||
<ChildObjects/>
|
||||
|
Loading…
Reference in New Issue
Block a user