Имя: Пароль:
1C
1С v8
ТЗ на форме. Подкрашивалась вся колонка, вроде решил, теперь вопрос про Параметры обработчика
,
0 aka AMIGO
 
20.02.17
12:19
Мне нужно подкрасить только одно поле, в которое внесено изменение.
Кодг такой:
&НаКлиенте
Процедура СоздатьСписокВыбора(Элемент, ВыбраннаяСтрока, Поле, ОформлениеСтрок, СтандартнаяОбработка)
    СтандартнаяОбработка = Ложь;
    Поле.КнопкаВыпадающегоСписка = Истина; //выбираю значение из списка
Поле..ЦветФона = Новый Цвет(197, 255, 185);
//...
Результат:
https://i.paste.pics/b54b05e15370ef8a0fa45bb3bbdb6c15.png

Почему выделяется колонка, хотя в параметрах - это Поле.
И как выделить только одно табличное поле, где вставлен текст "[Артикул]" ?
1 GrVas
 
20.02.17
12:21
может использовать ОформлениеСтрок
2 aka AMIGO
 
20.02.17
12:27
(1) ОформлениеСтрок - Булева переменная, к сожалению..
Я тоже надеялся, не вышло..
3 aka AMIGO
 
20.02.17
12:32
Элемент - это сама ТЗ
ВыбраннаяСтрока - число
Поле - вроде то, что нужно, но..
ОформлениеСтрок, СтандартнаяОбработка - Булевы переменные
4 dezss
 
20.02.17
12:39
Есть вариант.
Условное оформление и булевый скрытый от пользователя реквизит ТЗ.
Устанавливаешь его для тех строк, где было изменение, а в условном описываешь какие строки и столбцы красить.
5 GrVas
 
20.02.17
12:40
так не получается
ОформлениеСтроки.Ячейки["Имя ячейки"].ЦветФона = WebЦвета.БледноЗеленый;
6 aka AMIGO
 
20.02.17
12:54
(4) Да, похоже, что Условное оформление надо пробовать..

(5) Нет, друже, ОформлениеСтроки в этом варианте Неопределено.. :(
Для доступа к ОформлениеСтроки надо другую процедуру ваять, с событием типа
ТаблицаФормы.УстановитьДействие("ПередНачаломИзменения","ТЗПриИзмененииСтроки");

Нашел половинчатое решение, скорей всего, бушек устроит:

Поле.ЦветФонаЗаголовка = Новый Цвет(197, 255, 185);

Результат:
https://i.paste.pics/17a9564ed2ee99d67c6d53dc3df6de27.png
7 aka AMIGO
 
20.02.17
12:59
Спасибо, ребята, за участие.
8 dezss
 
20.02.17
13:02
(6) Ну так у тебя только заголовок красится.

Попробуй условное, там все просто и непринужденно)
9 aka AMIGO
 
20.02.17
13:05
(8) только заголовок красится.

Вот и хорошо, сразу заметно выбранную колонку :)
Сейчас у меня задачка другая - убрать расцветку, если поле пустое.

Однако, за Условное уже принялся :)
10 aka AMIGO
 
20.02.17
13:32
Мужики, просветите темного меня..
Определяется действие на событие, типа такого:
ТаблицаФормы.УстановитьДействие("Выбор","ВыборПоля");

Далее пишется
Процедура ВыборПоля(... и тут перечень параметров...)

Как составляется этот перечень?
ЗЫ. СП не украли, но не найду никак. Документации при себе нет.
11 aka AMIGO
 
20.02.17
13:35
Процедура ВыборПоля(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)

Нашел на просторах инета эти параметры в скобках, но это плохо, я не смогу сам сваять процедуру..
Где-то ведь они есть для каждого события..
12 dezss
 
20.02.17
14:20
(10) Ты про это?
ТаблицаФормы (FormTable)
УстановитьДействие (SetAction)
Синтаксис:

УстановитьДействие(<ИмяСобытия>, <Действие>)
Параметры:

<ИмяСобытия> (обязательный)

Тип: Строка.
Имя события, для которого устанавливается новое действие.
<Действие> (обязательный)

Тип: Строка.
Указывается имя обработчика.
Описание:

Устанавливает обработчик события.

Доступность:

Сервер, мобильное приложение(сервер).
13 dezss
 
20.02.17
14:22
Так там ты просто определяешь обработчик события.
14 aka AMIGO
 
20.02.17
14:27
(12) Не совсем, друже.. То, что ты привел - лежит на поверхности, я это и вижу.


Вот что непонятно:
<Действие> - тип строка, логично..
В это действие я вписываю  имя процедуры, в которую надо передать параметры..
Где их берут? где их увидеть? Ведь не просто так они появились в моей:
Процедура ВыборПоля(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)

И ведь все принимаемые параметры - по делу..
15 aka AMIGO
 
20.02.17
14:28
(13) Да, и обработчик должен принять параметры..
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс