Отчёт за период с остатками на начало и конец периода

#1
Добрый день.
Можно ли решить такую задачу в вашей программе: отобразить в отчёте результат на начало и на конец дня?

Пример из учёта склада.
Движение по товару:
Остаток на начало дня: 250;
Операции даты:
- приход: 33;
- расход: 51;
Остаток на конец: 232.

Если возможно, то как это реализовать?
 
Последнее редактирование модератором:

Vladimir

Администратор
Команда форума
#2
Добрый день, Abrorbek. Да, можно.
Для изучения механизма информации по остаткам за период возьму готовый проект "Простой учёт для торговли" на сайте http://runamarket.ru/trade/simple-trade.html
Сайт runamarket.ru с демо-проектами для скачивания.png
Чтобы удобнее работать с данными, можно изменить даты на ближайшие (так как проект создан ещё в 2013 году):
- в форме "Поступления";
- даты выставления в "Счета";
- даты закрытия в "Счета" (именно они учитываются в расчёте).

Необходимый отчёт находится в форме итогов "Движение за период" группы "Товары".
Форма движения товара за период.png
Переходим в конструктор для изучения данной формы.
Конструктор формы движения за период.png
Для свойства "Результат" формы установлено значение "за период".
На вкладке "Результирующие поля" создано 4 поля: На начало, Поступило, Отпущено, На конец.
Для поля "На начало" свойство "Расчёт - за период" установлено значение "до начала периода".
Свойство результирующего поля Расчет за период.png
Данное свойство было активировано установкой свойства формы "Результат" ("за период"). В противном случае оно недоступно.
Значение "до начала периода" означает, что данные из полей объектов, которые будут добавлены в полях расчётов, будут выбираться только до даты начала периода формы итогов (поле для определения даты задаётся в свойстве "Условие по дате" расчётного поля).
Для результирующего поля "На начало" добавлено два поля расчёта из объектов "Состав поступления" и "Состав счёта".
Данные из объекта состава поступлений.png Данные из объекта состава счёта.png
Как уже говорилось, для свойства "Условие по дате" заданы поля даты из объектов, по которым будет определяться, какие записи будут учитываться в расчётах.
В данном проекте для сбора информации из счёта также используется условие по значению состояния счёта.
Количество поступлений товара - плюсуется к результату, количество товара в счёте - минусуется из результата.

В следующем расчётном поле "Поступило" для свойства "Расчёт - за период" установлено значение "за период". Это означает, что данные из расчётных полей будут выбираться, только если они попадают в диапазон от даты начала и до даты окончания периода формы итогов.
Единственное поле расчёта собирает данные из объекта "Состав поступления".
Данные из объекта состава поступлений для периода.png
Это поле собирает информацию по количеству поступлений товара за установленный период формы.

Аналогично предыдущему полю для результирующего поля "Отпущено", из объекта "Состав счёта", собирается информация по количеству отпущенного товара за период.

Для последнего результирующего поля "На конец", для свойства "Расчёт - за период" установлено значение "до конца периода". Это означает, что данные из полей объектов, которые будут добавлены в полях расчётов, будут выбираться только до даты окончания периода формы итогов. Т.е. в расчёты попадёт информация как до начала периода, так и за весь период.
Для результирующего поля "На конец", аналогично полю "На начало", добавлены идентичные поля расчёта из объектов "Состав поступления" и "Состав счёта".

Результат работы формы итогов с расчётом данных по движению товара за период:
Форма итогов с расчётом данных за период.png
Задавая значения для периода формы, по нажатию кнопки "Применить" получаем информацию за требуемый период.
 
Последнее редактирование модератором: