|
Изменение цвета текста в списке справочника "Номенклатура" | ☑ | ||
---|---|---|---|---|
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
|
(214) вот пример Книга знаний: Размещение колонки с остатками в списке справочника
|
|||
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 вообще фиолетово на значение твоего реквизита. он выводит для ВСЕХ неактуальных.. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |