1С: Підприємство - платформа розробки бізнес-додатків

"1С: Підприємство" - платформа розробки бізнес-додатків

ТЕХНОЛОГІЇ

"1С" знають багато людей, в тому числі дуже далекі від бухгалтерського обліку і комп'ютерних технологій. Однак більшість навіть ІТ-професіоналів вважають, що ця компанія - перш за все постачальник коробкових програмних продуктів для вирішення економічних завдань підприємства. Але в міру розвитку свого бізнесу "1С" все частіше виступає в якості розробника інструментальної платформи, на базі якої партнери та клієнти можуть створювати власні рішення.

У цій статті мова піде саме про технологічній платформі розробки додатків. Але спочатку хотілося б відзначити ще один важливий момент.

На початку 90-х років російські користувачі з числа серйозних клієнтів явно віддавали перевагу закордонним програмним розробкам, що пояснювалося досить простими міркуваннями - надійністю постачальників. (Головний аргумент проти російських розробок звучав так: "А ви гарантуєте, що ваша фірма буде існувати через пару років?".)

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

створення платформи

Сьогодні широке коло додатків має внутрішні механізми програмування, які можна умовно розділити на два типи:

1) механізми, що діють в рамках базових функцій конкретного додатка (таких, наприклад, був свого часу WordBasic, спочатку враховує специфіку Word);

2) механізми, що дозволяють створювати ці базові функції і розробляти програми з принципово новими можливостями (то, що зараз зроблено в MS Office).

У цьому вікні видно всі об'єкти, доступні розробнику

Засоби адаптації ПО до завдань конкретного користувача з'явилися вже в самих перших версіях бухгалтерських програм "1С". У 1996 р фірма випустила "1С: Торгівлю". Вона була реалізована на новій технологічній платформі V7, яка сьогодні відома під торговою маркою "1С: Підприємство". Цей інструментарій можна сміливо віднести до засобів розробки другого типу.

Описуючи цю платформу розробки додатків, цікаво порівняти її з подібними засобами. Але потрібно підкреслити, що, на відміну від універсальних систем швидкої розробки типу VB і Delphi, платформа "1С: Підприємство" - спеціалізоване засіб створення додатків для вирішення економічних завдань. Мабуть, більш близьким орієнтиром для порівняння є пакети сімейства MS Office.

Крім того, випускаючи власний інструментарій, розробники "1С" враховували особливості не тільки предметної області, але також і російської дійсності (не дуже високий рівень витрат на ІТ, тривалий етап переходу від ручних методів до автоматизованим та ін.).

Далі я буду проводити деякі аналогії з VB і Office / VBA, але не з точки зору оцінки краще - гірше, а просто щоб на тлі цих широко відомих систем була більш зрозуміла логіка роботи платформи "1С: Підприємство".

проблеми зростання

Керівники фірми "1С" підкреслюють, що кошти програмування, що входять до складу "1С: Підприємства", спочатку створювалися у вигляді повноцінного інструменту, призначеного для розробників як самої "1С", так і будь-який інший незалежної компанії. Однак незважаючи на це приклад появи "1С: Підприємства" доводить, що перехід від продажу готових рішень (орієнтація на кінцевих користувачів) до поставок інструментарію (орієнтація на розробників) досить непростий. Ще й тому дуже цікавий досвід "1С", діяльність якої характеризується хорошим поєднанням довгострокового планування і оперативної реакції на ситуацію на ринку, прагматизму і новаторства.

"Конфігуратор" - середовище розробки додатка

Говорячи про зміщення акцентів у стратегії розвитку технологій "1С", слід зробити кілька важливих уточнень. Компанія як і раніше вважає ключовою складовою свого бізнесу саме поставку готових рішень для кінцевих користувачів і не розглядає (принаймні поки що) інструментарій в якості самостійного продукту. У зв'язку з цим "1С: Підприємство" сьогодні позиціонується як "повнофункціональний готове рішення з гнучким інструментом налаштування". Але потрібно підкреслити, що таке суміщення визначається в першу чергу маркетинговими, а не технологічними питаннями.

Як не дивно, але одна з проблем зміни позиціонування системи "1С: Підприємства" полягає в необхідності коригування використовуваної в ній термінології. "1С: Підприємство" зараз означає кілька понять, що розрізняються лише в конкретному контексті, що створює серйозну плутанину: по-перше, ця назва коробкового продукту, по-друге, найменування програми, з якою працює кінцевий користувач, по-третє, засіб розробки, по-четверте, назва технологічної бази.

