Помогите с кодом 1С:УТ

1. chimzar 23.01.17 14:01 Сейчас в теме
Помогите поправить код

есть

Если ТипЗнч(ДанныеСтроки.СостояниеСчета) = Тип("ПеречислениеСсылка.СостояниеСчета") 
				И ДанныеСтроки.СостояниеСчета=Перечисления.СостояниеСчета.НеБудутОплачивать тогда
				
				ОформлениеСтроки.Ячейки.СостояниеСчета1.Шрифт       = Новый Шрифт(,, Истина);
				ОформлениеСтроки.Ячейки.СостояниеСчета1.ЦветФона  = WebЦвета.Красный;
КонецЕсли;


мне надо изменить тип

ТипЗнч(ДанныеСтроки.СостояниеСчета) = Тип("Строка")


и ячейку надо оставить красной

значение в строке

Если ВыбранноеЗначение=Перечисления.СостояниеСчета.НеБудутОплачивать тогда
		Элемент.Значение="Отказ:";
		СтандартнаяОбработка=ложь;
КонецЕсли;



помогите написать запрос

если в строке есть "Отказ" тогда ячейка красная
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. ture 608 23.01.17 14:26 Сейчас в теме
Список.УсловноеОформление


примеры
ЭлементУсловногоОформления = УсловноеОформление.Элементы.Добавить();
	
	ЭлементОтбораДанных = ЭлементУсловногоОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
	ЭлементОтбораДанных.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("СрокИсполнения");
	ЭлементОтбораДанных.ВидСравнения = ВидСравненияКомпоновкиДанных.Заполнено;
	ЭлементОтбораДанных.Использование = Истина;
	
	ЭлементОтбораДанных = ЭлементУсловногоОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
	ЭлементОтбораДанных.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("СрокИсполнения");
	ЭлементОтбораДанных.ВидСравнения = ВидСравненияКомпоновкиДанных.Меньше;
	ЭлементОтбораДанных.ПравоеЗначение = КонецДня(ТекущаяДатаСеанса());
	ЭлементОтбораДанных.Использование = Истина;
	
	ЭлементОтбораДанных = ЭлементУсловногоОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
	ЭлементОтбораДанных.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Выполнена");
	ЭлементОтбораДанных.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
	ЭлементОтбораДанных.ПравоеЗначение = Ложь;
	ЭлементОтбораДанных.Использование = Истина;
	
	ЭлементЦветаОформления = ЭлементУсловногоОформления.Оформление.Элементы.Найти("TextColor");
	ЭлементЦветаОформления.Значение =  Метаданные.ЭлементыСтиля.ПросроченныеДанныеЦвет.Значение; 
	ЭлементЦветаОформления.Использование = Истина;
	
	ЭлементОбластиОформления = ЭлементУсловногоОформления.Поля.Элементы.Добавить();
	ЭлементОбластиОформления.Поле = Новый ПолеКомпоновкиДанных("СрокИсполнения");
	

	ЭлементУсловногоОформления = УсловноеОформление.Элементы.Добавить();	
	ЭлементОтбораДанных = ЭлементУсловногоОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
	ЭлементОтбораДанных.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Предмет.ПризнакДоговораАрендыТТ");
	ЭлементОтбораДанных.ВидСравнения  = ВидСравненияКомпоновкиДанных.Равно;
	ЭлементОтбораДанных.ПравоеЗначение= Справочники.ПризнакиДоговораАрендыТТ.Признак_НовыеТТ();
	ЭлементОтбораДанных.Использование = Истина;
	
	ЭлементЦветаОформления               = ЭлементУсловногоОформления.Оформление.Элементы.Найти("Цветфона");
	//ЭлементЦветаОформления.Значение      = Метаданные.ЭлементыСтиля.ЦветФонаВыделения.Значение; 
	ЭлементЦветаОформления.Значение    = Новый Цвет(255,231,100);
	ЭлементЦветаОформления.Использование = Истина;
	//ЭлементЦветаОформления               = ЭлементУсловногоОформления.Оформление.Элементы.Найти("Font");
	//ЭлементЦветаОформления.Значение      = Метаданные.ЭлементыСтиля.ШрифтВажныхКнопок.Значение; 
	//ЭлементЦветаОформления.Использование = Истина;   
Показать
ImHunter; +1 Ответить
3. v3rter 23.01.17 14:29 Сейчас в теме
Возможно
Если СтрНайти(Нрег(Строка(ДанныеСтроки.СостояниеСчета)),"отказ")>0 Тогда // найдена строка отказ
     ОформлениеСтроки.Ячейки.СостояниеСчета1.Шрифт = Новый Шрифт(,, Истина);
     ОформлениеСтроки.Ячейки.СостояниеСчета1.ЦветФона = WebЦвета.Красный;
КонецЕсли; 

Можно вопрос чётче сформулировать?
4. chimzar 23.01.17 15:05 Сейчас в теме
Я хочу если в строке есть слово "Отказ" или строка начинается с "О" то ячейка в форме списка окрашивалась в красный цвет

по сути вот здесь

Если ТипЗнч(ДанныеСтроки.СостояниеСчета) = Тип("ПеречислениеСсылка.СостояниеСчета")
И ДанныеСтроки.СостояниеСчета=Перечисления.СостояниеСчета.НеБудутОплачивать тогда

ОформлениеСтроки.Ячейки.СостояниеСчета1.Шрифт = Новый Шрифт(,, Истина);
ОформлениеСтроки.Ячейки.СостояниеСчета1.ЦветФона = WebЦвета.Красный;
КонецЕсли;

надо поправить условия, одно из условий

ТипЗнч(ДанныеСтроки.СостояниеСчета) = Тип("Строка")

не знаю как написать 2 условие
7. Ганс 23.01.17 16:01 Сейчас в теме
5. chimzar 23.01.17 15:22 Сейчас в теме
Процедура или функция с указанным именем не определена (СтрНайти)



6. NightGod 23.01.17 15:43 Сейчас в теме
8. chimzar 23.01.17 16:15 Сейчас в теме
вопрос снимается 2 условие Лев(ДанныеСтроки.СостояниеСчета,5)="Отказ"
9. NightGod 24.01.17 10:36 Сейчас в теме
(8)Это не прокатит если пользователь поставит пробел в начале строки или напишет "отказ" с маленькой буквы или еще как ошибется.
10. chimzar 24.01.17 13:46 Сейчас в теме
не прокатит

Если ВыбранноеЗначение=Перечисления.СостояниеСчета.НеБудутОплачивать тогда
Элемент.Значение="Отказ:";
СтандартнаяОбработка=ложь;
КонецЕсли;

а так прокатит, слово "Отказ" уже написано.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот