|   |   | 
| 
 | Как выделить строку через выполнение условия? | ☑ | ||
|---|---|---|---|---|
| 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) можете пример привести, чтобы я легче понял?     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |