Как создать документы для поступления, перемещения и расхода денежных средств?

Создание документов для поступления, перемещения и расхода денежных средств в 1С (на примере чистой конфигурации или проекта типа "Семейный бюджет") включает определение объектов метаданных, настройку реквизитов, движений и форм. Ниже пошагово описано, как реализовать эти документы в конфигураторе:

1. Документ "ПоступлениеДенежныхСредств"

Шаг 1. Создание документа

  • В конфигураторе → Документы → Создать → Название: ПоступлениеДенежныхСредств.

  • Установите:

    • Нумерация: Авто.

    • Записывает движение: Да.

    • Использовать форму: Да.

Шаг 2. Добавление реквизитов

  • Дата (автоматически).

  • Сумма (Тип: Число, точность 2).

  • Счет (Тип: Справочник.Счета).

  • Источник (Тип: Справочник.Контрагенты или строка, если физ.лицо).

Шаг 3. Движения

Создайте регистр накопления ДвиженияПоСчетам, если ещё не создан.

  • В модуле объекта документа:
Процедура ОбработкаПроведения(Отказ, РежимПроведения)
Движение = Движения.ДвиженияПоСчетам.Добавить();
Движение.Период = Дата;
Движение.Счет = Счет;
Движение.Приход = Сумма;
Движение.Расход = 0;
КонецПроцедуры

2. Документ "РасходДенежныхСредств"

Шаг 1. Создание

  • Название: РасходДенежныхСредств.

Шаг 2. Реквизиты

  • Сумма (Тип: Число, точность 2).

  • Счет (Тип: Справочник.Счета).

  • Получатель (Справочник.Контрагенты или строка).

Шаг 3. Движения

Процедура ОбработкаПроведения(Отказ, РежимПроведения)
Движение = Движения.ДвиженияПоСчетам.Добавить();
Движение.Период = Дата;
Движение.Счет = Счет;
Движение.Приход = 0;
Движение.Расход = Сумма;
КонецПроцедуры

3. Документ "ПеремещениеДенежныхСредств"

Шаг 1. Создание

  • Название: ПеремещениеДенежныхСредств.

Шаг 2. Реквизиты

  • СчетОтправитель (Справочник.Счета).

  • СчетПолучатель (Справочник.Счета).

  • Сумма (Число, точность 2).

Шаг 3. Движения

Процедура ОбработкаПроведения(Отказ, РежимПроведения)
ДвижениеРасход = Движения.ДвиженияПоСчетам.Добавить();
ДвижениеРасход.Период = Дата;
ДвижениеРасход.Счет = СчетОтправитель;
ДвижениеРасход.Приход = 0;
ДвижениеРасход.Расход = Сумма;
ДвижениеПриход = Движения.ДвиженияПоСчетам.Добавить();
ДвижениеПриход.Период = Дата;
ДвижениеПриход.Счет = СчетПолучатель;
ДвижениеПриход.Приход = Сумма;
ДвижениеПриход.Расход = 0;
КонецПроцедуры

### **4\. Настройка форм**

#### **Общая форма документа**

- В модуле формы добавьте обработку нажатия на кнопку "Провести":      
```python
Процедура ПровестиДокумент(Команда)
Попытка
ЭтотОбъект.Провести();
Сообщить("Документ проведён");
Исключение
Сообщить("Ошибка проведения: " + ОписаниеОшибки());
КонецПопытки;
КонецПроцедуры

Элементы формы:

  • Поля ввода: Дата, Счет, Сумма, Контрагент.

  • Кнопки: Провести, Записать и закрыть.

5. Проверка и тестирование

  1. Запустите в режиме предприятия.

  2. Откройте каждый документ, создайте несколько записей.

  3. Убедитесь, что проводки создаются в регистре ДвиженияПоСчетам.

  4. Проверьте, что остатки формируются корректно (через отчёт или запрос).

6. Возможные улучшения

  • Добавить проверку остатка перед расходом.

  • Добавить валюту и конвертацию при необходимости.

  • Связать документы с планом бюджета (регистр расчёта).

  • Реализовать механизм отмены проведения с удалением движений.

Таким образом, три документа формируют универсальную систему движения денежных средств: поступления, расходы и внутренние перемещения. Всё это регистрируется через движения в одном или нескольких регистрах, что позволяет в дальнейшем легко формировать отчёты и анализировать финансы.