Добрый день.
Перебираю поля, автоматически созданные компоновщиком СКД, дабы найти нужное и вручить ему нужный обработчик. И в процессе отладки сего процесса оказалось, что нужное поле возвращает следующий путь:
Отчет.КомпоновщикНастроек.ПользовательскиеНастройки[0].Значение
, но на попытку его использовать 1с-ка ругается, что недоступно обращение по индексу. По факту же, доступ к этому значению идет через элементы
Отчет.КомпоновщикНастроек.ПользовательскиеНастройки.Элементы[0].Значение
или например
ЭтаФорма.Отчет.КомпоновщикНастроек.ПользовательскиеНастройки.Элементы[0].Значение
Вопрос: почему такая разница между путем к данным в элементе формы и реальным путем к этим данным?
Ну или иная трактовка вопроса: как и откуда можно получить доступ именно к Отчет.КомпоновщикНастроек.ПользовательскиеНастройки[0].Значение?
(0) Отчет.КомпоновщикНастроек.ПользовательскиеНастройки - какой тип значения в отладчике? попробуй циклом например перебрать, если по индексу не получается.
(3) в отладчике - ПользовательскиеНастройкиКомпоновкиДанных. На форме в конфигураторе в списке реквизитов формы - тоже ПользовательскиеНастройкиКомпоновкиДанных. Без скобок.
(5) ну изначально я просто хотел найти поле, где хранится параметр Период1 и навесить ПриИзменении чтобы после изменения ограничивать месяцем принудительно. Но эту-то задачу я сделаю без проблем.
Меня волнует другое. Почему пользовательские настройки в компоновщике в конфигураторе на форме выглядят иначе (и в ПутьКДанным), нежели в пользовательские настройки в компоновщике в отладчике (и в коде соответственно)?
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший