Создание обработки загрузки метаданных, рефакторинг модулей

This commit is contained in:
wakadakawaka 2025-06-02 21:54:46 +05:00
parent d6783569cf
commit 636a2fc320
13 changed files with 335 additions and 3 deletions

View File

@ -0,0 +1,2 @@
disableMassiveChecks=false
eclipse.preferences.version=1

View File

@ -0,0 +1,3 @@
addModuleStrictTypesAnnotation=false
createModuleStructure=true
eclipse.preferences.version=1

View File

@ -0,0 +1,3 @@
commonChecks=true
eclipse.preferences.version=1
standardChecks=true

View File

@ -6,6 +6,16 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#Область ПрограммныйИнтерфейс
// Проверяет корректность имени объекта.
//
// Параметры:
// Объект - СправочникОбъект, ДокументОбъект - Проверяемый объект.
// Отказ - Булево - Признак ошибки проверки. Устанавливается в Истина, если имя некорректно.
//
// Процедура проверяет, соответствует ли имя объекта правилам:
// должно начинаться с буквы или подчеркивания, содержать только буквы, цифры и подчеркивания.
// При некорректном имени устанавливает Отказ в Истина и выводит сообщение пользователю.
//
Процедура ПроверитьИмяОбъектаНаКорректность(Объект, Отказ) Экспорт
Отказ = Не УДК_СтроковыеФункции.ИмяОбъектаКорректно(Объект.Имя);
@ -18,12 +28,13 @@
КонецПроцедуры
// Функция - Таблица вид объекта индекс картинки
//
// Возвращаемое значение:
// ТаблицаЗначений - Таблица с колонками
// * ИндексКартинки - Число - Индекс картинки в коллекции "ОбщаяКартинка.ОбъектыМетаданных"
// * ВидОбъекта - СправочникСсылка.УДК_ВидыОбъектовМетаданных - Вид объекта метаданных
// ТаблицаЗначений - Таблица с колонками:
// * ИндексКартинки - Число - Индекс картинки в коллекции "ОбщаяКартинка.ОбъектыМетаданных"
// * ВидОбъекта - СправочникСсылка.УДК_ВидыОбъектовМетаданных - Вид объекта метаданных
//
Функция ТаблицаВидОбъектаИндексКартинки() Экспорт

View File

@ -2462,6 +2462,7 @@
<dataProcessors>DataProcessor.УправлениеИтогамиИАгрегатами</dataProcessors>
<dataProcessors>DataProcessor.УправлениеПодключениемDSS</dataProcessors>
<dataProcessors>DataProcessor.УстановкаОбновлений</dataProcessors>
<dataProcessors>DataProcessor.УДК_ИмпортОбъектовМетаданных</dataProcessors>
<informationRegisters>InformationRegister.АдминистративнаяИерархия</informationRegisters>
<informationRegisters>InformationRegister.АдресныеОбъекты</informationRegisters>
<informationRegisters>InformationRegister.АрхивСообщенийОбменов</informationRegisters>

View File

@ -0,0 +1,191 @@
<?xml version="1.0" encoding="UTF-8"?>
<form:Form xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:form="http://g5.1c.ru/v8/dt/form">
<items xsi:type="form:FormField">
<name>Конфигурация</name>
<id>1</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>Конфигурация</segments>
</dataPath>
<extendedTooltip>
<name>КонфигурацияРасширеннаяПодсказка</name>
<id>3</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>КонфигурацияКонтекстноеМеню</name>
<id>2</id>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<editMode>Enter</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:InputFieldExtInfo">
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<wrap>true</wrap>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
</extInfo>
</items>
<items xsi:type="form:FormField">
<name>СериализованныеМетаданные</name>
<id>7</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>СериализованныеМетаданные</segments>
</dataPath>
<extendedTooltip>
<name>СериализованныеМетаданныеРасширеннаяПодсказка</name>
<id>9</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>СериализованныеМетаданныеКонтекстноеМеню</name>
<id>8</id>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<editMode>Enter</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:InputFieldExtInfo">
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<wrap>true</wrap>
<multiLine>true</multiLine>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
</extInfo>
</items>
<autoCommandBar>
<name>ФормаКоманднаяПанель</name>
<id>-1</id>
<items xsi:type="form:Button">
<name>ФормаЗагрузить</name>
<id>10</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ФормаЗагрузитьРасширеннаяПодсказка</name>
<id>11</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Command.Загрузить</commandName>
<representation>Auto</representation>
<defaultButton>true</defaultButton>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<horizontalAlign>Left</horizontalAlign>
<autoFill>true</autoFill>
</autoCommandBar>
<saveWindowSettings>true</saveWindowSettings>
<autoTitle>true</autoTitle>
<autoUrl>true</autoUrl>
<group>Vertical</group>
<autoFillCheck>true</autoFillCheck>
<allowFormCustomize>true</allowFormCustomize>
<enabled>true</enabled>
<showTitle>true</showTitle>
<showCloseButton>true</showCloseButton>
<attributes>
<name>Объект</name>
<id>1</id>
<valueType>
<types>DataProcessorObject.УДК_ИмпортОбъектовМетаданных</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
<main>true</main>
</attributes>
<attributes>
<name>Конфигурация</name>
<title>
<key>ru</key>
<value>Конфигурация</value>
</title>
<id>2</id>
<valueType>
<types>CatalogRef.УДК_Конфигурации</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<attributes>
<name>СериализованныеМетаданные</name>
<title>
<key>ru</key>
<value>Сериализованные метаданные</value>
</title>
<id>3</id>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<formCommands>
<name>Загрузить</name>
<title>
<key>ru</key>
<value>Загрузить</value>
</title>
<id>1</id>
<use>
<common>true</common>
</use>
<currentRowUse>Auto</currentRowUse>
</formCommands>
<commandInterface>
<navigationPanel/>
<commandBar/>
</commandInterface>
<extInfo xsi:type="form:ObjectFormExtInfo"/>
</form:Form>

View File

@ -0,0 +1,28 @@
#Область ОписаниеПеременных
#КонецОбласти
#Область ОбработчикиСобытийФормы
// Код процедур и функций
#КонецОбласти
#Область ОбработчикиСобытийЭлементовШапкиФормы
// Код процедур и функций
#КонецОбласти
#Область ОбработчикиКомандФормы
// Код процедур и функций
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
// Код процедур и функций
#КонецОбласти

View File

@ -0,0 +1,28 @@
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ПрограммныйИнтерфейс
// Код процедур и функций
#КонецОбласти
#Область ОбработчикиСобытий
// Код процедур и функций
#КонецОбласти
#Область СлужебныйПрограммныйИнтерфейс
// Код процедур и функций
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
// Код процедур и функций
#КонецОбласти
#КонецЕсли

View File

@ -0,0 +1,36 @@
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ОписаниеПеременных
#КонецОбласти
#Область ПрограммныйИнтерфейс
// Код процедур и функций
#КонецОбласти
#Область ОбработчикиСобытий
// Код процедур и функций
#КонецОбласти
#Область СлужебныйПрограммныйИнтерфейс
// Код процедур и функций
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
// Код процедур и функций
#КонецОбласти
#Область Инициализация
#КонецОбласти
#КонецЕсли

View File

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:DataProcessor xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="6eef5447-beb5-4849-bf0a-1db967b909ac">
<producedTypes>
<objectType typeId="ffdd698a-5b4d-455e-a3e4-24fc440a3255" valueTypeId="79791c12-9dcb-4ea0-a5c4-fe2cadd468ea"/>
<managerType typeId="1b2ad551-60f9-417a-b266-93bc760a32b2" valueTypeId="c7dddb3f-4fff-424c-be65-2df67db144c9"/>
</producedTypes>
<name>УДК_ИмпортОбъектовМетаданных</name>
<synonym>
<key>ru</key>
<value>Импорт объектов метаданных</value>
</synonym>
<useStandardCommands>true</useStandardCommands>
<defaultForm>DataProcessor.УДК_ИмпортОбъектовМетаданных.Form.Форма</defaultForm>
<forms uuid="e7348eab-ea9e-42f0-b4ba-9cbd32e6f6fb">
<name>Форма</name>
<synonym>
<key>ru</key>
<value>Форма</value>
</synonym>
<usePurposes>PersonalComputer</usePurposes>
<usePurposes>MobileDevice</usePurposes>
</forms>
</mdclass:DataProcessor>

View File

@ -419,6 +419,7 @@
ТекущиеДанные = Элементы.Участники.ТекущиеДанные;
ТекущиеДанные.ПредставлениеКонтакта = ВыбранноеЗначение.ПредставлениеКонтакта;
ТекущиеДанные.Контакт = ВыбранноеЗначение.Контакт;
//@skip-check invocation-form-event-handler
ПредставлениеКонтактаПриИзменении(Элемент);
КонецЕсли;

View File

@ -9,6 +9,10 @@
Процедура ПередЗаписью(Отказ, Замещение)
Если ОбменДанными.Загрузка Тогда
Возврат;
КонецЕсли;
Для Каждого Запись Из ЭтотОбъект Цикл
Если Не ЗначениеЗаполнено(Запись.НомерИзменения) Тогда

View File

@ -37,4 +37,5 @@
<content>Enum.УДК_СтатусыИзмененийОбъектов</content>
<content>Enum.УДК_ТипыИзмененийОбъектов</content>
<content>InformationRegister.УДКсторияИзмененияЖурнала</content>
<content>DataProcessor.УДК_ИмпортОбъектовМетаданных</content>
</mdclass:Subsystem>