1
0
mirror of https://github.com/1C-Company/v8-code-style.git synced 2025-05-28 06:47:30 +02:00

G5V8DT-24841 Не видит Экспортный метод из базовой формы #1324

This commit is contained in:
Maxim Dzyuba 2024-07-05 15:18:58 +03:00
parent cdd4a707ea
commit b0fe4a4da4
41 changed files with 1109 additions and 154 deletions

View File

@ -17,39 +17,38 @@ import static com._1c.g5.v8.dt.bsl.model.BslPackage.Literals.STRING_LITERAL__LIN
import java.util.Collection;
import java.util.List;
import java.util.stream.StreamSupport;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.xtext.EcoreUtil2;
import org.eclipse.xtext.naming.QualifiedName;
import org.eclipse.xtext.resource.IEObjectDescription;
import org.eclipse.xtext.scoping.IScope;
import org.eclipse.xtext.scoping.IScopeProvider;
import com._1c.g5.v8.bm.core.IBmTransaction;
import com._1c.g5.v8.bm.integration.IBmModel;
import com._1c.g5.v8.dt.bsl.model.BslIndexPackage;
import com._1c.g5.v8.dt.bsl.model.BslFactory;
import com._1c.g5.v8.dt.bsl.model.BslPackage;
import com._1c.g5.v8.dt.bsl.model.DynamicFeatureAccess;
import com._1c.g5.v8.dt.bsl.model.Expression;
import com._1c.g5.v8.dt.bsl.model.FeatureAccess;
import com._1c.g5.v8.dt.bsl.model.FeatureEntry;
import com._1c.g5.v8.dt.bsl.model.Method;
import com._1c.g5.v8.dt.bsl.model.MethodsScopeSpec;
import com._1c.g5.v8.dt.bsl.model.Module;
import com._1c.g5.v8.dt.bsl.model.ModuleContextDefIndex;
import com._1c.g5.v8.dt.bsl.model.OperatorStyleCreator;
import com._1c.g5.v8.dt.bsl.model.StaticFeatureAccess;
import com._1c.g5.v8.dt.bsl.model.StringLiteral;
import com._1c.g5.v8.dt.bsl.resource.DynamicFeatureAccessComputer;
import com._1c.g5.v8.dt.bsl.resource.ExportMethodProvider;
import com._1c.g5.v8.dt.common.StringUtils;
import com._1c.g5.v8.dt.core.platform.IBmModelManager;
import com._1c.g5.v8.dt.core.platform.IDtProject;
import com._1c.g5.v8.dt.core.platform.IResourceLookup;
import com._1c.g5.v8.dt.mcore.ContextDef;
import com._1c.g5.v8.dt.mcore.DerivedProperty;
import com._1c.g5.v8.dt.mcore.Environmental;
import com._1c.g5.v8.dt.mcore.Method;
import com._1c.g5.v8.dt.mcore.Property;
import com._1c.g5.v8.dt.mcore.Type;
import com._1c.g5.v8.dt.mcore.TypeItem;
import com._1c.g5.v8.dt.mcore.util.Environments;
import com._1c.g5.v8.dt.mcore.util.McoreUtil;
import com._1c.g5.v8.dt.metadata.mdclass.CommonModule;
import com._1c.g5.v8.dt.metadata.mdclass.MdClassPackage;
import com.e1c.g5.dt.core.api.naming.INamingService;
import com.e1c.g5.v8.dt.check.CheckComplexity;
import com.e1c.g5.v8.dt.check.ICheckParameters;
import com.e1c.g5.v8.dt.check.components.BasicCheck;
@ -70,8 +69,6 @@ public class NotifyDescriptionToServerProcedureCheck
{
private static final String CHECK_ID = "notify-description-to-server-procedure"; //$NON-NLS-1$
private static final String BSL = "bsl"; //$NON-NLS-1$
private static final String THIS_OBJECT = "ThisObject"; //$NON-NLS-1$
private static final String THIS_OBJECT_RU = "ЭтотОбъект"; //$NON-NLS-1$
@ -81,32 +78,21 @@ public class NotifyDescriptionToServerProcedureCheck
private final DynamicFeatureAccessComputer dynamicFeatureAccessComputer;
private final ExportMethodProvider exportMethodProvider;
private final IResourceLookup resourceLookup;
private final INamingService namingService;
private final IBmModelManager bmModelManager;
private final IScopeProvider scopeProvider;
/**
* Instantiates a new notify description to server procedure check.
*
* @param dynamicFeatureAccessComputer the dynamic feature access computer service, cannot be {@code null}
* @param exportMethodProvider the export method provider service, cannot be {@code null}
* @param scopeProvider provides actual local methods, cannot be {@code null}
*/
@Inject
public NotifyDescriptionToServerProcedureCheck(DynamicFeatureAccessComputer dynamicFeatureAccessComputer,
ExportMethodProvider exportMethodProvider, IResourceLookup resourceLookup, INamingService namingService,
IBmModelManager bmModelManager)
IScopeProvider scopeProvider)
{
super();
this.dynamicFeatureAccessComputer = dynamicFeatureAccessComputer;
this.exportMethodProvider = exportMethodProvider;
this.resourceLookup = resourceLookup;
this.namingService = namingService;
this.bmModelManager = bmModelManager;
this.scopeProvider = scopeProvider;
}
@Override
@ -142,33 +128,13 @@ public class NotifyDescriptionToServerProcedureCheck
}
StringLiteral param = (StringLiteral)osc.getParams().get(0);
final String methodName = getCalledProcedureName(param);
String methodName = getCalledProcedureName(param);
if (monitor.isCanceled() || StringUtils.isBlank(methodName))
{
return;
}
String contextDefUriAsString = getBslModuleUri(osc);
if (monitor.isCanceled() || contextDefUriAsString == null)
{
return;
}
URI contextDefUri = URI.createURI(contextDefUriAsString, true);
IDtProject project = resourceLookup.getDtProject(contextDefUri);
String contextDefIndexFqn = namingService.getDependentObjectFqnAsString(contextDefUri,
BslIndexPackage.Literals.MODULE_CONTEXT_DEF_INDEX);
IBmModel model = bmModelManager.getModel(project);
IBmTransaction bmTransaction = model.getEngine().getCurrentTransaction();
ModuleContextDefIndex index = (ModuleContextDefIndex)bmTransaction.getTopObjectByFqn(contextDefIndexFqn);
if (index == null)
{
return;
}
Collection<Method> methods = exportMethodProvider.getMockMethods(index.getContextDef(), methodName, osc);
Collection<Environmental> methods = getMethods(methodName, osc, monitor);
if (methods.isEmpty())
{
resultAceptor.addIssue(
@ -177,7 +143,7 @@ public class NotifyDescriptionToServerProcedureCheck
}
else
{
for (Method method : methods)
for (Environmental method : methods)
{
Environments calleeEnv = method.environments();
if (calleeEnv.containsAny(Environments.MNG_CLIENTS))
@ -193,6 +159,75 @@ public class NotifyDescriptionToServerProcedureCheck
}
private Collection<Environmental> getMethods(String methodName, OperatorStyleCreator osc, IProgressMonitor monitor)
{
List<Expression> params = osc.getParams();
if (params.size() > 1)
{
Expression moduleParam = params.get(1);
if (moduleParam instanceof FeatureAccess featureAccess)
{
if (featureAccess instanceof StaticFeatureAccess
&& (THIS_OBJECT_RU.equals(featureAccess.getName()) || THIS_OBJECT.equals(featureAccess.getName())))
{
Module module = EcoreUtil2.getContainerOfType(featureAccess, Module.class);
MethodsScopeSpec spec = BslFactory.eINSTANCE.createMethodsScopeSpec();
spec.setModule(module);
spec.setOnlyModuleItems(true);
spec.setEnvironments(Environments.ALL_CLIENTS);
IScope methodScope =
scopeProvider.getScope(spec, BslPackage.Literals.METHODS_SCOPE_SPEC__METHOD_REF);
return StreamSupport
.stream(methodScope.getElements(QualifiedName.create(methodName)).spliterator(), false)
.map(IEObjectDescription::getEObjectOrProxy)
.filter(Method.class::isInstance)
.map(Method.class::cast)
.filter(Method::isExport)
.map(Environmental.class::cast)
.toList();
}
else
{
Environmental environmental = EcoreUtil2.getContainerOfType(featureAccess, Environmental.class);
List<FeatureEntry> entries = featureAccess instanceof StaticFeatureAccess
? ((StaticFeatureAccess)featureAccess).getFeatureEntries() : dynamicFeatureAccessComputer
.getLastObject((DynamicFeatureAccess)featureAccess, environmental.environments());
for (FeatureEntry entry : entries)
{
if (entry.getFeature() instanceof DerivedProperty derivedProperty
&& derivedProperty.getSource() instanceof CommonModule)
{
List<TypeItem> types = derivedProperty.getTypes();
if (types != null && types.size() == 1 && types.get(0) instanceof Type)
{
return ((Type)types.get(0)).getContextDef()
.allMethods()
.stream()
.filter(Environmental.class::isInstance)
.filter(item -> methodName.equalsIgnoreCase(item.getName()))
.map(Environmental.class::cast)
.toList();
}
}
else if (entry.getFeature() instanceof Property property
&& THIS_OBJECT.equals(property.getName())
&& property.eContainer() instanceof ContextDef contextDef)
{
return contextDef.allMethods()
.stream()
.filter(Environmental.class::isInstance)
.filter(item -> methodName.equalsIgnoreCase(item.getName()))
.map(Environmental.class::cast)
.toList();
}
}
}
}
}
return List.of();
}
private String getCalledProcedureName(Expression param)
{
if (param instanceof StringLiteral)
@ -205,104 +240,4 @@ public class NotifyDescriptionToServerProcedureCheck
}
return null;
}
private String getBslModuleUri(OperatorStyleCreator osc)
{
List<Expression> params = osc.getParams();
if (params.size() > 1)
{
Expression moduleParam = params.get(1);
if (moduleParam instanceof StaticFeatureAccess)
{
return getBslModuleUri((StaticFeatureAccess)moduleParam);
}
else if (moduleParam instanceof DynamicFeatureAccess)
{
return getBslModuleUri((DynamicFeatureAccess)moduleParam);
}
}
return null;
}
private String getBslModuleUri(StaticFeatureAccess object)
{
URI uri = null;
if (object.getName().equals(THIS_OBJECT) || object.getName().equals(THIS_OBJECT_RU))
{
uri = EcoreUtil.getURI(object);
}
else
{
uri = getCommonModuleUri(object);
}
return constructBslUri(uri);
}
private String getBslModuleUri(DynamicFeatureAccess object)
{
URI uri = getCommonModuleUri(object);
return constructBslUri(uri);
}
private String constructBslUri(URI uri)
{
if (uri == null)
{
return null;
}
return uri.trimFragment().trimFileExtension().appendFileExtension(BSL).toString();
}
private URI getCommonModuleUri(DynamicFeatureAccess object)
{
Environmental environmental = EcoreUtil2.getContainerOfType(object, Environmental.class);
List<FeatureEntry> features = dynamicFeatureAccessComputer.getLastObject(object, environmental.environments());
for (FeatureEntry featureEntry : features)
{
EObject feature = featureEntry.getFeature();
if (feature instanceof Property && ((Property)feature).getName().equals(THIS_OBJECT))
{
Expression staticFeatureAccess = object.getSource();
if (staticFeatureAccess instanceof StaticFeatureAccess)
{
return getCommonModuleUri((StaticFeatureAccess)staticFeatureAccess);
}
}
else if (feature instanceof Module)
{
return EcoreUtil.getURI(feature);
}
else if (feature instanceof CommonModule)
{
EObject module = (EObject)feature.eGet(MdClassPackage.Literals.COMMON_MODULE__MODULE, false);
if (module != null)
{
return EcoreUtil.getURI(module);
}
}
}
return null;
}
private URI getCommonModuleUri(StaticFeatureAccess object)
{
for (FeatureEntry entry : object.getFeatureEntries())
{
EObject f = entry.getFeature();
if (f instanceof DerivedProperty)
{
EObject source = ((DerivedProperty)f).getSource();
if (source instanceof CommonModule)
{
return EcoreUtil.getURI((EObject)source.eGet(MdClassPackage.Literals.COMMON_MODULE__MODULE, false));
}
}
}
return null;
}
}

View File

@ -0,0 +1,100 @@
/*******************************************************************************
* Copyright (C) 2024, 1C-Soft LLC and others.
*
* This program and the accompanying materials are made
* available under the terms of the Eclipse Public License 2.0
* which is available at https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* 1C-Soft LLC - initial API and implementation
*******************************************************************************/
package com.e1c.v8codestyle.bsl.check.itests;
import static org.junit.Assert.assertEquals;
import java.util.List;
import java.util.stream.Collectors;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.Path;
import org.junit.Test;
import com._1c.g5.v8.dt.validation.marker.IExtraInfoKeys;
import com._1c.g5.v8.dt.validation.marker.Marker;
import com.e1c.g5.v8.dt.testing.check.SingleProjectReadOnlyCheckTestBase;
import com.e1c.v8codestyle.bsl.check.NotifyDescriptionToServerProcedureCheck;
import com.e1c.v8codestyle.internal.bsl.BslPlugin;
/**
* The test of {@link NotifyDescriptionToServerProcedureCheck} check.
*
* @author Dzyuba_M
*/
public class NotifyDescriptionToServerProcedureCheck3Test
extends SingleProjectReadOnlyCheckTestBase
{
private static final String CHECK_ID = "notify-description-to-server-procedure"; //$NON-NLS-1$
private static final String PROJECT_NAME = "ExtensionNotifyDescriptionToServerProcedureCheck";
private static final String PROJECT_EXTENSION_NAME = "ExtensionNotifyDescriptionToServerProcedureCheck_Extension";
/**
* Test notify description to common module server procedure.
*
* @throws Exception the exception
*/
@Test
public void testCommonModuleServerProcedure() throws Exception
{
List<Marker> markers = getModuleMarkers();
assertEquals(2, markers.size());
Marker marker = markers.get(0);
assertEquals("11", marker.getExtraInfo().get(IExtraInfoKeys.TEXT_EXTRA_INFO_LINE_KEY));
marker = markers.get(1);
assertEquals("21", marker.getExtraInfo().get(IExtraInfoKeys.TEXT_EXTRA_INFO_LINE_KEY));
}
@Override
public void setUp() throws CoreException
{
IProject project = testingWorkspace.getProject(PROJECT_NAME);
if (!project.exists() || !project.isAccessible())
{
try
{
testingWorkspace.cleanUpWorkspace();
openProjectAndWaitForValidationFinish(PROJECT_NAME);
}
catch (CoreException e)
{
BslPlugin.logError(e);
}
}
super.setUp();
}
@Override
protected String getTestConfigurationName()
{
return PROJECT_EXTENSION_NAME;
}
private String getModuleFileName()
{
return "/src/Catalogs/Справочник1/Forms/ФормаЭлемента/Module.bsl"; //$NON-NLS-1$
}
private List<Marker> getModuleMarkers()
{
String moduleId = Path.ROOT.append(getTestConfigurationName()).append(getModuleFileName()).toString();
List<Marker> markers = List.of(markerManager.getMarkers(getProject().getWorkspaceProject(), moduleId));
return markers.stream()
.filter(marker -> CHECK_ID.equals(getCheckIdFromMarker(marker, getProject())))
.collect(Collectors.toList());
}
}

View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>ExtensionNotifyDescriptionToServerProcedureCheck</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
<nature>com._1c.g5.v8.dt.core.V8ConfigurationNature</nature>
</natures>
</projectDescription>

View File

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

View File

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

View File

@ -0,0 +1,2 @@
eclipse.preferences.version=1
encoding/<project>=UTF-8

View File

@ -0,0 +1,2 @@
Manifest-Version: 1.0
Runtime-Version: 8.3.23

View File

@ -0,0 +1,144 @@
<?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>Объект.Code</segments>
</dataPath>
<extendedTooltip>
<name>КодРасширеннаяПодсказка</name>
<id>3</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<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>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<editMode>EnterOnInput</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>4</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>Объект.Description</segments>
</dataPath>
<extendedTooltip>
<name>НаименованиеРасширеннаяПодсказка</name>
<id>6</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>НаименованиеКонтекстноеМеню</name>
<id>5</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<editMode>EnterOnInput</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>
<autoCommandBar>
<name>ФормаКоманднаяПанель</name>
<id>-1</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<horizontalAlign>Left</horizontalAlign>
<autoFill>true</autoFill>
</autoCommandBar>
<windowOpeningMode>LockOwnerWindow</windowOpeningMode>
<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>CatalogObject.Справочник1</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
<main>true</main>
<savedData>true</savedData>
</attributes>
<commandInterface>
<navigationPanel/>
<commandBar/>
</commandInterface>
<extInfo xsi:type="form:CatalogFormExtInfo"/>
</form:Form>

View File

@ -0,0 +1,19 @@
#Область ОбработчикиСобытийЭлементовШапкиФормы
&НаКлиенте
Процедура КодПриИзменении(Элемент)
КонецПроцедуры
&НаКлиенте
Процедура НаименованиеПриИзменении(Элемент)
Сообщить(1);
КонецПроцедуры
#КонецОбласти
&НаКлиенте
Процедура дляОписания(первый, второй) Экспорт
Сообщить(1);
КонецПроцедуры

View File

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

View File

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

View File

@ -0,0 +1,43 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:Catalog xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="8a57a51c-aff1-4853-b523-34d586736ee1">
<producedTypes>
<objectType typeId="e5555cbe-851c-4cef-8e2d-8f491d4f02f8" valueTypeId="13faa96c-b518-4c61-8ddc-ed1326a970ff"/>
<refType typeId="7ee42aee-565d-4e64-9076-47ecd1f3e0ca" valueTypeId="0775c896-9c5c-4ca2-93fe-abd0d849ebfd"/>
<selectionType typeId="8247284b-e8fa-4941-abaa-8255bb8b697f" valueTypeId="72d0c697-71a4-4d95-a6e1-229cc90a5577"/>
<listType typeId="136dcc53-3d62-4cc1-a6e1-9b25ef7ed4ef" valueTypeId="73326bf6-dab7-4df9-aabe-876abbe85583"/>
<managerType typeId="958994aa-09b4-4d21-8237-640849dbc777" valueTypeId="7447edd3-3f95-4fd2-9de5-32545928d8a1"/>
</producedTypes>
<name>Справочник1</name>
<synonym>
<key>ru</key>
<value>Справочник1</value>
</synonym>
<useStandardCommands>true</useStandardCommands>
<inputByString>Catalog.Справочник1.StandardAttribute.Code</inputByString>
<inputByString>Catalog.Справочник1.StandardAttribute.Description</inputByString>
<fullTextSearchOnInputByString>DontUse</fullTextSearchOnInputByString>
<createOnInput>Use</createOnInput>
<dataLockControlMode>Managed</dataLockControlMode>
<fullTextSearch>Use</fullTextSearch>
<levelCount>2</levelCount>
<foldersOnTop>true</foldersOnTop>
<codeLength>9</codeLength>
<descriptionLength>25</descriptionLength>
<codeType>String</codeType>
<codeAllowedLength>Variable</codeAllowedLength>
<checkUnique>true</checkUnique>
<autonumbering>true</autonumbering>
<defaultPresentation>AsDescription</defaultPresentation>
<editType>InDialog</editType>
<choiceMode>BothWays</choiceMode>
<defaultObjectForm>Catalog.Справочник1.Form.ФормаЭлемента</defaultObjectForm>
<forms uuid="140fb776-e680-431e-8702-fdb3197d5b25">
<name>ФормаЭлемента</name>
<synonym>
<key>ru</key>
<value>Форма элемента</value>
</synonym>
<usePurposes>PersonalComputer</usePurposes>
<usePurposes>MobileDevice</usePurposes>
</forms>
</mdclass:Catalog>

View File

@ -0,0 +1,15 @@
// Проверка формы.
//
// Параметры:
// Форма - см. Справочник.Справочник1.Форма.ФормаЭлемента
Процедура проверкаФормы(Форма) Экспорт
Форма.дляОписания(1, 2);
КонецПроцедуры
Процедура ДляВызоваИзОписанияОповещения(первый, второй) Экспорт
Сообщить("метод = ДляВызоваИзОписанияОповещения");
КонецПроцедуры
Процедура ДляВызоваИзОписанияОповещенияНеЭкспорт(первый, второй)
Сообщить("метод = ДляВызоваИзОписанияОповещения");
КонецПроцедуры

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="e8efe1eb-adb4-4724-9474-768aff51ed2d">
<name>ОбщийМодуль1</name>
<synonym>
<key>ru</key>
<value>Общий модуль1</value>
</synonym>
<clientManagedApplication>true</clientManagedApplication>
</mdclass:CommonModule>

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<cmi:CommandInterface xmlns:cmi="http://g5.1c.ru/v8/dt/cmi"/>

View File

@ -0,0 +1,44 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="18ce2649-4f60-469d-bc29-bf2c51e116c0">
<name>ExtensionNotifyDescriptionToServerProcedureCheck</name>
<synonym>
<key>ru</key>
<value>Extension notify description to server procedure check</value>
</synonym>
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="b9730c62-e334-4517-b2ed-8bdb46d6e5dd"/>
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="f868530b-5a1b-4327-a209-9391ac770587"/>
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="57f59308-1c0d-4426-8662-02bcf179637f"/>
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="5be22a3e-dcbb-4251-b94e-886d6dd92fb1"/>
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="5b25253a-5fdf-4c77-a1f0-6a1933e4c7a8"/>
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="58db142c-f11d-4c1e-91af-960606d55f59"/>
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="8a2854c8-06b0-4242-9778-18802ec5deba"/>
<configurationExtensionCompatibilityMode>8.3.23</configurationExtensionCompatibilityMode>
<defaultRunMode>ManagedApplication</defaultRunMode>
<usePurposes>PersonalComputer</usePurposes>
<scriptVariant>Russian</scriptVariant>
<usedMobileApplicationFunctionalities>
<functionality>
<use>true</use>
</functionality>
<functionality>
<functionality>OSBackup</functionality>
<use>true</use>
</functionality>
</usedMobileApplicationFunctionalities>
<defaultLanguage>Language.Русский</defaultLanguage>
<dataLockControlMode>Managed</dataLockControlMode>
<objectAutonumerationMode>NotAutoFree</objectAutonumerationMode>
<modalityUseMode>DontUse</modalityUseMode>
<synchronousPlatformExtensionAndAddInCallUseMode>DontUse</synchronousPlatformExtensionAndAddInCallUseMode>
<compatibilityMode>8.3.23</compatibilityMode>
<languages uuid="cfd09419-0b47-4abe-8bfe-59b81b8a8187">
<name>Русский</name>
<synonym>
<key>ru</key>
<value>Русский</value>
</synonym>
<languageCode>ru</languageCode>
</languages>
<commonModules>CommonModule.ОбщийМодуль1</commonModules>
<catalogs>Catalog.Справочник1</catalogs>
</mdclass:Configuration>

View File

@ -0,0 +1,14 @@
// @strict-types
#Область ОбработчикиСобытий
// Код процедур и функций
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
// Код процедур и функций
#КонецОбласти

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<cmi:CommandInterface xmlns:cmi="http://g5.1c.ru/v8/dt/cmi"/>

View File

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

View File

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

View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>ExtensionNotifyDescriptionToServerProcedureCheck_Extension</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
<nature>com._1c.g5.v8.dt.core.V8ExtensionNature</nature>
</natures>
</projectDescription>

View File

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

View File

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

View File

@ -0,0 +1,3 @@
Manifest-Version: 1.0
Runtime-Version: 8.3.23
Base-Project: ExtensionNotifyDescriptionToServerProcedureCheck

View File

@ -0,0 +1,129 @@
<?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>Объект.Code</segments>
</dataPath>
<extendedTooltip>
<name>КодРасширеннаяПодсказка</name>
<id>3</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<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>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<editMode>EnterOnInput</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>4</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>Объект.Description</segments>
</dataPath>
<extendedTooltip>
<name>НаименованиеРасширеннаяПодсказка</name>
<id>6</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>НаименованиеКонтекстноеМеню</name>
<id>5</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<editMode>EnterOnInput</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>
<autoCommandBar>
<name>ФормаКоманднаяПанель</name>
<id>-1</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<horizontalAlign>Left</horizontalAlign>
<autoFill>true</autoFill>
</autoCommandBar>
<windowOpeningMode>LockOwnerWindow</windowOpeningMode>
<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>
<commandInterface>
<navigationPanel/>
<commandBar/>
</commandInterface>
<extInfo xsi:type="form:CatalogFormExtInfo"/>
</form:Form>

View File

@ -0,0 +1,129 @@
<?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>Объект.Code</segments>
</dataPath>
<extendedTooltip>
<name>КодРасширеннаяПодсказка</name>
<id>3</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<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>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<editMode>EnterOnInput</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>4</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>Объект.Description</segments>
</dataPath>
<extendedTooltip>
<name>НаименованиеРасширеннаяПодсказка</name>
<id>6</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>НаименованиеКонтекстноеМеню</name>
<id>5</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<editMode>EnterOnInput</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>
<autoCommandBar>
<name>ФормаКоманднаяПанель</name>
<id>-1</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<horizontalAlign>Left</horizontalAlign>
<autoFill>true</autoFill>
</autoCommandBar>
<windowOpeningMode>LockOwnerWindow</windowOpeningMode>
<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>
<commandInterface>
<navigationPanel/>
<commandBar/>
</commandInterface>
<extInfo xsi:type="form:CatalogFormExtInfo"/>
</form:Form>

View File

@ -0,0 +1,35 @@
#Область ОбработчикиСобытийЭлементовШапкиФормы
&НаКлиенте
Процедура Расш1_НаименованиеПриИзмененииПосле(Элемент)
описание = новый ОписаниеОповещения("дляОписания", ЭтотОбъект);
описание = новый ОписаниеОповещения("дляОписанияИзРасширения", ЭтотОбъект);
описание = новый ОписаниеОповещения("дляОписанияИзРасширенияНеЭкспорт", ЭтотОбъект);
описание = новый ОписаниеОповещения("ДляВызоваИзОписанияОповещения", ОбщийМодуль1);
описание = новый ОписаниеОповещения("ДляВызоваИзОписанияОповещения", ОбщийМодуль1.ЭтотОбъект);
описание = новый ОписаниеОповещения("СамВРасширенииДляВызоваИзОписанияОповещения", ОбщийМодуль1);
описание = новый ОписаниеОповещения("СамВРасширенииДляВызоваИзОписанияОповещения", ОбщийМодуль1.ЭтотОбъект);
описание = новый ОписаниеОповещения("ДляВызоваИзОписанияОповещенияНеЭкспорт", ОбщийМодуль1);
КонецПроцедуры
#КонецОбласти
&НаКлиенте
Процедура дляОписанияИзРасширения() Экспорт
КонецПроцедуры
&НаКлиенте
Процедура дляОписанияИзРасширенияНеЭкспорт()
КонецПроцедуры

View File

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:Catalog xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" xmlns:mdclassExtension="http://g5.1c.ru/v8/dt/metadata/mdclass/extension" uuid="1614945f-e73a-45e9-838e-ffb617f96ae5" extendedConfigurationObject="8a57a51c-aff1-4853-b523-34d586736ee1">
<producedTypes>
<objectType typeId="9890227b-d9dc-4c53-bdf1-54b0a03d97d1" valueTypeId="27458a2f-d07d-4cab-86ae-6f752e343e7f"/>
<refType typeId="76a6e3d5-a149-4456-8f68-4e8193208332" valueTypeId="1c9ce635-9c7d-4249-b1ac-01a5024c2833"/>
<selectionType typeId="e70983b0-7c45-4eb9-a15e-66fdb6f0f903" valueTypeId="642b1f48-f8ab-480f-82be-f85bfbc42712"/>
<listType typeId="4563b3f4-427b-48ac-8696-2f343b3dc86b" valueTypeId="3b05203d-f9f5-4c88-9bd0-21afd2c86309"/>
<managerType typeId="3f3112e3-8607-46fa-ad78-8f1295d076e4" valueTypeId="30d37786-e49d-4062-b819-3601f36c986a"/>
</producedTypes>
<name>Справочник1</name>
<objectBelonging>Adopted</objectBelonging>
<extension xsi:type="mdclassExtension:CatalogExtension">
<extendedConfigurationObject>Checked</extendedConfigurationObject>
</extension>
<useStandardCommands>true</useStandardCommands>
<checkUnique>true</checkUnique>
<forms uuid="5e2d73d4-a969-4157-a749-20e9da98b6e7" extendedConfigurationObject="140fb776-e680-431e-8702-fdb3197d5b25">
<name>ФормаЭлемента</name>
<objectBelonging>Adopted</objectBelonging>
<extension xsi:type="mdclassExtension:BasicFormExtension">
<extendedConfigurationObject>Checked</extendedConfigurationObject>
<form>Extended</form>
</extension>
</forms>
</mdclass:Catalog>

View File

@ -0,0 +1,3 @@
Процедура СамВРасширенииДляВызоваИзОписанияОповещения(первый, второй) Экспорт
Сообщить("метод = СамВРасширенииДляВызоваИзОписанияОповещения");
КонецПроцедуры

View File

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonModule xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" xmlns:mdclassExtension="http://g5.1c.ru/v8/dt/metadata/mdclass/extension" uuid="f1815d4c-0a30-481f-b1ce-717e600819cf" extendedConfigurationObject="e8efe1eb-adb4-4724-9474-768aff51ed2d">
<name>ОбщийМодуль1</name>
<objectBelonging>Adopted</objectBelonging>
<extension xsi:type="mdclassExtension:CommonModuleExtension">
<extendedConfigurationObject>Checked</extendedConfigurationObject>
<global>Checked</global>
<clientManagedApplication>Checked</clientManagedApplication>
<server>Checked</server>
<externalConnection>Checked</externalConnection>
<serverCall>Checked</serverCall>
<clientOrdinaryApplication>Checked</clientOrdinaryApplication>
</extension>
<clientManagedApplication>true</clientManagedApplication>
</mdclass:CommonModule>

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<cmi:CommandInterface xmlns:cmi="http://g5.1c.ru/v8/dt/cmi"/>

View File

@ -0,0 +1,51 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:Configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" xmlns:mdclassExtension="http://g5.1c.ru/v8/dt/metadata/mdclass/extension" uuid="0e074243-4d28-4261-8311-12099232ff21">
<name>ExtensionNotifyDescriptionToServerProcedureCheck_Extension</name>
<synonym>
<key>ru</key>
<value>Extension notify description to server procedure check extension</value>
</synonym>
<objectBelonging>Adopted</objectBelonging>
<extension xsi:type="mdclassExtension:ConfigurationExtension">
<defaultRunMode>Checked</defaultRunMode>
<usePurposes>Checked</usePurposes>
<managedApplicationModule>Extended</managedApplicationModule>
<sessionModule>Extended</sessionModule>
<externalConnectionModule>Extended</externalConnectionModule>
<commandInterface>Extended</commandInterface>
<mainSectionCommandInterface>Extended</mainSectionCommandInterface>
<defaultLanguage>Checked</defaultLanguage>
<interfaceCompatibilityMode>Checked</interfaceCompatibilityMode>
<compatibilityMode>Checked</compatibilityMode>
<defaultStyle>Extended</defaultStyle>
<defaultRoles>Extended</defaultRoles>
</extension>
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="e751f8b4-cac7-447d-9868-9373f4089e91"/>
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="31fd1e73-2c56-4eb6-b940-a70b099e577e"/>
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="3634b2bb-6acb-4786-8034-42c6fe18e4b9"/>
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="66b3f446-18e0-439f-8be2-a0cafb4769dd"/>
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="80aab067-ad7f-4d9c-a914-11134cbf22aa"/>
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="5c520ad4-1a9c-43f9-9e9b-36dc114f1424"/>
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="306ee63f-5b0b-4296-8c2e-ecbc5ba7d122"/>
<keepMappingToExtendedConfigurationObjectsByIDs>true</keepMappingToExtendedConfigurationObjectsByIDs>
<namePrefix>Расш1_</namePrefix>
<configurationExtensionCompatibilityMode>8.3.23</configurationExtensionCompatibilityMode>
<configurationExtensionPurpose>Customization</configurationExtensionPurpose>
<defaultRunMode>ManagedApplication</defaultRunMode>
<usePurposes>PersonalComputer</usePurposes>
<scriptVariant>Russian</scriptVariant>
<defaultRoles>Role.Расш1_ОсновнаяРоль</defaultRoles>
<defaultLanguage>Language.Русский</defaultLanguage>
<compatibilityMode>8.3.23</compatibilityMode>
<languages uuid="021dae22-55e1-4e56-b02c-64b8a6672e1e">
<name>Русский</name>
<objectBelonging>Adopted</objectBelonging>
<extension xsi:type="mdclassExtension:LanguageExtension">
<languageCode>Checked</languageCode>
</extension>
<languageCode>ru</languageCode>
</languages>
<roles>Role.Расш1_ОсновнаяРоль</roles>
<commonModules>CommonModule.ОбщийМодуль1</commonModules>
<catalogs>Catalog.Справочник1</catalogs>
</mdclass:Configuration>

View File

@ -0,0 +1,14 @@
// @strict-types
#Область ОбработчикиСобытий
// Код процедур и функций
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
// Код процедур и функций
#КонецОбласти

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<cmi:CommandInterface xmlns:cmi="http://g5.1c.ru/v8/dt/cmi"/>

View File

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

View File

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

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Rights xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://v8.1c.ru/8.2/roles" xsi:type="Rights">
<setForNewObjects>true</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
</Rights>

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:Role xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="7dc3eff6-766f-4930-82d3-dfbe0756d4cb">
<name>Расш1_ОсновнаяРоль</name>
<synonym>
<key>ru</key>
<value>Основная роль</value>
</synonym>
</mdclass:Role>