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