У той же час мова програмування платформи до сих пір не має назви. Тому в описі доводиться використовувати довгий термін "вбудовану мову" 1С: Підприємство "" - погодьтеся, що VB або Java читається простіше. (Розробники "1С" пояснюють відсутність назви тим, що мова є не самостійною цінністю, а одним з інструментів настройки "1С: Підприємства".)

Інший аспект цієї ж проблеми - деяка невідповідність внутрішньої термінології "1С" і загальноприйнятою в середовищі розробників (це буде показано нижче). Звичайно, тут велику роль відіграє успадковані інформаційний ресурс, однак при плануванні розширення сфери застосування продуктів бажано усунути подібні розбіжності.

Загальна логіка роботи системи

У загальному випадку функціонування системи "1С: Підприємство" визначається взаємодією трьох її ключових складових частин:

1. додатки "1С: Підприємство" (назва та сама, але суть вже інша) - програмне середовище для макропрограми, званої "Конфігурація". Фактично цей додаток - це спеціалізований інтерпретатор, вихідний інтерфейс якого призначений для управління режимами трансляції та для запуску мінімально необхідного набору функцій (в якійсь мірі тут доречна аналогія між середовищем VB і працюючим в цьому середовищі VB-проектом).

2. макропрограми "Конфігурація", що працює в середовищі "1С: Підприємство" і повністю визначає функціональність розв'язуваних користувачем завдань (в тому числі і настройку інтерфейсу). Фізично "Конфігурація" зберігається у вигляді спеціального файлу-контейнера 1cv7.md. Конфігурація тренувальної системи "Облік основних засобів", створюваної протягом п'яти днів слухачами навчальних курсів, має обсяг близько 350 Кб. Комплексна конфігурація, яку поставляють "1С" ( "Бухгалтерія", "Зарплата і Кадри", "Торговий і складський облік"), - майже 9 Мб.

Користувач може застосовувати кілька конфігурацій для вирішення своїх завдань. Відповідно кожна конфігурація може працювати з декількома базами даних (це дозволяє, наприклад, за допомогою однієї "Бухгалтерія" обробляти дані різних організацій).

3. додатки "Конфігуратор" - робоче середовище розробки конфігурації (користувальницької програми). Крім неї до складу пакету входять ще програми для налагодження конфігурацій.

Отже, в загальному випадку власник пакета "1С: Підприємство" може використовувати готові конфігурації, що поставляються "1С" або її партнерами, модернізувати їх (з урахуванням питань ліцензування та технічної підтримки) або створювати власні. Разом з тим існує досить великий набір продуктів "1С", в яких можливості модернізації програмних компонентів користувачем обмежені. Наприклад, відомий пакет "1С: Деньги" - варіант "1С: Підприємства" з фіксованою конфігурацією і без програми "Конфігуратор".

Додаток "Адресна книга" можна створити "з нуля" за кілька хвилин

Відзначимо деякі особливості розробки додатків в системі "1С: Підприємство".

1. В даному випадку, на відміну від відомих систем RAD і MS Office / VBA, фізично рознесені середовища написання програми і її виконання. Очевидно, що це економить ресурси, але трохи сповільнює процедуру налагодження (при кожному тестовий запуск відбувається завантаження середовища виконання).

2. Ліцензійна політика фірми "1С" має на увазі комплексну поставку всіх трьох програмних складових. Зокрема, користувач не може купити тільки інструментальні засоби без якоїсь конфігурації. І він не може створювати за допомогою пакета автономні тиражовані програми - нові конфігурації будуть працювати лише в середовищі "1С: Підприємства". В даному випадку є повна аналогія з додатками MS Office.

3. Дуже цікаво реалізована процедура компіляції та виконання коду конфігурації. Програмні модулі зберігаються в конфігурації у вигляді вихідного тексту, і компіляція кожного з них виконується в момент першого звернення, після чого його скомпільований код зберігається в оперативній пам'яті. Таким чином компіляція програм відбувається кожного разу при запуску програми, але завдяки розподіленої схемою трансляції ця операція проходить практично непомітно для користувача, тим більше що структура мови реалізує схему однопрохідної трансляції, яка підвищує швидкість перетворення коду. Негативним моментом використовуваної моделі "пізнього зв'язування" є неможливість перевірки зв'язків на рівні синтаксичного контролю.

Розробка конфігурації

Розробник може створювати свій варіант конфігурації або на основі вже існуючого варіанту, або, як то кажуть, "з нуля". Якщо вибрати другий підхід, запустити програму "Конфігуратор" і відкрити головне вікно "Конфігурація", то в ньому з'являться три вкладки, які відображають взаємопов'язані складові частини конфігурації:

- структура метаданих;

- набір призначених для користувача інтерфейсів;

- набір прав користувача.

Метадані визначають всю функціональність конфігурації і являють собою сукупність об'єктів - базових конструкцій для створення робочих конфігурацій. По суті це - зумовлені програмні аналоги реальних об'єктів зі сфери предметної діяльності підприємств.

Склад бібліотек і об'єктів системи "1С: Підприємство"

Наприклад, об'єкт "Довідник" призначений для ведення будь-яких списків однорідних даних: довідників, картотек та ін. За змістом подібний об'єкт в якійсь мірі відповідає поняттю "Таблиця" в таких базах даних, як Access, FoxPro та ін. Однак в цьому випадку розробник фактично взагалі не має справи з поняттям "база даних" - всі питання зберігання інформації, в тому числі створення і корекції файлів, вирішуються самим об'єктом.

Таким чином, всі об'єкти "1С: Підприємства" приймають на себе як функції збереження даних на зовнішніх носіях, так і візуального представлення інформації у вигляді екранних діалогів (форм з набором візуальних елементів управління) і друкованих документів. Крім того, більшість об'єктів в якості свого компонента включають модуль форми, що містить програмний код для виконання нестандартних операцій при роботі з об'єктом.

Однак те, що з'являється у вікні "Конфігурація" в початковий момент, - всього лише список доступних типів об'єктів. (Якщо проводити порівняння з VB - це панель інструментів, які можна використовувати для розробки програми.) На їх основі потім створюються реальні об'єкти з набором конкретних параметрів.

Всі об'єкти "1С: Підприємства" об'єднані в кілька груп (див. Таблицю). Базові об'єкти використовуються у всіх версіях системи, і з їх допомогою можна робити закінчені додатки для вирішення досить широкого кола завдань (наприклад, тільки з їх застосуванням слухачі п'ятиденних навчальних курсів створюють досить складну систему обліку основних засобів). Решта об'єктів представлені у вигляді декількох бібліотек для певних предметних областей: "Бухгалтерський облік", "Оперативний облік", "Розрахунок". Розробнику доступні ті бібліотеки, які входять до складу придбаного ним варіанта продукту.

Функціональна настройка об'єктів, а також їх об'єднання в закінчену конфігурацію виконуються за допомогою вбудованої мови (на жаль, поки що не має назви). В його основі лежить спрощений варіант синтаксису Pascal, але при цьому його автори передбачили два способи використання ключових слів - російською та англійською мовою, а також в змішаному вигляді.

Завершуючи короткий огляд

"1С: Підприємство" є сьогодні технологічною платформою створення бізнес-додатків, і це підтверджується тим простим фактом, що професійних програмістів, що використовують даний інструмент, як мінімум тисяч десять. Більш того, в нашій країні фактично сформувалося співтовариство 1С-програмістів (як не вистачає гарного назви технології!), Що виходить далеко за рамки кола офіційних партнерів фірми.

При цьому хотілося б звернути увагу на маркетингові питання просування платформи - успіх багато в чому визначається постійно підтримуються типовими рішеннями (число яких постійно зростає), що представляють собою хороший фундамент для нових розробок - писати все "з нуля" все ж дуже складно.

Як будь-який інструмент, "1С: Підприємство" має свої переваги і недоліки. Наприклад, я знайшов в ньому дуже багато цікавих рішень, яких явно не вистачає в VB. Однак ряд архітектурних ідей і конкретна реалізація окремих елементів технології здаються мені не зовсім оптимальними.

Але що безперечно - в даному випадку ми маємо справу з глибоко продуманої і добре реалізованою технологією, що володіє великим потенціалом розвитку. Вже те, що при критичному аналізі російський інструментарій порівнюється з визнаними світовими лідерами засобами розробки, говорить багато про що.

Версія для друку

Тільки зареєстровані користувачі можуть залишати коментарі.

Головний аргумент проти російських розробок звучав так: "А ви гарантуєте, що ваша фірма буде існувати через пару років?

Дополнительная информация

rss
Карта