Добрый день.
Забуксовал на пустом месте.
При выборе значения реквизита открывается форма с динамическим списком. Если реквизит уже заполнен, надо чтобы его значение передавалось в текущую строку в динамическом списке. (в приобретении услуг и прочих активов при выборе реализации надо чтобы, если реализация заполнена, она же становилась текущей, а не уезжало в начало списка)

пытался сделать по простому

```1c
    ОткрытьФорму("ОбщаяФорма.ВыборАналитикиРасходов",Новый Структура("ТекущаяСтрока",ТутСсылкаНаРеализацию) , Элемент);
```

не работает. Думаю это связано с тем, что основная таблица динамического списка РегистрСведений.РеестрДокументов, а не Документ.РеализацияТоваровУслуг.

В отладчике ТекущаяСтрока имеет тип РегистрСведенийКлючЗаписи.РеестрДокументов. Если передаю ключ записи регистра сведений вместо ссылки на реализацию, тоже ничего не получается.
---
```1c
    КлючЗаписи=ПолучитьКлючЗаписи(Штрихкод);
    Форма=ОткрытьФорму("РегистрСведений.Штрихкоды.ФормаСписка",,ЭтаФорма,,,,,РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
    Если КлючЗаписи<>Неопределено Тогда
    Форма.Элементы.Список.ТекущаяСтрока=КлючЗаписи;
    КонецЕсли;
    КонецПроцедуры

    &НаСервереБезКонтекста
    Функция ПолучитьКлючЗаписи(Штрихкод)
    Запрос=Новый Запрос;
    Запрос.УстановитьПараметр("Штрихкод",Штрихкод);
    Запрос.Текст="ВЫБРАТЬ
    | Штрихкоды.Штрихкод КАК Штрихкод,
    | Штрихкоды.Владелец КАК Владелец,
    | Штрихкоды.Характеристика КАК Характеристика,
    | Штрихкоды.Упаковка КАК Упаковка,
    | Штрихкоды.ТипШтрихкода КАК ТипШтрихкода
    |ИЗ
    | РегистрСведений.Штрихкоды КАК Штрихкоды
    |ГДЕ
    | Штрихкоды.Штрихкод = &Штрихкод";
    Выборка=Запрос.Выполнить().Выбрать();
    КлючЗаписи=Неопределено;
    Если Выборка.Следующий() Тогда
    СтруктураКлюча=Новый Структура("Штрихкод,Владелец,Характеристика,Упаковка,ТипШтрихкода");
    ЗаполнитьЗначенияСвойств(СтруктураКлюча,Выборка);
    КлючЗаписи=РегистрыСведений.Штрихкоды.СоздатьКлючЗаписи(СтруктураКлюча);
    КонецЕсли;
    Возврат КлючЗаписи;
    КонецФункции
```
---
```1c
    КлючЗаписи=ПолучитьКлючЗаписи(Штрихкод);
    Форма=ОткрытьФорму("РегистрСведений.Штрихкоды.ФормаСписка",,ЭтаФорма,,,,,РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
    Если КлючЗаписи<>Неопределено Тогда
    Форма.Элементы.Список.ТекущаяСтрока=КлючЗаписи;
    КонецЕсли;
    КонецПроцедуры

    &НаСервереБезКонтекста
    Функция ПолучитьКлючЗаписи(Штрихкод)
    Запрос=Новый Запрос;
    Запрос.УстановитьПараметр("Штрихкод",Штрихкод);
    Запрос.Текст="ВЫБРАТЬ
    | Штрихкоды.Штрихкод КАК Штрихкод,
    | Штрихкоды.Владелец КАК Владелец,
    | Штрихкоды.Характеристика КАК Характеристика,
    | Штрихкоды.Упаковка КАК Упаковка,
    | Штрихкоды.ТипШтрихкода КАК ТипШтрихкода
    |ИЗ
    | РегистрСведений.Штрихкоды КАК Штрихкоды
    |ГДЕ
    | Штрихкоды.Штрихкод = &Штрихкод";
    Выборка=Запрос.Выполнить().Выбрать();
    КлючЗаписи=Неопределено;
    Если Выборка.Следующий() Тогда
    СтруктураКлюча=Новый Структура("Штрихкод,Владелец,Характеристика,Упаковка,ТипШтрихкода");
    ЗаполнитьЗначенияСвойств(СтруктураКлюча,Выборка);
    КлючЗаписи=РегистрыСведений.Штрихкоды.СоздатьКлючЗаписи(СтруктураКлюча);
    КонецЕсли;
    Возврат КлючЗаписи;
    КонецФункции
```
---
Да, так работает, спасибо
---
Получить форму, найти на ней элемент список и установить ему текущую строку
---
раз уж про это заговорили. В какой момент можно посмотреть содержимое Элементы.Список с типом ТаблицаФормы? Я так понял в событии при открытии эта таблица еще пустая
---
В моей ситуации (вспомогательная форма выбора контейнеров) достаточно было:
1. Указать поле ключа в динамическом списке (скрин)
2. Назначить текущий номер контейнера при создании формы

```1c
    &НаСервере
    Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

    Если Параметры.Свойство("ТекущийКонтейнер") И ЗначениеЗаполнено(Параметры.ТекущийКонтейнер) Тогда
    Элементы.Список.ТекущаяСтрока = Параметры.ТекущийКонтейнер;
    КонецЕсли;

    КонецПроцедуры
```