|   |   | 
| 
 | Как выделить строку в таблице на форме? | ☑ | ||
|---|---|---|---|---|
| 0
    
        Александр111 22.04.24✎ 09:31 | 
        В документе есть Объект.Маршрут - элемент справочника маршруты, у которого есть табличная часть. Эта табличная часть выводится на форму Элементы.МаршрутМаршрут
 Нужно установить (подсветить) заданную строку из таблицы МаршрутМаршрут. Так не получается: &НаСервере Функция ОпределитьЭтапМаршрута(НомерСтроки) НужнаяСтрока=Объект.Маршрут.Маршрут[НомерСтроки]; Возврат(НужнаяСтрока); КонецФункции на клиенте ЭтаФорма.Элементы.МаршрутМаршрут.ТекущаяСтрока=ОпределитьЭтапМаршрута(1).ПолучитьИдентификатор(); Как правильно? | |||
| 1
    
        Волшебник 22.04.24✎ 09:34 | 
        Правильно будет МаршрутМаршрутМаршрут     | |||
| 2
    
        Александр111 22.04.24✎ 09:37 | 
        хоть горшком назови,     | |||
| 3
    
        Александр111 22.04.24✎ 10:15 | 
        &НаСервере
 Процедура ОпределитьЭтапМаршрута(НомерСтроки) СтрокаКоллекции=Объект.Маршрут.Маршрут.Получить(НомерСтроки); Элементы.МаршрутМаршрут.ТекущаяСтрока = СтрокаКоллекции.ПолучитьИдентификатор(); КонецПроцедуры Выдает ошибку в ПолучитьИдентификатор(); | |||
| 4
    
        yopQua 22.04.24✎ 10:21 | 
        (0) на клиенте
 Новая = Объект.Маршрут.Добавить(); Элементы.Маршрут.ТекущаяСтрока = Новая.ПолучитьИдентификатор(); | |||
| 5
    
        Волшебник 22.04.24✎ 10:22 | 
        (3) Какую ошибку?     | |||
| 6
    
        Ёпрст 22.04.24✎ 10:23 | 
        (0) 
 подсвечивай условным оформлением формы. | |||
| 7
    
        Александр111 22.04.24✎ 10:27 | 
        (4) - Объект.Маршрут - Объект.Маршрут - элемент справочника маршруты, соответственно на клиенте не добавишь     | |||
| 8
    
        Александр111 22.04.24✎ 10:30 | 
        (6) - условным можно, но хотелось проще.     | |||
| 9
    
        Александр111 22.04.24✎ 10:31 | 
        (5) Метод объекта не обнаружен (ПолучитьИдентификатор)
 {Документ._ДемоРеализацияТоваров.Форма.ФормаДокумента.Форма(64)}:Элементы.МаршрутМаршрут.ТекущаяСтрока = СтрокаКоллекции.ПолучитьИдентификатор(); {Документ._ДемоРеализацияТоваров.Форма.ФормаДокумента.Форма(78)}:ОпределитьЭтапМаршрута(1); [ОшибкаВоВремяВыполненияВстроенногоЯзыка, ОшибкаИспользованияВстроенногоЯзыка] | |||
| 10
    
        yopQua 22.04.24✎ 10:31 | 
        (7) это пример, новая - это строка коллекцииформы, получите ее как хотите
 ответьте (5) | |||
| 11
    
        yopQua 22.04.24✎ 10:33 | 
        .получить() принимает индекс, у вас "1", там больше одной строки?     | |||
| 12
    
        Александр111 22.04.24✎ 10:36 | 
        (11) Да     | |||
| 13
    
        yopQua 22.04.24✎ 10:38 | 
        косяк в названиях переменных может быть, ищите отладчиком, должно работать     | |||
| 14
    
        Александр111 22.04.24✎ 10:43 | 
        &НаСервере
 Процедура ОпределитьЭтапМаршрута(ЭтотОбъект) СтрокаКоллекции=ЭтотОбъект.Объект.Маршрут.Маршрут.Получить(1); Элементы.МаршрутМаршрут.ТекущаяСтрока = СтрокаКоллекции.ПолучитьИдентификатор(); КонецПроцедуры &НаКлиенте Процедура ПриОткрытии(Отказ) ОпределитьЭтапМаршрута(ЭтотОбъект); // КонецЕсли; //ементы.МаршрутМаршрут.ТекущаяСтрока=Элементы.МаршрутМаршрут.ПолучитьндартныеПодсистемы.ПодключаемыеКоманды ПодключаемыеКомандыКлиент.НачатьОбновлениеКоманд(ЭтотОбъект); // Конец СтандартныеПодсистемы.ПодключаемыеКоманды КонецПроцедуры Ошибка Отсутствует отображение для типа 'ФормаКлиентскогоПриложения' по причине: Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа. по причине: Ошибка преобразования данных XDTO: Запись значения свойства 'param': форма: Элемент имя: {http://v8.1c.ru/8.2/managed-application/modules}param по причине: Ошибка отображения типов: Отсутствует отображение для типа 'ФормаКлиентскогоПриложения' | |||
| 15
    
        Александр111 22.04.24✎ 10:50 | 
        Видимо придется создавать к элементу формы еще и реквизит, т.к. связать строку табличной части реквизита со строкой элемента формы не получается.     | |||
| 16
    
        Александр111 22.04.24✎ 10:52 | ||||
| 17
    
        yopQua 22.04.24✎ 10:56 | 
        что за лажа?
 ДанныеФормыКоллекция (FormDataCollection) Получить (Get) Синтаксис: Получить(<Индекс>) Параметры: <Индекс> (необязательный) Тип: Число. Расположение элемента в коллекции. Возвращаемое значение: Тип: ДанныеФормыЭлементКоллекции. Описание: Получает элемент по индексу. Работает аналогично оператору []. Доступность: Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер. | |||
| 18
    
        Александр111 22.04.24✎ 11:07 | 
        (17) -?     | |||
| 19
    
        Ёпрст 22.04.24✎ 11:56 | 
        (8) Зачем тогда привязываться к "номеруСтроки" ?
 Если строк нет, например , где это в коде ? | |||
| 20
    
        Александр111 22.04.24✎ 13:05 | 
        Вот так работает:
 &НаСервере Процедура ОпределитьЭтапМаршрута() ЗначениеВРеквизитФормы(Объект.Маршрут.Маршрут.Выгрузить(),"ТабМ"); СтрокаКоллекции=ТабМ.Получить(1); Элементы.ТабМаршрут.ТекущаяСтрока = СтрокаКоллекции.ПолучитьИдентификатор(); КонецПроцедуры | |||
| 21
    
        Волшебник 22.04.24✎ 13:13 | 
        (20) Первая строка имеет индекс 0     | |||
| 22
    
        Александр111 22.04.24✎ 13:19 | 
        Нужно получить вторую.     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |