Постановка
задачи
Требуется
создать простейшую систему учета семейных доходов и расходов. Система
должна показывать текущий остаток в кошельке у каждого члена семьи и общие
семейные накопления. Система должна давать возможность узнать доходы и
расходы семьи за заданный период с группировкой по участникам или по статьям
доходов и расходов.
Объекты
конфигурации
В конфигурации потребуется создать следующие объекты:
Тип
объектов
|
Объекты
|
Справочники |
- Участники
- Кошельки
(доп. реквизит Участник)
- Статьи доходов
- Статьи расходов
|
Документы |
- Доход
(реквизиты шапки: Участник, Статья, Кошелек, Сумма)
- Расход
(реквизиты шапки: Участник, Статья, Кошелек, Сумма)
- Перевод
(реквизиты шапки: КошелекОткуда, КошелекКуда, Сумма)
- ВводНачОстатков
(реквизиты табличной части: Кошелек, Сумма)
При создании
документов не забудьте поставить галочку "Оперативный учет",
чтобы данный документ мог делать движения в регистрах.
Создайте два
общих реквизита Автор и Комментарий текстового типа.
|
Журналы
документов |
|
Регистры |
- Кошельки
(регистр остатков)
- Доходы (оборотный
регистр)
- Расходы (оборотный
регистр)
|
Отчеты |
|
Справочник
"Участники"
Данный справочник
будет содержать имена членов семьи и названия сторон, от имени которых
производятся доходы и расходы, и кому принадлежат кошельки.
![](img/example_money_spr_members.gif)
Справочник
"Кошельки"
Данный справочник
будет содержать названия мест хранения денежных средств семьи.
![](img/example_money_spr_account.gif)
Справочник
"Статьи доходов"
Данный справочник
будет содержать названия источников дохода семейных средств.
![](img/example_money_spr_from.gif)
Справочник
"Статьи расходов"
Данный справочник
будет содержать названия направлений расходования семейных средств. Это
многоуровневый справочник.
![](img/example_money_spr_where.gif)
Документ
"Ввод начальных остатков"
Экранная форма документа
выглядит следующим образом:
![](img/example_money_doc_begin.gif)
Модуль проведения:
Процедура ОбработкаПроведения()
ВыбратьСтроки();
Пока ПолучитьСтроку()=1 Цикл
Регистр.Кошельки.Кошелек
= Кошелек;
Регистр.Кошельки.Сумма = Сумма;
Регистр.Кошельки.ДвижениеПриходВыполнить();
КонецЦикла;
КонецПроцедуры
Документ
"Доход"
Экранная форма документа
выглядит следующим образом:
![](img/example_money_doc_dohod.gif)
Модуль проведения:
Процедура ОбработкаПроведения()
Регистр.Доходы.Участник
= Участник;
Регистр.Доходы.Статья = Статья;
Регистр.Доходы.Сумма = Сумма;
Регистр.Доходы.ДвижениеВыполнить();
Регистр.Кошельки.Кошелек = Кошелек;
Регистр.Кошельки.Сумма = Сумма;
Регистр.Кошельки.ДвижениеПриходВыполнить();
КонецПроцедуры
Документ
"Расход"
Экранная форма документа выглядит следующим образом:
![](img/example_money_doc_rashod.gif)
Модуль проведения:
Процедура ОбработкаПроведения()
Регистр.Расходы.Участник
= Участник;
Регистр.Расходы.Статья = Статья;
Регистр.Расходы.Сумма = -Сумма;
Регистр.Расходы.ДвижениеВыполнить();
Регистр.Кошельки.Кошелек = Кошелек;
Регистр.Кошельки.Сумма = Сумма;
Регистр.Кошельки.ДвижениеРасходВыполнить();
КонецПроцедуры
Документ
"Перевод"
Данный документ переводит средства из одного кошелька в другой.
![](img/example_money_doc_perevod.gif)
Модуль проведения:
Процедура ОбработкаПроведения()
Регистр.Кошельки.Кошелек
= КошелекОткуда;
Регистр.Кошельки.Сумма = Сумма;
Регистр.Кошельки.ДвижениеРасходВыполнить();
Регистр.Кошельки.Кошелек = КошелекКуда;
Регистр.Кошельки.Сумма = Сумма;
Регистр.Кошельки.ДвижениеПриходВыполнить();
КонецПроцедуры
Отчет
"Остатки"
Экранная форма диалога
отчета выглядит следующим образом:
![](img/example_money_rep_ostatki.gif)
Модуль отчета:
Процедура Сформировать()
Запрос =
СоздатьОбъект("Запрос");
ТекстЗапроса
= "
|Кошелек = Регистр.Кошельки.Кошелек;
|Участник = Регистр.Кошельки.Кошелек.Участник;
|Сумма = Регистр.Кошельки.Сумма;
|Группировка Кошелек;
|Функция СуммаВКошельке = КонОст(Сумма);
|Условие(Кошелек в ВыбрКошелек);
|Условие(Участник в ВыбрУчастник);
|";
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
.......Возврат;
КонецЕсли;
Таб = СоздатьОбъект("Таблица");
Таб.ВывестиСекцию("Все<");
Пока Запрос.Группировка(1) = 1 Цикл
....... Таб.ВывестиСекцию("Кошелек");
КонецЦикла;
Таб.ВывестиСекцию("Все>");
Таб.Показать();
КонецПроцедуры
Пример работы отчета:
![](img/example_money_rep_ostatki_example.gif)
Отчет
"Доходы и расходы"
Экранная форма диалога
отчета выглядит следующим образом:
![](img/example_money_rep_oborot.gif)
Сначала указывается
тип отчета: доходы или расходы. Затем выбирается период, за которые формируется
отчет. В отчете можно указать 1 или 2 группировки Участник и Статья в
произвольном порядке. Также можно указать отбор по одному участнику или
статье.
Модуль отчета см.
в конфигурации "Денежки".
Пример работы отчета
(отчет о доходах, включены две группировки):
![](img/example_money_rep_oborot_example1.gif)
Пример работы отчета
(отчет о расходах, включена только одна группировка Статьи):
![](img/example_money_rep_oborot_example2.gif)
Что
можно скачать
Скачать конфигурацию
"Денежки" (30К)
|