Оборотний регістр накопичення
У цій темі ви дізнаєтеся про деякі важливі принципи вибору вимірювань і реквізитів регістрів накопичення. Створимо оборот-ний регістр накопичення і додамо в один з наших документів руху ще й з цього регістру.
Необхідність створення ще одного регістра
Продовжимо розглядати роботу нашого документа ОказаніеУслугі. До сих пір ми створювали в регістрах накопичення руху тільки для рядків документа, які містять матеріали. Послуги, що містяться в документі, ми ніяк не враховували.
Справа в тому, що при обліку послуг важливі зовсім інші кри-терії, ніж при обліку матеріалів. Перш за все, безглуздо го-ворить про те, скільки послуг було і скільки їх залишилося, важлива тільки сума і кількість послуг, які були надані за певний проміжок часу. Крім цього цікаві такі моменти:
• які саме послуги були надані (щоб скласти рей-тинг послуг);
• яким саме клієнту надавалися послуги (щоб наданих ставити йому знижку від обсягу сплачених раніше послуг, на-приклад);
• який майстер надавав послуги (щоб нарахувати йому за-заробітну плату).
Очевидно, що існуючі регістри накопичення здійснений-но не підходять для вирішення таких завдань. Тому створимо ще одне «сховище» даних, яке буде використовуватися в нашій програмі, - оборотний регістр накопичення Продажі.
Створення оборотного регістра накопичення Продажі
Коли ми створювали регістри ОстаткіМатеріалов і СтоімостьМатеріалов. ми спеціально не зупинялися на двох ви-дах регістрів накопичення, які існують в системі 1С: Підприємство.
Регістри накопичення можуть бути регістрами залишків і регістрами оборотів.
Існуючі в нашій конфігурації регістри Ос-таткіМатеріалов і СтоімостьМатеріалов є регістра-ми залишків. При створенні звіту Матеріали в конструкторі запиту ми бачили, що для таких регістрів система створює три віртуальні таблиці: таблиця залишків, оборотів і со-сукупними таблиця залишків і оборотів.
Оборотний регістр накопичення дуже схожий на знайомий нам регістр залишків, для якого поняття «залишок» не має смислі-ла. Оборотний регістр накопичує тільки обороти, залишки йому без-різні. Тому єдиною віртуальною таблицею, яку створюватиме система для такого регістра, буде таблиця оборотів.
В іншому оборотний регістр нічим не відрізняється від регістра залишків.
Слід сказати про одну особливість конструювання регис-тров накопичення, безпосередньо пов'язаної з можливістю отримання залишків.
При створенні оборотного регістра накопичення немає особливої складності у визначенні того, які саме параметри повинні бути вимірами регістра - ми можемо призначити в якості його вимірів будь-які потрібні нам параметри.
Зовсім інша ситуація в разі регістра накопичення, підтримай-вающего накопичення залишків. Для нього вибір вимірювань повинен виконуватися виходячи з того, що рухи регістра можуть бути осу-ществляя в дві сторони: надходження та витрачання. Таким чином, в качес-тве вимірювань потрібно вибирати ті параметри, за якими руху точно будуть здійснюватися як в одну, так і в іншу сторону.
Наприклад, якщо ведеться облік матеріалів в розрізах номенклатури і складу, очевидно, що і номенклатура, і склад можуть бути изме-реніямі, оскільки як прихід, так і витрата матеріалів завжди будуть здійснюватися із зазначенням конкретної номенклатури і конкретно-го складу. Якщо ж в цій ситуації з'являється бажання відобразити облік матеріалів ще й в розрізі постачальника, то тут вже треба виходити з конкретної схеми обліку, прийнятої на підприємстві.
Швидше за все, під час вступу матеріалів постачальник буде вказано, а ось при витраті матеріалів, з великою часткою ймовірності, постачальник вказуватися не буде, так як в більшості випадків це абсолютно зайва інформація. Значить, постачальника слід доба-вить як реквізит регістра накопичення.
Якщо ж при витраті матеріалів постачальник буде вказуватися напевно, має сенс додати постачальника в вимірювання регістра.
Іншими словами, по кожному з вимірів регістра накопичення залишків зміна ресурсів обов'язково повинно здійснюватися в обидві сторони: надходження та витрачання.
Для реквізитів регістра цей принцип не важливий. За реквізит-там регістра ресурси можуть тільки приходоваться або тільки рас-ходоваться.
Порушення цього принципу побудови регістрів накопичення буде вести до непродуктивної використанню ресурсів сис-теми і як наслідок уповільнення роботи і падіння виробляй-ності.
Тепер, коли ми знаємо «практично всі» про регістрах накопичення, відкриємо конфигуратор і створимо новий об'єкт конфігурації Регістр накопичення. Назвемо його Продажі і визначимо вид ре-Гістра - Обороти. (Рис.1)
Мал. 1 Створення Регістру накопичення - Продажі
На закладці Дані створимо вимірювання регістра:
У регістра буде три ресурсу:
Мал. 2. Вимірювання і Ресурси
Відкриємо вікно редагування об'єкта конфігурації Доку-мент ОказаніеУслугі і на закладці Руху вкажемо, що цей документ буде створювати руху по регістру Продажі. (Рис. 3)
Мал. 3. Створення руху по регістру
Запустимо 1С: Підприємство в режимі налагодження і відкриємо фор-ми списку регістрів накопичення Продажі і Залишки матеріалів. Зверніть увагу, що форми практично однакові, за виключним видом-ням складу вимірювань і ресурсів. (Рис.4)
Рис.4. Фор-ми списку регістрів накопичення Продажі і Залишки матеріалів