1. Главная страница » Компьютеры

1С упп управляемые формы

Автор: | 16.12.2019

Введение

В документе приведена типовая последовательность действий, которые нужно выполнить, чтобы перевести существующую конфигурацию на версию 8.2 с частичным использованием управляемого приложения. Данная методика составлена на основе опыта частичного перевода конфигурации "Управление производственным предприятием" на управляемое приложение. Методика содержит только перечень решаемых задач. Описание используемых механизмов версии 8.2 приведено в документации.

Этап 0. Подготовка конфигурации

Прежде всего, следует адаптировать конфигурацию 1С:Предприятия 8.1 к работе на платформе 8.2 без использования режима совместимости с 8.1. Методика перевода подробно описывается в рубрике "Адаптация конфигураций 1С:Предприятия 8.1 к работе на платформе 1С:Предприятие 8.2 без режима совместимости с версией 8.1".

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

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

Здесь возможны следующие варианты:

  • в управляемое приложение необходимо перенести существующий функционал исходного решения (на 8.1) — тогда вносить изменения в конфигурацию (прежде всего в программный код, а также метаданные) следует так, чтобы система оставалась работоспособной и для обычного, и для управляемого приложения, и при этом чтобы по возможности не было дублирования программного кода (либо такое дублирование было сведено к минимуму);
  • для управляемого приложения реализуется новый функционал.
Читайте также:  Air mouse для android tv

Этап 1. Выполнение общих настроек

На данном этапе разработчику необходимо:

1. Определить роли и сценарии работы пользователей (рабочие места):

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

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

  • либо все реквизиты объекта,
  • либо только некоторые реквизиты (другие недоступны пользователю с этой ролью).

3. Создать иерархию подсистем для управляемого приложения.

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

5. Установить управляемый режим блокировок.

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

7. Настроить агрегаты для соответствующих регистров накопления.

8. Рассмотреть целесообразность работы с часовыми поясами.

Этап 2. Настройка интерфейсных свойств объектов конфигурации

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

  • Установить свойство "Быстрый выбор" справочникам, для которых оно уместно.
  • Заполнить для объектов представления, синонимы объектов:
  • для объектов, имеющих управляемые формы — обязательно;
  • для остальных объектов — желательно.
  • Установить свойства реквизитов объектов "Многострочный режим", "Выделять отрицательные" и др.:
    • для реквизитов объектов, которые имеют управляемые формы — обязательно;
    • для остальных объектов — желательно.
    • Настроить механизм проверки заполнения реквизитов объектов.
    • Настроить значения заполнения реквизитов объектов.
    • Обеспечить заполнение реквизитов из данных заполнения — установить флаг "Заполнять из данных заполнения" реквизита (флаг стоит устанавливать для тех реквизитов, отбор которых производится часто, например "Организация", "Склад")
    • Установить свойства документов "Привилегированный режим при проведении" и "Привилегированный режим при отмене проведения":
      • для документов, имеющих управляемые формы — обязательно;
      • для всех документов — желательно.
      • Настроить связи параметров выбора.
      • Заполнить свойства стандартных реквизитов. Например, указать синонимы реквизитов "Владелец", "Родитель".
      • Установить для объектов переменную "допустимую длину кода/номера".
      • Этап 3. Создание и настройка управляемых форм, отчетов

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

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

        Там, где необходимо, следует настроить условное оформление.

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

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

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

        Этап 4. Настройка командного интерфейса

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

        Этап 5. Внесение изменений в программный код

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

        Следует учитывать следующие особенности:

        • Обработчик начала работа системы в управляемом приложении будет выполнять не все действия, которые выполняются при начале работы системы в обычном приложении.
        • Следует использовать модули менеджеров объектов в соответствии с их назначением.
        • Следует использовать режим повторного использования возвращаемых значений функций общих модулей (например, в учетных политиках).
        • Метод Сообщить()не должен применяться для того, чтобы выводить сообщения пользователю о ходе процесса и должен применяться только для сообщений об ошибках (подробнее см. раздел "Работа с сообщениями пользователю".
        • Проанализировать инструкции препроцессора на корректность: обратить внимание на инструкции, указывающие, что код будет выполняться только на клиенте "#Если Клиент Тогда". Вызов такого кода может привести:
        • либо к ошибке выполнения,
        • либо код просто не выполнится.

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

        • Следует рассмотреть целесообразность применения новой методики записи движений при проведении документов.
        • Следует рассмотреть целесообразность отказа от обращений к "устаревшим" именам свойств и методам, например:
        • Свойство ИмяПараметровПечати,
        • Метод ПользователиWindows().

        Заполнение реквизитов нового объекта

        В платформе 1С:Предприятие 8.2 логика заполнения реквизитов объекта должна располагаться в конкретном месте – в модуле объекта в процедуре ОбработкаЗаполнения().

        Платформа 1С:Предприятие 8.1 ведет себя иначе: при вводе нового объекта не "на основании" процедура модуля документа ОбработкаЗаполнения() не вызывается.

        Поэтому логика заполнения реквизитов нового объекта может быть расположена в разных местах, например так:

        • в модуле объекта в процедуре ОбработкаЗаполнения(): заполняются реквизиты нового документа при вводе на основании,
        • в модуле формы объекта в процедурах ПриОткрытии(),ПередОткрытием() заполняются реквизиты нового объекта при любом способе создания документа (ввод на основании, копирование, "простое" создание).

        Поэтому, при переводе конфигурации на версию 8.2 необходимо проанализировать, не следует ли перенести логику заполнения реквизитов нового объекта из модуля формы (процедур ПриОткрытии, ПередОткрытием) в модуль объекта (процедура ОбработкаЗаполнения()).

        При этом следует учитывать, что ОбработкаЗаполнения() не вызывается при копировании объекта.

        Проверка заполнения реквизитов

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

        При этом следует учитывать следующее:

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

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

        Универсальные механизмы в конфигурации

        По каждому используемому механизму следует принять решение:

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

        Этап 6. Прочее

        При переходе на версию 8.2 следует конвертировать используемые картинки в формат "png".

        Михаил Сайко

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

        Отличия управляемых форм

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

        • Самостоятельное формирование структуры формы и размещение полей платформой. Если раньше разработчики описывали положение поля, указывая пиксели, то теперь есть возможность лишь указать вид группировки;
        • Форма состоит из реквизитов, представляющих данные формы, и команд – выполняемых процедур и функций;
        • Код формы выполняется на стороне и сервера, и клиента. Ведь сама по себе форма – это объект конфигурации, создаваемый на сервере и отображаемый на клиенте. Значит, объединяет в себе клиентскую и серверную часть;
        • На клиентской стороне стали недоступны многие типы данных и теперь отсутствует возможность изменить данные в информационной базе;
        • Для каждой процедуры или функции должна быть указана специальная настройка – директива компиляции. Она отвечает за место выполнения кода и может принимать следующие значения:
        • Наклиенте;
        • НаСервере;
        • НаСервереБезКонтекста;
        • НаКлиентеНаСервере;
        • НаКлиентеНаСервереБезКонтекста.

        Последний пункт особо остро стоит в режиме управляемых форм. Если разработчик плохо разбирается в директивах или взаимодействии клиента и сервера, то ему будет крайне сложно создать управляемую форму. Все новые принципы построения управляемых форм в 1С:Предприятие 8.3 объединены общим понятием трехзвенной архитектуры. В нее входят клиентские компьютеры, сервер 1С и СУБД, где хранятся данные.

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

        1. Элементы интерфейса формы. Слева вверху расположено окно, где перечислены все поля, отраженные на выбранной форме, обеспечивающие взаимодействие программы с пользователем;
        2. Реквизиты формы. Справа вверху расположены все данные, с которыми работает форма. Именно в них хранится информация на клиентской стороне;
        3. Отображение управляемой формы. Снизу мы видим предварительный внешний вид на основе элементов интерфейса;
        4. Модуль формы. Раздел, содержащий процедуры и функции, используемые данной формой. Здесь можно найти код алгоритмов взаимодействия программы и с пользователем, и с базой данных.

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

        Принципы разработки управляемых форм

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

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

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

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

        1. Простота сопровождения конфигурации и повышенная читаемость кода. Отсюда можно сделать вывод, что алгоритм, написанный одним разработчиком, всегда сможет поправить другой сотрудник, не тратя много времени;
        2. Разделение кода, выполняемого на клиенте и сервере. Учитывая, насколько отличается функционал, доступный на каждой из этих сторон, разделить их было бы правильным шагом;
        3. Более глубокое понимание разработчиками логики платформы, взаимодействия клиента и сервера и алгоритмов, которые они пишут. В версиях 8.0 и ранее очень часто можно было встретить формы документов или справочников, разработанные без понимания клиент-серверной части;
        4. Повышение быстродействия конфигураций и снижение нагрузки на клиентские компьютеры;
        5. Снижение затрат на закупку компьютеров для рабочих мест ввиду отсутствия необходимости приобретения мощных ПК.

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

        • V8.x Управление производственным предприятием
        • 30.07.2013 19:50:25
        • до 31.08.2013

        Требуется доработка нетиповой конфигурации на базе 1С УПП (8.2 управляемые формы)

        Необходимо по ТЗ писать определенный набор функций.

        Пример описания функции
        ф-я ПолучитьЮрЛицо(док)
        В документе Продажи есть реквизит СхемаПродаж в нем есть реквизит Организация
        необходимо вернуть Организация

        Работаем официально по договору.
        Оплата на банковскую карту или наличными в кассе.
        Желательно проживание в Питере.

        Добавить комментарий

        Ваш адрес email не будет опубликован. Обязательные поля помечены *