Постановка
задачи
Требуется
создать простейшую систему учета семейных доходов и расходов. Система
должна показывать текущий остаток в кошельке у каждого члена семьи и общие
семейные накопления. Система должна давать возможность узнать доходы и
расходы семьи за заданный период с группировкой по участникам или по статьям
доходов и расходов.
Объекты
конфигурации
В конфигурации потребуется создать следующие объекты:
Тип
объектов
|
Объекты
|
Справочники |
- Участники
- Кошельки
(доп. реквизит Участник)
- Статьи доходов
- Статьи расходов
|
Документы |
- Доход
(реквизиты шапки: Участник, Статья, Кошелек, Сумма)
- Расход
(реквизиты шапки: Участник, Статья, Кошелек, Сумма)
- Перевод
(реквизиты шапки: КошелекОткуда, КошелекКуда, Сумма)
- ВводНачОстатков
(реквизиты табличной части: Кошелек, Сумма)
При создании
документов не забудьте поставить галочку "Оперативный учет",
чтобы данный документ мог делать движения в регистрах.
Создайте два
общих реквизита Автор и Комментарий текстового типа.
|
Журналы
документов |
|
Регистры |
- Кошельки
(регистр остатков)
- Доходы (оборотный
регистр)
- Расходы (оборотный
регистр)
|
Отчеты |
|
Справочник
"Участники"
Данный справочник
будет содержать имена членов семьи и названия сторон, от имени которых
производятся доходы и расходы, и кому принадлежат кошельки.
Справочник
"Кошельки"
Данный справочник
будет содержать названия мест хранения денежных средств семьи.
Справочник
"Статьи доходов"
Данный справочник
будет содержать названия источников дохода семейных средств.
Справочник
"Статьи расходов"
Данный справочник
будет содержать названия направлений расходования семейных средств. Это
многоуровневый справочник.
Документ
"Ввод начальных остатков"
Экранная форма документа
выглядит следующим образом:
Модуль проведения:
Процедура ОбработкаПроведения()
ВыбратьСтроки();
Пока ПолучитьСтроку()=1 Цикл
Регистр.Кошельки.Кошелек
= Кошелек;
Регистр.Кошельки.Сумма = Сумма;
Регистр.Кошельки.ДвижениеПриходВыполнить();
КонецЦикла;
КонецПроцедуры
Документ
"Доход"
Экранная форма документа
выглядит следующим образом:
Модуль проведения:
Процедура ОбработкаПроведения()
Регистр.Доходы.Участник
= Участник;
Регистр.Доходы.Статья = Статья;
Регистр.Доходы.Сумма = Сумма;
Регистр.Доходы.ДвижениеВыполнить();
Регистр.Кошельки.Кошелек = Кошелек;
Регистр.Кошельки.Сумма = Сумма;
Регистр.Кошельки.ДвижениеПриходВыполнить();
КонецПроцедуры
Документ
"Расход"
Экранная форма документа выглядит следующим образом:
Модуль проведения:
Процедура ОбработкаПроведения()
Регистр.Расходы.Участник
= Участник;
Регистр.Расходы.Статья = Статья;
Регистр.Расходы.Сумма = -Сумма;
Регистр.Расходы.ДвижениеВыполнить();
Регистр.Кошельки.Кошелек = Кошелек;
Регистр.Кошельки.Сумма = Сумма;
Регистр.Кошельки.ДвижениеРасходВыполнить();
КонецПроцедуры
Документ
"Перевод"
Данный документ переводит средства из одного кошелька в другой.
Модуль проведения:
Процедура ОбработкаПроведения()
Регистр.Кошельки.Кошелек
= КошелекОткуда;
Регистр.Кошельки.Сумма = Сумма;
Регистр.Кошельки.ДвижениеРасходВыполнить();
Регистр.Кошельки.Кошелек = КошелекКуда;
Регистр.Кошельки.Сумма = Сумма;
Регистр.Кошельки.ДвижениеПриходВыполнить();
КонецПроцедуры
Отчет
"Остатки"
Экранная форма диалога
отчета выглядит следующим образом:
Модуль отчета:
Процедура Сформировать()
Запрос =
СоздатьОбъект("Запрос");
ТекстЗапроса
= "
|Кошелек = Регистр.Кошельки.Кошелек;
|Участник = Регистр.Кошельки.Кошелек.Участник;
|Сумма = Регистр.Кошельки.Сумма;
|Группировка Кошелек;
|Функция СуммаВКошельке = КонОст(Сумма);
|Условие(Кошелек в ВыбрКошелек);
|Условие(Участник в ВыбрУчастник);
|";
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
.......Возврат;
КонецЕсли;
Таб = СоздатьОбъект("Таблица");
Таб.ВывестиСекцию("Все<");
Пока Запрос.Группировка(1) = 1 Цикл
....... Таб.ВывестиСекцию("Кошелек");
КонецЦикла;
Таб.ВывестиСекцию("Все>");
Таб.Показать();
КонецПроцедуры
Пример работы отчета:
Отчет
"Доходы и расходы"
Экранная форма диалога
отчета выглядит следующим образом:
Сначала указывается
тип отчета: доходы или расходы. Затем выбирается период, за которые формируется
отчет. В отчете можно указать 1 или 2 группировки Участник и Статья в
произвольном порядке. Также можно указать отбор по одному участнику или
статье.
Модуль отчета см.
в конфигурации "Денежки".
Пример работы отчета
(отчет о доходах, включены две группировки):
Пример работы отчета
(отчет о расходах, включена только одна группировка Статьи):
Что
можно скачать
Скачать конфигурацию
"Денежки" (30К)
|