Имя: Пароль:
1C
1С v8
Управляемая форма выбора с отбором по реквизиту табличной части
0 Золотце
 
09.08.11
15:48
Всем добрый день!
Кто-нибудь реализовывал отбор по реквизиту табличной части справочника?
У меня в конфигурации есть справочник "КодыПроизводителя" с реквизитами "Производитель" (тип: справочник "Клиенты") и "СоглашениеСПроизводителем" (тип: справочник "СоглашенияСПроизводителями"). Также есть неподчиненный ничему справочник "СоглашенияСПроизводителями" в табличной части которого находится реквизит "Производитель" (тип: справочник "Клиенты").
Необходимо в форме элемента справочника "КодыПроизводителя" с заранее выбранном производителем при попытке выбрать соглашение открывать форму списка справочника с отбором по производителю (который запрятан в табличной части соглашений).
Делаю следующее: в модуле формы элемента справочника "КодыПроизводителя" при начале выбора соглашения располагаю строки:
&НаКлиенте
Процедура СоглашениеСПроизводителемНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
  СтандартнаяОбработка = Ложь;
  ФормаВыбора = ПолучитьФорму("Справочник.СоглашенияСПроизводителем.ФормаВыбора");
  ФормаВыбора.ФильтрПоПроизводителю = Объект.Производитель;
  ФормаВыбора.Открыть();
КонецПроцедуры

В форме выбора справочника "СоглашенияСПроизводителем" создаю реквизит "ФильтрПоПроизводителю" (тип: справочник "Клиенты"), у основного реквизита формы (списка) устанавливаю флаг "Динамический запрос", в нем пишу текст:
ВЫБРАТЬ
   СоглашенияСПроизводителем.Ссылка
ИЗ
   Справочник.СоглашенияСПроизводителем КАК СоглашенияСПроизводителем
ГДЕ
   СоглашенияСПроизводителем.Производители.Производитель = &Производитель

И при создании формы выбора справочника "СоглашенияСПроизводителем" пишу:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
   Если Не ЭтаФорма.ФильтрПоПроизводителю = Неопределено Тогда
       Список.Параметры.УстановитьЗначениеПараметра("Производитель", ФильтрПоПроизводителю);
       
   КонецЕсли;
КонецПроцедуры

После запуска в режиме Предприятия из справочника "КодыПроизводителя" вместо справочника "СоглашенияСПроизводителем" с отбором открывается форма без единой строки и полностью недоступная. Что я делаю неправильно?

Заранее спасибо!
1 lxs
 
09.08.11
15:51
Параметры передавай лучше.
2 Золотце
 
09.08.11
15:56
lxs, если передавать параметры, то придется в процедуре "ПриСозданииНаСервере" их получать и использовать в отборе (левое значение, правое, использование и т.п.). А разве есть возможность такой отбор устанавливать по реквизитам табличной части?
3 lubja
 
09.08.11
15:59
а ты отладчиком посмотри, что в процедуре ПриСозданииНаСервере  в качестве ФильтрПоПРоизводителю. мое мнение он пуст...
4 lxs
 
09.08.11
16:01
Справочник "СоглашенияСПроизводителями" подчинен справочнику "Клиенты"?
5 Золотце
 
09.08.11
16:04
lubja, Вы правы, "ФильтрПоПроизводителю" - пустая ссылка на справочник "Клиенты". Буду думать, как передать.
6 Золотце
 
09.08.11
16:05
lxs, нет, "СоглашенияСПроизводителями" независимый справочник. Ничему не подчинен.
7 lubja
 
09.08.11
16:11
почитай в СП про динамические списки
8 Золотце
 
09.08.11
16:20
lubja, спасибо! Пойду читать.
9 lubja
 
09.08.11
16:52
(8) не во что, потом отдашь)
10 Золотце
 
10.08.11
08:23
Форму выбора с отбором по табличной части в итоге реализовала следующим образом:
в справочнике "КодыПроизводителя" при начале выбора соглашения разместила процедуру
&НаКлиенте
Процедура СоглашениеСПроизводителемНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
   
  СтандартнаяОбработка = Ложь;
  ФормаВыбора = ПолучитьФорму("Справочник.БП_СоглашенияСПроизводителем.ФормаВыбора");
  ФормаВыбора.ОтборПоПроизводителю = ?(ЗначениеЗаполнено(Объект.Производитель), Объект.Производитель, Неопределено);
  ФормаВыбора.Открыть();
 
КонецПроцедуры
11 Золотце
 
10.08.11
08:25
В форме выбора справочника "СоглашенияСПроизводителем" запрос динамического списка изменила на стандартный (предлагаемый при снятом флаге "ПризвольныйЗапрос"):
ВЫБРАТЬ
   СправочникБП_СоглашенияСПроизводителем.Ссылка,
   СправочникБП_СоглашенияСПроизводителем.ВерсияДанных,
   СправочникБП_СоглашенияСПроизводителем.ПометкаУдаления,
   СправочникБП_СоглашенияСПроизводителем.Предопределенный,
   СправочникБП_СоглашенияСПроизводителем.Код,
   СправочникБП_СоглашенияСПроизводителем.Наименование
ИЗ
   Справочник.БП_СоглашенияСПроизводителем КАК СправочникБП_СоглашенияСПроизводителем
12 Золотце
 
10.08.11
08:26
Создала реквизит формы "ОтброрПоПризводителю" (тип: справочник "Клиенты").
13 Золотце
 
10.08.11
08:27
При открытии формы выбора справочника "БП_СоглашенияСПроизводителем" вызываю процедуру с отбором:
&НаКлиенте
Процедура ПриОткрытии(Отказ)
   
   Отобрать();
   
КонецПроцедуры
14 Золотце
 
10.08.11
08:28
В модуле формы справочника "БП_СоглашенияСПроизводителем" создаю процедуру "Отобрать":
&НаСервере
Процедура Отобрать()
   
   Если ЗначениеЗаполнено(ОтборПоПроизводителю) Тогда
       
       Список.ТекстЗапроса = "ВЫБРАТЬ
       |СправочникБП_СоглашенияСПроизводителем.Ссылка,
       |СправочникБП_СоглашенияСПроизводителем.ВерсияДанных,
       |СправочникБП_СоглашенияСПроизводителем.ПометкаУдаления,
       |СправочникБП_СоглашенияСПроизводителем.Предопределенный,
       |СправочникБП_СоглашенияСПроизводителем.Код,
       |СправочникБП_СоглашенияСПроизводителем.Наименование,
               |СправочникБП_СоглашенияСПроизводителем.Производители.(
       |    Производитель
       |)
       |ИЗ
       |    Справочник.БП_СоглашенияСПроизводителем КАК СправочникБП_СоглашенияСПроизводителем
       |ГДЕ
       |    СправочникБП_СоглашенияСПроизводителем.Производители.Производитель = &Производитель";
                             
       Список.Параметры.УстановитьЗначениеПараметра("Производитель", ОтборПоПроизводителю);
   Иначе
       Список.ТекстЗапроса = "ВЫБРАТЬ
       |СправочникБП_СоглашенияСПроизводителем.Ссылка,
       |СправочникБП_СоглашенияСПроизводителем.ВерсияДанных,
       |СправочникБП_СоглашенияСПроизводителем.ПометкаУдаления,
       |СправочникБП_СоглашенияСПроизводителем.Предопределенный,
       |СправочникБП_СоглашенияСПроизводителем.Код,
       |СправочникБП_СоглашенияСПроизводителем.Наименование
               |ИЗ
       |    Справочник.БП_СоглашенияСПроизводителем КАК СправочникБП_СоглашенияСПроизводителем";
   КонецЕсли;
   
КонецПроцедуры
15 lxs
 
10.08.11
08:35
В итоге получилось? могу подсказать очень короткий путь решения.
16 lxs
 
10.08.11
08:36
Тебе надо правильно использовать динамические списки и параметры. Лена верно тебе советовала.
17 Золотце
 
10.08.11
08:53
(15) Да, в итоге получилось. Отбор работает. lxs, если не сложно - подскажите альтернативный путь решения. Все-таки, хотелось бы правильно написать.
18 lubja
 
10.08.11
09:55
(14) процедуру Отобрать() можно слегка укоротить

Список.ТекстЗапроса = "ВЫБРАТЬ
|СправочникБП_СоглашенияСПроизводителем.Ссылка,
|СправочникБП_СоглашенияСПроизводителем.ВерсияДанных,
|СправочникБП_СоглашенияСПроизводителем.ПометкаУдаления,
|СправочникБП_СоглашенияСПроизводителем.Предопределенный,
|СправочникБП_СоглашенияСПроизводителем.Код,
|СправочникБП_СоглашенияСПроизводителем.Наименование,
|СправочникБП_СоглашенияСПроизводителем.Производители.(
|    Производитель
|)
|ИЗ
|    Справочник.БП_СоглашенияСПроизводителем КАК СправочникБП_СоглашенияСПроизводителем";

Если ЗначениеЗаполнено(ОтборПоПроизводителю) Тогда
  Список.ТекстЗапрос = Список.ТекстЗапроса +
  "
  |ГДЕ
  |    СправочникБП_СоглашенияСПроизводителем.Производители.Производитель = &Производитель";
  Список.Параметры.УстановитьЗначениеПараметра("Производитель", ОтборПоПроизводителю);
КонецЕсли;
19 новичекВ1С
 
10.08.11
09:58
(18) те же яйца, только в профиль:)
20 lubja
 
10.08.11
09:59
(19) знаю )) ну, раз она так написала, почему бы не помочь укоротить эти яйца)
21 новичекВ1С
 
10.08.11
10:02
Делается элементарно, в форму передаем параметр отбора, в форме Список - диманический список с произвольным запросом по ТЧ, далее ПриСозданииНаСервере смотрим, если нам пришел отбор, то устанавливаем отбор на Список, типо так:
&НаСервере
Процедура УстановитьОтборПоПолю(Отбор, Поле, ЗначениеПоля) Экспорт    
   
   Использование = ЗначениеЗаполнено(ЗначениеПоля);
   ЭлементОтбораПоПолю = НайтиОтборВДинамическомСписке(Отбор, Поле);
   Если ЭлементОтбораПоПолю = Неопределено Тогда
       ЭлементОтбораПоПолю = ДобавитьОтборВДинамическомСписке(
           Отбор, Поле, ВидСравненияКомпоновкиДанных.Равно, ЗначениеПоля, Использование);
   Иначе
       ЭлементОтбораПоПолю.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
       ЭлементОтбораПоПолю.ПравоеЗначение = ЗначениеПоля;
       ЭлементОтбораПоПолю.Использование = Использование;
   КонецЕсли;
   
КонецПроцедуры
22 lubja
 
10.08.11
10:18
(21) ну, и распиши, что есть НайтиОтборВДинамическомСписке и ДобавитьОторВДинамическийСписок, чтобы понятнее было...
23 новичекВ1С
 
10.08.11
10:28
Вам все разжуй, еще и в рот положи :)

&НаСервере
Функция НайтиОтборВДинамическомСписке(ОтборСписка, ИмяПоля) Экспорт
   
   Результат = Неопределено;
   Поле = Новый ПолеКомпоновкиДанных(ИмяПоля);
   Для Каждого ЭлементОтбора Из ОтборСписка.Элементы Цикл
       Если ТипЗнч(ЭлементОтбора) = Тип("ГруппаЭлементовОтбораКомпоновкиДанных") Тогда
           Результат = НайтиОтборВДинамическомСписке(ЭлементОтбора, ИмяПоля);
           Если Результат <> Неопределено Тогда
               Прервать;
           КонецЕсли;
       Иначе
           Если ЭлементОтбора.ЛевоеЗначение = Поле Тогда
               Результат = ЭлементОтбора;
               Прервать;
           КонецЕсли;
       КонецЕсли;
   КонецЦикла;
   
   Возврат Результат;
   
КонецФункции // НайтиОтборВДинамическомСписке()
24 новичекВ1С
 
10.08.11
10:29
&НаСервере
Функция ДобавитьОтборВДинамическомСписке(ОтборСписка, ИмяПоля, ВидСравнения, Значение, Использование = Истина) Экспорт
   
   ЭлементОтбора = ОтборСписка.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
   ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(ИмяПоля);
   ЭлементОтбора.ВидСравнения = ВидСравнения;
   ЭлементОтбора.ПравоеЗначение = Значение;
   ЭлементОтбора.Использование = Использование;
   Возврат ЭлементОтбора;
   
КонецФункции // ДобавитьОтборВДинамическомСписке()
25 новичекВ1С
 
10.08.11
10:29
можно конечно использовать только последнюю функцию сразу для добавления, но не кошерно:)
26 lubja
 
10.08.11
10:29
(23) а как же)))
27 lubja
 
10.08.11
10:30
ну... для Золотца это слишком сложно...
28 новичекВ1С
 
10.08.11
10:31
ТС хоть бы спасибо сказала, первый раз помог кому то, понимаешь ли :)
29 lubja
 
10.08.11
10:32
(28) за спасибо работаешь? :)
30 новичекВ1С
 
10.08.11
10:33
скилы к харизме набиваю:)
31 kiruha
 
10.08.11
10:33
Отбор в табличной части реализуется критерием отбора
из документации
32 новичекВ1С
 
10.08.11
10:35
(31) Вы таки хотите сказать, что (21) не взлетит?
33 kiruha
 
10.08.11
10:38
(32)
Нет. Я хочу сказать, что штатно это делают критерием отбора -
добавляется физически индекс, для быстрого извлечения
данных по отбору и т.д.
34 Золотце
 
10.08.11
11:26
(18) lubja, у меня была аналогичная мысль с сокращением процедуры "Отобрать". Решила остановиться на своем варианте, чтобы не возвращать табличную часть справочника на клиент тогда, когда не нужен отбор по клиенту. Если не ставить флаг "Произвольный запрос", 1С формирует текст без выборки табличной части. Наверное, это не просто так.
35 Золотце
 
10.08.11
11:30
новичекВ1С, спасибо за предложенный вариант! Любую задачу можно решить не одним способом. Хотелось узнать, есть ли методика реализации аналогичных задач. В первой части руководства разработчика "1С:Предприятие 8.2" сказано:
"Если в динамическом списке выбрано ручное формирование запроса, то на запрос налагаются некоторые ограничения: ... в динамических списках не поддерживается отбор по реквизитам табличных частей". Это сбивает с толку.
36 Золотце
 
10.08.11
11:31
(31) kiruha, в какой документации можно почитать про реализацию отбора по реквизиту табличной части критериями отбора?
37 lxs
 
10.08.11
12:05
(35) Да нифига
38 lxs
 
10.08.11
12:05
Пишу рецепт в общем
39 lxs
 
10.08.11
12:06
Справочник КодыПроизводителя, форма элемента:



&НаКлиенте
Процедура СоглашениеСПроизводителемНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
   
   СтандартнаяОбработка = Ложь;
   Объект.СоглашениеСПроизводителем = ОткрытьФормуМодально("Справочник.СоглашенияСПроизводителями.ФормаВыбора", Новый Структура("Производитель", Объект.Производитель));
   
КонецПроцедуры
40 lxs
 
10.08.11
12:10
Справочник СоглашенияСПроизводителями, форма выбора:
1. динамический список формируем при помощи произвольного запроса. Текст запроса ниже:



ВЫБРАТЬ РАЗЛИЧНЫЕ
   СоглашенияСПроизводителямиПроизводители.Ссылка.Ссылка КАК Ссылка,
   СоглашенияСПроизводителямиПроизводители.Ссылка.ПометкаУдаления КАК ПометкаУдаления,
   СоглашенияСПроизводителямиПроизводители.Ссылка.Предопределенный КАК Предопределенный,
   СоглашенияСПроизводителямиПроизводители.Ссылка.Код КАК Код,
   СоглашенияСПроизводителямиПроизводители.Ссылка.Наименование КАК Наименование
ИЗ
   Справочник.СоглашенияСПроизводителями.Производители КАК СоглашенияСПроизводителямиПроизводители
ГДЕ
   СоглашенияСПроизводителямиПроизводители.Производитель = &Производитель
41 lxs
 
10.08.11
12:10
2. Нюанс: надо очистить поле Основная таблица
42 lxs
 
10.08.11
12:11
В модуле формы выбора этого справочника положить такой код:




&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
   
   Список.Параметры.УстановитьЗначениеПараметра("Производитель", Параметры.Производитель);
   
КонецПроцедуры
43 lxs
 
10.08.11
12:11
Вот и всё.
44 новичекВ1С
 
10.08.11
12:18
(42) И че? А если нам не надо отбирать по производителю ? Делать другую форму? Бред! Решение в (21) вернее :)
45 lxs
 
10.08.11
12:22
(44) и ниче.. если не надо отбирать, фильтры сама настроит, это элементарно.
46 lxs
 
10.08.11
12:23
я не стал просто на эту тему заморачиваться.
47 lxs
 
10.08.11
12:23
есть косяк один, сейчас его уберу. при окончании выбора значение не помещается в поле Соглашение..
48 новичекВ1С
 
10.08.11
12:25
(45) Вообще то отбор , наложенный в запросе, не будет показан в отборе дин. списка...
49 новичекВ1С
 
10.08.11
12:25
(48) тогда каким образом она сможет его настроить?:)
50 Золотце
 
10.08.11
12:29
(37) страница 368 первой части руководства разработчика, не мной придумано.
51 Золотце
 
10.08.11
12:30
(49) новичекВ1С, я думаю, lxs имеет в виду установку отбора не в пользовательском режиме. Надо проанализировать передан ли параметр в форму выбора, если передан - тогда устанавливать отбор.
52 новичекВ1С
 
10.08.11
12:32
(51) Если ты не установишь параметр в запросе (40), у тебя форма вообще не откроется, поэтому  я и говорю, что если отбор не нужен будет, то этой формой уже не воспользуешься
53 Золотце
 
10.08.11
12:32
(40) lxs, а параметр "Производитель" в запросе, с помощью которого накладывается ограничение - это ни реквизит формы выбора справочника "СоглашенияСПроизводителями", ни параметр формы выбора?
54 Золотце
 
10.08.11
12:35
(52) новичекВ1С, если параметр в форму выбора не передан - можно текст запроса динамического списка программно изменить так, чтобы в нем не было никаких отборов.
55 Золотце
 
10.08.11
12:37
(41) lxs, параметр "Основная таблица" мы очищаем для чего? Чтобы не контролировать уникальность ключей?
56 новичекВ1С
 
10.08.11
12:38
(54) это понятно, что можно, но это неправильно!
57 lxs
 
10.08.11
12:48
(56)


   Если Не Параметры.Производитель.Пустая() Тогда
       Список.Параметры.УстановитьЗначениеПараметра("Производитель", Параметры.Производитель);
   Иначе
       Список.ТекстЗапроса =
       "ВЫБРАТЬ РАЗЛИЧНЫЕ
       |    СоглашенияСПроизводителямиПроизводители.Ссылка.Ссылка КАК Ссылка,
       |    СоглашенияСПроизводителямиПроизводители.Ссылка.ПометкаУдаления КАК ПометкаУдаления,
       |    СоглашенияСПроизводителямиПроизводители.Ссылка.Предопределенный КАК Предопределенный,
       |    СоглашенияСПроизводителямиПроизводители.Ссылка.Код КАК Код,
       |    СоглашенияСПроизводителямиПроизводители.Ссылка.Наименование КАК Наименование
       |ИЗ
       |    Справочник.СоглашенияСПроизводителями.Производители КАК СоглашенияСПроизводителямиПроизводители";
   КонецЕсли;
58 lxs
 
10.08.11
12:53
Только надо в форме выбора добавить параметр Производитель с типов СправочникСсылка.Клиенты
59 lxs
 
10.08.11
12:55
(44) Прежде, чем говорить "бред", подумай головой. Путей решения проблемы может быть много. И необязательно твое - САМОЕ верное. Не строй иллюзий.
60 новичекВ1С
 
10.08.11
13:03
(57), (59) А теперь попробуй в твоей форме выбора ДОБАВИТЬ элемент справочника! И тогда поймешь, почему я говорю, что твой вариант решения неверен.
61 новичекВ1С
 
10.08.11
13:04
(59) + я не говорил, что мой вариант решения САМЫЙ верный, я говорил, что он вернее твоего
62 Золотце
 
10.08.11
13:46
(21) новичекВ1С, а Вы пробовали предлагаемым способом отобрать по реквизиту табличной части? Если в руководствах не врут, то такой отбор (вид сравнения, левое значение, правое и т.п.) неприменим к табличным частям.
63 lubja
 
10.08.11
13:48
(62) не парься и оставляй, как есть)
64 Золотце
 
10.08.11
13:50
(63) lubja, можно написать,как угодно. А хочется нормально и методологически правильно. Но в типовых конфигурациях я не нашла примеров таких отборов.
65 lubja
 
10.08.11
13:51
(64) в 8.1 я делала через КритерииОтбора...
66 Золотце
 
10.08.11
13:51
Всем спасибо за участие, итоговый вариант на данный момент. Справочник "Коды производителя", начало выбора соглашения:
&НаКлиенте
Процедура СоглашениеСПроизводителемНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
   
   СтандартнаяОбработка = Ложь;
   СтруктураПараметров = Новый Структура();
   СтруктураПараметров.Вставить("Производитель", ?(ЗначениеЗаполнено(Объект.Производитель), Объект.Производитель, Неопределено));
   ОткрытьФормуМодально("Справочник.СоглашенияСПроизводителем.ФормаВыбора", СтруктураПараметров);
 
КонецПроцедуры
67 Золотце
 
10.08.11
13:52
У формы выбора справочника "Соглашения с производителями" создаю параметр "Производитель" (тип: справочник "Клиенты").
68 Золотце
 
10.08.11
13:54
У основного реквизита формы выбора ставлю флаг "Произвольный запрос", текст запроса:
ВЫБРАТЬ
   СправочникСоглашенияСПроизводителем.Ссылка,
   СправочникСоглашенияСПроизводителем.ВерсияДанных,
   СправочникСоглашенияСПроизводителем.ПометкаУдаления,
      СправочникСоглашенияСПроизводителем.Предопределенный,
   СправочникСоглашенияСПроизводителем.Код,
   СправочникСоглашенияСПроизводителем.Наименование
ИЗ
   Справочник.СоглашенияСПроизводителем КАК СправочникСоглашенияСПроизводителем
69 новичекВ1С
 
10.08.11
13:54
(62) у тебя по моему методу не получилось? И ты прочитала, что я писал в (60)? Ты не сможешь добавлять элементы справочника
70 Золотце
 
10.08.11
13:55
Основную таблицу динамического списка не очищаю. Это позволит создать новый элемент справочника даже при установленном в форме выбора отборе.
71 новичекВ1С
 
10.08.11
13:59
(70) Молодец, правильно:) А вот lxs так и не понял наверное, как это победить.
72 Золотце
 
10.08.11
14:08
И в форме выбора справочника "Соглашения с производителем" создаю процедуру:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
   
   Если Параметры.Производитель = Неопределено Тогда
       Список.ТекстЗапроса = "ВЫБРАТЬ
       |СправочникСоглашенияСПроизводителем.Ссылка,
       |СправочникСоглашенияСПроизводителем.ВерсияДанных,
       |СправочникСоглашенияСПроизводителем.ПометкаУдаления,
       |СправочникСоглашенияСПроизводителем.Предопределенный,
       |СправочникСоглашенияСПроизводителем.Код,
       |СправочникСоглашенияСПроизводителем.Наименование,
       |ИЗ
       |    Справочник.СоглашенияСПроизводителем КАК СправочникСоглашенияСПроизводителем";
   Иначе    
       Список.ТекстЗапроса = "ВЫБРАТЬ
       |СправочникСоглашенияСПроизводителем.Ссылка,
       |СправочникСоглашенияСПроизводителем.ВерсияДанных,
       |СправочникСоглашенияСПроизводителем.ПометкаУдаления,
       |СправочникСоглашенияСПроизводителем.Предопределенный,
       |СправочникСоглашенияСПроизводителем.Код,
       |СправочникСоглашенияСПроизводителем.Наименование,
|СправочникСоглашенияСПроизводителем.Производители.(
       |    Производитель
       |)
       |ИЗ
       |    Справочник.СоглашенияСПроизводителем КАК СправочникСоглашенияСПроизводителем
       |ГДЕ
       |    СправочникСоглашенияСПроизводителем.Производители.Производитель = &Производитель";
                             
       Список.Параметры.УстановитьЗначениеПараметра("Производитель", Параметры.Производитель);
   КонецЕсли;
   
КонецПроцедуры
73 Золотце
 
10.08.11
14:11
Отбор работает, элементы новые в форме выбора можно создавать. Убрать отбор по производителю в такой форме выбора интерактивно нельзя.
2 + 2 = 3.9999999999999999999999999999999...