Что такое ТА - точка актуальности итогов

25.02.16

Разработка - Математика и алгоритмы

Статья посвящена точке актуальности итогов - одному из важнейших понятий компоненты "Оперативный учет".

Немного теории

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

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

  1. "Оперативный учет" Руководство пользователя.

    Дата и время, по которое включительно обрабатываются проведенные документы, называется "точкой актуальности итогов". В общем случае, в качестве точки актуальности итогов берется дата и время самого "старшего" документа.

    Режим "Управление итогами" позволяет "вручную" сдвигать точку актуальности итогов во времени как вперед, так и назад, при этом производится пересчет итогов. Проведенные документы, оказавшиеся после точки актуальности итогов, при пересчете итогов не учитываются.

    Так оно и есть на самом деле. Только вот начинающему программисту и уж тем более пользователю, я думаю, из этой формулировки мало что понятно. Какое-то общее представление будет, но на вопрос "Что такое ТА?" они ответить не сумеют.

    В этом определении не понятно, что скрывается за словом "обрабатываются", о какой обработке проведенных документов идет речь.

    С другой стороны здесь есть и очень полезная информация: ТА - это дата и время. Заметьте, это не только дата, или не только время, а дата и время вместе. Об этом надо помнить всегда.

  2. "Описание встроенного языка" Часть 1.

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

    ТА - это тот момент времени (дата+время), на который все необоротные регистры содержат текущие значения своих ресурсов. Другими словами, если просто запросить у регистра остатков значение какого-либо ресурса, то он выдаст его именно на момент ТА.

    Если необходимо узнать значение ресурса на какой-либо прошедший момент времени, то надо либо сдвинуть в прошлое ТА, либо при помощи средств встроенного языка следует запустить "временный расчет" регистра. При "временном расчете" регистра остатков можно задать момент времени, на который необходимо получить значение ресурса. В этом случае значение ресурса рассчитывается, что требует несколько большего времени процессора, чем если получать ресурс на ТА.

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

    В этом описании тоже все верно (ну разве что промежуточные значения можно сохранять не только на начало месяца). Становится понятным, что:

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

Что же такое ТА?

Теперь попробуем сформулировать определение ТА, которым было бы удобно пользоваться программисту 1С:

ТА - это момент времени, на который программа 1С хранит итоги по регистрам, и эти итоги можно получить без применения временного расчета.  

... или более развернуто ...

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

На любой момент времени, находящийся до ТА, можно получить итоги по ресурсам регистров, предварительно сделав временный расчет.

На любой момент времени, находящийся после ТА, итоги не рассчитаны, к ним нельзя обратиться.

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

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

Если ТА "находится" на документе, который выполняет движения по регистрам, то в итогах регистров будут учитываться движения этого документа. Вот почему в определении ТА было сказано "на конец которого". Если ТА не привязана к документу или документ не "двигает" регистры, тогда не важно - "на начало" или "на конец" этого момента времени поддерживаются итоги.

Чтобы все встало на свои места, давайте определимся с понятиями расчета остатков "на начало" и "на конец" применительно к проведению документов оперативного учета. Документ имеет некоторую "протяженность", представленную движениями регистров:

Получение остатков на начало и на конец документа

Если выполняется расчет остатков "на начало" документа, то движения, сделанные документом, не учитываются при расчете остатков.

При расчете остатков "на конец" документа, движения этого документа учитываются в остатках. Если документ не выполняет движения по регистрам, остатки "на начало" и "на конец" совпадают.


Практическое занятие

Теперь, после теоретической подготовки, предлагаю Вам самостоятельно проверить, что в момент проведения документа, находящегося на ТА, в регистрах хранятся остатки, учитывающие движения этого документа.

Для эксперимента возьмите демонстрационную базу "1С: Торговля и Склад": во-первых, в ней мало документов, а во-вторых, ничего страшного не будет, если при тестировании Вы ее испортите.

