Имя: Пароль:
1C
1С v8
Добавление новой записи в регистр через динамический список на УФ.
0 Беата Смит
 
26.03.19
20:13
Добрый вечер! Есть регистр сведений РегистрВладельцев, содержащий поле контрагент - ссылка на справочник Контрагенты. На форму элемента справочника Контрагенты выводится этот регистр с отбором по контрагенту в виде динамического списка. Вместе с динамическим прицепилась стандартная командная панель с кнопкой "создать". Подскажите, пожалуйста, как нужно дописать код, чтобы при нажатии на эту кнопку открывалась форма новой записи регистра не пустая, а с уже заполненным полем Контрагент - разумеется, текущим? Заранее спасибо.
1 Garykom
 
гуру
26.03.19
20:21
Попробуй через владельца формы добраться
2 Garykom
 
гуру
26.03.19
20:34
ЭтаФорма.ВладелецФормы.Родитель.Объект.Ссылка
3 palsergeich
 
26.03.19
21:03
(2) Мсье знает толк в извращениях.
Галка заполнять из данных заполнения в метаданных регистра поставь, этого достаточно
4 Garykom
 
гуру
26.03.19
22:00
(3) Речь не про штатный механизму присобачивания вкладок связанных рс а в основной форме сделать.
Через динамический список с запросом и параметром.
5 palsergeich
 
26.03.19
22:03
(4) Какие вкладки, о чем вы?
Про параметры в задаче ни слова.
Там говорится про отбор.
А все ключи отбора идут в значения заполнения.
6 palsergeich
 
26.03.19
22:04
(4) Все элементы отбора, уточню.
И галка заполнять из данных заполнения была сделана как раз для того что бы объекты, создаваемые из ДС предзаполнялись значениями отборов этого ДС.
7 Garykom
 
гуру
26.03.19
22:11
(5) (6) Да стормозил, забыл про этот дебильный отбор, ведь делал же уже такое но сильно давно.
Согласен все работает.

Но вот если вместо отбора параметр в произвольный запрос (динамического списка) то придется извращаться.
8 palsergeich
 
26.03.19
22:12
(7) тут я не спорю.
9 Garykom
 
гуру
26.03.19
22:13
Хм а в каких случаях отбором не выйдет обойтись и придется в запросе условие(я)?
10 palsergeich
 
26.03.19
22:14
(9) когда нужно сравнение отличное от равенства
11 Garykom
 
гуру
26.03.19
22:16
(10) Угу например иерархический справочник и хочется все подчиненные показать у родителя.
12 palsergeich
 
26.03.19
22:19
Потому что основной сценарий это
ОтрытьФорму(ФормаДС, Новый Структура("отбор", Новый Структура("Контрагент",Ссылка на контрагента)))
Отбор переносится в компановщик с видом сравнения равно.
И тогда да зполнять из данных заполнения самый сок.
(11) В этом случае другой вид сравнения и в значения заполнения такого ключа не будет, оно и логично, потому что в общем случае значений будет больше чем одно. И тогда да, только кодом.
13 palsergeich
 
26.03.19
22:24
(12) или будет но с НЕОПРЕДЕЛЕНО, сейчас уже не помню)
14 Беата Смит
 
27.03.19
12:57
Я, видимо, плохо сформулировала, потому что все равно не поняла, как мне решить мою задачу. И да, в идеале, кроме контрагента мне при создании новой записи в регистре хорошо бы еще пару значений по умолчанию вписать...
Отбор, который выводит выводит динамический список на форму, у меня тупо такой:
    
     ЭлементОтбора = КонтрагентыСписок.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
     ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Контрагент");
     ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
     ЭлементОтбора.Использование = Истина;
     ЭлементОтбора.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный;
     ЭлементОтбора.ПравоеЗначение = Объект.Ссылка;
15 Garykom
 
гуру
27.03.19
13:03
(14) Поставь "ведущее" для измерения Контрагент в РС и "заполнять из данных заполнения"
16 Беата Смит
 
30.03.19
16:29
(15) Спасибо. В итоге остальные поля, которых на форме нет, а записать в регистр по умолчанию надо, я привязала к событию "создание формы" для записи регистра сведений. Типа если контрагент заполнен и еще кое-какие условия, он подтягивает эти поля, откуда мне нужно. Кривой метод, наверное, но работает)
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn