Разработка на платформе 1с: Среда быстрой разработки

Групповая разработка


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

Хранилище конфигурации


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


Для осуществления групповой разработки прикладного решения на общедоступном сетевом ресурсе создается хранилище конфигурации и назначается его администратор:



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



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


Окно хранилища конфигурации


При групповой разработке прикладное решение рассматривается как набор объектов, закрытых для изменения. Каждый из пользователей, допущенных к работе с хранилищем, может «захватить» для изменения произвольное число объектов, не захваченных другими пользователями. Каждый объект может быть захвачен только одним пользователем:



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



В любой момент времени можно выполнить сравнение текущей конфигурации с хранилищем или выполнить сохранение хранилища как конфигурации.

История хранилища


Конфигуратор 1С:Предприятия поддерживает ведение истории хранилища:



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


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


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



Отчет по версиям хранилища отражает состав добавленных или измененных объектов:



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



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



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

Работа с хранилищем в окне конфигурации


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



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


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


Работа с хранилищем без подключения


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



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

Удаленная работа с хранилищем конфигурации


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



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

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

Проверка и исправление хранилища конфигурации


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


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

Расширения


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

Назначение


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


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



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


Сценарии использования


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


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


Другая ситуация — это доработки типовой конфигурации под конкретного заказчика у него на внедрении. Или же доработки типовой конфигурации, которые выполняют для себя IT специалисты заказчика собственными силами. Если все эти доработки выполнить в расширении, то типовая конфигурация останется на полной поддержке, что значительно упростит её дальнейшее сопровождение.

Информация о расширении


В расширениях реализованы свойства для хранения информации о самом расширении и его поставщике:  «Краткая информация», «Подробная информация», «Авторские права», «Адрес информации о поставщике», «Адрес информации о конфигурации». Значения этих свойств отображаются в диалоге «О программе».

Устройство


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



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



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

Подключение расширения


Расширение создаётся в конфигураторе. После того, как оно отлажено и проверено, его можно сохранить в файл:



Этот файл можно передать заказчику. Заказчик самостоятельно загрузит его в свою информационную базу в режиме 1С:Предприятие с помощью стандартной функции Управление расширениями конфигурации.


Проверка возможности применения


Проверить возможность применения расширения к конкретной конфигурации можно до её реального запуска вместе с конфигурацией:

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

Порядок применения расширений


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

Деактивация расширений


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

Расширения конфигураций. Адаптация прикладных решений с сохранением поддержки в облаках и на земле. Разработка в системе «1С:Предприятие 8.3». Издание 2


Авторы: Е.Ю. Хрусталева

Чем занимается разработчик 1С?. Разработчики 1С создают приложения с помощью… | Алекс Лашков | Yellow Universe

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

Относительно низкий порог входа для 1С разработки. Платформа «1С:Предприятие» предоставляет разработчику набор высокоуровневых классов метаданных, каждый из которых представляет конкретную сущность бизнес-приложения, такую ​​как документ, каталог, регистр бухгалтерии, кассу и т. д. Каждый класс метаданных изначально полностью функционален и имеет собственную структуру данных, логику обработки данных и UX/UI.

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

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

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

Вот что разработчик 1С обычно не делает:

  • беспокоится о структуре данных, целостности данных и обработке транзакций;
  • разработка отдельных версий для собственного клиента, браузерного клиента и мобильного клиента;
  • разработать отдельные версии для разных операционных систем;
  • код рефакторинга или изменение структуры таблицы при миграции на другую СУБД.

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

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

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

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

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

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

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

Что касается апскейлинга системы или ее адаптации под различные устройства и платформы, то платформа 1С тоже хорошо оснащена: разработчику не нужно вручную менять код или что-то добавлять, за исключением разве что мелких правок. При традиционном подходе к разработке миграция на другую СУБД может быть сложным процессом, и по мере увеличения нагрузки на систему может потребоваться значительная оптимизация кода. Кроме того, если вы решите добавить мобильную версию приложения, вам, скорее всего, придется разрабатывать его с нуля, а с 1С вы можете просто запустить это же приложение в нашем мобильном клиенте, и оно автоматически адаптируется под меньший экран. размер и специфический мобильный UX/UI.

Как бы привлекательно все это ни выглядело, у решений 1С есть определенные ограничения.

