Публикации

БСП
Разработки

Найдено результатов: 3


Программное получение СочетаниеКлавиш

Дает возможность назначить нестандартные кнопки - например Enter(13) , Esc(27), Del(46) и т.д.
4 DiKSer 10 2
// Возвращает сочетание клавиш из скан-кода
//
// Параметры:
//  Код - Строка - скан-код клавиши
//  Alt - Число - факт нажатия клавиши alt
//  Control - Число - факт нажатия клавиши Control
//  Shift - Число - факт нажатия клавиши Shift
//
// Возвращаемое значение:
//   СочетаниеКлавиш - программное сочетание клавиш
//
Функция ПолучитьСочетаниеКлавишПоКоду(Код, Alt = 0, Control = 0, Shift = 0) Экспорт
    Возврат ЗначениеИзСтрокиВнутр("{""#"", 69cf4251-8759-11d5-bf7e-0050bae2bc79, 1,
        |{0, " + Формат(Код, "ЧН=0; ЧГ=0") + ", " + Формат(Alt * 16 + Control * 8 + Shift * 4, "ЧН=0; ЧГ=0") + "}
        |}");
КонецФункции

// https://filestore.community.support.microsoft.com/api/images/924f1958-8fe8-41a8-b34b-6018c6283a05 - скан-коды клавиатуры

ПередДобавлениемКомандОтчетов

Определение списка глобальных команд отчетов.
ОбщийМодуль.ВариантыОтчетовПереопределяемый
Автор: 1С
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Определение списка глобальных команд отчетов.
// Событие возникает в процессе вызова модуля повторного использования.
//
// Параметры:
//  КомандыОтчетов - ТаблицаЗначений - таблица команд для вывода в подменю. Для изменения.
//       * Идентификатор - Строка - идентификатор команды.
//     
//     Настройки внешнего вида:
//       * Представление - Строка   - представление команды в форме.
//       * Важность      - Строка   - суффикс группы в подменю, в которой следует вывести эту команду.
//                                    Допустимо использовать: "Важное", "Обычное" и "СмТакже".
//       * Порядок       - Число    - порядок размещения команды в группе. Используется для настройки под конкретное
//                                    рабочее место.
//       * Картинка      - Картинка - картинка команды.
//       * СочетаниеКлавиш - СочетаниеКлавиш - сочетание клавиш для быстрого вызова команды.
//     
//     Настройки видимости и доступности:
//       * ТипПараметра - ОписаниеТипов - типы объектов, для которых предназначена эта команда.
//       * ВидимостьВФормах    - Строка - имена форм через запятую, в которых должна отображаться команда.
//                                        Используется когда состав команд отличается для различных форм.
//       * ФункциональныеОпции - Строка - имена функциональных опций через запятую, определяющих видимость команды.
//       * УсловияВидимости    - Массив - определяет видимость команды в зависимости от контекста.
//                                        Для регистрации условий следует использовать процедуру
//                                        ПодключаемыеКоманды.ДобавитьУсловиеВидимостиКоманды().
//                                        Условия объединяются по "И".
//       * ИзменяетВыбранныеОбъекты - Булево - определяет доступность команды в ситуации,
//                                        когда у пользователя нет прав на изменение объекта.
//                                        Если Истина, то в описанной выше ситуации кнопка будет недоступна.
//                                        Необязательный. Значение по умолчанию: Ложь.
//     
//     Настройки процесса выполнения:
//       * МножественныйВыбор - Булево, Неопределено - если Истина, то команда поддерживает множественный выбор.
//             В этом случае в параметре выполнения будет передан список ссылок.
//             Необязательный. Значение по умолчанию: Истина.
//       * РежимЗаписи - Строка - действия, связанные с записью объекта, которые выполняются перед обработчиком команды.
//             ** "НеЗаписывать"          - объект не записывается, а в параметрах обработчика вместо ссылок передается
//                                       вся форма. В этом режиме рекомендуется работать напрямую с формой,
//                                       которая передается в структуре 2 параметра обработчика команды.
//             ** "ЗаписыватьТолькоНовые" - записывать новые объекты.
//             ** "Записывать"            - записывать новые и модифицированные объекты.
//             ** "Проводить"             - проводить документы.
//             Перед записью и проведением у пользователя запрашивается подтверждение.
//             Необязательный. Значение по умолчанию: "Записывать".
//       * ТребуетсяРаботаСФайлами - Булево - если Истина, то в веб-клиенте предлагается
//             установить расширение работы с файлами.
//             Необязательный. Значение по умолчанию: Ложь.
//     
//     Настройки обработчика:
//       * Менеджер - Строка - полное имя объекта метаданных, отвечающего за выполнение команды.
//             Пример: "Отчет._ДемоКнигаПокупок".
//       * ИмяФормы - Строка - имя формы, которую требуется открыть или получить для выполнения команды.
//             Если Обработчик не указан, то у формы вызывается метод "Открыть".
//       * КлючВарианта - Строка - имя варианта отчета, открываемого при выполнении команды.
//       * ИмяПараметраФормы - Строка - имя параметра формы, в который следует передать ссылку или массив ссылок.
//       * ПараметрыФормы - Неопределено, Структура - параметры формы, указанной в ИмяФормы.
//       * Обработчик - Строка - описание процедуры, обрабатывающей основное действие команды.
//             Формат "<ИмяОбщегоМодуля>.<ИмяПроцедуры>" используется когда процедура размещена в общем модуле.
//             Формат "<ИмяПроцедуры>" используется в следующих случаях:
//               - Если ИмяФормы заполнено то в модуле указанной формы ожидается клиентская процедура.
//               - Если ИмяФормы не заполнено то в модуле менеджера этого объекта ожидается серверная процедура.
//       * ДополнительныеПараметры - Структура - параметры обработчика, указанного в Обработчик.
//   
//  Параметры - Структура - сведения о контексте исполнения.
//       * ИмяФормы - Строка - полное имя формы.
//   
//  СтандартнаяОбработка - Булево - если установить в Ложь, то событие "ДобавитьКомандыОтчетов" менеджера объекта не
//                                  будет вызвано.
//
Процедура ПередДобавлениемКомандОтчетов(КомандыОтчетов, Параметры, СтандартнаяОбработка) Экспорт
	
	// _Демо начало примера
	Отчеты.МестаИспользованияСсылок.ДобавитьКомандуМестаИспользования(КомандыОтчетов);
	// _Демо конец примера
	
КонецПроцедуры

ПриОпределенииКомандПодключенныхКОбъекту

Вызывается однократно при первом формировании списка команд, выводимых в форме конкретного объекта конфигурации.
ОбщийМодуль.ПодключаемыеКомандыПереопределяемый
Автор: 1С
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Вызывается однократно при первом формировании списка команд, выводимых в форме конкретного объекта конфигурации.
// Список добавленных команд следует вернуть в параметре Команды.
// Результат кэшируется с помощью модуля с повторными использованием возвращаемых значений (в разрезе имен форм).
//
// Параметры:
//   НастройкиФормы - Структура - сведения о форме, в которой выводятся команды. Для чтения.
//         * ИмяФормы - Строка - полное имя формы, в которой выводятся подключаемые команды. 
//                               Например, "Документ.Анкета.ФормаСписка".
//   
//   Источники - ДеревоЗначений - сведения о поставщиках команд этой формы. 
//         На втором уровне дерева могут располагаться источники, регистрируемые автоматически при регистрации владельца.
//         Например, документы-регистраторы журналов.
//         * Метаданные - ОбъектМетаданных - метаданные объекта.
//         * ПолноеИмя  - Строка           - полное имя объекта. Например: "Документ.ИмяДокумента".
//         * Вид        - Строка           - вид объекта в верхнем регистре. Например: "СПРАВОЧНИК".
//         * Менеджер   - Произвольный     - модуль менеджера объекта, или Неопределено, если у объекта 
//                                           нет модуля менеджера или если его не удалось получить.
//         * Ссылка     - СправочникСсылка.ИдентификаторыОбъектовМетаданных - ссылка объекта метаданных.
//         * ЭтоЖурналДокументов - Булево - Истина, если объект является журналом документов.
//         * ТипСсылкиДанных     - Тип, ОписаниеТипов - тип ссылки элемента.
//   
//   ПодключенныеОтчетыИОбработки - ТаблицаЗначений - отчеты и обработки, предоставляющие свои команды 
//         для объектов Источники:
//         * ПолноеИмя - Строка       - полное имя объекта метаданных.
//         * Менеджер  - Произвольный - модуль менеджера объекта метаданных.
//         Состав колонок см. в ПодключаемыеКомандыПереопределяемый.ПриОпределенииСоставаНастроекПодключаемыхОбъектов.
//   
//   Команды - ТаблицаЗначений - записать в этот параметр сформированные команды для вывода в подменю: 
//       * Вид - Строка - вид команды.
//           Подробнее см. ПодключаемыеКомандыПереопределяемый.ПриОпределенииВидовПодключаемыхКоманд.
//       * Идентификатор - Строка - идентификатор команды.
//       
//     Настройки внешнего вида:
//       * Представление - Строка   - представление команды в форме.
//       * Важность      - Строка   - суффикс подгруппы в меню, в которой следует вывести эту команду.
//                                    Допустимо использовать: "Важное", "Обычное" и "СмТакже".
//       * Порядок       - Число    - порядок размещения команды в группе. Используется для настройки под конкретное
//                                    рабочее место. Допустимо задавать в диапазоне от 1 до 100. По умолчанию порядок 50.
//       * Картинка      - Картинка - картинка команды. Необязательный.
//       * СочетаниеКлавиш - СочетаниеКлавиш - сочетание клавиш для быстрого вызова команды. Необязательный.
//     
//     Настройки видимости и доступности:
//       * ТипПараметра - ОписаниеТипов - типы объектов, для которых предназначена эта команда.
//       * ВидимостьВФормах    - Строка - имена форм через запятую, в которых должна отображаться команда.
//                                        Используется, когда состав команд отличается для различных форм.
//       * Назначение          - Строка - определяет вид форм, для которых предназначена команда. 
//                                        Принимаемые значения:
//                                         "ДляСписка" - показывать команду только в форме списка,
//                                         "ДляОбъекта" - показывать команду только в форме объекта.
//                                        Если параметр не указан, то команда предназначена для любых видов форм.
//       * ФункциональныеОпции - Строка - имена функциональных опций через запятую, определяющих видимость команды.
//       * УсловияВидимости    - Массив - определяет видимость команды в зависимости от контекста.
//                                        Для регистрации условий следует использовать процедуру
//                                        ПодключаемыеКоманды.ДобавитьУсловиеВидимостиКоманды().
//                                        Условия объединяются по "И".
//       * ИзменяетВыбранныеОбъекты - Булево - определяет доступность команды в ситуации,
//                                        когда у пользователя нет прав на изменение объекта.
//                                        Если Истина, то в описанной выше ситуации кнопка будет недоступна.
//                                        Необязательный. Значение по умолчанию - Ложь.
//     
//     Настройки процесса выполнения:
//       * МножественныйВыбор - Булево - если Истина, то команда поддерживает множественный выбор.
//             В этом случае в параметре выполнения будет передан список ссылок.
//             Необязательный. Значение по умолчанию - Истина.
//       * РежимЗаписи - Строка - действия, связанные с записью объекта, которые выполняются перед обработчиком команды.
//             ** "НеЗаписывать"          - объект не записывается, а в параметрах обработчика вместо ссылок передается
//                                          вся форма. В этом режиме рекомендуется работать напрямую с формой,
//                                          которая передается в структуре 2-го параметра обработчика команды.
//             ** "ЗаписыватьТолькоНовые" - записывать новые объекты.
//             ** "Записывать"            - записывать новые и модифицированные объекты.
//             ** "Проводить"             - проводить документы.
//             Перед записью и проведением у пользователя запрашивается подтверждение.
//             Необязательный. Значение по умолчанию - "Записывать".
//       * ТребуетсяРаботаСФайлами - Булево - если Истина, то в веб-клиенте предлагается
//             установить расширение работы с файлами. Необязательный. Значение по умолчанию - Ложь.
//     
//     Настройки обработчика:
//       * Менеджер - Строка - объект, отвечающий за выполнение команды.
//       * ИмяФормы - Строка - имя формы, которую требуется получить для выполнения команды.
//           Если Обработчик не указан, то у формы вызывается метод "Открыть".
//       * ИмяПараметраФормы - Строка - имя параметра формы, в который следует передать ссылку или массив ссылок.
//       * ПараметрыФормы - Неопределено, Структура - параметры формы, указанной в ИмяФормы. Необязательный.
//       * Обработчик - Строка - описание процедуры, обрабатывающей основное действие команды, в виде:
//           "<ИмяОбщегоМодуля>.<ИмяПроцедуры>", если процедура размещена в общем модуле;
//           либо "<ИмяПроцедуры>" - в следующих случаях:
//             - если ИмяФормы заполнено, то в модуле указанной формы ожидается клиентская процедура;
//             - если ИмяФормы не заполнено, то в модуле менеджера этого объекта ожидается серверная процедура.
//       * ДополнительныеПараметры - Структура - параметры обработчика, указанного в Обработчик. Необязательный.
//
Процедура ПриОпределенииКомандПодключенныхКОбъекту(НастройкиФормы, Источники, ПодключенныеОтчетыИОбработки, Команды) Экспорт
	
	// _Демо начало примера.
	_ДемоСтандартныеПодсистемы.ПриОпределенииКомандПодключенныхКОбъекту(НастройкиФормы, Источники, ПодключенныеОтчетыИОбработки, Команды);
	
	Если Источники.Строки.Найти(Метаданные.Документы.Анкета, "Метаданные") <> Неопределено Тогда
		Команда = Команды.Добавить();
		Команда.Вид = "Анкетирование";
		Команда.Представление = НСтр("ru = 'Демо: Примечание'");
		Команда.РежимЗаписи = "НеЗаписывать";
		Команда.ВидимостьВФормах = "ФормаДокумента";
		Команда.Обработчик = "_ДемоСтандартныеПодсистемыКлиент.ЗаполнитьПримечание";
		ПодключаемыеКоманды.ДобавитьУсловиеВидимостиКоманды(Команда, "РежимАнкетирования", Перечисления.РежимыАнкетирования.Интервью);
	КонецЕсли;
	// _Демо конец примера
	
КонецПроцедуры