Имя: Пароль:
1C
1С v8
Раскрасить строки ТЧ.
,
0 Zombi
 
04.04.17
07:35
Есть Общепит на управляемых формах. В документе "инвентаризация" хочу сделать кнопку "Проверить цены". Получаю цену последнего прихода и если стоимость в инвентаризации отличается от этой цены больше чем на  20% подкрасить строку красным. Кнопку сделал, цены получил. Теперь надо перебрать строки и цвет фона поменять по условию. Подскажите примерно код.
1 Неверный Параметр И
 
04.04.17
07:39
Условное оформление
2 Zombi
 
04.04.17
07:45
(1) Добавлять в ТЧ колонку, и в зависимости от разницы с этой колонкой красить строки?
3 Неверный Параметр И
 
04.04.17
07:46
Добавлять колонку с флагом. Флаг пересчитывать.
4 jsmith82
 
04.04.17
07:47
(2) не в ТЧ, а в ДФК
5 Zombi
 
04.04.17
07:48
А без добавления колонок никак?
6 Zombi
 
04.04.17
07:49
Просто перебрать строки и сравнить.
7 Неверный Параметр И
 
04.04.17
07:49
В реквизит, да. В ТЧ нафиг не нужна
8 Неверный Параметр И
 
04.04.17
07:50
- А можно я на ноль поделю?
- Нет, надо проверку сделать
- Ну мне очень надо, может как нибудь, а?
9 jsmith82
 
04.04.17
07:51
(5) Правым значением может выступать ПолеКомпоновкиДанных или значение типа данных левого значения
10 jsmith82
 
04.04.17
07:51
Значит, нельзя
11 Рэйв
 
04.04.17
07:54
(5)Можно написать ВК, которая будет ловить окно с таблицой на форме и красить окна строк. Можешь попробовать.
12 catena
 
04.04.17
07:59
Динамические списки - такая удобная и красивая вещь. Я их везде юзаю даже на обычных формах. А вы до сих пор хотите строки перебирать...
13 jsmith82
 
04.04.17
08:02
(12) Динамический список для табличной части документа?!!!
14 Zombi
 
04.04.17
08:02
(12) Ну так с ОФ никак не слезем. УФ редкость пока.
15 Неверный Параметр И
 
04.04.17
08:03
(9) Кстати да, флаг не нужен, значения хватит.
16 catena
 
04.04.17
08:04
(13)Про тч документа не увидела))) Но я обычно в тч документа такие сложности и не делают. Документ - это ввод первичной информации, все анализы - это отчеты.
17 Неверный Параметр И
 
04.04.17
08:05
(12) Розовенькие?
18 Zombi
 
04.04.17
08:07
(16) Удобно же при заполнении инвентаризации пользователь видит, когда учетная цена сильно отличается от последнего закупа. Есть вероятность, что где то накосячили.
19 catena
 
04.04.17
08:09
(17)Да! И в цветуечках! :-* :-* :-*
20 Zombi
 
04.04.17
08:19
Добавил я на форму колонку "КрайнийЗакуп", по кнопке "Проверить цены" я ее заполняю. Как условное оформление программно прописать?
21 Неверный Параметр И
 
04.04.17
08:19
(19) Весна (:
22 h-sp
 
04.04.17
08:21
(18) ну, в инвентаризации глупо красить что-то. Просто сделать кнопку "Проверить", И она будет выдавать номера строк подозрительных.
23 Неверный Параметр И
 
04.04.17
08:22
(20) Летчик, что ли? "Крайний", прастигосподи
Кнопка "Проверить" должна проверять, а не заполнять. За что ты своих пользователей так ненавидишь?
24 jsmith82
 
04.04.17
08:27
Да ланн.. чо ты.. пользователи же не знают, что там чёто заполняется. Для них именно проверка
25 jsmith82
 
04.04.17
08:28
(20) Кнопка "Я"
26 jsmith82
 
04.04.17
08:28
В смысле погугли короче по программному условному оформлению
Кстати, ты бы и реквизит мог программно добавить
27 Wirtuozzz
 
04.04.17
08:29
(0) Я бы посмотрел условное оформление строк. Тем более на УФ
28 Неверный Параметр И
 
04.04.17
08:50
(24) Ну на тебе сценарий. Пользун ввел 20 строк, при этом первые 5 скрылись за верхним краем поля. Нажал "Проверить", ясно и отчетливо увидел красную первую строчку, которая скрыта, и удовлетворенный результатами "проверки", провел документ
29 Zombi
 
04.04.17
09:34
Что то не работает у меня условное оформление. Написал:

Процедура ВключитьРаскраску()
    
    Эл = ЭтаФорма.УсловноеОформление.Элементы;    
    Эл.Очистить();    
    НовЭл = Эл.Добавить();
    Отбор = НовЭл.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    Отбор.ВидСравнения = ВидСравненияКомпоновкиДанных.Больше;
    Отбор.ПравоеЗначение = 20;
    Отбор.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.Товары.РазностьЦен");
    НовЭл.Оформление.УстановитьЗначениеПараметра("ЦветТекста", WebЦвета.Красный);
    НовЭл.Поля.Элементы.Добавить().Поле = Новый ПолеКомпоновкиДанных("Цена");
    
КонецПроцедуры


Что не так?
30 h-sp
 
04.04.17
09:47
(29) зачем программно пишешь? Сделай просто на форме в условном оформлении.
31 Zombi
 
04.04.17
11:13
(30) Я и руками задавал условное оформление в форме. Все равно не работает. Что не так делаю?
32 catena
 
04.04.17
11:51
(31)Руками тоже не работает? Может нет подходящих значений?
33 Zombi
 
04.04.17
11:59
(32) Я уже для эксперимента вывел колонку "РазностьЦен" на форму и вижу значения в ней:

https://yadi.sk/i/XAHDpiJ83Gdazf
34 catena
 
04.04.17
12:04
(33)Ну тогда и УО показывай. Чтоб по-честному.
35 Zombi
 
04.04.17
12:05
(34) Что показывать?
36 Zombi
 
04.04.17
12:07
А где в режиме предприятия условное оформление?
37 Zombi
 
04.04.17
12:07
В конфигураторе вижу
38 dkonakov
 
04.04.17
12:12
(37) в конфигураторе свойства динамического списка открыли? Вот там условное оформление на вкладке "Настройки"
39 dkonakov
 
04.04.17
12:13
(37) только получайте вашу разность цен сразу, динамически в запросе.
40 Zombi
 
04.04.17
12:27
(38) Вопрос тупой, конечно, но где этот динамический у ТЧ документа?
41 shpioleg
 
04.04.17
12:33
Вот примерчик для по колоночного раскрашивания.
http://savepic.ru/13482023.png

У формы и в дереве заведены вспомогательные реквизиты(УОПолуход,УОХод,ПометкаБелых,ПометкаЧерных), специально для работы условного оформления.

(40) В свойствах самой формы условное оформление настрой.
В твое случае,ИМХО, нужна доп.колонка в ТЧ типа булево. Если цена больше 20%, то Истина. И в УО  настрой раскраску по значению этой доп.колонки.
42 Zombi
 
04.04.17
12:36
(41) В самой форме УО я настроил и колонку завел со значением и в УО условие задал:

https://yadi.sk/i/0yIqIBTB3GdgXD
43 h-sp
 
04.04.17
12:46
(42) прикалываешься? Почему "20"? текстовая строка?
44 shpioleg
 
04.04.17
12:47
(42) Ну, по виду правильно. Значит где-то по мелочи накосячил.
45 Zombi
 
04.04.17
12:48
(43) Не текстовая она:

https://yadi.sk/i/6go7HbWe3GdiJ2
46 Zombi
 
04.04.17
12:53
В (29) я же делал то же самое, только программно. Но не работает ни так ни так.
47 h-sp
 
04.04.17
12:56
(45) а разность цен? не текст?
48 Zombi
 
04.04.17
12:58
49 Zombi
 
05.04.17
09:00
Кстати, вчера разобрался, почему не работало УО: В коде при открытии нашел такую строку УсловноеОформление.Элементы.Очистить();