Имя: Пароль:
1C
1С v8
Программно установить текущую строку.
0 Maikroft
 
09.07.18
15:08
Добрый день.

Помогите с небольшой задачкой, не могу победить код. Дано:
Табличная часть ДниНедели, заполняющаяся при открытии перечислением ДниНедели. Далее посредством отдельной формы выбираем нужный день - и после закрытия этой формы на основной надо установить текущие данные по отбору. По сути вот код, где в Параметр попадает нужный день недели, но так не работает.
ПараметрыОтбора = Новый Структура;
ПараметрыОтбора.Вставить("ДеньНедели", Параметр);
НужнаяСтрока = Объект.ДниНедели.НайтиСтроки(ПараметрыОтбора);
Элементы.ДниНедели.ТекущаяСтрока = НужнаяСтрока;
1 DrShad
 
09.07.18
15:10
строка ТЧ объекта <> строка табличного поля формы
2 Lexey_
 
09.07.18
15:10
(0) НайтиСтроки возвращает массив
3 Maikroft
 
09.07.18
15:27
Да, НайтиСтроки возвращает массив, получается, мне в цикле надо перебрать ТЧ ДниНедели и выбрать нужную строку? А проще никак?..
4 Михаил Козлов
 
09.07.18
15:31
(3) Можете взять первый элемент массива (индекс = 0, если массив не пустой).
5 _Дайвер_
 
09.07.18
15:32
(4) + потом через представление элемента найти нужную строку тч
6 Maikroft
 
09.07.18
15:33
Вариант, попробую.
7 Timon1405
 
09.07.18
15:53
НужнаяСтрока = Объект.ДниНедели.НайтиСтроки(ПараметрыОтбора)[0];
//Элементы.ДниНедели.ТекущаяСтрока = НужнаяСтрока;
ИндексСтроки = Объект.ДниНедели.Индекс(НужнаяСтрока);
СтрокаКоллекции = Объект.ДниНедели.Получить(ИндексСтроки);
Элементы.ДниНедели.ТекущаяСтрока = СтрокаКоллекции.ПолучитьИдентификатор();
8 Maikroft
 
09.07.18
16:44
Спасибо!
9 Малыш Джон
 
09.07.18
16:50
(7) мсье знает толк в извращениях)

СтрокаКоллекции = Объект.ДниНедели.НайтиСтроки(ПараметрыОтбора)[0];
Элементы.ДниНедели.ТекущаяСтрока = СтрокаКоллекции.ПолучитьИдентификатор();
AdBlock убивает бесплатный контент. 1Сергей