ут 11 установить текущую строку в динамическом списке

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

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

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


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

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

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

&НаСервереБезКонтекста
Функция ПолучитьКлючЗаписи(Штрихкод)
	Запрос=Новый Запрос;
	Запрос.УстановитьПараметр("Штрихкод",Штрихкод);
	Запрос.Текст="ВЫБРАТЬ
	|	Штрихкоды.Штрихкод КАК Штрихкод,
	|	Штрихкоды.Владелец КАК Владелец,
	|	Штрихкоды.Характеристика КАК Характеристика,
	|	Штрихкоды.Упаковка КАК Упаковка,
	|	Штрихкоды.ТипШтрихкода КАК ТипШтрихкода
	|ИЗ
	|	РегистрСведений.Штрихкоды КАК Штрихкоды
	|ГДЕ
	|	Штрихкоды.Штрихкод = &Штрихкод";
	Выборка=Запрос.Выполнить().Выбрать();
	КлючЗаписи=Неопределено;
	Если Выборка.Следующий() Тогда
		СтруктураКлюча=Новый Структура("Штрихкод,Владелец,Характеристика,Упаковка,ТипШтрихкода");
		ЗаполнитьЗначенияСвойств(СтруктураКлюча,Выборка);
		КлючЗаписи=РегистрыСведений.Штрихкоды.СоздатьКлючЗаписи(СтруктураКлюча);
	КонецЕсли;
	Возврат КлючЗаписи;
КонецФункции
Показать
4. Lenten 25 19.06.20 09:51 Сейчас в теме
Да, так работает, спасибо
2. Alfn 59 18.06.20 19:46 Сейчас в теме
Получить форму, найти на ней элемент список и установить ему текущую строку
5. Lenten 25 19.06.20 09:55 Сейчас в теме
раз уж про это заговорили. В какой момент можно посмотреть содержимое Элементы.Список с типом ТаблицаФормы? Я так понял в событии при открытии эта таблица еще пустая
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот