- Среда разработки и базовые механизмы
- Принципы работы системы 1С:Предприятие 8.3
- Два режима работы с информационной базой: файловый и клиент-серверный
- Клиентские приложения
- Объектно-реляционная модель базы данных
- Внутренний язык программирования
- Система предоставляет различные механизмы для разработки конфигурации
- Собственный язык запросов
- Система компоновки данных (СКД)
- Мобильная платформа
- Система взаимодействий
- Процесс разработки
Система 1С:Предприятие 8.3 – специализированная среда, которая служит для разработки экономического и бухгалтерского программного обеспечения, которое в свою очередь предназначено для автоматизации деятельности различный организаций. Большой процент функционала уже заложен в самой этой системе – технологической платформе. Поэтому в первой части статьи мы поговорим о среде разработки, а во второй – о том, как происходит разработка конфигурации 1С на этой платформе.
Среда разработки и базовые механизмы
Всю систему 1С можно поделить на две большие части: платформу и конфигурацию. Платформа представляет собой «framework», средство для разработки (своих решений или настройки типовых решений, продаваемых 1С), а также является средой исполнения программ 1С:Предприятие. Конфигурации – прикладные решения, разработанные на технологической платформе 1С:Предприятие, которые служат для автоматизации определенной области деятельности. Такие решения выпускает фирма 1С и ее партнеры. Прикладные решения в большинстве своем «открытые», что дает возможность любому специалисту, имеющему соответствующие знания, настраивать программу «под себя», то есть адаптировать под нужды конкретного предприятия и конкретной формы деятельности. При этом дополнительное ПО не нужно, все средства разработки есть в программном комплексе. Такая особенность системы называется «Конфигурируемостью».
Принципы работы системы 1С:Предприятие 8.3
Перечислим основные и показательные:
Два режима работы с информационной базой: файловый и клиент-серверный
В файловом режиме работы вся информационная база (конфигурация, данные, движения по регистрам, настройки пользователей) хранится в одном файле. Данный файл (1Cv8.1CD) обычно находится на общем сетевом ресурсе, доступном всем пользователям 1С. Настраивать этот вариант очень легко, и он подойдет для небольшой компании, где не более 5 пользователей, с небольшим документооборотом. При исполнении конфигурации в файловом режиме система «имитирует» наличие сервера на компьютере пользователя. То есть, программируя в файловой базе, все равно следует придерживаться клиент-серверного механизма разработки.
Для больших же компаний целесообразно использовать серверный вариант хранения в реляционных базах данных, но такой режим работы потребует усилий по установке и администрированию. Этот вариант реализован на механизме трехуровневой архитектуры, он использует СУБД и кластер серверов 1С, которые успешно решают проблему надежности, быстродействия и производительности.
Клиентское приложение отправляет запрос к кластеру серверов, его принимает менеджер кластера (центральный сервер). В случае необходимости, распределяя нагрузку между серверами, центральный кластер переадресует запрос дополнительным серверам. Затем рабочий сервер-кластер обращается к СУБД для получения необходимых данных. СУБД обрабатывает запрос и возвращает массив данных рабочему серверу, который передает их клиентскому приложению.
Система позволяет осуществлять переход из одного режима работы на другой.
Конфигурация, написанная для файловой базы данных, будет работать и на серверной базе, но в некоторых случаях может потребоваться адаптация некоторых алгоритмов.
Клиентские приложения
У платформы 1С:Предприятие 8.3 есть несколько клиентских приложений. Их основное предназначение — организация интерфейса, взаимодействие с пользователем, они отображают данные и дают пользователю возможность вносить изменения.
Толстый клиент. Этот клиент может выполнять практически всю функциональность, но потребует широкополосных каналов связи. Такой вариант работы позволяет разрабатывать и отлаживать прикладные решения. Клиент по собственному протоколу передачи данных напрямую обращается к базе данных (файловый вариант базы) или к кластеру серверов (клиент-серверный вариант), который в свою очередь обращается к СУБД или сразу дает ответ.
Тонкий клиент. Данный клиент обладает ограниченной функциональностью: работа разработчика невозможна, на нем недоступны все прикладные типы данных. Вся работа выполняется на стороне сервера, но зато для него не требуется большого количества ресурсов. Обращение тонкого клиента к информационной базе возможно по собственному протоколу передачи данных или протоколу https (в последнем случае необходимо, чтобы был настроен веб-сервер).
Веб-клиент. Он не устанавливается на компьютер. С помощью браузера реализуется подключение к системе 1С:Предприятие и к базе данных с помощью протокола https. Веб-клиент обращается сначала к веб-серверу, который запрашивает нужные данные из файловой базы напрямую (файловый режим) или из СУБД посредством кластера серверов (клиент-серверный режим). Преимущества такого клиента очевидны, сотрудники становятся «мобильными», могут использовать маломощные устройства.
Ниже представлена архитектура приложений для файлового и клиент-серверного вариантов работы.
Объектно-реляционная модель базы данных
Само прикладное решение в системе 1С:Предприятие 8.3 – это совокупность шаблонов, каждый из которых прототипирован. Отдельный такой прототип решает свою собственную задачу. Справочники, документы, различные регистры — все это прототипы системы. То есть не абстрактные, а вполне конкретные сущности, присутствующие в реальной жизни автоматизируемой организации. В 1С:Предприятие эти прототипы называются «объектами конфигурации». Все они представлены в так называемом «дереве конфигурации».
Разработчику нужно выбрать лишь подходящий прототип, создать объект в рамках этого прототипа и обеспечить его общение с другими объектами. Напрямую работать с базой данных нельзя. Взаимодействие осуществляется посредством объектов.
Внутренний язык программирования
Он схож с таким языком, как Visual Basic. Особенности языка:
- Мягкая типизация. Тип переменной не указывается, переменная может поменять тип в процессе работы;
- Переменные можно не объявлять заранее (неявный способ объявления переменных);
- В одном модуле могут находиться процедуры или функции, некоторые из которых выполняются на клиенте, а некоторые – только на сервере. Потом препроцессор 1С «разрежет» модули на части, вырежет ненужное, соединит и отдаст компилятору;
- Регистр для кода не имеет значения;
- Язык доступен в нескольких вариантах, но в основном все конфигурации написаны на русском. При желании можно комбинировать русский и английский язык, но читаемость кода ухудшится.
Система предоставляет различные механизмы для разработки конфигурации
Основные и наиболее интересные из них:
Собственный язык запросов
Запросы представляют собой мощный инструмент для получения данных из базы данных в удобном виде. На выбранные данные посредством языка запросов можно наложить фильтры, сгруппировать, отсортировать, но изменять данные при их помощи нельзя. Запросы являются основой для построения отчетов. Синтаксис языка запросов 1С похож на SQL, так как основан на нем. Существует визуальный помощник для составления текста запроса – «Конструктор запроса». Текст запроса можно написать вручную, но нередко он может состоять из нескольких сотен строк, поэтому визуальное представление текста запроса намного облегчает эту задачу. Конструктор запроса выглядит следующим образом:
Также для отладки запросов предусмотрен специальный инструмент — «консоль запросов». Сама отладка происходит следующим образом: разработчик в конфигураторе пишет текст запроса, далее пишет программный код, который будет обрабатывать результат этого запроса, затем переключается в режим предприятия, запускает полученную обработку, анализирует результат запроса. Если обнаруживается ошибка, разработчик переключается в режим конфигуратора и вносит исправления в текст запроса и заново переключается в режим предприятие для повторной проверки запроса. Такое переключение не очень удобно. А консоль запросов позволяет проверять текст запроса сразу в режиме предприятия на реальных данных. Из консоли запросов можно открыть конструктор запросов.
Система компоновки данных (СКД)
Это инструмент, предназначенный для создания отчетов. Разработчик при помощи данного средства декларативно описывает поведение отчета, при этом программного описания зачастую не требуется. Рутинную работу запроса к базе данных, вывод данных в макет и т.д. сделает СКД. Еще одна важная возможность СКД — различные варианты отчетов. На основании одного и того же источника данных можно получить несколько вариантов, как именно эти данные будут представлены пользователю.
СКД используется не только для построения отчетов, а также для построения динамических списков.
Мобильная платформа
Данная технология позволяет создавать приложения для мобильных устройств под управлением операционных систем Android, iOS, Windows Phone. Мобильное приложение, установленное на устройстве, представляет собой комбинацию мобильной платформы и мобильной конфигурации. Информационная база на мобильном устройстве содержит аналог файловой базы данных (для хранения данных, с которыми работает пользователь) и мобильное приложение (программный код, исполняющийся на мобильном устройстве).
Для передачи приложения на мобильное устройство нужно опубликовать на веб-сервере xml-файл, который представляет собой готовое приложение. Мобильная платформа с мобильного устройства подключается к этому веб-серверу, забирает этот xml-файл и устанавливает его у себя.
Система взаимодействий
Этот инструмент позволяет пользователям в пределах одной информационной базы общаться между собой с помощью сообщений или видеозвонков. Для его работы нужно установить «сервер взаимодействия». Обмен информацией между клиентом и сервером взаимодействия осуществляется посредством протокола WebSocket. Удобство данного механизма в том, что пользователю не придется переключаться между разными окнами (1С и различными мессенджерами), и вся переписка будет в пределах одной системы.
Процесс разработки
Что же представляет собой профессиональная разработка на 1С:Предприятие 8.3? Для начала определимся, что разработка – это не синоним программирования. Проектирование и конструирование системы – интересный, творческий процесс, который включает в себя множество аспектов. Само написание программного кода – один из инструментов разработки и не является ключевым.
Везде, где есть 1С:Предприятие, есть технологическая платформа. Из-за этого все программы 1С имеют одинаковую логику и методику проектирования. Система скрывает от разработчика многие скучные, однообразные действия, то есть всю «низкоуровневую» работу берет на себя. Любая программа собирается из готовых шаблонов. Разработчик описывает структуру базы данных из этих шаблонов, выбирая нужный, уже существующий в системе. Можно провести аналогию между прототипами в 1С и классами в ООП, но свой собственный прототип (класс) создать нельзя.
Платформа имеет ограниченный набор шаблонов, имеющих свое предназначение и модель взаимодействия между собой. Разработчику достаточно добавить в информационную базу нужные объекты конфигурации, и система сама обеспечит правильную работу добавленных объектов. Конечно, функционирование объектов будет сильно ограничено. Но встроенный язык и язык запросов помогут задать специфичное поведение объектов. С их помощью можно описывать собственные алгоритмы общения объектов между собой или собственные алгоритмы обработки данных.
Важным этапом проектирования является разработка интерфейса. Новейший интерфейс в системе 1С:Предприятие 8.3 носит название «Такси». Особенность его в том, что разработчик декларативно описывает его поведение, и на основе этого описания платформа формирует пользовательский интерфейс. При разработке прикладного решения важную роль играет функциональность, но для достижения коммерческого успеха не менее важен дружелюбный интерфейс или эргономичность. Все эти задачи (функциональность, эргономичность) успешно выполняет управляемый интерфейс.
Четкое разграничение системы на технологическую платформу и прикладные решения имеет ряд преимуществ: низкая стоимость и высокая скорость создания и внедрения программ 1С. Платформа позволяет специалистам не углубляться в большинство технологических деталей, а сконцентрироваться на прикладной задаче, что увеличивает скорость разработки и уменьшает стоимость готового решения. Также в подавляющем большинстве случаев пользователи работают в типовых конфигурациях (1С:Бухгалтерия, 1С:Управление торговлей, 1С:Зарплата и управление персоналом, 1С:Управление небольшой фирмой), поэтому разработчику редко приходится писать что-то свое «с нуля». В основном процесс разработки – это доработка готового прикладного решения разработчиком, не участвовавшем в его создании, что также является преимуществом разработки в данной системе.
Разработка в системе 1С:Предприятие 8.3 – процесс многогранный, в большей мере требующий навыков аналитики и понимания бизнес-процессов предприятия. А среда разработки – очень мощный и гибкий инструмент, который предоставляет разработчику множество возможностей для успешной и быстрой автоматизации деятельности предприятия. Аналогов данной системы в настоящий момент в России нет. И программная линейка 1С является стандартом для работы различных организаций разных направлений бизнеса. Наша компания предоставляет услуги сопровождения, внедрения и доработки 1С в Москве. Если у вас остались вопросы, свяжитесь с ним, мы с радостью вам поможем.
консультация эксперта
самые свежие новости 1 раз в месяц