Содержание
- 1 Хранение дат в системе
- 2 Как получить текущую дату и время?
- 3 Как явно указать нужную дату?
- 4 Пустая дата в 1С
- 5 Как соединить дату и время?
- 6 Как сложить две даты
- 7 Как вычислить количество дней между двумя датами
- 8 Как добавить к дате секунду, минуту, час, день
- 9 Как добавить или отнять от даты месяц
- 10 Документ вводится «задним числом»
- 11 Документ уже записан, но требуется изменить дату
- 12 Подведём итоги
- 13 Работа с типом Дата в языке 1С 8.3, 8.2 (в примерах)
- 14 Дата
- 15 Работа с типом Дата в языке 1С 8.3, 8.2 (в примерах)
Хранение дат в системе
В базе данных даты хранятся с точностью до секунд. Для реквизитов типа «дата» можно установить вариант хранения «дата и время», «только дата», «только время».
Переменные типа «дата» всегда представляют дату с секундами. Отсчет дат ведется с Рождества Христова (наша эра), т.е. с 01.01.0001 00:00:00 по Григорианскому календарю. Начальная дата — это не совсем дата. Это значение в системе используется для представления «пустой даты» (аналог пустой ссылки для ссылочных типов или пустой строки «» для строкового типа).
Максимальная дата — 31.12.3999 23:59:59
Как получить текущую дату и время?
Как явно указать нужную дату?
Пустая дата в 1С
В текстах модулей
В запросе
Как соединить дату и время?
Как сложить две даты
Как вычислить количество дней между двумя датами
- Способ 1 (запросом)
- Способ 2
Если у вас есть еще какие то интересные заметки — пиши в комментариях, с радостью добавлю в эту статью.
Как добавить к дате секунду, минуту, час, день
Дата представляет собой количество секунд, прошедших с 1 января 0001 года 00:00:00. Поэтому, чтобы добавить к дате дни, часы, минуты и т.д., нужно прибавить соответствующее количество секунд:
Как добавить или отнять от даты месяц
- Категория: 1С:Предприятие
- Теги: 1С:Бухгалтерия 8.2, 1С:Бухгалтерия 8.3
- Нет комментариев
В предыдущей статье я рассказал вам про [u0423u0447u0435u0431u043du044bu0435 u0441u0442u0430u0442u044cu0438]</span>u0427u0430u0441u0442u044c u043fu0435u0440u0432u0430u044f u0441u0442u0430u0442u044cu0438 u043fu0440u043e u0441u0430u043cu044bu0435 u0447u0430u0441u0442u044bu0435 u043eu0448u0438u0431u043au0438, u0441u043eu0432u0435u0440u0448u0430u0435u043cu044bu0435 u043du0430u0447u0438u043du0430u044eu0449u0438u043cu0438 u043fu043eu043bu044cu0437u043eu0432u0430u0442u0435u043bu044fu043cu0438 1u0421 u0411u0443u0445u0433u0430u043bu0442u0435u0440u0438u0438. u0421u043eu0445u0440u0430u043du0438u0442u044c u0438 u0437u0430u043fu043eu043cu043du0438u0442u044c!»,»image»:»/upload/artemvm.info/information_system_38/3/8/3/item_3833/small_item_3833.jpg»,»href»:»/information/uchebnye-stati/1s-predpriyatie/tipichnye-oshibki-polzovatelej-1s-buhgalterii-8/»}»>типичные ошибки пользователей 1С Бухгалтерии. По крайней мере, про некоторые из них. Данная статья посвящена одной из таких ошибок. Она настолько распространена, что в общем списке её приводить не стоило. Что же это за ошибка?
Заключается она в том, что ну очень частопри создании документов пользователи 1С Бухгалтерии указывают неверную дату документа. Или неверное время. Или все вместе сразу. Давайте посмотрим, с чем связана такая ошибка и как её избежать.
Ниже приведено окно нового документа 1С Предприятие.
[нажмите на картинку для увеличения]
У нового документа по умолчанию подставляется текущая системная дата, если иное не было указано в настройках 1С Бухгалтерии. Обратите внимание на время — оно устанавливается на 00:00:00.
Приведённая выше картина типична для всех [u0423u0447u0435u0431u043du044bu0435 u0441u0442u0430u0442u044cu0438]</span>u0415u0441u043bu0438 u0412u044b u0445u043eu0442u0438u0442u0435 u043fu043eu043du044fu0442u044c, u0432 u0447u0451u043c u0437u0430u043au043bu044eu0447u0430u0435u0442u0441u044f u0440u0430u0437u043du0438u0446u0430 u043cu0435u0436u0434u0443 u0432u0435u0440u0441u0438u044fu043cu0438 1u0421 u0411u0443u0445u0433u0430u043bu0442u0435u0440u0438u0438 u043fu0440u0435u0434u043fu0440u0438u044fu0442u0438u044f 7 u0438 8, u0430 u0442u0430u043au0436u0435 u0447u0435u043c u043eu0442u043bu0438u0447u0430u044eu0442u0441u044f u0432u043eu0441u044cu043cu0451u0440u043au0438, u0432u043du0438u043cu0430u0442u0435u043bu044cu043du043e u043fu0440u043eu0447u0442u0438u0442u0435 u044du0442u0443 u0443u0447u0435u0431u043du0443u044e u0441u0442u0430u0442u044cu044e.»,»image»:»/upload/artemvm.info/information_system_38/3/9/8/item_3985/small_item_3985.jpg»,»href»:»/information/uchebnye-stati/1s-predpriyatie/chem-otlichaytsya-versii-1c/»}»>версий 1С Предприятие. Так где же ошибаются пользователи программы при вводе документов?
Прежде всего стоит сказать, что если документ требуется [u0423u0447u0435u0431u043du044bu0435 u0441u0442u0430u0442u044cu0438]</span>u041du0435u043au043eu0442u043eu0440u044bu0435 u043eu0447u0435u0432u0438u0434u043du044bu0435 u0438 u043du0435 u043eu0447u0435u043du044c u043fu0440u0435u0438u043cu0443u0449u0435u0441u0442u0432u0430 u043eu043du043bu0430u0439u043d u043eu0431u0443u0447u0435u043du0438u044f u0432u0432u043eu0434u0443 u043fu0435u0440u0432u0438u0447u043du044bu0445 u0434u043eu043au0443u043cu0435u043du0442u043eu0432 u0432 1u0421 u041fu0440u0435u0434u043fu0440u0438u044fu0442u0438u0438.»,»image»:»/upload/artemvm.info/information_system_38/3/9/0/item_3904/small_item_3904.jpg»,»href»:»/information/uchebnye-stati/obrazovanie/kommentarij-k-kursu-vvoda-pervichki/»}»>внести в базу 1С текущим временем, то есть сегодняшним числом, то дату изменять вручную не нужно. Дело в том, что при записи нового документа (обратите внимание — номера нет, следовательно, документ ещё не записан) текущей датой его время будет автоматически установлено таким, что он встанет в конец всех сегодняшних документов. Проще говоря, при записи нового документа в базу 1С Бухгалтерии его время будет установлено автоматически и он окажется [u0423u0447u0435u0431u043du044bu0435 u0441u0442u0430u0442u044cu0438]</span>u0427u0442u043e u0442u0430u043au043eu0435 u043au043eu043du0442u0440u043eu043bu044c u043fu043eu0441u043bu0435u0434u043eu0432u0430u0442u0435u043bu044cu043du043eu0441u0442u0438 u043fu0440u043eu0432u0435u0434u0435u043du0438u044f u0434u043eu043au0443u043cu0435u043du0442u043eu0432 u0432 1u0421:u0411u0443u0445u0433u0430u043bu0442u0435u0440u0438u0438 u0438 u0437u0430u0447u0435u043c u043eu043d u043du0443u0436u0435u043d.»,»image»:»/upload/artemvm.info/information_system_38/3/9/1/item_3917/small_item_3917.jpg»,»href»:»/information/uchebnye-stati/1s-predpriyatie/kontrol-posledovatelnosti-provedeniya-dokumentov/»}»>последним в списке.
Так вот, привыкнув вводить документы только текущим числом, а также привыкнув к тому, что программа сама устанавливает правильные (как кажется пользователю) значения некоторых полей, многие часто забывают, что это не всегда работает. Давайте разберём, когда следует вручную устанавливать дату и/или время документа.
Ниже привожу два самых распространённых случая.
Документ вводится «задним числом»
В бухгалтерии, в отличие от торговли, далеко не все документы вводятся текущим временем. Это совершенно нормально. Так вот, если требуется ввести документ не текущей датой, то заполнение такого документа следует начать с установки нужной даты и, по необходимости, времени.
Если требуется ввести много документов на дату, отличающейся от текущей, то лучше всего установить эту дату в настройках программы, чтобы она автоматически подставлялась во все новые документы. Главное, потом не забыть вернуть настройки в прежнее состояние.
Для 1С Бухгалтерии 8.2 установка времени по умолчанию находится в меню Сервис / Параметры.
[нажмите на картинку для увеличения]
В 1С Бухгалтерии 8.3 нужно зайти в раздел Администрирование и на Панели действий выбрать пункт Персональные настройки.
[нажмите на картинку для увеличения]
В таком случае дата будет подставляться такая, какую указали и думать об этом не нужно. Если же документ один или их немного, а в настройки лезть лень (хотя они для этого и созданы!), то просто ставьте дату вручную. Главное — не забывать это делать в каждом документе!
Документ уже записан, но требуется изменить дату
Другой случай — вы уже записали документ, а, возможно, и провели его, но вдруг выяснилось, что нужно изменить дату. Особенность такой операции заключается в том, что при изменении даты для уже записанного документа (проведённого или нет — неважно), время требуется [u0423u0447u0435u0431u043du044bu0435 u0441u0442u0430u0442u044cu0438]</span>u0421u0435u0439u0447u0430u0441 u044f u0440u0430u0441u0441u043au0430u0436u0443 u0412u0430u043c u043fu0440u043e u0440u0443u0447u043du044bu0435 u043eu043fu0435u0440u0430u0446u0438u0438 u0438 u043au043eu0440u0440u0435u043au0442u0438u0440u043eu0432u043au0443 u043fu0440u043eu0432u043eu0434u043eu043a u0432 u0434u043eu043au0443u043cu0435u043du0442u0430u0445.»,»image»:»/upload/artemvm.info/information_system_38/3/8/5/item_3852/small_item_3852.jpg»,»href»:»/information/uchebnye-stati/1s-predpriyatie/ruchnoe-redaktirovanie-provodok/»}»>установить вручную. Если этого не сделать, то вполне может получиться, что документ «встанет куда попало» (если вам все равно, то можно и не трогать — иногда это не имеет значения).
Особенно это критично в тех случаях, когда от данного документа [u0423u0447u0435u0431u043du044bu0435 u0441u0442u0430u0442u044cu0438]</span>u0427u0442u043e u0442u0430u043au043eu0435 u043au043eu043du0442u0440u043eu043bu044c u043fu043eu0441u043bu0435u0434u043eu0432u0430u0442u0435u043bu044cu043du043eu0441u0442u0438 u043fu0440u043eu0432u0435u0434u0435u043du0438u044f u0434u043eu043au0443u043cu0435u043du0442u043eu0432 u0432 1u0421:u0411u0443u0445u0433u0430u043bu0442u0435u0440u0438u0438 u0438 u0437u0430u0447u0435u043c u043eu043d u043du0443u0436u0435u043d.»,»image»:»/upload/artemvm.info/information_system_38/3/9/1/item_3917/small_item_3917.jpg»,»href»:»/information/uchebnye-stati/1s-predpriyatie/kontrol-posledovatelnosti-provedeniya-dokumentov/»}»>зависят другие или он сам зависит от других документов. Небольшой пример по определению взаимозависимостей я разбирал [u0423u0447u0435u0431u043du044bu0435 u0441u0442u0430u0442u044cu0438]</span>u0421u0435u0439u0447u0430u0441 u043cu044b u0440u0430u0441u0441u043cu043eu0442u0440u0438u043c, u043au0430u043a u0438u0437u0431u0435u0436u0430u0442u044c u043eu0448u0438u0431u043eu043a u043fu0440u0438 u0432u0432u043eu0434u0435 u0430u0432u0430u043du0441u043eu0432u044bu0445 u043eu0442u0447u0435u0442u043eu0432 — u0447u0442u043e u044du0442u043e u0437u0430 u043eu0448u0438u0431u043au0438 u0438 u043au0430u043a u0438u0445 u043du0435 u0441u043eu0432u0435u0440u0448u0438u0442u044c.»,»image»:»/upload/artemvm.info/information_system_38/3/8/3/item_3830/small_item_3830.jpg»,»href»:»/information/uchebnye-stati/1s-predpriyatie/massovyi-vvod-avansovyh-otchetov/»}»>в статье про авансовые отчеты.
Более подробно о влиянии порядка документов на особенности их проведения, а также на формируемые ими проводки, я рассматриваю в своем [ArtemVM.iNFO]</span>u0426u0435u043du0430: 16000 u0440u0443u0431.</strong>u0418u043du0434u0438u0432u0438u0434u0443u0430u043bu044cu043du044bu0439 u043eu043du043bu0430u0439u043d u043au0443u0440u0441 u043fu043e u0432u0435u0434u0435u043du0438u044e u0431u0443u0445u0433u0430u043bu0442u0435u0440u0441u043au043eu0433u043e u0443u0447u0451u0442u0430 u0432 u043au043eu043du0444u0438u0433u0443u0440u0430u0446u0438u0438 1u0421:u0411u0443u0445u0433u0430u043bu0442u0435u0440u0438u044f 8.3 u0434u043bu044f u044eu0440u0438u0434u0438u0447u0435u0441u043au043eu0433u043e u043bu0438u0446u0430 u043du0430 u043eu0441u043du043eu0432u043du043eu0439 u0441u0438u0441u0442u0435u043cu0435 u043du0430u043bu043eu0433u043eu043eu0431u043bu043eu0436u0435u043du0438u044f.»,»image»:»/upload/artemvm.info/shop_3/1/9/6/item_196/small_item_196.jpg»,»href»:»/shop/online/1s-predpriyatie/vedenie-uchyota-v-programme-1s-buhgalteriya-8.3-yuridicheskoe-lico-osno/»}»>курсе 1С Бухгалтерии 8. Просто запомните — при перестановке записанного документа на другую дату следует быть внимательными и при необходимости установить время вручную!
Подведём итоги
При создании нового документа начинайте заполнять его с самого верха, не пропуская поля (в том числе и дату), которые заполняются автоматически! Это позволит избежать многих ошибок при ведении учета.
Авторы публикации
Артём В. Меньщиков
Преподаватель & программист
[u0423u0447u0430u0441u0442u043du0438u043au0438 u043fu0440u043eu0435u043au0442u0430]</span>u0410u0432u0442u043eu0440 u043eu043du043bu0430u0439u043d u043au0443u0440u0441u043eu0432 u0438 u0443u0447u0435u0431u043du044bu0445 u0432u0438u0434u0435u043eu043au0443u0440u0441u043eu0432, u043eu0441u043du043eu0432u043du043eu0439 u043fu0440u0435u043fu043eu0434u0430u0432u0430u0442u0435u043bu044c u043fu0440u043eu0435u043au0442u0430, u043fu0440u043eu0433u0440u0430u043cu043cu0438u0441u0442. u0420u0430u0437u0440u0430u0431u043eu0442u0447u0438u043a u0438 u0430u0434u043cu0438u043du0438u0441u0442u0440u0430u0442u043eu0440 u043eu0431u0440u0430u0437u043eu0432u0430u0442u0435u043bu044cu043du043eu0433u043e u0438 u0438u043du0444u043eu0440u043cu0430u0446u0438u043eu043du043du043eu0433u043e u043fu0440u043eu0435u043au0442u0430 ArtemVM.INFO.»,»image»:»/upload/artemvm.info/information_system_47/3/7/8/item_3787/small_item_3787.jpg»,»href»:»/information/uchastniki-proekta/artemvm/»}»>подробнее
Работа с типом Дата в языке 1С 8.3, 8.2 (в примерах)
Всё для программиста >> Справочник языка 1С
Вступайте в мою группу помощник программиста.В ней мы обсуждаем программирование в 1С.
ДатаЕслиМассивыМатематикаПроцедурыСтрокиЦиклыДиалогиОписаниеТиповОперационнаяСистемаПриложениеСоответствиеСписокЗначенийСтруктураТаблицаЗначенийФайловаяСистемаФорматОбщиеОбъектыЗапросыПрикладныеОбъектыУниверсальныеФункции
См. урок для начинающих по работе с датами в 1С Скачать эти примеры в виде тестовой базы (как загрузить, как исследовать) Смотреть видео с демонстрацией выполнения кода
Дата
Описание:
Значения данного типа содержит дату григорианского календаря (с 01 января 0001 года) и время с точностью до 0,1 миллисекунды.
Литералы:
Строка цифр, заключенная в одинарные кавычки вида: ‘ГГГГММДДччммсс’, где:
- ГГГГ — четыре цифры года (включая тысячелетие и век);
- ММ — две цифры месяца;
- ДД — две цифры даты;
- чч — две цифры часа (в 24-х часовом формате);
- мм — две цифры минут;
- сс — две цифры секунд;
Во встроенном языке в литерале типа Дата обязательно должно задаваться значение года, месяца и дня. Для задания даты соответствующей началу отсчета достаточно указать ‘00010101’. Допускается при указании литералов типа Дата опускать последние символы (секунды, минуты, часы и т.д.). Это означает, что данные параметры будут равны нулю (для времени) или единице (для даты). В литерале даты допускается использование различных разделителей.
&НаКлиенте Процедура ВыполнитьКод(Команда) /// Как инициализировать дату константой в 1с 8.3, 8.2 Дата ='20130724';// 24.07.2013 /// Как преобразовать строку в дату в 1с 8.3, 8.2 Дата = Дата("20130724");// 24.07.2013 /// Как инициализировать дату отдельными компонентами в 1с 8.3, 8.2 Дата = Дата(2013,07,24);// 24.07.2013 /// Как указать в дате часы, минуты и секунды в 1с 8.3, 8.2 Дата ='20130724132506';// 24 июля 2013 г. 13 ч. 25 мин. 6 сек. /// Как узнать год (месяц, день, час, минута, секунда) у /// даты в 1с 8.3, 8.2 Г = Год(Дата);// 2013 М = Месяц(Дата);// 7 Д = День(Дата);// 24 Ч = Час(Дата);// 13 Ми = Минута(Дата);// 25 С = Секунда(Дата);// 6 /// Как получить текущую дату в 1с 8.3, 8.2 Сообщить(ТекущаяДата()); /// Операции с датой в 1с 8.3, 8.2 Сообщить(ТекущаяДата()+1);// прибавили секунду Сообщить(ДобавитьМесяц(ТекущаяДата(),1));// прибавили месяц Сообщить(ДобавитьМесяц(ТекущаяДата(),-1));// отняли месяц /// Вспомогательные функции для работы с датой в 1с 8.3, 8.2 Дата ='20130110125905';// 10 января 2013 года 12:59:05 Сообщить(ДеньГода(Дата));// 10 Сообщить(ДеньНедели(Дата));// 4 т.е. четверг (нумерация с понедельника) Сообщить(НеделяГода(Дата));// 2 Сообщить(НачалоГода(Дата));// 01.01.2013 0:00:00 Сообщить(КонецГода(Дата));// 31.12.2013 23:59:59 Сообщить(НачалоКвартала(Дата));// 01.01.2013 0:00:00 Сообщить(КонецКвартала(Дата));// 31.03.2013 23:59:59 Сообщить(НачалоМесяца(Дата));// 01.01.2013 0:00:00 Сообщить(КонецМесяца(Дата));// 31.01.2013 23:59:59 Сообщить(НачалоНедели(Дата));// 07.01.2013 0:00:00 Сообщить(КонецНедели(Дата));// 13.01.2013 23:59:59 Сообщить(НачалоДня(Дата));// 10.01.2013 0:00:00 Сообщить(КонецДня(Дата));// 10.01.2013 23:59:59 Сообщить(НачалоЧаса(Дата));// 10.01.2013 12:00:00 Сообщить(КонецЧаса(Дата));// 10.01.2013 12:59:59 Сообщить(НачалоМинуты(Дата));// 10.01.2013 12:59:00 Сообщить(КонецМинуты(Дата));// 10.01.2013 12:59:59 КонецПроцедуры /// Скачать и выполнить эти примеры на компьютере |
Скачать эти примеры в виде тестовой базы (как загрузить, как исследовать)
Работа с типом Дата в языке 1С 8.3, 8.2 (в примерах)
ДатаЕслиМассивыМатематикаПроцедурыСтрокиЦиклыДиалогиОписаниеТиповОперационнаяСистемаПриложениеСоответствиеСписокЗначенийСтруктураТаблицаЗначенийФайловаяСистемаФорматОбщиеОбъектыЗапросыПрикладныеОбъектыУниверсальныеФункции С уважением, (преподаватель школы 1С программистов и разработчик обновлятора).
Всё для программиста >> Справочник языка 1С
Подписывайтесь и получайте новые статьи и обработки на почту (не чаще 1 раза в неделю). Вступайте в мою группу ВКонтакте, Одноклассниках, Facebook или Google+ — самые последние обработки, исправления ошибок в 1С, всё выкладываю там в первую очередь. |
Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.
Нажмите одну из кнопок, чтобы поделиться:
Используемые источники:
- https://codernote.ru/1c/rabota-s-datami-v-1s/
- https://artemvm.info/information/uchebnye-stati/1s-predpriyatie/ustanovka-daty-v-dokumente/
- https://helpme1c.ru/rabota-s-tipom-data-v-yazyke-1s-8-v-primerax