[РЕШЕНО] Красим дату в динамическом списке

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

  1. TopicStarter Overlay
    Nekromant
    Offline

    Nekromant Опытный в 1С

    Регистрация:
    25 июл 2014
    Сообщения:
    71
    Симпатии:
    3
    Баллы:
    29
    День добрый!
    Я что-то блуждаю в догадке при покраске цвета даты в колонке....
    Динамический список раб.стола, хочу выделять дату по условию в цикле:

    ЦветПредНет = Новый Цвет(0,0,0);
    ЦветПред = Новый Цвет(0,128,0);
    Пока Выборка.Следующий()Цикл;
    Если Формат(Выборка.СрокИсполнения,"ДФ=dd.MM.yyyy") = Формат(ТекущаяДата()+86400,"ДФ=dd.MM.yyyy") Тогда
    Элементы.СрокИсполнения.ЦветТекста= ЦветПред;
    Иначе
    Элементы.СрокИсполнения.ЦветТекста= ЦветПредНет;
    КонецЕсли;
    КонецЦикла;
    Цвет с учетом условия нифига не сохраняется, красится в цвет последней строки в цикле, а именно в черный Цвет(0,0,0)[​IMG]
    Если условие порезать:

    Если Формат(Выборка.СрокИсполнения,"ДФ=dd.MM.yyyy") = Формат(ТекущаяДата()+86400,"ДФ=dd.MM.yyyy") Тогда
    Элементы.СрокИсполнения.ЦветТекста= ЦветПред;
    КонецЕсли;
    Тогда все остальные строки по циклу красятся в зеленый Цвет(0,128,0)
    Подскажите чего не так??
  2. nickpugachev
    Offline

    nickpugachev Профессионал в 1С Команда форума

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    не так сам принцип покраски. ее в динамическом списке проще и правильнее делать условным оформлением.
  3. TopicStarter Overlay
    Nekromant
    Offline

    Nekromant Опытный в 1С

    Регистрация:
    25 июл 2014
    Сообщения:
    71
    Симпатии:
    3
    Баллы:
    29
    я с этого и начал, но помешали форматы даты с которыми в условии ничего не сделать((( пришлось писать....
    мне сравнение нужно по дате, а время всему помеха...т.к. оно может быть не предсказуемо(((
    если подскажете как с этим побороться в условном оформлении-буду благодарен
  4. nickpugachev
    Offline

    nickpugachev Профессионал в 1С Команда форума

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    таки формат даты там же задается
  5. TopicStarter Overlay
    Nekromant
    Offline

    Nekromant Опытный в 1С

    Регистрация:
    25 июл 2014
    Сообщения:
    71
    Симпатии:
    3
    Баллы:
    29
    покажите где???
    мне подходит вариант начало завтрашнего дня, формат времени 01.08.14 0:00:00
    а в документе дата у меня может быть с форматом 01.08.14 14:12:52
    и как в таком случае задать условие?

    Вложения:

  6. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.781
    Симпатии:
    509
    Баллы:
    204
    Не равно, а больше.
  7. TopicStarter Overlay
    Nekromant
    Offline

    Nekromant Опытный в 1С

    Регистрация:
    25 июл 2014
    Сообщения:
    71
    Симпатии:
    3
    Баллы:
    29
    мне в пределах суток нужно красить дату, а не все которые больше.
    т.е. выделить задачи у которых срок истекает завтра!
    лучше с кодом подскажите, по отладчику прохожу нужный отбор, но не запоминает и не красит мне нужные задачи, а подставляет авто цвет....:(
  8. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.781
    Симпатии:
    509
    Баллы:
    204
    Ну и поставьте
    Дата Больше ВашаДата
    Дата Меньше ВашаДата
    Ну или Между использовать
    нет возможности сейчас посмотреть
  9. TopicStarter Overlay
    Nekromant
    Offline

    Nekromant Опытный в 1С

    Регистрация:
    25 июл 2014
    Сообщения:
    71
    Симпатии:
    3
    Баллы:
    29
    ну не настроить условное оформление, будет возможность посмотрите :)
    Как отрабатывает код:
    Код:
    Выборка = Запрос.Выполнить().Выбрать();
            Пока Выборка.Следующий()Цикл;
                Если Формат(Выборка.СрокИсполнения,"ДФ=dd.MM.yyyy") = Формат(ТекущаяДата()+86400,"ДФ=dd.MM.yyyy") Тогда 
                    Элементы.СрокИсполнения.ЦветТекста= Новый Цвет(0,128,0);
                Иначе
                    Элементы.СрокИсполнения.ЦветТекста= Новый Цвет(0,0,0);
                КонецЕсли;  
            КонецЦикла;
    1.png
    Скрин1
    Код:
    Выборка = Запрос.Выполнить().Выбрать();
            Пока Выборка.Следующий()Цикл;
                Если Формат(Выборка.СрокИсполнения,"ДФ=dd.MM.yyyy") = Формат(ТекущаяДата()+86400,"ДФ=dd.MM.yyyy") Тогда 
                    Элементы.СрокИсполнения.ЦветТекста= Новый Цвет(0,128,0);
                //Иначе
                //    Элементы.СрокИсполнения.ЦветТекста= Новый Цвет(0,0,0);
                //КонецЕсли;  
            КонецЦикла; 
    Скрин2
    2.png
    --- Объединение сообщений, 31 июл 2014 ---
    зеленым должен быть только срок 01.08.2014
  10. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.781
    Симпатии:
    509
    Баллы:
    204
    Есть тимвивер ?
  11. TopicStarter Overlay
    Nekromant
    Offline

    Nekromant Опытный в 1С

    Регистрация:
    25 июл 2014
    Сообщения:
    71
    Симпатии:
    3
    Баллы:
    29
    есть но не подключить......политика компании.
    могу скрины скинуть какие нужно?
  12. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.781
    Симпатии:
    509
    Баллы:
    204
    Вариант условия "МЕЖДУ" присутствует ?
  13. TopicStarter Overlay
    Nekromant
    Offline

    Nekromant Опытный в 1С

    Регистрация:
    25 июл 2014
    Сообщения:
    71
    Симпатии:
    3
    Баллы:
    29
    upload_2014-7-31_16-7-46.png
    все что есть
    --- Объединение сообщений, 31 июл 2014 ---
    более наглядно

    Вложения:

  14. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.781
    Симпатии:
    509
    Баллы:
    204
    Тогда два условия:
    1) БОЛЬШЕ начало завтришний день
    2) МЕНЬШЕ текущий день
  15. TopicStarter Overlay
    Nekromant
    Offline

    Nekromant Опытный в 1С

    Регистрация:
    25 июл 2014
    Сообщения:
    71
    Симпатии:
    3
    Баллы:
    29
    с таким условием попадут задачи за сегодняшний день начало 31,07,14 0-00-00 конец 01,08,14 0-00-00
    --- Объединение сообщений, 31 июл 2014 ---
    upload_2014-7-31_16-20-55.png
  16. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.781
    Симпатии:
    509
    Баллы:
    204
    Значит с датами нужно играться.
  17. TopicStarter Overlay
    Nekromant
    Offline

    Nekromant Опытный в 1С

    Регистрация:
    25 июл 2014
    Сообщения:
    71
    Симпатии:
    3
    Баллы:
    29
    вот я программно и поигрался

    Вложения:

  18. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.781
    Симпатии:
    509
    Баллы:
    204
    Так вы же про динамический список, вроеде
  19. LordMaverick
    Offline

    LordMaverick Профессионал в 1С

    Регистрация:
    17 мар 2014
    Сообщения:
    3.440
    Симпатии:
    374
    Баллы:
    104
    или проще говоря зелёным должен быть с датой больше текущей?
  20. nickpugachev
    Offline

    nickpugachev Профессионал в 1С Команда форума

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    и еще один глупый вопрос - раз у вас динамический список - кто мешает ему дать запрос, который выдаст все необходимые данные для разукрашивания (начало следующего дня и т.п.)?

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