Есть регистр сведений и документ бюджет

В бюджете Подразделение, Статья, сумма
В общем, нужно чтобы когда я провожу документ если Подразделение и статья совпадают, то сумма суммируется.

Проблема в чем... Я запрос сделал, сумма суммируется если все сходится, но если это новая запись, то запрос ничего не находит и выборка выдает ошибка чтения значения, не могу понять как это сделать...

```1c
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | Бюджет.Дата КАК Дата,
    | Бюджет.Подразделение КАК Подразделение,
    | Бюджет.Статья КАК Статья,
    | Бюджет.Сумма КАК Сумма
    |ПОМЕСТИТЬ Данные
    |ИЗ
    | Документ.Бюджет КАК Бюджет
    |
    |ДЛЯ ИЗМЕНЕНИЯ
    | Документ.Бюджет
    |;
    |
    |////////////////////////////////////////////////////////////­////////////////////
    |ВЫБРАТЬ
    | План.Период КАК Период,
    | План.Подразделение КАК Подразделение,
    | План.Статья КАК Статья,
    | План.Сумма КАК Сумма
    |ИЗ
    | РегистрСведений.План КАК План,
    | Данные КАК Данные
    |ГДЕ
    | (План.Статья, План.Подразделение) В
    | (ВЫБРАТЬ РАЗЛИЧНЫЕ
    | Данные.Статья КАК Статья,
    | Данные.Подразделение КАК Подразделение
    | ИЗ
    | Данные КАК Данные)";

    РезультатЗапроса = Запрос.Выполнить();

    Выборка = РезультатЗапроса.Выбрать();

    Если Выборка.Количество()>0 Тогда
    Пока Выборка.Следующий() Цикл
    ЗаписьВРегистр = РегистрыСведений.План.СоздатьМенеджерЗаписи();
    ЗаписьВРегистр.Период=ТекущаяДата();

    ЗаписьВРегистр.Регистратор = ЭтотОбъект.Ссылка;
    ЗаписьВРегистр.Период = НачалоМесяца(ЭтотОбъект.Дата);
    ЗаписьВРегистр.Статья = ЭтотОбъект.Статья;
    ЗаписьВРегистр.Подразделение=ЭтотОбъект.Подразделение;
    ЗаписьВРегистр.Сумма=ЭтотОбъект.Сумма + Выборка.Сумма;
    ЗаписьВРегистр.Записать();

    КонецЦикла;
    Иначе
    ЗаписьВРегистр = РегистрыСведений.План.СоздатьМенеджерЗаписи();
    ЗаписьВРегистр.Период=ТекущаяДата();

    ЗаписьВРегистр.Регистратор = ЭтотОбъект.Ссылка;
    ЗаписьВРегистр.Период = НачалоМесяца(ЭтотОбъект.Дата);
    ЗаписьВРегистр.Статья = ЭтотОбъект.Статья;
    ЗаписьВРегистр.Подразделение=ЭтотОбъект.Подразделение;
    ЗаписьВРегистр.Сумма=ЭтотОбъект.Сумма;
    ЗаписьВРегистр.Записать();

    КонецЕсли;
```
---
Иначе проблему решил, способ наверное не правильный)

```1c
    Запрос = Новый Запрос;
    Запрос.Текст =

    "ВЫБРАТЬ
    | План.Период КАК Период,
    | План.Подразделение КАК Подразделение,
    | План.Статья КАК Статья,
    | План.Сумма КАК Сумма
    |ИЗ
    | РегистрСведений.План КАК План
    |ГДЕ
    | План.Подразделение = &Подразделение
    | И План.Статья = &Статья";

    Запрос.УстановитьПараметр("Подразделение", ЭтотОбъект.Подразделение);
    Запрос.УстановитьПараметр("Статья", ЭтотОбъект.Статья);

    РезультатЗапроса = Запрос.Выполнить();

    Выборка = РезультатЗапроса.Выбрать();

    Пока Выборка.Следующий() Цикл

    ЗаписьВРегистр = РегистрыСведений.План.СоздатьМенеджерЗаписи();
    ЗаписьВРегистр.Период=ТекущаяДата();

    ЗаписьВРегистр.Регистратор = ЭтотОбъект.Ссылка;
    ЗаписьВРегистр.Период = НачалоМесяца(ЭтотОбъект.Дата);
    ЗаписьВРегистр.Статья = ЭтотОбъект.Статья;
    ЗаписьВРегистр.Подразделение=ЭтотОбъект.Подразделение;
    ЗаписьВРегистр.Сумма=ЭтотОбъект.Сумма + Выборка.Сумма;
    ЗаписьВРегистр.Записать();
    Возврат;
    КонецЦикла;

    ЗаписьВРегистр = РегистрыСведений.План.СоздатьМенеджерЗаписи();
    ЗаписьВРегистр.Период=ТекущаяДата();

    ЗаписьВРегистр.Регистратор = ЭтотОбъект.Ссылка;
    ЗаписьВРегистр.Период = НачалоМесяца(ЭтотОбъект.Дата);
    ЗаписьВРегистр.Статья = ЭтотОбъект.Статья;
    ЗаписьВРегистр.Подразделение=ЭтотОбъект.Подразделение;
    ЗаписьВРегистр.Сумма=ЭтотОбъект.Сумма;
    ЗаписьВРегистр.Записать();
```
---
вы данные пытаетесь брать из документа, который еще в базу не записан

```1c
    |ИЗ
    | Документ.Бюджет КАК Бюджет
```

вместо этого берите данные из ДокументОбъект,а не из ссылки
---
запретить проведение документа без записи
предварительно записать
потом проводить, тогда все будет работать как запланировано

пока писал, в (2) опередили ))
---
Иначе проблему решил, способ наверное не правильный)

```1c
    Запрос = Новый Запрос;
    Запрос.Текст =

    "ВЫБРАТЬ
    | План.Период КАК Период,
    | План.Подразделение КАК Подразделение,
    | План.Статья КАК Статья,
    | План.Сумма КАК Сумма
    |ИЗ
    | РегистрСведений.План КАК План
    |ГДЕ
    | План.Подразделение = &Подразделение
    | И План.Статья = &Статья";

    Запрос.УстановитьПараметр("Подразделение", ЭтотОбъект.Подразделение);
    Запрос.УстановитьПараметр("Статья", ЭтотОбъект.Статья);

    РезультатЗапроса = Запрос.Выполнить();

    Выборка = РезультатЗапроса.Выбрать();

    Пока Выборка.Следующий() Цикл

    ЗаписьВРегистр = РегистрыСведений.План.СоздатьМенеджерЗаписи();
    ЗаписьВРегистр.Период=ТекущаяДата();

    ЗаписьВРегистр.Регистратор = ЭтотОбъект.Ссылка;
    ЗаписьВРегистр.Период = НачалоМесяца(ЭтотОбъект.Дата);
    ЗаписьВРегистр.Статья = ЭтотОбъект.Статья;
    ЗаписьВРегистр.Подразделение=ЭтотОбъект.Подразделение;
    ЗаписьВРегистр.Сумма=ЭтотОбъект.Сумма + Выборка.Сумма;
    ЗаписьВРегистр.Записать();
    Возврат;
    КонецЦикла;

    ЗаписьВРегистр = РегистрыСведений.План.СоздатьМенеджерЗаписи();
    ЗаписьВРегистр.Период=ТекущаяДата();

    ЗаписьВРегистр.Регистратор = ЭтотОбъект.Ссылка;
    ЗаписьВРегистр.Период = НачалоМесяца(ЭтотОбъект.Дата);
    ЗаписьВРегистр.Статья = ЭтотОбъект.Статья;
    ЗаписьВРегистр.Подразделение=ЭтотОбъект.Подразделение;
    ЗаписьВРегистр.Сумма=ЭтотОбъект.Сумма;
    ЗаписьВРегистр.Записать();
```