Выберите документ, на котором будем проводить испытания, например, "Заявка покупателя", и внесите изменения в модуль проведения:

  1. Закомментируйте очистку движений регистров в процедуре ПроведениеПоРегистрам. Это приведет к тому, что уже существующие движения по регистрам не будут удаляться при проведении документа.

    Отключение очистки движений по регистрам

  2. После участка программы, проверяющего актуальность итогов, добавьте следующий фрагмент:

    Выгрузка итогов в ТЗ

    Итоги по регистру "Заявки" будут выгружаться в таблицу значений, и на экран будет выводиться приглашение выбрать строку из этой таблицы.

    Примечание: никогда не делайте такого в рабочих версиях программ.

Вот и все доработки. Запускайте программу и тестируйте. Мои результаты приведены ниже. Я сделал заявку на 1 пару кирзовых сапог:

  1. Проведение №1 - проведение непроведенного документа

    Результат после первого проведения

  2. Проведение №2 - проведение проведенного документа

    Результат после второго проведения

  3. Проведение №3 - проведение проведенного документа

    Результат после третьего проведения


На этом статья, посвященная ТА, завершена.

См. также

Загрузка и выгрузка в Excel Математика и алгоритмы Программист Платформа 1С v7.7 Платформа 1С v8.3 Бесплатно (free)

Статья посвящена распространённому вопросу - как сохранить несколько таблиц (отчетов) в формате MXL, с которым работает 1С, на отдельные листы одного Excel файла. Освещается простой алгоритм решения проблемы штатными средствами, без использования внешних модулей и библиотек (не относящихся к 1С и Excel).

23.11.2015    19226    etmarket    14    

21

Разработка внешних компонент Математика и алгоритмы Программист Платформа 1С v7.7 Платформа 1С v8.3 Бесплатно (free)

Динамическая компиляция класса обертки для использования .Net событий в 1С через ДобавитьОбработчик или ОбработкаВнешнегоСобытия, а так же генерация модулей на C# и 1С для подключения к событиям. Использование DynamicMethod и ILGenerator. Представлены примеры для использовании событий System.IO.FileSystemWatcher (Ожидает уведомления файловой системы об изменениях и инициирует события при изменениях каталога или файла в каталоге.) и SerialPort (обработка сканера штрих кода подключенного к COM порту). Обертка позволяет использовать классы .Net только на языке 1С. Реализация 1C Messenger описанного здесь http://infostart.ru/public/434771/

12.11.2015    51795    Serginio    36    

58

Математика и алгоритмы Программист Платформа 1С v7.7 Платформа 1С v8.3 Абонемент ($m)

Статья посвящена исследованию следующего вопроса: необходимо сравнить 2 наименования справочников с целью вычисления их степени сходства. По задумке, степень сходства должна выражаться в процентах.

1 стартмани

25.02.2015    25046    etmarket    46    

18

Математика и алгоритмы Программист Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Часто при приеме на работу встречается задача про сгибание листка

1 стартмани

26.02.2013    19776    11    Sbelyi78    38    

9

Математика и алгоритмы Системный администратор Программист Бухгалтер Оперативный учет 7.7 Бухгалтерский учет 7.7 Расчет 7.7 Конфигурации 1cv7 Россия Абонемент ($m)

Универсальная печать таблицы значений, которую не стыдно прикрутить к рабочей базе данных. Группировка данных, подсчет итогов, составление диаграмм, выгрузка в быстрый доступ к исходной ТЗ.

1 стартмани

23.05.2012    14893    66    McSeem    3    

8

Математика и алгоритмы Программист Платформа 1С v7.7 Конфигурации 1cv7 Россия Абонемент ($m)

Алгоритм получения значения тригонометрических функций путем разложения их в ряд Тейлора

1 стартмани

04.03.2012    8757    4    nysysimara    10    

5
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. support 4453 04.05.07 11:26 Сейчас в теме
2. Donat 08.05.07 11:42 Сейчас в теме
Начинающим будет очень полезно!!!
+5
3. logarifm 1122 26.06.07 11:05 Сейчас в теме
4. Abadonna 3967 29.06.07 12:04 Сейчас в теме
>в качестве точки актуальности итогов берется дата и время самого "старшего" документа
Уж скорее самого "младшего" - чем позже родился, тем "моложе"
5. viacht 12 27.09.07 08:41 Сейчас в теме
6. hogik 443 20.01.08 04:39 Сейчас в теме
Очень хорошая статья однозначно ставлю “плюс”. Однако самому понятию ТА ставлю “минус”. Мне не встречалось ни одной статьи про это понятие, где бы автор задался вопросом – а зачем она (точка актуальности) вообще нужна? Зачем нужен “временный расчет”? Какое отношение к реальной жизни (документообороту) имеет понятие “ось времени” и “последовательность документов”? А что происходит с остатками, когда документ проводится задним числом? А почему при проведении документ используются остатки на дату документа, а не остатки “на реальных полках”? Почему необходимо “открывать период” и “переносить итоги” да еще и в монопольном режиме? Почему пользователи “1С:Предприятие (Оперативный учёт)” постоянно “мучаются” с остатками, перепроводят документы, восстанавливают последовательности и задаются вопросом – как свернуть базу данных, чтобы всё это делалось в приемлемые сроки? Т.е. вопросов возникает масса. И у меня на это ответ один – точка актуальности (и всё что к ней “примыкает”) не имеет ничего общего с реальной жизнью (оперативным учетом) и является неизбежностью, возникшей в результате не продуманной схемы базы данных в части регистров. И странного желания разработчиков 1Са размещать документы на “оси времени”. Но другие решения существуют…
MrFlanker; +1 Ответить
7. int3 20.01.08 11:45 Сейчас в теме
8. hogik 443 20.01.08 14:29 Сейчас в теме
(7) (int3)
Я не понял – что это означает?
9. int3 20.01.08 14:56 Сейчас в теме
(8) т.е. не pit?
ну тогда поведай про "другие решения существуют"
а то pit с Т1С стойко скрывает свои методы борьбы с последовательностями :)
10. poppy 20.01.08 15:41 Сейчас в теме
(6,9)
Имхо здесь произошла подмена понятий. ТА и ГП - это разные сущности, имеющие разные цели и задачи.
12. hogik 443 20.01.08 16:01 Сейчас в теме
(10) (poppy)
Извините меня, пожалуйста. Тупой я стал с годами. Но я не понял Вашей фразы. Если у Вас есть свободное время, проясните, пожалуйста, это для меня… Кто и чего подменяет в понятиях?
13. poppy 20.01.08 17:11 Сейчас в теме
(12) Попробую пояснить.

в (6) ты задаешь риторические вопросы, которые касаются способа хранения данных (итогов) платформой от 1С:
> а зачем она (точка актуальности) вообще нужна?
> Зачем нужен “временный расчет”?

Потом ты переходишь к другому механизму - ГП (вот здесь и произошла подмена понятий), который не имеет отношения к способу хранения данных (итогов):
> Какое отношение к реальной жизни (документообороту) имеет понятие “ось времени”
> и “последовательность документов”?
> Почему пользователи “1С:Предприятие (Оперативный учёт)” постоянно “мучаются” с
> остатками, перепроводят документы, восстанавливают последовательности

Далее делаешь вывод, то ТА = плохая,потому что пользователи квазимучаются с ГП.

В своих постах (6 и 11) ты пишешь об остатках товара. Из контекста однозначно понятно, что речь идет именно о количественных остатках (поправь меня, если ты имеешь в виду что-то другое).
В (11) ты пишешь, что "У меня нет методов борьбы с последовательностями. У меня в системе их, просто, вообще не существует.".
Для задачи, решение которой ты описал в (11) последовательность документов и ГП просто не нужны. Они решают другую задачу, решение которой у тебя не описано. Поэтому твой вывод, что ТА = плохая, потому-что ГП мне не нужна, более чем страннен.

Эта дискуссия мне напомнила рекламу любого растительного масла: "Наше растительное масло самое лучшее, потому-что в нем нет холестирина". Странно, не правда ли? Ведь, масло с холестирином = нерастительное масло.
14. int3 20.01.08 17:21 Сейчас в теме
(10) Это так, но hogik же косвенно обещал, что и от ГП можно будет избавиться. Вот, решил уточнить :)
(11) Ну, нормализация БД и вертикальная декомпозиция не новость, но от термина "граница последовательности" (да и точка актуальности тоже) только она не избавит. Просто в данном варианте ТА всегда установлена на последнем движении.
Насчет же отсутствия проблем с остатками и работой "задним числом" - разберем простейшую ситуацию:
1) введен приходный документ - 5 пар кирзовых сапог
2) зарезервировали 4 пары для клиента
3) обнаружили пересорт - 3 пары сапог и 2 пары тапочек, исправили задним числом приходник
4) вопрос - достоверен ли резерв? в каком состоянии будут остатки после продажи?
как отрабатывается данная ситуация?
а если еще и про себестоимость с прибылью вспомнить...
PS: я не то что бы с целью "прикопаться" спрашиваю, мне интересен корректный механизм, позволяющий обойтись без сущности "последовательность"
если только раздробить общую последовательность, на их множество, привязанное к партиям товаров :-/
16. hogik 443 20.01.08 18:41 Сейчас в теме
(14) (int3)
>> 3) обнаружили пересорт - 3 пары сапог и 2 пары тапочек, исправили задним числом приходник
Для меня это странный пример. При нашем способе хранения итогов, если на остатках только “5 пар кирзовых сапог” и заменяется именно это на “3 пары сапог и 2 пары тапочек”, то данная процедура не выполнится с собщением о нехватке товара на складе. Т.е. надо вернуть на склад резерв “4 пары для клиента”. А уже потом исправить пересортицу.
>>“а если еще и про себестоимость с прибылью вспомнить...”
Мне вообще не “понятно” – как это связано с примером про пересортицу. Обращаю Ваше внимание на апострофы в предыдущей фразе. Если не использовать “придумки” от 1Са то такой проблемы (задачи, вопроса и т.д.) вообще не существует. Возможно, в 1Се в момент перемещения количеств тащится себестоимость. Если это так то это - бред.
>>я не то что бы с целью "прикопаться" спрашиваю
Я это понимаю и так не думаю.
>>мне интересен корректный механизм, позволяющий обойтись без сущности "последовательность"
Вот тут и возникает “моё смешивание понятий” (из разговора с poppy). Могу только ответить вопросом на вопрос. А при чем тут последовательность? Нет в этом примере никакой потребности в последовательности. Есть “остатки на полке”. И если совершается операция, нарушающая это понятие, система не даёт это сделать.
17. poppy 20.01.08 23:16 Сейчас в теме
(16)
> Вот тут и возникает “моё смешивание понятий” (из разговора с poppy). Могу
> только ответить вопросом на вопрос. А при чем тут последовательность?
> Нет в этом примере никакой потребности в последовательности. Есть “остатки
> на полке”. И если совершается операция, нарушающая это понятие, система
> не даёт это сделать.

Ага. При такой постановке и автоматизации учета, действительно, последовательность не нужна.

В твоей системе можно носить изменения (документы - в терминах 1С) только в реальном времени. Это очень "щедящий" режим, в котором не нужно "мучаться с остатками", "перепроводить документы", "восстанаваливать последовательность" и т.д. (6).

1С умеет работать с документами т.н. "задним числом". Те механизмы, которые ты так ненавидишь, облегчают жизнь пользователю, работающему задним числом. В то же время, они усложняют жизнь таким как ты.

> Мне вообще не “понятно” – как это связано с примером про пересортицу.
> Обращаю Ваше внимание на апострофы в предыдущей фразе. Если не
> использовать “придумки” от 1Са то такой проблемы (задачи, вопроса и т.д.)
> вообще не существует.

Мне опять видится подмена тезиса...
Проблемы возникают не от придумок 1Са, а от работы задним числом. А придумки от 1Са хоть как то пытаются нивелировать последствия такой работы.

> Возможно, в 1Се в момент перемещения количеств тащится себестоимость.
> Если это так то это - бред.

Бред - не бред, но миллионы пользователей работают и не жужат. ;)
18. hogik 443 21.01.08 00:30 Сейчас в теме
(17) (poppy)
>>В твоей системе можно носить изменения (документы - в терминах 1С) только в реальном времени.
А в каком еще времени можно вносить документы? Только в реальном. А вот дата документа в моей системе может быть любая. Т.е. и задним числом и передним. А остатки будут верными и “последовательность” не нарушится.
>>Это очень "щедящий" режим, в котором не нужно "мучаться с остатками", "перепроводить документы", "восстанаваливать последовательность" и т.д.
Т.е. нужно мучится? О, теперь мне понятно, зачем выдуманы эти “сущности”. Для мучения!
>>Те механизмы, которые ты так ненавидишь, облегчают жизнь пользователю
Отрицательное отношение это еще не ненависть. Не стоит так усугублять мои проблемы.
>> облегчают жизнь пользователю, работающему задним числом. В то же время, они усложняют жизнь таким как ты.
Я так и не понял – чем они облегчают жизнь пользователю? Это когда выполняются монопольные работы в системе можно пользователю ничего не делать? И про усложнение жизни “таким как ты” я тоже не понял. А какой я? Вы меня знаете? Видели мои работы? А нас много – таких как я?
>>Проблемы возникают не от придумок 1Са, а от работы задним числом. А придумки от 1Са хоть как то пытаются нивелировать последствия такой работы.
Т.е. задним числом с их “придумками” работать нельзя или можно? Или можно, но потом надо мучаться? А “придумки” позволяют потом “нивелировать последствия такой работы”. А в реальной жизни работа с документами задним числом существует? Думаю – да. Тогда система должна не считать это особым режимом с “последствия(ми) такой работы ”.
>>Бред - не бред, но миллионы пользователей работают и не жужат. ;)
Я бредом назвал: “в момент перемещения количеств тащится себестоимость”. А не весь “Оперативный учет”. Не надо меня провоцировать, а то назову... Наркотики тоже миллионы людей употребляют. Только это не оправдывает их пристрастия количеством “друзей по несчастью”. А пользователи 1Са “жужат”, надо только прислушаться…

Это ответы по пунктам. А по существу темы – у меня сложилось такое впечатление, что, то ли я чего не так излагаю, толи Вы чего не так читаете. Я, например, не понимаю, как после моих текстов можно сделать вывод о том, что мы упростили себе жизнь. Переписать полностью конфигурацию и дать возможность работать с системой пятидесяти пользователям одновременно в любое время суток с базой данных, которая не сворачивалась семь лет. Это на обычных DBFах. И всё хозяйство обслуживается одним человеком (включая железо и системные вопросы). И потеря документа даже на 280 рублей для нас ЧП – ищем и находим. Странно мне это всё от Вас слышать (читать).
19. poppy 27.01.08 19:42 Сейчас в теме
(18)
> >>Бред - не бред, но миллионы пользователей работают и не жужат. ;)
> Я бредом назвал: “в момент перемещения количеств тащится себестоимость”.
> А не весь “Оперативный учет”. Не надо меня провоцировать,

Я именно это и имела в виду. Но...

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

Так хотелось пообщаться с умным человеком, но не получилось. Жаль...
22. hogik 443 27.01.08 23:46 Сейчас в теме
(19)(poppy)
Я к этим “сущностям” не имею никаких отношений с 2000 года. После того как мы переписали полностью конфигурацию для торговли и склада. И прекрасно обошлись без “сущностей” (в понимании разработчиков 1Са) оперативного учета. Т.е. мы не пытались выправить их решения путем написания отдельных модулей, а переделали все. У нас не используются даже их регистры. Думаю, это уже совсем другая система. И обсуждать отдельные “сущности” в контексте нашей разработки уже не имеет никакого смысла. Т.е., например, вопрос от int3 про “последовательности” не может иметь ответа “мы это сделали так то” - у нас нет этой “сущности”. И не потому, что мы её просто “откусили”, а потому, что причин для её использования не возникает.
Теперь про Ваше утверждение: “судя по твоей реакции и ошибках в предудущих утвержденеиях ты не владеещь”. Молодой человек, мой Вам совет – не переходите в обсуждениях явлений на обсуждение людей обсуждающих это явление. Тогда и реакция от людей будет нормальная.

(20)(Abadonna)
“Помирить?”
Спасибо. Но уже не получится.
23. Abadonna 3967 28.01.08 03:00 Сейчас в теме
(22) >Молодой человек
Если ник "бесполый" советую не использовать впрямую выражения "молодой человек" и "мадам".
В данном случае - вариант номер 2 :))))))))))))))))
(21) Жека, ты меня уже почти убедил попробовать Опенконф - менталитет не тот ;)
Я не хочу использовать - а использую, и никакой не оперативный, для меня нет такого понятия, обычный партионный. И видал я кое-где все точки актуальности, ГП и прочую хрень. Тем более у моих нынешних юзеров от появления окна "ТА будет перенесена..." ваще башню снесет, а она и так Пизанскую напоминает
25. hogik 443 28.01.08 03:22 Сейчас в теме
(23)(Abadonna) и (poppy)
“Если ник "бесполый" советую…”
Спасибо. Это я не внимательно прочел ответ в части родов. Да, действительно, есть фраза “Я именно это и имела в виду”. Но сути моего намека это не меняет.
Перед poppy извиняюсь и тему (со своей стороны) закрываю.
26. JohnyDeath 302 28.01.08 10:24 Сейчас в теме
(23) Я просто считаю, что БИ в 7-ке это что-то нечто тормозное и неудобное. И не зря 1С отошла эт этих понятий для 8-ки. (Ну это я так... своё ИМХО высказал)
27. Abadonna 3967 28.01.08 10:57 Сейчас в теме
(26)>нечто тормозное
Мой вчерашний диалог с Кушниром:
- Ты че на работе в воскресенье?
- Период открываю
В гробу я видал такие НЕ тормоза
28. JohnyDeath 302 28.01.08 11:26 Сейчас в теме
(27) раз открыл и всё. В процессе работы - летаем.
24. hogik 443 28.01.08 03:10 Сейчас в теме
(19)(poppy) – продолжение:
Выдержка из “Важные отличия от версии 7.7 с точки зрения разработчика”. Это про версию 8.х.
7.7 - Используется понятие Точка актуальности регистров.
8.х - Регистры "актуальны" на момент времени последнего документа, выполнившего движения по ним.
7.7 - Требуется выполнение регламентных процедур в монопольном режиме для открытия следующего периода сохранения остатков.
8.х - Выполнение регламентных процедур не требуется.
А про последовательности сказано: “…система автоматически определит, что последовательность документов нарушена и сможет перепровести все последующие документы…”. Т.е. даже “если документ списывает товары или материалы по средней себестоимости”, то, надеюсь, перепроведение документов будет производиться автоматически и в не монопольном режиме.
Т.е. на часть моих риторических вопросов заданных в (6) даже 1С ответила – “Да”. И кроме нашей самодеятельности есть еще системы других разработчиков где, перечисленных, мной “явлений” не существует.
11. hogik 443 20.01.08 15:45 Сейчас в теме
Т.е., я так понял, что pit это некий человек…
У меня нет методов борьбы с последовательностями. У меня в системе их, просто, вообще не существует. Да и точки актуальности, тоже нет. Для реализации такого отсутствия этих понятий надо не использовать регистры. Мы написали свой инструмент ведения остатков без регистров (в понимании 1Са). Если говорить очень кратко, то суть в следующем. Остатки это одно число, привязанное к измерениям. У него нет не дата ни времени. Это то, что лежит на полках. Все действия с остатками (например, проведение документом) изменяют значение этого числа. Мы исходили из того, что остатки на дату, всегда можно получить в отчетах путем просмотра движения с конца. Для некоторого ускорения этого процесса сделано две вещи. Первое. Измерения хранятся в отдельном файле с присвоенным, каждому, уникального ID. Именно этот ID характеризует измерения в файлах итогов и движений. Т.е. ключ (измерения) не хранится в записях. Что уменьшает объем базы и, при длинном ключе ускоряет работу. Второе. Для некоторых алгоритмов просмотра движения с конца предусмотрены итоги за интервал – день, месяц, квартал, год. В итогах хранится не входящий/исходящий остаток, а сумма (с учетом знака) всех движений за интервал. Таким образом, проведение документа задним числом не требует изменения всех последующих входящих/исходящих остатков традиционного способа хранения информации в регистрах. А просмотр с конца может выполняться быстрей, если дата окончания отчета не является текущей.
Это, если говорить кратко. На самом деле всё немного посложней…
Но, повторюсь, самое важно это, то что “нет такого понятия” (в апострофах) как “итоги на…”. Есть остатки (итоги) на реальных полках. И если на наши задачи посмотреть с этой позиции, то всё становится проще и в программировании и в эксплуатации. Я допускаю, что существуют задачи, где надо смотреть на итоги, как это сделано в 1С. Но в торговле это, на наш взгляд, это не требуется. И это решение, у нас, успешно функционирует с 2000 года. База большая, пользователей много, номенклатура огромная… Система не останавливается (для пользователей) никогда. Естественно, за исключением процесса заливки конфигурации и потери напряжения в сети… Остатки сходятся. А если не сходятся, то исключительно, по “объективным” причинам. Например, украли…
А что и где говорит (пишет) товарищ по имени pit?
15. hogik 443 20.01.08 18:00 Сейчас в теме
Думаю, мы сейчас запутаемся, если я начну отвечать на ответы ответов по пунктам. Попробую вернуться к первоначальным моим утверждениям. Да – статья о ТА. И я не пытаюсь подменить понятия, а перечисляю (в риторических вопросах) те понятия (сущности), которые, на мой взгляд, не имеют ничего общего с реальной жизнью. Такие как, например – ГП. Ни каких выводов, типа, что “ТА = плохая,потому что пользователи квазимучаются с ГП” я не делаю. Я специально написал: “и всё что к ней “примыкает””. Да и еще в апострофах. Смешивание понятий – есть. А подмена, то где? А смешаны они у меня по тому, что это понятия, на которых базируется подсистема “Оперативный учет”. И я высказал своё отношение к “придумкам” разработчиков 1С в этой части. Отношение моё к ним резко отрицательное. Начиная с понятия – ТА (темы статьи). И проблемы при эксплуатации системы они создают далеко не “квази”.
Огромное, Вам спасибо за подробный разбор моего “смешивания” понятий.
20. Abadonna 3967 27.01.08 21:28 Сейчас в теме
Помирить? ;) Используйте забалансовые счета, как я, и предмет дискуссии умрет
21. JohnyDeath 302 27.01.08 23:03 Сейчас в теме
(20) Аркадий, ты что???!!! Ты это серьёзно?
У меня наоборот появляются периодически мысли о переводе всей бухии на регистры, а ты оперативный учет на БИ использовать хочешь!
29. zaursoft 19 12.02.08 05:33 Сейчас в теме
Спасибо. Давно хотел понять, что-же это за загадочная точка актуальности :)
30. kihot 27.05.10 15:30 Сейчас в теме
Для тех, кто не умеет изменять ТА в разделенном режиме написал утилиту. Посмотреть можно здесь: http://kai-soft.sytes.net/item/setTA.php
Оставьте свое сообщение