Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Отчет СКД. Как связать параметры отбора, и определить параметры выбра при отборе?
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Система компоновки данных
logist
В "быстрых" настройках есть поля "Контрагент" и "ДоговорКонтрагента" (тип СправочникСсылка), как связать поле Договора с Контрагентом (т.е. что бы при выборе договора отображались только договора выбранного контрагента (или сначала был выбор контрагента если Контрагент не заполнен)).
И как в список выбора Договора установить параметр отбора (т.е. что бы в списке отображались элементы с определенным значением в их реквизите, реквизит доступен в списке).
Конфигурация самописная.
Спасибо.
Vofka
Это только мне ничего не понятно? smile.gif

Цитата
т.е. что бы при выборе договора

При выборе где/куда?

Цитата
И как в список выбора Договора установить параметр отбора

Тоже как-то не очень ясно unsure.gif
logist
В отчете есть форма быстрой настройки (ну собственно это относится не только к быстрому отбору, а к отбору в отчете вообще)

При выборе в поле "Договор контрагента" нужно что бы осуществлялась связь с полем "Контрагент", т.е. что бы открывшийся список договоров отображал только Договора выбранного Контрагента. И еще нужно что бы форма выбора Договора включала отбор по некоему реквизиту элемента Договор.

Так понятней? smile.gif

Интуитивно я догадываюсь что это нужно задать тут:

Но все попытки ни к чему не приводят. Единственное чего добился - очистка поля "Договор контрагента" при изменении "Контрагента".
Vofka
Вот нашёл в сети, но у меня (для не управляемого приложения) так не получилось:

Цитата
Могу предложить вариант для режима управляемого приложения (форма отчета должна быть управляемой).

1) в макете компоновки, на закладке "наборы данных" для "подчиненного" поля, например "ДоговорыКонтрагентов" надо перейти в поле "Параметры редактирования";
2) в поле "Параметры редактирования" открыть форму настройки и перейти в строку (поле) "связи параметров выбора";
3) в поле "Связи параметров выбора" настроить связь - открыть окно настройки (еще одно smile.gif) и в колонке "Параметр выбора" ввести Отбор.Владелец. Далее, в следующем поле "Поле" указать поле СКД, по которому будет определяться владелец при установке отбора, например поле "Контрагент". Естественно поле владельца должно присутствовать среди доступных полей компоновки
logist
Спасибо!!!
Все оказалось намного проще:
Цитата
ввести Отбор.Владелец.

ТОЧКА в конце, вот о чем я не знал smile.gif)

Единственное что осталось - это если Контрагент не заполнено, при начале отбора Договора показывать список контрагентов, а не список всехвсех договоров.
Вот думаю может написать отдельную ФормуВыбора для этого случая?
Vofka
Цитата
Все оказалось намного проще:

Так это управляемое приложение или обычное?

Цитата
Единственное что осталось - это если Контрагент не заполнено, при начале отбора Договора показывать список контрагентов, а не список всехвсех договоров.

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

Процедура ПриОткрытии()

    //...
    
    Если РежимВыбора И НЕ ЗначениеЗаполнено(Отбор.Владелец.Значение) Тогда
        ФормаВыбораВладельца = Справочники.Контрагенты.ПолучитьФормуВыбора();
        ФормаВыбораВладельца.Заголовок = "Выберите контрагента, договор которого Вы хотите выбрать.";
        Контрагент = ФормаВыбораВладельца.ОткрытьМодально();
        Если ТипЗнч(Контрагент) = ТипЗнч(Отбор.Владелец.Значение) Тогда
            Отбор.Владелец.Значение = Контрагент;
        КонецЕсли;
        Отбор.Владелец.Использование = ЗначениеЗаполнено(Отбор.Владелец.Значение);
    КонецЕсли;

    //...

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

Поэтому добавить такое же в свою форму выбора да и всё.

Цитата
Вот думаю может написать отдельную ФормуВыбора для этого случая?

А что это даст? Как она будет вызываться?

Да, к стати, я на УТ последней смотрю.
logist
Цитата(Vofka @ 16.08.11, 19:39) необходимо зарегистрироваться для просмотра ссылки
Так это управляемое приложение или обычное?

Управляемое.

Цитата(Vofka @ 16.08.11, 19:39) необходимо зарегистрироваться для просмотра ссылки
Я набросал простой отчет по регистру продажи. При заполнении отбора по договору - выскакивает форма выбора контрагента, а потом список договоров по этому контрагенту.

Не выскакивает, пока играюсь с параметрами.

Цитата(Vofka @ 16.08.11, 19:39) необходимо зарегистрироваться для просмотра ссылки
Поэтому добавить такое же в свою форму выбора да и всё.

Не катит такой код, хотя может если его переписать под управляемую форму... Позже попробую.

Конфигурация своя.
Vofka
Цитата
Управляемое.

Потому что у меня на обычном так и не получилось.

Цитата
Не выскакивает, пока играюсь с параметрами.

Не выскакивает, потому что нету кода нужного smile.gif

Цитата
Не катит такой код

Ну я его привёл не как рабочий, а как описание логики.
logist
Все оказалось намного проще - отбор договора по контрагенту работает (собственно как и другие подобные отборы), но только если в самом отчете установлена галка отбор по контрагенту.
Vofka
Т.е. то, что описано в посте 4 делать не надо?
logist
Цитата(Vofka @ 17.08.11, 10:26) необходимо зарегистрироваться для просмотра ссылки
Т.е. то, что описано в посте 4 делать не надо?

Надо! smile.gif
Spacer
Цитата(logist @ 16.08.11, 19:06) необходимо зарегистрироваться для просмотра ссылки
ТОЧКА в конце, вот о чем я не знал

Точка здесь абсолютно не при чем. Без точки тоже работает.
Все дело лишь в том какое приложение. В управляемом работает. В обычном - нет. Проверено.
onsamuy
а как в обычном сделать?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.