Бухгалтерия / Говнокод #26467 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
ОбластьТело.Параметры.Нерабочий = ?(
	(Месяц(СсылкаНаОбъект.ДатаНачалаСобытия) = 1 И (День(СсылкаНаОбъект.ДатаНачалаСобытия) = 1 
		ИЛИ День(СсылкаНаОбъект.ДатаНачалаСобытия) = 2 
		ИЛИ День(СсылкаНаОбъект.ДатаНачалаСобытия) = 3 
		ИЛИ День(СсылкаНаОбъект.ДатаНачалаСобытия) = 4 
		ИЛИ День(СсылкаНаОбъект.ДатаНачалаСобытия) = 5 
		ИЛИ День(СсылкаНаОбъект.ДатаНачалаСобытия) = 6 
		ИЛИ День(СсылкаНаОбъект.ДатаНачалаСобытия) = 7 
		ИЛИ День(СсылкаНаОбъект.ДатаНачалаСобытия) = 8))
	ИЛИ Месяц(СсылкаНаОбъект.ДатаНачалаСобытия) = 2 И День(СсылкаНаОбъект.ДатаНачалаСобытия) = 23
	ИЛИ Месяц(СсылкаНаОбъект.ДатаНачалаСобытия) = 3 И День(СсылкаНаОбъект.ДатаНачалаСобытия) = 8
	ИЛИ Месяц(СсылкаНаОбъект.ДатаНачалаСобытия) = 5 И День(СсылкаНаОбъект.ДатаНачалаСобытия) = 1
	ИЛИ Месяц(СсылкаНаОбъект.ДатаНачалаСобытия) = 5 И День(СсылкаНаОбъект.ДатаНачалаСобытия) = 9
	ИЛИ Месяц(СсылкаНаОбъект.ДатаНачалаСобытия) = 6 И День(СсылкаНаОбъект.ДатаНачалаСобытия) = 12
	ИЛИ Месяц(СсылкаНаОбъект.ДатаНачалаСобытия) = 11 И День(СсылкаНаОбъект.ДатаНачалаСобытия) = 4
	,"праздничный", "выходной");

Проверочка на соответствие даты действия документа праздничному дню.. не ну а чо бы нет то

Запостил: Stipa Stipa, (Updated )

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

  • Уменьшил количество сравнений на единицу:
    ОбластьТело.Параметры.Нерабочий = ?(
    	(Месяц(СсылкаНаОбъект.ДатаНачалаСобытия) = 1 И (День(СсылкаНаОбъект.ДатаНачалаСобытия) = 1 
    		ИЛИ День(СсылкаНаОбъект.ДатаНачалаСобытия) = 2 
    		ИЛИ День(СсылкаНаОбъект.ДатаНачалаСобытия) = 3 
    		ИЛИ День(СсылкаНаОбъект.ДатаНачалаСобытия) = 4 
    		ИЛИ День(СсылкаНаОбъект.ДатаНачалаСобытия) = 5 
    		ИЛИ День(СсылкаНаОбъект.ДатаНачалаСобытия) = 6 
    		ИЛИ День(СсылкаНаОбъект.ДатаНачалаСобытия) = 7 
    		ИЛИ День(СсылкаНаОбъект.ДатаНачалаСобытия) = 8))
    	ИЛИ Месяц(СсылкаНаОбъект.ДатаНачалаСобытия) = 2 И День(СсылкаНаОбъект.ДатаНачалаСобытия) = 23
    	ИЛИ Месяц(СсылкаНаОбъект.ДатаНачалаСобытия) = 3 И День(СсылкаНаОбъект.ДатаНачалаСобытия) = 8
    	ИЛИ Месяц(СсылкаНаОбъект.ДатаНачалаСобытия) = 5 И (День(СсылкаНаОбъект.ДатаНачалаСобытия) = 1 ИЛИ День(СсылкаНаОбъект.ДатаНачалаСобытия) = 9)
    	ИЛИ Месяц(СсылкаНаОбъект.ДатаНачалаСобытия) = 6 И День(СсылкаНаОбъект.ДатаНачалаСобытия) = 12
    	ИЛИ Месяц(СсылкаНаОбъект.ДатаНачалаСобытия) = 11 И День(СсылкаНаОбъект.ДатаНачалаСобытия) = 4
    	,"праздничный", "выходной");
    Ответить
      • Наверное приятно копаться в таком коде, когда список праздничных дней изменяется.
        Ответить
        • там просто снаружи еще иф на год. или на последние две цифры года. какая проблема 2100)))
          Ответить
          • А зачем снаружи иф на год?
            А! Я ПОНЯЛ!

            В разные года могут быть разные праздники (пасха, например(, хотя чаще всего он повторядются

            основные года (с 1970 по 2021) захаодкожены
            Ответить
            • Да почему, Пасха то вообще не красный день календаря, да и выпадает на воскресенье, а тут именно работа в праздничные-выходные дни (в ЗУП)
              Ответить
              • ЗУП 3 такое говно. Самая лютая и отбитая конфигурация. Надо блядь делать все по инструкции - если сделаешь не по инструкции потом будет сутками пердолиться искать в чем ошибка, притом что все клиенты утверждают все делали по инструкции. А по инструкции было написано что надо было включит скрытую галочку которые обычные пользователи и не увидели бы никогда и сам сидишь пердолишься в ебучих модулях которые друг друга вызывают. ЗарплатаКадры > ЗарплатакадрыРасширеный> ЗарплатакадрыИдинахуй. А в конце оказывается что там запрос из состоящий из 20 временых таблиц которые собираются еще из десятка хуючи функций. В конце ты обнаруживаешь что ебучая галачка стоит и ты уже не зная что сделать - тупо перепроводишь документ и о чудо это помогло!
                Ответить
                • >ЗУП
                  Постой, это код из фирменной конфигурации 1С? Это не студент на коленке наговнял?
                  Ответить
                    • А у вас там нету каких-то удобных структур для представления даты?
                      Пишу псевдокод, чтобы показать идею
                      Если Событие.ДатаНачала в [Дата(Февраль,23), Дата(Март,8)]
                      Ответить
                        • local events = {
                            --Сюда пхать события
                              {startDate = os.time{year=1991, month=12, day=1}, name = 'Просто какое-то событие'},
                              {startDate = os.time{year=1990, month=2, day=23}, name = 'День мужика'},
                              {startDate = os.time{year=1990, month=5, day=1}, name = 'Тоже событие'}
                            }
                            
                          local holydays = {
                            --Сюда праздники
                              {month = 2, day = 23},
                              {month = 3, day = 8},
                            }
                            
                          function isHolyday(event) 
                            local startDate = os.date("*t", event.startDate)
                             for _, prazdnik in pairs(holydays) do
                                if (startDate.month == prazdnik.month and startDate.day == prazdnik.day) then return true end
                             end
                            return false
                          end
                          
                          for _, event in pairs(events) do
                            if isHolyday(event) then
                              print('Праздник '..event.name)
                            end
                          end
                          Ответить
                          • обрати внимание кстати, что этот тупой пример насковозь императивный, словно его писал школьник в 1999-м году.

                            Отсюда вопрос: что ты думаешь про luafun, например?
                            Ответить
  • Праздник к нам приходит
    Ответить

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

Где здесь C++, guest?!

    А не использовать ли нам bbcode?


    8