Система «1С:Бухгалтерия 6.0» является историческим фундаментом современной экосистемы 1С. Несмотря на то, что с момента ее выпуска прошло более 25 лет, многие организации до сих пор сталкиваются с необходимостью извлечения данных из архивных баз или поддержания работоспособности старых систем. В этой статье мы подробно разберем, как устроена «шестерка», как запустить ее на современных компьютерах и какими способами можно перенести накопленные данные в актуальные версии программ.
Для понимания принципов работы с этой версией, проанализируем ее внутреннюю структуру. В отличие от версий 7.7 и 8.x, 1С 6.0 является 16-битным приложением. В ней отсутствует привычное разделение на Конфигуратор и Предприятие. Вся логика системы строится на файлах описания и макрокомандах.
Рассмотрим основные типы файлов, с которыми придется работать специалисту:
SB*.DBF, а справочники — в файлах SC*.DBF.Программирование в 1С 6.0 существенно отличается от современного объектно-ориентированного подхода. Здесь используется язык макрокоманд, а алгоритмы зачастую прописываются непосредственно в ячейках таблиц, что напоминает работу в Excel. Выясним причину такой гибкости: отсутствие жесткой объектной модели позволяло пользователям того времени самостоятельно менять план счетов и добавлять произвольные разрезы аналитики (субконто) без глубокого погружения в код.
Одной из главных проблем является запуск 16-битного приложения в среде современных 64-битных ОС (Windows 7, 10, 11 x64). Нативно такая программа не запустится. Разберем по шагам доступные варианты решения:
Вариант 1: Виртуализация. Самый надежный способ — использование виртуальной машины (например, VirtualBox или VMware) с установленной Windows XP (32-бит) или Windows 98. В этой среде 1С 6.0 будет работать стабильно, включая сетевые функции.
Вариант 2: Эмуляция через DOSBox. Если вы используете DOS-версию 1С 6.0, ее можно запустить через эмулятор DOSBox. Однако для Windows-версии (которую часто называют 6.6) этот метод не подойдет.
Вариант 3: Исправление кодировки. Часто при запуске на Windows 7 или 10 вместо русских букв отображаются иероглифы. Проанализируем ситуацию: это происходит из-за различий в кодовых страницах. Для исправления необходимо внести изменения в системный реестр:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage]
"1251"="c_1251.nls"
"1252"="c_1251.nls"
Важно: Перед редактированием реестра обязательно создайте точку восстановления системы.
Если перед нами стоит задача миграции, то самым логичным промежуточным этапом будет переход на версию 7.7. Рассмотрим подробнее штатный механизм конвертации.
Фирма 1С ранее поставляла в комплекте с версией 7.7 специальную утилиту — V6_V7.EXE. Чтобы выполнить перенос, выполним следующие действия:
Конфигуратор 1С 7.7.Посмотрим на практический совет: лучше выполнять перенос в несколько этапов (отдельно справочники, затем остатки), так как процесс часто прерывается из-за ошибок в индексах или нарушения целостности данных в старой базе. Также существует метод миграции через промежуточную версию 7.5, которая имела более «мягкие» фильтры импорта.
Прямого конвертера из «шестерки» в современную «восьмерку» не существует. Разберем альтернативный метод — экспорт через текстовые файлы или прямое чтение таблиц DBF.
Метод через текстовый файл: В 1С 6.0 можно написать (или использовать существующую) обработку для выгрузки проводок и остатков в текстовый формат (CSV или TXT с разделителями). Рассмотрим пример логики выгрузки:
Алгоритм должен перебирать записи в файлах проводок SB*.DBF и формировать строку определенной длины для каждого поля (Дата, Дебет, Кредит, Сумма, Субконто). После формирования такого файла в 1С 8.3 пишется простая загрузка, использующая объект ТекстовыйДокумент.
Метод прямого чтения DBF: Поскольку 1С 6.0 хранит данные в открытом формате, мы можем извлечь их напрямую. Проанализируем структуру основных файлов:
SB*.DBF — содержит журналы операций.SC*.DBF — содержит данные справочников (Контрагенты, Номенклатура).Для загрузки в 1С 8.3 используем следующий подход:
ПутьКФайлу = "C:\1Cv6\BASE\SC1.DBF";
БД = Новый XBase;
БД.ОткрытьФайл(ПутьКФайлу);
Если БД.Открыта() Тогда
БД.Первая();
Пока Не БД.ВКонце() Цикл
// Создаем элемент справочника в 8.3
НовыйЭлемент = Справочники.Контрагенты.СоздатьЭлемент();
НовыйЭлемент.Наименование = СокрЛП(БД.NAME);
НовыйЭлемент.Записать();
БД.Следующая();
КонецЦикла;
БД.ЗакрытьФайл();
КонецЕсли;
Этот метод позволяет миновать промежуточные версии и напрямую забрать информацию о контрагентах и остатках ТМЦ.
Пользователи часто спрашивают, как поменять язык стандартных отчетов (например, на украинский). Разберем ситуацию: встроенные отчеты в 1С 6.0 жестко зашиты в код исполняемых модулей. Однако архитектура программы позволяет создавать произвольные отчеты. Выясним причину, по которой не стоит пытаться править стандарты: проще и эффективнее создать копию бланка (.bls), перевести заголовки и использовать его как внешний отчет. В этом случае все алгоритмы расчета сохранятся, а визуальная форма будет соответствовать вашим требованиям.
Работа с 1С 6.0 сегодня — это в первую очередь работа с историческими данными. Несмотря на «убогость» интерфейса (по современным меркам), система была крайне надежной. Если вам необходимо поддерживать такую базу, помните о правилах 16-битной среды и используйте методы прямого чтения DBF для интеграции с современными решениями. Мы рассмотрели основные пути миграции и настройки, которые помогут вам успешно справиться с этой задачей.