diff --git a/CHANGELOG.md b/CHANGELOG.md index 0bba1526..b2cf617d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,7 +17,7 @@ - Длина синонима раздела верхнего уровня, отображаемого в интерфейсе, не должна превышать 35 символов #### Формы - +- У реквизита "Ссылка" динамического списка выключен признак "Использовать всегда" #### Код модулей diff --git a/bundles/com.e1c.v8codestyle.form/markdown/form-list-ref-use-always-flag-disabled.md b/bundles/com.e1c.v8codestyle.form/markdown/form-list-ref-use-always-flag-disabled.md new file mode 100644 index 00000000..221b5fbe --- /dev/null +++ b/bundles/com.e1c.v8codestyle.form/markdown/form-list-ref-use-always-flag-disabled.md @@ -0,0 +1,12 @@ +# Check if Use Always flag is enabled for the Reference attribute in dynamic list + +In developing print commands (the Print subsystem of **Standard Subsystems Library**), the **Reference** attribute with the **Use Always** flag is required for these commands. + +## Noncompliant Code Example + +## Compliant Solution + +## See + +[Reference attribute in dynamic lists](https://support.1ci.com/hc/en-us/articles/360011004020-Reference-attribute-in-dynamic-lists) + \ No newline at end of file diff --git a/bundles/com.e1c.v8codestyle.form/markdown/ru/form-list-ref-use-always-flag-disabled.md b/bundles/com.e1c.v8codestyle.form/markdown/ru/form-list-ref-use-always-flag-disabled.md new file mode 100644 index 00000000..723602c3 --- /dev/null +++ b/bundles/com.e1c.v8codestyle.form/markdown/ru/form-list-ref-use-always-flag-disabled.md @@ -0,0 +1,11 @@ +# У реквизита "Ссылка" динамического списка выключен признак "Использовать всегда" + +Наличие реквизита **Ссылка** с признаком **"Использовать всегда"** является обязательным при разработке команд печати (подсистема "Печать" **Библиотеки стандартных подсистем**) для корректной работы этих команд. + +## Неправильно + +## Правильно + +## См. + +[Реквизит Ссылка и признак "Использовать всегда" в динамических списках объектов](https://its.1c.ru/db/v8std#content:702:hdoc:2.2) diff --git a/bundles/com.e1c.v8codestyle.form/plugin.xml b/bundles/com.e1c.v8codestyle.form/plugin.xml index ae571d10..0d6e3ccb 100644 --- a/bundles/com.e1c.v8codestyle.form/plugin.xml +++ b/bundles/com.e1c.v8codestyle.form/plugin.xml @@ -26,6 +26,10 @@ category="com.e1c.v8codestyle.form" class="com.e1c.v8codestyle.internal.form.ExecutableExtensionFactory:com.e1c.v8codestyle.form.check.InputFieldListChoiceMode"> + + diff --git a/bundles/com.e1c.v8codestyle.form/src/com/e1c/v8codestyle/form/check/FormListRefUseAlwaysFlagDisabledCheck.java b/bundles/com.e1c.v8codestyle.form/src/com/e1c/v8codestyle/form/check/FormListRefUseAlwaysFlagDisabledCheck.java new file mode 100644 index 00000000..63348bda --- /dev/null +++ b/bundles/com.e1c.v8codestyle.form/src/com/e1c/v8codestyle/form/check/FormListRefUseAlwaysFlagDisabledCheck.java @@ -0,0 +1,110 @@ +/******************************************************************************* + * 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.form.check; + +import static com._1c.g5.v8.dt.form.model.FormPackage.Literals.FORM; +import static com._1c.g5.v8.dt.form.model.FormPackage.Literals.FORM_ATTRIBUTE; +import static com._1c.g5.v8.dt.form.model.FormPackage.Literals.FORM_ATTRIBUTE__NOT_DEFAULT_USE_ALWAYS_ATTRIBUTES; + +import java.util.List; +import java.util.function.Predicate; + +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.emf.common.util.EList; + +import com._1c.g5.v8.dt.form.model.AbstractDataPath; +import com._1c.g5.v8.dt.form.model.DynamicListExtInfo; +import com._1c.g5.v8.dt.form.model.FormAttribute; +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.form.CorePlugin; + +/** + * Check if Use Always flag is enabled for the Reference attribute in dynamic list. + * + * @author Olga Bozhko + */ +public class FormListRefUseAlwaysFlagDisabledCheck + extends BasicCheck +{ + + private static final String CHECK_ID = "form-list-ref-use-always-flag-disabled"; //$NON-NLS-1$ + private static final List REF_ABSTRACT_DATA_PATH = List.of("List", "Ref"); //$NON-NLS-1$ //$NON-NLS-2$ + private static final List REF_ABSTRACT_DATA_PATH_RU = List.of("Список", "Ссылка"); //$NON-NLS-1$ //$NON-NLS-2$ + + @Override + public String getCheckId() + { + return CHECK_ID; + } + + @Override + protected void configureCheck(CheckConfigurer builder) + { + builder.title(Messages.FormListRefUseAlwaysFlagDisabledCheck_title) + .description(Messages.FormListRefUseAlwaysFlagDisabledCheck_description) + .complexity(CheckComplexity.NORMAL) + .severity(IssueSeverity.MAJOR) + .issueType(IssueType.UI_STYLE) + .extension(new StandardCheckExtension(getCheckId(), CorePlugin.PLUGIN_ID)) + .topObject(FORM) + .containment(FORM_ATTRIBUTE) + .features(FORM_ATTRIBUTE__NOT_DEFAULT_USE_ALWAYS_ATTRIBUTES); + } + + @Override + protected void check(Object object, ResultAcceptor resultAceptor, ICheckParameters parameters, + IProgressMonitor monitor) + { + + if (monitor.isCanceled() || !(object instanceof FormAttribute)) + { + return; + } + + FormAttribute formAttribute = (FormAttribute)object; + if (formAttribute.getExtInfo() instanceof DynamicListExtInfo + && formAttribute.getNotDefaultUseAlwaysAttributes().stream().noneMatch(pathCheck)) + { + resultAceptor.addIssue( + Messages.FormListRefUseAlwaysFlagDisabledCheck_UseAlways_flag_is_disabled_for_the_Ref_field, + formAttribute); + } + + } + + private Predicate pathCheck = path -> { + EList segments = path.getSegments(); + if (segments.size() != 2) + { + return false; + } + + if (!segments.get(0).equals(REF_ABSTRACT_DATA_PATH.get(0)) + && !segments.get(0).equals(REF_ABSTRACT_DATA_PATH_RU.get(0))) + { + return false; + } + if (!segments.get(1).equals(REF_ABSTRACT_DATA_PATH.get(1)) + && !segments.get(1).equals(REF_ABSTRACT_DATA_PATH_RU.get(1))) + { + return false; + } + return true; + }; + +} diff --git a/bundles/com.e1c.v8codestyle.form/src/com/e1c/v8codestyle/form/check/Messages.java b/bundles/com.e1c.v8codestyle.form/src/com/e1c/v8codestyle/form/check/Messages.java index 35ef9907..fe4057a6 100644 --- a/bundles/com.e1c.v8codestyle.form/src/com/e1c/v8codestyle/form/check/Messages.java +++ b/bundles/com.e1c.v8codestyle.form/src/com/e1c/v8codestyle/form/check/Messages.java @@ -22,6 +22,9 @@ final class Messages extends NLS { private static final String BUNDLE_NAME = "com.e1c.v8codestyle.form.check.messages"; //$NON-NLS-1$ + public static String FormListRefUseAlwaysFlagDisabledCheck_description; + public static String FormListRefUseAlwaysFlagDisabledCheck_title; + public static String FormListRefUseAlwaysFlagDisabledCheck_UseAlways_flag_is_disabled_for_the_Ref_field; public static String InputFieldListChoiceMode_description; public static String InputFieldListChoiceMode_Form_input_field_the_list_choice_mode_not_set_with_filled_choice_list; public static String InputFieldListChoiceMode_title; diff --git a/bundles/com.e1c.v8codestyle.form/src/com/e1c/v8codestyle/form/check/messages.properties b/bundles/com.e1c.v8codestyle.form/src/com/e1c/v8codestyle/form/check/messages.properties index 499dff07..b0d4e763 100644 --- a/bundles/com.e1c.v8codestyle.form/src/com/e1c/v8codestyle/form/check/messages.properties +++ b/bundles/com.e1c.v8codestyle.form/src/com/e1c/v8codestyle/form/check/messages.properties @@ -1,7 +1,6 @@ - #Generated by ResourceBundle Editor (http://essiembre.github.io/eclipse-rbe/) ############################################################################### -# Copyright (C) 2021, 1C-Soft LLC and others. +# Copyright (C) 2021-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 @@ -13,6 +12,12 @@ # 1C-Soft LLC - initial API and implementation ############################################################################### +FormListRefUseAlwaysFlagDisabledCheck_UseAlways_flag_is_disabled_for_the_Ref_field = UseAlways flag is disabled for the Ref field + +FormListRefUseAlwaysFlagDisabledCheck_description = UseAlways flag is disabled for the Ref field + +FormListRefUseAlwaysFlagDisabledCheck_title = UseAlways flag is disabled for the Ref field + InputFieldListChoiceMode_Form_input_field_the_list_choice_mode_not_set_with_filled_choice_list = Form input field the "list choice mode" not set with filled choice list InputFieldListChoiceMode_description = Check input field has correct list choice mode if choice list is not empty diff --git a/bundles/com.e1c.v8codestyle.form/src/com/e1c/v8codestyle/form/check/messages_ru.properties b/bundles/com.e1c.v8codestyle.form/src/com/e1c/v8codestyle/form/check/messages_ru.properties index 2fe96955..410b17b8 100644 --- a/bundles/com.e1c.v8codestyle.form/src/com/e1c/v8codestyle/form/check/messages_ru.properties +++ b/bundles/com.e1c.v8codestyle.form/src/com/e1c/v8codestyle/form/check/messages_ru.properties @@ -1,6 +1,6 @@ #Generated by ResourceBundle Editor (http://essiembre.github.io/eclipse-rbe/) ############################################################################### -# Copyright (C) 2021, 1C-Soft LLC and others. +# Copyright (C) 2021-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 @@ -13,6 +13,12 @@ ############################################################################### #Generated by ResourceBundle Editor (http://essiembre.github.io/eclipse-rbe/) +FormListRefUseAlwaysFlagDisabledCheck_UseAlways_flag_is_disabled_for_the_Ref_field = У реквизита "Ссылка" динамического списка выключен признак "Использовать всегда" + +FormListRefUseAlwaysFlagDisabledCheck_description = У реквизита "Ссылка" динамического списка выключен признак "Использовать всегда" + +FormListRefUseAlwaysFlagDisabledCheck_title = У реквизита "Ссылка" динамического списка выключен признак "Использовать всегда" + InputFieldListChoiceMode_Form_input_field_the_list_choice_mode_not_set_with_filled_choice_list = У поля ввода формы с заполненным списком выбора отключено свойство "Режим выбора из списка" InputFieldListChoiceMode_description = Проверяет, что поле ввода содержит корректный режим ввыбора из списка, если список выбора заполнен diff --git a/tests/com.e1c.v8codestyle.form.itests/src/com/e1c/v8codestyle/form/check/itests/FormListRefUseAlwaysFlagDisabledCheckTest.java b/tests/com.e1c.v8codestyle.form.itests/src/com/e1c/v8codestyle/form/check/itests/FormListRefUseAlwaysFlagDisabledCheckTest.java new file mode 100644 index 00000000..61742b95 --- /dev/null +++ b/tests/com.e1c.v8codestyle.form.itests/src/com/e1c/v8codestyle/form/check/itests/FormListRefUseAlwaysFlagDisabledCheckTest.java @@ -0,0 +1,137 @@ +/******************************************************************************* + * 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.form.check.itests; + +import static com._1c.g5.v8.dt.metadata.mdclass.MdClassPackage.Literals.CONFIGURATION; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertTrue; + +import org.eclipse.core.runtime.IProgressMonitor; +import org.junit.Test; + +import com._1c.g5.v8.bm.core.IBmObject; +import com._1c.g5.v8.bm.core.IBmTransaction; +import com._1c.g5.v8.bm.integration.AbstractBmTask; +import com._1c.g5.v8.bm.integration.IBmModel; +import com._1c.g5.v8.dt.core.platform.IDtProject; +import com._1c.g5.v8.dt.form.model.AbstractDataPath; +import com._1c.g5.v8.dt.form.model.DataPath; +import com._1c.g5.v8.dt.form.model.Form; +import com._1c.g5.v8.dt.form.model.FormItem; +import com._1c.g5.v8.dt.form.model.Table; +import com._1c.g5.v8.dt.metadata.mdclass.Configuration; +import com._1c.g5.v8.dt.metadata.mdclass.ScriptVariant; +import com._1c.g5.v8.dt.validation.marker.Marker; +import com.e1c.g5.v8.dt.testing.check.CheckTestBase; +import com.e1c.v8codestyle.form.check.FormListRefUseAlwaysFlagDisabledCheck; + +/** + * Tests for {@link FormListRefUseAlwaysFlagDisabledCheck} check. + * + * @author Olga Bozhko + */ +public class FormListRefUseAlwaysFlagDisabledCheckTest + extends CheckTestBase +{ + private static final String CHECK_ID = "form-list-ref-use-always-flag-disabled"; + private static final String PROJECT_NAME = "FormListRefUseAlwaysFlagDisabled"; + private static final String FQN_FORM = "Catalog.TestCatalog.Form.TestListForm.Form"; + + + /** + * Test Use Always flag is disabled for the Reference attribute in dynamic list (En Script variant). + * + * @throws Exception the exception + */ + @Test + public void testUseAlwaysDisabledForRef() throws Exception + { + IDtProject dtProject = openProjectAndWaitForValidationFinish(PROJECT_NAME); + assertNotNull(dtProject); + + IBmObject object = getTopObjectByFqn(FQN_FORM, dtProject); + assertTrue(object instanceof Form); + + Marker marker = getFirstNestedMarker(CHECK_ID, object.bmGetId(), dtProject); + assertNotNull(marker); + } + + /** + * Test Use Always flag is enabled for the Reference attribute in dynamic list (En Script variant). + * + * @throws Exception the exception + */ + @Test + public void testUseAlwaysEnabledForRef() throws Exception + { + IDtProject dtProject = openProjectAndWaitForValidationFinish(PROJECT_NAME); + assertNotNull(dtProject); + + IBmModel model = bmModelManager.getModel(dtProject); + model.execute(new AbstractBmTask("change mode") + { + @Override + public Void execute(IBmTransaction transaction, IProgressMonitor monitor) + { + Form form = (Form)transaction.getTopObjectByFqn(FQN_FORM); + FormItem item = form.getItems().get(1); + assertTrue(item instanceof Table); + Table table = (Table)item; + AbstractDataPath path = (DataPath)table.getItems().get(0).eContents().get(1); + form.getAttributes().get(0).getNotDefaultUseAlwaysAttributes().add(path); + return null; + } + }); + waitForDD(dtProject); + + IBmObject object = getTopObjectByFqn(FQN_FORM, dtProject); + assertTrue(object instanceof Form); + Marker marker = getFirstNestedMarker(CHECK_ID, object.bmGetId(), dtProject); + assertNull(marker); + } + + /** + * Test Use Always flag is disabled for the Reference attribute in dynamic list (Ru script variant). + * + * @throws Exception the exception + */ + @Test + public void testUseAlwaysDisabledForRefRu() throws Exception + { + IDtProject dtProject = openProjectAndWaitForValidationFinish(PROJECT_NAME); + assertNotNull(dtProject); + + IBmModel model = bmModelManager.getModel(dtProject); + model.execute(new AbstractBmTask("change mode") + { + @Override + public Void execute(IBmTransaction transaction, IProgressMonitor monitor) + { + IBmObject object = transaction.getTopObjectByFqn(CONFIGURATION.getName()); + assertTrue(object instanceof Configuration); + Configuration config = (Configuration)object; + config.setScriptVariant(ScriptVariant.RUSSIAN); + assertTrue(config.getScriptVariant() == ScriptVariant.RUSSIAN); + return null; + } + }); + waitForDD(dtProject); + + IBmObject object = getTopObjectByFqn(FQN_FORM, dtProject); + assertTrue(object instanceof Form); + + Marker marker = getFirstNestedMarker(CHECK_ID, object.bmGetId(), dtProject); + assertNotNull(marker); + } +} diff --git a/tests/com.e1c.v8codestyle.form.itests/workspace/FormListRefUseAlwaysFlagDisabled/.project b/tests/com.e1c.v8codestyle.form.itests/workspace/FormListRefUseAlwaysFlagDisabled/.project new file mode 100644 index 00000000..0985b90d --- /dev/null +++ b/tests/com.e1c.v8codestyle.form.itests/workspace/FormListRefUseAlwaysFlagDisabled/.project @@ -0,0 +1,18 @@ + + + FormListRefUseAlwaysFlagDisabled + + + + + + org.eclipse.xtext.ui.shared.xtextBuilder + + + + + + org.eclipse.xtext.ui.shared.xtextNature + com._1c.g5.v8.dt.core.V8ConfigurationNature + + diff --git a/tests/com.e1c.v8codestyle.form.itests/workspace/FormListRefUseAlwaysFlagDisabled/.settings/com.e1c.v8codestyle.autosort.prefs b/tests/com.e1c.v8codestyle.form.itests/workspace/FormListRefUseAlwaysFlagDisabled/.settings/com.e1c.v8codestyle.autosort.prefs new file mode 100644 index 00000000..23b06250 --- /dev/null +++ b/tests/com.e1c.v8codestyle.form.itests/workspace/FormListRefUseAlwaysFlagDisabled/.settings/com.e1c.v8codestyle.autosort.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +topObjects=true diff --git a/tests/com.e1c.v8codestyle.form.itests/workspace/FormListRefUseAlwaysFlagDisabled/.settings/com.e1c.v8codestyle.bsl.prefs b/tests/com.e1c.v8codestyle.form.itests/workspace/FormListRefUseAlwaysFlagDisabled/.settings/com.e1c.v8codestyle.bsl.prefs new file mode 100644 index 00000000..ac5ba525 --- /dev/null +++ b/tests/com.e1c.v8codestyle.form.itests/workspace/FormListRefUseAlwaysFlagDisabled/.settings/com.e1c.v8codestyle.bsl.prefs @@ -0,0 +1,3 @@ +addModuleStrictTypesAnnotation=false +createModuleStructure=false +eclipse.preferences.version=1 diff --git a/tests/com.e1c.v8codestyle.form.itests/workspace/FormListRefUseAlwaysFlagDisabled/.settings/com.e1c.v8codestyle.prefs b/tests/com.e1c.v8codestyle.form.itests/workspace/FormListRefUseAlwaysFlagDisabled/.settings/com.e1c.v8codestyle.prefs new file mode 100644 index 00000000..9e9b57e5 --- /dev/null +++ b/tests/com.e1c.v8codestyle.form.itests/workspace/FormListRefUseAlwaysFlagDisabled/.settings/com.e1c.v8codestyle.prefs @@ -0,0 +1,3 @@ +commonChecks=true +eclipse.preferences.version=1 +standardChecks=true diff --git a/tests/com.e1c.v8codestyle.form.itests/workspace/FormListRefUseAlwaysFlagDisabled/.settings/org.eclipse.core.resources.prefs b/tests/com.e1c.v8codestyle.form.itests/workspace/FormListRefUseAlwaysFlagDisabled/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 00000000..99f26c02 --- /dev/null +++ b/tests/com.e1c.v8codestyle.form.itests/workspace/FormListRefUseAlwaysFlagDisabled/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding/=UTF-8 diff --git a/tests/com.e1c.v8codestyle.form.itests/workspace/FormListRefUseAlwaysFlagDisabled/DT-INF/PROJECT.PMF b/tests/com.e1c.v8codestyle.form.itests/workspace/FormListRefUseAlwaysFlagDisabled/DT-INF/PROJECT.PMF new file mode 100644 index 00000000..6835f1cd --- /dev/null +++ b/tests/com.e1c.v8codestyle.form.itests/workspace/FormListRefUseAlwaysFlagDisabled/DT-INF/PROJECT.PMF @@ -0,0 +1,2 @@ +Manifest-Version: 1.0 +Runtime-Version: 8.3.19 diff --git a/tests/com.e1c.v8codestyle.form.itests/workspace/FormListRefUseAlwaysFlagDisabled/src/Catalogs/TestCatalog/Forms/TestListForm/Attributes/List/ExtInfo/ListSettings.dcss b/tests/com.e1c.v8codestyle.form.itests/workspace/FormListRefUseAlwaysFlagDisabled/src/Catalogs/TestCatalog/Forms/TestListForm/Attributes/List/ExtInfo/ListSettings.dcss new file mode 100644 index 00000000..b9ce5297 --- /dev/null +++ b/tests/com.e1c.v8codestyle.form.itests/workspace/FormListRefUseAlwaysFlagDisabled/src/Catalogs/TestCatalog/Forms/TestListForm/Attributes/List/ExtInfo/ListSettings.dcss @@ -0,0 +1,17 @@ + + + + Normal + 5b8df703-aa76-49b5-9df8-b98ce3915698 + + + Normal + 251d7356-8af3-4d63-8006-801adca5fa31 + + + Normal + 443cbe90-2a6a-4955-9899-78c80f24cc24 + + Normal + 2884db82-c045-4ce4-b91f-ff27564759be + diff --git a/tests/com.e1c.v8codestyle.form.itests/workspace/FormListRefUseAlwaysFlagDisabled/src/Catalogs/TestCatalog/Forms/TestListForm/Form.form b/tests/com.e1c.v8codestyle.form.itests/workspace/FormListRefUseAlwaysFlagDisabled/src/Catalogs/TestCatalog/Forms/TestListForm/Form.form new file mode 100644 index 00000000..b7ebfc72 --- /dev/null +++ b/tests/com.e1c.v8codestyle.form.itests/workspace/FormListRefUseAlwaysFlagDisabled/src/Catalogs/TestCatalog/Forms/TestListForm/Form.form @@ -0,0 +1,564 @@ + + + + ListSettingsComposerUserSettings + 1 + true + true + + true + + + <key>en</key> + <value>User settings group</value> + + false + + ListSettingsComposerUserSettingsExtendedTooltip + 2 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + Vertical + WeakSeparation + true + true + Auto + Auto + + + + List + 3 + true + true + + true + + + List + + true + None + + Ref + 16 + true + true + + true + + + List.Ref + + true + + RefExtendedTooltip + 18 + true + true + + true + + Label + true + true + + Left + + + + RefContextMenu + 17 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + Code + 19 + true + true + + true + + + List.Code + + + CodeExtendedTooltip + 21 + true + true + + true + + Label + true + true + + Left + + + + CodeContextMenu + 20 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + Description + 22 + true + true + + true + + + List.Description + + + DescriptionExtendedTooltip + 24 + true + true + + true + + Label + true + true + + Left + + + + DescriptionContextMenu + 23 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + DeletionMark + 25 + true + true + + true + + + List.DeletionMark + + + DeletionMarkExtendedTooltip + 27 + true + true + + true + + Label + true + true + + Left + + + + DeletionMarkContextMenu + 26 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + Predefined + 28 + true + true + + true + + + List.Predefined + + + PredefinedExtendedTooltip + 30 + true + true + + true + + Label + true + true + + Left + + + + PredefinedContextMenu + 29 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + PredefinedDataName + 31 + true + true + + true + + + List.PredefinedDataName + + + PredefinedDataNameExtendedTooltip + 33 + true + true + + true + + Label + true + true + + Left + + + + PredefinedDataNameContextMenu + 32 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + None + + ListCommandBar + 5 + true + true + + true + + Left + + + true + true + + true + + ListSearchString + 7 + + ListSearchStringExtendedTooltip + 9 + true + true + + true + + Label + true + true + + Left + + + + ListSearchStringContextMenu + 8 + true + true + + true + + true + + ListSearchString + + true + + + + true + true + + true + + ListViewStatus + 10 + + ListViewStatusExtendedTooltip + 12 + true + true + + true + + Label + true + true + + Left + + + + ListViewStatusContextMenu + 11 + true + true + + true + + true + + ViewStatusAddition + ListViewStatus + + true + + + + true + true + + true + + ListSearchControl + 13 + + ListSearchControlExtendedTooltip + 15 + true + true + + true + + Label + true + true + + Left + + + + ListSearchControlContextMenu + 14 + true + true + + true + + true + + SearchControlAddition + List + + true + + + + ListExtendedTooltip + 6 + true + true + + true + + Label + true + true + + Left + + + + ListContextMenu + 4 + true + true + + true + + true + + true + true + true + true + true + MultiRow +
true
+ 1 + 1 + AutoUse + AutoUse + true + true + true + Auto + Auto + ExpandTopLevel + true + true + true + true + AsFileRef + + List.DefaultPicture + + + 60 + + 0001-01-01T00:00:00 + 0001-01-01T00:00:00 + + + true + ListSettingsComposerUserSettings + +
+ + FormCommandBar + -1 + true + true + + true + + Left + true + + true + true + Vertical + true + true + true + true + true + + List + 1 + + DynamicList + + + true + + + true + +
true
+ + Catalog.TestCatalog + true + true + true + true + +
+ + + + + +
diff --git a/tests/com.e1c.v8codestyle.form.itests/workspace/FormListRefUseAlwaysFlagDisabled/src/Catalogs/TestCatalog/TestCatalog.mdo b/tests/com.e1c.v8codestyle.form.itests/workspace/FormListRefUseAlwaysFlagDisabled/src/Catalogs/TestCatalog/TestCatalog.mdo new file mode 100644 index 00000000..f764ae75 --- /dev/null +++ b/tests/com.e1c.v8codestyle.form.itests/workspace/FormListRefUseAlwaysFlagDisabled/src/Catalogs/TestCatalog/TestCatalog.mdo @@ -0,0 +1,43 @@ + + + + + + + + + + TestCatalog + + en + Test catalog + + true + Catalog.TestCatalog.StandardAttribute.Code + Catalog.TestCatalog.StandardAttribute.Description + DontUse + Use + Managed + Use + 2 + true + 9 + 25 + String + Variable + true + true + AsDescription + InDialog + BothWays + Catalog.TestCatalog.Form.TestListForm + + TestListForm + + en + Test list form + + PersonalComputer + MobileDevice + + diff --git a/tests/com.e1c.v8codestyle.form.itests/workspace/FormListRefUseAlwaysFlagDisabled/src/Configuration/CommandInterface.cmi b/tests/com.e1c.v8codestyle.form.itests/workspace/FormListRefUseAlwaysFlagDisabled/src/Configuration/CommandInterface.cmi new file mode 100644 index 00000000..0cf6de8a --- /dev/null +++ b/tests/com.e1c.v8codestyle.form.itests/workspace/FormListRefUseAlwaysFlagDisabled/src/Configuration/CommandInterface.cmi @@ -0,0 +1,2 @@ + + diff --git a/tests/com.e1c.v8codestyle.form.itests/workspace/FormListRefUseAlwaysFlagDisabled/src/Configuration/Configuration.mdo b/tests/com.e1c.v8codestyle.form.itests/workspace/FormListRefUseAlwaysFlagDisabled/src/Configuration/Configuration.mdo new file mode 100644 index 00000000..d921f754 --- /dev/null +++ b/tests/com.e1c.v8codestyle.form.itests/workspace/FormListRefUseAlwaysFlagDisabled/src/Configuration/Configuration.mdo @@ -0,0 +1,42 @@ + + + FormListRefUseAlwaysFlagDisabled + + en + Form list ref use always flag disabled + + + + + + + + + 8.3.19 + ManagedApplication + PersonalComputer + + + true + + + OSBackup + true + + + Language.English + Managed + NotAutoFree + DontUse + DontUse + 8.3.19 + + English + + en + English + + en + + Catalog.TestCatalog + diff --git a/tests/com.e1c.v8codestyle.form.itests/workspace/FormListRefUseAlwaysFlagDisabled/src/Configuration/MainSectionCommandInterface.cmi b/tests/com.e1c.v8codestyle.form.itests/workspace/FormListRefUseAlwaysFlagDisabled/src/Configuration/MainSectionCommandInterface.cmi new file mode 100644 index 00000000..0cf6de8a --- /dev/null +++ b/tests/com.e1c.v8codestyle.form.itests/workspace/FormListRefUseAlwaysFlagDisabled/src/Configuration/MainSectionCommandInterface.cmi @@ -0,0 +1,2 @@ + +