Project

Profile

Help

HostedRedmine.com has moved to the Planio platform. All logins and passwords remained the same. All users will be able to login and use Redmine just as before. Read more...

Bug #956187

open

Неожиданное поведение КомпоновщикНастроекКомпоновкиДанных.Восстановить() и ПользовательскиеНастройки

Added by Сергей Старых 6 months ago. Updated 6 months ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
-
Sprint/Milestone:
-
Start date:
Due date:
% Done:

0%

Estimated time:

Description

https://partners.v8.1c.ru/forum/t/2072920/m/2072920
https://bugboard.v8.1c.ru/error/000131408
Конфигурация ПО

8.3.21-22, вроде исправлено в 8.3.23

Проблема

КомпоновщикНастроекКомпоновкиДанных.Восстановить() удаляет элементы настроек вместо отключения, если они входят в пользовательские настройки

Воспроизведение

Открыть приложенную внешнюю обработку в управляемом клиентском приложении любой базы. При этом будет выполнен код
ОбработкаОбъект = РеквизитФормыВЗначение("Объект");
Схема = ОбработкаОбъект.ПолучитьМакет("Схема");
Компоновщик.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(ПоместитьВоВременноеХранилище(Схема)));
Компоновщик.ЗагрузитьНастройки(Схема.НастройкиПоУмолчанию);
НедоступноеПоле = Новый ПолеКомпоновкиДанных("Хал");
ЭлементВыбора = Компоновщик.Настройки.Выбор.Элементы.Добавить(Тип("ВыбранноеПолеКомпоновкиДанных"));
ЭлементВыбора.Поле = НедоступноеПоле;
ЭлементПорядка = Компоновщик.Настройки.Порядок.Элементы.Добавить(Тип("ЭлементПорядкаКомпоновкиДанных"));
ЭлементПорядка.Поле = НедоступноеПоле;
Для Каждого ГруппаНастроек Из Компоновщик.ПользовательскиеНастройки.Элементы Цикл
Если ТипЗнч(ГруппаНастроек) = Тип("ВыбранныеПоляКомпоновкиДанных") Тогда
ЭлементВыбора = ГруппаНастроек.Элементы.Добавить(Тип("ВыбранноеПолеКомпоновкиДанных"));
ЭлементВыбора.Поле = НедоступноеПоле;
КонецЕсли;
КонецЦикла;

Состав пользовательских настроек схемы компоновки:

Выбранные поля

В форме отобразятся обычные и пользовательские настройки по группам:

Выбранные поля
Порядок

При этом в каждой группе будет элемент с красным крестиком, ссылающийся на отсутствующее поле "Хал".
Нажать "Восстановить". При этом будет выполнен код
Компоновщик.Восстановить();

В обычной группе настроек "Порядок" сбросился признак использования у элемента с красным крестиком. Это ожиданное поведение.
Но из обычных и пользовательских настроек группы "Выбранные поля" удались элементы с красным крестиком. Это не соответствует описанию метода Восстановить() в синтакс-помощнике. Также не нашел описания этой особенности на its.1c.ru.


Files

ВнешняяОбработка1(2).epf (9.12 KB) ВнешняяОбработка1(2).epf Сергей Старых, 2022-12-23 09:08 AM
clipboard-202212231108-ldxmb.png (29 KB) clipboard-202212231108-ldxmb.png Сергей Старых, 2022-12-23 09:08 AM
clipboard-202212231108-qshie.png (30.1 KB) clipboard-202212231108-qshie.png Сергей Старых, 2022-12-23 09:08 AM
clipboard-202212231108-xrgsn.png (53 KB) clipboard-202212231108-xrgsn.png Сергей Старых, 2022-12-23 09:08 AM
Actions #1

Updated by Сергей Старых 6 months ago

  • Description updated (diff)

Also available in: Atom PDF