|
Активировать строку УФ | ☑ | ||
---|---|---|---|---|
0
Альбатрос
31.07.17
✎
09:54
|
ТаблицаДокументов это реквизит формы типа ТаблицаЗначений. Я по ШК определяю документ, мне нужно на форме спозиционироватьлся на строке с этим документом. Не ДС, заполняется результатом СКД.
&НаКлиенте Процедура ОбработатьШтрихкоды(Данные) МассивСсылок = СсылкаНаЭлементСпискаПоШтрихкоду(Данные.Штрихкод); Если МассивСсылок.Количество() > 0 Тогда Элементы.ТаблицаДокументов.ТекущаяСтрока = //как сюда определить нужную мне строку? //ОткрытьЗначение(МассивСсылок[0]); Иначе ШтрихкодированиеПечатныхФормКлиент.ОбъектНеНайден(Данные.Штрихкод); КонецЕсли; КонецПроцедуры |
|||
1
Альбатрос
31.07.17
✎
09:55
|
То есть МассивСсылок[0] содержит ссылку на документ, в ТаблицеДокументов соответственно есть поле с этим документом
|
|||
2
Fram
31.07.17
✎
09:56
|
(0) Номер строки вроде нужен
|
|||
3
Numerus Mikhail
31.07.17
✎
10:01
|
(1)
как-то так Строки = ТвояТаблицаНаФорме.НайтиСтроки(Новый Структура("ТвояКолонка", ТвояСсылка)); Если Строки.Количество() > 0 Тогда НужнаяСтрока = Строки[0]; Индекс = ТвояТаблицаНаФорме.Индекс(НужнаяСтрока); Элементы.ТвояТаблицаНаФорме.ТекущаяСтрока = Индекс; КонецЕсли; |
|||
4
Fram
31.07.17
✎
10:02
|
(2)+ пардон. индекс, конечно
|
|||
5
Альбатрос
31.07.17
✎
10:06
|
(3) Спасибо, то, что надо.
|
|||
6
Альбатрос
31.07.17
✎
12:06
|
Чтоб темы не плодить.
Проблема следующая, у меня с индексами элемента формы хрень какая-то происходит. При первичном заполнении данных все ок, а вот если в открытой обработке еще раз заполнить мою ТЗ индекс элемента начинается не с 0, а с последней строки предыдущих данных. Чтоб понятней: Количество строк отбтраемых данных = 500. При первом заполнении, если ткнуть на первую строку в форме, то: Элементы.ТаблицаДокументов.ТекущаяСтрока = 0, что правильно. при последующих заполнениях, если ткнуть на первую строку, то Элементы.ТаблицаДокументов.ТекущаяСтрока = 500. С чего вдруг? |
|||
7
DmitrO
31.07.17
✎
12:13
|
(6)потому что не индекс, а идентификатор строки надо устанавливать в свойство ТекущаяСтрока.
Будь готов что на форуме могут запросто сказать не правду. |
|||
8
Basilio
31.07.17
✎
12:14
|
Индекс с 0 начинаться не должен. Это просто идентификатор, по которому можно к конкретной строке обратиться.
|
|||
9
dezss
31.07.17
✎
12:17
|
(3) Элементы.ТвояТаблицаНаФорме.ТекущаяСтрока = Строки[0];
|
|||
10
Basilio
31.07.17
✎
12:19
|
Вот так попробуй:
Элементы.ТаблицаДокументов.ТекущаяСтрока = ТаблицаДокументов.Найти(СслыкаНаДокумент, "Документ"); |
|||
11
Альбатрос
31.07.17
✎
12:21
|
(7) А как его получить, идентификатор этот?
|
|||
12
Fedor-1971
31.07.17
✎
12:22
|
(6) с того, что системе как-то нужно идентифицировать строки и номер строки как-бы самый простой вариант
(8) Вот это выдал стране угля. Индекс начинается с 0, а идентификатор строки нет. Индекс = ТвояТаблицаНаФорме.Индекс(НужнаяСтрока); измени строку на вот такую Индекс = ТвояТаблицаНаФорме.ПолучитьИдентификатор(НужнаяСтрока); |
|||
13
Альбатрос
31.07.17
✎
12:24
|
(12) {ВнешняяОбработка.ПроверкаПервички.Форма.Форма.Форма(192)}: Метод объекта не обнаружен (ПолучитьИдентификатор)
Индекс = ТаблицаДокументов.ПолучитьИдентификатор(НужнаяСтрока[0]); |
|||
14
Альбатрос
31.07.17
✎
12:24
|
в текущем варианте:
&НаКлиенте Процедура ОбработатьШтрихкоды(Данные) МассивСсылок = СсылкаНаЭлементСпискаПоШтрихкоду(Данные.Штрихкод); Если МассивСсылок.Количество() > 0 Тогда НужнаяСтрока = ТаблицаДокументов.НайтиСтроки(Новый Структура("ДокументОтгрузки",МассивСсылок[0])); Если НужнаяСТрока.Количество() = 0 тогда Сообщить("В текущем списке не найден документ: "+МассивСсылок[0]+". Возможно он не проходит по отборам."); Возврат; КонецЕсли; Индекс = ТаблицаДокументов.ПолучитьИдентификатор(НужнаяСтрока[0]); Элементы.ТаблицаДокументов.ТекущаяСтрока = Индекс; Иначе ШтрихкодированиеПечатныхФормКлиент.ОбъектНеНайден(Данные.Штрихкод); КонецЕсли; КонецПроцедуры |
|||
15
Numerus Mikhail
31.07.17
✎
12:25
|
(9) Неверно. Нужно указывать числовой идентификатор
(10) тоже неверно. Вообще упадет с ошибкой по моим подсчетам. я что-то тупанул с индексом, да (12) ПолучитьИдентификатор - это метод строки, а не таблицы |
|||
16
Numerus Mikhail
31.07.17
✎
12:26
|
(14) Индекс = НужнаяСтрока[0].ПолучитьИдентификатор();
попробуй так |
|||
17
Fedor-1971
31.07.17
✎
12:27
|
так пробуй:
Элементы.ТаблицаДокументов.ПолучитьИдентификатор(НужнаяСтрока[0]) |
|||
18
Альбатрос
31.07.17
✎
12:30
|
(16) Да, вот так работает. Спасибо.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |