Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
16 апр 2024, 15:11

Изменение цвета статуса заказа

Автор malcevm, 28 янв 2015, 11:35

0 Пользователей и 1 гость просматривают эту тему.

malcevm

Приветствую Вас боги 1С. Вообщем без вашей помощи ни как. Прикрутили мне значит к 1С:Предприятие 8.2 (8.2.19.90) статусы заказов их целых 10 штук. Вот сижу теперь и думаю как бы к этим статусам красок добавить. Скажем Оплачен=>Зеленый ну и, так и далее... Сам то я, в синтаксисе не силен могу только методом тыка понять, что за что отвечает, собственно по этому вам и кланяюсь.

mashencev_anton

Условное оформление в настройках отчета!!!! там можно всё под условия подогнать....

malcevm

Цитата: mashencev_anton от 28 янв 2015, 11:49
Условное оформление в настройках отчета!!!! там можно всё под условия подогнать....
Так мне не в отчете нужно это сделать, а в форме списка ЗаказПокупателя

mashencev_anton

ну значит в конфигураторе открываете свойства формы списка находите там "Условное оформление" и делаете в зависимости от условий

LexaK

(обычные формы)
вам необходимо в форме списка,
использовать событие при получении данных, назначить такую процедуру
примерно так (могут быть ошибки, проверьте под отладчиком)

Процедура СписокПриПолученииДанных(Элемент, ОформленияСтрок)

    Для каждого Оформление Из ОформленияСтрок Цикл

        лкЦвет  = WebЦвета.Белый;

        //"111","222" - замените на ваши статусы (Перечисление.СтатусЗаказа(?)...)
        Если Оформление.ДанныеСтроки.Статус = "111" Тогда
            лкЦвет = WebЦвета.Зеленый;
        ИначеЕсли Оформление.ДанныеСтроки.Статус = "222" Тогда
            лкЦвет = WebЦвета.Желтый;
        //ИначеЕсли ... и т.д.
        //    ...
        КонецЕсли;

        Оформление.ЦветФона = лкЦвет;

    КонецЦикла;

КонецПроцедуры
если помогло нажмите: Спасибо!

malcevm

Цитата: LexaK от 28 янв 2015, 12:52
(обычные формы)
вам необходимо в форме списка,
использовать событие при получении данных, назначить такую процедуру
примерно так (могут быть ошибки, проверьте под отладчиком)

Процедура СписокПриПолученииДанных(Элемент, ОформленияСтрок)

    Для каждого Оформление Из ОформленияСтрок Цикл

        лкЦвет  = WebЦвета.Белый;

        //"111","222" - замените на ваши статусы (Перечисление.СтатусЗаказа(?)...)
        Если Оформление.ДанныеСтроки.Статус = "111" Тогда
            лкЦвет = WebЦвета.Зеленый;
        ИначеЕсли Оформление.ДанныеСтроки.Статус = "222" Тогда
            лкЦвет = WebЦвета.Желтый;
        //ИначеЕсли ... и т.д.
        //    ...
        КонецЕсли;

        Оформление.ЦветФона = лкЦвет;

    КонецЦикла;

КонецПроцедуры



Отладчик проблем не выявил, но что то не так, не красятся

Процедура СписокПриПолученииДанных(Элемент, ОформленияСтрок)
   
    //Начало СостояниеЗаказа
    Для каждого Оформление Из ОформленияСтрок Цикл

        лкЦвет  = WebЦвета.Белый;       

        //"111","222" - замените на ваши статусы (Перечисление.СтатусЗаказа(?)...)
        Если Оформление.ДанныеСтроки.СостояниеЗаказа = "Заказать" Тогда
            лкЦвет = WebЦвета.Зеленый;
        ИначеЕсли Оформление.ДанныеСтроки.СостояниеЗаказа = "Подтвержден" Тогда
            лкЦвет = WebЦвета.Желтый;
        КонецЕсли;

        Оформление.ЦветФона = лкЦвет;       
       
    КонецЦикла;
КонецПроцедуры

[/quote]

Что здесь не так?

LexaK

СостояниеЗаказа - это что? какой тип?
если помогло нажмите: Спасибо!

malcevm

Цитата: LexaK от 28 янв 2015, 13:28
СостояниеЗаказа - это что? какой тип?
Тип значения ПеречислениеСсылка.СостояниеЗаказа

LexaK

так я же написал в примере! Комментарии надо читать! это не просто зелененькие строчки для красоты

//"111","222" - замените на ваши статусы (Перечисление.СтатусЗаказа(?)...)


в вашем случае, должно быть примерно так.


    ...
  Если Оформление.ДанныеСтроки.СостояниеЗаказа = Перечисление.СостояниеЗаказа.Заказать Тогда
    ...
если помогло нажмите: Спасибо!

Kironten

Цитата: malcevm от 28 янв 2015, 13:38
Цитата: LexaK от 28 янв 2015, 13:28
СостояниеЗаказа - это что? какой тип?
Тип значения ПеречислениеСсылка.СостояниеЗаказа
Ну тогда и сравнивайте с перечислением:
Если Оформление.ДанныеСтроки.СостояниеЗаказа = Перечисления.СостояниеЗаказа.Заказать Тогда

Похожие темы (5)

Рейтинг@Mail.ru

Поиск