7.7 Как узнать какой тип имеет полеввода

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем targred, 28 авг 2007.

  1. TopicStarter Overlay
    targred
    Offline

    targred

    Регистрация:
    8 авг 2007
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    Добрый день, подскажите пожалуйста, как узнать какой тип имеет поле для ввода в документе с заранее известным идентификатором, тоеть даже наверное не тип узнать, а узнать существует поле для ввода определенного типа например "Справочник.Контрагенты" с зарание известны индентификатором например контрагент?

    Мне необходимо пройтись по всем документам и там где есть индентификатор поля контрагент задать договор программно, но не у всех документах есть поле контрогент и из за этого меня выбрасывает в ерор, в 1с программирую мало и обработку исключений не нашол, подскажите так же есть ли обработка исключений в 1с?
  2. Amishechka
    Offline

    Amishechka Опытный в 1С

    Регистрация:
    8 сен 2006
    Сообщения:
    361
    Симпатии:
    1
    Баллы:
    26
    Вот процедура из производства:
    Код:
    Функция глЕстьРеквизитШапки(ИмяРеквизита, ВидДокумента) Экспорт
    Если ПустоеЗначение(ИмяРеквизита) = 1 Тогда
    Возврат 0;
    ИначеЕсли Метаданные.ОбщийРеквизитДокумента(ИмяРеквизита).Выбран() = 1 Тогда
    Возврат 1;
    ИначеЕсли ПустоеЗначение(ВидДокумента) = 1 Тогда
    Возврат 0;
    ИначеЕсли Метаданные.Документ(ВидДокумента).РеквизитШапки(ИмяРеквизита).Выбран() = 1 Тогда
    Возврат 1;
    Иначе
    Возврат 0;
    КонецЕсли;
    
    КонецФункции
    
  3. TopicStarter Overlay
    targred
    Offline

    targred

    Регистрация:
    8 авг 2007
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    если не затруднить поясните пожалуйста написанное, спасибо.
  4. Steel Rain
    Offline

    Steel Rain Опытный в 1С

    Регистрация:
    29 сен 2006
    Сообщения:
    408
    Симпатии:
    2
    Баллы:
    29
    Функция находиться в Глобальном Модуле. При её вызове в переменную ИмяРеквизита, передается Имя Реквизита. А в переменную ВидДокумента, Вид Документа в котором нужно определить наличие данного реквизита. Функция возвращает 1, если в документе присутствует искомый реквизит и 0 если нет.
  5. TopicStarter Overlay
    targred
    Offline

    targred

    Регистрация:
    8 авг 2007
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1

    Ясно спасибо.
  6. Steel Rain
    Offline

    Steel Rain Опытный в 1С

    Регистрация:
    29 сен 2006
    Сообщения:
    408
    Симпатии:
    2
    Баллы:
    29
    Забыл сказать. В таком варианте работает только для реквизитов Шапки документов.

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