|
Как выделить строку через выполнение условия? | ☑ | ||
---|---|---|---|---|
0
Maratuster
27.07.15
✎
10:08
|
Всем привет. Люди добрые, подскажите какой код нужно использовать, чтобы при определенных условиях выделялась строка документа.
Ситуация такая: есть форма, на форме ТЧ. Прописал для ТЧ код - появилась колонка с возможностью выставить флажок. Когда ставлю флажок, выделяется строка. Но, при установке нескольких флажков - выделяется только последняя отмеченная строка. Подскажите, что нужно прописать, чтобы при установке флажка строка выделялась (или несколько строк). |
|||
1
НЕА123
27.07.15
✎
10:14
|
ПриВыводеСтроки, ПриПолцченииДанных
? |
|||
2
Maratuster
27.07.15
✎
10:25
|
(1) при получении. А вообще - при изменении флажка должно. Там даже событие есть такое ПриИзмененииФлажка. Мне сам оператор интересен
|
|||
3
DrShust
27.07.15
✎
10:29
|
(0) В условном оформлении формы не пойдёт?
|
|||
4
palpetrovich
27.07.15
✎
10:29
|
(2) какой оператор? ...Уф, неУФ?
|
|||
5
НЕА123
27.07.15
✎
10:57
|
режимВыделения?
|
|||
6
Maratuster
27.07.15
✎
10:58
|
(3) Как вариант рассмотреть можно. Я еще учусь, поэтому возникаю такие не состыковки.
|
|||
7
Maratuster
27.07.15
✎
10:59
|
(4) Форма обычная, не УФ.
|
|||
8
Maratuster
27.07.15
✎
10:59
|
(5) множественный
|
|||
9
НЕА123
27.07.15
✎
11:00
|
ВыделенныеСтроки?
|
|||
10
Maratuster
27.07.15
✎
11:02
|
(9) Поясните, не совсем понял.
|
|||
11
lxndr
27.07.15
✎
11:03
|
(0) ктрл + клац
|
|||
12
Maratuster
27.07.15
✎
11:04
|
(11) установка флажка. Могу код скинуть, если проблема в нем, то хоть это узнаю
|
|||
13
Maratuster
27.07.15
✎
11:30
|
Люди, тема еще открыта. Помогите советом...
|
|||
14
palpetrovich
27.07.15
✎
12:04
|
(13) ну, ежели "Форма обычная, не УФ", можно так:
Процедура СписокПриПолученииДанных(Элемент, ОформленияСтрок) Для Каждого ЭлементОформления Из ОформленияСтрок Цикл Если ТвоеУсловиеИстина Тогда ЭлементОформления.ЦветФона = WebЦвета.НейтральноЗеленый; Иначе ЭлементОформления.ЦветФона = WebЦвета.Белый; КонецЕсли; КонецЦикла; КонецПроцедуры только Процедуру СписокПриПолученииДанных "привяжи" к форме, а не просто скопируй отсюда ...ну или код туда всавь , если она уже есть |
|||
15
Zhuravlik
27.07.15
✎
12:11
|
(0) нужно просто выделить строку цветом, или именно выделить (т.е. при нажатии на del выделенные строки удалятся)?
|
|||
16
Maratuster
27.07.15
✎
12:13
|
(15) Именно выделить. Если я их через ctrl+клик выделяется все (выделение цветом у меня установлено). Мне Нужно, чтобы они именно выбирались для дальнейшей их обработки
|
|||
17
Фокусник
27.07.15
✎
12:28
|
(14)+ красить в белый не обязательно, т.к. по умолчанию он и так белый.
|
|||
18
Zhuravlik
27.07.15
✎
12:29
|
(16) имхо, штатно этого сделать нельзя. Но можно эмулировать нажатие клавиш скриптом vbs. Т.е.
1) Установка активности для строки ТП (тоже вопрос...) 2) выполнение скрипта На 77 делал нечто подобное, с ТП от 1С++ |
|||
19
Zhuravlik
27.07.15
✎
12:31
|
(19) ерунду сморозил. Если скрипт нажимает Ctrl + Click, то он и делает ее активной...
|
|||
20
Zhuravlik
27.07.15
✎
12:34
|
Сначала делаем активным само ТП, берем отсортированный массив номеров строк, далее в цикле:
1) Переход по клавише "Стрелка вниз" к нужной строке 2) Ctrl + Click как-то так. Пример самого скрипта гуглится |
|||
21
Maratuster
27.07.15
✎
13:20
|
(20) Спасибо. Скрипт поищу. Отпишусь о результате, как проверю
|
|||
22
НЕА123
27.07.15
✎
13:28
|
(10)
СП ТабличноеПоле (TableBox) ВыделенныеСтроки (SelectedRows) Использование: Только чтение. Описание: Тип: ВыделенныеСтрокиТабличногоПоля. Содержит коллекцию выделенных строк табличного поля. Доступность: Толстый клиент. |
|||
23
Maratuster
28.07.15
✎
06:43
|
(22) Прописывал условие, что если выделенных строк более 1, тогда кнопка доступна. Не работает
|
|||
24
Адинэснег
28.07.15
✎
08:04
|
Для Каждого СтрОф Из ОформленияСтрок Цикл
Если СтрОф.ДанныеСтроки.фл Тогда СтрОф.ЦветФона = Новый Цвет(255,0,0) КонецЕсли; КонецЦикла; |
|||
25
Maratuster
28.07.15
✎
08:53
|
(24) Пишет, что переменная "ОформленияСтрок" не определена. Хотя выше используется эта переменная
|
|||
26
Maratuster
28.07.15
✎
08:57
|
(25) Сделал ее глобальной переменной - больше не ругается. (24) не работает код
|
|||
27
hhhh
28.07.15
✎
09:09
|
(26) ОформленияСтрок сделал глобальной переменной?!?!?
|
|||
28
1Сергей
28.07.15
✎
09:13
|
Maratuster, как ты себе представляешь как это будет работать?
Тебе нужно чтобы определенные строки при определенных условиях ВСЕГДА были выделены? Тогда пользователь просто не сможет редактировать Табличную часть. |
|||
29
Chameleon1980
28.07.15
✎
09:18
|
(27) тоже улыбнуло
(25) в событии тп ПриПолученииДанных смотри переменные |
|||
30
Lexey_
28.07.15
✎
09:26
|
(26) молодец, выкрутился))а еще можно закомментировать, тоже ругаться не будет)
|
|||
31
Maratuster
28.07.15
✎
10:23
|
(28) Мне нужно, чтобы при установки флажка выделялся документ(то есть вся строка). Соответственно, если документов выделяю более 1, то выделяться должны все. Это, например, для переноса данных их документа в ТЧ другого документа.
А у меня получается, что при установке нескольких флажков, выделяется только тот документ, который я последним отмечал. |
|||
32
1Сергей
28.07.15
✎
11:10
|
(31) для этого достаточно только флажков. Нет надобности выделять строки
|
|||
33
Maratuster
28.07.15
✎
11:25
|
(32) Если бы так и было, я бы не просил помощи. Мне не суть важно, чтобы цветом выделялась строка. Мне главное, чтобы документ при установке флажка выбирался.
|
|||
34
Maratuster
30.07.15
✎
06:18
|
Начну с самого начала, чтобы понятнее было.
В документе "АктОбОказанииПроизводственныхУслух" на вкладке материалы есть подменю "Заполнить". По заданию мне надо добавить в это подменю кнопку заполнить по требованиям-накладным. При нажатии на нее должен выходить список документов "ТребованиеНакладная", и при выборе документов значение ТЧ вкладки Материалы заполняется из значений документов. Так вот, документы "ТребованиеНакладная" необходимо выделять флажком, то есть, выбрал 2 и более документов - ТЧ заполнилась значениями из них. А У меня получается, что я выделяю 2 и более, а значение переносится только из того документа, который я последним выделил. |
|||
35
1Сергей
30.07.15
✎
06:25
|
(34) Значит ты не правильно написал процедуру, которая вызывается по твоей кнопке Заполнить
|
|||
36
Maratuster
30.07.15
✎
06:34
|
(35) Процедура КоманднаяПанельМатериалыЗаполнитьПоТН(Кнопка)
ФормаВыбора = Документы.ТребованиеНакладная.ПолучитьФормуВыбора(,, ЭтотОбъект); Если ЗначениеЗаполнено(Организация) Тогда Отбор = ФормаВыбора.Отбор.Организация; Отбор.ВидСравнения = ВидСравнения.Равно; Отбор.Значение = Организация; Отбор.Использование = Истина; ФормаВыбора.ЭлементыФормы.ДокументСписок.НастройкаОтбора.Организация.Доступность = Ложь; КонецЕсли; Если ОтражатьВУправленческомУчете И ЗначениеЗаполнено(Подразделение) Тогда Отбор = ФормаВыбора.Отбор.Подразделение; Отбор.ВидСравнения = ВидСравнения.Равно; Отбор.Значение = Подразделение; Отбор.Использование = Истина; КонецЕсли; Если ОтражатьВБухгалтерскомУчете И ЗначениеЗаполнено(ПодразделениеОрганизации) Тогда Отбор = ФормаВыбора.Отбор.ПодразделениеОрганизации; Отбор.ВидСравнения = ВидСравнения.Равно; Отбор.Значение = ПодразделениеОрганизации; Отбор.Использование = Истина; КонецЕсли; ФормаВыбора.РежимВыбора = Истина; ДокТН = ФормаВыбора.ОткрытьМодально(); ФормаВыбора.МножественныйВыбор = Истина; Если НЕ ЗначениеЗаполнено(ДокТН) Тогда Возврат; КонецЕсли; Для Каждого СтрокаТЧ Из ДокТН.Материалы Цикл НоваяСтрока = Материалы.Добавить(); ЗаполнитьЗначенияСвойств( НоваяСтрока, СтрокаТЧ); КонецЦикла; КонецПроцедуры |
|||
37
Maratuster
30.07.15
✎
06:36
|
(35) Процедура аналогична процедуре из кнопки "ДобавитьПоТребованиямНакладным".
|
|||
38
Maratuster
04.08.15
✎
10:22
|
Мне тут подсказали, что можно сделать через цикл. То есть, сравниваем содержание ТЧ основного документа и содержание ТЧ других документов. При совпадении значений документ в форме выбора выделяется цветом и галочкой.
В связи с этим у меня вопрос: каким оператором пользоваться? |
|||
39
Maratuster
04.08.15
✎
10:23
|
(36) кстати, код убрал. Просто добавил колонку на форме
|
|||
40
hhhh
04.08.15
✎
11:15
|
(38) просто пользуйся типовым подбором. А все эти свои измышления выкинь.
|
|||
41
Maratuster
04.08.15
✎
12:41
|
(40) можете пример привести, чтобы я легче понял?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |