1. 1C / Говнокод #2409

    −213

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    Если Пользователь.Родитель.КонтрольРазмещения = Истина Тогда
    	Возврат Истина;
    Иначе
    	Возврат Ложь;
    КонецЕсли;

    Лёгких путей не бывает :)

    Запостил: KingOfShit, 14 Января 2010

    Комментарии (23) RSS

    • bool b;
      if(b==true)
      return true;
      else
      return false;

      так штоле?

      ЗЫ: 1С всегда говнокод)
      Ответить
    • Ну строго говоря - не говнокод, а код нуждающийся в рефакторинге.
      Ответить
    • и чем же это говно код?
      Ответить
      • )))))))DDDDD
        Ответить
        • для тех кто в танке - объясняю. в 1с любая переменная может принимать значение Неопределено.
          и при попытке проверить эту переменную как Булево, вывалится ошибка. а если она будет сравниваться с Истина - то ошибки не будет.
          пример:
          Пер = Неопределено
          Если Пер Тогда
          Возврат Истина;
          Иначе
          Возврат Ложь;
          КонецЕсли;
          будет ошибка.

          а
          Пер = Неопределено
          Если Пер = Истина Тогда
          Возврат Истина;
          Иначе
          Возврат Ложь;
          КонецЕсли;
          ошибки не будет.
          поэтому ржи дальше.
          Ответить
          • в посте не переменная, а реквизит элемента справочника. Если ссылки на справочник не существует, то реквизит вернет ложь.
            Ответить
            • то что это элемент справочника - в посте не указано , как минимум.. ;)
              Ответить
          • А почему бы не написать
            Пер = Неопределено
            Возврат Пер = Истина;
            Ответить
            • Там не переменная, а реквизит, которая не принимает значение = неопределено.
              Ответить
          • Вы еще так напишите
            Если Истина Тогда
            Возврат Истина;
            Иначе
            Возврат Ложь;
            КонецЕсли;
            Ответить
      • Если допускается значение Неопределено, то следовало написать так:
        Возврат Пользователь.Родитель.КонтрольРазмещения = Истина;
        И всё.
        Ответить
        • значение Неопределено недопустимо. Его просто не может быть не при какой ситуации.
          Ответить
    • Возврат Пользователь.Родитель.КонтрольРазмещения = Истина;
      Ответить
      • Тут это лишнее, так как КонтрольРазмещения не может принимать всякие Null, Неопределено и так далее. Либо истина, либо ложь и все...
        Ответить
        • А если реквизит КонтрольРазмещения составного типа и не приведен к определенному типу, то в этом случае он и будет Неопреденело.
          Ответить
    • Короче, Возврат Пользователь.Родитель.КонтрольРазмещения ; И хватит.
      Ответить

    Добавить комментарий