Регистрация Правила Главная форума Поиск |
0
- 14.01.2014 - 06:11
|
Складов много из них многие давно не используются, пользователям стало не удобно )). Скрыть элементы справочника в форме списка не проблема, (у нас есть реквизит "НеПоказывать" по нему отбираю) Процедура ПриОткрытии() УстановитьОтбор("НеПоказывать",0); КонецПроцедуры но в ТиСе практически во всех формах выбор реквизита Склад настроен как "Быстрый выбор". При этом соответственно отбор указанный в форме списка справочника не учитывается, как это разрулить можно? | | |
1
- 14.01.2014 - 06:21
|
добавь обработчик ПриНачалеВыбораЗначения(Элем) в каждую форму, где есть выбор склада там пишешь ветку: Если Элем = "Склад" Тогда СтандартнаяОбработка = 0; ... и дальше сформировать свой списочек нужных складов, подсунуть пользователю для выбора, и кинуть выбранное значение в реквизит Склад | | |
2
- 14.01.2014 - 06:33
| Спасибо, Но вопрос то в том, как не менять всю конфигу из-за этого, это же придется менять процентов 70 всех форм, "склад" есть почти везде (( | | |
3
- 14.01.2014 - 06:35
| Может есть варианты c расширениями типа FormEx ? | | |
4
- 14.01.2014 - 07:38
| А сделать справочник склады многоуровневым и спрятать ненужные склады в какую-то папку? Так не проканает? | | |
5
- 14.01.2014 - 07:49
| Хм.. интересная идея, надо поэксперементировать, есть опасность как-бы с выгрузками чтонить не случилось. | | |
6
- 14.01.2014 - 08:05
| (5)Идея интересна тем, что сделав в справочнике более одного уровня ты автоматически отключишь быстрый выбор во всех формах :-) | | |
7
- 14.01.2014 - 08:18
|
Дарю мысль. Безвоздмездно, т.е., даром ;) У справочника "Склады" есть реквизит "тип склада", обычно (для типовых) - значение перечисления. Так вот, в форму списка замастрячить отбор по списку, как посоветовано в (1). Не только в форме для выбора, но и в "обычной" форме можно. Но условие выбора изменить: "если (ТипСклада" = НужныйТип) И (ПустоеЗначение(ТипСклада)=1) Тогда..." После чего простенькой обормоточкой у нужных складов очистить этот признак (присвоить ПустоеЗначение("Перечисление")). | | |
8
- 14.01.2014 - 08:44
|
7-VZ >А вы уверенны, что в многопользовательском режиме это: Цитата:
| | |
9
- 14.01.2014 - 09:06
| Да, круто !), можно просто сделать справочник склады многоуровневым и не делать никакие группы, ядро просто начинает везде открывать форму списка, игноря галочку Быстрый выбор и соответственно там то уже мой отбор пашет. Как вариант может и пойдет для меня, а вот для пользователей хрен знает, наверное будут "негодовать" )) | | |
10
- 14.01.2014 - 09:13
| Цитата:
| | |
11
- 14.01.2014 - 09:18
| 8-0X0 > Внимательно слушаю, по каким причинам в "многопользовательском режиме" не будет корректно работать отбор... ? | | |
12
- 14.01.2014 - 09:57
|
10-ilyich_ > Мысль следующая: при открытии формы (и не только "для выбора") форма имеет возможность получить список каких-то опций (Форма.Параметр). И далее им распорядится по какому-то алгоритму. Например, включить отбор: Если ПустоеЗначение(Форма.Параметр)=0 Тогда Если ТипЗначенияСтр(Форма.Параметр) = "Перечисление" Тогда ОтборСклада = Форма.Параметр; УстановитьОтбор("ТипСклада",ОтборСклада); Форма.ТипСклада.Видимость(0); КонецЕсли; Тогда в форме будут видны только те записи, у которых реквизит ТипСклада соответствует определенному значению перечисления. Хорошо при формировании документов реализации. Однако принцип отбора можно расширить. Например, для "общей" формы списка можно задать условие "не выводить ненужные записи". И критерием "ненужности" задать условие ПустоеЗначение(ТипСклада)=1. Применить метод УстановитьОтбор() здесь не выйдет, но можно выводить Список значений. Как это предлагает Ирли БЁрд. Правда, этот механизм хорошо работает именно для одноуровнего справочника. Таким образом, при открытии формы "не для выбора" (напр., для оприходования ТМЦ), юзер не будет видеть записи, у которых ТипСклада является пустым значением. | | |
13
- 14.01.2014 - 10:11
| открывать форму с ТЗ, которая заполняется при открытии только тем, что нужно? | | |
14
- 14.01.2014 - 10:39
|
+12 Только я бы сделал по другому: для формы, предназначенной для выбора включил бы механизм отбора через установку отбора (и наверняка в типовой так и сделано). А для общей формы - через формирование списка. Только вот если отсутствует Форма.Параметр, то список формировать критерием ПустоеЗначение(ТипСклада)=0. Чтоб не лазать по всей конфе, и переделывать вызов формы. Не нужно пустой работы. А там, где Форма.Параметр передается, надо просто однократно проследить, чтоб все это правильно отрабатывало в процедурах ПриОткрытии() и ПриПовторномОткрытии(). | | |
15
- 14.01.2014 - 11:46
| VZ, пример: Открываешь форму документа Перемещение там есть два реквизита касающихся склада для выбора пользователем, склад и склад получатель, на форме в клацаешь по полю ввода например Склад, по умолчанию в типовой | | |
16
- 14.01.2014 - 11:48
| не открывается форма списка никакая, выпадет ниспадающее меню т.е. список значений, какие параметры куда передаваться то будут в какой момент, в каком модуле писать то что ты предлогаешь ? | | |
17
- 14.01.2014 - 11:50
| сори случайно разбил сообщение )) | | |
18
- 14.01.2014 - 11:51
| когда из одной формы открываешь другую форму тогда можно играться с параметрами, а когда форма не открывается потому-что стоит галочка "Быстрый выбор" фиг вам получается помоему | | |
19
- 14.01.2014 - 11:58
| Если галочку снять то будет открываться форма списка, причем ты можешь указать какая форма, "Выбора" например, да пофиг какая, в форме списка при открытии можно установить Отбор, но везде галочки снимать не вариант можешь и пропустить где то, но это можно обойти если добавить уровень в справочнике, тогда ядро отключает Быстрый выбор но галка остается, при этом открывается форма списка справочника, в которой ПриОткрытии можно задать Отбор. Это у меня пока один рабочий вариант как сделать это изменение во всей конфе, изменив только однин модуль формы списка спр склады. | | |
20
- 14.01.2014 - 12:12
|
но есть два минуса: 1) не хотелось бы делать справочник склады многоуровневым (пока не знаю к чему может привести и где вылезти) 2) пользователи могут быть недовольны выбором из формы списка он все-таки более медленный чем "Быстрый выбор" ))) | | |
21
- 14.01.2014 - 12:17
| Нет, в данном случае это не вариант, можно и форму списка справочника открыть без "гемороя". | | |
22
- 14.01.2014 - 12:24
| Как капризная барышня, это не хочу, так не буду. Уж если многоуровневым сделать не хочешь, то о чем вообще разговор. И какой может быть "медленный" выбор из списка складов, их что у Вас 20000 ? | | |
23
- 14.01.2014 - 12:29
| ПриНачалеВыбораЗначения сделать вызов глВыборСклада, поправить то надо от 3-7 документов, в зависимости от предприятия, все равно ТИС правленная, а работы на 15 минут. Зато в глВыборСклада можно сделать что хочешь | | |
24
- 14.01.2014 - 12:42
| USSR да причем тут капризы, просто хочется как можно удобнее чтобы было юзерам, благо время есть еще для раздумий немного.) | | |
25
- 14.01.2014 - 20:03
| Справочник складов можно сделоать многоуровневым. в рамках самой ТИС - пройдет нормально | | |
26
- 14.01.2014 - 20:40
| чтобы не менять конфигурацию, можно пройтись по базе и везде старые склады заменить на один элемент, после чего лишние удалить | | |
27
- 15.01.2014 - 08:51
| Еще может проканать такой метод. В названиях нужных складов сделайте начальный пробел. Тогда они будут выводится первыми в списке выбора. А ненужные склады будут внизу списка... | | |
28
- 15.01.2014 - 08:55
| такой вариант уже живет в базе )) | | |
29
- 15.01.2014 - 09:25
| У ненужных элементов поставь впереди "яяя" и положи в папку "ЯЯЯ не нуно" | | |
30
- 15.01.2014 - 09:25
| А нужные не трогать пробелами впереди | | |
31
- 15.01.2014 - 09:37
| "яяя" не эстетично. лучше добавить "я - не нужный склад" и в папку "явно не потребуется" | |
| Интернет-форум Краснодарского края и Краснодара |