|
Отбор в форме списка "Контактное Лицо" | ☑ | ||
---|---|---|---|---|
0
__user__
13.08.22
✎
01:24
|
Добрый день. Подскажите пожалуйста, как можно настроить поле "Контактное Лицо" в форме документа "Заказ Покупателя" так, чтобы при нажатии на надпись "Показать Все" в поле "Контактное Лицо" в появившейся форме списка контактных лиц отображались только те контакты, которые связаны с выбранным контрагентом в поле "Контрагент" формы документа "Заказ Покупателя". Все связи контактов и контрагентов приведены в регистре сведений "СвязиКонтрагентКонтакт". Имеются также справочники "Контрагенты" и "КонтактныеЛица", но между ними нет никаких связей, поэтому через "СвязиПараметровВыбора" не получается
|
|||
1
asady
13.08.22
✎
10:17
|
(0)
В форме выбора сразу выставляется отбор Отбор.Владелец(Объект.Партнер) что не так? |
|||
2
__user__
13.08.22
✎
13:55
|
Справочник "Контактные лица" не подчинен справочнику "Контрагенты"
|
|||
3
shuhard
13.08.22
✎
14:48
|
(2) контрагенты и партнеры ведутся раздельно ?
|
|||
4
__user__
13.08.22
✎
16:25
|
(3) Да
|
|||
5
asady
13.08.22
✎
16:33
|
(4) не выдумывай велосипед - делай через партнера и все будет штатно без левых рс
|
|||
6
lubitelxml
13.08.22
✎
16:37
|
(0) передавай контрагента в форму списка Контактные лица, доработай запрос дин. списка, и накладывай отбор на поле
|
|||
7
__user__
20.08.22
✎
19:56
|
(6) Доработал запрос - добавил параметр "Контрагент" в тексте запроса:
ВЫБРАТЬ РАЗЛИЧНЫЕ СвязиКонтрагентКонтактСрезПоследних.Контакт КАК Контакт, ИСТИНА КАК ЕстьКонтрагент ПОМЕСТИТЬ СвязиКонтрагентКонтакт ИЗ РегистрСведений.СвязиКонтрагентКонтакт.СрезПоследних КАК СвязиКонтрагентКонтактСрезПоследних ГДЕ СвязиКонтрагентКонтактСрезПоследних.СвязьНедействительна = ЛОЖЬ И СвязиКонтрагентКонтактСрезПоследних.Контрагент = &Контрагент ; Далее создал обработчик события "Начало Выбора" поля документа "Контактное Лицо". Здесь задаю контрагента в качестве параметра в методе открытия формы списка Контактные лица. В процедуре ПриСозданииНаСервере формы списка устанавливаю этот параметр - "Список.Параметры.УстановитьЗначениеПараметра("Контрагент", Параметры.Контрагент)". Но снова не работает |
|||
8
__user__
20.08.22
✎
19:57
|
(6)
&НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) // СтандартныеПодсистемы.ПодключаемыеКоманды ПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект); // Конец СтандартныеПодсистемы.ПодключаемыеКоманды // СтандартныеПодсистемы.ГрупповоеИзменениеОбъектов МожноРедактировать = ПравоДоступа("Редактирование", Метаданные.Справочники.КонтактныеЛица); Элементы.ФормаИзменитьВыделенные.Видимость = МожноРедактировать; // Конец СтандартныеПодсистемы.ГрупповоеИзменениеОбъектов // СтандартныеПодсистемы.ЗагрузкаДанныхИзВнешнегоИсточника ЗагрузкаДанныхИзВнешнегоИсточника.ПриСозданииНаСервере(Метаданные.Справочники.КонтактныеЛица, НастройкиЗагрузкиДанных, ЭтотОбъект); // Конец СтандартныеПодсистемы.ЗагрузкаДанныхИзВнешнегоИсточника // Установим настройки формы для случая открытия в режиме выбора Элементы.Список.РежимВыбора = Параметры.РежимВыбора; Элементы.Список.МножественныйВыбор = ?(Параметры.ЗакрыватьПриВыборе = Неопределено, Ложь, Не Параметры.ЗакрыватьПриВыборе); Если Параметры.РежимВыбора Тогда КлючНазначенияИспользования = "ВыборПодбор"; РежимОткрытияОкна = РежимОткрытияОкнаФормы.БлокироватьОкноВладельца; Параметры.Свойство("ОткрытиеИзФормыКонтрагента",ОткрытиеИзФормыКонтрагента); Если ОткрытиеИзФормыКонтрагента Тогда Элементы.ФормаСоздать.Видимость = Ложь; Элементы.ФормаСкопировать.Видимость = Ложь; Элементы.СписокКонтекстноеМенюСоздать.Видимость = Ложь; Элементы.СписокКонтекстноеМенюСкопировать.Видимость = Ложь; КонецЕсли; Иначе КлючНазначенияИспользования = "Список"; КонецЕсли; ////////////////////////////////////////////// Список.Параметры.УстановитьЗначениеПараметра("Контрагент", Параметры.Контрагент); ////////////////////////////////////////////// Если Параметры.Отбор.Свойство("Контрагент") И ЗначениеЗаполнено(Параметры.Отбор.Контрагент) Тогда Список.Параметры.УстановитьЗначениеПараметра("ЕстьСвязи",Истина); Элементы.Связи.Видимость = Ложь; Элементы.Контрагент.Видимость = Ложь; // ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(Список, "Контрагент", Параметры.Отбор.Контрагент); // Параметры.Отбор.Удалить("Контрагент"); КонецЕсли; УстановитьУсловноеОформление(); ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( Список, "Недействителен", Ложь,,, Не Элементы.ПоказыватьНедействительных.Пометка); ПрочитатьИерархию(); Если НЕ Элементы.Список.РежимВыбора Тогда ВариантОтборовФормы = ""; РаботаСОтборами.ВосстановитьНастройкиОтборов(ЭтотОбъект, Список,,,Новый Структура("ОтборПериод", "ДатаСоздания"), ВариантОтборовФормы); ВосстановитьНастройкиОтборовПоСвязям(); Иначе ПредставлениеПериода = РаботаСОтборамиКлиентСервер.ОбновитьПредставлениеПериода(Новый СтандартныйПериод); Если ОбщегоНазначения.ЭтоМобильныйКлиент() Тогда РаботаСОтборами.НастроитьПанельОтборовМобильныйКлиент(ЭтотОбъект,,,"ОтборСвязи,ОтборКонтрагент,ОтборТег,ОтборИсточник,ОтборОтветственный,ОтборИерархияТекущая",,Истина); КонецЕсли; КонецЕсли; НастроитьКомандуЭкспортВАдреснуюКнигу(); // УНФ.ПанельКонтактнойИнформации КонтактнаяИнформацияПанельУНФ.ПриСозданииНаСервере(ЭтотОбъект, "КонтактнаяИнформация", "СписокКонтекстноеМеню"); // Конец УНФ.ПанельКонтактнойИнформации КонецПроцедуры |
|||
9
__user__
20.08.22
✎
19:58
|
(6)
&НаКлиенте Процедура КонтактноеЛицо1НачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; ПараметрыФормы = Новый Структура("Контрагент", Объект.Контрагент); ОткрытьФорму("Справочник.КонтактныеЛица.ФормаСписка", ПараметрыФормы); КонецПроцедуры |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |