Управляемый интерфейс 1с 8.3. Рабочая область и вложенные формы

Но слева у нас остается пустое поле. В него можно выводить команды подсистемы:

для этого необходимо настроить командный интерфейс подсистемы:

Что бы команды были видны в левой части интерфейса, надо поставить галочки в панели действия:

Как видим, кроме командной панели "Создать" есть еще так же "Отчеты" и "Сервис". Пока они у нас недоступны, потому что никакие отчеты мы не создавали. Давайте создам их и включим в подсистему "Ценообразование":

После этого мы можем добавить эти отчеты и обработки в командный интерфейс:

После этого данные команды появятся в командной панели:

Для того что бы команды обработки были доступны для добавления в командную панель, необходимо, что бы данный отчет, во первых, был в составе данной подсистемы, во вторых, на нее должны были назначены права:

в третьих, у отчета обязательно должны быть макет:

Для того, что бы был доступен сервис, у обработки так же должны быть права, во вторых, эта обработка так же должна быть включена в соответствующую подсистему, ну а в третьих, у нее должна быть команда.

Публикую вторую главу моей книги «Основы разработки в 1С: Такси»

Глава 2.Обычное и управляемое приложение 1С

В этой главе мы рассмотрим, что такое обычное и управляемое приложение и чем они отличаются друг от друга, но перед этим разберем такое понятие как «интерфейс».

Что вообще такое «интерфейс»? По сути, это общая граница между двумя взаимодействующими системами (очень часто одной системой является человек). Возьмем, например, автомобиль. Есть ли у него интерфейс? Да, конечно. Но что же является общей границей между автомобилем и человеком? Во-первых, это рабочее место, т.е. непосредственно водительское сиденье и органы управление (руль, педаль акселератора, педаль тормоза и т.д.). Во-вторых, это принципы взаимодействия человека с автомобилем, которые являются каким-то набором правил. Например, для того, чтобы ускорить автомобиль, нужно нажать педаль газа, замедлить – педаль тормоза, для поворота направо нужно выкрутить руль вправо и т.д. Благодаря двум этим сущностям человек может управлять автомобилем. Уберите что-то одно, и управление автомобилем не станет возможным.

В мире программного обеспечения все точно так же. Одна система это человек – оператор, пользователь. А вторая система это некоторое приложение, созданное для автоматизации определенного вида человеческой деятельности (мы рассматриваем прикладное программирование).

Например, нам нужно самостоятельно вести складской учет: осуществлять приход товара на склад, списание этого товара и следить за остатками. Что же будет являться общей границей между приложением, без разницы, как и где написанным, и пользователем? Во-первых, это органы ввода информации — иначе как Вы передадите в программу, что на склад пришло 5 штук какой-то продукции. В нашем случае это компьютерная клавиатура и компьютерная мышка. Во-вторых, это система взаимодействия между компьютером и человеком. Например, это может быть интерфейс командной строки: Вы будете с помощью клавиатуры вводить различные текстовые строки (команды) и с их помощью выполнять нужные действия (фиксировать приход товара, расход товара и пр.). Такой интерфейс выглядит примерно так: см. рис. 1.2.1.

Рис. 1.2.1 Пример командной строки

На этом рисунке приведена командная строка операционной системы Windows, с помощью неё Вы можете делать почти все операции, которые делаете в проводнике: копировать файлы, удалять файлы, создавать каталоги и т.п.

Данный вид интерфейса давно является архаичным, и на его смену пришел графический интерфейс пользователя (анг. graphical user interface GUI). В этом интерфейсе взаимодействие между пользователем и приложением происходит посредством различных графических элементов, нарисованных на дисплее (кнопки, иконки, переключатели и т.п). В графическом интерфейсе оператор имеет произвольный доступ посредством органов управления к любым графическим элементами. В нашем случае, когда автоматизируем складской учет, взаимодействие может выглядеть так: оператор нажимает кнопку «Приход», открывается форма подбора товара, где оператор выбирает нужный товар из списка и вводит его количество. Если нужно осуществить расход, то оператор нажимает кнопку «Расход», так же открывается форма подбора, где оператор так же выбирает нужный товар и вводит его количество. Когда нужно сверить остатки, оператор нажимает на кнопку «Остатки», и программа выводит ему остатки товара на складе. Тем самым с помощью данного графического интерфейса Вы можете вполне успешно вести учет товаров на складе.

Закончим с теоретической частью и перейдем непосредственно к теме данной главы. А именно к видам интерфейсов приложения программы 1С, которые все являются графическими интерфейсами пользователя. У программы «1С: Предприятие 8» существуют два глобальных вида графических интерфейсов приложений. Это режим обычного приложения и режим приложения под управляемыми формами (или управляемое приложение).

Платформы редакции 8.0 и 8.1. работали только под обычным режимом, более высокие версии платформы (8.2, 8.3 и т.д.) могут работать и в режиме обычного приложения, и в режиме управляемого приложения.

Режим обычного приложения

Практически все современные конфигурации уже работают под управляемым режимом, но все равно ещё встречаются организации, где используются устарелые конфигурации, которые работают в режиме обычного приложения. Поэтому принципы работы обычного приложения необходимо знать. Очень подробно об этом рассказывается в моей книге (главы 3 и 4). Здесь мы коснемся только самых общих моментов.

В режиме обычного приложения используется интерфейс и формы, которые применялись в платформах 8.0 и 8.1. Раньше этот режим никак не назывался, сейчас же он называется «режим обычного приложения», а формы, которые используются в этом режиме, называются «обычные формы».

Посмотрим вкратце, как выглядит этот режим. Многим он уже будет знаком, но некоторые, особенно те, кто не застал работу под платформами 8.0 и 8.1, его увидят в первый раз.

После загрузки программы пользователь видит интерфейс с меню в его верхней части (см. рис. 1.2.2).

Рис 1.2.2 Вид интерфейса обычного приложения

Переходя по пунктам меню, пользователь может открывать различные формы. В основном это формы списков справочников и документов (см. рис. 1.2.3), но также могут быть отчеты, обработки, планы счетов и пр.

Рис.1.2.3. Форма списка документов

Из формы списка пользователь может открыть форму документа или справочника (см. рис. 1.2.4).

Рис. 1.2.4. Форма документа

Разработчик может использовать автоматически генерируемые формы, или самостоятельно конструировать их в .

Обычные формы разработчику нужно конструировать мышкой: размещать на форме необходимые элементы (кнопку, поле, таблицу), передвигать их в удобное место и определять размер (см. рис. 1.2.5).

Рис 1.2.5. Конструирование обычных форм

Очень часто при разработке сложных форм приходилось учитывать взаимодействие элементов формы между собой. Для этого устанавливались привязки. Иногда они сбивались, и форма приобретала не совсем красивый вид. Не будем особо вдаваться в этот механизм и последствия его неправильного использования, поскольку в случае управляемых форм он утратил свою актуальность.

Напоследок отмечу, что в отличие от управляемого приложения, обычное может работать только под «толстым клиентом». По большому счету, это есть основное, самое кардинальное отличие обычных форм от управляемых. Поскольку режим управляемого приложения был разработан именно для работы под «тонким клиентом».

Режим управляемого приложения

Так в чем же особенность и кардинальное различие режима управляемого приложения от обычного? Основное отличие — это использование управляемого командного интерфейса и управляемых форм. Разберем каждую из этих сущностей отдельно. Что такое управляемый командный интерфейс? Для того, чтобы ответить на этот вопрос, необходимо углубиться опять в прошлое.

Рассмотрим в самом простом виде, как велась разработка конфигурации в обычном приложении. Сначала мы конструировали бизнес-логику: документы, справочники, отчеты, обработки и их взаимодействие между собой. Потом мы настраивали роли, например пользователь с ролью «Снабженец» имел доступ к документу «Приход товара», а к документу «Расход товара» — нет. И наоборот, пользователь с ролью «Продавец» имел доступ к документу «Расход товара», а к документу «Приход товара» — нет. Следующим шагом мы разрабатывали интерфейсы для каждого вида пользователя. Кто практиковал разработку под обычным приложением, помнит, что был такой объект конфигурации, как «Интерфейс», в котором можно было настроить каждое меню наподобие меню на рисунке 1.2.2. И в нашем случае разработчику нужно было потрудиться сделать два интерфейса: один для снабженца, а другой для продавца. Потому что если бы он разработал один общий интерфейс, в котором можно открыть и документ «Приход товара», и документ «Расход товара», то было бы не совсем правильно, если бы снабженец при попытке отрыть список документов «Расход товара», получил сообщение системы, что у него нет на это прав. Чтобы избежать этого, необходимо было сделать два интерфейса и для каждого пользователя указать, под каким интерфейсом он должен работать.

В режиме управляемого приложения все намного проще. Более подробно управляемый командный интерфейс мы будем изучать в следующей части. В этой части мы разберем его в самых общих чертах. В случае интерфейса «такси», управляемый командный интерфейс выглядит так:

Рис. 1.2.6. Управляемый командный интерфейс

При разработке управляемого приложения программисту придется идти немного другим путем. Прежде чем разрабатывать бизнес-логику, нам нужно определить подсистемы, в которые будут входить наши объекты (в обычном приложении они тоже есть, но носят больше декларативный характер). Например, документ «Приход товаров» будет входить в подсистему «Снабжение», а документ «Расход товаров» будет входить в подсистему «Продажи». В то же время некоторые объекты могут находиться в нескольких подсистемах одновременно: справочник «Товары» будет входить и в подсистему «Продажи», и в подсистему «Снабжение», и в подсистему «Маркетинг». В этом случае разработчику нет необходимости создавать объект «Интерфейс», система сама автоматически построит нужный вид интерфейса исходя из настроек прав пользователя и функциональных опций.

Если у какого-то пользователя будет роль, в которой нет прав на просмотр подсистемы, например «Снабжение», то при запуске приложения 1С он просто не увидит этот пункт меню. Так же он не увидит в списке меню документ, на который у него нет права хотя бы на просмотр.

На рисунке 1.2.6 Вы видели интерфейс пользователя с полными правами, а, например, интерфейс продавца будет выглядеть так:

Рис. 1.2.7. Интерфейс пользователя с ограниченными правами

Еще одно отличие от обычного интерфейса, что пользователь самостоятельно может определять вид своего интерфейса с помощью настроек навигаций, действий, разделов и пр. Например, из интерфейса на рисунке 1.2.7 мы можем убрать из функций текущего раздела (верхнее меню) пункты «Склад» и «Товар». Получится вот такой вид:

Рис. 1.2.8. Интерфейс пользователя с урезанными функциями текущего раздела

Более подробно настройку интерфейса пользователем мы разберем в следующих главах этой части, а взаимосвязь ролей и внешнего вида интерфейса мы изучим в следующей части этого курса. Пока же отметим для себя основные отличия управляемого командного интерфейса от обычного.

  • Вид управляемого командного интерфейса настраивается автоматически с помощью механизмов платформы в зависимости от настроек прав пользователей и функциональных опций.
  • Пользователь может самостоятельно настраивать вид интерфейса по своему желанию.

Теперь разберем, что же такое управляемые формы.

Изучите программирование в 1С с помощью моей книги «Программировать в 1С за 11 шагов»

  1. Без сложных технических терминов.
  2. Более 700 страниц практического материала.
  3. Каждое задание сопровождается рисунком (скриншот).
  4. Сборник задач для домашней проработки.
  5. Книга написана понятным и простым языком — для новичка.
  6. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!


Если Вам помог этот урок решить какую-нибудь проблему, понравился или оказался полезен, то Вы можете поддержать мой проект, перечислив любую сумму:

можно оплатить вручную:

Яндекс.Деньги — 410012882996301
Web Money — R955262494655

Вступайте в мои группы.

Мы все знаем, что у компании "1С" было много разных версий платформы 1С, нас сейчас будут интересовать одни из последних версий на момент написания этой статьи, это версии 1С 8.2 и 1С 8.3. Если Вам приходилось работать в обеих этих версиях то Вы, скорее всего, заметили различия в интерфейсах данных версий , для пользователей они отличаются только внешне. По сути, выбор обычного или управляемого приложения говорит системе, какие формы для отображения нужно запускать, обычные или управляемые , а также какой клиент приложения будет использоваться по умолчанию, толстый или тонкий. Более подробную информацию по клиентам читайте в статье «Что такое толстый и тонкий клиент в 1С, а также их различия».

Обычное приложение 1С (обычные формы, обычный интерфейс, версия 1С 8.2)

В 1С 8.2 возможна работа только с обычными формами, в режиме обычного приложения . На изображении ниже показана база в режиме работы "обычное приложение 1С" (обычные формы).

Управляемое приложение 1С (управляемые формы, управляемый интерфейс, версия 1С 8.3)

На платформе 1С 8.3 мы можем работать как с обычными формами (в режиме совместимости) так и с управляемыми. Причем у управляемых форм есть два вида отображения, это стандартный и такси . Пример конфигурации 1С 8.3 со стандартными управляемыми формами показан ниже, а после него показан интерфейс "Такси".

Чем отличаются обычное и управляемое приложение 1С?

Как мы уже выяснили обычное приложение и управляемое приложение это такие виды запуска программы 1С . Причем в зависимости от значения вида запуска 1С (обычное или управляемое приложение ), по умолчанию будет загружаться определенный интерфейс (обычные или управляемые формы ), отсюда и столько синонимов этому понятию. Хотим отметить, что различия в интерфейсах довольно существенные, управляемый интерфейс был переработан полностью. В принципе это и есть все отличия, которые видят рядовые пользователи программы 1С. Что касается программистов, то управляемый интерфейс требует написания видоизмененного кода, ведь разработка уже ведется в 1С 8.3, а не в 1С 8.2, отсюда и все вытекающие последствия. Код также должен быть разделен на клиентский и на серверный, указывается это с помощью соответствующих директив в конфигураторе.

После того, как я три дня пощупал на практике управляемые формы, я их полюбил. Не нужно расставлять мышкой поля на форме, мучиться с привязками. Все просто и делается в несколько кликов.

Мне даже стало жалко, что 1С полностью не отказалась от обычных форм из-за того, что они используются в режиме рабочего стола. Ведь можно было бы дать возможность в УФ точного пиксельного позиционирования, и обычные формы бы отмерли со временем. А так приходится распылять силы еще и на знание старого функционала.

А так, конечно, УФ намного быстрее обычных, т.к. работают по трехзвенной схеме между клиентом и сервером.

Кроме того, сам функционал УФ намного богаче и шире, чем у обычных - неудивительно, прошло много времени, и в них попали многие интерфейсные находки.

Например, вывод динамической таблицы с группировками, или вытаскивание реквизитов объектов напрямую в динамический список. Или даже радиокнопка не в виде точек, а в виде тумблеров.

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

Модальности, событийность и блокировки интерфейса

Я слышал, что в 8.3 появился отказ от модальных функций вроде Вопрос , Предупреждение , ОткрытьФормуМодально . Для меня было непонятно, зачем это было сделано.

Каково же было мое удивление, когда в одном из примеров преподаватель вызвал открытие формы с параметром «Заблокировать весь интерфейс», т.е. по сути модально.

Я-то был уверен, что от модальности отказались.

Понимание пришло не сразу.

В 1С не отказались от модальных окон. Есть новые функции, чтобы вывести предупреждение, задать вопрос, открыть модально диалог выбора файла.

Нюанс в том, что после вызова этих модальных окон управление не замораживается, как раньше, в ожидании, когда форма закроется, а продолжается. Форма вызывает оповещение, что она закрылась, и нужно обработать это оповещение.

Т.е. платформа 1С избавилась от рудимента замораживания выполнения кода и перешла на полностью событийное управление формами.

Конечно же, это никоим образом не связано с тем, что браузеры испытывают сложности с показом модальных окон. Это заблуждение и предрассудок - забудьте его как дурной сон. Все логично. По сути теперь выполнение полностью событийное и асинхронное, от синхронного выполнения удалось избавиться.

В 1С появились мини-конструкторы - рефакторинг. Это упрощает написание обработчиков оповещения для асинхронного режима работы, чтобы не писать их вручную.

В конфигурации есть возможность отключить все синхронные вызовы (они будут вызывать ошибку), в итоге она будет полностью асинхронна и соответствовать последним требованиям организации событийной модели.

Новые возможности интерфейса

Меню

Если управляемые формы выглядят вполне логичным и правильным направлением развития, то направление развития системы меню для меня так и осталось непонятым.
Несомненно, меню, где показывается только один уровень, затем нужно заходить в следующий подуровень и так до выбора нужного пункта уже морально устарело, и ему на смену пришла карта меню, где развернуты сразу несколько пунктов меню. Это было сделано в типовых еще до выхода новых интерфейсов меню в 8.2.

В свое время еще на 8.1 я делал систему меню в виде прикрепленного слева иерархического справочника, где видимость каждого пункта определялась правами доступа пользователя, для которого отображалось меню.

Я так понял, что 1С посчитало неправильным, что прикладной объект Интерфейс не используют, и решила выпустить ему новую, продвинутую альтернативу.

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

В общем, новые способы организации меню пришли, на мой взгляд они не очень удачные, но альтернативы нет, и их применяют в типовых.

Я спросил преподавателя: «Мне понятно насчет управляемых форм, но зачем нужно было развивать интерфейсы, почему было нельзя немного доработать классическое меню»?

Он мне ответил, что система 1С развивается в направлении увеличения комфорта и скорости работы пользователя. На мой взгляд все же, такие грандиозные изменения в системе меню этого не стоят.

Порядок обхода

Кстати, для производительной работы пользователей важен порядок обхода - многие на автомате уже заучили определенный порядок обхода полей. Так вот, как раз от порядка обхода в 8.2 отказались. Он строго соответствует порядку размещения элементов. К счастью, есть возможность программного перехвата выхода из поля и передачи фокуса другому полю, иначе было бы совсем плохо с заявленной производительностью.

Рабочая область и вложенные формы

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

Намного проще было бы создавать её программным кодом или использовать механизм вложенных форм.

Что так и не реализовано в 8.2-8.3

Я так и не дождался вложенных форм. Увы, их нет, хотя они использовались еще в древнем Access .

Перетаскивания через буфер обмена нет. Т.е. приходится тащить мышкой, нельзя указать - я тащу отсюда и помещаю здесь, не разрывая жесть мышью, увы. Хотя, возможно, здесь на помощь может прийти сторонний софт, т.к. перетаскивание - это системная вещь в Windows .

Функциональные опции и видимость элементов

В своё время RLS были созданы для того, чтобы показывать пользователям только отдельные записи таблиц.

Дальнейшим развитием видимости стали функциональные опции и настройки отображения полей по ролям. Все вместе это составляет некий разнообразный зоопарк, нет общей стройности и слаженности.

На мой скромный взгляд, видимостью полей все же проще управлять программным путем, чем декларативно, расставляя галочки и делая сложный механизм функциональных опций.

В свое время я доказал, что RLS на изменение уступает программному контролю записи на уровне модуля объекта/подписки. Точно так же подозреваю, что любая функциональная опция уступает обычному алгоритмическому описанию контроля видимости элементов - как в простоте использования, так и в универсальности подхода.

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

Приговор - функциональные опции и видимость через роли - малоэффективны, но их надо знать, т.к. они используются в типовых конфигурациях.

Интерфейс 8.2 и интерфейс Такси

Интерфейс 8.2 и интерфейс такси совместимы, т.е. новых объектов не появилось. Конфигурация может работать или в 8.2 или в Такси, можно позволить пользователю переключаться между этими интерфейсами.

Главное отличие - расположение объектов главного меню. В 8.2 они занимали много места слева и сверху, в итоге под рабочую область для пользователя оставлялось мало места в правом нижнем углу. В интерфейсе Такси меню автоматически скрывается, оставаясь в виде небольшого меню слева, в итоге под рабочую область отводится практически весь экран.

Непонятно, зачем было идти таким запутанным путем, если в итоге базовая система меню в 8.1 еще более экономно расходовала рабочее пространство экрана?

Также в Такси изменились принципы отображения окон, в итоге код форм для 8.2 в некоторых местах неудобен. Но в этом направлении разницы я еще не осознал, хотя преподаватель и пытался рассказать основные принципы Такси. Попробую разобраться на практике, хотя и считаю все эти усовершенствования интерфейса избыточными и ненужными на практике пользователям бизнес-приложений.

Кстати, в 8.2 нельзя поменять палитру, это как бы визитная карточка платформы 1С. Точно также и система организации меню в виде 8.2 или Такси приучает пользователей к некоторому стандарту. Однако практика показывает, что на новую систему меню пользователь переучивается практически мгновенно. Вот поменять навыки работы с документами и отчетами намного сложнее.

Поэтому весь этот шум и споры вокруг системы меню мне не очень понятны - это не основной момент в платформе 1С, оставим его на совести архитекторов платформы и указывающих им направление развития руководителей.

Не проработанная идеология

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

Например, подсистемы используются и для разделения объектов конфигурации на блоки, и для организации функциональных меню (новая альтернатива привычному меню приложения). Хотя логично было бы создать отдельный прикладной объект, который назывался бы «Функциональное меню».

Также приходится организовывать пустые роли (интерфейсные роли), которые нужны только для того, чтобы указать, какие объекты будут отображаться в той или иной форме. Хотя логичным было бы развить в этом направлении прикладной объект «Интерфейс».

Сомнения в эффективности

Некоторые подходы 1С к usability вызывают сомнения.

Например, много внимания на курсах было уделено, чтобы печатная форма документа показывалась в отдельной подчиненной форме документа и когда документ менялся, чтобы она очищалась. Смысла в этом не очень много, иногда нужно напечатать несколько экземпляров - например до правки и после. Запутаться в паре документов и нескольких печатных формах невозможно с практикой, поэтому распыление энергии в этом направлении мне показалось сомнительным.

Также, например, в платформе невозможно сделать поле ввода в ячейке динамического списка, если источником является не базовая таблица. Не потому что это технически сложно, а из соображений usability .

Возможности сохранения настроек

Настройки формы сохраняются напрямую в базу, а не в сеансе. При аварийном завершении они не теряются. Соответственно, появился новый механизм работы с этими настройками, где можно сохранять и свои данные. Альтернатива СохранитьЗначение /ВосстановитьЗначение .

Теперь все сохраненные настройки при необходимости можно программно перебрать, а значит, выгрузить другому пользователю, в файл и т.п.

Остальные вопросы

Что такое управляемые формы?

В управляемых формах код выполняется на клиенте и на сервере.

Под клиентом подразумевается слабая машина, им может быть даже обычный браузер.

А сервер находится в непосредственном и быстром соединении с базой данных.

Клиент не может работать с базой данных, он может выполнять мелкие математические операции и управлять элементами своих форм. Если требуется получить что-то из базы данных или отправить туда данные - клиент обращается к серверу.

Именно так работают управляемые формы. При должной сноровке постоянное обращение к серверу не является сложностью.

Подобная организация эффективнее, чем подключение к серверу через удаленный доступ, кроме того, работа возможна непосредственно через браузер, т.е. на любой платформе - Windows, Linux , Android , Mac OS .

Заметки по 1С россыпью

Здесь приведу заметки, которые писал для себя, они содержат ценные знания:

  1. В окне запуска 1С прописываются уже не информационные базы, а точки входа. Т.е. одна база может присутствовать несколько раз, но прописана для разных пользователей и разных инструментов работы - браузер, тонкий/толстый клиент, вход для администратора.
  2. Для администратора появился ключ, который отключает контроль ролей. Войти в Предприятие таким способом можно, только если доступны административные права на конфигурацию.
  3. Общие реквизиты - не путать их с общими реквизитами в 1С7, в 82 они используются для разделения доступа в интерфейсе.
  4. Часто использовал минимальную высоту списка в форме, чтобы избавиться от лишней полосы прокрутки формы.
  5. Не стоит хранить картинки в реквизите справочника, это приводит к падению производительности справочников, надо использовать регистр сведений.
  6. В процедурах сервера при передаче параметров нужно использовать ЗНАЧ, чтобы параметр не передавался обратно на сервер.
  7. Новые функции СтрНачинаетсяС и СтрЗаканчиваетсяНа , возможно и другие, с платформы 8.3.6.
  8. В 1с 8.2 появился привилегированный режим, т.е. можно отключать контроль прав доступа на уровне ролей на участках кода.
  9. Элементы формы список, таблица значений и дерево значений отличаются тем, что список на сервере и клиенте имеет одинаковое представление, а для таблицы и дерева создаются специальные объекты и их надо преобразовывать на сервере.
  10. Порадовало, что преподаватель любит называть объекты в единственном числе и называть модули с подчеркивания, чтобы эти модули шли первым по порядку в контекстной подсказке.

О жизни и вокруг 1С

Преподаватель утверждал:

  1. Разработку нужно вести с интерфейса.
    Мое мнение : Утверждение сомнительное, т.к. знание и опыт использование архитектуры платформы позволяет сразу идти от прикладных объектов, а интерфейс уже строить потом.
  2. Руководитель не вводит данные, только смотрит отчеты. А управляет не вводом данных в 1С, а телефоном и через секретаря. Поэтому руководителю достаточно браузера, а поля ввода нужны только для фильтрации данных.
    Мое мнение : Да, это похоже на истину.
  3. Критиковал БСП (Библиотека Стандартных Подсистем). В том плане, что из нее невозможно и очень сложно выделить необходимые модули.
    Мое мнение : Т.к. даже БСП не удалось разбить на модули, то и УПП не получается разбить на модули УТ, ЗУП, БП, Производство. И тут не платформа виновата, а неправильная методология написания типовых - не соблюдается модульность. Тот же
    Navision давно имеет возможность сначала продать клиенту бухгалтерию, а потом он может докупить торговлю, производство и зарплату при необходимости, без переписывания кода и перехода на новую программу.
  4. Типовые стали очень сложными, их затруднительно изменять. Опять же не из-за сложности платформы, а из-за неправильной организации типовых. При этом теряется основной принцип - быстрое и экономное сопровождение и доработка типовых конфигураций при необходимости.
  5. Был продемонстрирован вариант оформления заказа, когда слева в рабочей области находится номенклатура, справа - список заказов. Напротив номенклатуры можно ставить количество, затем перетаскивать ее в список заказов и формируется заказ. Преимущество - не блокируется таблица заказов для создания нового заказа.
    Мое мнение : Преимущество надуманное - все же пользователям привычнее видеть отобранный товар в табличной части, можно сохранить этот заказ как черновик или скопировать заказ из шаблона. В общем, документы придуманы не зря.
  6. Объяснял разницу между разделами «Главное», «Важное», «Перейти», «Смотри также».
    Мое мнение : Лично я понял смутно, а значит, большинство так и не поймет эти заложенные в платформу нюансы
    usability в Такси. Поэтому интерфейсы будут выглядеть как раньше, как уже привыкли и пользователи, и программисты в 1С.
  7. В ячейке табличного поля на форме, источником которого является произвольный запрос, нельзя вводить данные, как в поле ввода. Это сделано в интересах usability , чтобы пользователь фокусировался на вводе данных в отдельном окошке.
    Мое мнение : Я привел пример с вводом в табличные части, где такое поле имеется, смысл запрета мне не понятен.
  8. Разводы возникают от сравнения супруга с другими людьми. Меньше сравнений - крепче брак.
  9. Иностранные языки легче изучать, когда изучаешь их сразу несколько, снимается зашоренность и зацикленность на одном родном языке.
  10. Иностранные языки невозможно изучать, если привязывать иностранное слово к слову на родном языке, нужно привязывать к образу. Цепочка иностранное слово - образ короче чем цепочка иностранное слово - родное слово - образ. В последнем случае мыслить на иностранном не получится.

Заключение

Выражаю благодарность преподавателю.

Посещение этого курса избавило меня от предубеждения относительно управляемых форм, я четко уяснил для себя нюансы модальности, различия между интерфейсами 8.2 и Такси.

Теперь управляемые формы не пугают меня, а, наоборот, влекут познать их.

Надеюсь, и вы, читающие эту статью, по достоинству оцените управляемые формы.

Когда пользователь заходит в 1С в режиме Предприятие, чтобы начать работать, то в первую очередь он видит интерфейс программы.

В программировании под словом интерфейс могут иметь ввиду несколько разных значений. Мы сейчас имеем ввиду «интерфейс пользователя».

Интерфейс пользователя – это все окна, меню, кнопки и прочее, с чем пользователь работает непосредственно в программе.

Дизайн интерфейса – это использованный шрифт, цвет, фоновая картинка и другие элементы декора. Дизайн не влияет на состав интерфейса.

В платформе 1С реализованы два разных механизма интерфейса пользователя, которые используются в разных . В толстом клиенте 1С свой интерфейс, в тонком (и веб клиенте) – свой.

Поговорим сегодня о пользовательском интерфейсе 1С.

Интерфейс 1С

Интерфейс 1С толстого клиента выглядит так.

В него входят:

  • Главное меню
  • Панели.

Рабочий стол, используемый в некоторых конфигурациях (бухгалтерия, зарплата) не является частью интерфейса 1С, это обработка, которая делается программистом отдельно и которая открывается в 1С на полный экран в момент входа в программу.

В конфигураторе интерфейс 1С находится в ветке Общие/Интерфейсы.

Программист создает интерфейс 1С с определенным названием и при создании пользователя указывает интерфейс 1С по умолчанию этого пользователя.

В свойствах интерфейса 1С есть галочка «Переключаемый». Если интерфейс 1С не переключаемый (галка снята), то его видят все пользователи, даже если им назначен другой интерфейс 1С. При этом пользователь видит оба интерфейса слитые в один.

При добавлении интерфейса 1С Вы видите список панелей. Всегда есть панель по-умолчанию, на ней располагается главное меню программы.

Если добавить еще панели – то они будут отображены панелями (с кнопками).

При добавлении нового интерфейса 1С с нуля открывается конструктор, который помогает сконструировать меню проставив галочки по нужным объектам.

При редактировании существующего меню, пункты добавляются поштучно, так как при повторном вызове конструктора он пересоздает меню с нуля.

При добавлении верхнего пункта меню, в свойствах можно выбрать одно из типовых меню – Файл, Операции, Сервис, Окна, Справка.

После добавления кнопки или пункта меню нужно выбрать выполняемое действие. Действие может быть двух видов.

Если Вы хотите, чтобы в результате нажатия открывался объект 1С – справочник, документ или отчет – нужно нажать кнопку с тремя точками и выбрать нужный объект, а также нужную форму (возможное действие объекта).

Если Вы хотите, чтобы в результате нажатия выполнялась произвольная команда – нажмите лупу. Функция может располагаться в . После выбора модуля в нем будет создана функция обработчик, модуль будет открыт для редактирования.

Управляемый командный интерфейс 1С

В новой версии 1С 8.2 появились новые виды клиентов – .

Интерфейс 1С тонкого клиента выглядит так.

Интерфейс 1С веб клиента выглядит так.

В идеале они одинаковы, и, как видно, сильно отличаются от интерфейса 1С толстого клиента.

Он теперь состоит не только из меню и панелей, а из:
1) Список разделов учета
2) Навигации по выбранному разделу
3) Команд на выполнение в текущем разделе
4) Формы для выполнения текущей операции.

Для формирования интерфейса 1С управляемого клиента больше не используется «Интерфейсы», он формируется сложно, на основании множества настроек, сделанных в конфигурации.

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

Подсистемы 1С

Основой управляемого командного интерфейса 1С является список разделов учета. Например – деньги и товары, два раздела учета.

В конфигурации за разделы учета отвечает объект 1С Подсистемы, который находится в ветке Общие/Подсистемы 1С.

Создав подсистему 1С, в нужных справочниках и документах, на закладке Подсистемы 1С в конструкторе объекта Вы можете включить их в эту подсистему 1С. Это значит, что они относятся к этому разделу учета. Объекты могут быть включены в несколько подсистем 1С.