Первый имеет относительно узкую область применения. 1С лучше всего подходит для разработки бизнес-приложений, таких как системы ERP, BI и BPM. Если вам нужно приложение для управления ракетами в реальном времени или мобильная игра, лучше выберите другое решение.

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

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

Что такое «1С:Предприятие»?

Скачать 1С:Предприятие обучающую версию

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

«1С:Предприятие» — универсальная облачная и локальная система программ для автоматизации финансовой и более широкой операционной деятельности компании. «1С:Предприятие» обладает широкими возможностями для решения разнообразных задач современного бизнеса. Это достигается за счет «конфигурируемости» — возможности настройки системы с учетом конкретных потребностей компаний и их бизнес-процессов.

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

Чтобы объяснить взаимосвязь компонентов системы «1С:Предприятие», сравним ее с проигрывателем Blu-ray. Общеизвестно, что плеер необходим для просмотра видео, прослушивания музыки или воспроизведения другого медиаконтента. Blue-ray входит в стандартную комплектацию, но он отвечает широкому спектру потребностей клиентов благодаря ассортименту дисков с видео или музыкой на любой вкус.

Для просмотра видео необходимо вставить диск Blu-ray в проигрыватель, и проигрыватель воспроизведет тот контент (видео), который на нем записан. Кроме того, проигрыватели Blu-ray позволяют записывать собственный контент, т. е. создавать новый диск Blu-ray с домашним видео.

Сам по себе проигрыватель бесполезен без диска Blu-ray, и точно так же диск Blu-ray бесполезен без проигрывателя (разве что в качестве подставки для кофейной чашки). Возвращаясь к 1С:Предприятию, можно сказать, что платформа — это своего рода «плеер», а приложение — это «диск». Платформа позволяет запускать приложение, а также модифицировать его или создавать новое. Платформа одна (1С:Предприятие 8), но можно создавать неограниченное количество приложений. Для запуска приложения всегда нужно иметь и платформу, и само приложение (см. схему выше). Платформа не выполняет никаких задач по автоматизации самостоятельно, поскольку ее цель — предоставить среду для разработки и запуска приложений. То же самое относится и к приложению: для его работы требуется платформа «1С:Предприятие».

Платформа «1С:Предприятие» имеет следующие преимущества:

  • Значительно снижает технологическую сложность, эргономику и проблемы с производительностью корпоративных программных систем.
  • Позволяет опытным пользователям внедрять определенные бизнес-процессы.
  • Ускоряет и стандартизирует разработку, настройку и поддержку бизнес-приложений.
  • Обеспечивает полную открытость пользовательского интерфейса и кода решения, что позволяет лучше понимать и модифицировать бизнес-процессы.
  • Готов к интеграции с существующими приложениями 1С и сторонними системами.
  • Поддерживает веб-сервисы, ODBC, COM и т.д.
  • Поддерживает предпочтительную архитектуру: Windows/Linux, MS SQL, PostgreSQL, IBM DB2 и Oracle DB.
  • Включает локальный или управляемый хостинг через Интернет, а также веб-клиент, клиент для планшета или Windows.

Система программ «1С:Предприятие»

Прикладная система «1С:Предприятие» ежедневно используется несколькими миллионами пользователей в бизнесе и правительстве для автоматизации операций, учета, финансов, управления персоналом и управления. Фирма «1С» предлагает ряд вертикальных решений для производства, дистрибуции и сервисного бизнеса. Благодаря своей инновационной технологической платформе и набору прикладных решений фирма «1С» завоевала широкую популярность благодаря своей открытости, скорости модификации и обновления программного обеспечения. «1С:Предприятие» — очень гибкая и масштабируемая платформа, удовлетворяющая потребности компаний размером от одного пользователя до сотен пользователей.


1С:Предприятие — это система приложений, включающая Платформу и Прикладные решения (готовые приложения).

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

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

«1С:Предприятие» позволяет:

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

Платформа «1С:Предприятие» состоит из следующих частей:

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

На приведенной выше диаграмме бизнес-приложения показаны примеры использования для:

  • Каталоги – хранение списков Клиентов, Продуктов и т.д.
  • Документ — бизнес-события, такие как заказы на покупку, заказы на продажу или счета-фактуры.
  • Регистр накопления – накопительный документ проводки операций, например дебиторская задолженность или банковский регистр.
  • Механизм учета — проводка бухгалтерских документов — обычно используется для создания специализированных регистров, а также главной книги.