Администрирование · 10 мин
Как изменить время в 1С 7
Как изменить время в 1С 7.7: корректировка времени документа, восстановление последовательности, системное время Windows. Пошаговые инструкции и типичные ошибки.
Вопрос об изменении времени в 1С 7.7 возникает в нескольких разных ситуациях, и способ решения зависит от того, что именно требуется: поправить время конкретного проведённого документа, изменить рабочую дату сеанса, исправить системное время компьютера или сдвинуть позицию документа в последовательности. Универсальной кнопки «изменить время» в платформе нет — каждая задача решается своим инструментом.
Важно понимать, что в 1С 7.7 время документа — это не просто отображаемое поле, а элемент позиционирования документа внутри даты. От него зависит порядок проведения, восстановление последовательностей и корректность расчёта итогов по регистрам. Поэтому правка времени без понимания механизма может привести к «разъехавшимся» остаткам.
Ниже разобраны основные сценарии: ручная правка времени документа, работа с системной датой и временем компьютера, установка времени программно через встроенный язык, а также проверка результата и типичные ошибки.
Как устроено время документа в 1С 7.7
Каждый документ в 1С 7.7 имеет дату и время. Вместе они формируют позицию документа в хронологическом журнале. Если у нескольких документов совпадают дата и время, платформа различает их по внутреннему идентификатору, что иногда выглядит для пользователя как «неправильный порядок» в журнале.
При создании нового документа программа автоматически подставляет текущую дату и время, взятые с компьютера. Если документ копируется, время обычно наследуется от исходного, и его нужно править вручную. Именно поэтому скопированные документы нередко «застревают» в журнале не на своём месте.
Ручное изменение времени документа
Самый частый сценарий — поправить время у конкретного документа, чтобы он встал на нужное место в журнале или корректно провёлся относительно других операций. Делается это непосредственно в форме документа.
- 1Откройте журнал документов и найдите нужный документ.
- 2Откройте документ двойным щелчком.
- 3В шапке документа найдите поля даты и времени (рядом с номером).
- 4Щёлкните в поле времени и введите нужное значение в формате ЧЧ:ММ:СС.
- 5Запишите документ кнопкой «Записать» или «OK»; если он проведён, согласитесь на перепроведение.
- 6Проверьте положение документа в журнале относительно соседних документов.
Если документ проведён, изменение времени потребует перепроведения. При этом платформа пересчитает движения по регистрам, но только для этого документа. Если после него в тот же день проводились другие документы, зависящие от его итогов (например, списание со склада после поступления), их тоже нужно перепровести или выполнить восстановление последовательности.
Обратите внимание: в некоторых конфигурациях поле времени в форме документа может быть скрыто или заблокировано разработчиком. В этом случае время меняется через обработку или программно — об этом ниже.
Изменение системного времени компьютера
1С 7.7 берёт текущие дату и время из операционной системы. Если новые документы создаются с неверным временем, проблема почти всегда в системных часах Windows, а не в самой программе. Это особенно заметно в файловых базах, где каждый пользователь работает со своего компьютера и часы на машинах могут расходиться.
Чтобы исправить, откройте настройки даты и времени Windows (правый щелчок по часам в трее — «Настройка даты и времени»), установите правильные значения и при необходимости включите автоматическую синхронизацию с сервером времени. После этого перезапустите 1С: уже открытый сеанс может продолжать использовать старое значение.
В сетевых базах расхождение часов между рабочими станциями приводит к тому, что документы разных пользователей встают в журнале в хаотичном порядке, а восстановление последовательности даёт неожиданные результаты. Рекомендуется настроить синхронизацию времени всех компьютеров с одним источником — сервером или контроллером домена.
Программное изменение времени через встроенный язык
Когда нужно массово поправить время у группы документов или выставить его по правилу (например, всем приходным накладным за день — время до 12:00, а расходным — после), удобнее использовать встроенный язык. Для этого в 1С 7.7 есть методы работы с датой и временем документа.
Док = СоздатьОбъект("Документ.ПриходнаяНакладная");
Док.НайтиДокумент(ВыбДокумент);
Док.УстановитьВремя(10, 30, 0);
Док.Записать();Метод УстановитьВремя(Часы, Минуты, Секунды) задаёт время без изменения даты документа. После вызова документ обязательно нужно записать, иначе изменение не сохранится. Для проведённого документа вместо Записать() используйте Провести(), чтобы движения соответствовали новой позиции.
Также доступны функции ПолучитьВремя() для чтения текущего времени документа и ТекущееВремя() для получения системного времени компьютера. При массовой обработке делайте выборку через ВыбратьДокументы() за нужный период и обрабатывайте документы в цикле с контролем результата записи.
Перед массовой обработкой протестируйте алгоритм на двух-трёх документах и проверьте журнал и отчёт по остаткам. Массовая смена времени меняет хронологию, и если логика расстановки выбрана неверно, исправлять придётся вручную или из копии базы.
Восстановление последовательности после смены времени
Изменение времени документа нарушает границу актуальности последовательности: платформа помечает, что итоги после изменённого документа могут быть недостоверны. В журнале и в отчётах это проявляется как неверные остатки или предупреждение при проведении «задним числом».
Чтобы привести базу в согласованное состояние, откройте меню «Операции — Управление оперативными итогами» (в типовых конфигурациях путь может отличаться, например «Операции — Управление итогами») и выполните восстановление последовательностей с даты изменённого документа. Платформа последовательно перепроведёт все документы, входящие в последовательность, начиная с указанной точки.
Если документ не входит ни в одну последовательность (например, это справочная операция без движений по регистрам), восстановление не требуется — достаточно перепровести сам документ.
Как проверить результат
Документ стоит в нужном хронологическом месте между соседними документами
Документ остался на старом месте или порядок выглядит случайным
Отчёт по остаткам на конец дня совпадает с ожидаемым
Остатки изменились неожиданно или появились отрицательные значения
Новые документы проводятся без предупреждений о нарушении последовательности
Появляется сообщение о необходимости восстановления последовательности
Типичные ошибки и ограничения
Ещё одно ограничение: в монопольном и разделённом режимах доступа к базе поведение различается. Перепроведение большого пласта документов и восстановление последовательности в многопользовательской базе лучше выполнять, когда остальные пользователи не работают с теми же документами, иначе возможны конфликты блокировок.
Наконец, помните про дату запрета редактирования, если она реализована в конфигурации: документы старше этой даты могут быть недоступны для изменения даже администратору без предварительного сдвига запрета.
Как выбрать действие
Что важно запомнить
Время документа в 1С 7.7 задаёт его позицию в хронологии. Меняется оно вручную в форме документа или методом УстановитьВремя(), источником текущего времени служат часы Windows. После правки проведённого документа перепроведите его и при необходимости восстановите последовательность, предварительно сделав копию базы.
Частые вопросы
Почему поле времени в документе недоступно для редактирования?
Чаще всего разработчик конфигурации сделал поле нередактируемым в форме или документ заблокирован другим пользователем. Также проверьте дату запрета редактирования. Обходной путь — изменить время программно через обработку с методом УстановитьВремя().
Можно ли в 1С 7.7 задать время по умолчанию для новых документов?
Штатной настройки нет: платформа подставляет текущее системное время. В конфигурации можно доработать предопределённую процедуру ВводНового(), чтобы при создании документа время устанавливалось программно, например фиксированное или скопированное с предыдущего документа.
Что делать, если документы в журнале идут не по порядку?
Проверьте время у «выбивающихся» документов и исправьте его вручную. Если проблема повторяется у разных пользователей, сверьте часы на их компьютерах — в сетевой базе расхождение системного времени даёт именно такой эффект.
Изменится ли номер документа при смене времени?
Нет, номер документа не зависит от времени: нумерация ведётся в пределах периодичности, заданной в конфигураторе (обычно в пределах года). Время влияет только на хронологическую позицию внутри даты.
Нужно ли восстанавливать последовательность, если документ не делает движений?
Если документ не входит в последовательности и не проводится по регистрам, достаточно просто записать его с новым временем. Восстановление последовательности требуется только там, где изменилась хронология проведённых документов с движениями.