8.х Событие ДокументСписокПриВыводеСтроки глюк или что?(

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем AugustBlack, 4 мар 2011.

  1. TopicStarter Overlay
    AugustBlack
    Offline

    AugustBlack Опытный в 1С

    Регистрация:
    9 янв 2011
    Сообщения:
    89
    Симпатии:
    0
    Баллы:
    26
    В форме списка повесил на событие ДокументСписокПриВыводеСтроки код для подсветки документов. Не знаю важно в теме или нет но вот:
    Код:
    Если ТекущаяДата() <= СрокиДата Тогда
    Если ТекущаяДата() <= ДанныеСтроки.Дата + 1*24*60*60 
    ИЛИ ТекущаяДата() <= ДанныеСтроки.Дата + 2*24*60*60 
    ИЛИ ТекущаяДата() <= ДанныеСтроки.Дата + 3*24*60*60 Тогда    //1 день            
    
    ОформлениеСтроки.Ячейки.Дата.ЦветФона = Новый Цвет(0, 255, 0);  //зеленый
    
    ИначеЕсли ТекущаяДата() <= ДанныеСтроки.Дата + 4*24*60*60 
    ИЛИ ТекущаяДата() <= ДанныеСтроки.Дата + 5*24*60*60 Тогда //5 дней                
    
    ОформлениеСтроки.Ячейки.Дата.ЦветФона = Новый Цвет(255, 255, 0);  //желтый
    
    Иначе ОформлениеСтроки.Ячейки.Дата.ЦветФона = Новый Цвет(255, 0, 0); //красный срочно!
    
    КонецЕсли;
    Конецесли;
    КонецЕсли;
    
    
    
    
    Дык вот, подсветка то все работает. Но теперь "Отбор" на форме который по умолчанию, не отбирает вовсе не по каким параметрам. Почему так? По нажатию кнопки отбор повторно срабатывает этот мой код и отбор не проходит. Что делать?:( :angry:
  2. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.410
    Симпатии:
    316
    Баллы:
    104
    Т.е. если закомментировать этот код - отбор работает?

    З.Ы. У вас при проверках избыточные условия.
  3. Oleg_NSK
    Offline

    Oleg_NSK Опытный в 1С

    Регистрация:
    25 окт 2010
    Сообщения:
    164
    Симпатии:
    0
    Баллы:
    26
    Действительно условия избыточные но дело не в этом. Попробуй текущую дату сразу определять.
  4. TopicStarter Overlay
    AugustBlack
    Offline

    AugustBlack Опытный в 1С

    Регистрация:
    9 янв 2011
    Сообщения:
    89
    Симпатии:
    0
    Баллы:
    26
    спс.....решил переопределить форму заново, заработало.
    ps. в плане избыточные?( тыкните
  5. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.410
    Симпатии:
    316
    Баллы:
    104
    Код:
    Если ТекущаяДата() <= ДанныеСтроки.Дата + 1*24*60*60 
    ИЛИ ТекущаяДата() <= ДанныеСтроки.Дата + 2*24*60*60 
    ИЛИ ТекущаяДата() <= ДанныеСтроки.Дата + 3*24*60*60 Тогда    //1 день            
    
    
    =
    Код:
    Если ТекущаяДата() <= ДанныеСтроки.Дата + 3*24*60*60 Тогда    //1 день
    
    

    Код:
    ИначеЕсли ТекущаяДата() <= ДанныеСтроки.Дата + 4*24*60*60 
    ИЛИ ТекущаяДата() <= ДанныеСтроки.Дата + 5*24*60*60 Тогда //5 дней                
    
    
    =
    Код:
    ИначеЕсли ТекущаяДата() <= ДанныеСтроки.Дата + 5*24*60*60 Тогда //5 дней
    
    
    Кроме того Oleg_NSK правильно сказал. Получите один раз текущую дату в переменную, и потом уже сравнивайте эту переменную, а не каждый раз дергайте системную функцию. Т.е.:
    Код:
    МояТекущаяДата = КонецДня(ТекущаяДата());
    

Поделиться этой страницей