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

    0

    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 был.
                Ответить
    • Кажется, я знаю, откуда этот код... Это просто ужасно.
      Ответить

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