Щоденні залишки

СКД: Залишки на кожен день

У даній статті описується спосіб отримати залишки на кожен день в системі компонування даних (СКД) 1С: Підприємства.

Напевно, кожен розробник рано чи пізно стикається з проблемою отримати щоденні залишки. У найпростішому випадку, коли залишки за регістром накопичення потрібні тільки на ті періоди, коли по ньому були руху, завдання вирішується зазначенням періодичності для параметра віртуальної таблиці "Залишки і обороти" регістру накопичення:

Щоденні залишки

будівник звіту

Щоб зробити такий звіт за допомогою будівника звітів потрібно було в підсумках для поля "Період" вказати висновок періодами із заданою періодичністю (в нашому випадку "ДЕНЬ"):

Щоденні залишки

Система компоновки даних

У СКД подібного можна досягти, вказавши для поля роль "Залишки":

Щоденні залишки

Таким чином, СКД сама буде підтягувати останнє значення ресурсу на проміжні періоди до наступної зміни. Приблизний результат буде виглядати так:

Щоденні залишки

Залишки на кожен день періоду (навіть якщо не було рухів)

Розглянемо більш складний варіант:

Необхідно отримати залишки по кількості і вартості товару на кожен день місяця, навіть якщо в цей день не було рухів. Також на кожен день потрібно вивести вартість товару за вказаною типу цін, перераховану в рублі за курсом на день виведення.

Простий налаштуванням ролей для полів тут не обійтися, тому що в тому випадку СКД просто простягає значення ресурсу до наступного зміни, та й то, тільки по тих днів, на які були руху по регістру. Додаткова складність полягає в тому, що ще потрібно отримувати зріз останніх за ціною і курсу валюти на дату, яка обчислюється безпосередньо в запиті.

У СКД таке завдання можна вирішити зв'язком наборів даних:

  • Перший набір даних (запит) у нас буде формувати список днів, на які нам потрібно отримати залишки. Ці дні будуть передаватися в параметри віртуальних таблиць другого набору даних для отримання залишків на дату і зрізу останніх. Запит, що формує таблицю дат, тут не наводжу, при бажанні можете завантажити налаштування звіту і подивитися.
  • Другий набір даних (запит) буде отримувати залишок за кількістю, ціни і перераховувати їх за потрібною курсу.

Щоденні залишки

При зв'язку наборів даних важливо вказати Параметр:

У налаштуванні виведення вказуємо, що нам потрібен висновок в таблицю; в рядках: Склад, Номенклатура; в колонках: Період; Кількість, Вартість БО і Вартість за типом цін - ресурси.

Отримуємо такий результат:

Щоденні залишки

PS: Можливо це не найкращий варіант по продуктивності, але він працює, а це головне.

Приклад виводить залишки по партіях БО, створювався в конфігурації УПП ред. 1.2

Завантажити приклад налаштування звіту для СКД, який виводить залишки по днях: Файл: OstatkiPoDnyam.rar

Залишки на кожен день періоду одним запитом (навіть якщо не було рухів)

Де "Дні" - таблиця дат за період

Схожі статті