1. Список говнокодов пользователя ok0504

    Всего: 2

  2. 1C / Говнокод #12222

    −119

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    ВЫБРАТЬ
    	ЕСТЬNULL(СрокПолезногоИспользования, 0) КАК СрокПолезногоИспользования
    ИЗ
    	РегистрСведений.РасчетАмортизацииОС.СрезПоследних
    ГДЕ
    	ОС = &ОсновноеСредство

    Типовая конфигурация. Там такой запрос используют в печатной форме Основных средств... Думает по 10-15 минут
    2 глупых ошибки:
    1. Проверка на NULL, в данном случае его быть не может (хотя это особо ни на что не влияет)
    2. Условие по законам 1С должно применяться в РегистрСведений.РасчетАмортизацииОС.Срез Последних(,ОС = &ОсновноеСредство), иначе сильно падает скорость выполнения.

    ok0504, 29 Ноября 2012

    Комментарии (11)
  3. 1C / Говнокод #11558

    −119

    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
    Перем СтрокаСрокДействия;
    
    Функция СтрокаСрокДействия()     
    
                Если ТекущийЭлемент().ФлагБессрочного = 1 Тогда
                      Если ПустоеЗначение(ТекущийЭлемент().СрокДействия.Получить(РабочаяДата())) = 1 Тогда
                            СтрокаСрокДействия = "от "+ ТекущийЭлемент().ДатаДоговора+" до ";
                      Иначе
                            СтрокаСрокДействия = "от "+ ТекущийЭлемент().ДатаДоговора+" до "+ТекущийЭлемент().СрокДействия.Получить(РабочаяДата());
                      КонецЕсли;
                ИначеЕсли ТекущийЭлемент().ФлагБессрочного = 2 Тогда
                      СтрокаСрокДействия = "бессрочно"; 
                ИначеЕсли ТекущийЭлемент().ФлагБессрочного = 3 Тогда
                      СтрокаСрокДействия = "пролонгируемый";
                КонецЕсли;     
    
          Возврат(СтрокаСрокДействия);           
    
    КонецФункции

    1C 7.7 Такая расчудесная функция была в модуле формы списка справочника. Функция была назначена на текстовое поле формы списка... И таким образом при пролистывании формы списка, в поле "Срок действия" непонятным образом попадали абсолютно левые значения, но зато в каждой из строк было одно и то же до следующего пролистывания...

    ok0504, 09 Августа 2012

    Комментарии (12)