Версия для печати темы (https://pro1c.org.ua/index.php?showtopic=4463)
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Система компоновки данных _ Отчет СКД. Как связать параметры отбора, и определить параметры выбра при отборе?
Автор: logist 15.08.11, 13:37
В "быстрых" настройках есть поля "Контрагент" и "ДоговорКонтрагента" (тип СправочникСсылка), как связать поле Договора с Контрагентом (т.е. что бы при выборе договора отображались только договора выбранного контрагента (или сначала был выбор контрагента если Контрагент не заполнен)).
И как в список выбора Договора установить параметр отбора (т.е. что бы в списке отображались элементы с определенным значением в их реквизите, реквизит доступен в списке).
Конфигурация самописная.
Спасибо.
Автор: Vofka 16.08.11, 14:59
Это только мне ничего не понятно?
Цитата
т.е. что бы при выборе договора
При выборе где/куда?
Цитата
И как в список выбора Договора установить параметр отбора
Тоже как-то не очень ясно
Автор: Vofka 16.08.11, 17:26
Вот нашёл в сети, но у меня (для не управляемого приложения) так не получилось:
Цитата
Могу предложить вариант для режима управляемого приложения (форма отчета должна быть управляемой).
1) в макете компоновки, на закладке "наборы данных" для "подчиненного" поля, например "ДоговорыКонтрагентов" надо перейти в поле "Параметры редактирования";
2) в поле "Параметры редактирования" открыть форму настройки и перейти в строку (поле) "связи параметров выбора";
3) в поле "Связи параметров выбора" настроить связь - открыть окно настройки (еще одно
) и в колонке "Параметр выбора" ввести Отбор.Владелец. Далее, в следующем поле "Поле" указать поле СКД, по которому будет определяться владелец при установке отбора, например поле "Контрагент". Естественно поле владельца должно присутствовать среди доступных полей компоновки
Автор: logist 16.08.11, 18:06
Спасибо!!!
Все оказалось намного проще:
Цитата
ввести Отбор.Владелец.
ТОЧКА в конце, вот о чем я не знал
)
Единственное что осталось - это если Контрагент не заполнено, при начале отбора Договора показывать список контрагентов, а не список всехвсех договоров.
Вот думаю может написать отдельную ФормуВыбора для этого случая?
Автор: Vofka 16.08.11, 18:39
Цитата
Все оказалось намного проще:
Так это управляемое приложение или обычное?
Цитата
Единственное что осталось - это если Контрагент не заполнено, при начале отбора Договора показывать список контрагентов, а не список всехвсех договоров.
Я набросал простой отчет по регистру продажи. При заполнении отбора по договору - выскакивает форма выбора контрагента, а потом список договоров по этому контрагенту. Если посмотреть код, можно это увидеть:
Процедура ПриОткрытии()
//...
Если РежимВыбора И НЕ ЗначениеЗаполнено(Отбор.Владелец.Значение) Тогда
ФормаВыбораВладельца = Справочники.Контрагенты.ПолучитьФормуВыбора();
ФормаВыбораВладельца.Заголовок = "Выберите контрагента, договор которого Вы хотите выбрать.";
Контрагент = ФормаВыбораВладельца.ОткрытьМодально();
Если ТипЗнч(Контрагент) = ТипЗнч(Отбор.Владелец.Значение) Тогда
Отбор.Владелец.Значение = Контрагент;
КонецЕсли;
Отбор.Владелец.Использование = ЗначениеЗаполнено(Отбор.Владелец.Значение);
КонецЕсли;
//...
КонецПроцедуры
Поэтому добавить такое же в свою форму выбора да и всё.
Цитата
Вот думаю может написать отдельную ФормуВыбора для этого случая?
А что это даст? Как она будет вызываться?
Да, к стати, я на УТ последней смотрю.
Автор: logist 16.08.11, 18:49
Цитата(Vofka @ 16.08.11, 19:39) http://pro1c.org.ua/index.php?act=findpost&pid=30005
Я набросал простой отчет по регистру продажи. При заполнении отбора по договору - выскакивает форма выбора контрагента, а потом список договоров по этому контрагенту.
Не выскакивает, пока играюсь с параметрами.
Цитата(Vofka @ 16.08.11, 19:39)
Поэтому добавить такое же в свою форму выбора да и всё.
Не катит такой код, хотя может если его переписать под управляемую форму... Позже попробую.
Конфигурация своя.
Автор: Vofka 16.08.11, 18:53
Цитата
Управляемое.
Потому что у меня на обычном так и не получилось.
Цитата
Не выскакивает, пока играюсь с параметрами.
Не выскакивает, потому что нету кода нужного
Цитата
Не катит такой код
Ну я его привёл не как рабочий, а как описание логики.
Автор: logist 16.08.11, 20:33
Все оказалось намного проще - отбор договора по контрагенту работает (собственно как и другие подобные отборы), но только если в самом отчете установлена галка отбор по контрагенту.
Автор: Vofka 17.08.11, 9:26
Т.е. то, что описано в посте 4 делать не надо?
Автор: logist 17.08.11, 9:56
Цитата(Vofka @ 17.08.11, 10:26)
Т.е. то, что описано в посте 4 делать не надо?
Надо!
Автор: Spacer 15.05.12, 11:18
Цитата(logist @ 16.08.11, 19:06)
ТОЧКА в конце, вот о чем я не знал
Точка здесь абсолютно не при чем. Без точки тоже работает.
Все дело лишь в том какое приложение. В управляемом работает. В обычном - нет. Проверено.
Автор: onsamuy 30.03.15, 9:16
а как в обычном сделать?
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua