Имя: Пароль:
1C
1С v8
Отключить выбор владельца, при выборе из подчинённого справочника(ОФ)
0 Kigo_Kigo
 
26.05.22
11:15
Есть Справочник договора, нужно отключить при интерактивном выборе, выбор Владельца(контрагента), как подскажите?
Смысл, хочу открыть справочник договоров с наложенными фильтрами, но пропустить выбор владельца(контрагента), в обработке подбора владельца заполню, это не проблема
1 yopQua
 
26.05.22
11:36
ну как стандартную обработку в ложь, получаешь форму списка, ставишь фильтры, открываешь ее, потом обработка выбора
2 yopQua
 
26.05.22
11:36
это если не уточнять полдесятка вопросов
3 yopQua
 
26.05.22
11:40
а так.. почему бы связь по владельцу не поставить?
4 Kigo_Kigo
 
26.05.22
11:41
(1) (2) все равно , сначала просит выбрать владельца, пробую програмно, сделал кнопку подбор,

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

КонецПроцедуры
5 Kigo_Kigo
 
26.05.22
11:41
Просит выбрать владельца
6 yopQua
 
26.05.22
11:44
(4) не видно отключения стандартной обработки, зачем тут отдельной кнопкой

Процедура НоменклатураНачалоВыбора(Элемент, СтандартнаяОбработка)

СтандартнаяОбработка = Ложь;
Форма = Справочники.Номенклатура.ПолучитьФормуВыбора( , Элемент);
Форма.Отборы тра та та;
Форма.Открыть();

если так, то обоработка выбора и не нужна
7 Kigo_Kigo
 
26.05.22
11:48
Так как это не работает, пытаюсь как то достич результата
Процедура ДанныеПредметовАрендыДоговорНачалоВыбора(Элемент, СтандартнаяОбработка)
    СтандартнаяОбработка = Ложь;
    
    ТекущиеДанные = ЭлементыФормы.ДанныеПредметовАренды.ТекущаяСтрока;
    ФормаВыбора = Справочники.ДоговорыКонтрагентов.ПолучитьФормуВыбора(,Элемент,);
    ФормаВыбора.СправочникСписок.Отбор.Владелец.ВидСравнения = ВидСравнения.Равно;
    Если Не ТекущиеДанные.Контрагент = Неопределено Тогда
        ФормаВыбора.СправочникСписок.Отбор.Владелец.Значение = ТекущиеДанные.Контрагент;
    Иначе
        ФормаВыбора.СправочникСписок.Отбор.Владелец.Значение =Справочники.Контрагенты.ПустаяСсылка();
    КонецЕсли;
    ФормаВыбора.Отбор.Владелец.Использование = Истина;

    Если НЕ Организация = Неопределено Тогда
        // Оставим в выборе только записи с организацией из документа и те, в которых организация вообще не указана
        СписокОрганизаций = Новый СписокЗначений;
        СписокОрганизаций.Добавить(Организация);
        ФормаВыбора.СправочникСписок.Отбор.Организация.ВидСравнения = ВидСравнения.ВСписке;
        ФормаВыбора.СправочникСписок.Отбор.Организация.Значение         = СписокОрганизаций;
        ФормаВыбора.СправочникСписок.Отбор.Организация.Использование    = Истина;

    КонецЕсли;
    ФормаВыбора.ЭлементыФормы.СправочникСписок.ТекущаяСтрока = Элемент.Значение;
    ФормаВыбора.Открыть();
КонецПроцедуры
8 yopQua
 
26.05.22
11:59
еще такая шляпа есть

ФормаВыбора.ПараметрВыборПоВладельцу = ЭлементыФормы.Товары.ТекущиеДанные.Номенклатура;
ФормаВыбора.ПараметрОтборПоВладельцу = ЭлементыФормы.Товары.ТекущиеДанные.Номенклатура;
9 yopQua
 
26.05.22
12:03
это не ясно как
ФормаВыбора.ЭлементыФормы.СправочникСписок.ТекущаяСтрока = Элемент.Значение;

вот прям вой случай
Процедура ТоварыСерияНоменклатурыНачалоВыбора(Элемент, СтандартнаяОбработка)

    СтандартнаяОбработка = Ложь;

    // В качестве владельца формы выбора устанавливаем данный элемент,
    // чтобы выбранное значение было присвоено стандартно.
    ФормаВыбора = Справочники.СерииНоменклатуры.ПолучитьФормуВыбора(,Элемент,);

    // Отфильруем список документов по договору.
    Если ЗначениеЗаполнено(НомерГТД) Тогда
        ФормаВыбора.Отбор.НомерГТД.Значение      = НомерГТД;
        ФормаВыбора.Отбор.НомерГТД.Использование = Истина;
    КонецЕсли;

    ФормаВыбора.ПараметрВыборПоВладельцу = ЭлементыФормы.Товары.ТекущиеДанные.Номенклатура;
    ФормаВыбора.ПараметрОтборПоВладельцу = ЭлементыФормы.Товары.ТекущиеДанные.Номенклатура;

    ФормаВыбора.Открыть();

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

отбор.владелец тоже должен работать
10 Kigo_Kigo
 
26.05.22
13:49
(8) (9) Тоже не работает :(, не ужели никто не делал?
11 yopQua
 
26.05.22
13:57
9 это из типовой, так что извините, прошу к зеркалу
12 1Сергей
 
26.05.22
13:58
Нихера не понял. А связь параметров выбора не предлагали ещё?
13 Kigo_Kigo
 
26.05.22
13:59
(11) Правильно, что отбор по владельцу, ПараметрВыборПоВладельцу , если его явно указываешь(не пустая ссылка) тогда сразу переходит в сравочник договор, а если пустая ссылка, тогда сначало надо выбрать владельца
14 Kigo_Kigo
 
26.05.22
14:01
(12) Она мне не нужна, мне нужно открыть справочник "Договоры" без владельца и без запроса "Выберите контрагента для Справочника "Договоры"", у меня фильтр по организации с которой заключен договор, из них надо выбрать определенные договора - пользователям, а контрагенты проставятся сами как договор.Владелец
15 1Сергей
 
26.05.22
14:02
(14) У Вас есть список выбора без отбора по владельцу?
16 Kigo_Kigo
 
26.05.22
14:03
(15) Нет
17 Kigo_Kigo
 
26.05.22
14:11
Все нашел, что я туда сразу то не глянул, в форме выбора Договоров при открытии стоит - если Отбор.владелец не заполнен, открывается форма выбора владельца
Такой вопросик, как отключить иерархическийПросмотр?
18 yopQua
 
26.05.22
14:50
инна.. инна!
19 Kigo_Kigo
 
26.05.22
16:00
(17) Все разобрался
Пустую ссылку контрагента как владельца передавать в отбор не надо, иначе отберет по пустой ссылке