Главная страница Visual 2000 · Общий список статей
Платформа "1С:Предприятие 8.0" выходит на стартовые позицииАндрей Колесов
© Андрей Колесов, 2002Как мы уже сообщали в разделе новостей...
Как мы уже сообщали в разделе новостей (BYTE/Россия N 08/2002), в середине августа нынешнего года фирма "1С" объявила о выпуске ознакомительного варианта новой версии платформы "1С:Предприятие" — 8.0. Это событие можно со всеми основаниями считать одним из весьма значительных для российского ИТ-рынка нынешнего года — ведь пользователями экономических программ "1C" в той или иной степени являются не менее 60-80 процентов отечественных предприятий, их внедрением занимает почти 2500 партнеров-фрайнчайзи в России и странах СНГ. Новый вариант платформы должны определить возможности развития этой системы на несколько лет вперед (предыдущая версия "1С:Предприятие 7.0" появилась летом 1996 года и продолжает оставаться базовой для конечных пользователей).
Однако тут сразу подчеркнуть важный момент: в настоящий момент само по себе появление ознакомительной версии 8.0 не очень сильно затрагивает интересы конечных пользователей. Нынешний вариант "1С:Предприятие 7.7" будет продолжаться оставаться базовым еще достаточно долгий срок, реальный переход на новую платформу будет проходить эволюционно в течение 2-3 лет.
А вот для технических специалистов, занимающихся внедрением, разработкой и сопровождением систем на базе "1С:Предприятие" (как фирм-партнеров, так и ИТ-подразделений предприятий) ознакомление с будущим возможностями системы являются актуальной задачей уже сегодня. И это было очень хорошо видно на партнерском семинаре фирмы "1С", прошедшем 14-15 сентября в московской гостинице "Космос", где "1С:Предприятие 8.0" была впервые представлена широкой аудитории представителей компаний-франчайзи: в 9 утра в воскресенье зал на 1000 мест был переполнен во время презентации нового версии группой разработчиков во главе с ее руководителем Сергеем Нуралиевым.
Что такое "предварительная версия"
Чтобы понять этапность перехода на новую версию платформы, нужно кратко напомнить основные принципы реализации ее версии 7.x, которые в принципе остались неизменными и в новом варианте (подробнее об этом см. статью "1С:Предприятие" — платформа создания информационных систем" BYTE/Россия 09/2002).
Для широкой массы пользователей "1С:Предприятие" — это прежде всего набор готовых прикладных решений. Однако на самом деле эта система является в первую очередь технологической платформой, на базе которой разрабатываются прикладные программы самой фирмой "1С" и ее многочисленными партнерами. В общем виде систему можно представить в виде структуры, изображенной на рисунке 1.
Рис. 1. Структура платформы "1С:Предприятие"
Обратите внимание тут на иерархию прикладных решений. На практике чаще всего используемых конечными пользователями программ подвергаются той или иной настройке или доработке (в том числе на уровне программного кода). Но при этом их абсолютное большинство (в том числе тиражные решения партнеров) реализовано на базе готовых конфигураций, созданных разработчиками "1С". Создание новых приложений "с нуля" выполняется лишь в совершенно исключительных случаев, для решения каких-то качественно новых задач.
Говоря о технологической платформе нужно подчеркнуть два важных момента:
С учетом сказанного давайте определимся, что же из себя представляет ознакомительная версия "1С:Предприятие 8.0". Фактически она сегодня реализует уровень ядра системы (базовые функции и механизм исполнения) с минимальным набором специализированных объектов, а также среду разработки. Официальная позиция "1С" по этому поводу звучит следующим образом.
Сейчас ознакомительная версия распространяется только среди партнеров фирмы "1С" и предназначена для изучения архитектурных и технологических особенностей новой версии "1С:Предприятия". В ознакомительный вариант включена функциональность, соответствующая набору объектов "Оперативный учет" версии 7.7, за исключением некоторого набора возможностей, состав которых описан в комплекте поставки. В нем поддерживается работа, как с файловым, так и с клиент-серверным вариантами информационной базы. В комплект поставки входит демонстрационная конфигурация, предназначенная для иллюстрации возможностей системы и приемов конфигурирования. Эта конфигурация не является прикладным решением, предназначенным для реального ведения учета на предприятии. Партнерам не рекомендуется начинать на ее базе реальных разработок, так как некоторые функции могут изменяться.
Действительно нынешний этап в жизни "1С:Предприятие 8.0" можно определить как стадию раннего предварительного технического ознакомления (Technical Preview). Это означает не только то, что многие спецификации еще не утверждены окончательно, но и не определены до конца планы реализации системы. Этот момент особо подчеркивалось на прошедшем партнерском семинаре
Объявлено также, что бета-версия системы появится в начале 2003 года. В ней должен быть определен состав специализированных объектов, а также реализованы готовые решения (конфигурации) "первой очереди". Появление "коробочных" продуктов для продажи конечным пользователям, скорее всего, нужно ожидать к лету следующего года.
В общем виде ответ на первый вопрос заключается в том, что платформа версии 7.x полностью реализовала возможности развития программных систем в условиях быстро изменяющихся требований рынка и целевых задач фирмы "1С". Что же произошло за шесть лет с момента ее выхода?
Обратите внимание, что приведенные выше слова об изменении рыночных требований являются весьма общими для процесса развития информационных технологий в целом — для конкретного исторического отрезка нужно только уточнить значение характеристик каждого пункта. Поэтому чтобы лучше понять на какие задачи нацеливается версия 8.0, можно провести небольшой ретроспективный анализ:
1992-96 гг. Основной продукт — "1С:Бухгалтерия". Клиенты — частные предприниматели и малые предприятия. Круг задач ограничен только бухгалтерией. Сеть распространения — дилеры, продажа коробок с минимальными услугами по доработке, адаптации и сопровождению.
1996-2002 гг. Семейство продуктов "1С:Предприятие" 7.x. Клиенты — те же + средние предприятия. Широкий круг учетных задач предприятия. На смену дилерам пришли франчайзи, на которых фактически возложены задачи системных интеграторов. Существенный рост доли услуг по доработке и адаптации систем. Наличие большого числа тиражируемых решений партнеров.
Представители "1С" традиционно придерживаются тактики очень осторожных, я бы даже сказал, "заниженных", оценок позиционирования своих продуктов. Упреки в адрес фирмы по этому поводу довольно часто звучат на партнерских семинарах, на что ее руководители резонно отвечают, что качество и возможности продуктов нужно показывать не маркетинговыми методами, а конкретной работой по реализации проектов.
Например, по поводу спектра клиентов версии 7.x всегда подчеркивалось, что система была ориентирована на малые предприятия. Состоявшееся повышение же "статуса" клиентов до средних организаций — это выбор самих пользователей. И для новой платформы ставится задача закрепиться на этом уровне, обеспечив адекватную масштибируемость. Но всем известно, что "закрепляются" на новой территории для того, чтобы потом начать борьбу за дальнейшее ее расширение. Не говоря уже о том, что понятие "средние" является весьма растяжимым (по западным стандартам, у нас абсолютное большинство предприятий не выходят за его пределы). Но при этом можно быть совершенно уверенным в том, что включение в сферу своих интересов начального уровеня массовых решений (начиная от домашних пользователей), будет неизменным для "1С".
Точно также "1С" всегда говорила об использованиии своих технологий для решения исключительно учтетных задач, избегая слов "управление" и ERP, хотя имеется немало реализованных проектов и типовых решений, выходящих далеко за пределы учета. На последних партнерских семинарах руководитель фирмы Борис Нуралиев осторожно, но вполне определенно высказал намерение перейти к комплексным систем управления предприятия. При этом упоминались (но без конкретных сроков реализации) не только "планирование", "бюджетирование" и CRM, но и документооборот.
Отдельно нужно сказать о партнерской сети. Ведь развитие бизнеса "1С" в области экономических задач требует существенно повышения качества и эффективности разработки и внедрения пользовательских решений. Для решения этой проблемы нужно использовать правильное сочетание технологических и организационных методов. Работа в этом направлении ведется: уже второй год идет процесс внедрения у партнеров систем качества, нынешним летом начата новая программа "1С:Консалтинг", что позволит перейти с созданию новой категории партнеров- консультантов. Вместе с тем можно с уверенностью предположить, что переход на новую платформу будет сопровождаться также рестуктуризацией самой сети системных интеграторов.
Теперь, именно с точки зрения проблем развития, которые должна решить V8, посмотрим на ключевые новшества новой версии (хотя предложенная категоризация новых функций является достаточно условной).
1. Повышение масштабируемости и производительности.
В "1С:Предприятии 7.7" был реализован клиент-серверный вариант, но он был двухзвенным, клиенстская программ обращалась непосредственно к базе данных. Причем даже в этой конфигурации возможности MS SQL Server использовались далеко не в поной мере — слишком большие ограничения накладывала архитектура, базирующаяся на файл-серверной организации с заметным наследием однопользовательских систем.
В новой версии на одном из компьютеров работает сервер "1С:Предприятие", с которым непосредственно взаимодействует клиентская программа. Сервер обеспечивает доступ пользователей к конфигурации и базе данных MS SQL Server, а также объемные операции с данными. Например, при выполнении даже весьма сложных выборок информации программа, работающая у пользователя, будет получать только необходимую ей выборку, а вся промежуточная обработка будет выполняться на сервере. Физически сервер "1С:Предприятия" и MS SQL Server могут располагаться как на одном компьютере, так и на разных, что позволяет администратору при необходимости распределять нагрузку между серверами.
В то же время в версии 8.0 реализован модернизированный вариант персональной базы данных (без применения сервера "1С:Предприятие" и MS SQL Server) для работы небольшой группы в локальной сети или в индивидуальном применении.
1.2. Параллельность
При выполнении регламентных операций исключены ситуации, когда для начала работы в некотором отчетном периоде требовалось использование монопольного режима. В новой версии монопольный режим устанавливается не при запуске системы, а во время ее работы на период, когда необходимо выполнение операции, требующей его включения. Механизмы оперативного учета в новой версии не определяют единый для всех участков учета регламент работы. Они могут поддерживаться, например, параллельно с участками планирования и другими прикладными подсистемами, работа с которыми не ведется в реальном времени.
В отличие от 7.х, в модели данных, поддерживаемой системой версии 8.0, не существует таблиц базы данных, однозначно приводящих к конкурентному доступу со стороны нескольких пользователей. В новой платформе конкурентный доступ будет выполняться только при обращении к логически связанным данным и не будет затрагивать данные, не связанные между собой с точки зрения предметной области.
1.3. Доступ к данным
Как и в версии 7.x в новой платформе поддерживаются две модели доступа к данным — табличная и объектная. Особенно значительно сейчас моденизирован второй вариант, прежде всего, с точки зрения максимального использования возможностей MS SQL Server, в том числе для выполения расчетов и составления отчетов, а также минимизацией если обращений к базе данных.
Существенно переработан механизм запросов, в котором большая часть возможностей, поддерживаемых языком SQL, в том числе объединения, соединения, вложенные запросы. Вместе с тем, новый язык запросов поддерживает целый ряд специфических конструкций, ориентированных на работу с моделью данных "1С:Предприятия". К ним относятся: разыменование ссылочных полей, обращение к табличным частям объектов как к вложенным таблицам, построение итогов с учетом предметного смысла суммируемой информации, группировка и построение итогов с учетом иерархии данных, автоматическое упорядочивание для построения отчетов, виртуальные таблицы, предоставляющие данные, необходимые для решения типовых учетных задач и т.д. В новой версии реализовано несколько способов работы с результатами запроса, включающих иерархический и прямой обход, поиск и выборку по значению полей, возможность получения нескольких выборок по полученному результату запроса.
2.1. Целостное хранение информации
Как в файловом, так и в клиент-серверном варианте, конфигурация, база данных и административная информация более тесно интегрированы с точки зрения хранения и модификации. В файловом варианте все данные системы располагаются в одном файле, что обеспечивает более высокую целостность и упрощает создание резервных копий.
2.2. Система контроля прав
В новой версии введено деление прав на интерактивные и низкоуровневые. Интерактивные права, как и в предыдущих версиях, позволяют закрыть доступ к некоторым функциям системы определенным категориям пользователей через стандартные средства пользовательского интерфейса. Низкоуровневые права позволяют запретить доступ пользователям к определенным режимам или данным, независимо от того, каким способом выполняется обращение. Новый механизм администрирования позволяет задавать для одного пользователя несколько ролей, что отражет ситуацию совмещение сотрудниками организации нескольких должностей.
3. Расширение области применения платформы.
Архитектура платформы 7.x была ориентирована в первую очередь на решение учетных задач, хотя в реальности она уже давно вышла за эти рамки, практика ее применения включает решения для маркетинга, управления предприятием, бюджетированием. В новой версии это расширение сферы применения платформы закреплены на архитектурном уровне, прежде всего, в объектной модели.
Например, механизм табличных частей (вложенных таблиц), в новой версии доступен как для документов, так и для справочников, и не имеет ограничений по количеству табличных частей, подчиненных одному объекту. Это позволит, например, по таким направлениям, как производственный учет, создавать более сложные документы, всесторонне отражающие различные аспекты хозяйственной операции. Дальнейшее развитие получил механизм учета наличия и движения средств. Обеспечена большая независимость различных направлений учета, что, например, позволит лучше совмещать в одном прикладном решении задачи оперативного учета и планирования.
В новой версии реализован механизм регистров сведений, который предназначен для эффективного решения широкого круга задач, связанных с хранением и обработкой информации, выходящей за рамки учета наличия и движения денежных средств или материальных ценностей.
4. Удобство работы пользователя.
В пользовательском интерфейсе реализован целый ряд механизмов, призванных обеспечить большую эргономичность и эффективность работы пользователя. К ним, например, относится возможность управления окнами с учестом особенности его роли в работе системы. При этом пользователь может управлять размером и поведением отдельных окон, а формы максимально используют доступное пространство для отображения информации. В командный интерфейс включена возможность динамического переключения состава главного меню и командных панелей. Это необходимо для реализации пользовательского интерфейса прикладных решений, в которых количество функций исчисляется сотнями.
Существенное развитие в новой версии получили механизмы, предназначенные для подготовки экономической и аналитической отчетности с использованием документов, имеющих сложную неоднородную табличную структуру. Расширены возможности редактирования информации непосредственно в печатном бланке, например, при подготовке регламентированной отчетности или при заполнении сложных документов, имеющих утвержденную печатную форму. Более мощные возможности заложены и в средства отображения деловой графики, активно используемой в задачах планирования, финансового анализа и бюджетирования.
Изменен дизайн всего пользовательского интерфейса. Любопытно, что он очень похож на тот, что был реализован год назад в Windows XP, хотя он был разработан до появления этой ОС.
В "1С:Предприятии 8.0" использует кодировку Unicode для символьной информации. Это значит, что все текстовые данные (как конфигурации, так и базы данных) могут включать одновременно символы различных языков. В ней также поддерживаются национальные и региональные особенности представления чисел, дат и времени, сортировки и сравнения строк принятые для большинства европейских языков. Также поддерживается формирование числа прописью для нескольких языков. Для конкретной информационной базы предоставляется возможность дополнительной настройки представления чисел, дат, времени и логических значений.
В версии 8.0 все создаваемые в конфигурации элементы пользовательского интерфейса (пункты меню, надписи в формах, тексты ячеек табличного документа и т.д.) могут задаваться на нескольких языках. Список языков определяется непосредственно в конфигурации. Это позволяет разрабатывать конфигурации с многоязычным интерфейсом, при этом для каждого пользователя может быть выбран свой язык интерфейса.
6. Повышение качества и производительности разработки.
6.1. Встроенный язык и система типов
Во встроенный язык включен ряд новшеств, отражающих современные тенденции построения языков, ориентированных на разработку прикладных решений. Реализована единообразная работа с коллекциями, введено использование системных перечислений, реализовано оптимизированное выполнение логических выражений и т.д. Существенно расширены возможности использования массива, а также введены новые универсальные коллекции: структура, соответствие (map), дерево значений.
Для объектов, имеющих программные модули, введена возможность создания экспортируемых процедур, функций и переменных, к которым можно обращаться из других модулей. Введена возможность создания в конфигурации общих (библиотечных) модулей, процедуры и функции которых доступны во всех модулях конфигурации. Подверглась модификации также система типов данных.
6.2. Среда разработки (конфигуратор)
Усовершенствования здесь коснулись практически всех режимов: управления рабочими окнами, редактора форм, редактора модулей, редактора командного интерфейса, режимов поиска, палитры свойств, Синтакс-помощника и т.д. Отладчик и модуль замера производительности интегрированы в среду разработки (рис. 2).
Рис. 2. Новый дизайн среды разработки "1С:Предприятие 8.0"
Средства объединения конфигураций в новой версии получили развитие в направлении более тонкой и детальной настройки правил слияния прикладных решений, а также наглядного представления отличий между конфигурациями. Для разработки конфигураций, включающих разнородную функциональность, в новой версии введен механизм подсистем. Он помогает разделить объекты метаданных по решаемым прикладным задачам, а также позволяет автоматически формировать фрагменты командного интерфейса или роли пользователей, ориентируясь на принадлежность объекта метаданных к определенной подсистеме.
Однако именно возможности среды разработки вызывали довольно много вопросов со стороны партнеров фирмы "1С". Это касалось таких возможностей, как поддержка режимов групповой работы, использования современных CASE-методов проектирования, реализация интеллектуальных редакторов кода программ и пр. Разработки "1С" со своей стороны, говорят, что эти задачи не были первоочередными в реализации платформы, но при этом высказывают готовность обсуждать все конкретные предложения и учесть их при развитии системы в будущем.
Сценарии формирования семейства версии 8.0
Как будет проходить переход клиентов от версии 7.x к 8.0? В какой последовательности будут выпускаться готовое пользовательские решения. <*>?
<*>Представители фирмы "1С" всегда очень осторожно высказываться относительно перспектив модернизации своих продуктов, к тому же планы в отношении "1С:Предприятия 8.0" еще действительно находятся в стадии обсуждения и уточнения. Поэтому приведенные ниже возможные сценарии развития ситуации являются в значительной мере сугубо авторскими размышлениями, которые базируются на собственном понимании бизнеса и технологий фирмы "1С".
Тут логика развития представляется довольно очевидной: <**;
<**>Обсуждаемые здесь проблемы миграции касаются многих других платформ для создания систем управления предприятиями. Особенно тех, которые базируются на использовании программирования для адаптации под конкретные условия заказчика.
Замена прикладных решений, реализованных на базе текущей версии платформы займет, скорее всего, два-три года года (только в исполнении "1С" их сегодня около двух десятков). При этом появление новых решений будет выполняться последовательно, а не одновременно. Решения-бестселлеры (например, "1С:Бухгалтерия") появятся в линейке платформы "1С" совсем не в первую очередь (об этом вполне определенно заявил на прошедшем партнерском семинаре руководитель фирмы Борис Нуралиев). В качестве возможного варианта первоочередных решений на семинаре были названы "Торговый и оперативный учет", а также "Управление персоналом".
В целом такая последовательность выпуска полностью соответствует общим принципам при переходе от платформы одного поколения к другому. <***> Тут можно, например, вспомнить о советах Garthner Group по освоению .NET: начинать ее практической освоение нужно с некритических приложений, чтобы в течение некоторого срока (называется те же 2-3 года) получить необходимый опыт и дождаться от поставщика доводи технологии до "промышленного" состояния (сейчас для системы "1С:Предприятия 8.0" мы наблюдаем лишь переход от лабораторных к опытным испытаниям).
<***> Не нужно путать смену версий и смену поколения. Во втором случае речь идет об изменении архитектурных принципов. На знакомом всем примере технологий Microsoft смену платформ можно определить так: DOS — Win16 — Win32 — .NET.
В этой ситуации было бы логично ожидать от разработчиков в первую очередь прикладных решений для качественно новых сфер применения (эта задача была обозначена в качестве перспектив развития бизнеса "1С"). Напомним, что платформа "1С:Преприятия 7.0" в 1996 году была представленная вариантом "Торговля" — принципиально новым решением со стороны "1С". А замена ключевого в тот момент продукта "Бухгалтерия 6.0" была выполнена лишь два года спустя. Отметим также, что качество конфигурации "1С:Торговля" за первые два года ее жизни существенно повысилось. Это является вполне понятным для периода становления платформы и освоения ее возможностей разработчиками.
Открытым сегодня является такой вопрос — будет ли развиваться семейство решений на базе сегодняшней версии 7.7? На семинаре было осторожно сказано, что не стоит ожидать серьезного функционального расширения существующих ныне приложений (Бухгалтерия, Склад, Торговля и пр.). Но в то же время было анонсировано появление в ближайшем будущем новых конфигураций на ее основе.
Однако в любом случае поддержка существующих программ (например, на уровне их постоянной адаптации к изменяющемуся законодательству) будет продолжаться "до последнего" пользователя. Например, только сейчас руководство фирмы подняло вопрос о прекращении поддержки "Бухгалтерии для DOS" (продажи ее прекратились в 1997 году), но при этом подтвердило о продолжение поддержки версии "Бухгалтерии 6.0 для Windows".
Возможные схемы миграции франчайзи и клиентов
Как будет технически происходить миграция пользователей с платформы 7.x на 8.0? Отвечая на этот вопрос, нужно иметь в виду, что тут есть две проблемы — перенос собственно баз данных и перенос программного кода. Первая проблема выглядит относительно простой и можно не сомневаться, что разработчики "1С" справятся с этой задачей. Хотя тут тоже могут возникнуть проблемы, особенно когда речь идет о хранимых процедурах.
Что касается второго вопроса, то несмотря на сохранение общих принципов внутреннего языка "1С:Предприятия" (который до сих пор так и не получил названия), разработчики четко объявили — автоматического переноса кода не будет, старый код нужно будет адаптировать вручную. Это позиция может показаться слишком жесткой, но на самом деле — она честная и соответствует реалиям, когда речь идет о смене платформы. <****>
<****> Тут можно привести аналогию переходом от VB 6.0 к VB.NET — см. статью "От VB 6.0 к Visual Studio .NET", BYTE/Россия N 8/2002.
Разработчики "1С" обещают для собственных типовых конфигураций выполнить не только перенос данных, но и точно воспроизвести их функциональность, т.е. для пользователей этих продуктов переход может быть автоматическим (хотя появление проблем представляется весьма вероятным). Но при этом внутренний код полностью переписывается заново!
Но то, что в работающих системах написано самими пользователями (или внедренцами), нужно будет переписывать им самим. Проблема же будет заключаться в том, что отделить в приложениях код "1С" от "пользовательского" может быть не очень простой задачей. Скорее всего, для этого могут быть предложены какие-то автоматические средства, но в целом эта задача будет хорошей проверкой квалификации партнеров — насколько качественно этих разработки учитывали возможность будущего смены платформы.