ПолучитьАтрибут - не работает в справочнике!

  • Автор темы Автор темы Hryv
  • Дата начала Дата начала
H

Hryv

Я просто офигел :)

Как обойти проблему я разберусь, но может кто-то сможет объяснить причину
Я понимать такое отказываюсь

У меня есть внешняя обработка, где я делаю
ВР = ВидРасчета.ПолучитьАтрибут(ИД);

все отлично работает

делаю тоже самое в форме списка справочника и получаю
ВР = ВидРасчета.ПолучитьАтрибут(ИД);
{Справочник.СчетаДляРасчетов.ФормаСписка.ФормаСписка.Модуль(12)}: Поле агрегатного объекта не обнаружено (ПолучитьАтрибут)

Ради прикола проверил и узнал, что Константа.ПолучитьАтрибут() и Перечисление.ПолучитьАтрибут() дают тот же эффект
Почему!!!
я в шоке
 
А вид расчета в форме списка имеет тот же тип и значение, если смотреть в отладчике?
 
а так ВР = ТекущийЭлемент().ПолучитьАтрибут(ИД);
 
Дело не в этом
ВидРасчета - это объект глобального контекста
Очено похоже на Константа

Обычно пишут ВидРасчета.ПоОкладу или Константа.Директор, чтобы использовать конкретный ВидРасчета или Константу
Но у них существует метод:

ПолучитьАтрибут(<?>);
Синтаксис:
ПолучитьАтрибут(<ИмяВидаРасч>)
Назначение:
Получить значение конкретного вида расчета по идентификатору. Возвращает значение конкретного вида расчета.
Параметры:
<ИмяВидаРасч> - строковое выражение, содержащее имя конкретного вида расчета , как оно задано в конфигураторе.

То есть
ВидРасчета.ПоОкладу
и
ВидРасчета.ПолучитьАтрибут("ПоОкладу")
одно и тоже

так вот в модуле формы отчета ВидРасчета.ПолучитьАтрибут("ПоОкладу") работает, а в модуле формы списка справочника - не работает (ни для ВидРасчета ни для Константа)
в документации я нигде не нашел ограничений по этому поводу, и не понимаю почему так
 
Как я понимаю (не шарю в этой компоненте), ВидРАсчета это объект, определенный следующим образом:
ВидРасчет = СоздатьОбъект("ВидРасчета");
У вас так?

ПС...нет, мб и не так понял...
А не зателсалась ли где одноименная переменная?
 
unknown181538, нет, так не создается ВидРасчет = СоздатьОбъект("ВидРасчета");
Как я уже писал ВидРасчета очень похоже на Константа
Через точку можно обращаться к конкретному объекту


А не зателсалась ли где одноименная переменная?
Это мне тоже приходило в голову, но отладчик показывает, что в этом плане все нормально

Я уже думаю, что у меня сама 1С какая-то корявая, надо будет в других местах проверить

Вообще проблему я решил: из справочника запускаю обработку используя ОткрытьФорму, а в обработке ПриОткрытии делаю что надо и сразу закрываю
Но это однозначно извращенный путь. Почему что-то можно сделать в обработке и нельзя сделать в справочнике, если это касается какого-то третьего объекта :wacko: ?
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab