|
Как организовать отбор в форме выбора документа? УФ. | ☑ | ||
---|---|---|---|---|
0
Paul_Nevada
24.07.14
✎
16:55
|
Организовать отбор по реквизиту документа, что бы в форме выбора были только доки с Рекв1 = СсылкаНаЭлементСправочника.
|
|||
1
Paul_Nevada
24.07.14
✎
16:56
|
СсылкаНаЭлементСправочника есть изначально.
|
|||
2
Wobland
24.07.14
✎
16:59
|
||||
3
Paul_Nevada
24.07.14
✎
17:01
|
Спасибо!
|
|||
4
Paul_Nevada
24.07.14
✎
17:21
|
Дык а как процедуру привязать к стандартной кнопке формы - "Добавить"?
|
|||
5
Paul_Nevada
24.07.14
✎
17:22
|
*процедуру с настройкой отбора
|
|||
6
Wobland
24.07.14
✎
17:23
|
стандартная кнопка - это та кнопка, которая работает стандартно, не?
|
|||
7
Paul_Nevada
24.07.14
✎
17:26
|
да - зеленым написано цветом - "Добавить" - имеется сразу при создании формы в конфигураторе
|
|||
8
arccos6pi
24.07.14
✎
17:28
|
||||
9
Wobland
24.07.14
✎
17:30
|
(7) а ты от неё хочешь нестандаартности
|
|||
10
Goggy
24.07.14
✎
17:32
|
Всё намного проще на УФ.
Учитесь готовить кошек правильно. - На форму кидаешь поле ввода(соответственно выстави правильный тип значения реквизита) например Реквизит "ОтборКлиент" с типом СправочникСсылка.Клиенты. - Устанавливаешь обработчик ПриИзменении: &НаКлиенте Процедура ОтборКлиентПриИзменении(Элемент) РаботаСФормамиКлиент.ИзменитьЭлементОтбораСписка(Список, "Клиент", ОтборКлиент, ЗначениеЗаполнено(ОтборКлиент)); КонецПроцедуры Содержимое самого клиентского модуля "РаботаСФормамиКлиент": // ПРОЦЕДУРЫ И ФУНКЦИИ РАБОТЫ С ДИНАМИЧЕСКИМИ СПИСКАМИ // Удаляет элемент отбора динамического списка // //Параметры: //Список - обрабатываемый динамический список, //ИмяПоля - имя поля компоновки, отбор по которому нужно удалить // Процедура УдалитьЭлементОтбораСписка(Список, ИмяПоля) Экспорт ПолеКомпоновки = Новый ПолеКомпоновкиДанных(ИмяПоля); Счетчик = 1; Пока Счетчик <= Список.Отбор.Элементы.Количество() Цикл ЭлементОтбора = Список.Отбор.Элементы[Счетчик - 1]; Если ТипЗнч(ЭлементОтбора) = Тип("ЭлементОтбораКомпоновкиДанных") И ЭлементОтбора.ЛевоеЗначение = ПолеКомпоновки Тогда Список.Отбор.Элементы.Удалить(ЭлементОтбора); Иначе Счетчик = Счетчик + 1; КонецЕсли; КонецЦикла; КонецПроцедуры // УдалитьЭлементОтбораСписка() // Устанавливает элемент отбор динамического списка // //Параметры: //Список - обрабатываемый динамический список, //ИмяПоля - имя поля компоновки, отбор по которому нужно установить, //ВидСравнения - вид сравнения отбора, по умолчанию - Равно, //ПравоеЗначение - значение отбора // Процедура УстановитьЭлементОтбораСписка(Список, ИмяПоля, ПравоеЗначение, ВидСравнения = Неопределено) Экспорт ЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(ИмяПоля); ЭлементОтбора.ВидСравнения = ?(ВидСравнения = Неопределено, ВидСравненияКомпоновкиДанных.Равно, ВидСравнения); ЭлементОтбора.Использование = Истина; ЭлементОтбора.ПравоеЗначение = ПравоеЗначение; ЭлементОтбора.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный; КонецПроцедуры // УстановитьЭлементОтбораСписка() // Изменяет элемент отбора динамического списка // //Параметры: //Список - обрабатываемый динамический список, //ИмяПоля - имя поля компоновки, отбор по которому нужно установить, //ВидСравнения - вид сравнения отбора, по умолчанию - Равно, //ПравоеЗначение - значение отбора, //Установить - признак необходимости установить отбор // Процедура ИзменитьЭлементОтбораСписка(Список, ИмяПоля, ПравоеЗначение = Неопределено, Установить = Ложь, ВидСравнения = Неопределено, ОтборПоПериоду = Ложь) Экспорт УдалитьЭлементОтбораСписка(Список, ИмяПоля); Если Установить Тогда Если ОтборПоПериоду Тогда УстановитьЭлементОтбораСписка(Список, ИмяПоля, ПравоеЗначение.ДатаНачала, ВидСравненияКомпоновкиДанных.БольшеИлиРавно); УстановитьЭлементОтбораСписка(Список, ИмяПоля, ПравоеЗначение.ДатаОкончания, ВидСравненияКомпоновкиДанных.МеньшеИлиРавно); Иначе УстановитьЭлементОтбораСписка(Список, ИмяПоля, ПравоеЗначение, ВидСравнения); КонецЕсли; КонецЕсли; КонецПроцедуры // ИзменитьЭлементОтбораСписка() З.Ы. При желании, отблагодарить разрешаю пивом, территориально МСК :) |
|||
11
Paul_Nevada
24.07.14
✎
18:03
|
=)
|
|||
12
Paul_Nevada
24.07.14
✎
18:03
|
вот так сделал:
Ответ = ОткрытьФормуМодально("Документ.АктВыполненныхРабот.ФормаВыбора", Новый Структура("Отбор", Новый Структура("Плательщик", Объект.Плательщик))); |
|||
13
Paul_Nevada
24.07.14
✎
18:04
|
теперь надо бы обработать Ответ... и, не пойму - что в Ответе-то... не могу сейчас обратиться к реквизитам документа, выбранного в форме выбора...
|
|||
14
Paul_Nevada
24.07.14
✎
18:05
|
Ответ Акт выполненных работ 000000003 от 22.07.2014 15:55:03 ДокументСсылка.АктВыполненныхРабот
|
|||
15
Paul_Nevada
24.07.14
✎
18:05
|
Тип = ДокументСсылка.АктВыполненныхРабот
Значение = Акт выполненных работ 000000003 от 22.07.2014 15:55:03 |
|||
16
Paul_Nevada
24.07.14
✎
18:05
|
а почему не могу обращаться к реквизитам-то?
|
|||
17
Timon1405
24.07.14
✎
18:05
|
модальность нынче не в моде http://v8.1c.ru/o7/201312ref/index.htm
|
|||
18
arccos6pi
24.07.14
✎
18:07
|
(16) потому что на клиенте
передавайте на сервер и обращайтесь сколько влезет |
|||
19
Paul_Nevada
24.07.14
✎
18:19
|
(18) Спасибо!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |