Как-то раз сидел за решением какой-то сложной проблемы, которую даже воспроизвести у себя не удавалось. Тут в голову приходит мысль "а не попробовать ли написать квайн на 1С?". Решение этой задачи помогло отвлечься и привести мысли в порядок, после чего с проблемой удалось разобраться. Рекомендую :)
Используется две переменные: одна - это собственно код программы, вторая используется для его построчного вывода, в конце применяется метод "Выполнить".
При этом первую переменную можно сколь угодно дополнять своим кодом, исключая объявление переменных, процедур и функций. В данном случае квайн дополнен кодом, выводящим дурацкий стишок в виде предупреждения.
А="
|Для Сч=1 По СтрЧислоСтрок(А) Цикл
| ТекСтрока=СтрПолучитьСтроку(А,Сч);
| ТекСтрока=СтрЗаменить(ТекСтрока,"""""""","""""""""""");
| Если Сч=1 Тогда
| ТекСтрока=""А=""""""+ТекСтрока;
| ИначеЕсли Сч=СтрЧислоСтрок(А) Тогда
| ТекСтрока=ТекСтрока+"""""";Выполнить(А);"";
| КонецЕсли;
| ТекСтрока=?(Сч=1,Лев(А,0),""|"")+ТекСтрока;
| Сообщить(ТекСтрока);
|КонецЦикла;
|//Сюда вставляем произвольный код, заменив, разумеется, одинарные кавычки на двойные
| Жгем=Новый Структура(""Раз,Два,Три"");
| ТСбщ="""";
| Для каждого Эл Из Жгем Цикл
| ТСбщ=ТСбщ+Эл.Ключ+"" помидор,""+Символы.ПС;
| КонецЦикла;
| ТСбщ=ТСбщ+""Гори, помидор!"";
| Предупреждение(ТСбщ);
|//Конец вставки произвольного кода";Выполнить(А);
PS
Любителям покритиковать решение. Конечно, я уже посмотрел "каноничный" способ написания квайна на 1С. Но после этого моя реализация квайна не стала нравиться мне меньше. Не обязательно лучший код - это самый краткий. Да и смысл решения от краткости не меняется.