|
Как сделать отбор в форме списка справочника ? | ☑ | ||
---|---|---|---|---|
0
rogachev
11.09.19
✎
16:54
|
Добрый день всем!
В форме справочника два реквезита . контрагент и договор мне нужно чтобы отбирались все договора именно выбранного контрагента с отбором по виду договора - Договор поручителя что для этого нужно ? связь параметров выбора в реквизите ДоговорКонтрагента ? Отбор по владельцу. Отбор .Владелец .Контрагент .Очищать программно не работает Лк_ДоговрПоручителяНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; ПараметрыОткрытия = Новый Структура(); ПараметрыОткрытия.Вставить("Лк_ДоговорПоручителя", Объект.ДоговорПоручителя); ОткрытьФорму("Справочник.ДоговорыКонтрагентов.ФормаВыбора", ПараметрыОткрытия, ЭтотОбъект); |
|||
1
sqr4
11.09.19
✎
16:56
|
(0) работает. Приучи себя писать конфу или хотябы какое приложение.
|
|||
2
rogachev
11.09.19
✎
16:57
|
(1) что я делаю не так подскажи
|
|||
3
sqr4
11.09.19
✎
17:00
|
(2) по дебильному задаешь вопросы и не даешь полной информации помогающему.
По тому что я понял, у тебя не правильные параметры открытия. Т.к в них нужно еще засунуть структуру с отбором. ПараметрыОткрытия = Новый Структура(); ПараметрыОткрытия.Вставить("Отбор", Новый Структура("Лк_ДоговорПоручителя", Объект.ДоговорПоручителя)); |
|||
4
rogachev
11.09.19
✎
17:12
|
(3) ты фигню сморозил, задаю вопросы как нужно . просто ты не в теме и код написал не рабочий
|
|||
5
sqr4
11.09.19
✎
17:14
|
(4) не рабочий код у тебя, еще и огрызается трындец
|
|||
6
rogachev
11.09.19
✎
17:15
|
(5) у тебя не рабочий
|
|||
7
rogachev
11.09.19
✎
17:16
|
(5) у меня код из рабочей процедуры
СтандартнаяОбработка = Ложь; ПараметрыОткрытия = Новый Структура(); ПараметрыОткрытия.Вставить("КодПоОКОФ", Объект.КодПоОКОФ); ПараметрыОткрытия.Вставить("АмортизационнаяГруппа", Объект.АмортизационнаяГруппа); ОткрытьФорму("Справочник.ОсновныеСредства.Форма.ФормаВыбораАмортизационнойГруппы", ПараметрыОткрытия, ЭтотОбъект); |
|||
8
rogachev
11.09.19
✎
17:17
|
(5) а вот ты фигню написал
|
|||
9
sqr4
11.09.19
✎
17:18
|
ПараметрыОткрытия.Вставить("Лк_ДоговорПоручителя", Объект.ДоговорПоручителя);
Это же твой код, ты же не отличаешь поле по которому нужно сделать отбор и название своего поля в которое выбираешь. Для тебя все это одно и тоже, а будешь дерзить, пойдешь лесом, вернее уже иди. |
|||
10
sqr4
11.09.19
✎
17:18
|
(8) Почитай про расширения управляемых форм потом вякалку открывай
|
|||
11
rogachev
11.09.19
✎
17:20
|
(10) вякалка у твоей собаки . сам читай
|
|||
12
rogachev
11.09.19
✎
17:20
|
(10) гнусный тип
|
|||
13
sqr4
11.09.19
✎
17:20
|
(7) тут вероятнее всего, параметры отрабатываются уже в форме, а не автоматом делается отбор по дин списку, хотя уверен, ты даже проверить не сможешь... Все нахер иди
|
|||
14
rogachev
11.09.19
✎
17:22
|
(13) нахер ты пойдешь .
|
|||
15
sqr4
11.09.19
✎
17:23
|
(14) охренеть, борзометр зашкаливает, школота сраная
|
|||
16
sqr4
11.09.19
✎
17:23
|
(14) Кроме как стрелочки метать, папашка не научил ничему больше да.
|
|||
17
rogachev
11.09.19
✎
17:27
|
(16) мамашка ты тролль обыкновенный
|
|||
18
sqr4
11.09.19
✎
17:29
|
https://v8.1c.ru/metod/faq2/answer.jsp?id=548
первый метод, ничего не напоминает? А теперь со своими потугами сравни. |
|||
19
rogachev
11.09.19
✎
17:31
|
(18) Запарил подучи :
Как открыть форму списка с некоторым отбором? Есть несколько способов для того, чтобы открыть форму списка с некоторым, заранее установленным отбором. Рассмотрим их по-порядку: 1. Первый способ заключается в том, что при открытии формы можно задать параметр формы Отбор, и открыть форму списка с этим параметром. Параметр Отбор представляет собой структуру. Имена элементов соответствуют именам полей, по которым производится отбор, а значения содержат значения отбора. Это параметр расширения управляемой формы динамического списка. То есть он существует у форм, основным реквизитом которых является реквизит типа Динамический Список, например у форм списка и форм выбора. В процессе открытия формы будет установлен отбор по указанному полю. Например, в следующем примере открывается список приходных накладных с отбором по полю Номер, равному 333. ЗначениеОтбора = Новый Структура("Номер", "333"); ПараметрыВыбора = Новый Структура("Отбор", ЗначениеОтбора); ОткрытьФорму("Документ.ПриходнаяНакладная.ФормаСписка",ПараметрыВыбора); 2. Можно открыть форму списка без параметров: ОткрытьФорму("Документ.ПриходнаяНакладная.ФормаСписка"); И затем, в обработчике события формы списка приходных накладных ПриСозданииНаСервере написать код, который создает отбор в динамическом списке, являющемся основным реквизитом формы: &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) ЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Номер"); ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Больше; ЭлементОтбора.Использование = Истина; ЭлементОтбора.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный; ЭлементОтбора.ПравоеЗначение = "000000001"; КонецПроцедуры Преимущества данного метода в том, что ВидСравнения у отбора можно задавать не только Равно, как в первом случае, а и Больше, Меньше и т.п. Но у такого способа есть и очень существенный недостаток: с этим отбором форма будет открываться всегда. Откуда бы ее ни вызвали. Поэтому такую форму не следует назначать основной. А если все же она основная - то перед установкой отбора, необходимо предусмотреть какой-то анализ того, откуда открывается эта форма. Например, анализируя параметры формы. 3. И наконец, условие отбора можно поместить в произвольный запрос, выбирающий данные для динамического списка. Например, нам нужно открыть список приходных накладных, в которых присутствует номенклатура, выделенная в списке номенклатуры. Для этого в форме списка номенклатуры создадим команду и соответствующую ей кнопку Приходные накладные. Обработчик выполнения этой команды заполним следующим образом: &НаКлиенте Процедура ПриходныеНакладные(Команда) ФормаСписка = ПолучитьФорму("Документ.ПриходнаяНакладная.ФормаСписка"); ФормаСписка.ФильтрПоТовару = Элементы.Список.ТекущаяСтрока; ФормаСписка.Открыть(); КонецПроцедуры В этом обработчике мы получаем форму списка приходных накладных и передаем в параметр формы ФильтрПоТовару ссылку на текущий элемент в списке номенклатуры и открываем форму с этим параметром. Затем создадим форму списка документов ПриходнаяНакладная и создадим реквизит формы ФильтрПоТовару, который мы будем использовать в качестве параметра формы при ее открытии. Теперь откроем палитру свойств основного реквизита формы Список. Установим флаг ПроизвольныйЗапрос и в строке Настройка списка нажмем Открыть. В поле Запрос введем следующий текст запроса: ВЫБРАТЬ ДокументПриходнаяНакладная.Номер, ДокументПриходнаяНакладная.Дата ИЗ Документ.ПриходнаяНакладная КАК ДокументПриходнаяНакладная ГДЕ ДокументПриходнаяНакладная.Товары.Товар = &Товар В запросе мы используем параметр Товар, в который и будет передаваться ссылка на текущую строку в списке номенклатуры, содержащуюся в параметре формы списка приходных накладных ФильтрПоТовару. Для этого в обработчике события формы списка ПриОткрытии напишем код для установки значения параметра запроса Товар: &НаКлиенте Процедура ПриОткрытии(Отказ) Список.Параметры.УстановитьЗначениеПараметра("Товар", ФильтрПоТовару); КонецПроцедуры Здесь Список.Параметры - это список параметров запроса динамического списка для реквизита Список. Значение параметра Товар устанавливается равным значению параметра формы ФильтрПоТовару. |
|||
20
sqr4
11.09.19
✎
17:31
|
(19) ахахахахах
|
|||
21
sqr4
11.09.19
✎
17:32
|
(19) знатно ты обосрался
|
|||
22
sqr4
11.09.19
✎
17:32
|
ладно, тужся дальше, глядишь что то выйдет
|
|||
23
rogachev
11.09.19
✎
17:33
|
(21) ты школота . сам обосраный
|
|||
24
sqr4
11.09.19
✎
17:34
|
(23) да все наскучило мне уже, давай задачу решать
|
|||
25
hhhh
11.09.19
✎
17:42
|
(23) ну ты из (19) какой способ применил из трех. Что-то непонятно
|
|||
26
sqr4
11.09.19
✎
17:44
|
(25) Вангую, что после того как отфильтруется, он и подбирать не будет.
|
|||
27
sqr4
11.09.19
✎
17:48
|
Установить отбор в динамическом списке по договору предыдущие потуги
|
|||
28
rogachev
11.09.19
✎
17:48
|
(26) Вангую-Предвижу?
|
|||
29
rogachev
11.09.19
✎
17:48
|
(27) ну ты еще белье мое перерой
|
|||
30
sqr4
11.09.19
✎
17:53
|
(29) то в которое ты знатно обосрался))) ха.
а "Лк_ДоговрПоручителя" это крутое название для реквизита, а букву "о", просто нет желания поставить? |
|||
31
rogachev
11.09.19
✎
17:58
|
(30) (30) Ты долб сказочный .которому нечем себя занять . иди в майл ответы и там тролль
|
|||
32
sqr4
11.09.19
✎
17:59
|
ПараметрыОткрытия = Новый Структура();
ПараметрыОткрытия.Вставить("Отбор", Новый Структура("Вот тут названия реквизита по которому отбор из справочника договоров", Вот тут значение из твоей формы)); //Отбор просто обязателен, смотри пример, который ты сам прислал в (19) ОткрытьФорму("Справочник.ДоговорыКонтрагентов.ФормаВыбора", ПараметрыОткрытия, ЭтотОбъект); //ЭтотОбъект в данном случае форма, а тебе нужен Элемент или поле в которое должно сохраниться. (31) ага, второй день, на форму выбора отбор сделать не можешь а "долб" я. Хотя решение тебе я написал, уже раза три - четыре. Там походу еще и типы реквизитов не совпадают и куча всякой херни. Плохо тебе вообщем. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |