Отличие управляемых форм от обычных в 1с. СтавАналит. Контактная информация. Взаимодействие клиента и сервера

Эта статья продолжает цикл статей «Первые шаги в разработке на 1С». Материал предполагает, что вы уже ознакомились с предыдущими нашими статьями, посвященными интерфейсу. В это же статье мы продолжим знакомство с новыми возможностями интерфейса «Такси» и рассмотрим, какие интересные новшества получили управляемые формы в этом интерфейсе.

Применимость

В статье рассматривается интерфейс «Такси» конфигурации, разработанной на платформе 1C 8.3.5.1098. Дополнения к текущим релизам платформы (8.3.11) приведены в заключении. Поэтому вся представленная информация актуальна.

Новое в управляемых формах в «1С:Предприятие 8.3»

Разработчики платформы «1С:Предприятие 8.3» в очередной раз основательно поработали над удобством работы пользователей с управляемыми формами.

Ввод по строке

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

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

В конфигураторе у ссылочных объектов метаданных для настройки ввода по строке, была создана отдельная закладка “Поле ввода”:

На ней представлены следующие возможности для формирования списка выбора при вводе по строке:

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

В свойстве “Способ поиска строки при вводе по подстроке” можно выбрать – следует ли искать только по первым символам строки или в любой ее части.

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

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

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

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

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

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

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

Результаты полнотекстового поиска, соответствующего введенной поисковой строке, приведены на рисунке:

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

При совместном использовании этого функционала и ввода по строке существует следующая особенность.

Указанные выше обработчики не влияют на представление значений в списке выбора – в списке отражается основное представление объекта.

Однако после выбора в поле отображается ожидаемое переопределенное представление объекта.

Для увеличения нажмите на изображение.

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

Рассмотренные выше свойства ввода по строке задавались на уровне всего объекта метаданных.

В конкретном месте конфигурации разработчик может переопределить эти свойства.

Например, при помощи обработчиков событий АвтоПодбор и ОкончаниеВводаТекста конкретного поля ввода или при помощи обработчика события ОбработкаПолученияДанныхВыбора в модуле менеджера объекта.

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

Для увеличения нажмите на изображение.

Выпадающий список для поля ввода

В платформе 8.3 выпадающий список для поля ввода получил дополнительную функциональность для повышения удобства работы с системой.

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

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

Для увеличения нажмите на изображение.

Использование истории можно переопределить для конкретного реквизита объекта или элемента формы.

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

Также в списке поля ввода есть команда “Создать новый объект”. При этом будет открыта форма нового элемента.

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

Типовой шаблон использования команды “Создать новый элемент” выглядит следующим образом. Пользователь вводит название нужного элемента в поле ввода.

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

Рассмотренные новшества позволяют увеличить скорость ввода информации в систему.

Сохранение настроек динамических списков

В платформе 8.3 настройки динамического списка можно сохранять автоматически. Для этого в конфигураторе, для нужного реквизита формы, необходимо установить свойство “Автоматическое сохранение пользовательских настроек”. По умолчанию, при создании списка эта настройка включена.

У корневого элемента конфигурации появилось новое свойство – Хранилище пользовательских настроек динамических списков.

Это свойство выбирается из списка хранилищ настроек, определенных в конфигурации.

Для увеличения нажмите на изображение.

Настройка списков в пользовательском режиме вызывается при помощи соответствующего пункта меню:

Внешний вид формы похож на настройку отчетов.

Для увеличения нажмите на изображение.

Условия, по которым выполнен отбор списка, автоматически отображаются в нижней части настроек. Эти настройки будут включены в форму списка.

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

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

При такой настройке форма будет иметь поля в виде “быстрых отборов”.

Для увеличения нажмите на изображение.

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

Режим просмотра динамического списка (список, дерево, иерархический список) сохраняется вместе с настройками элементов формы.

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

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

Для увеличения нажмите на изображение.

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

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

Для увеличения нажмите на изображение.

В пользовательском режиме эта кнопка будет выглядеть следующим образом:

Для увеличения нажмите на изображение.

Т.к. материал в статье описан для платформы 8.3.5, то актуализируем его.

  • До версии 8.3.7 ввод по строке работал недостаточно быстро, поэтому в этом релизе была изменена структура данных индекса полнотекстового поиска, что привело к повышению скорости при работе системы в тех местах, где используется данный механизм. Отметим, что новый формат полнотекстового поиска используется в том случае, если режим совместимости установлен в значение «Не использовать». В режиме совместимости с с версией 8.3.6 поведение не изменилось. Также отметим, что в следующем релизе платформы 1С (8.3.8) механизм ввода по строке и при использовании строки поиска динамического списка был также улучшен, и теперь он обеспечивает поиск данных, которые еще не попали в полнотекстовый поиск. Ранее такого поведения не наблюдалось.
  • Выпадающий список поля ввода управляемой формы также претерпел некоторые улучшения. В версии 8.3.8 он стал автоматически подстраивать свою ширину под ширину отображаемых в нем данных, плюс клавиши Home и End стали обрабатываться прямо в поле ввода. Благодаря этим улучшениям стало удобнее использовать поле ввода с выпадающим списком.
  • Механизм сохранения настроек динамических списков также был улучшен, и в версии 8.3.6 свойства расширения таблицы формы для динамического списка Период и Отображение стали храниться в тех же разрезах, что и другие настройки динамического списка, что сильно упростило работу с ними разработчику. Теперь они стали доступны в обработчике управляемой формы ПриЗагрузкеПользовательскихНастроекНаСервере() , чего ранее не было.

На этом знакомство с управляемыми формами в интерфейсе «Такси» мы завершим, но в следующей статье познакомимся с новыми возможностями, которые представила платформа «1С:Предприятие» редакции 8.3.

Мы все знаем, что у компании "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С: Такси»

Глава 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с 8 служит для управления видимостью, доступностью, цветом элементов таблиц управляемой формы (а также оно используется в СКД и динамических списках). Удобство его использования заключается в том, что вы один раз задаете условие по которому должно меняться оформление вашей формы. После этого при работе пользователя с формой, при срабатывании условия оформление будет меняться автоматически. Не нужно использовать события формы и писать лишний код.

Следует заменить, что условное оформление форм работает только в конфигурациях использующих управляемое приложение (Бухгалтерия 3.0, ЗУП 3.0/3.1, Управление торговлей 11 и т.п.)

Условное оформление 1с. Интерактивная настройка

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

  • Открыть свойства формы -> вкладка оформление -> УсловноеОформление Открыть;
  • Откроется таблица ;
  • В первом столбце необходимо выбрать оформление (или сразу несколько);
  • Во втором столбце задать условие, по которому будет срабатывать выбранное оформление;
  • С третьем столбце необходимо выбрать элементы формы на которые будет действовать выбранное оформление.

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

Условное оформление формы. Пример интерактивной настройки

Для примера мной была написана простейшая обработка, на формы которой добавлен реквизит с типом ТаблицаЗначений , с тремя колонками. А также три реквизита с типом булево . Скачать обработку можно .

Форма обработки выглядит так:

Настроим следующее условное оформление данной формы: при установке реквизита СкрытьКолонку1 в значение Истина , в таблице форме скрывать реквизит Колонка1 .

  • Откроем настройку условного оформления формы;
  • Добавим в таблицу новую строку;
  • В колонке Оформление нажмем на кнопку с тремя точками и выберем параметр Видимость , значение Нет ;

  • В колонке Условие нажмем на кнопку с тремя точками, в открывшемся окне добавим новый отбор. Пропишем туда следующие значения: Левое значение — СкрытьКолонку1, Вид сравнения — Равно, Правое значение — Да ;

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

  • Нажмем кнопку Ок , сохраним нашу обработку и запустим ее в режиме 1С Предприятие ;
  • При установке флажка Скрыть колонку 1 , будут происходить следующие изменения в оформлении формы.


Условное оформление 8.3. Пример программной настройки

Используя ту же внешнюю обработку, что и в предыдущем пункте, приведем пример программной настройки условного оформления. Необходимо сделать следующее: при установке реквизита ПоменятьЦветКолонки2 в значение Истина , в таблице формы раскрашивать фон Колонки 2 , при установке реквизита СделатьНедоступнойКолонку3 в значение Истина , в таблице формы делать недоступным реквизит Колонка3 .

В модуле формы создадим серверную процедуру, назовем ее УстановитьУсловноеОформление и сразу же допишем ее вызов в процедуре ПриСозданииНаСервере .

&НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) УстановитьУсловноеОформление(); КонецПроцедуры &НаСервере Процедура УстановитьУсловноеОформление() КонецПроцедуры

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

Элемент = УсловноеОформление.Элементы.Добавить();

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

Элемент = УсловноеОформление.Элементы.Добавить(); ПолеЭлемента = Элемент.Поля.Элементы.Добавить(); ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.ТаблицаФормыКолонка2.Имя); ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ПоменятьЦветКолонки2"); ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ОтборЭлемента.ПравоеЗначение = Истина; Элемент.Оформление.УстановитьЗначениеПараметра("ЦветФона", Новый Цвет(255, 0, 0));

Таким образом мы создали оформление для второй колонки таблицы. Для третьей колонки оно делается аналогичным образом, поэтому не будем на нем подробно останавливаться. Итоговый код процедуры УстановитьУсловноеОформление будет выглядеть следующим образом:

&НаСервере Процедура УстановитьУсловноеОформление() Элемент = УсловноеОформление.Элементы.Добавить(); ПолеЭлемента = Элемент.Поля.Элементы.Добавить(); ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.ТаблицаФормыКолонка2.Имя); ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ПоменятьЦветКолонки2"); ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ОтборЭлемента.ПравоеЗначение = Истина; Элемент.Оформление.УстановитьЗначениеПараметра("ЦветФона", Новый Цвет(255, 0, 0)); Элемент = УсловноеОформление.Элементы.Добавить(); ПолеЭлемента = Элемент.Поля.Элементы.Добавить(); ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.ТаблицаФормыКолонка3.Имя); ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("СделатьНедоступнойКолонку3"); ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ОтборЭлемента.ПравоеЗначение = Истина; Элемент.Оформление.УстановитьЗначениеПараметра("Доступность", Ложь); КонецПроцедуры

Напомню, что скачать обработку написанную на основе разобранных примеров можно .

Главная проблема что за 10-15 лет уже наколбашено очень много кода под обычные формы. Переписывать это все на клиент-сервер никто не хочет + обучено работе с интерфейсом очень много народу. Обязательный переход на БП 3.0 со следующего года рождает панику в умах разработчиков и бухгалтеров. Фидбек будет очень нелицеприятный. К тому же повышается планка входа в профессию, программировать сложнее, типовые еще сложнее стали. Чего стоит новый алгоритм проведения в типовых документах. УФ отлично смотрятся когда у вас 2-3 кнопочки на документах, УФ супер для работы на мобильных устройствах, но пользуются этим 0.01% компаний. Переходить придется, если 1С не придумает чего-то нового, но будет это долго и мучительно для всех. А деньги платить придется самим компаниям.

Я тоже пока только негатив испытываю от управляемых форм, вот еще минусы нововведения:

  • ничего? ну я пару раз столкнулся, например написать и прицепить к конфе ЗУП внеш.печ.форму, обработку там целая эпопея, полно инструкций в инете и страницы кода должны.
    на толстом клиенте одна процедура с параметрами т.е. разработка минутное дело.
    и тормоза в тонком невооруженным видно
  • Насчет уметь готовить управляемые формы — это искусство ради искусства, а какой практический смысл, особенно для файловой версии?
  • я 3 года ваял в УФ, но теперь перешел обратно на простые формы, и поверьте мне этот переход психологически было сделать довольно сложно, но это мой осознаный выбор ибо то, что 1с предлогает на УФ — это совершенно УГ…. может через пару лет 1с и сделает прорыв, но сейчас она только в поиске того места где этот прорыв делать…
  • УФ в конфигураторе открываются намного дольше.
    После этого открытие форм в 8.1 — как на самолет пересесть с грузовика!
  • Гемороя стало больше для всех, пользователи в шоке от нового интерфейса(не все признаются, но тупят значительно больше и по меньшим мелочам), половина программистов стало проф не пригодными, найти работу среднему спецу стало тяжелей да и как выдавать качественный продукт. А самая прикольная маркетинговая тема УФ в том везде парят что переход происходит простым обновлением, только что-то все забывают что с начало надо конфу до последних релизов догнать! Но в принципе мне нравится задумка!
  • Незнаю моя практика показывает обратное. Там где бухи в стрых формах бьют уже несколько лет на автомате, в новых УФ типовых каждый месяц начинается «пля, куда теперь 1С после обновления дела эту кнопку и почему теперь это не работает», что согласитесь не добавляет скорость.
  • — кода стало больше
    — код стал сложнее
    — доработка типовых — сильно сложнее
    — пользователи которым я давал УТ11 никаких достоинств по сравнению с 10.х не нашли
    — зато нашли тормоза и недостаток некоторых функций типа поиска (почему-то хотели именно поиск с вперед-назад а не отбор)
    мое мнение — слишком большие жертвы ради веб-клиента и планшетиков. Причем лично я пока реальную работу с веб-клиентом не встречал вообще, кому надо успешно пользуются удаленным доступом
  • Клиент-серверный бедлам должен быть дать прирост производительности и масштабируемость, при этом в затратах — увеличение кодирования.
    Однако прирост выявился не у всех, отсюда и разочарование. А на затраты кодирования нагнули при этом всех.
    P.S. Собственно, мне управляемые нравятся, спокойно на них рисую. Но вот типовые стали извратные.
  • На домашнем (нормальный комп) веду свою бухию по ИП.
    8.3, БП3, в шашечках. Основное впечатление — я не работаю, а все время жду. отклик геморройский. ОСВ по счету формируется простая офигеть — такое впечатление что карточка счета за год в мегахолдинге.
  • УТ11 — дикий тормоз, ужас и вообще кошмар.
    УТ10 летает по сравнению с УТ11.
    По поводу УФ — баги годами кишат, все кривое, колонки никогда не помещаються на одном экране, растяжение во многих случаях ужасное.
    И еще могу минусов нашлепать дофига, из плюсов наверное ничего не скажу. Их попросту нет.
    Фирмы конкретно попали с этими формами, тк как разработка стоит доролже, спеов как не было так и нет нормальных.

Плюсов мало, но они конечно есть…

Плюсы :

ответ давно есть, чего дали УП:

кросс платформенность клиента

  • работа на плохих линиях связи
  • возможность работы через браузер (без установки клиента)