Имя: Пароль:
1C
 
Как реализовать отбор по контрагенту договора?
🠗 (Fish 11.03.2020 11:50)
, , , ,
0 KoderZ
 
10.03.20
17:01
Всем привет!
Подскажите есть два поля в форме обработки   Владелец - Контрагент и Договор

как можно программно отобрать договора выбранного контрагента?
1 dka80
 
10.03.20
17:03
Ты хочешь, чтобы в форме подбора договоров показались только договора выбранного контрагента? Используй Свойство поля Договор "Связь параметров выбора"
2 KoderZ
 
10.03.20
17:05
(1) не хочу я связи параметров использовать . мне надо  если выбран  контрагент отбирать .если не выбран . то все договора можно их искать по названию в поле выбора .
3 dka80
 
10.03.20
17:10
Ну при открытии формы подбора устанавливай или тогда отбор на владельца, либо передавай конкретный допустимый список договоров.
А сам список выбирай запросом
4 KoderZ
 
10.03.20
17:13
(3) пример можно? рабочий
5 Cyberhawk
 
10.03.20
17:19
Платформенные связи параметров выбора не устраивают тем, что при выборе договора тебя заставляют сначала выбрать контрагента?
Так это не платформенные, это прикладная форма выбора договора так себя ведет.
6 dka80
 
10.03.20
17:21
ЗначениеОтбора = Новый Структура("ЗарплатныйПроект", ЗарплатныйПроект(ЦелеваяЗаявка));
    ПараметрыВыбора = Новый Структура("Отбор", ЗначениеОтбора);
    
    ПараметрыФормы = Новый Структура;
    ПараметрыФормы.Вставить("РежимВыбора", Истина);
    ПараметрыФормы.Вставить("МножественныйВыбор", Истина);
    ПараметрыФормы.Вставить("Отбор", ЗначениеОтбора);
    Форма = ПолучитьФорму("Документ.ЗаявкаНаОткрытиеЛицевыхСчетовСотрудников.ФормаСписка", ПараметрыФормы, ЭтаФорма);
    Форма.Открыть();
7 KoderZ
 
10.03.20
17:25
(6) щас проверю
8 KoderZ
 
10.03.20
17:27
(6) ЗначениеОтбора = Новый Структура("Владелец", Объект.Владелец);
    ПараметрыВыбора = Новый Структура("Отбор", ЗначениеОтбора);
    
    ПараметрыФормы = Новый Структура;
    ПараметрыФормы.Вставить("РежимВыбора", Истина);
    ПараметрыФормы.Вставить("МножественныйВыбор", Истина);
    ПараметрыФормы.Вставить("Отбор", ЗначениеОтбора);
    Форма = ПолучитьФорму("Справочник.ДоговорыКонтрагентов.ФормаСписка", ПараметрыФормы, ЭтаФорма);
    Форма.Открыть();
    
так?
9 vicof
 
10.03.20
17:31
Нет
10 Chameleon1980
 
10.03.20
17:32
(8) ну а тебе не видно получилось или нет?
11 vicof
 
10.03.20
17:32
Владельца у контрагента нет
12 KoderZ
 
10.03.20
17:33
(11) он в форме назван как Владелец
13 vicof
 
10.03.20
17:33
(12) Тогда ладно)
14 KoderZ
 
10.03.20
17:37
Несоответствие типов
{Обработка.РабочееМестоЛизинг.Форма.ФормаЭлемента.Форма(3329)}:    ПараметрыВыбора = Новый Структура("Отбор", ЗначениеОтбора);

по причине:
Несоответствие типов
15 vicof
 
10.03.20
17:37
Назови ПараметрыВыбора по-другому
16 KoderZ
 
10.03.20
17:38
(15) это как?
17 dka80
 
10.03.20
17:39
ПараметрыВыбора = Новый Структура("Отбор", ЗначениеОтбора);

Вот эта строка зачем тебе вообще?
18 vicof
 
10.03.20
17:40
ПараметрыВыбора2, например
19 acht
 
10.03.20
18:57
(14) Снова с лизингом маятесь, Андрей Николаевич?
20 KoderZ
 
11.03.20
09:34
(19) маетесь это вы. а мы трудимся
21 Михаил Михайлович
 
11.03.20
09:50
опять ливингстар?
22 KoderZ
 
11.03.20
10:16
(21) это .что по русски ?
23 KoderZ
 
11.03.20
10:16
не работает отбор . что я делаю не так?

&НаКлиенте
Процедура ВладелецНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    
    
    
        СтандартнаяОбработка = Ложь;
    
    ПараметрыФормы = Новый Структура;
    
    Отборы = Новый Структура;
    Отборы.Вставить("Владелец", Объект.Владелец);

    
    ПараметрыФормы.Вставить("Отбор", Отборы);
    
    ОткрытьФорму("Справочник.ДоговорыКонтрагентов.ФормаВыбора", ПараметрыФормы, Элементы.Владелец);




КонецПроцедуры
24 hhhh
 
11.03.20
10:27
(23) вот тут хрень какая-то

Элементы.Владелец

что за Элементы.Владелец ??
25 KoderZ
 
11.03.20
10:34
(24) поле выбора контрагента . имя Владелец .путь к данным Объект.Владелец
Объект- Справочник ДоговораКонтрагентов
26 hhhh
 
11.03.20
10:45
(25) поле выбора у вас здесь договор. Вы договор выбираете в этой процедуре. Какой нахрен поле выбора Владелец?
27 dka80
 
11.03.20
10:47
(26) что ты докапался до Элементы.Владелец? Это вообще кому вернется результат выбора. У него форма без отбора открывается.
28 KoderZ
 
11.03.20
10:54
(26) (27) сходи по ссылке  http://1s-portal.ru/index.php/stati/configuration/3-form/87-kak-ustanovit-otbor-v-otkryvaemoj-forme.html

и не задавай вопросов .
29 KoderZ
 
11.03.20
10:55
(26) переделай мой код . и напиши куда его вставить
30 KoderZ
 
11.03.20
10:59
не работает

&НаКлиенте
Процедура ВладелецНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    
       СтандартнаяОбработка= Ложь;
     ЗначениеОтбора = Новый Структура("Договор", Договор);
    ПараметрыВыбора = Новый Структура("Отбор", ЗначениеОтбора);

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


КонецПроцедуры
31 KoderZ
 
11.03.20
11:08
кто подскажет .что не так?

&НаКлиенте
Процедура ДоговорНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
      ЗначениеОтбора = Новый Структура("Владелец", Элементы.Контрагент);
    ПараметрыВыбора = Новый Структура("Отбор", ЗначениеОтбора);

    ОткрытьФорму("Справочник.ДоговорыКонтрагентов.ФормаВыбора",ПараметрыВыбора, Элемент);
КонецПроцедуры


{Обработка.РабочееМестоЛизинг.Форма.ФормаЭлемента.Форма(5129)}: Ошибка при установке значения атрибута контекста (ПараметрыВыбора)
    ПараметрыВыбора = Новый Структура("Отбор", ЗначениеОтбора);
по причине:
Несоответствие типов
Несоответствие типов
32 dka80
 
11.03.20
11:10
ПараметрыВыбора - предопределенная переменная
Напиши
ПараметрыВыбора2 = Новый Структура("Отбор", ЗначениеОтбора);

    ОткрытьФорму("Справочник.ДоговорыКонтрагентов.ФормаВыбора",ПараметрыВыбора2, Элемент);
59 KoderZ
 
11.03.20
12:51
Так работает . мож кому то пригодится ,  народ тут малограмотный и хамливый . неприятно . модеры не банят уже таких ,очень странно


&НаКлиенте
Процедура ДоговорНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
     СтандартнаяОбработка=Ложь;

Если ЗначениеЗаполнено(Объект.Владелец) Тогда

П = Новый Структура("Владелец", Объект.Владелец);
тФорма = ПолучитьФорму("Справочник.ДоговорыКонтрагентов.Форма.ФормаВыбора", Новый Структура("Отбор",П));

тФорма.Открыть();
иначе
тФорма = ПолучитьФорму("Справочник.ДоговорыКонтрагентов.Форма.ФормаВыбора");
тФорма.Открыть();
КонецЕслИ;
  
КонецПроцедуры