|
Маленький вопросик | ☑ | ||
---|---|---|---|---|
0
Valiant
12.04.12
✎
22:48
|
Можно ли сделать в документе поступления товаров в табличном поле "Товары" что при нажатии на какую-дь любую кнопку строка окрашивалась, БЕЗ ДОБАВЛЕНИЯ реквизита табличной части "Товары"?
Вроде легкая задача, добавить руками колонку в табличное поле ставить туда значение когда нажимаем на кнопку а потом при выводе строки если в этой колонке значение у строки есть то оформлением менять цвет фона. Но без данных то для новой колонки записать туда ничего не получается! Вроде не сложно должно быть ума не преложу как сделать! Помогите плиз! |
|||
1
Valiant
12.04.12
✎
22:50
|
Плохо объяснил ?
|
|||
2
Dethmont
12.04.12
✎
22:55
|
По какому условию то она должна окрашиваться?
|
|||
3
Valiant
12.04.12
✎
22:59
|
Ну например:
Процедура ТоварыПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки) Если ДанныеСтроки.Окрашивать тогда ОформлениеСтроки................. КонецЕсли; КонецПроцедуры // ТоварыПриВыводеСтроки() Сложность в том что в ДанныеСтроки нету колонки "Окрашивать" которую я в ручную добавил на форму в "Товары" |
|||
4
Valiant
12.04.12
✎
23:00
|
Так как данные в колонке пустые
|
|||
5
Конфигуратор1с
12.04.12
✎
23:01
|
(4)так присвоить нужно значение. А вообще оформление строки попробовать
|
|||
6
Valiant
12.04.12
✎
23:02
|
Заполнен только "ЭлементУправления" в конфигураторе. Плохо обясняю щас есчо раз по пунктам объясню
|
|||
7
Valiant
12.04.12
✎
23:03
|
Есто у документа табличная часть "Товары"
|
|||
8
Valiant
12.04.12
✎
23:03
|
На форме есть табличное поле "Товары"
|
|||
9
Valiant
12.04.12
✎
23:04
|
Соответствующее табличной части
|
|||
10
Valiant
12.04.12
✎
23:04
|
Я руками добавляю колонку "Окрашивать"
|
|||
11
Valiant
12.04.12
✎
23:05
|
Ставлю ЭлементУправления = ПолеВвода в конфигураторе
|
|||
12
le_
12.04.12
✎
23:05
|
(10) Зачем?
|
|||
13
Valiant
12.04.12
✎
23:06
|
Данные и ДанныеФлажка пустые так как соответствия из табличной части нету, я бы тогда просто размещение данных бы сделал
|
|||
14
Valiant
12.04.12
✎
23:06
|
Что бы туда что нибудь записывать когда нажимаю на кнопку
|
|||
15
Valiant
12.04.12
✎
23:06
|
потом при выводе строки смотреть если записано то окрашивать
|
|||
16
le_
12.04.12
✎
23:06
|
(14) Зачем?
|
|||
17
Valiant
12.04.12
✎
23:07
|
но не записывать не считывать не получается
|
|||
18
Dethmont
12.04.12
✎
23:07
|
Вопрос??????? КАК ТЫ заполняешь значение окрашивать?
|
|||
19
Valiant
12.04.12
✎
23:07
|
В том то и вопрос, что не получается заполнять )
|
|||
20
Valiant
12.04.12
✎
23:08
|
Хоть через текущую чтроку хоть через текущие данные
|
|||
21
le_
12.04.12
✎
23:08
|
Процедура ТоварыПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
Без всяких доп. колонок. |
|||
22
vs7719
12.04.12
✎
23:08
|
Так не получится. Нужно либо добавлять реквизит в структуру документа, либо условие окрашивания должно основываться на данных в строке.
|
|||
23
Dethmont
12.04.12
✎
23:09
|
Если чтоТоТам = ЧемуТоТам Тогда
Строка.Окрашивать = Истина; КонецЕсли; Ты же примерно вот так это собрался делать? |
|||
24
Valiant
12.04.12
✎
23:09
|
да
|
|||
25
Dethmont
12.04.12
✎
23:10
|
(21) только вот это написать хотел )
|
|||
26
Dethmont
12.04.12
✎
23:10
|
(21) ТОЖЕ САМОЕ
|
|||
27
Valiant
12.04.12
✎
23:11
|
мне надо окрашивать активную строку табличной части если пользователь нажал на форме кнопку, как сделать ?
|
|||
28
Valiant
12.04.12
✎
23:12
|
я решил добавить колонку и изменять в ней значение в текущей строке, а потом при выводе смотреть если изменено то окрашивать
|
|||
29
le_
12.04.12
✎
23:12
|
(27) Если ДанныеСтроки.НомерСтроки = ЭлементыФормы.Товары.ТекущаяСтрока.НомерСтроки Тогда
|
|||
30
Dethmont
12.04.12
✎
23:12
|
Массив.Добавить(ЭлементыФормы.ТЧ.ТекущиеДанные.НомерСтроки);
Процедура ТоварыПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки) Если Массив.Найти(ДанныеСтроки.НомерСтроки) <> Неопределено Тогда//тут может быть любое условие ОформлениеСтроки................. КонецЕсли; |
|||
31
Dethmont
12.04.12
✎
23:13
|
(27) Или так
|
|||
32
le_
12.04.12
✎
23:14
|
(28) Заноси в переменную номер тек. строки и проверяй ДанныеСтроки.НомерСтроки в ПриВыводеСтроки.
|
|||
33
Valiant
12.04.12
✎
23:15
|
(29) мне надо и "старые текущие" запоминать и выводить с фоном типа как в (30), а не только текущую, но в (30) надо учесть что пользователь может и добавить строку например в начале и индекс сдвинется
|
|||
34
Valiant
12.04.12
✎
23:15
|
(32) он ведь только текущую каждый раз будет окрашивать ?
|
|||
35
Valiant
12.04.12
✎
23:16
|
хотя
|
|||
36
Valiant
12.04.12
✎
23:16
|
если у остальных фон не обнулит то почему нет ) щас попробую
|
|||
37
jsmith
12.04.12
✎
23:16
|
а нахрена окрашивать-то
надо окрашивать несколько строк, я так понимаю? |
|||
38
jsmith
12.04.12
✎
23:17
|
а потом кнопка типа "Обработать выделенные"
|
|||
39
le_
12.04.12
✎
23:17
|
(33) А зачем это вообще нужно?
|
|||
40
Valiant
12.04.12
✎
23:20
|
(37) да надо несколько окрашенных, а точнее те на которых пользователь стоял и нажимал кнопку(СоздатьВнутрШК), что бы если он сходит покурить и вернется видел какие строки он уже обработал
|
|||
41
Valiant
12.04.12
✎
23:20
|
какой товар оприходавал и наклеил ШК
|
|||
42
Valiant
12.04.12
✎
23:20
|
а какой еще нет
|
|||
43
le_
12.04.12
✎
23:25
|
Вариант (30), наверное, подойдет. Только не НомерСтроки заносить, а Номенклатуру.
|
|||
44
Valiant
12.04.12
✎
23:27
|
(43) кстати да я тоже про номенклатуру не подумал )
|
|||
45
jsmith
12.04.12
✎
23:28
|
а как обработчик при выводе вызвать
|
|||
46
Valiant
12.04.12
✎
23:28
|
(29) он не запоминает все равно при обновлении старые фоны, перерисовывает на текущую строку, не идет в общем
|
|||
47
le_
12.04.12
✎
23:29
|
(46) (29) Не подойдет. См. (30).
|
|||
48
Valiant
12.04.12
✎
23:30
|
при нажатии на кнопку запомнил номенклатуру тек строки в массив, потом при выводе строки 1с-как перебирая все строки будет искать её в нашем массиве и если нашел рисовать фон, должно прокатить
|
|||
49
Valiant
12.04.12
✎
23:31
|
тупа искать в запомненом и вообще не смотреть на текущие строки
|
|||
50
Valiant
12.04.12
✎
23:33
|
всем большое спасиба за идею с массивом номенклатуры, я бы полночи еще пытался записывать/считывать табличную часть )
|
|||
51
jsmith
12.04.12
✎
23:35
|
я вот такую хрень замутил, но текст почему-то пропадает
Процедура ПриОткрытии() ЭлементыФормы.ТС.Колонки.Добавить("Икс"); ЭлементыФормы.ТС.Колонки.Икс.Видимость = Ложь; КонецПроцедуры Процедура КоманднаяПанель1Окрасить(Кнопка) Строка = ЭлементыФормы.ТС.ТекущиеДанные; ОФ = ЭлементыФормы.ТС.ОформлениеСтроки(Строка); ОФ.Ячейки.Икс.УстановитьТекст("Окрашено"); ЭлементыФормы.тс.ОбновитьСтроки(); КонецПроцедуры Процедура ТСПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки) Если ОформлениеСтроки.Ячейки.Икс.Текст = "Окрашено" Тогда ОформлениеСтроки.ЦветФона = Новый Цвет(1,1,1); КонецЕсли; КонецПроцедуры |
|||
52
le_
12.04.12
✎
23:38
|
(45) Не потребуется. Оно само вызовется при нажатии на кнопку.
|
|||
53
jsmith
12.04.12
✎
23:38
|
(52) а у меня не вызывается..
|
|||
54
jsmith
12.04.12
✎
23:39
|
только если через ОбновитьСтроки()
|
|||
55
jsmith
12.04.12
✎
23:39
|
давно толстое приложение не троллил, забыл уже всё
|
|||
56
Valiant
12.04.12
✎
23:45
|
Строка = ЭлементыФормы.ТС.ТекущиеДанные;
ОФ = ЭлементыФормы.ТС.ОформлениеСтроки(Строка); ОФ.Ячейки.Икс.УстановитьТекст("Окрашено"); я что то и не думал что так можно, привык что к ОформлениеСтроки только ПриВыводеСтроки есть доступ в обычных формах |
|||
57
jsmith
12.04.12
✎
23:47
|
в типовых раньше была обработка Корректировка движений, вернее она и щас есть, но там вот динамически создавались колонки и заполнялись
|
|||
58
le_
12.04.12
✎
23:49
|
(53) Попробовал - если кнопка в панели над ТП, не обновляется, если в другом месте формы - обновляется...
(51) Пропадает, видимо, потому, что в данных его нет, только в оформлении, которое до след. вывода строки остается. (57) Там у колонок данные есть. |
|||
59
Valiant
12.04.12
✎
23:50
|
Конечный вариант, если кому вдруг пригодится:
Перем Массив; Процедура СоздатьВернутьШК(Кнопка) ........ Массив.Добавить(ЭлементыФормы.Товары.ТекущиеДанные.Номенклатура); ЭтаФорма.Обновить(); КонецПроцедуры Процедура ТоварыПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки) ....... Если (Массив.Найти(ДанныеСтроки.Номенклатура) <> Неопределено) тогда ОформлениеСтроки.Ячейки.Номенклатура.ЦветФона = WebЦвета.Красный; КонецЕсли; КонецПроцедуры // ТоварыПриВыводеСтроки() Массив = Новый Массив; |
|||
60
Valiant
12.04.12
✎
23:52
|
(57) да, были бы данные было бы где хранить факт окраски
|
|||
61
lex-kex
12.04.12
✎
23:55
|
(60) а сравнить цвет фона нельзя, чтобы определить окрашен он или нет?
|
|||
62
lex-kex
13.04.12
✎
00:00
|
Процедура ТабличноеПоле1ПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
Если ОформлениеСтроки.ЦветФона = Новый Цвет тогда Сообщить("Строка не окрашена"); КонецЕсли; КонецПроцедуры |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |