Как облегчить разработку в «1С:Предприятие 8.3»(бесплатная статья по Программированию в 1С)br> из цикла статей «Первые шаги в разработке на 1С»

О чем эта статья

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

  • Что такое определяемые типы и как их использовать?
  • Для чего используется свойство конфигурации “Основные роли”?
  • Как использовать помощник создания обработчиков клиентских событий формы?
  • Как и для чего используются выгрузка конфигурации в файлы XML?

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

В статье рассматривается платформа «1С:Предприятие» версии 8.3.4.437, но ее материалы могут быть полезны и для тех, кто работает на более старших релизах.

Как облегчить разработку в «1С:Предприятие 8.3»

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

Определяемые типы

В платформу 8.3 добавлен новый объект в ветку конфигурации “Общие” – Определяемые типы.

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

Например, рассмотрим составной тип, в который входит ссылка на справочники “Контрагенты” и “Физические лица”.

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

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

Если вместо нашего нового “определяемого типа” использовать составной тип в каждом месте, где используется такая сущность, то придется везде изменять состав типов. Это долго, сложно, трудозатратно, существует возможность забыть о каком-нибудь реквизите.

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

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

Редактирование типа данных

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

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

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

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

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

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

Свойства:ТипКоличество

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

Редактирование типа данных

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

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

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

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

Более никаких изменений вплоть до актуальных версий платформы 8.3.10/8.3.11 в работе с определяемым типом не происходило.

Свойство конфигурации “Основные роли”

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

В платформе 8.3 появилась возможность указывать несколько ролей, которые будут использоваться при определении прав доступа при пустом списке пользователей. Соответственно, и свойство было переименовано в “Основные роли”.

Основные роли при пустом списке пользователей

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

Создание обработчиков клиентских событий формы

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

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

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

Создание обработчика на клиенте

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

Обработчик на сервере

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

Выгрузка конфигурации в файлы

Еще одно новшество платформы 8.3 – возможность выгрузить весь состав конфигурации на диск в виде набора файлов определенной структуры.

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

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

Выгрузить конфигурацию в файлы

Объекты конфигурации выгружаются в виде набора файлов формата XML. Модули и текстовые макеты сохраняются в виде файлов TXT. Картинки из конфигурации сохраняются в виде файлов изображений (BMP, PNG и т.д.). Справочная информация выгружается в файлы HTML.

Выгрузка объектов из конфигурации

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

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

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

Отредактированные файлы можно загрузить обратно в конфигурацию при помощи пункта меню Конфигурация – Загрузить конфигурацию из файлов.

Загрузка в конфигурацию

Работа с новым функционалом загрузки/выгрузки доступна также и при помощи параметров командной строки LoadConfigFromFiles и DumpConfigToFiles. Например, так:

“c:\Program Files (x86)\1cv8\8.3.4.437\bin\1cv8.exe” DESIGNER /F “X:\Platform8Demo” /N “Администратор” /DumpConfigToFiles “X:\1\”

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

Было замечено, что по умолчанию из конфигуратора в платформе 8.3 исключены команды “Выгрузить файлы конфигурации” и “Загрузить файлы конфигурации”.

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

Настройка главного меню - Выгрузить файлы конфигурации

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

Обычные формы и интерфейсы выгружаются в бинарном виде (внутреннем) и не подлежат редактированию. Конфигурация поставщика также не предназначена для редактирования.

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

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

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

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

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

Заметим, что с редакции 8.3.7 появился новый формат выгрузки, который получил название «иерархический». Старый формат стал называться «линейным». Выбор формата доступен в окне выгрузки в файлы:

Окно «Выгрузить конфигурацию в файлы» релиза 8.3.10.2650

Окно «Выгрузить конфигурацию в файлы» релиза 8.3.10.2650

Начиная с версии 8.3.11 «иерархический» формат стал единственным доступным для выбора при интерактивной выгрузке:

Окно «Выгрузить конфигурацию в файлы» релиза 8.3.11.2867

Окно «Выгрузить конфигурацию в файлы» релиза 8.3.11.2867

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

  • во-первых, использовать «иерархический» формат выгрузки;
  • во-вторых, использовать платформу не ниже версии 8.3.8+, т.к. начиная с нее существенно увеличена скорость загрузки/выгрузки в файлы XML.

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

PDF-версия статьи для участников группы ВКонтакте

Мы ведем группу ВКонтакте – http://vk.com/kursypo1c.

Если Вы еще не вступили в группу – сделайте это сейчас и в блоке ниже (на этой странице) появятся ссылка на скачивание материалов.


Статья по программированию - в PDF-формате

Статья в PDF-формате

Вы можете скачать эту статью в формате PDF по следующей ссылке: Ссылка доступна для зарегистрированных пользователей)

Ссылка доступна для зарегистрированных пользователей)
Ссылка доступна для зарегистрированных пользователей)
Ссылка доступна для зарегистрированных пользователей)

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

Комментарии / обсуждение (1):

  1. Ольга

    про определяемые типы понравилось) возможно когда-нибудь пригодится) спасибо за статью)

Комментарии закрыты

Вход на сайт

Зарегистрироваться

Подтверждение регистрации будет отправлено на указанный e-mail.

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

Восстановить доступ

E-mail или логин

Ссылка на создание нового пароля будет отправлена на указанный e-mail.