8.х Как проверить существование переменной

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем GRUV, 15 май 2008.

  1. TopicStarter Overlay
    GRUV
    Offline

    GRUV Опытный в 1С

    Регистрация:
    7 ноя 2007
    Сообщения:
    106
    Симпатии:
    0
    Баллы:
    26
    Код:
    Если Переменная <> Неопределено Тогда
    //
    Иначе
    //
    КонецЕсли;
    
    В данном месте кода Переменная может быть определена, а может и нет(в этом случае возникает ошибка)

    Как определить объявлена переменная ранее или нет ... как вариант можно использовать исключение, интересно есть ли еще способы
  2. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Способ простой - грамотно проектировать
  3. php5
    Offline

    php5

    Регистрация:
    20 фев 2007
    Сообщения:
    22
    Симпатии:
    0
    Баллы:
    1
    В типовых конфигурациях есть глобальная функция ЗначениеНеЗаполнено.
    Пример:
    Код:
    Если ЗначениеНеЗаполнено(ПроверяемаяПеременная) Тогда
    Сообщить("Значение не заполнено!");
    Иначе
    Сообщить("Значение заполнено!");
    КонецЕсли;
    
    
  4. TopicStarter Overlay
    GRUV
    Offline

    GRUV Опытный в 1С

    Регистрация:
    7 ноя 2007
    Сообщения:
    106
    Симпатии:
    0
    Баллы:
    26
    В параметр функции ЗначениеЗаполнено(); так же должна передаваться существующая переменная ...

    А на счет грамотного проектирования согласен, просто дело в том, что эту проверку надо делать во внешней обработке, т.к. неизвестно объявлена ли переменная в той конфигурации, в которой обработка будет использоваться ...
  5. lazy
    Offline

    lazy Модераторы Команда форума Модератор

    Регистрация:
    1 сен 2007
    Сообщения:
    2.127
    Симпатии:
    4
    Баллы:
    29
    Может использовать попытку-исключение?
  6. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Если это внешняя обработка - то переменная может быть только глобальная. Поэтому надо проверять, что за конфа и тогда ставить признак, использовать или нет доступ к переменной.
    Но это так - обход...

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