Жизнь в стиле RPG

08.04.20

Задачи пользователя - Разное

Работа выполнялась на платформе 8.3.16.1148. Пока мой город на карантине, появилось чуть больше свободного времени (процентов на 15) - решил попробовать сделать для себя в 1С то, что давно хотел. У меня на телефоне есть приложение "RPG in real life", оно мне помогает в мотивации важных дел, но кажется немного неудобным. Решил сделать что-то похожее в 1С, с моими основными "хотелками". Данная разработка позволяет получать миссии, за выполнение которых начисляются баллы, влияющие на повышение уровней своих навыков.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
1С "Жизнь в стиле RPG"
.cf 140,19Kb ver:1.2.2.7
1 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

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

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

Бывает, что даже деньги не до конца мотивируют на выполнение каких-либо задач. И хочется найти дополнительный импульс. А тут есть возможность представить себя персонажем RPG-игры и прокачаться по полной.

Т.к. привык вести учет всего, что только можно в своей "самописке" на 1С (деньги, планирование, клиенты и т.д.) - решил добавить туда идею из приложения "RPG in real life".

Создал всего 2 справочника, 2 регистра сведений, один объект задач и форму. Получилось минималистично, но пока устраивает. В дальнейшем планирую добавить в конфигурацию чуть больше хотелок и перенести эту конфу на андроид.

Если нужно подробно, то:

1. Я использовал платформу 8.3.16.1148, там обещали новые "вкусности" по мобильной разработке, но до них я еще не дошел. Но в свойствах конфигурации поставил на будущее галку "Приложение для мобильной платформы".
Создаём справочник RPG_Навыки, в предопределенные можно сразу добавить - "Карьера и деньги", "Здоровье", "Обустройство дома", "Интеллект", "Спорт", "Помощь другим людям" и т.д. (настраивайте справочник проецируя на себя).

2. Я создал еще справочник "Клиенты", т.к. основная направленность миссий, думаю, будет по навыку "Карьера и деньги".

3. Добавим непериодический регистр сведений, не подчиненный регистратору RPG_СоответствияБалловИУровней. Измерения - Навык и УровеньНавыка, ресурс - НеобходимыйБалл. После заполнения он будет выглядеть примерно так:



4. Создадим задачу RPG_Миссии. Я добавил реквизиты ДатаИсполнения, СрокИсполнения, Клиент. И табличную часть "Навыки", т.к. одна миссия может усилить несколько навыков. Я создал ещё форму для активных задач, чтобы на рабочую область 1С вывести.
Далее, добавим регистр сведений RPG_Баллы. Измерения "Навык", Миссия" (тип ЗадачаСсылка.RPG_Миссии, Ведущее). Ресурс "Балл". В этот регистр мы будем делать записи при выполнении задачи (миссии). Знаю, что здесь лучше подойдёт оборотный регистр накопления, но придётся создавать еще вспомогательный документ в качестве регистратора, а сейчас мне хочется минимализма и огромного объема записей, чтобы сильно замедлить базу - не предвидится.



5. Создаём общую форму "Уровень персонажа и навыки". Общий уровень персонажа считается, как в Oblivion - когда произошло 10 повышений навыков - повышается основной уровень. Значения навыков определяем запросом к регистрам RPG_СоответствийБалловИУровней и RPG_Баллы.
Вот процедура, которая вызывается при открытии или обновлении формы:


//Получаем массив навыков и создаем реквизиты и поля для уф
&НаСервере
Процедура СоздатьРеквизитыИПоляУФ()
	
	МассивНавыков = Новый Массив;
	
	Запрос = Новый Запрос;
	Запрос.Текст = "ВЫБРАТЬ
	|	RPG_Навыки.Наименование КАК Наименование,
	|	RPG_Навыки.ИмяПредопределенныхДанных КАК Имя,
	|	СУММА(RPG_Баллы.Балл) КАК Балл,
	|	RPG_Навыки.Код КАК Код,
	|	RPG_Навыки.Ссылка КАК Ссылка
	|ПОМЕСТИТЬ ВТСпрИСуммаБаллов
	|ИЗ
	|	Справочник.RPG_Навыки КАК RPG_Навыки
	|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.RPG_Баллы КАК RPG_Баллы
	|		ПО RPG_Навыки.Ссылка = RPG_Баллы.Навык
	|ГДЕ
	|	RPG_Навыки.ПометкаУдаления = ЛОЖЬ
	|
	|СГРУППИРОВАТЬ ПО
	|	RPG_Навыки.Наименование,
	|	RPG_Навыки.ИмяПредопределенныхДанных,
	|	RPG_Навыки.Код,
	|	RPG_Навыки.Ссылка
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	ВТСпрИСуммаБаллов.Ссылка КАК Ссылка,
	|	ВТСпрИСуммаБаллов.Имя КАК Имя,
	|	ВТСпрИСуммаБаллов.Наименование КАК Наименование,
	|	ЕСТЬNULL(ВТСпрИСуммаБаллов.Балл, 0) КАК Балл,
	|	МАКСИМУМ(RPG_СоответствийБалловИУровней.УровеньНавыка) КАК УровеньНавыка,
	|	ВТСпрИСуммаБаллов.Код КАК Код
	|ИЗ
	|	ВТСпрИСуммаБаллов КАК ВТСпрИСуммаБаллов
	|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.RPG_СоответствийБалловИУровней КАК RPG_СоответствийБалловИУровней
	|		ПО ВТСпрИСуммаБаллов.Ссылка = RPG_СоответствийБалловИУровней.Навык
	|			И ВТСпрИСуммаБаллов.Балл >= RPG_СоответствийБалловИУровней.НеобходимыйБалл
	|
	|СГРУППИРОВАТЬ ПО
	|	ВТСпрИСуммаБаллов.Имя,
	|	ВТСпрИСуммаБаллов.Ссылка,
	|	ВТСпрИСуммаБаллов.Наименование,
	|	ВТСпрИСуммаБаллов.Код,
	|	ЕСТЬNULL(ВТСпрИСуммаБаллов.Балл, 0)
	|
	|УПОРЯДОЧИТЬ ПО
	|	Код";
	
	ТЗНавыковБалловИУровней = Запрос.Выполнить().Выгрузить();
	
	МассивНавыков = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Имя");
	
	Для Каждого СтрокаМассиваНавыков Из МассивНавыков Цикл
		
		//Добавляем в уф навыки
		
		//Создание реквизита уф
		ИскомыйЭлементФормы = Элементы.Найти(СтрокаМассиваНавыков);
		Если ИскомыйЭлементФормы = Неопределено Тогда //Проверка - при обновлении формы реквизиты не создаем
			ДобавляемыйРеквизит = Новый Массив;
			НовыйРеквизит = Новый РеквизитФормы(СтрокаМассиваНавыков, Новый ОписаниеТипов("Число",Новый КвалификаторыЧисла(10,0))); 
			ДобавляемыйРеквизит.Добавить(НовыйРеквизит); 
			ИзменитьРеквизиты(ДобавляемыйРеквизит);
		Иначе
			//Удаляем необновленный элемент формы
			Элементы.Удалить(ИскомыйЭлементФормы);
		КонецЕсли;
		
		//Создание поля уф
		НовыйЭлемент = Элементы.Добавить(СтрокаМассиваНавыков, Тип("ПолеФормы"),);
		НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода;
		НовыйЭлемент.ПутьКДанным = СтрокаМассиваНавыков;
		НовыйЭлемент.ТолькоПросмотр = Истина;
		
		//Присваиваем уровень нашему навыку
		СтрокаТЗСУровнем = ТЗНавыковБалловИУровней.Найти(СтрокаМассиваНавыков, "Имя");
		Если СтрокаТЗСУровнем <> Неопределено Тогда
			ЭтотОбъект[СтрокаМассиваНавыков] = СтрокаТЗСУровнем.УровеньНавыка;
			НовыйЭлемент.Заголовок = СтрокаТЗСУровнем.Наименование + " (" + СтрокаТЗСУровнем.Балл + ")";
			//НовыйЭлемент.Заголовок = СтрокаТЗСУровнем.Наименование + " (" + СтрокаТЗСУровнем.Балл + " " + ПолучитьСклоненияСтрокиПоЧислу("балл",СтрокаТЗСУровнем.Балл,,"ЧС=Количественное","ПД=Родительный")[0]  + ") ";
		КонецЕсли;
		
	КонецЦикла;
	
	Уровень = ТЗНавыковБалловИУровней.Итог("УровеньНавыка") / 10;
	
КонецПроцедуры

