Параметры выполнения команды 1с
Общие команды — механизм платформы, предназначенный для описания часто используемых команд в конфигурации 1С 8.3.
Общие или глобальные команды удобно использовать, если одна команда нужна многих объектам конфигурации. Например, кнопка для вывода структуры подчиненности документов, команда отображения проводок документа, отчет о изменении объекта.
В команду можно передать параметры, например, из формы какого объекта он вызывается.
Настройка и свойства общей команды в 1С
Добавить новую команду и настроить общую форму достаточно просто, рассмотрим этот процесс подробнее:
- Группа — расположение будущей команды на интерфейсе.
- Тип параметра команды — определяет набор объектов, в котором будет отображаться будущая команда.
- Режим использования параметра — задает возможность передать в качестве параметра команды одно или несколько значений.
- Изменяет данные — если галка установлена, то при выполнение команды форма будет пересчитана с сервера.
- Модуль команды — обработчик выполнения команды, выполняется на клиенте.
Пример модуля команды:
Здесь ПараметрКоманды — объект, вызывающий команду. А в ПараметрыВыполненияКоманды структура, в которой описан Источник (вызываемая Форма), Окно (ОкноКлиентскогоПриложения), Уникальность, указывает, искать ли уже открытую форму или нет.
Группы команд 1С
Если вы только начинаете программировать в 1С или просто хотите систематизировать свои знания - попробуйте Школу программирования 1С нашего друга Владимира Милькина. Пошаговые и понятные уроки даже для новичка с поддержкой учителя.
Попробуйте бесплатно по ссылке >>
Объект, позволяющий вывести команды на командный интерфейс конфигурации в отдельную группу:
Видео по общим командам от Павла Чистова:
Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):
Консоль запросов 1С 8.3 — простой и удобный способ для отладки сложных запросов 1С и быстрого получения информации. В этой статье я постараюсь описать, как пользоваться консолью запросов, и дам ссылку для скачивания консоли запросов.
Рассмотрим этот инструмент подробнее.
Первым делом, чтобы начать работу с консолью запросов, её нужно откуда-то скачать. Обработки обычно делятся на два вида — на управляемых формах и обычных (или иногда их называют на 8.1 и на 8.2/8.3).
Я постарался объединить эти два вида в одной обработке — в нужном режиме работы открывается нужная форма ( в управляемом режиме консоль работает только в толстом режиме ).
Авторство обработок не моё, я лишь объединил 2 наиболее удачные, на мой взгляд, консоли.
Описание консоли запросов 1С
Если Вас интересует, как пишутся запросы в системе 1С, рекомендую ознакомиться со статьей Описание языка запросов 1С и Описание конструктора запросов 1С.
Если вы только начинаете программировать в 1С или просто хотите систематизировать свои знания - попробуйте Школу программирования 1С нашего друга Владимира Милькина. Пошаговые и понятные уроки даже для новичка с поддержкой учителя.
Попробуйте бесплатно по ссылке >>
Начнем рассмотрение консоли запросов с описания главной панели обработки:
В шапке консоли запросов можно увидеть время выполнения последнего запроса с точностью до миллисекунды, это позволяет сравнивать разные конструкции по производительности.
Первая группа кнопок в командной панели отвечает за сохранение текущих запросов во внешнем файле. Это очень удобно, Вы всегда сможете вернуться к написанию сложного запроса. Или же, например, хранить список типичных примеров тех или иных конструкций.
Слева, в поле «Запрос», можно создавать новые запросы и сохранять их в древовидной структуре. Вторая группа кнопок как раз отвечает за управление списком запросов. С помощью неё можно создать, скопировать, удалить, переместить запрос.
Далее идут кнопки, отвечающие за инициализацию запроса:
- Выполнить запрос — простое выполнение и получение результата;
- Выполнить пакет — позволяет просмотреть все промежуточные запросы в пакете запросов;
- Просмотр временных таблиц — позволяет увидеть результат, которые возвращают временные запросы в таблице.
Позволяют установить текущие параметры для запроса.
В окне параметров запроса интересно следующее:
- Кнопка Получить из запроса автоматически находит все параметры в запросе, для удобства разработчика.
- Флаг Единые параметры для всех запросов — при установке его обработка не очищает параметры при переходе от запроса к запросу в общем списке запросов.
Задать параметр списком значений очень просто, достаточно при выборе значения параметра нажать на кнопку очистки значения (крестик), система предложит выбрать тип данных, где надо выбрать «Список значения»:
Также в верхней панели очень есть кнопка вызова настроек консоли запросов:
Где можно указать параметры автосохранения запросов и параметры выполнения запроса.
В поле запроса консоли заносится текст запроса. Сделать это можно простым набором теста запроса или же вызовом специального инструмента — конструктора запросов.
Конструктор запроса 1С 8.3 вызывается из контекстного меню (правая кнопка мыши) при нажатии на поле ввода:
Также в этом меню есть такие полезные функции, как очистка или добавление в запрос символов переноса («|»), или же получение кода запроса вот в таком удобном виде:
В нижнем поле консоли запросов отображается поле результата запроса, ради чего и создана эта обработка:
Также консоль запросов кроме списка умеет отображать данные в виде дерева для запросов, содержащих итоги.
Другие статьи по 1С:
Если Вы начинаете изучать 1С программирование, рекомендуем наш курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):
Редактор формы используется для создания и редактирования форм объектов прикладного решения.
Формы объектов используются системой для визуального отображения данных в процессе работы пользователя.
Составляющие управляемой формы 1С:
- элемент - объект, определяющий визуальное представление формы и осуществляющий взаимодействие с пользователем;
- командный интерфейс - совокупность команд, отображаемых в форме;
- реквизит - объект, данные которого форма использует в своей работе;
- команда - действие, которое определено в данной конкретной форме;
- параметр - объект, значения которого характеризует саму форму и используются при ее создании (остаются постоянными в процессе "жизни" формы);
- модуль - программа на встроенном языке, отвечающая за работу с элементами и за обработку событий.
Редактор формы содержит несколько закладок, обеспечивающих редактирование всех составляющих формы.
В отдельном окне, в нижней части редактора, отображается внешний вид формы в режиме 1С:Предприятие.
Редактирование элементов формы 1С
Элементы формы 1С
Элементы управления - это объекты формы, определяющие визуальное представление формы и предназначенные для интерактивного взаимодействия с пользователем (например, кнопки, флажки, поля ввода и т.д., визуальное объединение "элементарных" элементов управления).
Поведение каждого типа элементов управления по умолчанию задано платформой, однако может корректироваться разработчиком.
Для обычных форм элементы управления настраиваются только конфигуратором, а для управляемых возможны определенные корректировки элементов в режиме 1С:Предприятие.
В элементах управления данные не хранятся!
Для управляемой формы, список элементов управления доступен из соответствующего окна:
Редактор форм позволяет разработчику использовать широкий набор возможностей для изменения набора элементов формы и, соответственно, внешнего вида формы - того вида, который форма будет иметь в режиме 1С:Предприятие.
Особенности элементов управляемых форм:
- Поведение элементов управлениястандартно, но имеет место специфичное поведение, определяемое расширениями формы, расширениями элементов управления и расширениями, связанными с отображаемыми данными.
- Свойство "Тип значения" элемента управления формы нельзя изменить, если задана связь элемента управления с данными (некоторые элементы управления могут быть связаны с реальными данными формы - например, табличное поле соответствует реальной табличной части).
- Изменение размера элемента управления в диалоге управляемой формы осуществляется с помощью определенных свойств элемента управления.
- добавить элемент "Поле";
- связать его с реквизитом, у которого задан тип "Диаграмма".
Создадим внешнюю обработку, зададим в ней реквизит (HTMLполе) с типом "Строка" (длина строки должна превышать длину URL сайта, иначе будет обрезать):
- поле для реквизита с типом HTMLполе;
- команду перехода ("Команды - Команды формы");
- кнопку действия, которую свяжем с командой перехода.
Результат исполнения обработки:
Редактор позволяет добавлять в форму различные элементы:
- с помощью команды добавления или
- путем перетаскивания реквизитов формы в дерево элементов.
Все элементы формы представляются в виде иерархической структуры, корнем которой является сама форма. Это позволяет быстро перемещаться к нужному элементу формы.
Располагая элементы выше (ниже) в дереве, подчиняя их другим элементам и задавая свойства элементов-групп можно задавать порядок, в котором пользователь будет обходить элементы управления формы при вводе и редактировании данных.
В режиме 1С:Предприятие элементы формы будут обходиться:
- в порядке их иерархии и
- в соответствии с тем, какой тип группировки выбран для групп (вертикальная или горизонтальная).
Если в обычной форме разработчик в явном виде определяет местоположение для каждого реквизита или команды, то в управляемом приложении визуальный интерфейс программа отрисовывает на основе особенностей расположения, размерности, графического выделения объектов (элементов) через их группировку и настройку этих групп.
Редактор форм позволяет добавлять в форму специальные элементы, которые позволяют:
- придать форме собственный узнаваемый стиль;
- сделать доступ к данным простым и понятным;
- разместить большой объем информации на ограниченной площади.
Заголовок каждой группы-страницы отображается на отдельной закладке. Разработчик имеет возможность задать режим отображения закладок (снизу или сверху) в свойствах группы.
Исходный вариант формы элемента:
Элементы "Код", "Услуга" и "Наименование" помещены на разные закладки:
Вид формы в режиме 1С:Предприятие:
Разделители формы 1С
Разделители являются специальными элементами, с помощью которых возможно перераспределение пространства формы без изменения ее размеров.
Платформа в режиме 1С:Предприятие для управляемых форм самостоятельно добавляет эти элементы в форму.
При построении обычных форм используются вертикальные и горизонтальные разделители.
Элемент управления Разделитель позволяет пользователю менять пространство формы, сдвигая ее части. Разделитель может быть как с отображением, так и невидимый.
Наличие разделителя должно интуитивно угадываться при работе с формой, поэтому ближайшие от разделителя по направлениям его передвижения элементы управления размещаются вплотную к нему, таким образом визуально предполагая его расположение:
- вертикальным разделителям устанавливается ширина 6, горизонтальную привязку рекомендуется устанавливать в НеПривязано ;
- горизонтальным разделителям устанавливается высота 6, вертикальную привязку рекомендуется устанавливать в НеПривязано;
- рамку рекомендуется устанавливать в НетРамки . В сложных случаях, когда пользователю может быть тяжело догадаться о наличие разделителя, допускается устанавливать рамку Одинарная .
Разделитель обладает способностью "захватываться" мышью и перемещаться внутри формы в ее пределах с учетом возможности расположения других элементов и ориентации разделителя.
При перемещении разделителя, все элементы, связанные с разделителем, будут изменять свои размеры или перемещаться.
Таким образом, элемент управления "Разделитель" позволяет перераспределять внутреннее пространство формы, изменяя размеры расположенных в ней элементов управления, привязанных к разделителю. Размеры самой формы при этом не меняются.
Модуль формы 1С
Для редактирования модуля формы конфигуратор вызывает редактор текстов и модулей. Этот редактор предоставляет разработчику большое разнообразие возможностей для создания и изменения текста модуля формы.
Модуль формы 1C предназначен для обработки:
- событий, связанных непосредственно с самой формой (например, открытие или закрытие), а также
- событий, связанных с действиями пользователя (например, вводом данных и обработкой корректности их ввода).
Модуль формы компилируется:
- обычной - на клиенте;
- управляемой - четко разграничен по контексту выполнения, поэтому все переменные и методы должны иметь директиву компиляции (если директива в явном виде не указана, тогда эта переменная или метод будут скомпилированы на стороне сервера).
В модуле формы доступны разделы описания переменных и методов, а также раздел основной программы.
К стандартным событиям формы можно обратиться:
- через список процедур и функций (Ctrl+Alt+P) либо
- в палитре свойств самой формы.
Особенности модуля управляемых форм:
- модуль управляемой формы четко разделяется на контекст: каждая процедура (функция) должна иметь директиву компиляции;
- в модуле управляемой формы можно объявлять процедуры и функции, объявлять переменные и описывать раздел основной программы;
- в управляемой форме можно обработать событие записи элемента (присутствует только для форм объектов - справочников, документов и некоторых других).
Реквизиты формы 1С
Редактирование реквизитов формы выполняется в списке, который позволяет создавать новые реквизиты, изменять имеющиеся и удалять ненужные реквизиты.
Свойства реквизитов задаются с помощью палитры свойств .
Если у формы существует основной реквизит, определяющий поведение формы, отличное от типового, - он выделяется жирным шрифтом.
Командный интерфейс формы 1С
Командный интерфейс 1С - это основное средство навигации пользователя по функциональности конфигурации.
В системе 1С:Предприятие он строится на основе иерархии подсистем, которую должен создать в конфигурации разработчик, и отражающую для пользователя структуру функциональности прикладного решения (подробнее читай Командные интерфейсы 1С).
Все прикладные объекты конфигурации (справочники, документы, отчеты и т. д.) привязываются разработчиком конфигурации к подсистемам. Иерархия подсистем должна отражать структуру функциональности именно так, как она будет представляться пользователю.
Уже на основе этой информации (структуры подсистем и привязки объектов к подсистемам) платформа автоматически строит командный интерфейс для пользователя. Пользователю отображается структура прикладного решения (иерархия подсистем) и предоставляются стандартные команды доступа к функциональности прикладных объектов (вызов списков справочников, документов, открытие отчетов, обработок и т. д.). Однако разработчик, разумеется, может отредактировать предлагаемое системой построение командного интерфейса (изменить порядок, видимость команд). Для этого предназначен целый ряд редакторов командного интерфейса, которые позволяют настраивать различные части интерфейса программы.
Командный интерфейс формы редактируется в дереве. Основные ветви дерева содержат команды, добавленные в панель навигации окна, в котором будет показана форма, и в командную панель формы. Внутри каждой из этих ветвей команды разделены по стандартным группам.
Часть команд в командный интерфейс платформа добавляет автоматически. Наряду с этим разработчик самостоятельно может добавить в командный интерфейс команды, перетащив их из списка команд формы, стандартных команд или из списка доступных глобальных команд.
Для всех команд, добавленных в командный интерфейс, разработчик может задать их видимость для различных ролей, определенных в конфигурации.
Команды формы 1С
Команды формы редактируются в списке. Разработчик имеет возможность:
- добавить, удалить команды формы;
- задать свойства команд с помощью палитры свойств;
- назначить для команды процедуру, которая будет выполняться при вызове этой команды пользователем.
На закладках "Стандартные команды" и "Глобальные команды" разработчику предоставляются списки команд, генерируемых платформой и доступных для использования в данной форме. Их свойства изменять нельзя, можно только добавлять их в форму.
С помощью мыши разработчик может перетащить команду в командный интерфейс формы (платформа автоматически нарисует кнопку). Также можно перетащить команду и прямо в дерево элементов, если нужно, например, отобразить эту команду в виде кнопки, расположенной в форме (платформа автоматически нарисует кнопку).
Общие или глобальные команды удобно использовать, если одна команда нужна многих объектам конфигурации. Например, кнопка для вывода структуры подчиненности документов, команда отображения проводок документа, отчет о изменении объекта.
В команду можно передать параметры, например, из формы какого объекта он вызывается.
Настройка и свойства общей команды в 1С
Добавить новую команду и настроить общую форму достаточно просто, рассмотрим этот процесс подробнее:
Пример модуля команды:
Группы команд 1С
Если вы только начинаете программировать в 1С или просто хотите систематизировать свои знания — попробуйте Школу программирования 1С нашего друга Владимира Милькина. Пошаговые и понятные уроки даже для новичка с поддержкой учителя.
Попробуйте бесплатно по ссылке >>
Объект, позволяющий вывести команды на командный интерфейс конфигурации в отдельную группу:
Видео по общим командам от Павла Чистова:
Вызов клиентской функции из модуля объекта
Добрый день. Недавно решил научиться работать с управляемыми формами. Подскажи те, как можно вызвать клиентскую функцию из модуля объекта на управляемой форме? Есть обычная форма и управляемая. С обычной все работает, а вот как приделать ту же функцию к управляемой пока понять не могу.
Если ДилогЗагрузкиФайла.Выбрать() Тогда
Возврат ДилогЗагрузкиФайла.Каталог;
КонецЕсли;
Возврат "";
КонецФункции // ВыбратьПапку()
Как вызвать программно команду расположенную на Форме 1С?
Есть расположенная на форме новая команда, как в 1С её вызвать программно из модуля формы? Перерыл интернет,не нашел четкого объяснения или кода.
Просто вызови процедуру команды, подставив в параметры команду или кнопку.
Для управляемой формы:
Процедура ВызватьКоманду() ИмяНужнойКоманды = “ИмяКомандыФормы”; // Тут просто имя команды как в конфигураторе. НужнаяКоманда = ЭтаФорма.Команды.Найти(ИмяНужнойКоманды); // Находим команду на форме КакаяТоКоманда(НужнаяКоманда); // Вызываем нужную команду, подставив ее в параметры КонецПроцедуры
Процедура КакаяТоКоманда(Команда) // Тут код твоей команды. КонецПроцедуры
Для обычной формы Процедура ВызватьКоманду() ИмяНужнойКнопки = “ИмяКнопкиФормы”; // Тут просто имя команды как в конфигураторе. НужнаяКнопка = ЭтаФорма.ЭлементыФормы.ОсновныеДействияФормы.Кнопки[ИмяНужнойКнопки]; КакаяТоКоманда(НужнаяКнопка); // Вызываем нужную команду, подставив ее в параметры КонецПроцедуры
Процедура КакаяТоКоманда(Кнопка) // Тут код твоей команды. КонецПроцедуры
Общие команды — механизм платформы, предназначенный для описания часто используемых команд в конфигурации 1С 8.3.
Общие или глобальные команды удобно использовать, если одна команда нужна многих объектам конфигурации. Например, кнопка для вывода структуры подчиненности документов, команда отображения проводок документа, отчет о изменении объекта.
В команду можно передать параметры, например, из формы какого объекта он вызывается.
Настройка и свойства общей команды в 1С
Добавить новую команду и настроить общую форму достаточно просто, рассмотрим этот процесс подробнее:
Получите 267 видеоуроков по 1С бесплатно:
- Бесплатный видео самоучитель по 1С Бухгалтерии 8.3 и 8.2;
- Самоучитель по новой версии 1С ЗУП 3.0;
- Хороший курс по 1С Управление торговлей 11.
- Группа — расположение будущей команды на интерфейсе.
- Тип параметра команды — определяет набор объектов, в котором будет отображаться будущая команда.
- Режим использования параметра — задает возможность передать в качестве параметра команды одно или несколько значений.
- Изменяет данные — если галка установлена, то при выполнение команды форма будет пересчитана с сервера.
- Модуль команды — обработчик выполнения команды, выполняется на клиенте.
Пример модуля команды:
Здесь ПараметрКоманды — объект, вызывающий команду. А в ПараметрыВыполненияКоманды структура, в которой описан Источник (вызываемая Форма), Окно (ОкноКлиентскогоПриложения), Уникальность, указывает, искать ли уже открытую форму или нет.
Группы команд 1С
Объект, позволяющий вывести команды на командный интерфейс конфигурации в отдельную группу:
Видео по общим командам от Павла Чистова:
Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):
Объект 1С "Общие команды"
Команда 1С – это объект конфигурации, с помощью которого разработчик может описывать действия, предназначенные для выполнения пользователем.
Общие команды 1С – команды, которые не имеют объектной специфики (не имеют владельца) или служат для выполнения действий с объектами, которые не используют стандартные команды.
Общие команды удобно использовать в том случае, если одна команда используется несколькими объектами конфигурации, например:
- кнопка печати документа;
- кнопка для вывода структуры подчиненности документов;
- команда отображения проводок документа, и т.д.
Команды могут быть параметризованными, то есть они могут использовать в своем алгоритме некоторое значение, передаваемое платформой (например, из формы объекта). Тип этого значения задается в конфигураторе.
ВАЖНО! Параметризованная команда отображается только в тех формах, в которых имеются реквизиты того же типа, что и параметр команды.
При добавлении новой общей команды в конфигураторе открываются окно модуля команды и окно свойств команды.
На форме 1С обычно располагаются несколько полей, для ввода данных, а также кнопки управления формой и различных сервисных действий. Например, для автоматического заполнения или проверки.
Для того, чтобы расположить на форме кнопку, раньше, в версии 8.1, нужно было:
- Перетащить на панель кнопку
- Добавить функцию — обработчик события кнопки
- В данной функции прописать код на языке 1С, который выполнит требуемые действия.
В 1С версии 8.2 появились управляемые формы. Разработка управляемых форм отличается и на них нельзя «перетащить кнопку».
Как же тогда быть?
Итак ранее кнопка представляла собой отдельный элемент формы.
Чтобы кнопка при нажатии что-то делала, нужно было для нее подключить функцию языка 1С. Такая функция называется — обработчик.
Как мы понимаем, главное в кнопке – это действия, которые она выполняет. Само изображение кнопки на форме вторично – требуется исключительно для того, чтобы пользователь мог нажать на нее. Как она будет выглядеть при этом – как кнопка, или как пункт меню – имеет минимальное значение с точки зрения выполнения цели.
В новой версии 1С 8.2 появился новый объект 1С – команда. Он реализует как раз этот принцип.
Команда 1С – это набор действий, которые должна выполнить программа, сформулированных на языке 1С. Текст программы команды 1С хранится в собственном модуле команды 1С.
Для того, чтобы пользователь мог запустить их на выполнение – у этих действий есть визуальное представление на форме. Какое оно будет – зависит от того, в какую группу элементов формы Вы перетащите команду.
Например, если перетащить просто на форму – будет кнопка, если в группу командной панели – то кнопка командной панели (плоская), а можно перетащить в меню – тогда это будет пункт меню.
Команду возможно использовать как на обычной форме, так и в управляемом (командном) интерфейсе 1С.
Стандартные команды 1С
Расширяем сознание дальше. Итак, суть команды 1С – это действие. Оно может быть запрограммировано на языке 1С.
Но мы знаем также действия, которые не нужно программировать на языке 1С, так как они уже доступны в платформе 1С. Например, для справочников стандартные действия – это возможность создания элемента. Для формы справочника – возможность записать, а для документа – провести. Это тоже действия?
Да, и теперь они называются – стандартные команды 1С. Свои стандартные команды 1С есть у справочников, документов, форм и прочих объектов 1С.
Стандартные команды 1С можно отключить у конкретного объекта 1С с помощью галочки «Использовать стандартные команды 1С» в конструкторе объекта 1С на закладке «Команды 1С».
Владелец команды 1С
Команды 1С находятся во вложенной ветке своего владельца. Например, Справочники/Контрагенты/Команды 1С.
Также есть команды 1С, которые не имеют владельца, так как они являются общими. Такие команды 1С не привязаны к объектам и находятся в ветке Общие/Общие команды 1С.
В любой управляемой форме можно создать собственную произвольную команду, текст программы которой (функция) будет находится в модуле формы.
Параметры команды 1С
В конфигурациях толстого клиента в справочниках и документах было меню «Перейти» с помощью которого волшебным образом можно было перейти в связанные объекты 1С.
Например, для справочника Контрагенты, юридический и физический адрес хранятся в связанном регистре Контактные данные. Чтобы перейти в него, необходимо было выбрать меню в форме контрагента(ов) — Перейти/Контактные данные.
То есть для некоторых действий требуется не только факт запуска действия, но и параметр, который определяет, для какого объекта нужно эти действия выполнить – например, для какого контрагента отобразить контактные данные.
В свойствах команды 1С возможно указать:
- Тип параметра команды 1С – тип объекта 1С, который будет использован в качестве параметра, например, справочник Контрагенты
- Режим использования параметры – нужно одно значение или список (массив).
Чтобы разместить команду на форме, можно указать в свойствах команды 1С группу командного интерфейса, где она должна располагаться.
Читайте также: