ДвиженияИГраницыПериода в 1С

Содержание[Убрать]

Рассмотрим параметр виртуальной таблицы Метод дополнения. Он имеет смысл только в том случае если параметр Периодичность отлична от Период. Значение ДвиженияИГраницыПериода позволяет получить запись на период начала и запись на период конца получаемых данных, если на эти периоды не было оборотов(если обороты были, то эти записи выведутся в любом случае). Рассмотрим поподробнее.

Дано:

Документы прихода и расхода

 Движения и границы периода. Дано 

Что будет если выбрать субконто по счету Товары без установки параметров

Запрос1

ВЫБРАТЬ
    Счет,
    Субконто1,
   СуммаНачальныйОстаток,
    СуммаОборотДт,
    СуммаОборотКт,
    СуммаКонечныйОстаток
ИЗ
    РегистрБухгалтерии.Управленческий.ОстаткиИОбороты(, , , , Счет = &Товары, , ) КАК УправленческийОстаткиИОбороты

Результат запроса 1

Движения и границы периода. Результат1 

Метод дополнения Движения

Сделаем такой же запрос, но укажем метод дополнения Движения, т.к. по умолчанию был ДвиженияИГраницыПериода

Запрос 2

РегистрБухгалтерии.Управленческий.ОстаткиИОбороты(, , ,Движения , Счет = &Товары, , ) КАК УправленческийОстаткиИОбороты

Результат запроса 2

Движения и границы периода. Результат2 

Как видим разницы никакой, т.к. ключевым параметром является периодичность

Это будет хорошо видно при Периодичности - День

Периодичность - День, МетодДополнения - Движения

Добавим в запрос Периодичность "День", МетодДополнения - "Движения" и выведем в выбираемые поля Период

Запрос 3

ВЫБРАТЬ
   Период,
  Счет,
  Субконто1,
  СуммаНачальныйОстаток,
  СуммаОборотДт,
  СуммаОборотКт,
  СуммаКонечныйОстаток
ИЗ
    РегистрБухгалтерии.Управленческий.ОстаткиИОбороты(, , День, Движения, Счет = &Товары, , ) КАК УправленческийОстаткиИОбороты
 

Результат запроса 3

Движения и границы периода. Результат3 

Метод дополнения - ДвиженияИГраницыПериода

Мы видим, что у нас вывелись разные сочетания Дата и Субконто1 т.е. Движения

Изменим метод дополнения и добавим порядок по полям Субконто1 и Период

Запрос 4

ВЫБРАТЬ
    Период КАК Период,
    УправленческийОстаткиИОбороты.Счет,
    Субконто1 КАК Субконто1,
    СуммаНачальныйОстаток,
    СуммаОборотДт,
    СуммаОборотКт,
    СуммаКонечныйОстаток
ИЗ
    РегистрБухгалтерии.Управленческий.ОстаткиИОбороты(, , День, ДвиженияИГраницыПериода, Счет = &Товары, , ) КАК УправленческийОстаткиИОбороты

УПОРЯДОЧИТЬ ПО
    Субконто1,
   Период
 

Результат запроса 4

Движения и границы периода. Результат4 

У нас добавились даты актуальных итогов 01-11-3999, т.е. последняя граница. Мы ведь указали, что нам нужны движения и границы периода, хотя сами периоды мы не указывали. Почему-то не добавилась первая граница на дату 01-01-001. 

Добавим даты периода

Давайте добавим параметры даты периода, в которых укажем текущий год

Запрос 5

 

РегистрБухгалтерии.Управленческий.ОстаткиИОбороты(&Дата1, &Дата2, День, ДвиженияИГраницыПериода, Счет = &Товары, , ) КАК УправленческийОстаткиИОбороты
   

Результат запроса 5

Движения и границы периода. Результат5 

Последняя граница изменилась с 01-11-3999 на 31-12-2017, но всё равно почему-то не выводится первая граница отдельно. Предположительно это происходит из-за того, что нет остатков на начало года.

Исправим "Дано"

Давайте проверим это, вводим приходную на 01.01.2016 12:00:00 с количеством 

Номенклатура Сумма
1 Big (капилярная) 100,00
2 Bosch KGS 3760 IE 40,00

 

И при повторном формировании запроса 5 получаем результат

Движения и границы периода. Результат5-2 

Добавились суммы на начало года для каждого субконто 1, т.е. предположение о том, что программа не выводит запись на начальную границу если нет данных подтвердилась.

 

Итак, метод дополнения ДвиженияИГраницыПериода работает только если периодичность отлична от Период, добавляет две строки и стоит по умолчанию. Если нужны обороты то нужно указывать "Движения" разницы в производительности не заметил, но не будет лишних строк на начало/конец периода. Стоит отметить, что сотрудники фирмы 1С рекомендуют её использовать только когда нужны сразу все 4 ресурса(Начальный остаток, Приход, Расход, Конечный остаток) в остальных случаях лучше использовать сочетания других виртуальных таблиц. Такая же виртуальная таблица есть и у регистра Накопления.