Текущаяуниверсальнаядата 1с что это

Обновлено: 05.07.2024

Момент времени:
Фирма 1С описывает так:
Предназначен для получения и хранения момента времени для объекта в базе данных. Содержит дату и время, а также ссылку на объект базы данных. Используется в качестве значений свойств и параметров методов других объектов, имеющих тип МоментВремени.
Момент времени используется в тех случаях, когда важно различать моменты времени для объектов, имеющих одинаковую дату и время, например для сравнения положений документов на временной оси.

А своими словами:
Момент времени - комбинация даты и ссылки на документ. Позволяет разделить и упорядочить документы в пределах одной секунды, выстраивая все документы в однозначную последовательность. Получение данных при проведении на момент времени гарантирует, что будут учтены движения сделанные в ту же секунду что и проводимый документ, но находящиеся перед ним.
Но есть особенность - документы проведенные в одну и ту же секунду располагаются в произвольном порядке, а не в порядке их физического создания (как было в 7.7).

МоментВремени() - это момент непосредственно ПЕРЕД позицией документа (аналог РассчитатьРегистрыНа(ТекущийДокумент() в 7-рке), а если необходимо получить момент непосредственно после позиции документа, то используйте объект Граница
Код 1C v 8.х

При получение остатков:
"Момент времени" - виртуальное поле, не хранится в базе данных. Содержит объект МоментВремени (который включает в себя ДАТУ и ССЫЛКУ НА ДОКУМЕНТ)
<Виртуальная> таблица остатков не хранится в БД, а строится в момент обращения к ней.
1. подбирается больший или равный значению ПАРАМЕТР момент времени, на который РАССЧИТАНЫ остатки
2. на этот момент получаются остатки из таблицы итогов
3. если момент времени, на который считаются остатки, не совпадает с моментом времени итогов, то остатки ДОСЧИТЫВАЮТСЯ по движениям.

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

ВидГраницы - Определяет набор видов границ по отношению к граничному значению:
ВидГраницы.Включая - Граница включает граничное значение.
ВидГраницы.Исключая - Граница исключает граничное значение.
Код 1C v 8.х


Пример получения остатков на дату документа, включая его движения
Код 1C v 8.х

Пример получения остатков на дату документа, но до его движений
Код 1C v 8.х

ПолучитьДопустимыеЧасовыеПояса()
Возвращаемое значение:

Тип: Массив.
Массив содержит строки идентификаторов.
Список допустимых часовых поясов может быть получен методом ПолучитьДопустимыеЧасовыеПояса.
Кроме того, возможно задание часовых поясов смещением от универсального времени (часовые пояса GMT) в формате:
GMTh[h][:mm]
где hh=0:23, mm=0:59.
Описание:

Получает массив строк допустимых идентификаторов часовых поясов.

Сервер, толстый клиент, внешнее соединение.
См. также:

Глобальный контекст, метод ПредставлениеЧасовогоПояса

(0) >>> Мне нужно установить контроль вводимой даты, в соответствии с текущей датой сервера.

Тонкий или толстый клиенты? Какой один?
Дата Документа всегда серверная. Что тут долго думать? (где сервер, та и дата)
Пересчет дат в зависимости от Региона. Используй для этого часовой пояс. Это строка вида "GMT+04:00". Советую использовать её. Формат из системы мало чего говорит и вообще труден для человеческого восприятия.

УниверсальноеВремя(<МестноеВремя>, <ЧасовойПояс>)
Параметры:

Тип: Дата.
Может быть задан только в коде, исполняемом на сервере, режиме запуска "Толстый клиент" и во внешнем соединении.
Идентификатор часового пояса, к которому относится местное время. Если не задан (Неопределено), то часовой пояс компьютера.
Список допустимых часовых поясов может быть получен методом ПолучитьДопустимыеЧасовыеПояса.
Кроме того, возможно задание часовых поясов смещением от универсального времени (часовые пояса GMT) в формате:
GMTh[h][:mm]
Значение по умолчанию: Неопределено
Описание:

Преобразует местное время в заданном часовом поясе в универсальное время.

Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.
См. также:

Глобальный контекст, метод ПолучитьДопустимыеЧасовыеПояса
Глобальный контекст, метод ТекущаяУниверсальнаяДата

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


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


Эти свойства позволяют визуально (в конфигураторе) задать правила, по которым реквизит будет заполняться данными при создании нового объекта.

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

Действия с данными объекта нужно выполнять в модуле объекта, в обработчике события ОбработкаЗаполнения. Этот событие возникает только при создании новых объектов, при открытии форм существующих объектов это событие не вызывается. Поэтому в нем не нужно узнавать, новый это объект, или нет. Нужно только описать алгоритм заполнения объекта данными. При этом следует учитывать, что это событие будет вызываться в нескольких случаях:

  • при интерактивном создании нового объекта,
  • при вводе на основании,
  • при выполнении метода объекта Заполнить().

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

Например, он может иметь тип ссылки, если новый объект вводится на основании.

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

Также этот параметр может иметь тип Неопределено, если новый элемент создается интерактивной командой из панели действий. То есть в своем алгоритме начального заполнения полезно анализировать этот параметр.

Что касается внешнего вида формы нового объекта, то им нужно управлять в обработчике события формы ПриСозданииНаСервере.

Это событие возникает и для новых, и для существующих объектов. Поэтому в нем нужно убедиться в том, что открывается форма именно нового объекта. Убедиться в этом можно проанализировав параметр формы Ключ.

Если объект новый, в этом параметре будет пустая ссылка. Если это существующий объект – в этом параметре будет ссылка на этот объект:

Если требуется выполнять какие-то действия в обработчике события формы ПриОткрытии, то в нем ситуация аналогичная, нужно анализировать параметр формы Ключ.

Для тех кто не хочет читать все что выше, код проверки на ЭтоНовый в Управляемом приложении:

Файл 1С с расширением *dt — это файл, который можно получить при создании копии базы через Конфигуратор. С помощью него в дальнейшем можно восстановить копию базы. Рассмотрим подробнее, как работать с этим файлом, на примере программы 1С:Бухгалтерия предприятия.

Как получить файл dt

Зайдем в программу через Конфигуратор под пользователем с полными правами.


Откроем меню «Администрирование — Выгрузить информационную базу».


Укажем папку для сохранения файла и название файла, нажмем «Сохранить». Название файлу рекомендуем давать понятное, осмысленное, а не оставлять по умолчанию. Так будет проще ориентироваться, если файлов будет несколько.


Получите понятные самоучители по 1С бесплатно:


В итоге в папке будет файл dt.


Как загрузить файл dt

Далее рассмотрим, как загрузить файл dt. На практике есть несколько частых сценариев:

  1. Переносим базу на другой компьютер.
  2. Продолжаем работать на текущем компьютере в имеющейся базе. Копия же нужна, например, чтобы поэкспериментировать.
  3. Текущая рабочая база нам не нужна, мы хотим ее заменить на копию.

В зависимости от этого немного отличаются дальнейшие действия.

В первом и втором случаях проще всего создать новую пустую базу и загрузить туда копию.

В третьем случае загружаем копию прямо на рабочую базу.

Загрузка копии в пустую базу

Для начала создадим пустую базу. Нажмем кнопку «Добавить».


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

Выбираем пункт «Создание новой информационной базы».



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

Укажем название базы и папку для ее хранения.



Затем заходим в созданную базу в Конфигураторе.

Переходим в меню «Администрирование — Загрузить информационную базу».


Выбираем наш файл с расширением *dt и нажимаем «Открыть».


Нажимаем «Да» на предупреждение.


Через некоторое время база будет загружена.


Здесь нажмем «Нет», если не нужно заходить повторно в Конфигуратор загруженнной базы.

В итоге мы получим базу с данными из копии.

Загрузка копии в рабочую базу

В этом случае новую базу создавать не нужно.

Просто заходим в Конфигуратор той базы, которую нужно заменить на копию.

Затем выполняем описанные выше действия по загрузке файла dt.

Читайте также: