регістри накопичення
Звичайно, у вас виникне питання що таке «Регістр накопичення» і для чого він потрібен?
Справа в тому, що ми маємо довідники і документи, в документах є потрібна нам інформація для формування звітів (наприклад, залишків за певними складами) проте для отримання потрібних нам результатів потрібно буде проаналізувати всі документи, по обороту товарів. Добре якщо це все, лише один документ приходу і один документ витрат товарів. У разі якщо їх декілька завдання ускладнюється, якщо ж документів кілька десятків запрограмувати звіт буде дуже важко. Чи не краще зберігати дані про руху товарів в одній окремій структурі даних і при формуванні звіту всі дані вибирати тільки звідти? Для полегшення доступу до інформації, яка зберігається в багатьох документах, та й не тільки в документах були створені «регістри накопичення».
Звичайно, у вас виникне питання що таке «Регістр накопичення» і для чого він потрібен?
Справа в тому, що ми маємо довідники і документи, в документах є потрібна нам інформація для формування звітів (наприклад, залишків за певними складами) проте для отримання потрібних нам результатів потрібно буде проаналізувати всі документи, по обороту товарів. Добре якщо це все, лише один документ приходу і один документ витрат товарів. У разі якщо їх декілька завдання ускладнюється, якщо ж документів кілька десятків запрограмувати звіт буде дуже важко. Чи не краще зберігати дані про руху товарів в одній окремій структурі даних і при формуванні звіту всі дані вибирати тільки звідти? Для полегшення доступу до інформації, яка зберігається в багатьох документах, та й не тільки в документах були створені «регістри накопичення».
Регістр накопичення має певну структуру в якій і накопичуються дані. ці дані будуть зберігатися в регістрі у вигляді окремих записів.
Важливо відзначити що регістр накопичення не передбачає того щоб користувач міг його змінити. Регістр створений для того щоб дані в нього вносилися і модифікувалися виключно об'єктами конфігурації.
До поняття «регістр накопичення» мають відношення також поняття «вимір» і «ресурс».
Вимірами називають розрізи інформації, представлені в регістрі (в нашому випадку це може бути склад, куди прийняли товар і сам товар).
Числова інформація, що зберігається в регістрі, називається ресурсами.
Зміна стану регістру накопичення відбувається як правило під час проведення документа і полягає в тому, що в регістр додаються кілька записів з посиланням на документ який зробив зміни (документ буде реєстратором), «напрямок» приросту (прихід чи витрата) ну і звичайно значення вимірювань і ресурсів. Все це в комплексі називається рухом регістра.
Крім вищезгаданої інформації регістр може мати набір реквізитів, це додаткова інформація щодо руху регістра.
Давайте створимо реєстр, в якому буде фіксуватися інформація про рух наших дисків.
Відкриваємо в конфігураторі документ ПріхіднаНакладна.
Якщо ви уважно робили попередні уроки, то ви помітили що стала активною закладка «Руху», саме з нею ми і будемо працювати.
У верхньому віконечко вибираємо регістр накопичення «ЗалішкіДісків» і відзначаємо його галочкою, потім в нижній частині вікна нажимаем на кнопку «Конструктор рухів»
Ви побачите наступне вікно:
Конструктор рухів в «1С: Підприємство 8.1»
У табличці «Регістри» вказано регістр руху, якого ми будемо конструювати.
Рухи по регістрах можуть бути двох типів: Прихід і витрата.
У первинному варіанті в реквізитах документа вказані лише реквізити шапки документа, в разі якщо нам потрібно зробити руху, реквізити яких є в табличній частині, то вказуємо її у відповідному полі.
Після підготовки вказуємо в нижній табличній частині відповідність реквізитів документа - значенням відповідних вимірювань і ресурсів регістра. Для цього просто потрібно натиснути спочатку на порожньому полі в колонці «Вираз» а потім двічі клацнути на відповідному реквізиті документа. До речі, щоб допомогти розмістити реквізитів на відповідних вимогам регістру полях збоку з'являються маленькі червоні галочки. Коли багато реквізитів це дуже полегшує роботу.
Після натискання кнопки «ОК» бачимо що «Конструктор рухів» створив наступний код:
Процедура ОбработкаПроведенія (Відмова, Режим)
// Даній фрагмент побудованій конструктором.
// При повторному вікорістанні конструктора, внесені вручну Зміни будут Втрачені.