Що таке та - точка актуальності підсумків

Що таке ТА - точка актуальності підсумків

Точка актуальності (ТА) - одне з основних понять компоненти "Оперативний облік", і від того, наскільки добре ви розумієте, що це таке, залежить якість ваших програм. А це і швидкість роботи, і достовірність видаваної інформації, і передбачуваність поведінки програми.

Для початку ознайомимося з визначеннями, поданими фірмою 1С:

"Оперативний облік" Керівництво користувача.

Дата і час, по яке включно обробляються проведені документи, називається "точкою актуальності підсумків". У загальному випадку, в якості точки актуальності підсумків береться дата і час самого "старшого" документа.

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

Так воно і є насправді. Тільки ось починаючому програмісту і вже тим більше користувачеві, я думаю, з цього формулювання мало що зрозуміло. Якесь загальне уявлення буде, але на питання "Що таке ТА?" вони відповісти не зможуть.

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

З іншого боку тут є і дуже корисна інформація: ТА - це дата і час. Зауважте, це не тільки дата, або не тільки час, а дата і час разом. Про це треба пам'ятати завжди.

"Опис вбудованої мови" Частина 1.

Під терміном "залишок" ресурсу для регістра залишків слід розуміти числове значення, яке має ресурс на якийсь момент часу. Саме тут і проявляється поняття точки актуальності.

ТА - це той момент часу (дата + час), на який всі необоротні регістри містять поточні значення своїх ресурсів. Іншими словами, якщо просто запитати у регістра залишків значення будь-якого ресурсу, то він видасть його саме на момент ТА.

Якщо Вам потрібна значення ресурсу на будь-якої звітний період часу, то треба або зрушити в минуле ТА, або за допомогою засобів вбудованого мови слід запустити "тимчасовий розрахунок" регістру. При "тимчасовому розрахунку" регістра залишків можна задати момент часу, на який необхідно отримати значення ресурсу. У цьому випадку значення ресурсу розраховується, що вимагає трохи більшого часу процесора, ніж якщо отримувати ресурс на ТА.

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

У цьому описі теж все вірно (ну хіба що проміжні значення можна зберігати не тільки на початок місяця). Стає зрозумілим, що:

  • ТА має відношення до отримання залишків (а не оборотів) за ресурсами регістра;
  • на ТА регістри містять поточні значення залишків по ресурсам;
  • на ТА залишки виходять швидше, ніж при отриманні на якесь заднє число;
  • для отримання залишків на заднє число необхідно робити "тимчасовий розрахунок";
  • "Тимчасовий розрахунок" вимагає додаткових витрат процесорного часу;
  • "Тимчасовий розрахунок" на момент часу на початку місяця виконується швидше "тимчасового розрахунку" на момент часу в кінці місяця.

Тепер спробуємо сформулювати визначення ТА, яким було б зручно користуватися програмісту 1С:

ТА - це момент часу, на який програма 1С зберігає підсумки по регістрах, і ці підсумки можна отримати без застосування тимчасового розрахунку.

або більш розгорнуто.

ТА - це момент часу (позиція на осі часу), на кінець якого програма 1С зберігає підсумки по ресурсам регістрів, і ці підсумки можна отримати без застосування тимчасового розрахунку.

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

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

Точку актуальності можна встановити:

  • на довільний документ - з журналу через пункт контекстного меню "Встановити ТА на документ";
  • на початок дня через "Управління оперативними підсумками". В цьому випадку ТА може бути не прив'язана до документа;
  • на початок / кінець дати, документа або позиції документа - засобами мови програмування.

Якщо ТА "знаходиться" на документі, який виконує руху по регістрах, то в підсумках регістрів будуть враховуватися руху цього документа. Ось чому у визначенні ТА було сказано "на кінець якого". Якщо ТА не прив'язана до документа або документ не "рухає" регістри, тоді не важливо - "на початок" або "на кінець" цього моменту часу підтримуються підсумки.

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

Що таке та - точка актуальності підсумків

Якщо виконується розрахунок залишків "на початок" документа, то руху, зроблені документом, не враховуються при розрахунку залишків.

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

Схожі статті