mirror of
https://github.com/1C-Company/v8-code-style.git
synced 2024-11-28 09:33:06 +02:00
parent
a563131230
commit
36f378d85b
@ -15,6 +15,7 @@
|
||||
|
||||
#### Метаданные
|
||||
- Длина синонима раздела верхнего уровня, отображаемого в интерфейсе, не должна превышать 35 символов
|
||||
- Небезопасное хранение паролей в информационной базе
|
||||
|
||||
#### Формы
|
||||
- У реквизита "Ссылка" динамического списка выключен признак "Использовать всегда"
|
||||
|
@ -0,0 +1,11 @@
|
||||
# Небезопасное хранение паролей в информационной базе
|
||||
|
||||
Для сведения к минимуму возможности перехвата пароля злоумышленниками не следует хранить пароли и
|
||||
другую конфиденциальную информацию в информационной базе.
|
||||
|
||||
## Неправильно
|
||||
|
||||
## Правильно
|
||||
|
||||
## См.
|
||||
[Безопасное хранение паролей](https://its.1c.ru/db/v8std#content:740:hdoc:2)
|
@ -0,0 +1,11 @@
|
||||
# Unsafe password storage
|
||||
|
||||
To minimize risks of unauthorized access to passwords,
|
||||
avoid storing passwords or any other confidential information in the infobase.
|
||||
|
||||
## Noncompliant Code Example
|
||||
|
||||
## Compliant Solution
|
||||
|
||||
## See
|
||||
[Secure password storage](https://support.1ci.com/hc/en-us/articles/360011003100-Secure-password-storage)
|
@ -78,6 +78,10 @@
|
||||
category="com.e1c.v8codestyle.md"
|
||||
class="com.e1c.v8codestyle.internal.md.ExecutableExtensionFactory:com.e1c.v8codestyle.md.check.CommonModuleNameServerCallCachedCheck">
|
||||
</check>
|
||||
<check
|
||||
category="com.e1c.v8codestyle.md"
|
||||
class="com.e1c.v8codestyle.md.check.UnsafePasswordStorageCheck">
|
||||
</check>
|
||||
<check
|
||||
category="com.e1c.v8codestyle.md"
|
||||
class="com.e1c.v8codestyle.md.check.SubsystemSynonymTooLongCheck">
|
||||
|
@ -59,6 +59,9 @@ final class Messages
|
||||
public static String MdScheduledJobPeriodicityCheck_The_minimum_job_interval_is_less_then_minute;
|
||||
public static String MdScheduledJobPeriodicityCheck_title;
|
||||
public static String MdScheduledJobPeriodicityCheck_Minimum_job_interval_description;
|
||||
public static String UnsafePasswordStorageCheck_Avoid_storing_password_in_infobase;
|
||||
public static String UnsafePasswordStorageCheck_Avoid_storing_password_in_infobase_description;
|
||||
public static String UnsafePasswordStorageCheck_Avoid_storing_password_in_infobase_error;
|
||||
public static String SubsystemSynonymTooLongCheck_description;
|
||||
public static String SubsystemSynonymTooLongCheck_Exclude_languages_comma_separated;
|
||||
public static String SubsystemSynonymTooLongCheck_Length_of_section_name_more_than_symbols_for_language;
|
||||
|
@ -0,0 +1,90 @@
|
||||
/*******************************************************************************
|
||||
* Copyright (C) 2022, 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.BASIC_FEATURE;
|
||||
import static com._1c.g5.v8.dt.metadata.mdclass.MdClassPackage.Literals.BASIC_FEATURE__PASSWORD_MODE;
|
||||
import static com._1c.g5.v8.dt.metadata.mdclass.MdClassPackage.Literals.CATALOG;
|
||||
import static com._1c.g5.v8.dt.metadata.mdclass.MdClassPackage.Literals.CHART_OF_CHARACTERISTIC_TYPES;
|
||||
import static com._1c.g5.v8.dt.metadata.mdclass.MdClassPackage.Literals.CONSTANT;
|
||||
import static com._1c.g5.v8.dt.metadata.mdclass.MdClassPackage.Literals.CONSTANT__PASSWORD_MODE;
|
||||
import static com._1c.g5.v8.dt.metadata.mdclass.MdClassPackage.Literals.DOCUMENT;
|
||||
|
||||
import org.eclipse.core.runtime.IProgressMonitor;
|
||||
|
||||
import com._1c.g5.v8.dt.metadata.mdclass.BasicFeature;
|
||||
import com._1c.g5.v8.dt.metadata.mdclass.Constant;
|
||||
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;
|
||||
|
||||
/**
|
||||
* Check not secure password storage in the information database.
|
||||
*
|
||||
* @author Artem Iliukhin
|
||||
*/
|
||||
public final class UnsafePasswordStorageCheck
|
||||
extends BasicCheck
|
||||
{
|
||||
|
||||
private static final String CHECK_ID = "unsafe-password-ib-storage"; //$NON-NLS-1$
|
||||
|
||||
@Override
|
||||
public String getCheckId()
|
||||
{
|
||||
return CHECK_ID;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void configureCheck(CheckConfigurer builder)
|
||||
{
|
||||
builder.title(Messages.UnsafePasswordStorageCheck_Avoid_storing_password_in_infobase)
|
||||
.description(Messages.UnsafePasswordStorageCheck_Avoid_storing_password_in_infobase_description)
|
||||
.complexity(CheckComplexity.NORMAL)
|
||||
.severity(IssueSeverity.MINOR)
|
||||
.issueType(IssueType.SECURITY)
|
||||
.extension(new StandardCheckExtension(getCheckId(), CorePlugin.PLUGIN_ID))
|
||||
.topObject(CONSTANT)
|
||||
.checkTop()
|
||||
.features(CONSTANT__PASSWORD_MODE)
|
||||
.topObject(CATALOG)
|
||||
.containment(BASIC_FEATURE)
|
||||
.features(BASIC_FEATURE__PASSWORD_MODE)
|
||||
.topObject(DOCUMENT)
|
||||
.containment(BASIC_FEATURE)
|
||||
.features(BASIC_FEATURE__PASSWORD_MODE)
|
||||
.topObject(CHART_OF_CHARACTERISTIC_TYPES)
|
||||
.containment(BASIC_FEATURE)
|
||||
.features(BASIC_FEATURE__PASSWORD_MODE); //TODO change to BASIC_DB_OBJECT, when will it work
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void check(Object object, ResultAcceptor resultAceptor, ICheckParameters parameters,
|
||||
IProgressMonitor monitor)
|
||||
{
|
||||
if (object instanceof BasicFeature && ((BasicFeature)object).isPasswordMode())
|
||||
{
|
||||
resultAceptor.addIssue(Messages.UnsafePasswordStorageCheck_Avoid_storing_password_in_infobase_error, object,
|
||||
BASIC_FEATURE__PASSWORD_MODE);
|
||||
}
|
||||
else if (object instanceof Constant && ((Constant)object).isPasswordMode())
|
||||
{
|
||||
resultAceptor.addIssue(Messages.UnsafePasswordStorageCheck_Avoid_storing_password_in_infobase_error, object,
|
||||
CONSTANT__PASSWORD_MODE);
|
||||
}
|
||||
}
|
||||
}
|
@ -17,12 +17,6 @@ CommonModuleNameGlobal_message = Global common module should end with "{0}" suff
|
||||
|
||||
CommonModuleNameGlobal_title = Global common module should end with Global suffix
|
||||
|
||||
CommonModuleNameServerCallPostfixCheck_0 = Common module should end with {0}
|
||||
|
||||
CommonModuleNameServerCallPostfixCheck_Common_module_name_description = Common module should end with correct postfix
|
||||
|
||||
CommonModuleNameServerCallPostfixCheck_Common_module_postfix_title = Common module should end with correct postfix
|
||||
|
||||
CommonModuleType_description = Common module has incorrect type
|
||||
|
||||
CommonModuleType_message = Common module for type "{0}" has incorrect settings: {1}
|
||||
@ -35,6 +29,12 @@ ConfigurationDataLock_message = Application should use managed data lock mode
|
||||
|
||||
ConfigurationDataLock_title = Configuration data lock mode
|
||||
|
||||
CommonModuleNameServerCallPostfixCheck_0=Common module should end with {0}
|
||||
|
||||
CommonModuleNameServerCallPostfixCheck_Common_module_name_description=Common module should end with correct postfix
|
||||
|
||||
CommonModuleNameServerCallPostfixCheck_Common_module_postfix_title=Common module should end with correct postfix
|
||||
|
||||
MdListObjectPresentationCheck_Neither_Object_presentation_nor_List_presentation_is_not_filled = Neither Object presentation nor List presentation is not filled
|
||||
|
||||
MdListObjectPresentationCheck_decription = Neither Object presentation nor List presentation is not filled
|
||||
@ -73,6 +73,12 @@ MdScheduledJobPeriodicityCheck_description = The minimum job interval is less th
|
||||
|
||||
MdScheduledJobPeriodicityCheck_title = The minimum job interval is less then {0}s
|
||||
|
||||
UnsafePasswordStorageCheck_Avoid_storing_password_in_infobase=Avoid storing passwords in the infobase
|
||||
|
||||
UnsafePasswordStorageCheck_Avoid_storing_password_in_infobase_description=To minimize risks of unauthorized access to passwords, avoid storing passwords in the infobase.
|
||||
|
||||
UnsafePasswordStorageCheck_Avoid_storing_password_in_infobase_error=Avoid storing passwords in the infobase
|
||||
|
||||
SubsystemSynonymTooLongCheck_Exclude_languages_comma_separated = Exclude languages (codes, comma-separated)
|
||||
|
||||
SubsystemSynonymTooLongCheck_Length_of_section_name_more_than_symbols_for_language = Length of section synonym "{0}" more than {1} symbols for language {2}
|
||||
|
@ -18,12 +18,6 @@ CommonModuleNameGlobal_message = Глобальный общий модуль д
|
||||
|
||||
CommonModuleNameGlobal_title = Глобальный общий модуль должен оканчиваться на суффикс Глобальный
|
||||
|
||||
CommonModuleNameServerCallPostfixCheck_0 = Общий модуль должен именоваться с постфиксом {0}
|
||||
|
||||
CommonModuleNameServerCallPostfixCheck_Common_module_name_description = Общий модуль должен именоваться с постфиксом
|
||||
|
||||
CommonModuleNameServerCallPostfixCheck_Common_module_postfix_title = Общий модуль должен именоваться с постфиксом
|
||||
|
||||
CommonModuleType_description = Общий модуль имеет некорректный тип
|
||||
|
||||
CommonModuleType_message = Общий модуль для типа "{0}" имеет некорректне настройки: {1}
|
||||
@ -36,6 +30,12 @@ ConfigurationDataLock_message = Приложение должно использ
|
||||
|
||||
ConfigurationDataLock_title = Режим блокировки данных конфигурации
|
||||
|
||||
CommonModuleNameServerCallPostfixCheck_0 = Общий модуль должен именоваться с постфиксом {0}
|
||||
|
||||
CommonModuleNameServerCallPostfixCheck_Common_module_name_description=Общий модуль должен именоваться с постфиксом
|
||||
|
||||
CommonModuleNameServerCallPostfixCheck_Common_module_postfix_title=Общий модуль должен именоваться с постфиксом
|
||||
|
||||
MdListObjectPresentationCheck_Neither_Object_presentation_nor_List_presentation_is_not_filled = Не заполнено ни представление объекта, ни представление списка
|
||||
|
||||
MdListObjectPresentationCheck_decription = Не заполнено ни представление объекта, ни представление списка
|
||||
@ -83,3 +83,9 @@ SubsystemSynonymTooLongCheck_Maximum_section_name_length = Максимальн
|
||||
SubsystemSynonymTooLongCheck_description = Длина названия раздела превышает 35 символов
|
||||
|
||||
SubsystemSynonymTooLongCheck_title = Длина названия раздела превышает 35 символов
|
||||
|
||||
UnsafePasswordStorageCheck_Avoid_storing_password_in_infobase=Не следует хранить пароли в информационной базе
|
||||
|
||||
UnsafePasswordStorageCheck_Avoid_storing_password_in_infobase_description=Для сведения к минимуму возможности перехвата пароля злоумышленниками не следует хранить пароли в информационной базе
|
||||
|
||||
UnsafePasswordStorageCheck_Avoid_storing_password_in_infobase_error=Не следует хранить пароли в информационной базе
|
@ -0,0 +1,68 @@
|
||||
/*******************************************************************************
|
||||
* Copyright (C) 2022, 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 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.UnsafePasswordStorageCheck;
|
||||
|
||||
/**
|
||||
* The test for class {@link UnsafePasswordStorageCheck}.
|
||||
*
|
||||
* @author Artem Iliukhin
|
||||
*/
|
||||
public class UnsafePasswordStorageCheckTest
|
||||
extends CheckTestBase
|
||||
{
|
||||
|
||||
private static final String CHECK_ID = "unsafe-password-ib-storage"; //$NON-NLS-1$
|
||||
private static final String PROJECT_NAME = "UnsafePasswordStorage";
|
||||
|
||||
@Test
|
||||
public void unsafePasswordStorageConstantCheck() throws Exception
|
||||
{
|
||||
IDtProject dtProject = openProjectAndWaitForValidationFinish(PROJECT_NAME);
|
||||
assertNotNull(dtProject);
|
||||
|
||||
long id = getTopObjectIdByFqn("Constant.Constant", dtProject);
|
||||
Marker marker = getFirstMarker(CHECK_ID, id, dtProject);
|
||||
assertNotNull(marker);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void unsafePasswordStorageDocumentCheck() throws Exception
|
||||
{
|
||||
IDtProject dtProject = openProjectAndWaitForValidationFinish(PROJECT_NAME);
|
||||
assertNotNull(dtProject);
|
||||
|
||||
long id = getTopObjectIdByFqn("Document.Document", dtProject);
|
||||
Marker marker = getFirstNestedMarker(CHECK_ID, id, dtProject);
|
||||
assertNotNull(marker);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void unsafePasswordStorageCatalogCheck() throws Exception
|
||||
{
|
||||
IDtProject dtProject = openProjectAndWaitForValidationFinish(PROJECT_NAME);
|
||||
assertNotNull(dtProject);
|
||||
|
||||
long id = getTopObjectIdByFqn("Catalog.Catalog", dtProject);
|
||||
Marker marker = getFirstNestedMarker(CHECK_ID, id, dtProject);
|
||||
assertNotNull(marker);
|
||||
}
|
||||
}
|
@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>UnsafePasswordStorage</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,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,116 @@
|
||||
<?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="0d44c827-3d42-4d85-b451-25af5f0a3b30">
|
||||
<producedTypes>
|
||||
<objectType typeId="81502f8e-8ada-47d0-9b11-7ca6228db032" valueTypeId="cf33033e-e4aa-43ff-b42e-959d274f6f3a"/>
|
||||
<refType typeId="f5c4f311-3dd5-4a79-87e2-5a937b979927" valueTypeId="fb60283f-d06e-48c9-9818-702586cde2ad"/>
|
||||
<selectionType typeId="cb11191a-034f-40bc-a328-8f9a04dee4a6" valueTypeId="f1db8199-3224-4c85-a6c5-83eca11cbedb"/>
|
||||
<listType typeId="8f085bf8-28a0-4250-9b4a-ed5775a8f93f" valueTypeId="405c423e-4413-4101-a06f-f6fe41e4d64e"/>
|
||||
<managerType typeId="5749e20a-1c41-4eff-b8f5-2d892b6d7117" valueTypeId="52975bae-2795-49f6-90ec-5e5d9f11c622"/>
|
||||
</producedTypes>
|
||||
<name>Catalog</name>
|
||||
<synonym>
|
||||
<key>en</key>
|
||||
<value>Catalog</value>
|
||||
</synonym>
|
||||
<useStandardCommands>true</useStandardCommands>
|
||||
<inputByString>Catalog.Catalog.StandardAttribute.Code</inputByString>
|
||||
<inputByString>Catalog.Catalog.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="f91b597f-74f0-4898-a6af-2a97eff91e5b">
|
||||
<name>Attribute</name>
|
||||
<synonym>
|
||||
<key>en</key>
|
||||
<value>Attribute</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>String</types>
|
||||
<stringQualifiers>
|
||||
<length>10</length>
|
||||
</stringQualifiers>
|
||||
</type>
|
||||
<passwordMode>true</passwordMode>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
<fillValue xsi:type="core:UndefinedValue"/>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<dataHistory>Use</dataHistory>
|
||||
</attributes>
|
||||
<attributes uuid="f6cfdf36-af78-4ae0-959a-860f1b4bde7c">
|
||||
<name>Attribute1</name>
|
||||
<synonym>
|
||||
<key>en</key>
|
||||
<value>Attribute1</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>String</types>
|
||||
<stringQualifiers>
|
||||
<length>10</length>
|
||||
</stringQualifiers>
|
||||
</type>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
<fillValue xsi:type="core:UndefinedValue"/>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<dataHistory>Use</dataHistory>
|
||||
</attributes>
|
||||
<tabularSections uuid="aa5087a9-6dbf-434b-8d4e-ea78c7606e57">
|
||||
<producedTypes>
|
||||
<objectType typeId="210c3388-f58f-462c-afde-1f06b25288b4" valueTypeId="8e18dbdb-54cf-43e1-9ca6-00321a0e7cf4"/>
|
||||
<rowType typeId="cbf02324-dcb3-421a-94f0-092aad591f15" valueTypeId="ecd2feb4-a615-4bf1-8332-3b3ff9342587"/>
|
||||
</producedTypes>
|
||||
<name>TabularSection</name>
|
||||
<synonym>
|
||||
<key>en</key>
|
||||
<value>Tabular section</value>
|
||||
</synonym>
|
||||
<attributes uuid="2ece4c6f-8539-4dfa-b554-74fb22c1ff26">
|
||||
<name>Attribute</name>
|
||||
<synonym>
|
||||
<key>en</key>
|
||||
<value>Attribute</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>String</types>
|
||||
<stringQualifiers>
|
||||
<length>10</length>
|
||||
</stringQualifiers>
|
||||
</type>
|
||||
<passwordMode>true</passwordMode>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
<dataHistory>Use</dataHistory>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
</attributes>
|
||||
<attributes uuid="29172d4e-8d31-465a-83f1-ae0fe816dc80">
|
||||
<name>Attribute1</name>
|
||||
<synonym>
|
||||
<key>en</key>
|
||||
<value>Attribute1</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>String</types>
|
||||
<stringQualifiers>
|
||||
<length>10</length>
|
||||
</stringQualifiers>
|
||||
</type>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
<dataHistory>Use</dataHistory>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
</attributes>
|
||||
</tabularSections>
|
||||
</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,44 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="a117c83f-d9f8-4628-ae78-b1c46549636e">
|
||||
<name>UnsafePasswordStorage</name>
|
||||
<synonym>
|
||||
<key>en</key>
|
||||
<value>Unsafe password storage</value>
|
||||
</synonym>
|
||||
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="4d108b38-b244-423b-a420-bc21c110459b"/>
|
||||
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="5860e6e7-bc7b-4d2f-95a3-072bcb8e87c0"/>
|
||||
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="0e3c7a50-5464-4071-a7a4-5e754c25b27c"/>
|
||||
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="238f9938-388d-4654-a7d8-26457bf63f48"/>
|
||||
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="e4333249-4586-4d8f-ae79-bfa46ee2a977"/>
|
||||
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="e8e0ce7a-5a35-43b0-8104-4de863a3b8c3"/>
|
||||
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="32068759-9545-4339-a739-c9a45ca48c74"/>
|
||||
<configurationExtensionCompatibilityMode>8.3.21</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.21</compatibilityMode>
|
||||
<languages uuid="a80e8cf3-a962-4585-8631-71e4cfd88da5">
|
||||
<name>English</name>
|
||||
<synonym>
|
||||
<key>en</key>
|
||||
<value>English</value>
|
||||
</synonym>
|
||||
<languageCode>en</languageCode>
|
||||
</languages>
|
||||
<constants>Constant.Constant</constants>
|
||||
<catalogs>Catalog.Catalog</catalogs>
|
||||
<documents>Document.Document</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,24 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:Constant 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="32b5b628-da6e-4868-b8fc-06f2ec5cece3">
|
||||
<producedTypes>
|
||||
<managerType typeId="d4eb4b7b-7e45-4a74-bc7a-770fb35bc07e" valueTypeId="3eca7ac4-7ff1-434c-ac0c-0c8ff1ff676f"/>
|
||||
<valueManagerType typeId="71a6c0da-29fc-42e6-92e0-c64250a46c20" valueTypeId="ed860853-fb2e-418b-9848-40fd0c5cda52"/>
|
||||
<valueKeyType typeId="3421be78-1d56-4d2b-b08a-fe6e0f825d79" valueTypeId="07eea9eb-7165-4e84-8c56-59f4b416a089"/>
|
||||
</producedTypes>
|
||||
<name>Constant</name>
|
||||
<synonym>
|
||||
<key>en</key>
|
||||
<value>Constant</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>String</types>
|
||||
<stringQualifiers>
|
||||
<length>10</length>
|
||||
</stringQualifiers>
|
||||
</type>
|
||||
<useStandardCommands>true</useStandardCommands>
|
||||
<passwordMode>true</passwordMode>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
<dataLockControlMode>Managed</dataLockControlMode>
|
||||
</mdclass:Constant>
|
@ -0,0 +1,111 @@
|
||||
<?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="a6bdfa11-cb4e-4083-9497-ef0d792ce0a6">
|
||||
<producedTypes>
|
||||
<objectType typeId="9d09e9ad-5528-4943-b6e8-91c359973dc6" valueTypeId="8c619f20-8478-47ae-bc3a-69edd0e681c7"/>
|
||||
<refType typeId="8e8ab5df-d3f6-4938-8971-124facf3882d" valueTypeId="83521e2a-7b55-4e43-9a77-e60c69961263"/>
|
||||
<selectionType typeId="674e373f-937a-498d-8cc3-52d069e99d53" valueTypeId="e7e78ace-efd6-4306-a50e-b87a25e5c57d"/>
|
||||
<listType typeId="bbfb7ce3-2ee9-4167-a697-372e802596c9" valueTypeId="66d6db43-58a9-4cd0-a9ba-888425bfabd6"/>
|
||||
<managerType typeId="e04bfbf3-9968-42e9-8d68-5c2eb2e0fda2" valueTypeId="d0c83892-0b38-4177-8152-9c4db4d45f17"/>
|
||||
</producedTypes>
|
||||
<name>Document</name>
|
||||
<synonym>
|
||||
<key>en</key>
|
||||
<value>Document</value>
|
||||
</synonym>
|
||||
<useStandardCommands>true</useStandardCommands>
|
||||
<inputByString>Document.Document.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="82867c72-f794-4dc9-a233-2b150ca5d02e">
|
||||
<name>Attribute</name>
|
||||
<synonym>
|
||||
<key>en</key>
|
||||
<value>Attribute</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>String</types>
|
||||
<stringQualifiers>
|
||||
<length>10</length>
|
||||
</stringQualifiers>
|
||||
</type>
|
||||
<passwordMode>true</passwordMode>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
<fillValue xsi:type="core:UndefinedValue"/>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<dataHistory>Use</dataHistory>
|
||||
</attributes>
|
||||
<attributes uuid="b545253e-45da-48bb-9ae6-f41b516d65cf">
|
||||
<name>Attribute1</name>
|
||||
<synonym>
|
||||
<key>en</key>
|
||||
<value>Attribute1</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>String</types>
|
||||
<stringQualifiers>
|
||||
<length>10</length>
|
||||
</stringQualifiers>
|
||||
</type>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
<fillValue xsi:type="core:UndefinedValue"/>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<dataHistory>Use</dataHistory>
|
||||
</attributes>
|
||||
<tabularSections uuid="276fa58f-641c-455b-b512-3afff3d65788">
|
||||
<producedTypes>
|
||||
<objectType typeId="95f8b3d2-054c-4ed8-bc94-84d5449ca506" valueTypeId="da64438c-99af-4dae-85f9-5809cf2f4595"/>
|
||||
<rowType typeId="d894873c-eab3-4ef0-a23c-5db5abd68a81" valueTypeId="59180447-d44a-4b5f-acc2-14ff910d135a"/>
|
||||
</producedTypes>
|
||||
<name>TabularSection</name>
|
||||
<synonym>
|
||||
<key>en</key>
|
||||
<value>Tabular section</value>
|
||||
</synonym>
|
||||
<attributes uuid="1424c847-95d8-4511-81c9-dce439f79d7e">
|
||||
<name>Attribute</name>
|
||||
<synonym>
|
||||
<key>en</key>
|
||||
<value>Attribute</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>String</types>
|
||||
<stringQualifiers>
|
||||
<length>10</length>
|
||||
</stringQualifiers>
|
||||
</type>
|
||||
<passwordMode>true</passwordMode>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
<dataHistory>Use</dataHistory>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
</attributes>
|
||||
<attributes uuid="115ba99a-0caf-46d2-9f99-2aaae14c11f6">
|
||||
<name>Attribute1</name>
|
||||
<synonym>
|
||||
<key>en</key>
|
||||
<value>Attribute1</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>String</types>
|
||||
<stringQualifiers>
|
||||
<length>10</length>
|
||||
</stringQualifiers>
|
||||
</type>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
<dataHistory>Use</dataHistory>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
</attributes>
|
||||
</tabularSections>
|
||||
</mdclass:Document>
|
Loading…
Reference in New Issue
Block a user