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

    −100

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    Функция ПроверкаЗаполнения()
    	Если НЕ ЗначениеЗаполнено(Контрагент) Тогда
    		Предупреждение("Не выбран контрагент!");
    		Возврат Ложь;
    	КонецЕсли;
    	Если НЕ ЗначениеЗаполнено(ВалютаДокумента) Тогда
    		Предупреждение("Не выбрана валюта документа!");
    		Возврат Ложь;
    	КонецЕсли;
    	Если НЕ ЗначениеЗаполнено(ДатаОкончания) Тогда
    		Предупреждение("Не выбрана дата окончания периода сверки!");
    		Возврат Ложь;
    	КонецЕсли;
    	Если ДатаОкончания < ДатаНачала Тогда
    	    Предупреждение("Неверно задан период сверки расчетов!");
    		Возврат Ложь;
    	КонецЕсли;	
    	Возврат Истина;
    КонецФункции

    Как нужно дрочить пользаков.

    Запостил: blMbl, 23 Ноября 2016

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

    • Ндрчл плзкв тб з щк, првр.
      Ответить
    • Да это ж мой код! Как он здесь оказался?!
      Ответить
    • Все правильно, объект перед записью ДОЛЖЕН быть заполнен как положено.
      Ответить
      • Ох, а что в 1С нету каких-то декларативных способов валидации?
        Ответить
        • В свойствах реквизита можно указать, что обязателен к заполнению. Но всем, как обычно.
          Ответить
          • Проверку заполнения платформой при установленном свойстве реквизита ПроверкаЗаполнения не получится обойти конструкцией "Если ОбменДанными.Загрузка Тогда Возврат; КонецЕсли; ", если будет нужно
            Ответить
      • Должен, а не логичней ли, вывести одно предупреждение указав в нем ВСЕ незаполненные поля?
        Код что представлен выше будет выводить по ОДНОЙ ошибке каждый раз при попытке записать документ.
        Ответить
        • А лучше вообще подсветить поля красным, показать где-нибудь рядом причину ошибки и кнопку сохранения залочить. Показывать ошибки месседжбоксом в 2016 году это тот ещё пиздец...

          З.Ы. Но тут ещё не самый ебанутый способ. Хуже когда проверка с месседжбоксом повешана на потерю фокуса полем... Пока не заполнишь как надо - из поля не выйдешь.
          Ответить
          • Пока я не кончу, хуя изо рта не выпустишь, проверяй.
            Ответить
          • Бывало, приложение/форма не закрывается, пока поле не валидно.
            Ответить
          • @Показывать ошибки месседжбоксом в 2016 году это тот ещё пиздец...

            Правильно, при ошибке нужно молча выходить из проги, "по-английски". Даёшь аристократию!..
            Ответить
            • Я сначала хотел удивиться: как это так ты дожил до 2016-го года и не знаешь что в случае ошибок поля красят красным

              А потом вспомнил что ты же пишешь на дельфи, и подумал что наверное у тебя кругом 1998-й год, и четвертая дельфи летает на 98-й винде на новеньком 166м пентиуеме
              Ответить
              • Покраски полей нет, но вы там держитесь. Хорошего вам настроения!
                Ответить
              • Подсветить поле - нелохо, однако, это не срабатывает против особенно упоротых юзеров. Иногда текст ошибки выводят в статусбар - информативность так же низка.
                Ответить
              • >1998-й год
                >166м пентиуеме
                Щито? Уже 266 был.
                Ответить
    • Кажется, я знаю, откуда этот код... Это просто ужасно.
      Ответить

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