Отправляет email-рассылки с помощью сервиса Sendsay

Как стать программистом 1С

  Все выпуски  

Как стать программистом 1С: Тонкости работы с датой 1С


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

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

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

 

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

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

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

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

 

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

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

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

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

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

 

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

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

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

 

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

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

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

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

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

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

 

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

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

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

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

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

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

 

Последовательности [документов] 1С..(читать дальше на сайте)

 


В избранное