Как конвертировать обработку для 1С81 в 1С80

Часто обработки, написанные для 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).