Компьютер-Информ || Архив || Рубрики || Поиск || Подписка || Работа || О "КИ" || Карта


1С:Проблема 2000


Игорь Котельников,
АСТРО СОФТ, IgorK@astrosoft.ru

В статье анализируется проблема 2000 года с точки зрения пользователя "1С:Бухгалтерии", "1С:Предприятия" и рассматриваются пути их решения, предлагаемые фирмами 1С и Астро Софт. Статья рассчитана на IT-менеджеров и пользователей экономических программ фирмы "1С".

Немного предметной специфики

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

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

Проблемы, проблемы, проблемы ...

В обращении сегодня находится целое семейство экономических программ фирмы 1С - от "1С:Бухгалтерии" версии 4.0 для DOS до "1С:Предприятия" для Windows 95/98/NT. Различны сами программы, различно их поведение в условиях перехода в XXI век. Имеет смысл конкретно рассмотреть все случаи. 

Cемейство "1C:Бухгалтерия" для DOS. Диагноз неутешительный. Во всех перечисленных программах проблема 2000 года одинаково не решена - в режиме пересчета итогов  период "01 квартал 00 года" считается некорректным, установить его невозможно,  рис.1.

Рис.1. "Синий экран" в "1С:Бухгалтерии" для DOS

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

Официального заявления разработчика о том, что готовятся релизы DOS-линейки, подготовленные для работы в 2000 году, нет. Скорее всего, единственным выходом для пользователей этих программ будет обновление на Windows-версии. Семейство "1С:Бухгалтерия 6.0" для Windows (Базовая, Проф., Сетевая, Клиент-серверная). Релизы этих программ удобнее различать не по номеру, а по дате создания. Первые релизы версии 6.0 не были подготовлены к 2000 году. 2000 год воспринимался ими как 1900, рис.2.

Рис.2. Где мои деньги?

Иллюстрация классической ситуации - проводка за 01.01.2000 попадает не в обороты января 2000 года, а воспринимается программой, как относящаяся к 01.01.1900, и формирует начальное сальдо. Ситуация была исправлена разработчиком к апрелю 1998 года. Все релизы программ версии 6.0 с этого времени готовы к работе в 2000 году. Поэтому я рекомендую всем пользователям этих программ проверить имеющийся у них релиз на совместимость с 2000 годом. Проще всего сделать это следующим образом - либо посмотреть дату создания файла 1sbw.exe, либо открыть ярлык "Readme - Дополнительная информация", находящийся в группе "1С Бухгалтерия". Если в тексте есть параграф "Установка рабочего столетия", - можете работать спокойно, в противном случае  придется обновить релиз.

Система программ "1С:Предприятие" версий 7.0 и 7.5. Все релизы всех программ семейства совместимы с 2000 годом.

Метод решения

И в случае "1С:Бухгалтерии" версии 6.0, и в случае "1С:Предприятия" используется один и тот же простой механизм, известный как "логический диапазон дат". Вместо того, чтобы работать с абсолютными датами, что потребовало бы увеличения числа байтов, отводимых под хранение даты, формат представления не меняется, но имеется в виду, что столетие начинается не с 1900 года, а с года, задаваемого пользователем. Интересен предлагаемый разработчиком способ задания года начала столетия - фактически, он определяется смещением относительно текущего года. Например, если это смещение равно 50, то рабочим диапазоном программы будет период, начиная с 1999-50=1949 года по 2049 год. В следующем году диапазон автоматически сместится на год - с 2000-50=1950 по 2050 год, и так далее. Таким образом, предлагаемый подход имеет два несомненных достоинства.

  1. Не требуется модификации баз данных - то есть владельцу релиза версии 6.0, несовместимого с 2000 годом, достаточно просто обновить исполняемые файлы программы. Конвертировать данные не нужно.
  2. Достаточно один раз задать смещение логического диапазона столетия, и реальное столетие, в пределах которого будет работать программа, каждый год будет автоматически корректироваться. (Каждый третий пользователь после приводимого выше примера недоверчиво спрашивает, а в 2049 году нужно будет снова задавать начало столетия? Так вот: "не нужно".)

