|
Отбор спичка документов в расширении | ☑ | ||
---|---|---|---|---|
0
prozex
15.02.19
✎
17:15
|
Здравствуйте, уважаемы господа!
Я снова обращаюсь к вам за помощью. УТ 11.4. Стоит цель с помощью расширения сделать так, чтобы при открытии формы списка расходных кассовых ордеров для этой формы программно устанавливался отбор. Например, отобразить только те расходники, сумма которых больше 100 рублей. То есть, заходим в "Казначейство", нажимаем "Расходные кассовые ордера", и открывается форма списка всех кассовых ордеров с нужным отбором. Вот код: &НаСервере Процедура РасшВНДВД_ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка) Список = Новый НастройкиКомпоновкиДанных; ЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("СуммаДокумента"); ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Больше; ЭлементОтбора.ПравоеЗначение = 100; ЭлементОтбора.Использование = Истина; ЭлементОтбора.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный; ПараметрыФормы = Новый Структура; ПараметрыФормы.Вставить("ФиксированныеНастройки", Список); ЭтотОбъект.Параметры.Отбор = ПараметрыФормы; КонецПроцедуры Результат нулевой. Подскажите, как быть? |
|||
1
OldCondom
15.02.19
✎
17:31
|
||||
2
OldCondom
15.02.19
✎
17:32
|
ЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("СуммаДокумента"); ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Больше; ЭлементОтбора.Использование = Истина; ЭлементОтбора.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный; ЭлементОтбора.ПравоеЗначение = 100; |
|||
3
prozex
15.02.19
✎
17:37
|
(1), это за основу и брал.
|
|||
4
prozex
15.02.19
✎
17:38
|
(2), я тоже самое и написал в моем первом посте. Это не работает...
|
|||
5
OldCondom
15.02.19
✎
17:38
|
(3) вышло, правда, хреново.
|
|||
6
OldCondom
15.02.19
✎
17:38
|
(4) Мм... ясно.
|
|||
7
prozex
15.02.19
✎
17:42
|
Если, допустим, написать
ЭтотОбъект.Параметры.Отбор.Вставить("СуммаДокумента", 100); то покажутся только те расходники, у которых сумма равна 100 рублям. Но использовать сравнения и иные варианты отбора так не выйдет. Да и в настройках отбора в таком случае ничего не меняется, если туда зайти через интерфейс и посмотреть. |
|||
8
Franchiser
гуру
15.02.19
✎
17:43
|
пользовательские настройки могут перебить
|
|||
9
prozex
15.02.19
✎
17:45
|
(8), это логически следующий вопрос "Как запретить пользователю менять отбор формы списка документов". Но я даже хотя бы программно установить этот отбор программно не могу, не то чтобы запретить его менять.
|
|||
10
OldCondom
15.02.19
✎
17:47
|
(9) а ты найди 10 отличий в статье на итс и своим творением сперва.
|
|||
11
Franchiser
гуру
15.02.19
✎
17:47
|
Ну вообще по идее нужно смотреть что стало с настройками уже после загрузки пользовательских настроек. Смотри в отладке. Как запретить не знаю.
|
|||
12
prozex
15.02.19
✎
17:52
|
(10, прямое копирование из статьи на ИТС (только номер документа поменял на тот, которые есть в базе "00MB-000001"):
Процедура РасшВНДВД_ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка) Список = Новый НастройкиКомпоновкиДанных; ЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Номер"); ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Больше; ЭлементОтбора.Использование = Истина; ЭлементОтбора.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный; ЭлементОтбора.ПравоеЗначение = "00MB-000001"; КонецПроцедуры Результат нулевой. |
|||
13
OldCondom
15.02.19
✎
18:13
|
Ты дурак или троллишь?
|
|||
14
OldCondom
15.02.19
✎
18:14
|
Найди отличия еще раз
|
|||
15
OldCondom
15.02.19
✎
18:14
|
вставь код из (2) и посмотри результат.
|
|||
16
prozex
15.02.19
✎
18:34
|
Всем большое спасибо за помощь.
|
|||
17
OldCondom
15.02.19
✎
18:41
|
Если конфа из типовых, посмотри еще модуль ОбщегоНазначенияКлиентСервер, процедура
"УстановитьЭлементОтбораДинамическогоСписка" |
|||
18
OldCondom
15.02.19
✎
18:44
|
Точнее это БСП, так что не обязательно типая
|
|||
19
Franchiser
гуру
15.02.19
✎
18:52
|
Так в чем была ошибка ?
|
|||
20
prozex
15.02.19
✎
18:54
|
(19), не знаю. Проблема не решена.
|
|||
21
OldCondom
15.02.19
✎
18:57
|
Лолбл*ть)
Список = Новый НастройкиКомпоновкиДанных; НИ О ЧЕМ НЕ ГОВОРИТ?! |
|||
22
OldCondom
15.02.19
✎
18:58
|
что у тебя в элементах формы? Что-нибудь начинающееся на "Спи", заканчивающееся на "сок"? Не?
|
|||
23
prozex
15.02.19
✎
19:25
|
(22), да, теперь все понятно.
|
|||
24
prozex
15.02.19
✎
19:27
|
Вот так все правильно работает:
&НаСервере Процедура РасшВНДВД_ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка) ЭлементОтбора = РасходныеКассовыеОрдера.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("СуммаДокумента"); ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Меньше; ЭлементОтбора.ПравоеЗначение = 100; ЭлементОтбора.Использование = Истина; ЭлементОтбора.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный; КонецПроцедуры Где РасходныеКассовыеОрдера - это имя собственно самого элемента формы, в котором отображаются расходники. |
|||
25
prozex
15.02.19
✎
19:28
|
Еще раз всем спасибо за участие.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |