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

Тема в разделе "1C и всё что с ней связано", создана пользователем Hryv, 30 июн 2009.

  1. Hryv

    Hryv Гость

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

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

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

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

    делаю тоже самое в форме списка справочника и получаю
    Ради прикола проверил и узнал, что Константа.ПолучитьАтрибут() и Перечисление.ПолучитьАтрибут() дают тот же эффект
    Почему!!!
    я в шоке
     
  2. unknown181538

    unknown181538 НеГуру
    1C Team

    Регистрация:
    28 дек 2008
    Сообщения:
    1.418
    Симпатии:
    0
    А вид расчета в форме списка имеет тот же тип и значение, если смотреть в отладчике?
     
  3. kaa

    kaa Гость

    а так ВР = ТекущийЭлемент().ПолучитьАтрибут(ИД);
     
  4. Hryv

    Hryv Гость

    Дело не в этом
    ВидРасчета - это объект глобального контекста
    Очено похоже на Константа

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

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

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

    так вот в модуле формы отчета ВидРасчета.ПолучитьАтрибут("ПоОкладу") работает, а в модуле формы списка справочника - не работает (ни для ВидРасчета ни для Константа)
    в документации я нигде не нашел ограничений по этому поводу, и не понимаю почему так
     
  5. unknown181538

    unknown181538 НеГуру
    1C Team

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

    ПС...нет, мб и не так понял...
    А не зателсалась ли где одноименная переменная?
     
  6. Hryv

    Hryv Гость

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


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

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

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

Поделиться этой страницей