mirror of
https://github.com/1C-Company/v8-code-style.git
synced 2025-04-25 16:54:42 +02:00
parent
3cf3db92ed
commit
5eba8cf466
@ -10,6 +10,7 @@
|
|||||||
|
|
||||||
#### Метаданные
|
#### Метаданные
|
||||||
|
|
||||||
|
- Документ не имеет реквизита "Комментарий"
|
||||||
|
|
||||||
#### Формы
|
#### Формы
|
||||||
|
|
||||||
|
@ -0,0 +1,18 @@
|
|||||||
|
# Document does not have the "Comment" attribute
|
||||||
|
|
||||||
|
For all documents, it is recommended to create the attribute Comment
|
||||||
|
(string of unlimited length). In this prop, users can
|
||||||
|
write down various official notes on the document, which
|
||||||
|
do not relate to the application specifics of the document (for example, the reason for marking
|
||||||
|
for deletions, etc.). Access to props for users should be
|
||||||
|
configured in the same way as for the document itself (if the document is available only
|
||||||
|
for reading, then the comment is read-only; if there is a right
|
||||||
|
document record, then the attribute value can also be changed).
|
||||||
|
|
||||||
|
## Неправильно
|
||||||
|
|
||||||
|
## Правильно
|
||||||
|
|
||||||
|
## См.
|
||||||
|
|
||||||
|
[Document does not have the "Comment" attribute](https://its.1c.ru/db/v8std#content:531:hdoc:1)
|
@ -0,0 +1,18 @@
|
|||||||
|
# Документ не имеет реквизита "Комментарий"
|
||||||
|
|
||||||
|
Для всех документов рекомендуется создавать реквизит Комментарий
|
||||||
|
(строка неограниченной длины). В этом реквизите пользователи могут
|
||||||
|
записывать по документу различные заметки служебного характера, которые
|
||||||
|
не относятся к прикладной специфике документа (например, причина пометки
|
||||||
|
на удаления и т.п.). Доступ к реквизиту для пользователей должен быть
|
||||||
|
настроен также как и к самому документу (если документ доступен только
|
||||||
|
для чтения, то и комментарий – только для чтения; если же есть право
|
||||||
|
записи документа, то и значение реквизита также можно изменять).
|
||||||
|
|
||||||
|
## Неправильно
|
||||||
|
|
||||||
|
## Правильно
|
||||||
|
|
||||||
|
## См.
|
||||||
|
|
||||||
|
[Реквизит «Комментарий» у документов](https://its.1c.ru/db/v8std#content:531:hdoc:1)
|
@ -110,6 +110,10 @@
|
|||||||
category="com.e1c.v8codestyle.md"
|
category="com.e1c.v8codestyle.md"
|
||||||
class="com.e1c.v8codestyle.internal.md.ExecutableExtensionFactory:com.e1c.v8codestyle.md.check.ExtensionMdObjectNamePrefixCheck">
|
class="com.e1c.v8codestyle.internal.md.ExecutableExtensionFactory:com.e1c.v8codestyle.md.check.ExtensionMdObjectNamePrefixCheck">
|
||||||
</check>
|
</check>
|
||||||
|
<check
|
||||||
|
category="com.e1c.v8codestyle.md"
|
||||||
|
class="com.e1c.v8codestyle.md.check.MdObjectAttributeCommentNotExistCheck">
|
||||||
|
</check>
|
||||||
</extension>
|
</extension>
|
||||||
|
|
||||||
</plugin>
|
</plugin>
|
||||||
|
@ -0,0 +1,182 @@
|
|||||||
|
/*******************************************************************************
|
||||||
|
* Copyright (C) 2023, 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
|
||||||
|
* Vadim Gocnharov - issue #487
|
||||||
|
*******************************************************************************/
|
||||||
|
|
||||||
|
package com.e1c.v8codestyle.md.check;
|
||||||
|
|
||||||
|
import java.util.Set;
|
||||||
|
import java.util.TreeSet;
|
||||||
|
|
||||||
|
import static com._1c.g5.v8.dt.metadata.mdclass.MdClassPackage.Literals.CATALOG;
|
||||||
|
import static com._1c.g5.v8.dt.metadata.mdclass.MdClassPackage.Literals.DOCUMENT;
|
||||||
|
import static com._1c.g5.v8.dt.metadata.mdclass.MdClassPackage.Literals.CATALOG__ATTRIBUTES;
|
||||||
|
import static com._1c.g5.v8.dt.metadata.mdclass.MdClassPackage.Literals.DOCUMENT__ATTRIBUTES;
|
||||||
|
|
||||||
|
import org.eclipse.core.runtime.IProgressMonitor;
|
||||||
|
import org.eclipse.emf.common.util.EList;
|
||||||
|
|
||||||
|
import com._1c.g5.v8.dt.metadata.mdclass.Catalog;
|
||||||
|
import com._1c.g5.v8.dt.metadata.mdclass.CatalogAttribute;
|
||||||
|
import com._1c.g5.v8.dt.metadata.mdclass.DbObjectAttribute;
|
||||||
|
import com._1c.g5.v8.dt.metadata.mdclass.Document;
|
||||||
|
import com._1c.g5.v8.dt.metadata.mdclass.DocumentAttribute;
|
||||||
|
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;
|
||||||
|
import com.e1c.g5.v8.dt.check.components.TopObjectFilterExtension;
|
||||||
|
import com.e1c.g5.v8.dt.check.settings.IssueSeverity;
|
||||||
|
import com.e1c.g5.v8.dt.check.settings.IssueType;
|
||||||
|
import com.e1c.v8codestyle.check.StandardCheckExtension;
|
||||||
|
import com.e1c.v8codestyle.internal.md.CorePlugin;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check top Metadata object (Catalog or Document) have attribute named "Comment"
|
||||||
|
*
|
||||||
|
* @author Vadim Goncharov
|
||||||
|
*/
|
||||||
|
public class MdObjectAttributeCommentNotExistCheck
|
||||||
|
extends BasicCheck
|
||||||
|
{
|
||||||
|
|
||||||
|
private static final String CHECK_ID = "md-object-attribute-comment-not-exist"; //$NON-NLS-1$
|
||||||
|
|
||||||
|
public static final String PARAM_CHECK_DOCUMENTS = "checkDocuments"; //$NON-NLS-1$
|
||||||
|
public static final String PARAM_CHECK_CATALOGS = "checkCatalogs"; //$NON-NLS-1$
|
||||||
|
public static final String PARAM_ATTRIBUTE_NAMES_LIST = "attributesList"; //$NON-NLS-1$
|
||||||
|
|
||||||
|
public static final String DEFAULT_CHECK_DOCUMENTS = Boolean.toString(true);
|
||||||
|
public static final String DEFAULT_CHECK_CATALOGS = Boolean.toString(false);
|
||||||
|
private static final Set<String> ATTRIBUTE_NAMES_LIST = Set.of("Комментарий", //$NON-NLS-1$
|
||||||
|
"Comment"); //$NON-NLS-1$
|
||||||
|
private static final String DELIMITER = ","; //$NON-NLS-1$
|
||||||
|
public static final String DEFAULT_ATTRIBUTE_NAMES_LIST = String.join(DELIMITER, ATTRIBUTE_NAMES_LIST);
|
||||||
|
|
||||||
|
public MdObjectAttributeCommentNotExistCheck()
|
||||||
|
{
|
||||||
|
super();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getCheckId()
|
||||||
|
{
|
||||||
|
return CHECK_ID;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void configureCheck(CheckConfigurer builder)
|
||||||
|
{
|
||||||
|
builder.title(Messages.MdObjectAttributeCommentNotExist_title)
|
||||||
|
.description(Messages.MdObjectAttributeCommentNotExist_description)
|
||||||
|
.complexity(CheckComplexity.NORMAL)
|
||||||
|
.severity(IssueSeverity.MINOR)
|
||||||
|
.issueType(IssueType.UI_STYLE)
|
||||||
|
.extension(new StandardCheckExtension(531, getCheckId(), CorePlugin.PLUGIN_ID))
|
||||||
|
.extension(new SkipAdoptedInExtensionMdObjectExtension())
|
||||||
|
.extension(new TopObjectFilterExtension())
|
||||||
|
.parameter(PARAM_ATTRIBUTE_NAMES_LIST, String.class, DEFAULT_ATTRIBUTE_NAMES_LIST,
|
||||||
|
Messages.MdObjectAttributeCommentNotExist_Param_Attribute_name_list);
|
||||||
|
|
||||||
|
builder.topObject(DOCUMENT)
|
||||||
|
.checkTop()
|
||||||
|
.features(DOCUMENT__ATTRIBUTES)
|
||||||
|
.parameter(PARAM_CHECK_DOCUMENTS, Boolean.class, DEFAULT_CHECK_DOCUMENTS,
|
||||||
|
Messages.MdObjectAttributeCommentNotExist_Param_Check_Documents);
|
||||||
|
|
||||||
|
builder.topObject(CATALOG)
|
||||||
|
.checkTop()
|
||||||
|
.features(CATALOG__ATTRIBUTES)
|
||||||
|
.parameter(PARAM_CHECK_CATALOGS, Boolean.class, DEFAULT_CHECK_CATALOGS,
|
||||||
|
Messages.MdObjectAttributeCommentNotExist_Param_Check_Catalogs);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void check(Object object, ResultAcceptor resultAcceptor, ICheckParameters parameters,
|
||||||
|
IProgressMonitor monitor)
|
||||||
|
{
|
||||||
|
|
||||||
|
boolean attributeExist = false;
|
||||||
|
|
||||||
|
boolean checkCatalogs = parameters.getBoolean(PARAM_CHECK_CATALOGS);
|
||||||
|
boolean checkDocuments = parameters.getBoolean(PARAM_CHECK_DOCUMENTS);
|
||||||
|
Set<String> attributeNamesList = getListOfAttributeNames(parameters);
|
||||||
|
|
||||||
|
if (monitor.isCanceled())
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (object instanceof Document && checkDocuments)
|
||||||
|
{
|
||||||
|
Document document = (Document)object;
|
||||||
|
EList<DocumentAttribute> attributes = document.getAttributes();
|
||||||
|
for (DbObjectAttribute attribute : attributes)
|
||||||
|
{
|
||||||
|
|
||||||
|
if (monitor.isCanceled())
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isAttributeNamedComment(attribute, attributeNamesList))
|
||||||
|
{
|
||||||
|
attributeExist = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (object instanceof Catalog && checkCatalogs)
|
||||||
|
{
|
||||||
|
Catalog catalog = (Catalog)object;
|
||||||
|
EList<CatalogAttribute> attributes = catalog.getAttributes();
|
||||||
|
for (DbObjectAttribute attribute : attributes)
|
||||||
|
{
|
||||||
|
|
||||||
|
if (monitor.isCanceled())
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isAttributeNamedComment(attribute, attributeNamesList))
|
||||||
|
{
|
||||||
|
attributeExist = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!monitor.isCanceled() && !attributeExist)
|
||||||
|
{
|
||||||
|
resultAcceptor
|
||||||
|
.addIssue(Messages.MdObjectAttributeCommentNotExist_Md_Object_attribute_Comment_does_not_exist, object);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean isAttributeNamedComment(DbObjectAttribute attribute, Set<String> attributeNamesList)
|
||||||
|
{
|
||||||
|
return attributeNamesList.contains(attribute.getName());
|
||||||
|
}
|
||||||
|
|
||||||
|
private Set<String> getListOfAttributeNames(ICheckParameters parameters)
|
||||||
|
{
|
||||||
|
Set<String> attributeNames = new TreeSet<>(String.CASE_INSENSITIVE_ORDER);
|
||||||
|
|
||||||
|
String paramAttributesString = parameters.getString(PARAM_ATTRIBUTE_NAMES_LIST);
|
||||||
|
Set<String> paramsAttributeNames = Set.of(paramAttributesString.replace(" ", "").split(DELIMITER)); //$NON-NLS-1$ //$NON-NLS-2$
|
||||||
|
|
||||||
|
attributeNames.addAll(paramsAttributeNames);
|
||||||
|
|
||||||
|
return attributeNames;
|
||||||
|
}
|
||||||
|
}
|
@ -27,6 +27,12 @@ final class Messages
|
|||||||
public static String DbObjectRefNonRefTypesCheck_Description;
|
public static String DbObjectRefNonRefTypesCheck_Description;
|
||||||
public static String DbObjectRefNonRefTypesCheck_Ref_and_other;
|
public static String DbObjectRefNonRefTypesCheck_Ref_and_other;
|
||||||
public static String DbObjectRefNonRefTypesCheck_Title;
|
public static String DbObjectRefNonRefTypesCheck_Title;
|
||||||
|
public static String MdObjectAttributeCommentNotExist_description;
|
||||||
|
public static String MdObjectAttributeCommentNotExist_Md_Object_attribute_Comment_does_not_exist;
|
||||||
|
public static String MdObjectAttributeCommentNotExist_Param_Check_Catalogs;
|
||||||
|
public static String MdObjectAttributeCommentNotExist_Param_Check_Documents;
|
||||||
|
public static String MdObjectAttributeCommentNotExist_Param_Attribute_name_list;
|
||||||
|
public static String MdObjectAttributeCommentNotExist_title;
|
||||||
public static String MdObjectNameWithoutSuffix_Name_suffix_list_title;
|
public static String MdObjectNameWithoutSuffix_Name_suffix_list_title;
|
||||||
public static String CommonModuleNameClient_title;
|
public static String CommonModuleNameClient_title;
|
||||||
public static String CommonModuleNameClientServer_description;
|
public static String CommonModuleNameClientServer_description;
|
||||||
|
@ -71,6 +71,18 @@ MdListObjectPresentationCheck_decription = Neither Object presentation nor List
|
|||||||
|
|
||||||
MdListObjectPresentationCheck_title = Neither Object presentation nor List presentation is not filled
|
MdListObjectPresentationCheck_title = Neither Object presentation nor List presentation is not filled
|
||||||
|
|
||||||
|
MdObjectAttributeCommentNotExist_Md_Object_attribute_Comment_does_not_exist = Md Object attribute "Comment" does not exist
|
||||||
|
|
||||||
|
MdObjectAttributeCommentNotExist_Param_Attribute_name_list = Attribute name list
|
||||||
|
|
||||||
|
MdObjectAttributeCommentNotExist_Param_Check_Catalogs = Check catalogs
|
||||||
|
|
||||||
|
MdObjectAttributeCommentNotExist_Param_Check_Documents = Check documents
|
||||||
|
|
||||||
|
MdObjectAttributeCommentNotExist_description = Md Object attribute "Comment" does not exist
|
||||||
|
|
||||||
|
MdObjectAttributeCommentNotExist_title = Md Object attribute "Comment" does not exist
|
||||||
|
|
||||||
MdObjectNameLength_Maximum_name_length_description = Maximum name length
|
MdObjectNameLength_Maximum_name_length_description = Maximum name length
|
||||||
|
|
||||||
MdObjectNameLength_description = Metadata object name length should be less than {0}
|
MdObjectNameLength_description = Metadata object name length should be less than {0}
|
||||||
|
@ -72,6 +72,18 @@ MdListObjectPresentationCheck_decription = Не заполнено ни пред
|
|||||||
|
|
||||||
MdListObjectPresentationCheck_title = Не заполнено ни представление объекта, ни представление списка
|
MdListObjectPresentationCheck_title = Не заполнено ни представление объекта, ни представление списка
|
||||||
|
|
||||||
|
MdObjectAttributeCommentNotExist_Md_Object_attribute_Comment_does_not_exist = Объект метаданных не имеет реквизит "Комментарий"
|
||||||
|
|
||||||
|
MdObjectAttributeCommentNotExist_Param_Attribute_name_list = Список имен реквизита
|
||||||
|
|
||||||
|
MdObjectAttributeCommentNotExist_Param_Check_Catalogs = Проверять справочники
|
||||||
|
|
||||||
|
MdObjectAttributeCommentNotExist_Param_Check_Documents = Проверять документы
|
||||||
|
|
||||||
|
MdObjectAttributeCommentNotExist_description = Объект метаданных не имеет реквизит "Комментарий"
|
||||||
|
|
||||||
|
MdObjectAttributeCommentNotExist_title = Объект метаданных не имеет реквизит "Комментарий"
|
||||||
|
|
||||||
MdObjectNameLength_Maximum_name_length_description = Максимальная длина имени
|
MdObjectNameLength_Maximum_name_length_description = Максимальная длина имени
|
||||||
|
|
||||||
MdObjectNameLength_description = Длина имени объекта метаданного должна быть меньше чем {0}
|
MdObjectNameLength_description = Длина имени объекта метаданного должна быть меньше чем {0}
|
||||||
|
@ -0,0 +1,58 @@
|
|||||||
|
package com.e1c.v8codestyle.md.check.itests;
|
||||||
|
|
||||||
|
import static org.junit.Assert.assertNotNull;
|
||||||
|
import static org.junit.Assert.assertNull;
|
||||||
|
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
|
import com._1c.g5.v8.dt.core.platform.IDtProject;
|
||||||
|
import com._1c.g5.v8.dt.validation.marker.Marker;
|
||||||
|
import com.e1c.g5.v8.dt.testing.check.CheckTestBase;
|
||||||
|
import com.e1c.v8codestyle.md.check.MdObjectAttributeCommentNotExistCheck;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Tests for {@link MdObjectAttributeCommentNotExistCheck} check.
|
||||||
|
*
|
||||||
|
* @author Vadim Goncharov
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class MdObjectAttributeCommentNotExistCheckTest
|
||||||
|
extends CheckTestBase
|
||||||
|
{
|
||||||
|
|
||||||
|
private static final String CHECK_ID = "md-object-attribute-comment-not-exist";
|
||||||
|
|
||||||
|
private static final String PROJECT_NAME = "MdObjectAttributeCommentNotExist";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Test that md object's attribute named "Comment" does not exist
|
||||||
|
* @throws Exception the exception
|
||||||
|
*/
|
||||||
|
@Test
|
||||||
|
public void testMdObject() throws Exception
|
||||||
|
{
|
||||||
|
IDtProject dtProject = openProjectAndWaitForValidationFinish(PROJECT_NAME);
|
||||||
|
assertNotNull(dtProject);
|
||||||
|
|
||||||
|
long id = getTopObjectIdByFqn("Document.TestDocument1", dtProject);
|
||||||
|
Marker marker = getFirstMarker(CHECK_ID, id, dtProject);
|
||||||
|
assertNull(marker);
|
||||||
|
|
||||||
|
id = getTopObjectIdByFqn("Document.TestDocument2", dtProject);
|
||||||
|
marker = getFirstMarker(CHECK_ID, id, dtProject);
|
||||||
|
assertNull(marker);
|
||||||
|
|
||||||
|
id = getTopObjectIdByFqn("Document.TestDocument3", dtProject);
|
||||||
|
marker = getFirstMarker(CHECK_ID, id, dtProject);
|
||||||
|
assertNotNull(marker);
|
||||||
|
|
||||||
|
id = getTopObjectIdByFqn("Catalog.TestCatalog1", dtProject);
|
||||||
|
marker = getFirstMarker(CHECK_ID, id, dtProject);
|
||||||
|
assertNull(marker);
|
||||||
|
|
||||||
|
id = getTopObjectIdByFqn("Catalog.TestCatalog2", dtProject);
|
||||||
|
marker = getFirstMarker(CHECK_ID, id, dtProject);
|
||||||
|
assertNotNull(marker);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,18 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<projectDescription>
|
||||||
|
<name>MdObjectAttributeCommentNotExist</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>
|
@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"version": 1,
|
||||||
|
"settings": {
|
||||||
|
"md-object-attribute-comment-not-exist": {
|
||||||
|
"properties": {
|
||||||
|
"checkCatalogs": "true"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,2 @@
|
|||||||
|
eclipse.preferences.version=1
|
||||||
|
encoding/<project>=UTF-8
|
@ -0,0 +1,2 @@
|
|||||||
|
Manifest-Version: 1.0
|
||||||
|
Runtime-Version: 8.3.19
|
@ -0,0 +1,49 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<mdclass:Catalog xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:core="http://g5.1c.ru/v8/dt/mcore" xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="1b179646-d487-4e62-b9ac-efa1a750e246">
|
||||||
|
<producedTypes>
|
||||||
|
<objectType typeId="2a4dc066-7cf8-44be-b048-2c9158e5106a" valueTypeId="742d7236-8e6f-4342-8e2d-97d8c9f6511e"/>
|
||||||
|
<refType typeId="be79a7f6-df83-4ab1-9d2b-af28062cba97" valueTypeId="26f1849b-13e6-4108-acd3-a89076040865"/>
|
||||||
|
<selectionType typeId="14e27cd2-58b8-4250-9b39-2316c5f6bbe8" valueTypeId="19f7cc09-fd4f-4a9a-b885-33eb7c68ffbc"/>
|
||||||
|
<listType typeId="febb6ec7-3143-46cb-926f-21a3dcb4b706" valueTypeId="c49c812c-e9f7-493a-81c4-681153c6ad88"/>
|
||||||
|
<managerType typeId="687c9a64-387c-423a-91f2-61cee11eb3c5" valueTypeId="f6d50baf-51ff-463e-8d70-2d956efb8125"/>
|
||||||
|
</producedTypes>
|
||||||
|
<name>TestCatalog1</name>
|
||||||
|
<synonym>
|
||||||
|
<key>en</key>
|
||||||
|
<value>Test catalog1</value>
|
||||||
|
</synonym>
|
||||||
|
<useStandardCommands>true</useStandardCommands>
|
||||||
|
<inputByString>Catalog.TestCatalog1.StandardAttribute.Code</inputByString>
|
||||||
|
<inputByString>Catalog.TestCatalog1.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>
|
||||||
|
<attributes uuid="5c4583d9-4e6b-4d96-8128-e8509187ea72">
|
||||||
|
<name>Comment</name>
|
||||||
|
<synonym>
|
||||||
|
<key>en</key>
|
||||||
|
<value>Comment</value>
|
||||||
|
</synonym>
|
||||||
|
<type>
|
||||||
|
<types>String</types>
|
||||||
|
<stringQualifiers/>
|
||||||
|
</type>
|
||||||
|
<minValue xsi:type="core:UndefinedValue"/>
|
||||||
|
<maxValue xsi:type="core:UndefinedValue"/>
|
||||||
|
<fillValue xsi:type="core:UndefinedValue"/>
|
||||||
|
<fullTextSearch>Use</fullTextSearch>
|
||||||
|
<dataHistory>Use</dataHistory>
|
||||||
|
</attributes>
|
||||||
|
</mdclass:Catalog>
|
@ -0,0 +1,33 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<mdclass:Catalog xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="c0765458-f5bb-4891-bd81-11b5d1104d54">
|
||||||
|
<producedTypes>
|
||||||
|
<objectType typeId="1c1a4b98-8c8b-4010-b88c-40e2ad887eb7" valueTypeId="045aacb1-c826-46be-b10e-c999998b5359"/>
|
||||||
|
<refType typeId="3f8707c0-f688-4064-ba96-21b39d2bee31" valueTypeId="8d62080c-f062-42ba-957f-be3fc9d499cf"/>
|
||||||
|
<selectionType typeId="57a968cd-43cd-4e01-8c8d-a7891e3d9fbf" valueTypeId="d66e369f-0809-4186-976d-04eeb76d1a53"/>
|
||||||
|
<listType typeId="3c41b9e0-9f29-45ea-a21b-c9a6d113ebb9" valueTypeId="4f09f865-80ca-4ea8-8cd3-1bad19b4ab32"/>
|
||||||
|
<managerType typeId="2d459676-6061-4808-bef4-42845be8a501" valueTypeId="636f2db7-a292-4d5d-a1e9-7b42f70bebb9"/>
|
||||||
|
</producedTypes>
|
||||||
|
<name>TestCatalog2</name>
|
||||||
|
<synonym>
|
||||||
|
<key>en</key>
|
||||||
|
<value>Test catalog2</value>
|
||||||
|
</synonym>
|
||||||
|
<useStandardCommands>true</useStandardCommands>
|
||||||
|
<inputByString>Catalog.TestCatalog2.StandardAttribute.Code</inputByString>
|
||||||
|
<inputByString>Catalog.TestCatalog2.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>
|
||||||
|
</mdclass:Catalog>
|
@ -0,0 +1,2 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<cmi:CommandInterface xmlns:cmi="http://g5.1c.ru/v8/dt/cmi"/>
|
@ -0,0 +1,46 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="5d36dacb-1027-41d5-b939-991c391004b1">
|
||||||
|
<name>MdObjectAttributeCommentNotExist</name>
|
||||||
|
<synonym>
|
||||||
|
<key>en</key>
|
||||||
|
<value>Md object attribute comment not exist</value>
|
||||||
|
</synonym>
|
||||||
|
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="1afe7545-061d-4405-9a4f-46e04eb1d05e"/>
|
||||||
|
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="fd8be8c0-267f-4b82-9f51-986a369a6b44"/>
|
||||||
|
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="913c7d87-febc-42cd-bdf7-bc0c89dcd7dc"/>
|
||||||
|
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="58528c2d-e956-49cd-b452-4fdb2b373c5e"/>
|
||||||
|
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="1f14550f-3c6d-41ce-8c63-765d2f4c2822"/>
|
||||||
|
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="e91c2520-82bf-4f46-bdf5-0c7ec9a77614"/>
|
||||||
|
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="2e3d57ed-cc50-4497-b013-387d8f98a441"/>
|
||||||
|
<configurationExtensionCompatibilityMode>8.3.19</configurationExtensionCompatibilityMode>
|
||||||
|
<defaultRunMode>ManagedApplication</defaultRunMode>
|
||||||
|
<usePurposes>PersonalComputer</usePurposes>
|
||||||
|
<usedMobileApplicationFunctionalities>
|
||||||
|
<functionality>
|
||||||
|
<use>true</use>
|
||||||
|
</functionality>
|
||||||
|
<functionality>
|
||||||
|
<functionality>OSBackup</functionality>
|
||||||
|
<use>true</use>
|
||||||
|
</functionality>
|
||||||
|
</usedMobileApplicationFunctionalities>
|
||||||
|
<defaultLanguage>Language.English</defaultLanguage>
|
||||||
|
<dataLockControlMode>Managed</dataLockControlMode>
|
||||||
|
<objectAutonumerationMode>NotAutoFree</objectAutonumerationMode>
|
||||||
|
<modalityUseMode>DontUse</modalityUseMode>
|
||||||
|
<synchronousPlatformExtensionAndAddInCallUseMode>DontUse</synchronousPlatformExtensionAndAddInCallUseMode>
|
||||||
|
<compatibilityMode>8.3.19</compatibilityMode>
|
||||||
|
<languages uuid="15a333e8-44ac-48ca-acba-09f3cc6136dc">
|
||||||
|
<name>English</name>
|
||||||
|
<synonym>
|
||||||
|
<key>en</key>
|
||||||
|
<value>English</value>
|
||||||
|
</synonym>
|
||||||
|
<languageCode>en</languageCode>
|
||||||
|
</languages>
|
||||||
|
<catalogs>Catalog.TestCatalog1</catalogs>
|
||||||
|
<catalogs>Catalog.TestCatalog2</catalogs>
|
||||||
|
<documents>Document.TestDocument1</documents>
|
||||||
|
<documents>Document.TestDocument2</documents>
|
||||||
|
<documents>Document.TestDocument3</documents>
|
||||||
|
</mdclass:Configuration>
|
@ -0,0 +1,2 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<cmi:CommandInterface xmlns:cmi="http://g5.1c.ru/v8/dt/cmi"/>
|
@ -0,0 +1,44 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<mdclass:Document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:core="http://g5.1c.ru/v8/dt/mcore" xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="6dc74c6a-296c-45db-8adb-8b56596455fa">
|
||||||
|
<producedTypes>
|
||||||
|
<objectType typeId="9f2d1a84-c3df-4bf1-a12d-49e08aa69535" valueTypeId="41068a5c-169e-4a1c-a0e6-d067b8af78d2"/>
|
||||||
|
<refType typeId="bed3dada-a977-498c-9413-8ffbfcdb3ad8" valueTypeId="9249c7dd-488b-4817-a6a3-9166b073168f"/>
|
||||||
|
<selectionType typeId="83ea99eb-703b-4edc-9a56-cba834ad735d" valueTypeId="371aaf5c-0c52-434d-9ac2-f9fdcde4570c"/>
|
||||||
|
<listType typeId="36c0ef7a-a2e6-4759-a8a0-9ce71b2b5a1a" valueTypeId="080e4492-46ca-4c71-8b14-c6061bc9cf2e"/>
|
||||||
|
<managerType typeId="f9f496c3-c90e-4ecc-9b8d-655a570ed26f" valueTypeId="4e9058d1-bf3d-4053-a351-a9e85d28d0d5"/>
|
||||||
|
</producedTypes>
|
||||||
|
<name>TestDocument1</name>
|
||||||
|
<synonym>
|
||||||
|
<key>en</key>
|
||||||
|
<value>Test document1</value>
|
||||||
|
</synonym>
|
||||||
|
<useStandardCommands>true</useStandardCommands>
|
||||||
|
<inputByString>Document.TestDocument1.StandardAttribute.Number</inputByString>
|
||||||
|
<fullTextSearchOnInputByString>DontUse</fullTextSearchOnInputByString>
|
||||||
|
<createOnInput>Use</createOnInput>
|
||||||
|
<dataLockControlMode>Managed</dataLockControlMode>
|
||||||
|
<fullTextSearch>Use</fullTextSearch>
|
||||||
|
<numberType>String</numberType>
|
||||||
|
<numberLength>9</numberLength>
|
||||||
|
<numberAllowedLength>Variable</numberAllowedLength>
|
||||||
|
<checkUnique>true</checkUnique>
|
||||||
|
<autonumbering>true</autonumbering>
|
||||||
|
<postInPrivilegedMode>true</postInPrivilegedMode>
|
||||||
|
<unpostInPrivilegedMode>true</unpostInPrivilegedMode>
|
||||||
|
<attributes uuid="36e4250a-ee81-4a6c-b681-91a47f35b13f">
|
||||||
|
<name>Comment</name>
|
||||||
|
<synonym>
|
||||||
|
<key>en</key>
|
||||||
|
<value>Comment</value>
|
||||||
|
</synonym>
|
||||||
|
<type>
|
||||||
|
<types>String</types>
|
||||||
|
<stringQualifiers/>
|
||||||
|
</type>
|
||||||
|
<minValue xsi:type="core:UndefinedValue"/>
|
||||||
|
<maxValue xsi:type="core:UndefinedValue"/>
|
||||||
|
<fillValue xsi:type="core:UndefinedValue"/>
|
||||||
|
<fullTextSearch>Use</fullTextSearch>
|
||||||
|
<dataHistory>Use</dataHistory>
|
||||||
|
</attributes>
|
||||||
|
</mdclass:Document>
|
@ -0,0 +1,44 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<mdclass:Document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:core="http://g5.1c.ru/v8/dt/mcore" xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="10573773-965d-4ce8-b8bd-9e09e9a44cb2">
|
||||||
|
<producedTypes>
|
||||||
|
<objectType typeId="0153b768-ca5c-4d74-b5c0-433b91d63c07" valueTypeId="630f7917-8130-4e93-8243-985201ea993e"/>
|
||||||
|
<refType typeId="93d1d3ef-d79a-406a-9e4a-5e85183d9921" valueTypeId="2bf9b53c-b916-4771-90bf-3867a665a08f"/>
|
||||||
|
<selectionType typeId="9518d3ee-815c-4cf6-86e6-bb48df89d212" valueTypeId="a7690215-16e5-411e-8d86-c143055098e6"/>
|
||||||
|
<listType typeId="f1e0e6e5-4988-40e1-a036-6bc1694df31d" valueTypeId="ca9f23c9-86f2-4ed9-9a16-38fe9ac06905"/>
|
||||||
|
<managerType typeId="f5a260e1-ca64-409f-b32e-2c9fbdf6f2cd" valueTypeId="31740335-d192-4a3d-99c2-7e5ef101c900"/>
|
||||||
|
</producedTypes>
|
||||||
|
<name>TestDocument2</name>
|
||||||
|
<synonym>
|
||||||
|
<key>en</key>
|
||||||
|
<value>Test document2</value>
|
||||||
|
</synonym>
|
||||||
|
<useStandardCommands>true</useStandardCommands>
|
||||||
|
<inputByString>Document.TestDocument2.StandardAttribute.Number</inputByString>
|
||||||
|
<fullTextSearchOnInputByString>DontUse</fullTextSearchOnInputByString>
|
||||||
|
<createOnInput>Use</createOnInput>
|
||||||
|
<dataLockControlMode>Managed</dataLockControlMode>
|
||||||
|
<fullTextSearch>Use</fullTextSearch>
|
||||||
|
<numberType>String</numberType>
|
||||||
|
<numberLength>9</numberLength>
|
||||||
|
<numberAllowedLength>Variable</numberAllowedLength>
|
||||||
|
<checkUnique>true</checkUnique>
|
||||||
|
<autonumbering>true</autonumbering>
|
||||||
|
<postInPrivilegedMode>true</postInPrivilegedMode>
|
||||||
|
<unpostInPrivilegedMode>true</unpostInPrivilegedMode>
|
||||||
|
<attributes uuid="aa45bdb8-fe81-4f30-9448-05711113d9fd">
|
||||||
|
<name>Комментарий</name>
|
||||||
|
<synonym>
|
||||||
|
<key>en</key>
|
||||||
|
<value>Комментарий</value>
|
||||||
|
</synonym>
|
||||||
|
<type>
|
||||||
|
<types>String</types>
|
||||||
|
<stringQualifiers/>
|
||||||
|
</type>
|
||||||
|
<minValue xsi:type="core:UndefinedValue"/>
|
||||||
|
<maxValue xsi:type="core:UndefinedValue"/>
|
||||||
|
<fillValue xsi:type="core:UndefinedValue"/>
|
||||||
|
<fullTextSearch>Use</fullTextSearch>
|
||||||
|
<dataHistory>Use</dataHistory>
|
||||||
|
</attributes>
|
||||||
|
</mdclass:Document>
|
@ -0,0 +1,28 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<mdclass:Document xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="53e396f2-4062-4f3f-b68b-053fb237b5cb">
|
||||||
|
<producedTypes>
|
||||||
|
<objectType typeId="8bc8b54e-2178-4d5a-b0d0-8d6850e9d3f2" valueTypeId="4cea7358-b55a-4f9c-b6b3-a2b073e3cb70"/>
|
||||||
|
<refType typeId="f3ae6911-166d-47a8-8e9e-dc4c6dc56124" valueTypeId="9a13522d-805c-4062-a079-3f9f8d286872"/>
|
||||||
|
<selectionType typeId="d2ceb930-5bcc-4e46-b98b-85dd615b9953" valueTypeId="18b609a5-3778-45e7-b398-962b77ac1a38"/>
|
||||||
|
<listType typeId="4a346541-b880-4b52-ad23-d57a9fe4c16f" valueTypeId="e57bf5b4-586f-4878-b972-56ed2b442927"/>
|
||||||
|
<managerType typeId="a28c498a-8b9a-4ac6-83d5-e6ab6d614787" valueTypeId="c646e823-a1cb-4acb-9107-61ac6a443cf1"/>
|
||||||
|
</producedTypes>
|
||||||
|
<name>TestDocument3</name>
|
||||||
|
<synonym>
|
||||||
|
<key>en</key>
|
||||||
|
<value>Test document3</value>
|
||||||
|
</synonym>
|
||||||
|
<useStandardCommands>true</useStandardCommands>
|
||||||
|
<inputByString>Document.TestDocument3.StandardAttribute.Number</inputByString>
|
||||||
|
<fullTextSearchOnInputByString>DontUse</fullTextSearchOnInputByString>
|
||||||
|
<createOnInput>Use</createOnInput>
|
||||||
|
<dataLockControlMode>Managed</dataLockControlMode>
|
||||||
|
<fullTextSearch>Use</fullTextSearch>
|
||||||
|
<numberType>String</numberType>
|
||||||
|
<numberLength>9</numberLength>
|
||||||
|
<numberAllowedLength>Variable</numberAllowedLength>
|
||||||
|
<checkUnique>true</checkUnique>
|
||||||
|
<autonumbering>true</autonumbering>
|
||||||
|
<postInPrivilegedMode>true</postInPrivilegedMode>
|
||||||
|
<unpostInPrivilegedMode>true</unpostInPrivilegedMode>
|
||||||
|
</mdclass:Document>
|
Loading…
x
Reference in New Issue
Block a user