Дата 1С

Также на эту тему:
Справочники 1С
Документы 1С
Регистры 1С
Планы 1С
Журналы 1С

Дополнительные материалы:
Электронная книга "Разработка справочников и документов 1С"
Электронная книга "Как работать в 1С"

Основу учета составляют документы, отражающие операции компании. Что-то купили, что-то продали. Документов много и они должны быть как-то упорядочены. Ведь мы не можем сначала что-то продать, а потом что-то купить 🙂

Документы упорядочены на линии времени. Каждый документ имеет дату, а точнее дату и время до секунды.

Поэтому дата в 1С имеет большое значение и не так проста как кажется на первый взгляд.

 

Дата документа 1С

Каждый документ имеет дату (и время), что располагает список документов в определенном порядке. Когда Вы открываете любой список документов, то сразу это видите перед глазами.

Однако когда Вы открываете два списка разных документов, это не так бросается в глаза. Они тоже упорядочены друг с другом по дате, хотя и не находятся в едином списке.

Если дата и время документа продажи будет больше чем дата и время документа покупки – 1С сообщит Вам ошибку – «Недостаточно товаров на складе..».

 

Момент времени 1С

А если у документов одна дата и время, как их различить?

С точки зрения пользователя – никак. Однако со стороны программного кода – они упорядочены дополнительно – по «моменту времени».

Суть применения – упорядочивание документов, созданных с одинаковым временем. Поэтому момент времени содержит:

  • Дату и время
  • Ссылку на конкретный документ.

 

Применение даты 1С и момента времени 1С

Есть замечательный пример – партийный учет. Это когда мы покупаем один и тот же товар несколько раз по разной цене. И когда мы начинаем его продавать – какой товар мы продали – тот что дороже или тот что дешевле?

И мы начинаем например вычислять это с помощью методики FIFO – т.е. мы считаем, что сначала продаем то, что пришло раньше. Но для этого нужно вычислить – какой документ был проведен раньше?

 

Оперативное и неоперативное проведение 1С

Оперативным проведением считается тогда, когда это крайний документ по линии времени. Неоперативным, когда мы проводим документ «вчерашней» датой.

В пользовательском понимании оперативное проведение считается когда проводим документ «сейчас» («сейчашней датой»). При этом что такое «сейчас» обычно мало кто задумывается.

Весь вопрос в том, что при оперативном проведении проводятся всякие проверки на корректность. Например – а можем ли мы столько продать, есть ли у нас столько на складе?

При неоперативном считается проверять уже не надо, т.к. это «вчерашняя» операция, которая уже свершилась, что же ее проверять.

Как мы видим – с помощью даты и времени можно манипулировать не только результатами учета, но и даже безопасностью, отключением проверок.

 

Дата актуальности 1С и итоги 1С

Каждый документ «двигает» учет на какую-то цифру своего результата, в штуках или деньгах. Результат он записывает в большую таблицу – регистр. То есть — все документы проводятся по регистрам.

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

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

Дата, на которую посчитано промежуточное итого называется – дата актуальности.

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

 

Последовательности [документов] 1С

В каждый регистр (таблицу) пишут разные документы. Например, в таблицу Остатки на складе пишут как минимум Покупки товаров (плюс товар) и Продажи товаров (минус товар).

Каждый из этих документов может быть введен задом наперед (т.е. в задним числом, т.е. со старой датой) и «испортить» результаты. Мало того, дата продажи товара зависит от даты покупки товара.

Кроме того, каждый документ проводит по нескольким регистрам. Таким образом мы имеем множество документов + множество регистров.

Для объединения таких зависимых документов от общей последовательности дат — есть последовательность. Мы включаем оба документа в последовательность и она становится общей не для одного документа, а для нескольких.

Как восстановить актуальность? Перепровести один за другим (по дате!) все зарегистрированные в последовательности документы.

 

Дата запрета редактирования 1С

Один из методов борьбы с такой отвратительной привычкой пользователей придумана дата 1С (граница) запрета редактирования документов.

Обычно эта дата устанавливается в настройках типовой конфигурации администратором и пользователи не могут создать или изменить документ раньше этой установленной даты 1С.

 

А дата 1С собственно где?

Пользователь вводит документ. 1С нужно установить дату ввода документа. А откуда ее взять?

Для нас просто – посмотрим на часы. Только на какие?

Источников даты для 1С есть несколько и это имеет большое значение в возможном создании путаницы при работе одновременно множества пользователей с разных компьютеров, особенно если это федеральная сеть в разных часовых поясах.

 

Дата компьютера

По-умолчанию 1С использует дату [часов] компьютера, на котором работает пользователь. Именно эту дату возвращает повсеместно используемая функция в 1С — ТекущаяДата().

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

 

Дата 1С пользователя

В типовых конфигурациях толстого клиента в меню Сервис / Параметры можно вызвать стандартное окно настройки, которое в частности позволяет изменить дату на любую желаемую. После этого 1С на этом компьютере будет волшебным образом считать, что сейчас не сегодня, а вчера или завтра.


 

 

Дата 1С сервера

Особенно интересно получается, когда используется серверная 1С. Это значит, что часть программы выполняется на компьютере пользователя, а часть – на сервере.

При выполнении того же кода на сервере, функция ТекущаяДата() вернет уже дату 1С сервера и если она отличается от даты 1С на клиентском компьютере, то получится просто замечательно.

 

Часовые пояса даты 1С

В 1С версии 8.2, не так давно, когда появился веб-клиент, озаботились о работе с учетом часовых поясов. Действительно, если используется веб-клиент, да еще и в разных частях России или мира – все еще больше усложняется.

В конфигурации появилась функция ТекущаяДатаСеанса(), которая возвращает дату компьютера с поправкой на часовой пояс.

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

 

Работа с документами в 1С

Журналы документов в 1С

 


Проголосовать за этот пост:

1 Star2 Stars3 Stars4 Stars5 Stars (9 голосов, среднее: 4,56 из 5)
Loading ... Loading ...

Также на эту тему:
Справочники 1С
Документы 1С
Регистры 1С
Планы 1С
Журналы 1С
Реквизиты 1С
Таблицы 1С

Дополнительные материалы:
Электронная книга "Разработка справочников и документов 1С"
Электронная книга "Как работать в 1С"

Добавить комментарий