|
Открытие формы выбора с отбором. Fedor-1971, takefive, PLUT, arsik, Fregat, Lama12, Garykom, Timon1405, Мультук, Prog_man, viraboy, Fragster, kamysh, Niveus, okmail, integer, Климов Сергей, DrLekter, JohnGilbert, Hawk_1c, comp2006, hollow138, 2S, Макс77, Tatitutu, Mr_Boogie, Hans, obs191, KJlag, AlexKimp, Kongo2019, kir-g, H A D G E H O G s, reg0303, Vstur, denk32, КонецЕсли, Greeen, Homer, Hmster, zenik, alexela, Волшебник, paramedic, Somebody, Dirk Diggler, maxar, lirt82
| ☑ | ||
|---|---|---|---|---|
|
0
lirt82
11.08.26
✎
14:45
|
Всем привет, есть документ у него таб часть Товары, есть команда заполнения таб части Товары, при выборе команды заполнения таб части Товары, открывается доп. окно с выбором счета из плана счетов. Как зашить отбор когда пользователь проваливается в реквизит а у него уже фильтр настроен чтобы он что попало не выбирал? Код не отрабатывает
&НаКлиенте Процедура Счет7XНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; СписокСчетов7Х = Новый СписокЗначений; ПараметрыВыбора = Новый Структура("Отбор", СписокСчетов7Х()); ОткрытьФорму("ПланСчетов.Хозрасчетный.ФормаВыбора", ПараметрыВыбора); КонецПроцедуры &НаСервере Функция СписокСчетов7Х() Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Хозрасчетный.Ссылка КАК Счет |ИЗ | ПланСчетов.Хозрасчетный КАК Хозрасчетный |ГДЕ | Хозрасчетный.Код ПОДОБНО ""7%"""; ТЗ = Запрос.Выполнить().Выгрузить(); МассивЗначений = ТЗ.ВыгрузитьКолонку("Счет"); Список7Х = Новый СписокЗначений; Список7Х.ЗагрузитьЗначения(МассивЗначений); Возврат Список7Х; КонецФункции |
|||
|
1
Fragster
гуру
11.08.26
✎
14:54
|
а через параметры выбора мышью накликать не получается?
|
|||
|
2
Tatitutu
11.08.26
✎
15:05
|
(0)
это лишняя строка СписокСчетов7Х = Новый СписокЗначений; а зачет ты форму открываешь ОткрытьФорму("ПланСчетов.Хозрасчетный.ФормаВыбора", ПараметрыВыбора); ДанныеВыбора = ВыбратьИЗСписка( или ДанныеВыбора = ВыбратьИзМеню( |
|||
|
3
Fedor-1971
11.08.26
✎
15:31
|
(0) Отбор работает только на равенство, вот так попробуй:
масСчетов = СписокСчетов7Х();
НовыйМассивПараметров = Новый Массив;
НовыйМассивПараметров.Добавить(Новый ПараметрВыбора("Отбор.Ссылка", Новый ФиксированныйМассив(масСчетов)));
НовыйМассивПараметров.Добавить(Новый ПараметрВыбора("Отбор.Валютный", Ложь));
НовыйМассивПараметров.Добавить(Новый ПараметрВыбора("Отбор.ЗапретитьИспользоватьВПроводках", Ложь));
Форма.Элементы.СчетУчетаРасчетовПоАвансам.ПараметрыВыбора = Новый ФиксированныйМассив(НовыйМассивПараметров);
Т.е. сначала выставляешь отборы, потом просто открываешь форму выбора - фильтры выставит сам система |
|||
|
4
PLUT
гуру
11.08.26
✎
15:18
|
(0) как вариант, при вызове формы выбора добавить в параметры свойство "жоскийотбор" со списком нужных счетов
а в форме выбора в процедуре ПриСозданииНаСервере() добавить костылики свои: проверку на свойство "жоскийотбор" в параметрах и добавить магию ТекущиеНастройки = Список.КомпоновщикНастроек.Настройки; КомпоновщикОтбора = ТекущиеНастройки.Отбор; //тут какая-то магия по программному удалению ненужных отборов и добавлению нужных (т.к. пользователь может нах.евертить своих отборов) //Загружаем настройки обратно в список Список.КомпоновщикНастроек.ЗагрузитьНастройки(ТекущиеНастройки); |
|||
|
5
Fedor-1971
11.08.26
✎
15:19
|
(4) Слишком вопросно поддерживать, главное не забыть что и для чего отбирали
|
|||
|
6
PLUT
гуру
11.08.26
✎
15:23
|
(5) вообще не сложно, можно в расширение запихнуть костыли, ну и трехстороннее автообновление не сломается, если с "замочка" сняли форму выбора
|
|||
|
7
Fedor-1971
11.08.26
✎
15:29
|
(6) Через год вспомнишь что за отбор "жоскийотбор" (даже в осмысленном названии)?
Кроме того, есть вероятность, что этот отбор модифицируют и он перестанет соответствовать названию - получим проблемы на ровном месте. В (3) всё красиво - одна точка, прямо по месту требования, если что-то захотят добавить, то исправляют тут же и не парятся за влияние на другие документы. И без дополнительного кода в других формах |
|||
|
8
PLUT
гуру
11.08.26
✎
15:29
|
(7) комментарии потомкам можно оставить, если на буквах не экономить
у меня обычно номер тикета (из сервисдеска) и дата. я на буквах экономлю |
|||
|
9
PLUT
гуру
11.08.26
✎
15:32
|
(7)
в (3) не будет работать, т.к. пользовательские настройки формы (если они есть) наложатся на твой отбор и получится "болт" - пустая форма выбора в лучшем случае |
|||
|
10
Fedor-1971
11.08.26
✎
15:34
|
(8) Это как удобнее. Главное не потерять / почистить БД с тикетами, будет совсем непонятно зачем такое делали
|
|||
|
11
PLUT
гуру
11.08.26
✎
15:35
|
(10) все ходы записаны. в сервисдеск откуда попадают хотелки?
правильно - из почты на ящик службы технического сочувствия. главное еще и ящик не протерять в случае протери БД с тикетами |
|||
|
12
Fedor-1971
11.08.26
✎
15:38
|
(9) Нет, это как раз штатный отбор нескольких значений
Если есть пользовательский отбор - он налаживается на список после штатного и пустая форма будет только при отсутствии в штатном данных для отбора пользователя Если совсем красиво делать, то настройки отбора для элемента формы надо делать, например, ПриНачалеРедактированияСтроки |
|||
|
13
PLUT
гуру
11.08.26
✎
15:43
|
(12) откуда такая уверенность?
вот, например, грабля в посте с номером 0 Как отключить пользовательский отбор на форме выбора |
|||
|
14
Fedor-1971
11.08.26
✎
15:51
|
(13) Если я правильно понял, то налаживается пользовательский отбор, который конфликтует с существующим.
В (3), опять же, чисто моё мнение - это наложенные условия на уровне запроса выборки данных (системная работа 1С), после него отрабатывают отборы пользователя в настройках ДС как предложено в (4) |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |