Давайте подумаем, из-за чего вообще возникла нужда в def-файлах.
А возникла она из-за того, что видимый из длл-экспорта интерфейс CBLModule7 не позволял ответить на вопросы:
1. Передается ли параметр по значению.
2. Указано ли значение по умолчанию для параметра.
3. Нет синтаксиса для указания в методе модуля неявного количества параметров.
4. Нет возможности указания типа параметров (хотя я этим не пользуюсь, для меня это спорный момент)
Если удастся решить эти вопросы в рамках скомпилированного CBLModule7, то и надобность в def-файлах отпадет.
По первому пункту может быть АЛьФ что-нить подскажет? Не может быть, что он это не нарыл.
По второму - опять же вопрос к Альфу. Для задания значений по умолчанию в виде выражений можно использовать синтаксис что-то типа
а="==ТекущаяДата()".
По третьему пункту - можно заюзать параметр с предопределенным именем, например "џџџ";
Ну и четвертый пункт - если решить второй, то и это достижимо.
В результате получится что-то типа:
Процедура Тест(Знач Парам1 = ":Строка:==ИмяПользователя()", парам2=":Число", џџџ) Экспорт
PS: "џ" набирается как ALT + 0159 на цифровой клаве.
PPS: В качестве символов идентификаторов 1С оказывается допускает использование и таких символов:
0128=Ђ
0129=Ѓ
0131=ѓ
0138=Љ
0140=Њ
0141=Ќ
0142=Ћ
0143=Џ
0144=ђ
0154=љ
0156=њ
0157=ќ
0158=ћ
0159=џ
0161=Ў
0162=ў
0163=Ј
0165=Ґ
0170=Є
0175=Ї
0178=І
0179=і
0180=ґ
0181=µ
0186=є
0188=ј
0189=Ѕ
0190=ѕ
0191=ї
То есть вполне допустимо написать
µ = 1;
Сообщить(µ);
Правда текущий телепат об этом не знает