Способ, которым задается смещение логического диапазона дат для "1С:Бухгалтерии" версии 6.0 и программ системы "1С:Предприятие", несколько различен. В первом случае используется константа YearOfCentury, находящаяся в секции [Values] конфигурационного файла 1SBW.CNF. Хочу обратить ваше внимание на следующий нюанс - этот файл может находиться как в каталоге базы данных, так и в каталоге исполняемых файлов программы, но при существовании и того, и другого обрабатывается файл, находящийся в каталоге базы данных. Если файл не существует, программа будет работать некорректно, хотя повреждения базы данных, как в случае DOS-версий, не будет. На это следует обратить внимание, в основном, при обновлении релиза, так как при полной инсталляции файл 1SBW.CNF создается автоматически. Детальное описание способа задания смещения логического диапазона дат находится в упоминаемом ранее файле readme.wri. В случае программ системы "1С:Предприятие" смещение логического диапазона дат задается общим параметром "Год начала рабочего столетия". В отличие от "1С:Бухгалтерии" версии 6.0 здесь смещение задается неявно годом начала рабочего столетия, рис.3.

Рис.3. "1С:Предприятие" в XXI веке живет и здравствует

Фактически, YearOfCentury=50 и "Год начала рабочего столетия", равный 1949, означает одно и то же (разумеется, относительно 1999 года). При переходе на следующий год значение параметра автоматически инкрементируется. Описание способа приводится в "Руководстве пользователя" в главе "Сервисные возможности".

Существенные нюансы

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

А то, как именно их несовместимость с 2000 годом влияет на работу экономических программ 1С, будет подробно рассмотрено в следующем выпуске. Пока же достаточно указать на тот очевидный факт, что если даже совместимая с 2000 годом программа получит от связки компьютер+ОС текущую дату не как 01.01.2000, а как 01.01.1900, то работать она все равно будет некорректно. Еще один важный момент заключается в том, что столкнуться с Проблемой 2000 и ее негативными последствиями вы можете гораздо раньше, чем наступит 1 января 2000 года. Ведь даты будущего года начинают функционировать в наших хозяйственных, финансовых и бухгалтерских записях заранее. Например, сроки предстоящих поставок, платежей, окончания договора или возврата кредита и т.д. Думайте сами...

Человеческий фактор

Кроме технических аспектов проблема 2000 года в компьютерном бухучете имеет еще и тот, что раньше назывался "человеческим фактором". Несмотря на несовместимость используемой бухгалтерской программы с 2000 годом, которая может иметь достаточно реальные и тяжелые последствия, пользователь программы, то есть бухгалтер, зачастую не склонен придавать ей сколько-нибудь серьезное значение. Во-первых, потому что основная головная боль бухгалтера связана непосредственно с его текущей деятельностью и компьютер находится на периферии его интересов. Во-вторых, до апреля он вообще ни о чем, кроме сдачи годовой отчетности, думать не будет. В-третьих, русский "авось": "до 2000 года еще далеко, глядишь, само по себе рассосется". Так вот - может не рассосаться. И если вы - IT-менеджер, то это будет вашей ответственностью и вашей проблемой. И подумать об этом следует загодя. Дело в том, что тестирование и возможное исправление ситуации может потребовать определенных ресурсов, о планировании которых нужно думать уже сейчас. Очевидным ресурсом является время - нужно потратить время на поиск методик тестирования компьютеров и операционных систем, провести это тестирование, проверить релиз имеющейся программы "1С". Менее очевидным ресурсом являются деньги. Не исключено, что придется обновлять технику или программное обеспечение. В любом случае, решение о выделении ресурсов будет приниматься или санкционироваться руководством вашей фирмы. Как правило, эти люди не слишком торопятся расставаться с деньгами, поэтому, если вы хотите, чтобы проблема 2000 была решена на вашем предприятии не к 2001 году и, возможно, другим человеком, готовить к этому руководство нужно уже сейчас.

Продолжение следует.

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


       КОМПЬЮТЕР-ИНФОРМ 
          Главная страница || Статьи 1'1999 || Новости СПб || Новости России || Новости мира

Рубрики || Работа || Услуги || Поиск || Архив || Дни рождения
О "КИ" || График выхода || Карта сайта || Подписка

Рассылка анонсов газеты по электронной почте

Главная страница

Сайт газеты "Компьютер-Информ" является зарегистрированным электронным СМИ.
Свидетельство Эл 77-4461 от 2 апреля 2001 г.
Перепечатка материалов без письменного согласия редакции запрещена.
При использовании материалов газеты в Интернет гиперссылка обязательна.

Телефон редакции (812) 718-6666, 718-6555.
Адрес: 196084, СПб, ул.Заставская, д.23, БЦ "Авиатор", 3-й этаж, офис 307
e-mail: editor@ci.ru
Для пресс-релизов и новостей news@ci.ru