"В лесу родилась ёлочка" в интерпретации 1С

08.12.09

Сообщество - О жизни

Давным-давно видел интерпретацию всем известной песенки "В лесу родилась ёлочка" под код Delphi (к сожалению, автора не знаю). Недавно наткнулся снова и снова улыбнулся. Решил переложить код в 1С. Смотрим что получилось. ;)
Процедура Лес()
	Ёлочка = СоздатьОбъект("Ёлка");	
	Пока Ёлочка.Жива()=1 Цикл
		Ёлочка.Возраст=Ёлочка.Возраст+1;
		Если (ТекущееВремяГода()="Зима") или (ТекущееВремяГода()="Лето")  Тогда
			Ёлочка.Стройность = 1;
			Ёлочка.Цвет = глПолучитьЦвет("Зеленый");
		КонецЕсли;
		
		Метель = СоздатьОбъект("Метель");
		Метель.ОткрытьФайл("D:\Music\NSYNC - Bye Bye Bye.mp3");
		Система.Уснуть(1000);
		Метель.Воспроизвести();
		
		Мороз = СоздатьОбъект("Мороз");
		Мороз.Укутать(Ёлочка);
		Если Ёлочка.Замерзла()=1 Тогда
			Ёлочка.Жива(0); 
			Возврат;
		КонецЕсли;
		
		Заяц = СоздатьОбъект("Заяц");
		Заяц.Трусливый = 1;
		Заяц.Цвет = глПолучитьЦвет("Серый");
		ЛК = Ёлочка.ЛеваяКоордината;
		ВК = Ёлочка.ВерхняяКоордината;		
		Пока 1=1 Цикл
			Заяц.ЛеваяКоордината = ЛК;
			ЛК=ЛК+1;
			Заяц.НижняяКоордината = ВК + Окр(abs(sin(ЛК*pi/180)*10)); 
		КонецЦикла;
		
		КомандаСистемы("wolf3d.exe /evil");
		
		СкопироватьВБуфер(Ёлочка);
		Праздник = СоздатьОбъект("Праздник");
		ВставитьИзБуфера(Ёлочка, Праздник);
		Ёлочка.ЗагрузитьСкинИзФайла("нарядная.jpg");
		Дети = СоздатьОбъект("Дети");
		Для й=1 По Ёлочка.Радость.РазмерСписка() Цикл
			Дети.Настроение=Дети.Настроение+Ёлочка.Радость.ПолучитьЗначение(й);
		КонецЦикла;
	КонецЦикла;
КонецПроцедуры //Лес()

Вступайте в нашу телеграмм-группу Инфостарт

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

О жизни Россия Бесплатно (free)

Еще совсем недавно у программистов 1С было всё хорошо. Задачи на выполнение сыпались, как из рога изобилия. Счетчик времени зашкаливало от быстроты их выполнения. Чуть ли не каждый месяц был новый рекорд. Новые идеи генерировались бизнесом одна за другой. Но общее состояние экономики в России в 2026 году уже давали о себе знать, и группу компаний также стало лихорадить.

17.04.2026    4334    chuevsf    195    

142

О жизни Бесплатно (free)

Личные заметки о том, как 1С-разработка столкнулась с вызовом времени. От FoxPro до "гаражной инженерии" - тридцать лет по одним и тем же граблям.

02.04.2026    7891    GarriSoft    261    

41

О жизни Бесплатно (free)

Команда Инфостарта проделала огромную работу. Спасибо за эту сложную работу и важные данные. Цифры - это круто, они заменяют собственные ощущения, конкретными фактами, но когда я проанализировал их, результат меня не порадовал

02.02.2026    5621    GarriSoft    194    

38

О жизни Россия Бесплатно (free)

Личная история смены профессии — честно и с юмором. Как решиться на первый шаг, что помогло на старте и почему даже отчёты в 1С могут приносить радость.

17.07.2025    5189    user2154904    13    

59

О жизни Бесплатно (free)

В данной статье я хочу поделиться своим видением обеих направлений разработки, сравнить их и дать свою субъективную оценку, а также рассказать историю ИТ в общих чертах за последние 5 лет, как ИТ пузырь начал раздуваться и как он в конце концов лопнул.

11.07.2025    7886    hexhoc    27    

66

О жизни Россия Бесплатно (free)

Для гениального программиста 1С Аркадия Скворцова это должно было стать рутинной отладкой. Но база данных НИИ, занимающегося «стабильностью пространственно-временного континуума», оказалась не так проста. Что скрывается за строками кода, где вместо «ПриходТовара» значится «ПеремещениеМатерии», а в регистрах накапливается «ЭнтропияВселенной»?

19.05.2025    4850    vet7777    11    

42

О жизни Россия Бесплатно (free)

Данная статья сугубо для раздела «О жизни», но может оказаться полезна многим членам сообщества. Все описанное ниже соответствует актуальному российскому законодательству на момент публикации статьи. У вас нет и в ближайшее время не предвидится детей возрастом до 1.5 лет? Вспомните о родственниках / друзьях / коллегах / знакомых, у которых они есть, и отправьте ссылку на эту статью — она может быть им чрезвычайно полезна. Распространите среди жильцов вашего ЖЭКа, как говорилось в одном классическом произведении. Помните, что, ставя плюсы к статье, вы поддерживаете её автора!

01.07.2024    11609    madonov    52    

61

О жизни Linux Системный администратор Программист 1С:Предприятие 8 Россия Бесплатно (free)

Использование Linux в качестве основной ОС для программиста 1С, возможно ли это? Решил поделиться личным опытом работы перехода на эту систему. В статье моя история без технических деталей максимально простым языком. И, спойлер, да, жизнь на Линуксе для разработчика 1С возможна и с каждым годом становится всё комфортней. Статья рассчитана на людей, с Линуксом не знакомых, специалистов прошу не кидаться помидорами.

16.05.2024    13197    soulner    38    

54
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. JohnyDeath 302 24.01.08 12:53 Сейчас в теме
Будут предложения/замечания?
2. German 415 24.01.08 17:16 Сейчас в теме
Надо в коментах песню пустить ... а то целиком в код погружаешься
3. sterling 24.01.08 17:45 Сейчас в теме
Пока 1=1 Цикл
Заяц.ЛеваяКоордината = ЛК;
ЛК=ЛК+1;
Заяц.НижняяКоордината = ВК + Окр(abs(sin(ЛК*pi/180)*10));
КонецЦикла;

тут меня зациклило ))
zveruganet; +1 Ответить
4. JohnyDeath 302 24.01.08 18:29 Сейчас в теме
(3) ну да, наверное точнее будет так:
Код
Пока (Заяц.Устал()=0) и (Ёлочка.Жива()=1) Цикл
Заяц.ЛеваяКоордината = ЛК;
ЛК=ЛК+1;
Заяц.НижняяКоордината = ВК + Окр(abs(sin(ЛК*pi/180)*10)); 
КонецЦикла;
Показать полностью
5. CheBurator 3234 25.01.08 00:56 Сейчас в теме
поржал реально.. особенно про зайца
6. rutony 54 25.01.08 15:21 Сейчас в теме
7. script 128 26.01.08 00:55 Сейчас в теме
зачот. насмешили.
8. Alice 28.01.08 12:47 Сейчас в теме
Код
Процедура ВыходЕсть(Веревка) Экспорт
  ИнициалиацияВеревки(Веревка.ЭтотОбъект(),Константы.Мыло.Получить());
  Петля= Веревка.ПолучитьФормуПетли();
  Петля.ОткрытьМодально(10);
  Табуретко = ПолучитьCOMОбъект("Furniture.Stool");
  глРазместитьТелоНаПредмете(Табуретко,ВариантРазмещенияТела.Вертикально);
  глТело.Голова.Расположить(Петля.Получитьобласть("ОбластьПетли"));
  Сообщить("В моей смерти винить Б. Нуралиева");
  Табуретко.ShiftAside(3);
  ЗавершитьРаботуСистемы(Ложь);
КонецПроцедуры
Показать полностью
Uncore; Трям; Serjik78; Amber; Serj1C; Romanius; lustin; Gromgard; Valet; zaic; Вадимко; Solomonoff; JohnyDeath; +13 Ответить
9. passerg 28.01.08 13:59 Сейчас в теме
Давно так не смеялся! +!
Alice, бесподобно!!!
10. leo stopper 02.02.08 18:45 Сейчас в теме
11. Вадимко 156 06.02.08 18:34 Сейчас в теме
Ацки отожгли, зачот!
12. all_2 23.04.08 14:14 Сейчас в теме
+++, здоровый юмор повышает производительность труда
zveruganet; +1 Ответить
13. panteranew 43 27.07.08 22:06 Сейчас в теме
14. Altair777 649 03.10.08 15:16 Сейчас в теме
15. Serj1C 484 17.12.08 13:13 Сейчас в теме
16. Fuego 463 19.12.08 16:40 Сейчас в теме
Код
program Елочка; 
Begin 
    Лес.елочка.create(); 
    While not Лес.елочка.dead do 
    Begin 
    
        лес.елочка.age := лес.елочка.age + 1; 
        if зима or лето then 
        begin 
            лес.елочка.plain := true; 
            лес.елочка.color := cl_green; 
        end; 
        
        метель.filename:="'D:"Music"NSYNC - Bye Bye Bye.mp3"'; 
        метель.open; 
        sleep(1000); 
        метель.play; 
        мороз.укутать(лес.елочка); 
        GetMessage(H, лес.елочка.handle, 0, 0); 
        if h.uint = wm_замерзла then 
            dead := true; 
    end; 
    
    лес.заяц.create; 
    лес.заяц.трусливый := true; 
    лес.заяц.color := cl_gray; 
    x := лес.елочка.left; 
    y := лес.елочка.top; 
    While x 
    Begin 
        лес.заяц.left := x; 
        inc(x); 
        лес.заяц.top := y round( abs(sin(x*pi/180)*10) ); 
    end; 
    
    Winexec("'wolf3d.exe /evil"',0); 
    лес.елочка.cuttoclipboard; 
    Праздник.pastefromclipboard; 
    Праздник.елочка.skin.loadfromfile("'нарядная.jpg"' ); 
    For i:=1 to SizeOf(Праздник.елочка.радость) do 
        Праздник.Дети.Настроение Праздник.елочка.радость; 
End. 
Показать полностью


Усё это боянчег, но улыбает :) Вчера тоже чёта написал - милости прошу: http://infostart.ru/blogs/310/
17. JohnyDeath 302 19.12.08 16:44 Сейчас в теме
(16) Да, боянчег, о чём я честно написал в шапке.
А ты сделал вид, что сам написал ;) Да... и спасибо за ссылку на этот же блог! )))
Видать празднование в полном разгаре )))
18. Fuego 463 19.12.08 17:08 Сейчас в теме
Да не :) Парням ссылку давал, и забыл в буфер свою скопировать :)) http://infostart.ru/blogs/899/ И вид я не делал - я именно по приведенному в комментарии тексту и надумал. От нечего делать вчера :)
19. woozee 48 07.12.09 17:09 Сейчас в теме
Если описывается процесс про прыгание зайца - почему не описывается процесс прихода ёлочки на праздник?:)) а то получается что она "телепортировалась" с места рождения )) У елочки по умолчанию же нету свойства "ходить" )) Надо прикрутить в общем ;)
20. zveruganet 72 12.01.10 22:30 Сейчас в теме
её вырезали (срубили) и вставили (почти пришла {явилась}) на праздник, так что процесс вполне описан
Для отправки сообщения требуется регистрация/авторизация