позиционирование на элементе справочника в динамическом списке УФ

1. H0nesty 24.10.19 12:53 Сейчас в теме
Всем привет. Не могу понять почему не позиционируется на элементе справочника. В параметр передается ссылка на номенклатуру, при создании все заполнено, но....

Вызов формы
ПараметрыФормы.Вставить("ТекущаяСтрока",               		       Элементы.Товары.ТекущиеДанные.Номенклатура);
	
	ОткрытьФорму("Обработка.НоменклатураСписок.Форма", ПараметрыФормы, ЭтаФорма, УникальныйИдентификатор,,,
				,РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);


В форме

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

попытка
		Элементы.СписокСтандартныйПоискНоменклатура.ТекущаяСтрока = Параметры.ТекущаяСтрока;
	исключение
	КонецПопытки;
	
КонецПроцедуры
Показать
По теме из базы знаний
Найденные решения
8. EVKash 14 24.10.19 14:33 Сейчас в теме
(1)
Элементы.СписокСтандартныйПоискНоменклатура.ТекущаяСтрока = Параметры.ТекущаяСтрока;

Это должно быть на клиенте.
ПриСозданииНаСервере сохраняйте ссылку куда-нибудь в реквизит формы, а ПриОткрытии уже устанавливайте.
user712426; +1 Ответить
Остальные ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
8. EVKash 14 24.10.19 14:33 Сейчас в теме
(1)
Элементы.СписокСтандартныйПоискНоменклатура.ТекущаяСтрока = Параметры.ТекущаяСтрока;

Это должно быть на клиенте.
ПриСозданииНаСервере сохраняйте ссылку куда-нибудь в реквизит формы, а ПриОткрытии уже устанавливайте.
user712426; +1 Ответить
10. H0nesty 24.10.19 14:40 Сейчас в теме
(8)
Это должно быть на клиенте.
ПриСозданииНаСервере сохраняйте ссылку куда-нибудь в реквизит формы, а ПриОткрытии уже устанавливайте.


Спасибо огромное, получилось
2. AlexandrSmith 68 24.10.19 13:03 Сейчас в теме
Чтобы механизмы 1С все подхватывали нормально.

Форма из которой передаются данные должна называться "ФормаСписка".

В форме списка должно быть поле "ссылка".

Никаких "ФормаСпискаУПР" и поле "Документ".

Тогда для передачи правильной параметров стандартными функциями конфигурации у вас будут подхватываться все данные.

Если же вы будете выдумывать велосипед, выйдет дороже. И используйте стандартные функции. Поле динамического списка - "Список".

Будет порядок и уют.
6. H0nesty 24.10.19 13:21 Сейчас в теме
(2)
Форма из которой передаются данные должна называться "ФормаСписка".

Это вы предлагаете стандартные формы переименовать? И чем это поможет, сейчас она называется "форма документа", а станет называться "Форма списка"?

Обработка.НоменклатураСписок - дописанная обработка. Какие именно стандартные функции в ней заработают?
3. Smartpk 9 24.10.19 13:05 Сейчас в теме
Ну или можно ещё найти по переданной номенклатуре строку в динамическом списке и уже её сделать активной. Чтобы наверняка работало.
4. Azamatex 12 24.10.19 13:07 Сейчас в теме
Отбор = Новый Структура;
Отбор.Вставить("Ссылка", Параметры.ТекущаяСтрока);

НайденныеСтроки = СписокСтандартныйПоискНоменклатура.НайтиСтроки(Отбор);

Если НайденныеСтроки.Количество() > 0 Тогда
	
	Элементы.СписокСтандартныйПоискНоменклатура.ТекущаяСтрока = НайденныеСтроки[0].ПолучитьИдентификатор();
	
КонецЕсли;
Показать
5. H0nesty 24.10.19 13:17 Сейчас в теме
(4) Найти Строки это у какого объекта должно быть? У динамического списка такого нет, у таблицы формы, к сожалению тоже (
(3) как найти строку в динамическом списке?
7. Azamatex 12 24.10.19 13:42 Сейчас в теме
(5)для динамического списка никак, это поможет только если вы поменяете на таблицу значений, ну либо можно сделать через отбор
9. EVKash 14 24.10.19 14:37 Сейчас в теме
И чтобы работало у динсписка должна быть установлена основная таблица.
11. MyNameIsMisha 27.09.23 00:33 Сейчас в теме
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	
	// Отбор по полю "Организация" всегда выполняется по головной организации.
	Если Параметры.Отбор.Свойство("Организация") Тогда
		Если ЗначениеЗаполнено(Параметры.Отбор.Организация) Тогда
			Параметры.Отбор.Организация = ОбщегоНазначенияБПВызовСервераПовтИсп.ГоловнаяОрганизация(Параметры.Отбор.Организация);
		Иначе
			Параметры.Отбор.Удалить("Организация");
		КонецЕсли;
	КонецЕсли;
	Если Параметры.Отбор.Свойство("ВидДоговора") Тогда
		Если НЕ ЗначениеЗаполнено(Параметры.Отбор.ВидДоговора) Тогда
			Параметры.Отбор.Удалить("ВидДоговора");
		КонецЕсли;
	КонецЕсли;
	
	Если Параметры.Свойство("ТекущийДоговор") Тогда
		Если ЗначениеЗаполнено(Параметры.ТекущийДоговор) Тогда
			Попытка
				Параметры.Отбор.Вставить("Ссылка",Параметры.ТекущийДоговор);
				ПроизведеноПозиционированиеПриОткрытии = Истина;//Реквизит формы
			Исключение
				ПопыткаПровалилась = Истина;
			КонецПопытки;
		КонецЕсли;
	КонецЕсли;
	
КонецПроцедуры


&НаКлиенте
Процедура СписокПриАктивизацииСтроки(Элемент)
	Если ПроизведеноПозиционированиеПриОткрытии Тогда
		Отбор = Список.Отбор;
		Для Каждого ЭлементОтбора Из Отбор.Элементы Цикл
			Если ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Ссылка") Тогда
				Отбор.Элементы.Удалить(ЭлементОтбора);
				Прервать;
			КонецЕсли;
		КонецЦикла;
		ПроизведеноПозиционированиеПриОткрытии = Ложь;
	КонецЕсли;
КонецПроцедуры
Показать
Оставьте свое сообщение
Вакансии
1С-Программист (интегратор Битрикс24)
Санкт-Петербург
зарплата от 150 000 руб. до 250 000 руб.
Полный день

Разработчик 1С
Москва
зарплата от 100 000 руб.
Временный (на проект)

Разработчик 1С
Москва
зарплата от 150 000 руб.
Полный день

Программист
Санкт-Петербург
зарплата от 180 000 руб. до 240 000 руб.
Полный день

Разработчик 1С
Москва
зарплата от 150 000 руб. до 250 000 руб.
Полный день