Имя: Пароль:
1C
1С v8
Изменение цвета текста в списке справочника "Номенклатура"
0 Ly_Alena
 
10.03.16
10:41
Добрый день! Знаю вопрос плевый, но ни в какую не получается. Справочник "Номенклатура", при выделении строки номенклатуры в форме и при выполнении условия должно выделиться цветом значение текущей ячейки. Постоянно вылетает ошибка.
Например,
ЭлементыФормы.Список.ТекущаяСтрока.ЦветТекста = WebЦвета.Красный;

Хотя с колонкой прокатывает:
ЭлементыФормы.Список.ТекущаяКолонка.ЦветТекста = WebЦвета.Красный;

Подскажите как быть?
1 Lexey_
 
10.03.16
10:44
(0) событие ПриПолученииДанных()
2 Tatitutu
 
10.03.16
10:49
+(1) ПриПолученииДанных(Элемент, ОформленияСтрок)
(0) вот с ОформленияСтрок и играйся
и вот так (как вариант) https://clck.ru/9mH3E
3 Ly_Alena
 
10.03.16
11:07
Не понимаю как с помощью  инструмента "раскраска списка справочника НОМЕНКЛАТУРЫ" можно осуществить мою задачу. Для особо одаренных можно объяснить?
4 Tatitutu
 
10.03.16
11:09
(3) это для отдельного семинарского занятия
смотри в (2)
у формы списка твоего справочника есть события
найди ПриПолученииДанных
кликни на лупу
получить процедуру ПриПолученииДанных(Элемент, ОформленияСтрок)

вот в ней и раскрашивай все что угодно, через ОформленияСтрок
5 Ly_Alena
 
10.03.16
11:13
(4) да пробовала, все равно в ошибку вылетает

Процедура СписокПриПолученииДанных(Элемент, ОформленияСтрок)
    Если пНеактуальнаяСтоимостьМатериалов = Истина Тогда
        ОформленияСтрок.ЦветТекста   = WebЦвета.Красный;
    КОнецЕсли;
КонецПроцедуры
6 Tatitutu
 
10.03.16
11:14
Ошибка то какая ?

Процедура СписокПриПолученииДанных(Элемент,ОформленияСтрок)
    Если пНеактуальнаяСтоимостьМатериалов  Тогда
        ОформленияСтрок.ЦветТекста   = WebЦвета.Красный;
    КОнецЕсли;
КонецПроцедуры
7 Ly_Alena
 
10.03.16
11:17
(6) {Справочник.Номенклатура.Форма.ФормаСписка.Форма(1059)}: Поле объекта не обнаружено (ЦветТекста)
        ОформленияСтрок.ЦветТекста   = WebЦвета.Красный;
8 LordCMEPTb
 
10.03.16
11:25
(7) оформлениЯстроК ... Не промелькало мысли случайно, почему же тут множественное число?
По теме: в ПриПолученииДанных в ОформлениеСтрок содержится коллекция ОформлениеСтроки, у которых уже есть цвет текста.
9 Ly_Alena
 
10.03.16
11:36
(8) и как до него добраться?
10 Ly_Alena
 
10.03.16
11:38
(9) окрашивает все
11 Tatitutu
 
10.03.16
11:40
(9) спроси тут на форуме , тебе СП продадут (есть диллеры)


//////////////////////////////////////////////////

Цвет (Color)
Конструктор по умолчанию
Синтаксис:

Новый Цвет()
Описание:

Создает значение цвета, которое будет использоваться как значение по умолчанию (цвет "Авто").
Пример:

Процедура СправочникСписокПриПолученииДанных(Элемент, ОформленияСтрок)
    Если Элемент.ТекущаяСтрока=Неопределено Тогда
        Возврат;
    КонецЕсли;
    
    Для Каждого Офр Из ОформленияСтрок Цикл
        Если Офр.ДанныеСтроки.Важно Тогда
            Офр.ЦветФона = Новый Цвет(197, 255, 185);
        Иначе
            Офр.ЦветФона = Новый Цвет();
        КонецЕсли;
    КонецЦикла;
КонецПроцедуры

//////////////////////////////////////////////
12 Ly_Alena
 
10.03.16
11:52
(8) (11) ну какбээ эт понятно. только красит все
13 DDwe
 
10.03.16
11:53
(12) Что всё?
14 DDwe
 
10.03.16
11:53
(11) Диллеры официальные?
15 Ly_Alena
 
10.03.16
11:54
(13) весь список номенклатуры, мне нужен только выбранная номенклатура.
16 DDwe
 
10.03.16
11:55
(15) А как ты ее выбираешь?
17 Ly_Alena
 
10.03.16
11:57
(16) выделяю мышкой из списка )
18 Ly_Alena
 
10.03.16
11:58
(16) кароч такая левой кнопки мыши дважды щёлкаю по понравившейся номенклатуре и такая сижу типа выбрала ))
19 DDwe
 
10.03.16
11:59
(18) Ты ее выбрала, вся строка синяя, чего ты хочешь покрасить?
20 Ly_Alena
 
10.03.16
12:01
(19) хочу текст покрасить в красный цвет, у выбранной строки
21 DDwe
 
10.03.16
12:03
(20) см (11) внимательно, строчка за строчкой и ты всё поймешь.
22 Ly_Alena
 
10.03.16
12:04
(19) пишу
Новый Цвет(197, 255, 185);
моя строка выделяется синим- все остальное белый и зеленый шрифт

пишу
WebЦвета.Красный; - весь текст в списке окрашивается в красный
23 Ly_Alena
 
10.03.16
12:05
(21) блин как будто тут и тупить особо негде - но я одарена по полной похоже.
Если Элемент.ТекущаяСтрока = Неопределено Тогда
        Возврат;
    КонецЕсли;
        
    Для Каждого Офр Из ОформленияСтрок Цикл
        Если пНеактуальнаяСтоимостьМатериалов = Истина Тогда
            Офр.ЦветТекста = Новый Цвет(197, 255, 185);
        КонецЕсли;
    КонецЦикла;
24 DDwe
 
10.03.16
12:14
(23) Т.е ты пишешь, что если текущая строка определена, тогда раскрасить всю коллекцию. Что написала, то получила.
25 DDwe
 
10.03.16
12:14
Зачем тебе ее выделять?
26 Ly_Alena
 
10.03.16
12:19
(25) мне нужно ее выделять только если выполняется мое условие
27 YurAnt
 
10.03.16
12:21
формы управляемые или в обычных?
28 Ly_Alena
 
10.03.16
12:23
(27) обычная форма
29 франц
 
10.03.16
12:26
(26) и какое у тебя условие?.. как оно задается?
30 DDwe
 
10.03.16
12:29
Как долго нужно всё выспрашивать....
31 франц
 
10.03.16
12:32
(30) ну, перед каждым ответом нужно мейкап и укладку сделать..
32 Ly_Alena
 
10.03.16
12:32
(29) (30) дело ведь не в условии, дело в том что нужно подкрасить выделенную строку. Пофиг - пусть будет без условия - но перекрашивать только выделенную строку.
33 франц
 
10.03.16
12:32
(32) так, тебе цвет выделения изменить, или по условию строки подкрасить?.. у выделенной строки уже есть цвет...
34 Ly_Alena
 
10.03.16
12:33
(33) у выделенной строки поставить цвет текста - красный
35 DDwe
 
10.03.16
12:37
(34) Повторяем вопрос - "так, тебе цвет выделения изменить, или по условию строки подкрасить?"
36 DDwe
 
10.03.16
12:37
(34) А когда ты уйдешь с этой строки, что будет?
37 Ly_Alena
 
10.03.16
12:38
(35) повторяю ответ - цвет текста изменить на красный
38 Ly_Alena
 
10.03.16
12:38
(36) пусть остается красный
39 del123
 
10.03.16
12:40
Если тебе нужно красить только выделенную в данный момент тобой строку, то у таблицы есть свойство ЦветТекстаВыделения.
Если ты выделяешь строки и хочешь что бы выделенные строки и потом были написаны красным, то тебе нужно добавить в таблицу какой-то флаг, по которому ты будешь определять надо тебе подкрашивать текст или нет. и потом по этому флагу уже делать через СписокПриПолученииДанных
40 DDwe
 
10.03.16
12:41
(38) Читай (39)
41 DDwe
 
10.03.16
12:42
(38) Как мне нравятся такие ответы ))) Разрешила... )))
42 Ly_Alena
 
10.03.16
12:42
(39) этот флаг мое условие. как подкрасить текст только выделенной строки?
43 франц
 
10.03.16
12:42
(38) жесть, конечно.. но, тебе придется создать реквизит, где будешь записывать "избранность" данной строки.. и заполнять его при выделении строки.. а потом, как описано выше - при получении раскрашивать их в красный..
44 франц
 
10.03.16
12:43
(42) что, опять?
45 Ly_Alena
 
10.03.16
12:44
Чет непонятно почему такие сложности на ровном месте. Выделяю строки - проверяю остатки (грубо говоря) - остатки есть - крашу номенклатуру в красный цвет, нет остатков - не крашу.
46 Ly_Alena
 
10.03.16
12:46
Я что в программе "Розыгрыш"?
47 франц
 
10.03.16
12:48
(45) все непонятно, но уже что то есть..
ты просто лучше расскажи, что  именно хочешь сделать..
а то, у меня чувство, что троллишь сие общество..
48 del123
 
10.03.16
12:49
(42) Если у тебя есть уже условие, по которому ты проверяешь, так и проверяй его в процедуре ПриПолученииДанных для каждой строки, Если условие выполняется, то окрашиваешь, а то в твоем примере ты окрашиваешь все строки, без проверки на выполнение условия.
49 франц
 
10.03.16
12:49
да, к 0 - в общем то, есть же режим выделения строки: только текущую колонку, или всю строку.. какой режим у тебя?
50 Ly_Alena
 
10.03.16
12:57
(48) Если пНеактуальнаяСтоимостьМатериалов = Истина Тогда разве это не моё условие? В процедуре где происходит проверка присваивается пНеактуальнаяСтоимостьМатериалов либо истина либо ложь. Я же выше полностью свой код и кидаю.
51 Ly_Alena
 
10.03.16
12:57
(49) если колонку - то красит - а если строку то выдает ошибку - выше об этом писала
52 Ly_Alena
 
10.03.16
12:58
(23)
Для Каждого Офр Из ОформленияСтрок Цикл
      Если пНеактуальнаяСтоимостьМатериалов = Истина Тогда
            Офр.ЦветТекста = Новый Цвет(197, 255, 185);
      КонецЕсли;
КонецЦикла;
53 франц
 
10.03.16
12:59
(51) так, я ж и грю - вроде как был режим выделения строки для тч. выделять колонку или строку.. что у тебя?
54 DDwe
 
10.03.16
13:00
(52) А может "пНеактуальнаяСтоимостьМатериалов " везде истина?
55 Ly_Alena
 
10.03.16
13:01
(54) нет. Проверено.
56 Ly_Alena
 
10.03.16
13:03
(53) в (0)
Например,

ЭлементыФормы.Список.ТекущаяСтрока.ЦветТекста = WebЦвета.Красный; - выдает ошибку


Колонку красит:

ЭлементыФормы.Список.ТекущаяКолонка.ЦветТекста = WebЦвета.Красный;
57 Tatitutu
 
10.03.16
13:04
(56) Правильно заданный вопрос - это половина ответа

ОформлениеСтроки.Ячейки.ТВОЯЯЧЕЙКА.ЦветТекста = WebЦвета.Красный;

так понятнее ?
58 франц
 
10.03.16
13:06
(56) ищи "РежимВыделенияСтроки"
59 Chameleon1980
 
10.03.16
13:08
нужно в цикце по ОформленияСтрок
сначала правильно получить пНеактуальнаяСтоимостьМатериалов
проверить потом его на наше условие
и красить/не красить
для очередной строки
60 Chameleon1980
 
10.03.16
13:09
+(59)
тут я не вижу правильного получения пНеактуальнаяСтоимостьМатериалов
для очередной строки

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

      Если пНеактуальнаяСтоимостьМатериалов = Истина Тогда
            Офр.ЦветТекста = Новый Цвет(197, 255, 185);
      КонецЕсли;
КонецЦикла;
61 Ly_Alena
 
10.03.16
13:10
(57) у меня список. (60) я здесь и не получаю пНеактуальнаяСтоимостьМатериалов, а только проверяю нужно ли мне красить.
62 Ly_Alena
 
10.03.16
13:11
(57) нет непонятнее. Если бы так все просто было - я бы не пришла сюда.
63 франц
 
10.03.16
13:11
(59) у нее не получается получить закрашенную строку!!! колонку она красить может... как бы, ферштейн в чем проблема??
64 франц
 
10.03.16
13:16
в конфигураторе для формы списка справочника "Номенклатура" установи режим выделения строки в "Строка", и потом проверь свой код из (0) "ЭлементыФормы.Список.ТекущаяСтрока.ЦветТекста = WebЦвета.Красный;"
65 Ly_Alena
 
10.03.16
13:18
(63) у меня не получается получить выделенную строку и закрасить ее - я бы так сказала.
Режим выделения строки стоит в ячейки и так надо ибо при выделении разных ячеек разные события.
66 Chameleon1980
 
10.03.16
13:18
может я упустил про колонка/строка
но тем не менее чтобы что-то проверить на какое-то значение - нужно это что-то сначала получить.

т.к. красятся строки
допустим
1.красится
2. не красится
и т.д.

значит проверяемое значение тоже лежит в ОформляемаяСтрока.

А получение той переменной в цикле перед проверкой я не увидел. вот и полумал что в это проблема. Но тут вопрос - почему не ругается. может эта (проверяемая переменная вообще где (ну быват) на форме, или глобальная)

покажите мне в цикле где перед проверкой значние сначала получается...
67 Ly_Alena
 
10.03.16
13:18
Пофиг пусть красится ячейка. мне все равно лишь бы только, та что я выбрала.
68 франц
 
10.03.16
13:20
(65) если режим выделения "Ячейка", как ты можешь закрасить строку??
69 FIXXXL
 
10.03.16
13:21
(67) а зачем такой изврат?
пользователь как на минном поле: пока не выберет строку не узнает про выполнение условия
не делают так
лучше в цикле при обходе
Для Каждого Офр Из ОформленияСтрок Цикл
проверяй условие ДЛЯ КАЖДОЙ СТРОКИ НА ЭКРАНЕ и крась
70 DDwe
 
10.03.16
13:22
(69) Она не слышит про проверку условия для каждой строки.
71 Chameleon1980
 
10.03.16
13:23
может тогда автору предложить СписокПриАктивизацииСтроки
72 Chameleon1980
 
10.03.16
13:24
там приходит ТП
где есть хоть текущая строка хоть колонка

да все там есть от ТП
73 франц
 
10.03.16
13:25
(72)   что такое ТП?
зы.. а то нехорошие мысли лезут
74 Chameleon1980
 
10.03.16
13:26
ТабличноеПоле

ну и воообще в указанной выше процедуре поставить точку
и полазить по свойствам.

на память не скажу
75 Ly_Alena
 
10.03.16
13:29
(66) не совсем понятно почему я не могу проверить в цикле, а не перед циклом?
76 Ly_Alena
 
10.03.16
13:31
(70) что значит для каждой строки на экране? для каждой строки справочника номенклатура - это нереально. А при выделении строки - вынужденная мера.
77 Chameleon1980
 
10.03.16
13:33
(75) дык я то и говорю что в цикле нужно.

может не понятно написал

(76) ПриПолученииДанных не сразу для всех элементов получает строки, а видимые.

приВыводеСтроки получается очередная выведенная строка

Читайте пожалуйста СП и пользуйтесь отладчиком - поможет сильно
78 Ly_Alena
 
10.03.16
13:33
(74) Изначально при активизации строки и делала, пока не пришла сюда и не посоветовали "ПриПолученииДанных"
79 DDwe
 
10.03.16
13:33
(75) У тебя что "пНеактуальнаяСтоимостьМатериалов" одно значение на всю номенклатуру?
80 Chameleon1980
 
10.03.16
13:34
(79) вооот.

Я про это-то и спрашивал. Где получение этого значения для номенклатуры в очередной строке в цикле?
81 Ly_Alena
 
10.03.16
13:35
(79) выделяю номенклатуру - запускается процедура, где проверяется номенклатура. В Этой же процедуре присваивается пНеактуальнаяСтоимостьМатериалов - истина или ложь, в зависимости от выполнения процедуры. Далее идем проверяем если пНеактуальнаяСтоимостьМатериалов истина то красим, если нет то не красим.
82 франц
 
10.03.16
13:36
(81) так, ты ж писала, что красится.. в (0) писала..
83 DDwe
 
10.03.16
13:40
(81) Что красим? Всю номенклатуру?
84 Chameleon1980
 
10.03.16
13:40
ответьте пожалуйска раскраска по условию определенной строки для видимых строк подойдет как решение?

а то меня столку сбивает проверять в ПриАктивации реквизит мож там какой-то позиции номенклатуры (например) в текущей строке и красить определенную колонку/строку толко для текущей строки.
85 Chameleon1980
 
10.03.16
13:41
+(84) почему бы для всех видимых не проверить условие и покрасить?

вот что сбивает-то.
86 DDwe
 
10.03.16
13:41
(85) Видимых кому?
87 Ly_Alena
 
10.03.16
13:43
(82) красится вся колонка, со строкой не получается
(83) всю номенклатуру красить это просто офигеть можно.
(84) Если есть возможность красить только видимую номенклатуру (если я правильно поняла - это та которая видна на экране) - это был бы идеальный вариант.
88 Chameleon1980
 
10.03.16
13:43
в списке на экране

проще просто выразился

строки которые придут в ПриПолученииДанных

Вам так понятнее?
89 Chameleon1980
 
10.03.16
13:44
(87)
да еще раз

почитайте про ПриПолученииДанных и поймете
работает не для всей номенклатуры относящейся к списку а выведенной
90 франц
 
10.03.16
13:45
(87) в вот краситься вся колонка потому, что, как тут пишут, нужно в ЦИКЛЕ ПРОВЕРЯТЬ ЗНАЧЕНИЯ ДЛЯ КАЖДОЙ СТРОКИ.. упс, случайно капслок оказался нажатым..
про то, что можно только видимую - стотыщ раз выше написали..
91 FIXXXL
 
10.03.16
13:45
(76) ПриПолученииДанных и далее в ОформленияСтрок содержится набор строк, которые на экране показываются
92 Chameleon1980
 
10.03.16
13:45
+(89)

именно видимую
я рад, что вы поняли смысл
93 Ly_Alena
 
10.03.16
13:49
(90) (91) (89) Итак, дорогие мои знатоки - наконец вдолбили что к чему. Теперь я знаю что оказывается можно то что отображается на экране сразу все позиции проверить в процедуре ПриПолученииДанных. Как теперь покрасить все что пНеактуальнаяСтоимостьМатериалов = истина.

Я конечно понимаю что капс лук так и хочется включить - включайте ) только объясните что не так делалось до этого сообщения.
94 Chameleon1980
 
10.03.16
13:50
пНеактуальнаяСтоимостьМатериалов а это где хранится?
95 франц
 
10.03.16
13:51
(93) таки же, значение условия для всех строк было одно...
96 Chameleon1980
 
10.03.16
13:54
(95) я думаю где то например в номенклатуре лежит какой-то реквизит который нужно проверить для номенклатуры в очередной строке
97 DDwe
 
10.03.16
13:54
Будем гадать или ответа подождем?
98 Ly_Alena
 
10.03.16
13:54
(94) в процедуре, которая вызывается из СписокПриАктивизацииСтроки
99 Ly_Alena
 
10.03.16
13:55
(95) для проверки выводила сообщение - разные значения.
100 FIXXXL
 
10.03.16
13:55
(93) покаж процедуру присвоения пНеактуальнаяСтоимостьМатериалов
101 Chameleon1980
 
10.03.16
13:56
(98) покажите ее

т.е. получится, если в процедуре возвращает истина, то все строки красятся.... не для каждой номенклатуры ли надо проверить?
102 Chameleon1980
 
10.03.16
14:05
вот из этого, например получается вот это

Процедура СписокПриПолученииДанных(Элемент, ОформленияСтрок)
    
    Для Каждого ОчереднаяСтрока из ОформленияСтрок Цикл
        
        Номенклатура=ОчереднаяСтрока.ДанныеСтроки.Ссылка;
        // Вот тут ОчереднаяСтрока.ДанныеСтроки.Ссылка это ваша очередная в списке номенклатура
        
        Если Номенклатура.ЭтоГруппа Тогда
            Продолжить;
        КонецЕсли;
        
        Если Номенклатура.Весовой Тогда
            
            ОчереднаяСтрока.ЦветФона=WebЦвета.Бирюзовый;
        КонецЕсли;
        
    КонецЦикла;
    
КонецПроцедуры


http://pastenow.ru/KN70
103 Ly_Alena
 
10.03.16
14:06
(101) нет. Уф! Пользователь выделил номенклатуру - пошла проверка, если истина - то покрасили эту номенклатуру.
Если проверять и окрашивать всю номенклатуру, которая отображается на экране то как проверить вопрос?
104 Chameleon1980
 
10.03.16
14:07
какой еще вопрос?

показывайте код уже и закроем проблему.
ну или смотрите чуть выше мой пост
может поймете
105 FIXXXL
 
10.03.16
14:08
(103) пользователь открыл список номенклатуры - пошла проверка по видимым строкам и раскраска

у вас изначально кривое представление и реализация
106 Ly_Alena
 
10.03.16
14:10
Процедура ПроверитьАктуальныеЦеныМатериалов(Номенклатура)
    
    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    ОсновныеСпецификацииНоменклатурыСрезПоследних.Номенклатура,
        |    СпецификацииНоменклатурыИсходныеКомплектующие.Номенклатура КАК Номенклатура1
        |ИЗ
        |    РегистрСведений.ОсновныеСпецификацииНоменклатуры.СрезПоследних КАК ОсновныеСпецификацииНоменклатурыСрезПоследних
        |        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СпецификацииНоменклатуры.ИсходныеКомплектующие КАК СпецификацииНоменклатурыИсходныеКомплектующие
        |            ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ЗаявкиНаЗакуп.Остатки(&Девольвация, ) КАК ЗаявкиНаЗакупОстатки
        |            ПО СпецификацииНоменклатурыИсходныеКомплектующие.Номенклатура = ЗаявкиНаЗакупОстатки.Номенклатура
        |            ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.КомПроекты.Остатки(&Девольвация, ) КАК КомПроектыОстатки
        |            ПО СпецификацииНоменклатурыИсходныеКомплектующие.Номенклатура = КомПроектыОстатки.Номенклатура
        |        ПО ОсновныеСпецификацииНоменклатурыСрезПоследних.СпецификацияНоменклатуры = СпецификацииНоменклатурыИсходныеКомплектующие.Ссылка
        |ГДЕ
        |    ОсновныеСпецификацииНоменклатурыСрезПоследних.Номенклатура = &Номенклатура";

    Девольвация = Дата(2015,08,19);
    Запрос.УстановитьПараметр("Девольвация", Девольвация);
    Запрос.УстановитьПараметр("Номенклатура", Номенклатура);

    Результат = Запрос.Выполнить();

    ВыборкаДетальныеЗаписи = Результат.Выбрать();

    Если ВыборкаДетальныеЗаписи.Количество()>0 Тогда
        пНеактуальнаяСтоимостьМатериалов = Истина;
    Иначе
        пНеактуальнаяСтоимостьМатериалов = Ложь;
    КонецЕсли;
КонецПроцедуры
107 Chameleon1980
 
10.03.16
14:13
ну вот для каждой позиции в строке нужно вызывать эту функцию. но тут тормоза будут походу.
108 Tatitutu
 
10.03.16
14:13
(106) Привет твоим пользователям - они будут очень благодарны тебе и винить во всем 1С (от такой постановки задачи)
109 Chameleon1980
 
10.03.16
14:16
как вариант ускорить.
передавать из ПриПолучинии данных все позиции в функцию

запрос переделывать под всю пришедшую номенклатуру
возвращать ТаблицуЗначений с колонками номенклатура и флаг

возвращать в ПриПолучении данных и в новом таком же цикле
шагать по строкам - искать очередную позицию в Таблице знаений , смотреть флаг
ну и дальше по графику

а вообще согласен со (108)
110 Ly_Alena
 
10.03.16
14:16
(107) про то и речь - что для каждой позиции. Поэтому изначально думала красить только выделенную позицию.
(108) к сожалению других вариантов не вижу.
111 Chameleon1980
 
10.03.16
14:16
мож проще отчетом?
112 Ly_Alena
 
10.03.16
14:17
(111) не хотят отчетом - хотят тыкать и видеть сразу...
113 Ly_Alena
 
10.03.16
14:18
Хорошо вернемся к "тыканию". Тыкнули - проверили - как покрасить выделенную ячейку?
114 Chameleon1980
 
10.03.16
14:18
рассмотреть вариант вывода гденить снизу
115 Chameleon1980
 
10.03.16
14:19
для текущей позиции
116 Chameleon1980
 
10.03.16
14:19
приАктивацииСтроки
117 Ly_Alena
 
10.03.16
14:19
(115) а что выводить? им нужен цвет - выделено цветом значит нужно обратить внимание на цены по материалам
118 Ly_Alena
 
10.03.16
14:20
(116) хорошо, вернулись к ПриАктивации - как быть там - у меня красится либо вся колонка - либо ошибка вылетает.
119 Chameleon1980
 
10.03.16
14:20
да хоть надпись - что WARNING :)
120 Chameleon1980
 
10.03.16
14:21
опять блин не пойму - причем тут вся колонка если запрос для определенной позиции
121 Tatitutu
 
10.03.16
14:22
(113) зачем ???? тыкнули проверили ...зачем ????
сделай особо занудным отдельную форму (внешним отчетом)
и выводи туда запросом все девольвированные и тыкать не нужно раз запустят и забудут
122 Ly_Alena
 
10.03.16
14:22
(120) хорошо. как написать чтобы покрасить только определенную позицию?
123 Ly_Alena
 
10.03.16
14:22
ПроверитьАктуальныеЦеныМатериалов(ЭлементыФормы.Список.ТекущиеДанные.Ссылка);
                Если пНеактуальнаяСтоимостьМатериалов = Истина Тогда
                    Сообщить("Нужно подкрасить!");
                    
                Иначе
                    Сообщить("Все ништяк - подкрашивать не надо!");
                КонецЕсли;
124 Chameleon1980
 
10.03.16
14:23
вырезка из ут:
125 Chameleon1980
 
10.03.16
14:25
Процедура СписокПриАктивизацииСтроки(Элемент)

    ПодключитьОбработчикОжидания("ОбработчикОжиданияСписокПриАктивизацииСтроки", 0.1, Истина);         

КонецПроцедуры // СписокПриАктивизацииСтроки

// Процедура - обрабочик ожидания для события ПриАктивизацииСтроки
// табличного поля Список
//
Процедура ОбработчикОжиданияСписокПриАктивизацииСтроки()
        ТекущиеДанныеСписка = ЭлементыФормы.Список.ТекущиеДанные;
        флаг=ПолучитьНашПризнак(ТекущиеДанныеСписка );

///        установить определенный текст на форме где нить
КонецПроцедуры
126 Chameleon1980
 
10.03.16
14:27
и все так-же как при активации одной строки - только не подсветки всякие, а, например красным цветом - "караул". Ну на свой вкус :)
127 Tatitutu
 
10.03.16
14:27
(123) ты бы сначала (103) выбрось, сотри и забудь...
честно полный бред. Какая логика ?
128 Tatitutu
 
10.03.16
14:28
не (103) , а (106)
129 Chameleon1980
 
10.03.16
14:28
возьмите, например, ут 10 и гляньте как там реализовано отображение изображения, цен и остатков для текущей строки
130 Chameleon1980
 
10.03.16
14:30
запрос не читал (не разбирал) толком, но по количеству букв в голове вариант по ПриПолученииДанных сразу отпал
131 Chameleon1980
 
10.03.16
14:31
не читать, как - "букв в голове" :)
132 Chameleon1980
 
10.03.16
14:46
надпись внизу формы реализовано через
ПриАктивацииСтроки

проверяется условие только текущей строки и применяется решение о выводе/невыводе надписи

http://pastenow.ru/KN91
133 Chameleon1980
 
10.03.16
14:50
если поможет - добавлено в ут (пара комментариев для вас есьт):

Процедура СписокПриАктивизацииСтроки(Элемент)
    // стандартный механизм
    ПодключитьОбработчикОжидания("ОбработчикОжиданияСписокПриАктивизацииСтроки", 0.1, Истина);         
КонецПроцедуры // СписокПриАктивизацииСтроки

Функция ПроверкаНаПризнакВесового()
    ТекущаяНоменклатура = ЭлементыФормы.Список.ТекущиеДанные.Ссылка;
    Если ТекущаяНоменклатура.ЭтоГруппа Тогда
        Возврат Ложь;
    КонецЕсли;
    // тут ваще условие проверяйте
    Если ТекущаяНоменклатура.Весовой Тогда
        Возврат Истина;
    КонецЕсли;
    Возврат Ложь;
КонецФункции

// Процедура - обрабочик ожидания для события ПриАктивизацииСтроки
// табличного поля Список
//
Процедура ОбработчикОжиданияСписокПриАктивизацииСтроки()    
    Если ПроверкаНаПризнакВесового() Тогда
        ЭлементыФормы.Предупреждение.Заголовок="Это весовой товар";
    Иначе
        ЭлементыФормы.Предупреждение.Заголовок="";
    КонецЕсли;
    
    // эти строки тут были
    ПоказатьОсновноеИзображение();
    ПоказатьОстаткиТоваров();    
КонецПроцедуры // ОбработчикОжиданияСписокПриАктивизацииСтроки
134 FIXXXL
 
10.03.16
15:47
(106) а с покрашенными строками работать нельзя или какой смысл?
мож их просто скрыть, по нажатию кнопки или при открытии формы?
135 Ly_Alena
 
11.03.16
05:01
(134) смысл есть. Задача поставлена так. Все время удивляюсь - прихожу сюда с конкретным вопросом, начинается такое обсуждение что так не надо делать, что нужно все удалить и отойти подальше от компьютера - а конкретно по делу мало слов. Расстроилась.
136 DDwe
 
11.03.16
07:21
(135) Просто нужно учится грамотно формулировать вопрос. Тогда люди начинают думать и предлагать, а так все еще половину рабочего дня задают уточняющие-наводящие вопросы и еще не дожидаются на них ответа. Попробуйте четко и ясно сформулировать в одном посте поставленную задачу и  грамотный вопрос. После этого вам начнут помогать, хотя мне кажется, что всё сформулировав вы и сами сможете найти ответ.
137 Ly_Alena
 
11.03.16
07:40
(136) По мне так задача, если отбросить все условия простейшая и не стоит перегружать ее дополнительными "если". Вопрос "как окрасить текст только у выделенной ячейки в справочнике номенклатуры?". Если это знать то условия потом можно навесить любые - и вопросы "а зачем?", "почему?", "а при каких условиях", "а что если выделить другую?" не столь важны? Или я чего-то не понимаю?
138 DDwe
 
11.03.16
07:44
(137) Не понимаете. Что непонятно написано в (136)? Если вам лень собраться и расписать задачу и вопрос, то все остальным лень отвечать. Всё просто.
Например вопрос "а что если выделить другую?" важен, так как от этого может зависеть реализация и т.д.
Но зачем распинаться, если вы сами не хотите чтобы вам помогли.
139 Мимохожий Однако
 
11.03.16
07:46
(137)Дьявол в деталях, поэтому лучше указать все дополнительные если. Будет меньше вариантов и отклонений. Вот этого не понимаешь, или не хочешь понимать.
140 Ly_Alena
 
11.03.16
08:04
(138) (139) Задача в следующем, в справочнике номенклатуры необходимо выделить ту номенклатуру красным цветом, стоимость материалов которой неактуальны. Так как выделить всю номенклатуру сразу нереально, было принято решение выделять номенклатуру когда пользователь щелкает по ней мышью. При активизации запускается процедура - где проверяем актуальность цен, в процедуре присваиваем значение ложь или истина в переменную пНеактуальнаяСтоимостьМатериалов. Далее проверяю
Если пНеактуальнаяСтоимостьМатериалов = Истина Тогда
        Сообщить("Нужно подкрасить!");
        ЭлементыФормы.Список.ТекущиеДанные.ЦветТекста = Новый Цвет(255, 0, 0);
Иначе
    Сообщить("Подкрашивать не надо!");
КонецЕсли;

Вызов процедуры и проверка из СписокПриАктивизацииЯчейки

На "ЦветТекста" вылетает ошибка (поле объекта не обнаружено)

И извечный вопрос: как быть и что делать?
141 Мимохожий Однако
 
11.03.16
08:07
(140)Встань отладчиков на эту строку и посмотри, что в хранится в ЭлементыФормы.Список. Обрати внимание, что .ТекущиеДанные не подходят. Надо брать текущую СТРОКУ. В отладчики на этой строке можно найти подсказку как взять текущую строку, а не целый список. Ферштейн?
142 Мимохожий Однако
 
11.03.16
08:10
Нужен обработчик ПриВыводеСтроки
143 Ly_Alena
 
11.03.16
08:10
(141) там хранится моя номенклатура
144 Мимохожий Однако
 
11.03.16
08:11
(143)Лень включить отладчик? Зачем гадать, когда можно посмотреть? Тебе нужен другой обработчик.
145 Ly_Alena
 
11.03.16
08:12
(141) На ТекущуюСтроку - тоже ошибка вылетает "поле объекта не обнаружено "ЦветТекста" я пробовала в самом начале. почему-то только если ТекущаяКолонка срабатывает и красит всю колонку.
146 Мимохожий Однако
 
11.03.16
08:12
По точке остановки выделяешь ЭлементыФормы.Список, потом Shift-F9 (Вычислить выражение). Результат в студию.
147 Ly_Alena
 
11.03.16
08:13
(144) почему лень - я посмотрела через отладчик и сказала что так есть
148 Мимохожий Однако
 
11.03.16
08:13
(145)еще раз - ВКЛЮЧИ отладчик.
149 Мимохожий Однако
 
11.03.16
08:13
встань на ошибку и рассчитай выражение до точки.
150 Мимохожий Однако
 
11.03.16
08:14
или встань на строку выше ошибки.
151 Ly_Alena
 
11.03.16
08:19
152 DDwe
 
11.03.16
08:20
(150) Там у нее текущие данные и нет ни какого цвета.
153 DDwe
 
11.03.16
08:21
(151) Ты видишь там цвет?
154 Мимохожий Однако
 
11.03.16
08:22
(151)Убери .ссылка и еще раз нажми вычислить выражение
155 франц
 
11.03.16
08:22
блин.. я думал в первой сотне все было решено..
автор, до 1000 выжмешь?.. если да - лично сам все что надо сделаю..
156 Мимохожий Однако
 
11.03.16
08:23
Вычисляй ЭлементыФормы.Список.ТекущиеДанные.
(155)Сегодня пятница. И для блондинки простительно.
157 Ly_Alena
 
11.03.16
08:24
(155) (154) (153)  это понятно что там цвета нет и что вышибает в ошибку - поэтому и вопрос как изменить цвет?
158 aka AMIGO
 
11.03.16
08:25
(155) Не обижай девочку.
Всё, что вновь - не так просто решается.

ЗЫ. Пообещал - сделай :)
159 Мимохожий Однако
 
11.03.16
08:25
(157)Сначала сделай то, что рекомендуют. Убедись, что ТекущиеДанные тебе не подходят. Тебе нужна ТекущаяСтрока. Ее можно поискать при вычислении выражения ЭлементыФормы.Список
160 Ly_Alena
 
11.03.16
08:27
(159) я понимаю что мне нцжна текущаястрока. Но при
ЭлементыФормы.Список.ТекущаяСтрока.ЦветТекста = Новый Цвет(255, 0, 0);
вылетает ошибка. Или нужно с текущейСтрокой по другому?
161 франц
 
11.03.16
08:27
(158) сделаю, конечно.. сперва - до тыщи пусть дотянет))
зря она на "покрасить" заморачивается)).. ей нужно сперва "флаг" актуальности установить в процедуре "ПриАктивацииСтроки". и точка.
А потом в "ПриПолученииДанных" - подкрасить нужное))).. и профит))
162 Мимохожий Однако
 
11.03.16
08:28
(160)Вычисли выражение ЭлементыФормы.Список и через точку увидишь есть у тебя параметр ТекущаяСтрока или нет. Если нет, то выбранный обработчик тебе не подходит
163 aka AMIGO
 
11.03.16
08:29
(160) Помести в табло отладчика вот эту твою строку:
ЭлементыФормы.Список.ТекущаяСтрока

И посмотри, есть-ли у неё в параметрах (что раскрывать ниже) ЦветТекста
164 франц
 
11.03.16
08:30
(160) а ты помнишь, что я вчера говорил по поводу цвета для строки?))
165 aka AMIGO
 
11.03.16
08:31
(164) Интригуешь? Взял-бы да повторил.. КопиПаст - пара движений :)
166 Ly_Alena
 
11.03.16
08:31
(164) помню, ну а что делать?
167 Мимохожий Однако
 
11.03.16
08:33
(166)Сделай то, что рекомендуют. Посчитай по точке останова то, что выделено жирным в (163)
168 франц
 
11.03.16
08:33
(166) (165) ща, сек.. открываю свои архивы.. я делал такое для УТ 10.3 номенклатуры..
169 Ly_Alena
 
11.03.16
08:35
(167) нет в параметрах цвета
170 aka AMIGO
 
11.03.16
08:35
(169) Вот! отсюда и ошибка..
171 Ly_Alena
 
11.03.16
08:37
(170) да это все и понятно! Я же привела то что пробовала и там и написала что ошибка. Итак понятно. Вопрос в том что делать?
172 Мимохожий Однако
 
11.03.16
08:37
(169)Наконец-то. Закомментируй этот год и создай процедуру для обработчика при активации строки, а не ячейки
173 aka AMIGO
 
11.03.16
08:37
(171) Помог-бы.. да 8-ки у меня нет.
174 Мимохожий Однако
 
11.03.16
08:37
*год - код
175 франц
 
11.03.16
08:38
(169) так, стой и не дыши: пНеактуальнаяСтоимостьМатериалов - признак у тебя устанавливается, и с ней все нормально??..проблем нет?
176 DDwe
 
11.03.16
08:39
Если я правильно понимаю, она все равно хочет не того. Хочет она выделить строку, посчитать некие данные и если они удовлетворяют условию, то закрасить строку. Все хорошо, но дальше она перейдет на другую строку, вновь все пересчитается и старая строка восстановит цвет и будет закрашена новая. Я правильно понимаю?
177 франц
 
11.03.16
08:40
(176) нет..  ей нужно закрасить и пойти дальше.. при выборе новой строки - опять проверить, если проблема - опять закрасить.. Только, она не хочет отделить мух от котлет..
178 Ly_Alena
 
11.03.16
08:42
(172) Собственно со строки и начинала, а потом уже давай пихать во все что можно...
179 Ly_Alena
 
11.03.16
08:44
(176) старую желательно оставить красной пойти дальше смотреть. (177) да что значит отделить мух от котлет? кучей во временную и там проверить все что выведено? Пробовала не получилось.
180 франц
 
11.03.16
08:45
(179) ты ответишь на вопрос в 175?.. давай, я уделю полчаса - если не смогу помочь, то подумаю, спрыгнуть в окно с 16 этажа, или повеситься..
181 DDwe
 
11.03.16
08:46
(179) Что за разговор "желательно"...  дет.сад.
182 Ma3eIIa
 
11.03.16
08:46
(179) так это уф ?
183 Ma3eIIa
 
11.03.16
08:47
(182) почему не использовать условное оформление ? и это динамический список ? если да то запрос в дс и условное оформление
184 DDwe
 
11.03.16
08:47
(177) При выборе новой строки опять все произойдет перерисовка и сатрая строка потеряет цвет, разве нет?
185 Мимохожий Однако
 
11.03.16
08:47
Берешь обработчик ПриАктивацииСтроки на форме списка Номенклатура
Процедура СписокПриАктивизацииСтроки(Элемент)
Элемент.ТекущаяСтрока //здесь элемент справочник и можно получить условие вывода
ТвоёУсловие = .....
Если ТвоёУсловие  Тогда
Элемент.ЦветТекста = //здесь красим
КонецЕсли
186 DDwe
 
11.03.16
08:48
(182) Нет.
187 Ma3eIIa
 
11.03.16
08:49
(186) (103)
188 DDwe
 
11.03.16
08:49
Уже раньше говорили, что такие вещи отчетами делают.
189 франц
 
11.03.16
08:50
(187) не пугай народ.. там "Уф" - это просто уф, а не управляемая форма..
190 DDwe
 
11.03.16
08:50
(187) см (28)
191 франц
 
11.03.16
08:50
(188) да, легко делаются в форме списка. на 1,2,3..
192 Ma3eIIa
 
11.03.16
08:51
(189) ясно :) уф уф...
193 DDwe
 
11.03.16
08:52
(191) Легко, только она для каждой видимой строки выполняет запрос... и так каждый раз при изменении области видимости.
194 Ly_Alena
 
11.03.16
08:54
(175) признак устанавливается и все нормально
195 Ma3eIIa
 
11.03.16
08:55
(194) Я бы сделал так. добавил это поле не активный. при получение данных его заполнять. потом уже раскрашивать
196 DDwe
 
11.03.16
08:55
(194) Ты собираешься показать пользователю номенклатуру, потом он будет кликать по каждой позиции чтобы выяснить актуальная она или нет?
197 Ma3eIIa
 
11.03.16
08:55
198 Ma3eIIa
 
11.03.16
08:56
(196) возможно тс. не так поняла тз :)
199 Ly_Alena
 
11.03.16
08:57
(185) так пробовала - вообще ничего не происходит
200 DDwe
 
11.03.16
08:58
(197) Мы гадаем, а про это ей в (136) вказано.
201 франц
 
11.03.16
08:58
Вставь в форму списка справочника номенклатура данную процедуру.
Процедура СписокПриПолученииДанных(Элемент, ОформленияСтрок)

    Для каждого строка из ОформленияСтрок Цикл
        Если Не Строка.ДанныеСтроки.ссылка.ЭтоГруппа Тогда
  
            Запрос = Новый Запрос;
            Запрос.Текст =
                "ВЫБРАТЬ
                |    ОсновныеСпецификацииНоменклатурыСрезПоследних.Номенклатура,
                |    СпецификацииНоменклатурыИсходныеКомплектующие.Номенклатура КАК Номенклатура1
                |ИЗ
                |    РегистрСведений.ОсновныеСпецификацииНоменклатуры.СрезПоследних КАК ОсновныеСпецификацииНоменклатурыСрезПоследних
                |        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СпецификацииНоменклатуры.ИсходныеКомплектующие КАК СпецификацииНоменклатурыИсходныеКомплектующие
                |            ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ЗаявкиНаЗакуп.Остатки(&Девольвация, ) КАК ЗаявкиНаЗакупОстатки
                |            ПО СпецификацииНоменклатурыИсходныеКомплектующие.Номенклатура = ЗаявкиНаЗакупОстатки.Номенклатура
                |            ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.КомПроекты.Остатки(&Девольвация, ) КАК КомПроектыОстатки
                |            ПО СпецификацииНоменклатурыИсходныеКомплектующие.Номенклатура = КомПроектыОстатки.Номенклатура
                |        ПО ОсновныеСпецификацииНоменклатурыСрезПоследних.СпецификацияНоменклатуры = СпецификацииНоменклатурыИсходныеКомплектующие.Ссылка
                |ГДЕ
                |    ОсновныеСпецификацииНоменклатурыСрезПоследних.Номенклатура = &Номенклатура";

            Девольвация = Дата(2015,08,19);
            Запрос.УстановитьПараметр("Девольвация", Девольвация);
            Запрос.УстановитьПараметр("Номенклатура", Строка.ДанныеСтроки.Ссылка);

            Результат = Запрос.Выполнить();

            ВыборкаДетальныеЗаписи = Результат.Выбрать();

            Если ВыборкаДетальныеЗаписи.Количество()>0 Тогда
                //пНеактуальнаяСтоимостьМатериалов = Истина;
                ЦветФона = Новый Цвет(250,128,114);
                Строка.Ячейки.Наименование.ЦветФона = ЦветФона;
            //    
            //Иначе
            //    пНеактуальнаяСтоимостьМатериалов = Ложь;
            КонецЕсли;
    
    КонецЕсли;
КонецЦикла

КонецПроцедуры
202 DDwe
 
11.03.16
08:58
(199) Ты на вопросы будешь отвечать?
203 Мимохожий Однако
 
11.03.16
08:59
(199)Покажи код. Не будь голословной.
204 Ly_Alena
 
11.03.16
08:59
(196) да именно так. Открывается справочник номенклатуры, потом пользователь смотрит интересующую номенклатуру - нажимает и номенклатура окрашивается если цены неактуальные.
205 Ly_Alena
 
11.03.16
08:59
(202) не успеваю )
206 Ly_Alena
 
11.03.16
09:00
(203) код условия или код окрашивания?
207 Ma3eIIa
 
11.03.16
09:00
(206) Процедура ТаблицаДокументовВыбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка)    
    ВЫБРАННЫЙДОКУМЕНТ=ЭлементыФормы.ТаблицаДокументов.ТекущаяСтрока;
КонецПроцедуры

Процедура ТаблицаДокументовПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
    Если ДанныеСтроки=Неопределено Тогда
        Возврат;
    ИначеЕсли ДанныеСтроки=ВЫБРАННЫЙДОКУМЕНТ Тогда
            ОформлениеСтроки.ЦветФона=Новый Цвет(0,255,0);
    КонецЕсли;    
КонецПроцедуры

Только тебе надо выбор заменить на активизацию строки
208 Мимохожий Однако
 
11.03.16
09:00
(204)Если номенклатура несколько тысяч? Я бы этот вопрос заказчику задал... несколько тысяч раз.
209 франц
 
11.03.16
09:00
(205) проверяй (201).. и не смей говорить, что это не работает.
210 DDwe
 
11.03.16
09:01
(204) Жесть.... Не любишь ты пользователей.
211 Мимохожий Однако
 
11.03.16
09:01
(206)Всю процедуру обработчика
212 Мимохожий Однако
 
11.03.16
09:02
(210)Она любит заказчика. Пользователи не платят.
213 Ly_Alena
 
11.03.16
09:02
(210) это пользователи усложняют себе жизнь. Отчетом не хотят - хотят сложности. Хозяин - барин.
214 Ma3eIIa
 
11.03.16
09:02
(201) у тебя запрос выполняется в цикле. можно же получить список номенклатуры и этот список передать в запрос. потом соответствие сделать и раскрашивать.
215 Ma3eIIa
 
11.03.16
09:03
(213) так можно же сразу отобразить. что цена не актуальная. если строка активная. то что окрашена не видно. так как будет выделена.
216 Мимохожий Однако
 
11.03.16
09:03
ОФФ:А Заказчик не любить пользователей, поэтому нанимает ТС. Вернее заказчик любит пользователей даже тогда, когда они не хотят уже
217 Ma3eIIa
 
11.03.16
09:04
218 DDwe
 
11.03.16
09:04
(213) Заработало? (201)
219 DDwe
 
11.03.16
09:06
(217) (Это нужно было в первом посте показать ))
220 Мимохожий Однако
 
11.03.16
09:06
(218)Она так не хочет ))
221 франц
 
11.03.16
09:06
(214) да знаю я... она пусть хотя бы это сделает.. потом можно и остальное..
222 Ma3eIIa
 
11.03.16
09:06
(219) так 5 минут гугла.
223 Ma3eIIa
 
11.03.16
09:07
(221) это не правильно. учить писать быдло код. даже если сложно. пусть тс разбирается.
224 DDwe
 
11.03.16
09:07
(223) +100
225 Ma3eIIa
 
11.03.16
09:07
(223) вдруг ты потом попадешь к этому заказчику. а там твой пример :)
226 DDwe
 
11.03.16
09:08
(225) Ты чего с сам собой?
227 Мимохожий Однако
 
11.03.16
09:08
(226)нет он с нами
228 франц
 
11.03.16
09:09
(225) вот я, когда попаду к заказчику, за оптимизацию денежьку и возьму))..
229 Ma3eIIa
 
11.03.16
09:10
(226) это дописка к тому посту :)
230 франц
 
11.03.16
09:10
(225) сцу_ко, знал же, что кто нибудь истерию на тему цикла поднимет)) и уже начинал переделывать запрос)))
231 Ly_Alena
 
11.03.16
09:11
(218) Да взлетело и кажется как-то странно. Нужно проверить!
Спасибо за пример.
232 Ma3eIIa
 
11.03.16
09:11
(228) я бы то что хочет тс. выкинул бы нафиг.
И сделал бы при получение данных. а при выборе в документ. добавил бы проверки и отмена выбора. и предупреждение. цена не актуальная
233 DDwe
 
11.03.16
09:13
(231) Не делай так!
234 Ma3eIIa
 
11.03.16
09:13
(231) О_о. (230) вот видишь. теперь твой код используют :)
235 Ly_Alena
 
11.03.16
09:13
(232) предупреждение о неактуальности цены неочень удобно, если будут тыкать не один раз. Я понимаю что об удобности тут вообще неуместно говорить...
236 DDwe
 
11.03.16
09:13
(231) Пример смотри в (217)
237 Ly_Alena
 
11.03.16
09:13
(233) да понятно что не делать ) Хотя бы с мертвой точки сдвинулась - что-то покрасилось через один )
238 франц
 
11.03.16
09:13
(231) ничего там странного нет.. вчера тебе весь день это пытались сказать... после 30-40 даже я отвалился - думал проблема решена.. (232) ну, и я бы.. кстати, я и выкинул установку признака при выборе строки)) у нее просто все неактуальные сразу пометятся))
239 Мимохожий Однако
 
11.03.16
09:14
Франц, браво.
240 франц
 
11.03.16
09:15
(234) так, я ж раньше тебя выложил)) ну, если у них мониторы не шибко большие, и иерархию отключать не будут - с тормозами практически не должно быть проблем..
241 Ly_Alena
 
11.03.16
09:15
(234) никто ничего не использует ) Спокойно
Вот, если тапками не кидаться - а совет дать, ну как быть в такой ситуации - самой не нравится эта раскраска но "хочут".
242 Chameleon1980
 
11.03.16
09:15
(185) ничего не даст.
Элемент=ТП. Хотя и есть там такое свойство - не получится

Через Элемент - которы тип ТП не дотянешься до цвета текущей строки. У меня не получалось как-то. Там в свойствах тек.строка лежит сама номенклатура.

текущие данные тоже не подходят
243 Ma3eIIa
 
11.03.16
09:15
(238) Гггг :)
244 DDwe
 
11.03.16
09:15
Т.е. ТС сюда не за помощью приходила, а чтобы ей готовый код выложили )))
245 франц
 
11.03.16
09:16
(241) так, проблема в 201 не в раскраске.. и раскраска - вполне себе приемлемое решение.. проблема в 201 - есть вероятность тормозов)) там чуть переделать - ваще конфета будет))
246 Ma3eIIa
 
11.03.16
09:17
(241) Тебе тут советы дают. а тапками кидаются. ты еще профессионального тролинга не видела :)
247 Ma3eIIa
 
11.03.16
09:17
(245) да забей :) ТС все равно не вкурила как это работает.
248 Chameleon1980
 
11.03.16
09:17
(195) чуть поправлю.

устанавливать его приАктивизацииСтроки (из задачи автора)

ПРИ ПОЛУЧЕНИИ ДАННЫх (пардон) его раскрашивать

т.е. получится как автор хотел раскрасятся только те строки по которым автор прошлась и которые удовлетворяют условиям
249 Ma3eIIa
 
11.03.16
09:18
(248) если хранить список пройденных. то это массив пройденных и при выводе строки. расскаршивать эту строку
250 франц
 
11.03.16
09:18
(247) надеюсь, разберется в 201)) и, если получит проблему тормозов, вспомнит тут посты, и тоже дооптимизирует))..
251 Ma3eIIa
 
11.03.16
09:19
(250) реально 5 минут гугла. там море примеров. даже в книге знаний есть.
252 Ma3eIIa
 
11.03.16
09:20
я уже просто не удивляюсь. мне попалось наследство. конфу перевели с 1с77. там код тупо 7 :) я был в акуе.
253 Ma3eIIa
 
11.03.16
09:21
(252) я понимаю что проверка истины. это 1 или 0. но блин в 1с8
254 франц
 
11.03.16
09:21
(244) так, я решил не рисковать, и выложить код.. догнал, что в полчаса не управлюсь дать ей нужный совет, и придется выполнить (180) )))
255 DDwe
 
11.03.16
09:23
(254) Код выложил это хорошо..ладно. Но зачем плохому учишь?
256 франц
 
11.03.16
09:24
(251) ну, в моем случае я просто из своего архива выдернул + ее код взял)) и быстро сваял, чтобы уложиться в полчаса))
257 Ly_Alena
 
11.03.16
09:24
(244) пардоньте ТС?
258 франц
 
11.03.16
09:24
(255) да лана тебе.. я уже написал: если не вырубят иерархию, и если монитор не хренадцатьтыщ дюймов - все будет работать..
259 Мимохожий Однако
 
11.03.16
09:24
ТС = топик стартёр = автор ветки. Ничего личного
260 DDwe
 
11.03.16
09:25
(258) Слишком много "если" )))
261 франц
 
11.03.16
09:25
(259) плин.. вчера ТП тут проскочило)) теперь и ТС))
262 Chameleon1980
 
11.03.16
09:25
пля да я уже предлагал жеж приактивизации смотреть что с номенлатурой и в элементформы.строка писать - актуально или нет ?

что уже второй день голову кружите
263 франц
 
11.03.16
09:26
(260) я знаю... и знаю, что нет ничего более постоянного, чем временное..
264 франц
 
11.03.16
09:26
(262) а все уже.. решили.. сейчас бьют по рукам того, кто выложил решение))
265 Ma3eIIa
 
11.03.16
09:31
(264) ага. железной линейкой..
266 DDwe
 
11.03.16
09:32
(264) Решение в (207), а это подстава.
267 Chameleon1980
 
11.03.16
09:35
+(266) вроде как еще хуже чем через ПриПолученииДанных
268 франц
 
11.03.16
09:35
(266) ты понимаешь, как работает 201, или просто эрегируешь на запрос в цикле?
269 Ma3eIIa
 
11.03.16
09:43
(267) это пример когда при нажатие на строку выделить ее. а вообще. ошибка изначально. что не актуальные цены. нужно получать и проверять до отображения пользователю. то есть в при получение данных. решение франца, подходит. но его нужно оптимизировать :)
270 франц
 
11.03.16
09:46
(269) знаешь, тут еще вопрос, что быстрее: цикл с заполнением массива (структуры\соответствия) и потом поиск в них или запрос в цикле..
либо, для оптимизации, нужно добавить реквизит для номенклатуры (я в свое время просто свойство добавил) и при выборе заполнять номенклатуры проверять актуальность, и устанавливать признак. и потом при получении данных будет внезапный оптимальный профит..
271 Ma3eIIa
 
11.03.16
09:56
(270) каждому свое. но в упр формах. это был бы ДС. а это запрос к дополнительным таблицам.
272 Ly_Alena
 
11.03.16
10:28
(251) как ни странно ни одного примера не нашла, который бы помог в этом море. Поэтому открыла тему.
273 mTema32
 
11.03.16
10:58
(0) Без доп реквизита в табличном поле задача не решаема.
Хотя может быть я и ошибаюсь...
274 Chameleon1980
 
11.03.16
11:06
(273) +++100500 с ним красиво будет

по автору если:

приАктивации если нужно ставим реквизит

ПриПолученииДанных - раскрашиваем быстро все видимые (если наш реквизит выставлен) элементы с установленным значением.

профит.
275 франц
 
11.03.16
11:11
(273) (274) таки же, уже ж в 260 все это есть))..
276 Ly_Alena
 
11.03.16
11:13
Франц, спасибо большое! Все шикарно!
277 Chameleon1980
 
11.03.16
11:17
да это вроде и выше от кого то наблюдалось :)
278 Ly_Alena
 
11.03.16
11:20
(277) ну конечно всем спасибо, не легко пришлось Вам )
279 Chameleon1980
 
11.03.16
11:25
ДАЁШЬ НОВУЮ ТЕМУ !!!
280 Ly_Alena
 
11.03.16
11:41
(279) пятница нынче, не буду к выходным народ выбешивать )
281 франц
 
11.03.16
11:43
(280) так, никто ж не бесился)) все с задором накинулись на раскраску))
282 Ly_Alena
 
11.03.16
11:45
(281) а я запереживала что всех выбесила ) Переживательная знаете ли такая
283 Ly_Alena
 
11.03.16
11:50
Ща я тогда начну колготиться с реквизитом приАктивации. Держитесь )
284 франц
 
11.03.16
11:51
(283) а ты определилась, как будешь значение хранить?.. добавишь новый реквизит для спр Номенклатура?.. или добавишь свойство?..
285 франц
 
11.03.16
11:51
или категорию..
286 Ly_Alena
 
11.03.16
12:00
(284) вообще я еще вчера добавила реквизит...
287 франц
 
11.03.16
12:02
(286) ну, таки, он заполняется при активации строки?
288 Ly_Alena
 
11.03.16
12:18
(287) да он заполняется. ТОлько мне малость схема непонятна...
289 франц
 
11.03.16
12:19
(288) если он заполняется, то просто в код из 201 убери запрос, и поставь проверку твоего реквизита.. и, как бы, все..
290 DDwe
 
11.03.16
12:20
(288) Рассказывай, что не понятно.
291 Ly_Alena
 
11.03.16
12:22
(289) вот тут и непонятно - я тыкаю в номенклатуру - заполняется реквизит, при получении как будто только один реквизит и обновится. Как будто получится как я изначально хотела. Но мне так понравилась теперь идея что при отображении "без тыкания" сразу видно на что обратить внимание.
292 франц
 
11.03.16
12:24
(291) так, и не тыкай тогда.. вообще убери этот реквизит и код из процедуры активации.. он не нужен для кода из 201
293 Ly_Alena
 
11.03.16
12:28
(292) тогда каким образом будет заполняться реквизит?
Выставила условия в запросе, будто все красиво...

Для каждого Строка из ОформленияСтрок Цикл
        //Если Не Строка.ДанныеСтроки.ссылка.ЭтоГруппа Тогда
  
        Запрос = Новый Запрос;
        Запрос.Текст =
                "ВЫБРАТЬ
                |    ОсновныеСпецификацииНоменклатурыСрезПоследних.Номенклатура,
                |    СпецификацииНоменклатурыИсходныеКомплектующие.Номенклатура КАК Материалы,
                |    ЦеныНоменклатурыСрезПоследних.Цена
                |ИЗ
                |    РегистрСведений.ОсновныеСпецификацииНоменклатуры.СрезПоследних КАК ОсновныеСпецификацииНоменклатурыСрезПоследних
                |        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СпецификацииНоменклатуры.ИсходныеКомплектующие КАК СпецификацииНоменклатурыИсходныеКомплектующие
                |            ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Девольвация, ) КАК ЦеныНоменклатурыСрезПоследних
                |            ПО СпецификацииНоменклатурыИсходныеКомплектующие.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
                |        ПО ОсновныеСпецификацииНоменклатурыСрезПоследних.СпецификацияНоменклатуры = СпецификацииНоменклатурыИсходныеКомплектующие.Ссылка
                |ГДЕ
                |    ОсновныеСпецификацииНоменклатурыСрезПоследних.Номенклатура = &Номенклатура
                |    И (ЦеныНоменклатурыСрезПоследних.Регистратор ССЫЛКА Документ.ЗаказПоставщику
                |            ИЛИ ЦеныНоменклатурыСрезПоследних.Регистратор ССЫЛКА Документ.КоммерческийПроект
                |            ИЛИ ЦеныНоменклатурыСрезПоследних.Регистратор ССЫЛКА Документ.ПоступлениеТоваровУслуг)
                |    И (ОсновныеСпецификацииНоменклатурыСрезПоследних.Номенклатура.ВидНоменклатуры.Наименование ПОДОБНО ""Готовая продукция""
                |            ИЛИ ОсновныеСпецификацииНоменклатурыСрезПоследних.Номенклатура.ВидНоменклатуры.Наименование ПОДОБНО ""Товары приобретенные"")
                |    И НЕ СпецификацииНоменклатурыИсходныеКомплектующие.Номенклатура = СпецификацииНоменклатурыИсходныеКомплектующие.Номенклатура.Родитель";

        Девольвация = Дата(2015,08,19);
        Запрос.УстановитьПараметр("Девольвация", Девольвация);
        Запрос.УстановитьПараметр("Номенклатура", Строка.ДанныеСтроки.Ссылка);

        Результат = Запрос.Выполнить();

        ВыборкаДетальныеЗаписи = Результат.Выбрать();
        Если ВыборкаДетальныеЗаписи.Количество()>0 Тогда
            ЦветТекста = Новый Цвет(250,0,0);
            Строка.Ячейки.Наименование.ЦветТекста = ЦветТекста;
        КонецЕсли;
    КонецЦикла;
294 франц
 
11.03.16
12:31
(293) так
1. Если хочется отображения "без тыканья" - то оставить все как есть.
2. если все же хочется "с тыканьем" - тогда в 201 убрать запрос, и добавить проверку твоего реквизита. Сейчас коду в 201 вообще фиолетово на значение твоего реквизита. он выводит для ВСЕХ неактуальных..
Основная теорема систематики: Новые системы плодят новые проблемы.