Автор:Никита Зайцев
wild@hare.ru
Источник: http://blog.hare.ru/
1С:Предприятие 8.0 Вести с полей-1: Что это было?
"Это" было очередным семинаром партнёров, проведённым фирмы "1С" в минувшие выходные. Фирма "1С" не любит публиковать материалы своих семинаров в открытом доступе и единственное, что доступно на их сайте – это банальный пресс-релиз. Поэтому тем, кто на семинаре не был, информацию приходится собирать по закоулкам.Главное событие семинара: представление бета-версии V8. Рассказывали, показывали, отвечали на вопросы. Вот только с собой не давали, но это уж как водится. Сам я на семиране не был, но источники информации у меня вполне надёжные и заслуживающие доверия.
На следующий после семинара же день на Т1С появился сжатый отчёт, перечисляющий ключевые моменты докладов по V8. Насколько он близок к реальности? Максимально близок. Множество людей конспектировали доклады на своих ноутбуках и палмах, и кто-то запостил выжимку из конспекта в Сеть. Если кто-то пропустил эту инфу – смотрите прицепленный файл внизу страницы.
Начнём с главного. Когда? Были объявлены вполне конкретные сроки: бета в марте (очевидно, что в конце марта), первый релиз в середине лета. Но релиз будет не полный – как водится, что-то будут доделывать параллельно первым продажам. УРБД и Web-компонента выйдут в свет только к осени. Если же выход V8 будет огранизован по образу и подобию 7.5/7.7, то в первом релизе может не оказаться и других компонент. Оперативный учёт будет точно, а вот всё остальное – как получится.
Первые типовые под V8 выйдут, само собой, одновременно с первым публичным релизом.
Это заявление можно описать одним-единственным словом: дождались. За те три-четыре месяца, которые остались до выхода релиза, никаких концептуальных изменений в платформу внести уже не получится.
Но вместе с тем очевидцами была отмечена некоторая неуверенность разработчиков V8 и неопределённость по некоторым ключевым вопросам. "Мы сами ещё не знаем, как это лучше сделать и стоит ли это делать вообще". Заявления такого рода плохо совмещаются с объявленными сроками вывода продукта на рынок – а значит, какие-то концептуальные функции платформы будут обкатываться на живых пользователях и первые релизы V8 (как и всех прошлых версий "1С:Предприятия") будут только называться релизами, оставаясь по сути в статусе "бета" или, в лучшем случае, "релиз кандидат". Кто бы удивился..
Насколько версия V8, представленная на семинаре, отличается от "ознакомительной"? Отличается, и сильно.
Ключевые моменты докладов по V8 (взято с T1C) (2.5 Kbytes)
1С:Предприятие 8.0 Вести с полей-2: Архитектура.
Архитектура V8 была и остаётся трёхзвенной: сервер баз данных, сервер приложений, клиент. Однако же в концепцию внесены кое-какие изменения.Введено довольно-таки странное ограничение: один сервер приложений может обслуживать несколько баз данных, но одну базу данных может обслуживать только один сервер приложений. Понятно, что это сделано с целью упростить жизнь разработчикам V8, но не очень понятно, что же будет с масштабируемостью системы.
Представители "1С" заявили, что одного сервера приложений для одной БД вполне достаточно, и что на своих тестах они так и не смогли загрузить сервер приложений на 100%.
Графически архитектуру V8 можно изобразить вот так:
Красная зона – клиенты, жёлтая – сервер приложений V8, зелёная – сервер баз данных MSSQL. Сервер AppServer#1 обслуживает базу DB#1, и подключить к этой же базе сервер AppServer#2 нельзя.
Но ведь тесты – тестами, а реальные задачи имеют
обыкновение сильно отличаться от тестовых. И получается, что администратор
БД V8 лишён возможности распределять нагрузку по нескольким серверам,
а трёхзвенная архитектура лишается одного из основных своих преимуществ.
Очередной раз мы видим, что концепции "powered by 1C" отличаются от общепринятых,
и не всегда в лучшую сторону..
Это была плохая новость, а теперь будет хорошая: проблема блокировок в момент одновременного проведения документов решена и забыта. Называется это "паралелльная запись в регистры", а физически происходит вот что: проводящийся документ блокирует не таблицу целиком (как это сделано в V7), а только те записи таблицы, с которыми он работает.
Ещё одна хорошая новость: введена возможность принудительной блокировки читаемых данных. V7 использует т.н. "грязное чтение" (в запросы попадают данные из тех операций, которые ещё не завершены, скажем, часть документа провелась, а часть ещё не успела, и в отчёты эта первая часть попадёт, хотя проведение документа не закончилось). Запросы V8 по умолчанию работают так же, но есть возможность заставить их блокировать записи (не таблицы, а именно записи), которые участвуют в запросе.
Разработчики "1С" наконец-то освоили технологии грамотной работы с базами данных и это
не может не радовать.
А вот с компонентной моделью пока что полные непонятки. С одной стороны, состав компонент вроде бы предполагается стандартный: ОУ, БУ, Расчёт, УРБД и Web. А с другой стороны, V8 вроде бы не будет полным клоном V7, состав компонент и (особенно) их стыковка между собой пока что "плавают". Разработчикам V8 хочется сделать так, чтобы и пользователям не пришлось привыкать к новой концепции, и чтобы механизм стыковки и обновления компонент и конфигураций был удобным и эффективным. Окончательного решения покамест не найдено и что у девелоперов "1С" получится в итоге – мы узнаем только к релизу.
Что ещё можно сказать про архитектуру? Изменилась концепция выполнения программных модулей на стороне сервера приложений. У общих модулей убран признак "Выполнять на сервере" – по-видимому, теперь V8 сама будет решать, когда и где выполнять тот или иной модуль. В утешение программистам добавлен препроцессор, при помощи которого можно будет изменять логику модуля в зависимости от места выполнения: "если на сервере, то ... , а если на клиенте, то ...."
Других фундаментальных изменений в архитектуре, по моим сведениям, не произошло.
1С:Предприятие 8.0 Вести с полей-3: Модель данных.
Модель данных V8 будет ну очень гибкой. Того и этого, и можно без хлеба. Стандартные типы данных, однако же, никуда не денутся, просто их возможности существенно возрастут.Судите сами:
Неограниченное количество уровней справочника. Вместе с тем будет возможность организовать иерархический справочник совсем без групп (звучит хитро и сделано тоже хитро). Далее, введена возможность множественного подчинения справочников, но только на уровне объектов: справочник A в модели данных может быть подчинён справочникам B и C, но вот у конкретного элемента справочника A может быть только один владелец: либо элемент B, либо элемент C.
ImHO было бы логичнее пойти дальше и совсем выбросить концепцию подчинения справочников и заменить её на механизм, аналогичный подчинению документов (позволяющий строить связи вида "один ко многим" и "многие к одному"), естественно, с поправкой на специфику объекта "Справочник". Но уж что сделано, то сделано.
Осточертевшая всем на свете граница последовательности отправилась в страну вечной охоты, куда ей и дорога. А вот вместо неё появился загадочный объект "Оперативная отметка времени" – что это, зачем нужно и как будет работать новая инкарнация последовательностей, не знают толком даже сами разработчики.
В модель данных введён ещё один загадочный объект по имени "План видов характеристик". Что это за масло масляное – не очень понятно, известно только, что на его основе организованы субконто в БУ. По-видимому, "План видов.." (кто только придумывает эти жуткие названия) явит собою нечто вроде "метаданных над метаданными", объект, который составляется из других объектов. Может быть, это будет даже удобно.
Что же до регистров ОУ и регистров сведений, то они никуда не денутся и останутся в прежнем виде.
Бухгалтерские объекты претерпели значительные изменения. Всего стало больше: неограниченная иерархия плана счетов, неограниченное количество субконто, аналитик и ресурсов. Конечно, "неограниченность" нужно поделить на мощность аппаратной части и возможную кривизну реализации, но всё-таки слово "неограниченный" глазу приятно.
Из БУ убраны два столпа (по сути, два довольно-таки гнилых столпа): больше нет "Операции" и больше нет "Бухгалтерских итогов". Операция ушла в /dev/null/ (что концептуально правильно: вовсе незачем делать отдельный объект там, где можно обойтись стандартным документом), а на место "бухитогов" поставлены специальные бухгалтерские регистры, аж двух разных видов.
Торжество здравого смысла: девелоперы "1С" из трёх разных концепций хранения данных выбрали наилучшую (регистры) и перенесли её на остальные две компоненты (у Расчёта появились свои "регистры расчётов" вместо старых расчётных журналов). Конечно, не имея в руках рабочей копии продукта судить трудно – возможно и такое, что изменились только названия, а по сути "бухрегистры" ничем принципиально не отличаются от "бухитогов" – но будем таки надеяться на лучшее.
Что же касается компоненты Расчёт, то про неё сказать почти нечего. Есть регистры расчётов, есть множество новых объектов ("Период действия", "Период регистрации", "Фактический период действия" и т.д.) но что они делают и зачем нужны – чёрт их знает. Да и неинтересна мне эта компонента, со всеми её журналами-перерасчётами, если честно.
Что ещё? Наверняка в бету будет внесено множество мелких изменений (по сравнению
с "ознакомительной"), но именно что мелких. Революций никаких не планируется.
продолжение:
1С:Предприятие 8.0 Вести с полей-4: Функционал.
1С:Предприятие 8.0 Вести с полей-5: Групповая разработка.
1С:Предприятие 8.0 Вести с полей-6: Порядок цен.
Начать дискуссию