Сегодня 25.11.2024 Вы зарегистрированы в системе под именем ANONYMOUS

Rambler's Top100
Начало
Обо мне
Моя семья и звери
Статьи
Проекты
Стихи
Фото-галерея
Досуги
Былое и думы
Универсальная Самообучающаяся Экспертная Система
Мудрости
Приколы
 
Новости
Карта сайта
Все материалы
Обсуждение
Опросы
 


КиноНавигатор поможет выбрать фильм, если не знаешь, что посмотреть.
Персональный сайт Андрея Акопянца  >  Статьи  >  О конкретных системах и компаниях

   

1С - компании и продукту

Написана в сентябре 1998г, опубликована в Компютерре в январе 1999г.

;;;;;;;;;;;;;;;;;

Все началось с того, что Анатолий Левенчук обратился ко мне с вопросом - могу ли я пойти и разобраться, что из себя представляют продукты 1С, и каков их технологический уровень. Далее он пояснил, что этот заказ исходит от Евгения Козловского, которому хочется получить объективную оценку от достаточно компетентного и не ангажированного человека, в частности, для того, чтобы определить редакционную политику по отношению к 1С.

Я начал вспоминать, что же я знаю об 1С.

Вспомнил я, что мои друзья, занимавшиеся бухгалтерией, отзывались об 1С:Бухгалтерии весьма пренебрежительно, правда, это было году в 92-93.

Еще я вспомнил, что мне недавно пришлось столкнуться в моей предметной области (автоматизация деятельности на ныне почившем рынке ценных бумаг) с программой, сделанной на базе чего-то 1С. Эта программа, хотя и не блистала находками, была вполне добротной, не хуже многих других. При этом ее разработчики на многие вопросы типа "А можно сделать вот так и учесть еще и это?" отвечали "Сейчас сделаем", и порывались прямо тут же все сделать.

Последнее воспоминание как-то не вязалось с первым, и мне самому стало любопытно - что же это такое 1С сегодня. И вообще, почему 1С? И я отправился на WEB-сайт 1С (www.1c.ru). Там все оказалось еще любопытнее, чем я думал.

Во-первых, впечатлили количественные показатели деятельности компании

  • свыше 200000 зарегистрированных пользователей собственных программ 1С
  • свыше 1500 тысяч постоянных партнеров - продавцов (дилеров) и внедренцев (франчайзеров).
  • среднемесячный оборот, превышающий 2000000$, из него более половины - на продаже продуктов производства 1С.

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

В-третьих, все это при численности персонала в компании 140 человек (всего!) и отсутствии тесных родственных связей с какими-либо крупными компьютерными или финансовыми организациями.

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

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

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

И речь пошла о том, "как все начиналось". А начиналось оно, как выяснилось, совсем не на пустом месте.

Немного истории

К начала перестройки Борис Нуралиев был один из ведущих специалистов в системе Центрального статистического управления - сердца и мозга плановой системы управления народным хозяйством. Это было огромное ведомство, насчитывающее свыше 300000 сотрудников, из которых большая часть была программистами, ряд громадных вычислительных центров, набитых самой современной техникой.

Говорит Борис Нуралиев

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

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

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

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

Для своего времени этот продукт был супертехнологичным. Он не только умел давать ответ за одну секунду, но мог работать через плохие и разные линии связи (например, через телеграфные), что было очень актуально в начале 90-тых.

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

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

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

В качестве продукта для дистрибуции был выбран пакет Lotus 1-2-3, который уже был суперпопулярен на западе, и практически неизвестен в России (как и весь класс электронных таблиц).

Говорит Борис Нуралиев:

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

Мы стали собирать наших партнеров, проводили для них семинары, учили, как продавать. И то, что мне удалось запустить продажу Лотуса, я считаю самым большим своим успехом.

За 1991 год было продано 7500 коробок, и сеть заработала - бизнес более чем сотни организаций оказался завязанным на 1С, которая помогала им зарабатывать деньги.

Следующий судьбоносный шаг компания сделала весной 1992 года. Проанализировав, для чего используется покупателями Лотус, Нуралиев принимает решение изготовить бухгалтерскую программу, и запустить ее в дистрибуторскую сеть. При этом рынок бухгалтерских программ был уже достаточно насыщен - все нынешние программы (Парус, Инфин, Инфобухгалтер, ТурбоБухгалтер, Финансы без проблем и др.) уже были на рынке. Но ни у одной из этих фирм и близко не было такой сбытовой сети, как у 1С, и это давало шанс.

Программа была разработана братом, Сергеем Нуралиевым, который тогда занимался разработкой учетных систем для разных больших организаций (он и по сей день руководит разработкой продуктовой линии 1С:предприятие).

Говорит БН

На рынке не было реально настраиваемых коробочных продуктов, приспособленных к продаже через дилерскую сеть. Поэтому важна была скорость. Задание я выдал 16 февраля, а первые продажи пошли 6 апреля - на Комтеке, где мы ее выставили на своем стенде.

Потом мы долго уговаривали наших партнеров ее продавать. Они не хотели. В конце концов уговорили.

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

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

Модель бизнеса

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

ЦЕЛЕВОЙ АУДИТОРИЕЙ ДЛЯ КОМПАНИИ 1С ЯВЛЯЮТСЯ ЕЕ ПАРТНЕРЫ!!!.

Поэтому у 1С совсем другие приоритеты и в маркетинге, и в требованиях к продуктам и их ассортименту. Например, 1С не очень интересен рынок крупных корпоративных заказчиков.

БН о рынке крупных корпоративных приложений

Бывали прецеденты, когда наши франчайзеры побеждали в тендерах Галактику... Я знаю пример, когда организация выкинула R/3 (SAP), и перешла на 1С:Предприятие. Но деньги за это все равно получаем не мы - делают это все наши партнеры, которые покупают у нас одну коробку не зависимо от того - автоматизируют они крупного или мелкого заказчика.

Из-за особой структуры бизнеса сравнивать с 1С монолитной компанией, которая сама занимается сбытом своей продукции, некорректно, точнее, надо сравнивать ее со всей сетью 1С.

Средний франчайзер, например, имеет численность 21 человек, (из которых - 7 программисты-внедренцы, а 6 - продавцы). Поэтому если рассматривать как единую компанию всю сеть 1С, то оказывается, что это мега-фирма с оборотом свыше 200 000 000$ в год, и с численностью персонала свыше 30 000 человек, представленная в более чем 300 городах России. Попробуй с такой поконкурируй!

Борис Нуралиев о роли дилерской сети

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

Я: А результатами делятся?

Пускай даже и не делятся... Хотя некоторые делятся.

При этом принципиальной установкой является НЕ ЗАНИМАТЬСЯ ВНЕДРЕНИЕМ САМОМУ. Поэтому в компании отсутствует и не планируется подразделение по работе с крупными корпоративными клиентами, как это практикует, например, ORACLE или IBM, у которых основной сбыт идет через сеть, но с крупными клиентами они работают напрямую.

Борис Нуралиев о работе с дилерами

IBM вообще очень плохо работает с дилерами. Например вот это компьютер (показывает последний Think Pad) стоит 10 000$, но в Москве его купить нельзя. Потому что IBM на новую машину устанавливает запредельную цену, снимает сливки, а потом снижает ее со скоростью 100-200$ в неделю. Какой дилер будет держать у себя на складе технику, которая дешевеет с такой скоростью?

Поэтому у нас Toshiba, которая нормально работает с дилерами, и представлена гораздо шире...

Потребностями же партнеров, как правило, вызвано расширение продуктовой линейки - они хотят все, что им нужно для их бизнеса, покупать в одном месте. Так например, недавно появились 1С версии популярных баз данных Гарант и Кодекс, распространяемые на CD-ROM, за цену, сравнимую со стоимостью месячного обновления у самого Гаранта.

Ложка дегтя

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

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

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

``Единственное, для чего ее можно было использовать'' сказал Игорь ``это для распечатки бланков, с тем, чтобы вписывать в них вручную. Но и это оказалось очень неудобно, так как поля очень маленькие, и писать приходится микроскопическими буквами''.

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

Ехать он, естественно, никуда не стал. Кончилось это тем, что он запрограммировал все нужные формы на Access-e, и они уж все вычисляли и печатали как надо.

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

Собственно, о продукте

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

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

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

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

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

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

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

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

Далее мы будем говорить об 1С как инструментальной среде. О ней можно говорить в двух аспектах.

  • собственно, об инструментальной среде и идеях, в нее заложенных.
  • о прикладных (бизнес ориентированных) концепциях, и их отражении в "объектной модели" 1C.

Платформа

1С - это 32-разрядное приложение, использующее для хранения данных либо DBF-файлы, либо MS SQL. 1С умеет использовать стандартные для Microsoft интерфейсы межзадачных коммуникаций (OLE, DDE) для общения с другими задачами. 1C работает с распределенными базами данных, и имеет собственные гибкие механизмы настройки правил репликации, и может использовать любые виды транспорта данных - вплоть до переноса на дискетах.

Написано все это на Visual C++, и имеет совокупный объем свыше 500 000 строк кода. В систему встроен собственный язык программирования, содержащий большое количество встроенных функций, и допускающий подключение внешних DLL для реализации недостающих функций.

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

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

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

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

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

Говорят, в одной из ФИДО-шных дискуссий, где тусуются вольные автоматизаторы, обсуждался вопрос - на чем лучше делать приложения - на Delphi или на 1С. И ответ местного гуру, закончивший дискуссию, звучал так - "Если хотите поднять свою квалификацию - пишите на Delphi. Если хотите заработать деньги - на 1С".

Комментарий Сергея Нуралиева (руководителя разработки):

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

Прикладные концепции

Любая учетная система имеет как минимум, четыре компоненты

- систему хранения, поиска и редактирования условно-постоянной информации (справочники)

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

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

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

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

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

Справочники

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

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

Документ

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

Реквизиты документов могут быть либо встроенных типов, либо прикладных - объекты типа справочников, другие типы документов. Реквизиты так же могут быть вычислимыми.

Документы могут быть связанными друг с другом - есть понятие подчиненного документов, документа, сформированного на основании другого документа и др., связанные документы могут образовывать целые деревья, например, Счет - накладные, кассовые ордера.

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

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

Таким образом, документ - это чуть более сложная (за счет табличной части) конструкция, чем привычная всем разработчикам связка "Таблица базы данных+Экранная форма+Грид (экранная таблица)", но более простая, чем произвольно настраиваемая форма в той же Delphi. Мне этот компромисс представляется вполне разумным.

Документ может находиться в двух состояниях - введенном, и проведенном. При его проведении выполняется подвешенный к документу алгоритм, который, например, формирует и выполняет проводки.

План счетов и проводки

Я не бухгалтер, и не очень сведущ в бухгалтерском учете, но мне показалось, что ничего гибче придумать уже невозможно. На каждом счете может быть три остатка - сумма, количество, валютная сумма и это все в разрезе многоуровневой иерархии субсчетов и многомерной аналитики, а также многовалютности и деления на отдельные балансы. У каждого счета может быть свой набор аналитических параметров (до 5), причем на каждом из этих параметров может быть установлена иерархия, позволяющая консолидировать остатки по уровням аналитики, много планов счетов могут вестись одновременно, и др.

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

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

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

Регистры

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

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

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

---- Краткая аннотация для незнакомых с этим понятием ---

Отец реляционной алгебры Кодд в начале 90-тых выдвинул новую идеологию работы с данными, названную им OLAP (on-line analitical proceeding), причем моделью данных для поддержки OLAP является многомерный куб, где на измерениях определены некоторые иерархии, а в клетках этого куба находятся числовые значения.

Напрмер (близкий мне пример), рынок ценных бумаг хорошо описывается измерениями Инструменты, Торговые площадки, Дата-время и Параметр (цена спроса, цена предложения, цена последней сделки, объем и др), а значение параметра находится на пересечении этих измерений. Единичный факт (точка) выглядит, например, как "Обыкновенные акции МосЭнерго на РТС имели в 8 августа 1998 г. в 15:00:00 bid (цену покупки) 1 цент".

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

Имеется класс программ для поддержки такой работы с данными. Они обычно используются для создания так называемых "хранилищ данных". Наиболее известный у нас в стране программный продукт этого класса - это Oracle Express Server.

--------------

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

Занесение данных в регистры происходит только программным путем - в основном, из алгоритмов, навешанных на документы.

Расчет

Расчет - это еще одна разновидность машины транзакций в 1С. Как она работает, и какими понятиями оперирует, мне детально разобраться не удалось,

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

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

В рамках компоненты Расчет выработана некоторая система понятий, таких, как объект расчета, параметры начисления и удержания, сбранные в группы с отношениями между ними, журнал расчета - хранилище, куда пишут свои записи документы, влияющие на результаты расчета. Сам расчет, будет производиться позже - по отдельному ``пинку'' пользователя (``отложенный'' по времени расчет) в отличие от механизма регистров, где все происходит в момент поведения документов.

Генератор отчетов

Отчет, как обычно, включает в себя три компоненты

  • диалог с запросом параметров, который происходит перед генерацией отчета
  • шаблон отчета
  • алгоритм формирования отчета

Все это (кроме алгоритма) описывается в визуальном редакторе. Процесс рисования отчета выглядел довольно понятно, а алгоритм (запрос) был сформирован с помощью некоторого Wisard-a. Потом, появился текст запроса, который можно было поправить руками.

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

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

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

Скажем, Delphi-2 в этом смысле не была честным инструментом. Несмотря на то, что утверждалось, что стандартная библиотека компонет позволяет решать все задачи работы с базой данных, утилита Database Desktop (административная утилита создания и работа с таблицами), не была написана на Delphi, и ряд ее свойств не удается воспроизвести с помощью стандартных средств.

Чего не умеет 1С.

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

В 1С нет функций контроля исполнения.

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

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

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

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

В 1С имеется достаточно распространенная, но неприятная проблема при работе задним числом.

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

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

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

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

1С в интерьере

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

Безусловно, 1С НЕ ИМЕЕТ смысла сравнивать тяжеловесами рынка систем управления предприятиями, такими, как SAP R/3, BAAN и др. Для транснациональной корпорации с десятками филиалов и десятками тысяч рабочих мест 1С вряд ли подойдет - в таких условиях не выдержит тот самый MS SQL, на котором работает наиболее продвинутая версия 1С.

Хотя концептуально та же R/3 устроена так же, как 1С - она имеет относительно небольшое исполнительное ядро, и язык програмирования (ABAP), на котором описывается вся прикладная функциональность.

1С имеет смысл сравнивать его с пакетами среднего уровня, такими как Platinum, Scala, AccPack. Я и мои знакомые имели опыт работы с ДОС-овскими версиями этих пакетов, но они непрерывно развиваются и совершентствуются, поэтому сказать что-либо определенное про их современные версии оказалось трудно.

Я предпринял некоторые росыски, и нашел web-сайт для выбирающих учетный пакет (www.excelco.com). Оказалось, что этих пакетов на рынке свыше 3000. В открытом доступе там оказалось довольно мало детальной информации (они продают свою базу данных), но некоторый сравнительный анализ клиент-серверных версий бухгалтерских пакетов мне найти удалось.

Для содержательного сравнивнения их по прикладной функциональности с готовыми конфигурациями 1С:Предприятие моей квалификации не хватило - я не знаю специфики многих приложений, по наличию/отсуствию которых собственно, и сравнивались пакеты на этом сайте. Тем более сложной задачей является ответ на вопрос - а можно ли все это ЗАПРОГРАММИРОВАТЬ на 1С.

По используемой платформе 1С выглядит вполне современно. Дело в том, что большинство этих пакетов (их клиент-серверных версий) - выходцы из мира UNIX. Поэтому почти все они успели переползти на MS SQL, но практически нет пакетов, поддерживающих Microsoft-интерфейсы межзадачного взаимодействия - MAPI и OLE.

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

Путем опроса знакомых мне вроде-бы удалось составить представление о том, как обстоят дела в последней версии одного из самых популярных в России пакетов - Platinum (версия SQL для Windows). Этот пакет просто написан на Visual Basic for Windows, и авторизованным дистрибуторам доступны его исходные тексты. Насколько я понял, средств расширения, более простых, чем переделка/дополнение исходных текстов, там нет.

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

Закончу я этот раздел пересказом фрагментов статей (Accounting Software Selection Users Guide: www.excelco.com/chewnsel.htm, How to Choose a System: http://www.excelco.com/u_pickem.htm) о выборе учетных пакетов, помещенной на указанном выше сайте.

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

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

При этом нужно скептически относиться к тому, что тебя говорят другие - ведь это тебе жить с этим пакетом, а не им...

Вместо эпилога.

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

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

Благо, франчайзеров у 1С достаточно много - список их по городам можно найти на сайте (www.1c.ru).

На вопрос о дальнейших направлениях совершенствования продуктов и о новых продуктовых линиях мне отвечать отказались. "Мы никогда не объявляем наших планов заранее" сказал Борис Нуралиев. "Сделаем - тогда расскажем". Но взгляд в будущем компании у него достаточно оптимистичный.

Борис Нуралиев о нынешних трудных временах

Мне не страшно... Я могу спокойно просидеть и год, и два, ничего не продавая. У меня зарплата - не более 10-12% от оборота, а так - какие еще затраты?

Денег на развитие мне хватает.

Борис Нуралиев об ограниченности рынка

Ну что вы.. В России свыше 2 000 000 предприятий сдают отчетность в налоговую инспекцию. Из них 1 000 000 - наши потенциальные клиенты. Так что есть куда расти.


( написано 06.05.2001,   опубликовано 06.05.2001)
   

Обсуждение (всего 2 реплики, последняя - 02.03.2002 08:40)    Настройка

02.03.2002 08:40 Юрьев Николай Яковлевич Вопрос по теме: 1С - компании и продукту
Установили WinXP вместо Win98 и не можем установить ключ защиты. Возвратились снова на Win98 - тоже самое.>> >>

 
02.03.2002 08:39 Юрьев Николай Яковлевич Вопрос по теме: 1С - компании и продукту
Установили WinXP вместо Win98 и не можем установить ключ защиты.
Возвратились снова на Win98 - тоже самое>> >>

 


В начало страницы (C) Andrey Akopyants
Перепечатка авторских материалов сайта приветствуется! Ссылка на первоисточник при перепечатке обязательна.