Программирование в 1С для всех
Любой начинающий разработчик управляемого приложения 1С, который дошел до открытия управляемых форм заметил, что новая форма открывается всегда не поверх текущего окна, а в соседнем окне. Этот режим открытия называют Независимым. Но очень часто для удобства работы пользователей форму нужно открыть именно поверх всех имеющихся окон. Разберемся, как это работает.
Прежде чем изучать открытие формы программно, познакомимся с очень интересным свойством управляемой формы 1С, которое называется РежимОткрытияОкна. Именно это свойство отвечает, каким образом откроется новое окно. Это свойство принимает три значения: Независимый, Блокировать окно владельца и Блокировать весь интерфейс.
Если у формы 1С установлен Независимый режим открытия окна, то форма откроется в отдельном окне, как на рисунке ниже.
Здесь и далее приведена конфигурация из книги «Основы разработки в 1С: Такси».
В том случае если установлен режим Блокировать окно владельца или Блокировать весь интерфейс, то форма откроется по верх всех окон.
Только в случае режима Блокировать окно владельца, будет заблокирована форма, в которой было инициализировано открытие новой формы. А в случае режима Блокировать весь интерфейс заблокируется весь интерфейс программы 1С. По сути, форма откроется в модальном режиме.
Со свойством формы разобрались, перейдем к открытию формы при помощи программного кода. Делать мы это будем при помощи уже знакомого нам метода ОткрытьФорму. Как работает этот метод, читайте в моей статье:
У этого метода есть последний седьмой параметр, который называется РежимОткрытияОкна, этот параметр имеет тип системное перечисление РежимОткрытияОкнаФормы, которое содержит в себе уже знакомые нам режимы: Независимый, Блокировать окно владельца и Блокировать весь интерфейс.
Если мы в методе ОткрытьФорму установим в седьмой параметр какое-либо значение, то форма откроется согласно этому значению.
Ниже приведены все три варианта открытия окна формы с использованием параметра РежимОткрытияОкна:
Изучайте управляемые формы 1С с моими статьями:
Открытие управляемой формы существующего объекта
Открытие управляемой формы 1С на основании другого объекта
Открытие обычной формы в управляемом приложении 1С
Очень подробно вопросы по работе с управляемыми формами в частности и с управляемым приложением в целом рассмотрены в книге «Основы разработки в 1С: Такси. Разработка управляемого приложения за 12 шагов». Эта книга станет настоящим подспорьем для тех, кто только начал знакомится с разработкой управляемого приложения.
Книга «Основы разработки в 1С: Такси» отлично подойдёт тем, кто уже начал программировать и испытывает определенные сложности с этой темой и тем, кто уже давно программирует, но ни разу еще не работал с управляемыми формами 1С
Промо-код на скидку в 15% — 48PVXHeYu
Многие начинающие думают, что изучить язык программирование в 1С сложно и трудно. В действительности программировать в 1С — легко. Помогут Вам легко и быстро освоить программирование в 1С мои книги: «Программировать в 1С за 9 шагов» и «Основы разработки в 1С: Такси»
Изучите программирование в 1С с помощью моей книги «Программировать в 1С за 9 шагов»
Промо-код на скидку в 16%: vCph8bW3rE
Если Вам помог этот урок решить какую-нибудь проблему, понравился или оказался полезен, то Вы можете поддержать мой проект, перечислив любую сумму:
можно оплатить вручную:
Яндекс.Деньги — 410012882996301
Web Money — R955262494655
Вступайте в мои группы в соцсетях, и будьте в курсе всех новостей
Вспомогательное окно
Например, в результате выполнения команды действия Склад будет открыто новое, вспомогательное окно для ввода данных нового склада. Это переводит пользователя от задачи навигации по приложению, выполняемой в основном окне приложения, к задаче ввода нового элемента справочника.
В одном сеансе работы может быть открыто несколько вспомогательных окон. Они отображаются на экране компьютера независимо от основного окна, и, таким образом, не используется классический многооконный интерфейс (MDI).
Независимый режим, режим блокирования окна владельца и модальный режим
Если работа с формой, открываемой во вспомогательном окне, предполагает ввод большого количества информации или для ввода этой информации может потребоваться просмотр каких-либо списков, элементов, то в этом случае вспомогательное окно, как правило, открывается в независимом режиме. Это означает, что после открытия вспомогательного окна можно перейти к любому другому окну, открытому в этом сеансе работы.
Для ввода объектов, содержащих небольшое количество данных, используются вспомогательные окна, открываемые в режиме блокирования окна владельца. Они блокируют работу окна владельца, чтобы пользователь мог быстро ввести необходимые данные и закрыть окно. В таком режиме, после открытия вспомогательного окна нельзя перейти к окну, которое является его владельцем, но можно перейти к другим окнам, открытым в этом сеансе работы. Открытие вспомогательного окна в режиме блокирования окна владельца не останавливает исполнение кода на встроенном языке.
В тех случаях, когда для продолжения работы системы, для продолжения исполнения кода на встроенном языке необходимо гарантированно получить некоторые данные, введенные пользователем, вспомогательное окно может быть открыто в модальном режиме. Это означает, во-первых, что после открытия вспомогательного окна невозможно перейти ни к одному другому окну, открытому в этом сеансе. А, во-вторых, это означает, что выполнение кода на встроенном языке будет остановлено, и система будет ожидать данные, введенные пользователем.
Рабочая область
Вспомогательное окно так же, как и основное окно, содержит рабочую область. При первом открытии окна в ней отображается основная форма вспомогательного окна.
Например, если была вызвана команда создания нового элемента справочника, то в рабочей области вспомогательного окна будет открыта форма этого справочника.
Панель навигации
Вспомогательное окно, как и основное, может иметь панель навигации.
Панель навигации предназначена для отображения в этом же окне информации, которая связана с тем объектом, данные которого отображаются в основной форме.
Например, панель навигации элемента справочника Товары, который называется Босоножки, может содержать в панели навигации команды перехода к списку цен, установленных на босоножки, к списку характеристик товара Босоножки и т.д.
При вызове навигационной команды в рабочей области вспомогательного окна отображается новая, вспомогательная форма, замещая прежнее содержимое рабочей области. Для возврата к основной форме служит команда, расположенная в верхней части панели навигации и выделенная жирным шрифтом.
Командная панель
Вспомогательное окно не содержит панели действий, поэтому все команды, которые могут привести к выполнению тех или иных действий, располагаются в командной панели той формы, которая открывается во вспомогательном окне. Подробнее.
Область системных команд
Как и основное окно, вспомогательные окна содержат область системных команд. Она расположена в верхней части вспомогательного окна, но ее состав «беднее», чем у основного окна. Как правило, область системных команд вспомогательного окна содержит главное меню системы, команды работы с избранным, команды работы со ссылками и набор вспомогательных команд.
Однако если вспомогательное окно открывается в режиме блокирования окна владельца или в модальном режиме, то область системных команд выглядит еще проще. Подробнее.
Компоновка форм
Область применения: управляемое приложение.
3. Вспомогательные формы
4. Свертываемые группы
1. Общие принципы
1.1. Внутри одной формы все заголовки для однострочных полей ввода, переключателей, тумблеров следует располагать одинаково – или слева, или сверху.
Заголовки многостраничных полей рекомендуется располагать в зависимости от общей композиции формы.
1.1.1. Если в группе однострочных полей заголовок одного поля существенно длиннее остальных заголовков, рекомендуется сократить название заголовка этого поля или переносить часть такого заголовка на другие строки.
1.1.2. Поля взаимосвязанных реквизитов, находящиеся в одной группе, должны выравниваться по опорной линии.
1.2. Элементы, которые в разных формах выполняют одну и ту же функцию, следует называть одинаково и всегда выводить примерно в одном и том же месте.
Например, реквизит «Контрагент» располагается в левой колонке шапки во всех документах, где выводится.
1.3. Если один из элементов интерфейса влияет на другие элементы, то он должен быть расположен до этих элементов (выше или левее, в зависимости от ситуации). При работе с формой пользователь сначала должен выполнить действия, связанные с основным элементом, а потом уже перейти к работе с зависимыми.
Например, выбор системы налогообложения влияет на состав вкладок, поэтому тумблер для его выбора расположен выше всех вкладок, а не на одной из них:
Например, поле «Договор» заполняется после того, как выбран «Контрагент», поэтому расположено в колонке справа от него. Пользователь сначала укажет контрагента в левой колонке, а потом – договор в правой:
Аналогично, если внутри формы есть взаимосвязанные табличные части, то они должны располагаться рядом друг с другом.
Например, в документе «Отчет комиссионера (агента) о продажах» состав товаров и услуг зависит от выбранного покупателя. Поэтому эти табличные части расположены рядом:
Обязательно к соблюдению
1.3.1. Использование вертикальной зеленой черты для выделенных отдельных элементов и групп взаимосвязанных реквизитов не допускается. В качестве выделения следует использовать состояния:
— слабое выделение;
— обычное выделение;
— нет.
Концепция пользовательского интерфейса
Концепция пользовательского интерфейса системы 1С:Предприятие 8 ориентирована на комфортную эффективную работу и соответствует современным тенденциям.
Основное окно
При запуске системы в режиме 1С:Предприятие открывается основное окно программы.
Функции, необходимые для удобной навигации по прикладному решению, реализованы в главной панели и в нескольких вспомогательных панелях: в панели разделов и в панели функций текущего раздела. Разработчик прикладного решения может задать некоторый стандартный состав и расположение этих панелей в соответствии с назначением и особенностями приложения.
Конструирование рабочего пространства
Пользователь может самостоятельно конструировать своё рабочее пространство, располагая панели в разных областях экрана.
Можно создать минималистичное рабочее место, оставив на экране лишь главную панель. При этом все функции навигации по прикладному решению будут доступны с её помощью.
Можно разместить на экране сразу несколько панелей, обеспечив себе разнообразные и быстрые возможности перехода к различным частям прикладного решения.
Начальная страница
Начальная страница — это стандартный раздел программы, содержащий часто используемые документы, отчеты, справочники и т. п. Это своеобразный «помощник» пользователя. Каждый рабочий день начинается с «общения» с ним. Начальная страница вводит пользователя в курс дел, отвечает на его вопросы — подробнее.
Панель разделов
Панель разделов — это наиболее крупное разделение функциональности прикладного решения. Она расположена в верхней части основного окна и соответствует верхнему уровню подсистем, добавленных в конфигурацию. С ее помощью осуществляется переход к другим разделам программы. Подробнее…
Раздел
При активизации раздела вся функциональность соответствующей подсистемы, включая вложенные подсистемы, представляется пользователю в виде команд в панели функций текущего раздела. Подробнее…
Команды
Команды — это действия, которые может выполнить пользователь. Программа может содержать разнообразные команды. Часть из них, стандартные команды, предоставляется самой платформой. Другая часть создается разработчиком прикладного решения. Подробнее…
Панель функций текущего раздела
Панель функций текущего раздела содержит самые востребованные и часто используемые команды, позволяющие просматривать информацию в списках, быстро создавать новые объекты, выполнять типовые обработки или строить популярные отчеты — подробнее.
Главная панель
Главная панель предназначена для быстрого доступа к основным функциям прикладного решения: меню функций, глобальному поиску, центру оповещений, истории, избранному, к текущему пользователю и главному меню — подробнее.
Меню функций
Меню функций предоставляет удобный доступ ко всем командам прикладного решения. Перемещаясь по разделам можно видеть на экране все команды раздела и выполнять поиск по ним. Подробнее…
Глобальный поиск
Глобальный поиск выполняет поиск по избранному, истории, по меню функций, по обсуждениям и сообщениям системы взаимодействия, по данным (полнотекстовый поиск) и по справке. При этом каждый найденный элемент обозначается соответствующей пиктограммой — подробнее.
Избранное
Любой раздел, список, объект базы данных, отчет или обработку, а также команду можно добавить в избранное, чтобы потом быстро вернуться к ней, при необходимости — подробнее.
История
История содержит все действия пользователя, связанные с добавлением, изменением данных, или просто с открытием форм элементов справочников, документов и т. д. Она позволяет быстро перейти к тем объектам, которые пользователь недавно изменял или открывал — подробнее.
Центр оповещений
В центре оповещений отображаются важные оповещения, на которые пользователь еще не отреагировал — не закрыл или не выполнил связанное с оповещением действие. Оповещения располагаются в порядке их появления, самые новые сверху. О том, что есть новые важные оповещения, сигнализирует колокольчик на зеленом фоне. Таким образом, даже если пользователь отходил от компьютера, он не пропустит важные оповещения — подробнее.
Текущий пользователь
Гиперссылка с именем текущего пользователя открывает окно, в котором можно завершить работу, отменив при этом аутентификацию, если она выполнялась с помощью OpenID.
Кроме этого, если прикладное решение подключено к системе взаимодействия, в этом окне отображается аватар пользователя, телефон, адрес электронной почты и статус, которые можно изменить в этом же окне.
Главное меню
Главное меню содержит набор команд, относящихся к прикладному решению в целом и не зависящих от прикладной специфики конфигурации.
Например, команды пользовательской настройки интерфейса и команды установки параметров системы в целом — подробнее.
Вспомогательные окна
При вызове некоторых команд ввода новых и редактирования существующих объектов, а также при открытии некоторых отчетов и обработок открываются вспомогательные окна приложения.
Меню формы
Каждая форма имеет собственное меню, которое позволяет сохранять и печатать файлы, вносить правки в текстовые и табличные документы, а также управлять открытыми окнами — подробнее.
Ссылки на данные
На любой раздел, список, объект базы данных, отчет или обработку можно получить ссылку в виде строки текста. Такую ссылку можно, например, передать коллеге, чтобы тот мог быстро перейти к этим же данным и внести изменения. Подробнее…
Панель открытых
Панель открытых предназначена для частого переключения между открытыми формами. Каждой открытой форме соответствует отдельная закладка. Подробнее…
Информационная панель
В нижней части основного окна приложения может существовать информационная панель. Она предназначена для отображения показателей производительности и индикации того, что включён режим имитации задержек при вызовах сервера. Подробнее…
Поддержка корпоративного стиля
Платформа 1С:Предприятия содержит ряд инструментов, позволяющих подстроить внешний вид прикладного решения под корпоративные требования заказчика, под тот стиль, который используется в большинстве его программных продуктов — подробнее.
Работа с формами в «1С:Предприятии 8»
Например, формы списков вы можете увидеть при открытии разнообразных справочников, журналов документов, списков записей в регистрах конфигурации и т. п.
Например, вызывая справочник «Контрагенты», мы получаем на экране как раз такую форму-список (рис. 1).
Как правило, кроме собственно списка, у форм такого типа присутствует командная панель с кнопками-действиями, которые выполняются над элементами данного списка.
При наведении (не нажатии!) мышью на одно из действий, вы получите краткое пояснения этого действия и «горячую» клавишу (или комбинацию клавиш) для его выполнения, если имеется такая возможность.
Кроме этого, в командной панели, как правило, присутствует элемент «Действия», где собраны все действия, которые можно выполнять над элементами данного списка.
При отметке какого-либо элемента в списке, можно нажать на нем правой кнопкой мыши. В результате вы получите список разрешенных действий для данного элемента.
Некоторые действия одинаковы для всех списков, некоторые созданы разработчиками конфигурации и могут отсутствовать в других формах списков.
Для часто используемых в форме списков действий назначены комбинации клавиш (подробнее об использовании «горячих» клавиш читайте в номере 10 (октябрь) «БУХ.1С» за 2007 год, стр. 8), использование которых повысит эффективность работы в программе:
Действие
Сочетание клавиш
Активация действия в командной панели
Добавить новый элемент
Пометка на удаление
Добавить группу (для справочников с иерархией)
Переместить элемент в другую группу (для справочников с иерархией)
Быстрый вход внутрь группы (для справочников с иерархией)
Выход на уровень выше
Добавить новый элемент копированием текущего
Изменить текущий элемент
В некоторых списках имеется возможность множественного выделения выбранных элементов с целью их групповой обработки. Для того, чтобы выделить несколько элементов (если это разрешено в списке), достаточно нажать клавишу Shift и прощелкать мышью необходимые элементы.
Для этого можно использовать клавиши со стрелками (вверх, вниз, вправо, влево), включая привычное всем нам страничное листание (PageUp/PageDown) в сочетании с этими клавишами. Работают также общепринятые «горячие» клавиши:
Действие
Сочетание клавиш
Выделить все от текущей позиции до начала списка
Выделить все от текущей позиции до конца списка
Выделить все элементы
Копирование текстового представления текущей ячейки в списке элементов
Форма списка
Например, формы списков вы можете увидеть при открытии разнообразных справочников, журналов документов, списков записей в регистрах конфигурации и т. п.
Например, вызывая справочник «Контрагенты», мы получаем на экране как раз такую форму-список (рис. 1).
Как правило, кроме собственно списка, у форм такого типа присутствует командная панель с кнопками-действиями, которые выполняются над элементами данного списка.
При наведении (не нажатии!) мышью на одно из действий, вы получите краткое пояснения этого действия и «горячую» клавишу (или комбинацию клавиш) для его выполнения, если имеется такая возможность.
Кроме этого, в командной панели, как правило, присутствует элемент «Действия», где собраны все действия, которые можно выполнять над элементами данного списка.
При отметке какого-либо элемента в списке, можно нажать на нем правой кнопкой мыши. В результате вы получите список разрешенных действий для данного элемента.
Некоторые действия одинаковы для всех списков, некоторые созданы разработчиками конфигурации и могут отсутствовать в других формах списков.
Для часто используемых в форме списков действий назначены комбинации клавиш (подробнее об использовании «горячих» клавиш читайте в номере 10 (октябрь) «БУХ.1С» за 2007 год, стр. 8), использование которых повысит эффективность работы в программе:
Действие
Сочетание клавиш
Активация действия в командной панели
Добавить новый элемент
Пометка на удаление
Добавить группу (для справочников с иерархией)
Переместить элемент в другую группу (для справочников с иерархией)
Быстрый вход внутрь группы (для справочников с иерархией)
Выход на уровень выше
Добавить новый элемент копированием текущего
Изменить текущий элемент
В некоторых списках имеется возможность множественного выделения выбранных элементов с целью их групповой обработки. Для того, чтобы выделить несколько элементов (если это разрешено в списке), достаточно нажать клавишу Shift и прощелкать мышью необходимые элементы.
Для этого можно использовать клавиши со стрелками (вверх, вниз, вправо, влево), включая привычное всем нам страничное листание (PageUp/PageDown) в сочетании с этими клавишами. Работают также общепринятые «горячие» клавиши:
Действие
Сочетание клавиш
Выделить все от текущей позиции до начала списка
Выделить все от текущей позиции до конца списка
Выделить все элементы
Копирование текстового представления текущей ячейки в списке элементов
Форма элемента
Чтобы не перегружать наше восприятие, информационное наполнение формы распределяется в ней по нескольким закладкам.
Для форм элементов характерно наличие командных панелей сверху и/или снизу открываемого окна. Это командные панели формы с действиями, которые относятся к открытому объекту конфигурации целиком.
Обычно одна из команд назначена «кнопкой по умолчанию». Она активируется комбинацией клавиш Ctrl+Enter. Такая кнопка выделяется жирным (в нашем примере, это кнопка «ОК»).
Как правило, на форме элемента четко можно определить разницу между командными панелями формы и вспомогательными командными панелями.
Комбинация Alt+F10 работает и здесь, она активирует ту командную панель, с элементами которой пользователь работает в данный момент времени.
Полезно знать, что практически все действия на форме элемента можно выполнять без использования мыши.
Клавиатурное управление, как правило, значительно ускоряет процесс работы с данными. Например, нажатие на клавишу Enter или Tab, позволяет «перескакивать» с одного элемента формы на другой (следующий за ним). Нажатие Shift+Tab позволяет «скакать» по элементам в обратном направлении. Если вы находитесь в каком-либо поле ввода (например, на рис. 2 в группе контрагентов), достаточно написать первые буквы нужного вам элемента и нажать Tab и программа автоматически подставит нужный элемент в поле ввода (если он уникален в системе), либо предоставит автоматический список для уточнения вашего варианта.
Действие
Сочетание клавиш
Открыть форму выбора нужного элемента
Открыть форму элемента уже выбранного объекта в поле ввода
Очистить поле ввода
Быстрое переключение между закладками на форме, если они есть
Ctrl+PageUp и Ctrl+PageDown
Переключение активного элемента типа «Флажок»
Отказаться от внесенных изменений в текстовых элементах формы
Вернуть отмененное действие
Закрытие практически любой формы
Закрытие/открытие окна служебных сообщений (того, которое может появляться внизу)
При вводе новых объектов конфигурации при помощи форм элементов, обязательные для заполнения поля подчеркнуты красным. Например, для документа «Реализация товаров и услуг: Продажа, комиссия» такими полями являются поле «Контрагент» и поле «Договор» (рис. 4).
Выделять текстовые блоки можно мышью, а можно курсорами с нажатой клавишей Shift. Это бывает полезно для операций с буфером обмена.
Форма выбора
Как правило, в форме выбора можно выполнять массу подобных форме списка действий. Например, завести новый элемент. О том, какие действия возможны в данном случае, вы всегда сможете узнать из наполнения командной панели формы выбора и по тому, какие горячие клавиши работают, а какие нет.
Форма группы
Для каждого объекта конфигурации, может быть задано при разработке несколько форм: разнообразные формы элемента, выбора, вспомогательные формы. Необходимо это, в первую очередь, для облегчения ввода и обработки информации, хранящейся в этом объекте. То есть набор форм, как правило, определяется на этапе создания конфигурации и в разных конфигурациях может отличаться друг от друга даже для однотипных объектов (например, в типовых конфигурациях «Бухгалтерия предприятия» и «Управление торговлей»).
В любом случае, поведение элементов, расположенных на форме, как правило, идентично с точки зрения возможностей управления ими мышью или «горячими» клавишами.
Если специальных пояснений нет, то вам отобразится общая информация по работе с текущим типом формы.
Вызвать справку можно, нажав клавишу F1.
Кроме этого, в таком случае всегда доступны «горячие» клавиши Ctrl+Shift+Стрелка вверх и Ctrl+Shift+Стрелка вниз.