1
0
mirror of https://github.com/1C-Company/v8-code-style.git synced 2025-07-16 12:44:15 +02:00

#525 В документе, предполагающем проведение, не стоит флаг "Проведение / отмена проведения в прив. режиме" (#1256)

Co-authored-by: Dmitriy Marmyshev <dmar@1c.ru>
This commit is contained in:
Vadim Goncharov
2023-03-14 13:28:48 +03:00
committed by GitHub
parent 9ed0bd4056
commit 582e2e92c7
21 changed files with 509 additions and 0 deletions

View File

@ -12,6 +12,7 @@
- Документ не имеет реквизита "Комментарий"
- Реквизит "Комментарий" имеет корректный тип
- В документе, предполагающем проведение, не установлен флаг "Привилегированный режим при проведении / отмене проведения"
#### Формы

View File

@ -0,0 +1,17 @@
# In document that require posting don't set flat "Post (unpost) in privileged mode"
All documents that require posting must have the "Privileged mode for posting"
and "Privileged mode for unposting" check boxes selected. Therefore it is not necessary
to create roles that grant rights to change registers subordinate to recorders.
Exception: documents intended for direct adjustment of register records can be posted
with access right verification, but in this case, it is necessary to include roles that
grant rights to change registers.
## Noncompliant Solution
## Compliant Solution
## See
[Configuring roles and access rights](https://kb.1ci.com/1C_Enterprise_Platform/Guides/Developer_Guides/1C_Enterprise_Development_Standards/Setting_data_access_rights/Configuring_roles_and_access_rights/)

View File

@ -0,0 +1,20 @@
# В документе, предполагающем проведение, не установлен флаг "Привилегированный режим при проведении / отмене проведения"
1.7. Во всех документах, предполагающих проведение, должны быть
выставлены флаги «Привилегированный режим при проведении» и
«Привилегированный режим при отмене проведения», поэтому не нужно
создавать роли, дающие права на изменение регистров, подчиненных
регистраторам.
Исключение: документы, предназначенные для непосредственной
корректировки записей регистров, могут проводиться с проверкой прав
доступа, но в этом случае необходимо предусмотреть роли, дающие права на
изменение регистров.
## Неправильно
## Правильно
## См.
[Настройка ролей и прав доступа](https://its.1c.ru/db/v8std#content:689:hdoc:1.7)

View File

@ -110,6 +110,10 @@
category="com.e1c.v8codestyle.md"
class="com.e1c.v8codestyle.internal.md.ExecutableExtensionFactory:com.e1c.v8codestyle.md.check.ExtensionMdObjectNamePrefixCheck">
</check>
<check
category="com.e1c.v8codestyle.md"
class="com.e1c.v8codestyle.md.check.DocumentPostInPrivilegedModeCheck">
</check>
<check
category="com.e1c.v8codestyle.md"
class="com.e1c.v8codestyle.md.check.MdObjectAttributeCommentCheck">

View File

@ -0,0 +1,108 @@
/*******************************************************************************
* 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
*******************************************************************************/
package com.e1c.v8codestyle.md.check;
import static com._1c.g5.v8.dt.metadata.mdclass.MdClassPackage.Literals.DOCUMENT;
import static com._1c.g5.v8.dt.metadata.mdclass.MdClassPackage.Literals.DOCUMENT__POSTING;
import static com._1c.g5.v8.dt.metadata.mdclass.MdClassPackage.Literals.DOCUMENT__POST_IN_PRIVILEGED_MODE;
import static com._1c.g5.v8.dt.metadata.mdclass.MdClassPackage.Literals.DOCUMENT__UNPOST_IN_PRIVILEGED_MODE;
import static com._1c.g5.v8.dt.metadata.mdclass.MdClassPackage.Literals.DOCUMENT__REGISTER_RECORDS;
import org.eclipse.core.runtime.IProgressMonitor;
import com._1c.g5.v8.dt.metadata.mdclass.Document;
import com._1c.g5.v8.dt.metadata.mdclass.Posting;
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.settings.IssueSeverity;
import com.e1c.g5.v8.dt.check.settings.IssueType;
import com.e1c.v8codestyle.check.StandardCheckExtension;
import com.e1c.v8codestyle.internal.md.CorePlugin;
/**
* The check that in the document that allow posting set flags "Post in privileged mode"
* and "Unpost in privileged mode".
*
* @author Vadim Gocnharov
*/
public class DocumentPostInPrivilegedModeCheck
extends BasicCheck
{
private static final String CHECK_ID = "document-post-in-privileged-mode"; //$NON-NLS-1$
public DocumentPostInPrivilegedModeCheck()
{
super();
}
@Override
public String getCheckId()
{
return CHECK_ID;
}
@Override
protected void configureCheck(CheckConfigurer builder)
{
builder.title(Messages.DocumentPostInPrivilegedModeCheck_title)
.description(Messages.DocumentPostInPrivilegedModeCheck_description)
.complexity(CheckComplexity.NORMAL)
.severity(IssueSeverity.MAJOR)
.issueType(IssueType.WARNING)
.extension(new StandardCheckExtension(689, getCheckId(), CorePlugin.PLUGIN_ID))
.extension(new SkipAdoptedInExtensionMdObjectExtension())
.topObject(DOCUMENT)
.checkTop()
.features(DOCUMENT__POSTING, DOCUMENT__POST_IN_PRIVILEGED_MODE, DOCUMENT__UNPOST_IN_PRIVILEGED_MODE,
DOCUMENT__REGISTER_RECORDS);
}
@Override
protected void check(Object object, ResultAcceptor resultAcceptor, ICheckParameters parameters,
IProgressMonitor monitor)
{
Document document = (Document)object;
if (monitor.isCanceled() || !documentRequirePosting(document) || !documentHaveRegisterRecords(document))
{
return;
}
if (!document.isPostInPrivilegedMode())
{
resultAcceptor.addIssue(Messages.DocumentPostInPrivilegedModeCheck_message_Post_in_privileged_mode,
DOCUMENT__POST_IN_PRIVILEGED_MODE);
}
if (!document.isUnpostInPrivilegedMode())
{
resultAcceptor.addIssue(Messages.DocumentPostInPrivilegedModeCheck_message_Unpost_in_privileged_mode,
DOCUMENT__UNPOST_IN_PRIVILEGED_MODE);
}
}
private boolean documentRequirePosting(Document doc)
{
return doc.getPosting() == Posting.ALLOW;
}
private boolean documentHaveRegisterRecords(Document doc)
{
return !doc.getRegisterRecords().isEmpty();
}
}

View File

@ -65,6 +65,10 @@ final class Messages
public static String DbObjectAnyRefCheck_AnyRef;
public static String DbObjectAnyRefCheck_Description;
public static String DbObjectAnyRefCheck_Title;
public static String DocumentPostInPrivilegedModeCheck_description;
public static String DocumentPostInPrivilegedModeCheck_message_Post_in_privileged_mode;
public static String DocumentPostInPrivilegedModeCheck_message_Unpost_in_privileged_mode;
public static String DocumentPostInPrivilegedModeCheck_title;
public static String ExtensionMdObjectNamePrefixCheck_Description;
public static String ExtensionMdObjectNamePrefixCheck_Object_0_should_have_1_prefix;
public static String ExtensionMdObjectNamePrefixCheck_Title;

View File

@ -59,6 +59,14 @@ DbObjectRefNonRefTypesCheck_Ref_and_other = Composite type attributes used in jo
DbObjectRefNonRefTypesCheck_Title = Restrictions on the use of composite type attributes
DocumentPostInPrivilegedModeCheck_title = In document that allow posting don't set flag "Post/Unpost in privileged mode"
DocumentPostInPrivilegedModeCheck_description = In document that allow posting don't set flag "Post/Unpost in privileged mode"
DocumentPostInPrivilegedModeCheck_message_Post_in_privileged_mode = In document that allow posting don't set flag "Post in privileged mode"
DocumentPostInPrivilegedModeCheck_message_Unpost_in_privileged_mode = In document that allow posting don't set flag "Unpost in privileged mode"
ExtensionMdObjectNamePrefixCheck_Description = The object name of the extension object does not have a prefix corresponding to the prefix of the extension itself
ExtensionMdObjectNamePrefixCheck_Object_0_should_have_1_prefix = The object "{0}" should have "{1}" prefix

View File

@ -60,6 +60,14 @@ DbObjectRefNonRefTypesCheck_Ref_and_other = Реквизиты составно
DbObjectRefNonRefTypesCheck_Title = Использование составного типа, содержащего ссылочные и не ссылочный тип вместе.
DocumentPostInPrivilegedModeCheck_title = В документе, предполагающем проведение, не стоит флаг "Прив. режим при проведении/отмене проведения"
DocumentPostInPrivilegedModeCheck_description = В документе, предполагающем проведение, не стоит флаг "Прив. режим при проведении/отмене проведения"
DocumentPostInPrivilegedModeCheck_message_Post_in_privileged_mode = В документе, предполагающем проведение, не стоит флаг "Прив. режим при проведении"
DocumentPostInPrivilegedModeCheck_message_Unpost_in_privileged_mode = В документе, предполагающем проведение, не стоит флаг "Прив. режим при отмене проведения"
ExtensionMdObjectNamePrefixCheck_Description = Имя объекта в расширении не содержит префикс расширения
ExtensionMdObjectNamePrefixCheck_Object_0_should_have_1_prefix = Имя объекта "{0}" должно содержать префикс "{1}"

View File

@ -0,0 +1,90 @@
/*******************************************************************************
* 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
*******************************************************************************/
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.DocumentPostInPrivilegedModeCheck;
/**
* The test for class {@link DocumentPostInPrivilegedModeCheck}.
*
* @author Vadim Goncharov
*/
public class DocumentPostInPrivilegedModeCheckTest
extends CheckTestBase
{
private static final String CHECK_ID = "document-post-in-privileged-mode";
private static final String PROJECT_NAME = "DocumentPostInPrivilegedMode";
/**
* Test Documents, that allow post and don't post/unpost in privileged mode.
*
* @throws Exception the exception
*/
@Test
public void testDocumentNotPostUnpostInPrivilegedMode() throws Exception
{
IDtProject project = openProjectAndWaitForValidationFinish(PROJECT_NAME);
assertNotNull(project);
// Allow post, not unpost in priv. mode
long id = getTopObjectIdByFqn("Document.TestDocument1", project);
Marker marker = getFirstMarker(CHECK_ID, id, project);
assertNotNull(marker);
// Allow post, not post in priv. mode
id = getTopObjectIdByFqn("Document.TestDocument2", project);
marker = getFirstMarker(CHECK_ID, id, project);
assertNotNull(marker);
}
/**
* Test Documents, that don't allow post or allow post and post/unpost in privileged mode.
*
* @throws Exception the exception
*/
@Test
public void testDocumentPostUnpostInProvolegedMode() throws Exception
{
IDtProject project = openProjectAndWaitForValidationFinish(PROJECT_NAME);
assertNotNull(project);
// Deny post
long id = getTopObjectIdByFqn("Document.TestDocument3", project);
Marker marker = getFirstMarker(CHECK_ID, id, project);
assertNull(marker);
// Allow post, post & unpost in priv. mode
id = getTopObjectIdByFqn("Document.TestDocument4", project);
marker = getFirstMarker(CHECK_ID, id, project);
assertNull(marker);
// Allow post, post & unpost in non-priv. mode, but no register records
id = getTopObjectIdByFqn("Document.TestDocument4", project);
marker = getFirstMarker(CHECK_ID, id, project);
assertNull(marker);
}
}

View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>DocumentPostInPrivilegedMode</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,2 @@
eclipse.preferences.version=1
encoding/<project>=UTF-8

View File

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

View File

@ -0,0 +1,35 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:AccumulationRegister 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="6745e3ef-2dd7-495e-b7a5-9c007b8dd406">
<producedTypes>
<selectionType typeId="a9e95936-1dbc-48bd-b6f2-51a0e3503d28" valueTypeId="069a283f-8e82-49e9-bd7d-7eb423e35c95"/>
<listType typeId="29b8b26e-93b3-4aba-8200-8ff6ae6d5de4" valueTypeId="e08ceafd-ee12-4a78-ae5f-caba65f6c8d3"/>
<managerType typeId="6a1dc5e1-a8e8-4e92-b671-7b9015a20fd2" valueTypeId="8e2cc266-ad98-4021-93e7-69524ac6768f"/>
<recordSetType typeId="d05a1a0b-7933-4fa4-bf1b-f87e5b469859" valueTypeId="0d6d7b4b-7500-4a9d-9fdf-5dcad43cbb21"/>
<recordKeyType typeId="b8fe8a12-a509-445c-bcec-27b83138e5bc" valueTypeId="7a8eca16-4841-4620-b780-9706aaeaf401"/>
<recordType typeId="245af39c-20c0-4390-9c11-d5871cc0c8db" valueTypeId="55c8dd40-f33f-471a-b384-bbbe3622ae01"/>
</producedTypes>
<name>TestAccRegister</name>
<synonym>
<key>en</key>
<value>Test acc register</value>
</synonym>
<useStandardCommands>true</useStandardCommands>
<dataLockControlMode>Managed</dataLockControlMode>
<enableTotalsSplitting>true</enableTotalsSplitting>
<resources uuid="4f02fd3f-04a2-41e8-a25b-2ec3731ed78c">
<name>Summ</name>
<synonym>
<key>en</key>
<value>Summ</value>
</synonym>
<type>
<types>Number</types>
<numberQualifiers>
<precision>10</precision>
</numberQualifiers>
</type>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<fullTextSearch>Use</fullTextSearch>
</resources>
</mdclass:AccumulationRegister>

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,47 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="756a3fa8-77a8-4656-837f-4a49f4107bf2">
<name>DocumentPostInPrivilegedMode</name>
<synonym>
<key>en</key>
<value>Document post in privileged mode</value>
</synonym>
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="9955d539-f6e7-4385-8efa-e9b4d55478e9"/>
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="24418a66-6697-4b00-be37-1db001e638b1"/>
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="55910354-0f17-4149-b899-ddceea5f3237"/>
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="758e0d2e-8c05-4db8-8d92-f735c41c892e"/>
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="3715f7a4-f59e-4158-8b36-49e544652109"/>
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="295ce4c2-9ddf-4e57-9a63-e24d4da214de"/>
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="1a442ff3-217a-4b19-8ac2-4064e6fcf876"/>
<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="93107b23-b52a-49ed-871a-0df6293f64d5">
<name>English</name>
<synonym>
<key>en</key>
<value>English</value>
</synonym>
<languageCode>en</languageCode>
</languages>
<documents>Document.TestDocument1</documents>
<documents>Document.TestDocument2</documents>
<documents>Document.TestDocument3</documents>
<documents>Document.TestDocument4</documents>
<documents>Document.TestDocument5</documents>
<accumulationRegisters>AccumulationRegister.TestAccRegister</accumulationRegisters>
</mdclass:Configuration>

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,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:Document xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="eb3a7e9b-3314-4d0a-94b0-8e38deef2d50">
<producedTypes>
<objectType typeId="3ed3817e-bf44-4feb-9021-952d869e84fc" valueTypeId="157c0138-f283-41c2-bb5e-5be3e4f7836a"/>
<refType typeId="8ba3ccb2-f02e-454f-b3f7-89c3d10865ff" valueTypeId="dde37fd5-3cde-4b60-b9fa-f9a3a176498c"/>
<selectionType typeId="7cc74e40-2189-4c48-9fad-2f65b762dc14" valueTypeId="c66f0ca8-924c-446d-833c-c02bec6e2841"/>
<listType typeId="562d454e-1f73-46e2-98eb-757e890c6845" valueTypeId="18612ce6-e057-46ce-9fa0-95554103434e"/>
<managerType typeId="9c5c6ef2-97e9-450c-a1e3-b101f40f89ad" valueTypeId="77c4628e-96d9-4035-931b-f57ed6d5342e"/>
</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>
<registerRecords>AccumulationRegister.TestAccRegister</registerRecords>
<postInPrivilegedMode>true</postInPrivilegedMode>
</mdclass:Document>

View File

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:Document xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="ad24d784-462b-43dc-9904-b5fd60b7ae28">
<producedTypes>
<objectType typeId="0de16eac-23a6-4346-871b-43c4c3df82cd" valueTypeId="b8d5e9bd-03c1-4136-859f-b07dac38d673"/>
<refType typeId="a6f2ca15-96e5-42cf-a72c-7d4e262b282a" valueTypeId="fe6c3580-3f98-4383-8658-066d475d487b"/>
<selectionType typeId="33d144f9-3ca2-4903-ab50-02443db63bb2" valueTypeId="0d6822d7-57dd-4808-99dc-a66256ce9d14"/>
<listType typeId="4c08ec7b-dcd3-4665-98ba-09bbdbb67b28" valueTypeId="7518f61f-1fe1-4572-bad1-4c09057a8cfe"/>
<managerType typeId="db7b00fb-e924-4cbe-a42c-8d410b7a033b" valueTypeId="7795515b-061c-41e0-8edc-94aac70006fc"/>
</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>
<registerRecords>AccumulationRegister.TestAccRegister</registerRecords>
<unpostInPrivilegedMode>true</unpostInPrivilegedMode>
</mdclass:Document>

View File

@ -0,0 +1,30 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:Document xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="dc75c2f2-989f-4c06-83fe-8341a583bfd4">
<producedTypes>
<objectType typeId="371756c8-cb05-4c5e-a724-4eea2a105ccb" valueTypeId="1578320b-724d-41df-a5a9-76fd4da30937"/>
<refType typeId="64826dfc-988e-4176-be89-c2e41e437d88" valueTypeId="b0fd09e4-b368-4e2a-acc6-38377e29bb1c"/>
<selectionType typeId="a2e7316c-ebbf-4b29-b883-113dfad72081" valueTypeId="fa98a5db-2323-4fda-853e-7ff3f475f1fb"/>
<listType typeId="5c5d8baf-b4ee-44f3-81e3-cab48e40c932" valueTypeId="281fe9a6-69a0-4979-b22c-021a31e18d71"/>
<managerType typeId="a85111d1-e2dc-4f4c-9ef1-60365f2abf7c" valueTypeId="56b16acf-7a9c-45a7-b029-1335ac51fd6c"/>
</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>
<posting>Deny</posting>
<registerRecords>AccumulationRegister.TestAccRegister</registerRecords>
<postInPrivilegedMode>true</postInPrivilegedMode>
<unpostInPrivilegedMode>true</unpostInPrivilegedMode>
</mdclass:Document>

View File

@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:Document xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="c86fdd13-73c7-462d-8a69-f07487d0b8fd">
<producedTypes>
<objectType typeId="f63365f5-7423-4923-bed8-03a199ca7e5d" valueTypeId="6b7129d7-fc9c-49d9-86ae-2aa0f88aa0d2"/>
<refType typeId="6cf93fb6-a623-43ea-909b-cd49f4566c1e" valueTypeId="368b55f4-127d-426b-b609-9ec9866a4f42"/>
<selectionType typeId="b4702544-fb43-472a-bbf1-7f4b21fa721e" valueTypeId="7b5ea4d4-a391-4aba-845a-9627ce53d8d1"/>
<listType typeId="53b014bb-40c1-4d55-bd32-f96357b69947" valueTypeId="8667ce28-2cd0-4b77-9b70-a96f37a122db"/>
<managerType typeId="4d64189d-26de-4792-843e-803040f5353b" valueTypeId="b2cc4a62-65da-4fec-9de4-db4b14654125"/>
</producedTypes>
<name>TestDocument4</name>
<synonym>
<key>en</key>
<value>Test document4</value>
</synonym>
<useStandardCommands>true</useStandardCommands>
<inputByString>Document.TestDocument4.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>
<registerRecords>AccumulationRegister.TestAccRegister</registerRecords>
<postInPrivilegedMode>true</postInPrivilegedMode>
<unpostInPrivilegedMode>true</unpostInPrivilegedMode>
</mdclass:Document>

View File

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:Document xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="d667bd8e-ff44-425c-b11e-e41ca79bdd09">
<producedTypes>
<objectType typeId="81d4ac43-e329-4af1-8f29-bc944a339e6f" valueTypeId="43a833d6-f18e-4533-b39b-6ac12d454fb8"/>
<refType typeId="6ef4521f-4001-4523-9a3e-b06d7c72795f" valueTypeId="94ee9a4c-bcb1-40b1-b3e4-e026dd862b52"/>
<selectionType typeId="b87f81cf-6cf1-4f78-a3a7-06379681dba4" valueTypeId="5acaf76f-eb04-4e7a-a6c7-c686c84dfba5"/>
<listType typeId="e830e841-7737-45fd-8da2-33d6e5d25006" valueTypeId="bd77950e-32e8-4d24-b7f8-858989f23f29"/>
<managerType typeId="1a27217f-b876-425c-9199-f0ecb14cf52e" valueTypeId="f67410ca-8a34-419d-8d46-d9a910f8b3c4"/>
</producedTypes>
<name>TestDocument5</name>
<synonym>
<key>en</key>
<value>Test document5</value>
</synonym>
<useStandardCommands>true</useStandardCommands>
<inputByString>Document.TestDocument5.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>
</mdclass:Document>