Вопрос тем кто знает конфу. БП 3.0
Заранее говорю. Вопрос сугубо технический. Я не прошу решения "как это сделать по другому". Я знаю, как по другому. Мне интересно как оно устроено.
Итак
Есть типовой отчет "Анализ Субконто"
сделана полная копия этого отчёта с небольшими изменениями.
Типовой механизм выглядит следующим образом:
В Отчёты есть ревизит "СписокВидовСубконто". На форме есть поле "ВидСубконто" которое ссылается на значение в первой строке этого списка:
ПутьКДанным такой: Отчет.СписокВидовСубконто[0].Значение
Тип значения прописан в коде в ПриСозданииНаСервере()
Отчет.СписокВидовСубконто.ТипЗначения = Новый ОписаниеТипов("ПланВидовХарактеристикСсылка.ВидыСубконтоХозрасчетные");
Ну и ПриОткрытии() в этот список добавляется строка, чтоб всегда был одна строка.
Если Отчет.СписокВидовСубконто.Количество() = 0 Тогда
   Отчет.СписокВидовСубконто.Добавить();
КонецЕсли;

Дык вот. Если поменять тип на другой, самописный ПланВидовХарактеристик,
Отчет.СписокВидовСубконто.ТипЗначения = Новый ОписаниеТипов("ПланВидовХарактеристикСсылка.ВидыСубконто_1");
 то при выборе значения из открывающегося теперь ВидыСубконто_1, значение в списке и в поле стирается - прям визуально видно как оно на мгновение подставляется и тут же удаляется.
Если задать совершенно левый тип, например, СправочникСсылка.Номенклатура - то работает.

Весь цимес в том, что содержимое процедур ПриСозданииНаСервере() и ПриОткрытии() я отключил поставив возврат в самом начале. И удалил в свойствах поля ссылку на все обработчики.
Т.е. при открытии формы происходит описанное выше присвоение типа, добавляется пустая строка и на этом всё. Весь остальной код убран за возвраты.
При создании такого же поля(имя "Реквизит1") которое ссылается на ДРУГОЙ списокЗначений(имя тоже "Реквизит1") поведение точно такое же. Т.е. если вид ВидыСубконто_1, то не работает, если ВидыСубконтоХозрасчетные или Номенклатура, то работает.

Т.е. поведение говорит о том, что либо при открытии формы ли при выборе значения, поля формы обрабатываются ещё каким-то кодом и если поле имеет тип содержащий в имени "ВидыСубконто", то оно обрабатывается так, что допускаются только значения типа ВидыСубконтоХозрасчетные . Вот только не видно этот код, ничего более никуда не ссылается и не перехватывается. Всё уже перепробовал.
Это не код. Переименование ПВХ ничего не изменило. Такое ощущение, что его включили в РЛС или ещё какой объект типа функциональных опций или подписки на события. Проблема в том, что он нигде не находится..
КАК??? ГДЕ???
---
Мдааа... Решение как обычно, оказалось в другой плоскости. Копипаста зло. Форма выбора нового ПВХ, судя по всему, была скопированна со старого ПВХ и её список так и ссылался на старый ПВХ. а ввиду однотипности данных это не было заметно визуально.
---
В свойствах ПланСчетов.<НужныйПланСчетов>, на закладке "Субконто", не?
---
не понял о чём речь. О соотвествии Плану счетов? Так это отчёт анализ субконто. Он в реквизитах на счета вообще не ссылается. там даже реквизита такого нет. План счетов появится сильно позже. Когда компоновщик работать начнет. А он даже не инициализирван ещё, он в этом отчёте даже в другом макете и цепляется кодом. Позже.
---
права или функциональные опции проверьте
---
Права полные, функциональные опции пустые.
---
Ну что, в абсолютно новом пустом не типовом отчёте с полем типа ПланВидовХарактеристикСсылка.ВидыСубконто_1
 происходит ровно тоже самое. Не присваивается.
---
Мдааа... Решение как обычно, оказалось в другой плоскости. Копипаста зло. Форма выбора нового ПВХ, судя по всему, была скопированна со старого ПВХ и её список так и ссылался на старый ПВХ. а ввиду однотипности данных это не было заметно визуально.