Как в итоге получилось - смотрите скриншоты в самом верху. Конфигурацию буду дополнять, планирую добавить фоновую музыку, отчёты с картинками из Morrowind и Oblivion, перенесу на андроид (тогда вместо не поддерживаемых в мобильном приложении задач - придется уже документы использовать). Всё по мере появления свободного времени. Ни на что не претендую, делаю для себя - но вопросы, просьбы и идеи по доработке - с радостью почитал бы.

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

RPG мотивация тренажёр

См. также

Интеграция Разное Оптовая торговля Логистика, склад и ТМЦ 1С:УТ Россия Платные (руб)

«КИТУ Мастер» — это специализированное программное решение, которое позволяет вашему бизнесу быстро, точно и в полном соответствии с законодательством формировать, регистрировать и маркировать паллеты, короба и другие логистические единицы для системы обязательной маркировки «Честный ЗНАК». С помощью данного решения устраняется необходимость рутинной ручной работы через веб-интерфейс «Честного ЗНАКа» или сложных интеграций с 1С, предоставляя вам автономный, мощный и простой в использовании инструмент

1 стартмани

21.11.2025    2117    5    mstvster    4    

5

Разное 1С 8.3 Россия Абонемент ($m)

Чего только не было написано на 1С, но вот удивительно, не нашел ни одного проекта по астрологии. Решил исправить такой недостаток :) Конфигурация для расчёта и анализа астрологических карт с собственным астрономическим движком и встроенной интеграцией с языковыми моделями (LLM). Платформа 1С:Предприятие 8.3.27, файловый режим, написана полностью на встроенном языке без внешних компонент.

1 стартмани

22.06.2026    617    8    AlxPop    8    

7

Разное Бесплатно (free)

Способы, как сэкономить при оплате ИИ-подписок.

18.06.2026    1134    SergMuravev    10    

9

Разное Бесплатно (free)

На связи Сергей Скирдин, технический директор компании «Белый код». Мы занимаемся проектами в сфере управления данными: интеграции, хранилища, BI. Поэтому мне особенно интересно следить за тем, как развивается экосистема 1С в смежных для нас направлениях. В субботу посетил мероприятие для разработчиков и технических специалистов 1С. Хотелось послушать про «1С:Шину», «1С:КХД», «1С:Аналитику» и в целом понять, куда движется мир разработки и технологий 1С. Расскажу, что интересного для себя отметил. Технологии 1С:Предприятие: вопросы и размышления

15.04.2026    1428    sergey.skirdin    0    

5

Разное 1С 8.3 Абонемент ($m)

Внешняя обработка для объединения файлов изображений в единый PDF файл, работает на платформе 1С 8.3.21 и выше.

1 стартмани

24.03.2026    604    5    evg520750    0    

5

Разное 1С 8.3 Абонемент ($m)

Представляю демку "Infostart". Для тех, кто еще помнит на 8 битных компьютерах такое явление, как демосцена. Олды пустят ностальгическую слезу, молодежь офигеет. Такого на 1С вы точно еще не видели!

23.03.2026    1121    1    DmitryKSL    14    

11

Разное 1С 8.3 Бесплатно (free)

Советы для любой ситуации в любой конфигурации.

30.12.2025    3266    76    ixijixi    11    

21
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. VmvLer 08.04.20 15:07 Сейчас в теме
можно грабить корованы?
300_po_vstrechke; shalimski; pm74; ErrorEd88; C0mmander_Alex; +5 Ответить
2. ErrorEd88 54 08.04.20 15:38 Сейчас в теме
(1) Нет, я джва года хочу такую игру(
Бэнни; pm74; +2 Ответить
3. chg 09.04.20 03:38 Сейчас в теме
И не лень же тебе, а так идея прикольная, однозначно плюсик)))
4. ef42 12.04.20 16:20 Сейчас в теме
Интересный подход к геймификации развития. Может есть какая-то достойная литература на данную тематику?
5. ErrorEd88 54 13.04.20 11:09 Сейчас в теме
(4) Книги такие не находил даже на английском, только любительские статейки в LiveJournal, Pikabu и несколько мобильных приложений с подобной идеей.
6. user2005939 24.10.23 22:30 Сейчас в теме
Круто! Я как далекий человек от 1С в общих чертах понял как создать подобное в Пайтоне 👍
Для отправки сообщения требуется регистрация/авторизация