Часто обработки, написанные для 1с81, могут успешно работать
и в среде 1с80.
Но почему-то 1С не побеспокоилось об обратной конвертации
обработок из 1с81 в 1с80.
Мне уже надоели просьбы пользователей выложить версию для
1с80, поэтому рассказываю, как получить из обработки для 1с81 обработку для
1с80.
Если при открытии обработки в режиме 1С:Предприятия выдается
текст ошибки "Внешняя обработка не может быть прочитана текущей версией
программы", ее можно попробовать открыть в конфигураторе.
Если и при этом выдается такая же ошибка, значит, обработка
сохранена в более поздней версии программы 1С.
Текущую версию можно посмотреть через меню
"Справка" - "О программе". Там есть текст вида
"1С:Предприятие 8.1 (8.1.11.67)", где 8.1 или 8.0 - это платформа
1с81 или 1с80, а 11.67 - номер релиза.
На одном компьютере можно хранить две версии программы 1С.
Для этого достаточно скопировать папку bin одной и другой версии и запускать 1с
из этого каталога.
Теперь
непосредственно о методе:
1. Нужно создать пустую базу 1С80 и открыть ее в
конфигураторе.
2. Открываем любую базу 1с81 (пустую или существующую) в
конфигураторе.
3. В конфигураторе 1с81 открываем ветку "Обработки",
правой кнопкой мышки выбираем команду "Вставить внешнюю обработку",
выбираем файл обработки 1с81. При этом в обработки добавится наша обработка.
4. В конфигураторе 1с81 ставим курсор на добавленную обработку,
и копируем ее в буфер обмена (Ctrl+C).
5. Переходим в конфигуратор 1с80, ставим курсор на ветку
"Обработки" и вставляем обработку из буфера обмена (Ctrl+V). Обработка добавится из буфера обмена.
6. В конфигураторе 1с80, ставим курсор на добавленную обработку,
и выбираем правой кнопкой меню пункт "Сохранить как внешнюю
обработку". Все, у нас есть версия обработки для 1с80.
7. Теперь можно закрыть конфигураторы 1с80 и 1с81. Изменения
в конфигурации лучше не сохранять, ведь мы просто использовали конфигурации для
конвертации обработки.
Важно! Данная
методика работает только для тех обработок, у которых нет реквизитов. Видимо,
реквизиты в 1с81 хранятся по другому, поэтому копирование обработок, содержащих
реквизиты выдает ошибку потока. Для проверки я делал удаление реквизитов и
табличных частей, тогда обработка копировалась.
Чтобы конвертировать такие обработки, используется немного
другая методика:
1. Открыть в конфигураторе 1с81 внешнюю обработку 1с81.
2. Создать в конфигураторе 1с80 новую пустую внешнюю обработку,
назвать ее также, как обработку 1с81.
3. Вручную создать все реквизиты и табличные части,
назначить им аналогичные типы, как в 1с81.
4. Скопировать все формы и макеты обработки через буфер
обмена в новую обработку 1с80. При этом данные реквизитов формы нормально
подхватятся, т.е. формы править не нужно.
5. Скопировать текст модуля обработки.
6. Протестировать работоспособность, т.к. в 1с81 могут
использоваться объекты, которых в 1с80 нет.
К сожалению, в 1с80 нельзя открыть cf-файл конфигурации
1с81. Поэтому сравнение-объединение конфигураций не работает. Возможен только
метод с буфером обмена.
Тесты производились на релизах: 1С:Предприятие 8.0 (8.0.18.2) и 1С:Предприятие 8.1 (8.1.11.67).