В интернете мне не подвернулась ценная инструкция по переносу структуры писем The Bat. Обычно рекомендуют перегружать ручками, однако в моём случае, среди некоторых пользователей встречаются такие "деревья", которые можно переносить руками до китайской пасхи.
The Bat! меня расстроил до глубины моей глубоко ранимой души, и я уже было потерял надежду. Однако попался один python скрипт, принцип работы которого я так не понял, но наткнулся в нём на утилиту tbb2mbx, которая конвертирует файл папки The Bat tbb в файл папки ThunderBird mbx. А в свою очередь в ThunderBird есть понятие "Локальные папки", которые хранятся в виде файлов mbx (без расширения) и папок в виде названиепапки.sbd, в которых находятся подчиненные элементы. Не долго думая я реализовал алгоритм на 1С, получилось ужасно - но работает.
Далее из папок Thunderbird мышкой без проблем переносятся в IMAP и вообще куда хотите
Код основной функции прилагаю. Только если будете рисовать сами - поищите версию tbb2mbx 1.3. В конфигурашке за шеккель она запакована в макет.
&НаКлиенте
Процедура ТочноКонвертировать(Результат,Дополнительно) Экспорт
Если Результат<>КодВозвратаДиалога.Да Тогда
Возврат;
КонецЕсли;
Программа = ПолучитьИмяВременногоФайла("exe");
ПолучитьИзВременногоХранилища(ПолучитьФайлКонвертора(УникальныйИдентификатор)).Записать(Программа);
Разделитель = ПолучитьРазделительПутиКлиента();
УбратьПоследнийРазделитель(ПапкаИз,Разделитель);//На случай копирования с ним
Разбор = СтрРазделить(ПапкаИз,Разделитель,Ложь);
НазваниеКорневойПапки = Разбор[Разбор.Количество()-1];
Для каждого Файл ИЗ НайтиФайлы(ПапкаИз,"*.tbb",Истина) Цикл
ОтносительныйПуть = СтрЗаменить(Файл.Путь,ПапкаИз,"");
ОтносительныйПуть = НазваниеКорневойПапки+ОтносительныйПуть;
Разбор = СтрРазделить(ОтносительныйПуть,Разделитель,Ложь);
НовыйПуть = ПапкаВ;
Край = Разбор.Количество()-1;
Для Сч = 0 По Край-1 Цикл
НовыйПуть = НовыйПуть +Разделитель+Разбор[Сч]+ ".sbd";
КонецЦикла;
СоздатьКаталог(НовыйПуть);
НовыйПуть = НовыйПуть +Разделитель+ Разбор[Край];
КодВозврата = Неопределено;
ЗапуститьПриложение(
Программа+" """+Файл.ПолноеИмя+""" """+НовыйПуть+"""",
"", // текущий каталог для запускаемого приложения
Истина, // дожидаться завершения работы запущенного приложения
КодВозврата // сюда попадёт код, возвращаемый программой
);
КонецЦикла;
УдалитьФайлы(Программа);
КонецПроцедуры // ТочноКонвертировать()