1с команды глобальные команды
В выбранном разделе навигационные команды структурируются по подразделам. Каждый из подразделов, образованный подсистемами второго и следующих уровней иерархии, образует отдельный блок команд и выделяется заголовком.
При размещении команд сначала выводятся команды раздела, а ниже блоки команд каждого из подразделов.
Команды раздела и каждого из подразделов могут размещаться в двух стандартных группах:
Визуально команды группы Важное выделяются жирным начертанием. После всех подразделов выводится третья группа команд См. также. В этой группе обычно размещаются команды перехода к наименее используемой функциональности прикладного решения. Эта группа имеет заголовок и отделена от остальных групп горизонтальной чертой.
Особенностью группы См. также является то, что в ней собраны команды как раздела, так и всех его подразделов. Эти команды выводятся единым списком без структурирования по подразделам.
Команды также могут быть размещены в произвольных группах. Эти группы образуются объектами конфигурации Группа команд. Произвольные группы не имеют заголовков, а команды, им принадлежащие, размещаются в стандартной группе Обычное и отделены от других команд пустой строкой.
В панели действий основного окна размещаются независимые глобальные команды действий.
Команды в панели действий могут размещаться в одной из трех стандартных групп:
ПРИМЕЧАНИЕ
В панели действий команды по подразделам не структурируются.
В группах объединены команды, принадлежащие как подсистеме верх-
него уровня иерархии, так и всем подчиненным подсистемам.
В панели навигации вспомогательного окна (при наличии этой панели в окне) размещаются параметризуемые навигационные глобальные команды. С использованием этих команд осуществляется навигация по данным, логически связанным с данными, обрабатываемыми в форме. Например, команда перехода к записям регистра, подчиненным редактируемому документу.
Команды в панели навигации вспомогательного окна могут размещаться в одной из трех стандартных групп:
Команды также могут быть размещены в произвольных группах. Произвольные группы не имеют заголовков, а команды, им принадлежащие, размещаются в стандартной группе Перейти и ничем не отделяются от команд этой группы.
В командной панели формы размещаются параметризуемые глобальные команды действий. С использованием этих команд выполняется обработка данных, отображаемых в форме. Например, команда проведения документа.
Команды в командной панели формы могут размещаться в одной из двух стандартных групп:
Группа Создать на основании в командной панели формы отображается в виде меню. Команды также могут быть размещены в произвольных группах. Произвольные группы отображаются в виде отдельных меню и могут быть представлены текстом, картинкой или картинкой и текстом (в зависимости от значения свойства Отображение объекта конфигурации Группа команд ).
Команда – это указание со стороны пользователя для компьютерной системы на выполнение какого-то действия. В конфигурациях 1С, они по области видимости делятся на глобальные команды и локальные команды формы. Сегодня речь пойдет об одном из элементов глобальных команд – 1С общие команды.
Общими, называют часто используемые команды и при этом они не привязаны к конкретному объекту системы, а наоборот выполняют одинаковое действие. К ним относятся: кнопки печати документа, отчет об изменении объекта или его проводок, структуры подчиненности, проще говоря — стандартные настройки 1С.
При вызове общей команды для определения данных конкретного объекта используются параметры 1С пользовательские настройки, в которые система передает некое значение, требуемое для выполнения алгоритма. Параметризованные команды будут отображаться только в тех формах, которые имеют одинаковый с параметром тип. Его значение определяется в процессе разработки.
Когда вы добавляете в дерево метаданных свою общую команду, то после этого автоматически будут открыты окна модуля команды и ее свойств.
Свойства общей команды:
- группа, т.е. расположение в интерфейсе;
- тип параметра команды – указывается, в каких объектах будет доступна данная кнопка;
- режим использования параметра – определяет, сколько значений можно будет передать в параметр;
- изменяет данные – определяет, будет ли форма перечитывать данные после выполнения команды;
- модуль команды – описание действий, которые выполняет данная команда.
Также надо проверять на закладке "Команды" установлен ли флаг "Использовать 1С стандартные команды".
Объект конфигурации "Группы команд"
С помощью этого объекта можно сгруппировать кнопки, выполняющие схожие действия, а также вывести их на командный интерфейс программы. Это указывается в свойстве "Категория", оно обязательно к заполнению.
Команда – это указание со стороны пользователя для компьютерной системы на выполнение какого-то действия. В конфигурациях 1С, они по области видимости делятся на глобальные команды и локальные команды формы. Сегодня речь пойдет об одном из элементов глобальных команд – 1С общие команды.
Общими, называют часто используемые команды и при этом они не привязаны к конкретному объекту системы, а наоборот выполняют одинаковое действие. К ним относятся: кнопки печати документа, отчет об изменении объекта или его проводок, структуры подчиненности, проще говоря — стандартные настройки 1С.
При вызове общей команды для определения данных конкретного объекта используются параметры 1С пользовательские настройки, в которые система передает некое значение, требуемое для выполнения алгоритма. Параметризованные команды будут отображаться только в тех формах, которые имеют одинаковый с параметром тип. Его значение определяется в процессе разработки.
Когда вы добавляете в дерево метаданных свою общую команду, то после этого автоматически будут открыты окна модуля команды и ее свойств.
Свойства общей команды:
- группа, т.е. расположение в интерфейсе;
- тип параметра команды – указывается, в каких объектах будет доступна данная кнопка;
- режим использования параметра – определяет, сколько значений можно будет передать в параметр;
- изменяет данные – определяет, будет ли форма перечитывать данные после выполнения команды;
- модуль команды – описание действий, которые выполняет данная команда.
Также надо проверять на закладке "Команды" установлен ли флаг "Использовать 1С стандартные команды".
Объект конфигурации "Группы команд"
С помощью этого объекта можно сгруппировать кнопки, выполняющие схожие действия, а также вывести их на командный интерфейс программы. Это указывается в свойстве "Категория", оно обязательно к заполнению.
Разложим все по полочкам. В типовых конфигурациях 90% форм списков и форм объектов ссылочного типа на командной панели в подменю "Ввод на основании" содержат действие "(Ввести на основании)". Это действие в режиме предприятия замещается списком синонимов типов объектов, которые можно вводить на основании текущего объекта. Это обстоятельство предоставляет нам отличную возможность замечательного нецелевого использования этого списка.
Бонус
При обновлении почти никаких забот. Только в случае добавления новых объектов придется доставить для них галочки во вводе на основании.
- планы обмена
- справочники
- документы
- планы видов характеристик
- планы счетов
- планы видов расчета
- бизнес-процессы
- задачи
Для наглядности возьмем и создадим 2 универсальные команды "Запомнить" и "Использовать". Первая будет сохранять ссылку. Вторая будет ее использовать в форме.
1. Команда "Запомнить".
Итак, создаем новый план обмена. Даем ему имя "кмдЗапомнить", синоним "Запомнить".
Открыв закладку ввода на основании, мы неприятно удивимся, что средств для групповой установки флажков в этом диалоге нет. Здесь нужно каждый флажок установить персонально. Однако есть альтернатива (спасибо KAO111 ) - в конфигураторе есть возможность сразу выбрать группу объектов для ввода на основании. Для этого необходимо открыть дополнительные свойства объекта конфигурации (Alt+Shift+Enter), перейти на закладку "Ввод на основании" и снять флажок "Только выбранные".
Теперь создаем основную форму объекта (узла обмена). Она будет нужна только для обработки события ПередОткрытием, так что избавляемся от излишеств. Закрываем конструктор. Открываем модуль формы. Ссылка на основание доступна здесь через свойство ПараметрОснование расширения формы. Таким образом, весь функционал можно разместить здесь и не использовать обработку заполнения.
2. Команда "Использовать".
Аналогично создаем команду "Использовать".
Хотелось бы получить доступ к той форме (в случае формы объекта) или элементу формы (в случае формы списка), откуда вызвали команду. В модуле формы нам предоставляется такая возможность через использование свойства ВладелецФормы .
Как поступить с теми формами, в которых нет подменю ввода на основании?
В случае, если флажок "Автозаполнение" у нужной командной панели формы отключен и разработчики формы не добавили туда подменю ввода на основании, вы не увидите нужного вам списка в режиме предприятия. В этом случае можно добавить его туда вручную, а можно использовать более элегантный метод, программно добавляющий необходимое подменю в обработчике ПриОткрытии. Так как действие "(Ввести на основании)" является предопределенным, программно его создать, к сожалению, нельзя! Но можно обойти это ограничение. Создадим в одной из форм наших объектов-команд командную панель и добавим туда ввод на основании в режиме конфигуратора. Эта форма все равно никогда не открывается, так что используем ее как шаблон. Перед открытием нужной формы будем проверять наличие в заданной командной панели необходимого подменю, и, если его там не обнаружим, то скопируем его из нашей формы-шаблона.
Добавляем в форме объекта "кмдЗапомнить" командную панель "ДействияФормы".
Создаем там подменю с типом "Ввести на основании".
В глобальном модуле размещаем функцию
Теперь в теле обработчика ПриОткрытии любой формы можно вызывать эту процедуру. При отсутствии подменю ввода на основании она будет добавлять его в логический (в зависимости от типа выравнивания) конец найденной командной панели, список которых задан в массиве МассивИменКомандныхПанелей в порядке убывания приоритета. Алгоритм конечно предусматривает далеко не все возможные варианты, но на типовых отрабатывает почти всегда.
Итоги.
Полезность описанного метода создания универсальных интерактивных команд трудно переоценить. Пользуюсь этими командами каждый рабочий день! В платформах 8.0 и 8.1 на текущий момент отсутствует какая либо альтернатива этому методу.
Можно развить идею и сделать только один объект-команду. В него поместить все необходимые функции. А пользователю при активации этой команды предоставлять возможность выбора конкретной функции. Получится что то вроде универсального контекстного меню ссылочных объектов.
Читайте также: