Меню Рубрики

Установка времени начала дня в 1с

Как установить время в 1С?

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

Работа со временем в 1С

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

1С по умолчанию использует системное время, то есть данные машины, на которой она установлена. Это значит, что если при создании нового документа вы не указываете в специальном поле значение, то оно, как и дата, проставляется автоматически. В результате вы получаете документ с датой, соответствующей дате компьютера. Чаще всего за один день пользователь бухгалтерской программы создает много документов. В этом случае каждый последующий документ отправляется в конец списка документов, созданных в этот конкретный день. Обратите внимание, что для регламентных документов 1С проставляет значение 23:23:59, то есть переносит их на конец дня. Для 1С текущее время — это настройка по умолчанию.

Возможные проблемы

В такой ситуации наиболее очевидной проблемой является неправильное время на самом компьютере. Устранить ее можно, если настроить ПК на автоматическую синхронизацию с интернетом. Обратите внимание на настройку вашего часового пояса — должно совпадать не только время, но и город. Если вашего населенного пункта нет в настройках, то выбирайте часовой пояс, где указан любой ближайший к вам крупный город вашей страны. Это предупредит путаницу при автоматическом переходе на летнее или зимнее время — не все страны его осуществляют.

Есть еще один проблемный момент — поведенческий. Если пользователь занимается бухгалтерией постоянно, он привыкает к автоматической установке времени. То есть при создании нового документа пользователь начинает доверять системе и полностью игнорирует заполнение соответствующего поля. Это не может не приводить к ошибкам, ведь достаточно часто возникает необходимость создать новый документ «задним числом». Например, чтобы заменить в базе ошибочный документ или восстановить ненароком удаленный — ситуации могут быть разными.

Устанавливаем дату и время в 1С

Когда необходимо создать новый документ не с текущей датой, можно просто вручную заполнить соответствующее поле. Оно находится сразу под главным меню формы и справа от поля с номером. Ручные настройки помогут и при необходимости изменения даты в уже записанных и проведенных документах. Но если вам предстоит создать целую серию новых документов и все «задним числом», то удобнее будет настроить автоматическое проставление нужной даты. Для примера рассмотрим способы настройки в конфигурации Бухгалтерия 8:

В главном меню нажмите на «Сервис»;

В открывшейся форме снимите галочку с опции по умолчанию «Использовать текущее время компьютера» и задайте нужную дату.

Откройте раздел «Администрирование»;

На «Панели действий» перейдите в «Персональные настройки»;

Поставьте переключатель на «Другую дату» и настройте время.

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

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

источник

Как правильно сделать установку даты и времени документа в 1С и избежать ошибок?

Отправить эту статью на мою почту

Материал статьи будет посвящен вопросу установки даты и времени при создании и записи документов в 1С:Бухгалтерия 3. Тема будет актуальна и для других программных продуктов фирмы 1С, таких как, 1С:Зарплата и Управление Персоналом, 1С:Управление Нашей Фирмы, 1С:Управление Торговлей и др.

НАСТРОЙКА 1С. ЕСТЬ ЗАДАЧА? БЕСПЛАТНАЯ ОЦЕНКА! Смотреть подробнее →

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

Как правило при создании документа по умолчанию подставляется текущая дата компьютера и время 0:00:00. Далее после заполнения документа при записи (проведении) время также проставляется текущим. Данное правило устанавливается в настройках. В программе переходим в раздел “Главное” и далее выбираем пункт “Персональные настройки”. В открывшемся окне с настройками нас будет интересовать поле “Рабочая дата”. В нашем случае установлена та настройка, которая описана выше.

Читайте также:  Установка радио антенны в калину

Если же, к примеру, нам необходимо занести большое количество документов задним числом, то имеет смысл временно установить переключатель на значение “Другая дата” и установить нужную дату. В том случае, если документов немного, можно изменить дату непосредственно в самом поле документа при его создании.

Далее рассмотрим еще одну настройку, которая позволяет записывать документы по времени в течение дня. Перейдем в раздел “Администрирование” и выберем пункт “Проведение документов“. Данная настройка называется “Время документа устанавливать автоматически”.

Если галочка не включена, тогда при записи документа текущей датой время будет определяться как системное время компьютера. Если пользователь изменил дату документа, то программа установит время на 12:00:00. При установленном флаге, документы разного типа записываются с определенным временем. Так документы реализации и поступления будут записываться раньше, чем документы оплаты. В пользовательском режиме изменить время записи типов документов при включенном механизме не представляется возможным.

источник

Как установить документ в начало дня (перед документами с нулевым временем)?

Надо в рамках дня перенести документы поступления перед документами реализации, которые могут иметь нулевое время.

(3) Реализации не так легко переставляются: ресурсоемкая операция. (На самом деле, я пока так и сделал.)

(7) Salavat, почему без записи? в обработке проведения писать не
Движение.Период = Дата;
а
Движение.Период = Новый Граница(НачалоДня(Дата), ВидГраницы.Исключая);

(8) AllexSoft, потому что сам документ не меняем, а зато движения прописываем (ради Движение.Период = Новый Граница(НачалоДня(Дата), ВидГраницы.Исключая);) в модуле обработки.

я ведь правильно понял — про это Вы?

(5) IvanAlekseev, можно подумать над следующим:
1. Получаем нужный для перенесения ДокументОбъект.
2. ДокументОбъект.Дата = НачалоДня(ДокументОбъект.Дата)
3. ДокументОбъект.Записать(РежимЗаписиДокумента.Записать)
Если использовать именно этот режим записи, то документ останется проведенным, но обработка проведения вызвана не будет. Но при этом изменится реквизит «Дата» вашего документа.

Теперь самое интересное. «Об» — ваш объект.

Если у вас нет ресурсоемких операций в ПередЗаписью объекта, то все пройдет очень быстро.

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

(25) IvanAlekseev, подписка на событие обработка проведения по документам двигающим ваш партионный регистр (кроме документа поступления конечно), в подписке проходить циклом Движения.ТоварныйРегистр и устанавливать +1 сек по условию
Если Движение.Период = НачалоДня(Движение.Период) тогда
Движение.Период = Движение.Период+1;
КонецЕсли;
——
+ можно добавить подписку на событие обработки проведения док Поступления товаров.. где то же самое, проходить движения по нужным регистрам
и устанавливать
Движение.Период = НачалоДня(Движение.Период);

(25) обычно в типовых конфигурациях присутствует объект «Последовательность». С помощью него (объекта) можно задать последовательность документов с одной и той же датой и временем в нужной очередности. Сделать это можно с помощью метода, который я описал ранее. (4)
Для того чтобы больше не возвращаться к этому вопросу, можно договориться каким временем проводить поступления, а каким реализации. И жестко в коде указывать это время (ну или по условию, исключения ведь всегда бывают).
Без последовательности имхо не обойтись, так как при изменении чего либо задним числом в текущее состояние возвращаются путем восстановления этой самой последовательности.

Пэ.Эс. умозаключения основываются на типовых конфах.

(27) метод «СоздатьНаборЗаписей» создает набор для добавления записей, у которых для установки доступны только поля «Период» и «Регистратор». Так что последовательности в рамках секунды тут не задать.

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

(11) Lotar, все эти телодвижения станут бесполезными, если мы потом вручную перепроведём один из этих документов.

причём вероятность — далеко ненулевая.

(11) IvanAlekseev, перенесите данным способом все поступления на дату начала дня. А реализации имеющию дату начала дня на начала дня + 1. Вы же писали, что сейчас вы так и сделали, не устраивала вас в таком варианте только ресурсоемкость операции. Вот я вам и предложил способ которым вы перенесете документы вместе с вашими движениями на нужное вам время.

Читайте также:  Установка посудомоечной машинки сименс

(13) Salavat, прочитайте, пожалуйста, внимательнее. в 1, 2, 3 мы уже изменили дату документа, а потому перепроведение документа не изменит период в измененных нами движениях. Изменения движений «сбросились» бы, если мы бы оставили как есть, а меняли только их движения. Как видите это не так.

да — такой вариант — неплох, очень.

остаётся только решить — необходим ли он.

(15) Lotar, единственное — с партиями может быть косяк. но он и при (3) Salavat — может быть.

м.б. действительно — (4) DIvanmgn — правильнее?

но и здесь тоже — . не всё гладко м.б.

вобщем — у меня мозг вскипел.

(17) Salavat, если используется партионный учет, то набор записей регистра накопления, который хранит партии, нужно не просто переносить, а формировать некой экспортной функцией объекта. Облегченный вариант реальной процедуры из обработки проведения реализации. «Облегченной» — потому, что не требуется контроль остатков. Подразумевается, что остатки уже были, раз в первый раз документы провелись. Кроме того необходимо будет сформировать движения для «партионных» регистров всех документов реализаций, находящиеся после даты на которую переносятся поступления.
Так что операция разбивается на два этапа.

Этап 1. это то, что описано в (11). Обрабатываются только поступления.
Этап 2. Переносятся реализации с начала дня на начало дня + 1. После чего восстанавливается последовательность по партионным регистрам всех реализаций имеющихся после начала дня. Для ускорения можно отобрать только те реализации, товары которых содержатся в поступлениях.
Этап 2 лучше производить в один проход, а не множеством вызовов экспортной процедуры записи движений или даже целиком обработки проведения.

Минус в этом следующий — при изменении логики обработки проведения реализации надо не забыть переделать обработку проведения в этом механизме.

(21) Lotar, но, если просто изменить дату и перепровести документы, то проблем с партиями быть недолжно ведь.

может — не стоит того оптимизация (с сомнительным результатом)?
по-любому — это действие нужно один раз только. запустить разбив на периоды (если нужно) и всё.

ПоследовательностьМенеджер. (SequenceManager. )
СоздатьНаборЗаписей (CreateRecordSet)
Синтаксис:

СоздатьНаборЗаписей()
Возвращаемое значение:

Создает набор записей последовательности.

Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер).
Примечание:

Набор записей создается пустым.

ekaruk, выяснил причину упорядочивания в рамках секунды: упорядочивание происходит по последовательности добавления объектов в дерево конфигурации (ни порядок в дереве, ни имя оъекта, ни вид движения, ни порядок подзапросов при выборке значения значения не имеют).

Другими словами создал простенький вид документа расхода по регистру «Товары на Складах», и он (в рамках секунды уже последовательно распологались: Поступление и Реализация) встал после документа реализации. Потом добавил такой же документ, но уже с приходом по регистру, и он встал в рамках секунды позже всех.

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

(30) IvanAlekseev, Насколько я понимаю, по ИД объекта в конфигурациии.
Так что если для конкретной пары порядок подходит, то работать будет.
Но возможность недокументированная. Лучше, конечно, сдвигать на секунду документы, которые позже.(31) YanTsys, Момент времени назначается следующим после последнего документа этой секунды.

Теоретически можно попробовать сдвинуть документ вперед по моменту времени, просто пересохранив его с пустой датой и опять сохранив с нужной. Тогда он снова зарегистрируется в последовательности документов данной секунды. Хотя может и не получиться.
Сдвинуть назад по оси времени возможности не вижу.
(33) AllexSoft, Путаница может получиться в отчетах.
Есть расходный документ со временем 23.59.59. Бухгалтер формирует отчет на конец дня, а движения документа в него не попадают.

(34) ekaruk, не будет путаницы из за условия
Если Движение.Период = НачалоДня(Движение.Период) тогда

то есть +1сек он будет делать не на все документы, то только у кого время 00.00.00.. по сути приравняем документы расхода 00.00.00 = 00.00.01 и все
с любым другим временем все будет ок, их вообще это касаться не будет

Читайте также:  Установка двойного стекла на иномарки

(35) ekaruk, от части соглашусь, в обработке контроля остатков прийдется добавить точно такое же условие которое сдвигает 00.00.00 —> 00.00.01 и все, проблема решена.

источник

Работа с датами в 1С 8.3 на примерах

В 1С значение типа «Дата» – это календарная дата григорианского календаря (с 01 января 0001 года по 31 декабря 3999 год) и время с точностью до 0,1 миллисекунды. Разработчику неизбежно приходится сталкиваться с данным типом, поэтому в этой статье предлагаю ознакомиться с его основными функциями и принципами работы.

«Дата» в модулях 1С

Как инициализировать дату

С помощью литерала встроенного языка

С помощью функции 1С Дата()

Как указать пустую дату

Функции для работы с датой

Получить текущую дату

Получить отдельные части даты

Следует заметить, что пробел в номере года вставляется при установках по умолчанию (подразумевается, что не установлен признак группировки в региональных установках).

Определить дату и время начала некоторого периода из даты

Для решения таких задач существует набор функций НачалоГода( ), НачалоКвартала( ), НачалоМесяца( ), НачалоНедели( ), НачалоДня( ), НачалоЧаса( ), НачалоМинуты( ). В параметр задаётся значение даты начало периода, которого необходимо определить.

Определить дату и время конца некоторого периода из даты

Для получения конца периода из даты, можно использовать специальные функции НачалоГода( ), НачалоКвартала( ), НачалоМесяца( ), НачалоНедели( ), НачалоДня( ), НачалоЧаса( ), НачалоМинуты( ). Параметр принимает значение «нашей даты», аналогично, как и в функции Начало…().

Определить номер недели или дня в году

Определить номер дня в неделе

Как отнять или прибавить к дате в 1С год, месяц, день, час, минуту, секунду

Чтобы прибавить, вычесть месяц или год правильно использовать функцию ДобавитьМесяц( , ). Если параметру задать отрицательное значение, то число месяцев отнимается.

Получите 267 видеоуроков по 1С бесплатно:

Формат даты в 1С

Функция Формат( , ). В параметре перечисляются параметры форматирования через символ «;». Возвращаемый тип строка.

Для задания параметра можно воспользоваться «конструктором форматной строки». При написании кода вызвать его не составляет труда. Необходимо только нажать правую кнопку «мыши» и из контекстного меню выбрать одноимённый конструктор.

На вкладке «Дата» задаём нужный нам формат.

Как вызвать диалоговое окно для ввода даты

«Дата» в запросах 1С

Инициализация даты в запросах

Функция ДАТАВРЕМЯ()

Синтаксис: Функция ДАТАВРЕМЯ( , , , , , )

Стоит отметить, что параметры данной функции принимают только литералы в отличие от схожей на неё функции для работы с датой в модулях Дата(). Например запись с передачей в функцию полей выборки из временной таблицы ДАТАВРЕМЯ(вт.Год, вт.Месяц, вт.День) выдаст ошибку.

Пустая дата

Текущая дата и работа с условием по дате в запросе

Так же не стоит забывать, что передать в запрос дату можно с помощью параметра. Для указания текущей даты это единственный вариант.

Получить отдельные части даты. Функции: ГОД, КВАРТАЛ, МЕСЯЦ, ДЕНЬ, ЧАС, МИНУТА, СЕКУНДА

В запросе получить отдельные части даты возможно с помощью одноимённых функций ГОД(), КВАРТАЛ(), МЕСЯЦ(), ДЕНЬ(), ЧАС(), МИНУТА(), СЕКУНДА().

Получить начало, конец некоторого периода

Существует две функции для решения таких задач. Соответственно НАЧАЛОПЕРИОДА( , ) и КОНЕЦПЕРИОДА( , ).

Где в параметр указывается «наша дата», а в параметр задаётся значение периода (Год, Полугодие, Квартал, Месяц, Декада, Неделя, День, Час, Минута).

Аналогично и для функции КОНЕЦПЕРИОДА().

Добавить сдвиг к дате

Для решения таких задач пригодится функция ДОБАВИТЬКДАТЕ( , , ). В параметр задаётся «наша дата», в параметр временной интервал (Год, Полугодие, Месяц и т.д.).

Использование функции РАЗНОСТЬДАТ()

РАЗНОСТЬДАТ( , , ). Где параметр принимает значение начальной даты, а параметр конечной. В параметре указывается в разрезе, какой временной единицы необходимо получить результат. Рассмотрим работу данной функции на примере, а именно узнаем, сколько дней осталось до «Нового Года». Результат выведем в окно сообщений.

К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.

источник

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

Adblock
detector