gifts2017

Кэш кнопки выбора

Опубликовал Михаил Семенов (Shaman100M) в раздел Программирование - Практика программирования

Дополнительная обработка выбора значения элемента диалога: формирование списка часто используемых значений для выбора и установка значения в текущий элемент диалога.

Реализация очень простая, двумя универсальными функциями (можно без параметров), в два этапа:

1. Заполнить в свойствах реквизита формулу

глПослеВводаЗначения(); 

2. Добавить в модуле формы строку в предопределенную ПриНачалеВыбораЗначения()

 глПриНачалеВыбораЗначения(); 


 



Во внешней обработке для скачивания:
- текстовый блок в модуле для копирования в глобальный модуль конфигурации
- пример реализации с использованием флага стандартной обработки. Просто задайте несколько разных значений для элемента диалога, а потом используйте F4 или "педальку"

Обрабатываются все типы значений (кроме неопределенного).

Скачать файлы

Наименование Файл Версия Размер
- 24
.1207055952 11,00Kb
25.09.09
24
.1207055952 11,00Kb Бесплатно

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Артур Аюханов (artbear) 09.04.08 13:02
Прикольно, конечно.
Но для использования с большим количеством форм непригодно :(, т.к. нужно много кода переписывать :)
Для автоработы без переписывания множества кода нужно юзать Перехватчик от ВК 1С++ и еще ВК ФормЕкс.
С их помощью можно сделать универсальный механизм на базе данного.
Например, у меня таким образом для любых форм в моих базах сделан очень удобный и красивый выбор периода, а не тот дурацкий, что у 1С.
2. Артур Аюханов (artbear) 09.04.08 13:04
(1+) Форум www.1cpp.ru Раздел Репозитарий, прикрепленная ветка "Репозитарий классов 1С++"
Рекомендую :)
С помощью моего Перехватчика в 1С++ можно довольно просто в конфы 1С добавлять различные универсальные механизмы !!
те, кто юзает, очень довольны :)
3. Филипп (Филипп) 31.08.09 14:46
Понравилось, здорово!
Вот хочу еще задать вопрос умным и талантливым программистам:
Никак не могу найти возможность обратиться к "Панели Инструментов" Формы отчета. В языке 1С 7 есть только возможность программно "отобразить" или "скрыть" эту панель инструментов Формы. А хочется привязать нажатие клавиатуры к кнопочкам "Сохранить Настройку" и "Восстановить Настройку" на этой панели интрументов (т.е.Формы). Просто от мышки у бухгалтеров немеют руки. А чем более универсальный отчет, тем больше настроек.
Возможно ли это?
4. Михаил Семенов (Shaman100M) 31.08.09 15:06
(3) можно, однако.

Вот пример, как открыть описание отчета при отключенной панели:
Код
WScript   = CreateObject("WScript.Shell");
WScript.SendKeys("{F10}{LEFT}{LEFT}{LEFT}{DOWN}{DOWN}{DOWN}{ENTER}");
//WScript.SendKeys("{F10}ПИ"); // для ENG не работает
Показать полностью


Для "сохранить..." "восстановить..." уменьшить кол-во "лефт" и "даун" ))
5. Михаил Семенов (Shaman100M) 31.08.09 15:10
(3) " ... Просто от мышки у бухгалтеров немеют руки .... ", - используй всего два оборота скотча, а не десять. )))))
6. Филипп (Филипп) 31.08.09 16:31
Вы уверены в правильности синтаксиса?
И какая клавиша, или их сочетание выполняют эту команду?
И речь идет о работе в режиме "Предприятие", или "Конфигуратор"?
Мне необходимо чтобы это работало в режиме "Предприятие".
И панель инструментов не отключена, она видима на форме.
Указанный текст поместить в Модуль формы?
Вопросы примитивные, но потому и обращаюсь к ГРАМОТНЫМ людям.
Спасибо.
7. Михаил Семенов (Shaman100M) 31.08.09 17:12
(6) Синтаксис правильный, обратные слэши убрать только "\" Должно работать в режиме "Предприятие", включена, отключена панель - не важно.
Указанный текст поместить в отдельные процедуры в модуле формы, подвязать их к соответствующим кнопкам на диалоге.

Процедура ОткрытьОписание()
WScript = CreateObject("WScript.Shell");
WScript.SendKeys("{F10}{LEFT}{LEFT}{LEFT}{DOWN}{DOWN}{DOWN}{ENTER}");
//WScript.SendKeys("{F10}ПИ"); // в русской раскладке
КОнецПроцедуры

Процедура СохранитьНастройку()
WScript = CreateObject("WScript.Shell");
WScript.SendKeys("{F10}{RIGHT}{DOWN}{DOWN}{ENTER}");
//WScript.SendKeys("{F10}ДС"); // в русской раскладке
КОнецПроцедуры

Процедура ОткрытьНастройку()
WScript = CreateObject("WScript.Shell");
WScript.SendKeys("{F10}{RIGHT}{DOWN}{ENTER}");
//WScript.SendKeys("{F10}ДО"); // в русской раскладке
КОнецПроцедуры
8. Филипп (Филипп) 01.09.09 08:33
Эврика!!!
Все получилось! Все понятно и доступно.
Вы действительно ШАМАН!
Огромное спасибо от трудящихся масс.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа