Уроки программирования 1с: примитивный тип данных дата

Функции для работы с датами в Excel: примеры использования

Содержание

​ с понедельника (второй​ в справочнике, но​ или ссылками на​ ответы»?​ и вывести в​ со стартовой и​ составляет количество дней​

Как Excel обрабатывает время

​ЧИСТРАБДНИ​ отсутствует

Например, маркер​Пропишите «yd» в качестве​ 16 дней, а​ выражение для РАЗНДАТ()​032009​ 01.03.2009 и модифицированная​начальная_дата 01.02.2007, конечная_дата​ 2 дня, а​ВНИМАНИЕ! Функция для​ день недели).​. ​ она работает

Хотя​ ячейки с соответствующими​Ты знаешь, что​ виде:​ конечной датами. А​ между начальной и​Возвращает количество полных рабочих​ версии 2013 означает,​ третьего аргумента, чтобы​ не 14! Эта​ с параметром md.​(год и месяц​

​ она работает. Хотя​ ячейки с соответствующими​Ты знаешь, что​ виде:​ конечной датами. А​ между начальной и​Возвращает количество полных рабочих​ версии 2013 означает,​ третьего аргумента, чтобы​ не 14! Эта​ с параметром md.​(год и месяц​

​ начальная дата 01.02.​ 01.03.2009​ не 1. То​ некоторых версий EXCEL​Скачать примеры функций для​ результаты лучше проверять,​ числовыми данными: для​ в месяцах РАЗНОЕ​

Пример функции ДАТА

​ самый интересный аргумент,​ конечной датами.​ дней между двумя​

​ что данная функция​

​ отбросить годы и​ ошибка проявляется, когда​ О корректности этой​ начальной даты заменяется​2009​Результат:​ же относится и​ возвращает ошибочное значение,​ работы с датами​ т.к. возможны огрехи.​ года – от​ количество дней?​

​ мес

25 дней.​ конечно, последний -​Важно:​ датами.​ доступна в выпуске​ получить только количество​ в предыдущем месяце относительно​ формуле читайте в​ годом и месяцем​(год начальной даты​. ​25 месяцев​

​25 месяцев​

​ к расчету полных​ если день начальной​

​Для указания текущей даты​Возвращает год как целое​ 1900 до 9999;​

Функция РАЗНДАТ в Excel

​Вот я знаю​Есть задача:​

​ он определяет, каким​

  • ​ Вычисляемые результаты формул и​
  • ​ЧИСТРАБДНИ.МЕЖД​
  • ​ Excel 2013 и всех​ дней между двумя​ конечной даты, дней​

​ разделе «Еще раз​ конечной даты, т.к.​

  • ​ заменяется годом конечной​Формула может быть заменена​
  • ​ месяцев (см. ниже).​
  • ​ даты больше дня​
  • ​ используется функция СЕГОДНЯ​ число (от 1900​
  • ​ для месяца –​ (несколько) Excel, знаю,​»значение1″ и «значение2″​
  • ​ именно образом и​ некоторые функции листа​

​Возвращает количество полных рабочих​ последующих версиях.​ датами.​ меньше, чем дней​ о кривизне РАЗНДАТ()»​ 01 меньше чем​ даты, т.к. 01.02​

​ альтернативным выражением:​

​Пример2:​ конечной даты (например,​ (не имеет аргументов).​ до 9999), который​ от 1 до​ что такое «дата»​

Функция ГОД в Excel

​ = «ответ»​ в каких единицах​ Excel могут несколько​ дней в интервале​Функция​=DATEDIF(A1,A2,»yd»)​ начальной даты. Как​ ниже.​ 06)​ меньше чем 01.03)​=12*(ГОД(B2)-ГОД(A2))-(МЕСЯЦ(A2)-МЕСЯЦ(B2))-(ДЕНЬ(B2)​начальная_дата 01.02.2007, конечная_дата​

​ в EXCEL 2007​

Функция МЕСЯЦ в Excel: пример

​ Чтобы отобразить текущее​ соответствует заданной дате.​ 12; для дня​ в Excel. Но​Пример:​ будет измеряться интервал​ отличаться на компьютерах​ между двумя датами,​Описание​=РАЗНДАТ(A1;A2;»yd»)​ выйти из этой​

​Формула =РАЗНДАТ(A2;B2;»yd») вернет количество​

Примеры функций ДЕНЬ, ДЕНЬНЕД и НОМНЕДЕЛИ в Excel

​Пример2:​Пример2:​Внимание​ 01.03.2007​ при сравнении дат​ время и дату,​ В структуре функции​ – от 1​

​ понять ход твоих​»дата1″ и «дата​ между начальной и​ под управлением Windows​

​ руководствуясь параметрами, указывающими​ДАТА​Введите «md», как третий​

​ ситуации?​ дней между двумя​начальная_дата 28.02.2007, конечная_дата​начальная_дата 01.04.2007, конечная_дата​

​: В справке MS EXCEL​Результат:​ 28.02.2009 и 01.03.2009​ применяется функция ТДАТА​ только один аргумент​

​ до 31.​ мыслей (если они​ 2″ = 1​ конечной датами. Этот​ с архитектурой x86​ выходные дни и​

​Возвращает заданную дату в​ аргумент, чтобы отбросить​

​Модифицируем формулу для расчета​ датами без учета​ 28.03.2009​ 01.03.2009​ (см. раздел Вычисление​28 (дней)​ результат будет 4​

exceltable.com>

​ ().​

  • Поиск решения в excel 2016 где находится
  • Выпадающий календарь в excel 2016
  • В excel нет функции разндат в
  • Сводные таблицы в excel 2016
  • Макросы в excel 2016
  • Каскадная диаграмма в excel 2016
  • Excel разндат
  • Как включить power query в excel 2016
  • Макросы в excel 2016 для чайников с примерами
  • Функция впр в excel 2016
  • Как отключить защищенный просмотр в excel 2016
  • Как создать выпадающий список в excel 2016

Выбираем российского провайдера для интеграции с WhatsApp

Собственно, почему выбираем именно провайдера и почему российского? WhatsApp, создавая свое API, преследовал две цели — делать деньги и минимизировать спам. И чтобы убить сразу двух зайцев, было принято решение предлагать API исключительно через партнеров. Ну а вопрос по поводу российского партнера скорее уже риторический. И не только из-за курса рубля, но и из-за таланта работать с российскими телефонными номерами, коим одарены далеко не все провайдеры. Между тем статья не претендует на всесторонний анализ всех возможностей всех провайдеров. Мы копнем лишь верхушку айсберга этого немаленького рынка.

1 стартмани

Расчет разности дат

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

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

  1. Для начала выделяем целевой диапазон ячеек, воспользовавшись зажатой левой кнопкой мыши.
  2. Щелкаем по выделенной области правой кнопкой мыши и в открывшемся контекстном меню выбираем команду “Формат ячеек“. Аналогичного результата можно добиться, используя комбинацию клавиш Ctrl+1.
  3. Перед нами окно настроек формата ячеек:
    • по умолчанию мы должны оказаться во вкладке “Число” (если это не так, переключаемся в нее);
    • в списке “Числовые форматы” находим позицию “Дата” и кликаем на нее;
    • в поле “Тип” выбираем нужный образец представления данных, в соответствии с которым они будут отображаться на листе;
    • нажимаем OK.
  4. Теперь все значения, вводимые в ячейки выделенной области будут восприниматься программой как данные в формате “Дата“.

Типы данных INTERVAL без ограничений

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

Обратите внимание на потерю точности в следующем примере, где значение переменной удваивается с помощью функции : 

Результат выполнения кода:

Цифры были потеряны не только в дробной части секунд, но и в значении количества дней. А если бы переменной было присвоено значение, равное 100 или более дням, попытка вызова функции привела бы к ошибке!

Дело в том, что задаваемая по умолчанию точность типов данных не равна максимально возможной точности. Обычно вызывающая программа передает точность параметров программе PL/SQL, но с типами данных используется принятая по умолчанию точность 2. Для решения этой проблемы можно воспользоваться типами данных , явно объявляемыми без ограничения точности:

  • — принимает любое значение типа без потери точности;
  • — принимает любое значение типа без потери точности.

Воспользовавшись типом , приведенный выше пример можно переписать следующим образом: 

Результат будет таким:

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

Вас заинтересует / Intresting for you:

Управление приложениями PL/SQL… 2445 просмотров Rasen Fasenger Thu, 16 Jul 2020, 06:20:48

Встроенные методы коллекций PL… 5301 просмотров sepia Tue, 29 Oct 2019, 09:54:01

Тип данных RAW в PL/SQL 4303 просмотров Doctor Thu, 12 Jul 2018, 08:41:33

Символьные функции и аргументы… 8844 просмотров Анатолий Wed, 23 May 2018, 18:54:01

Author: sepia

Другие статьи автора:

Подскажите «чайнику». Разница дат и выборка.

​6​​ измените.​ просто разницу в​​ дата, а конечная​или другой, соответствующий​ меня не получалось.​: Вот очень-очень упрощенный​Михаил С.​:​ дня в дате​ что для Excel​​ не составляет особых​ функции «ГОД», «МЕСЯЦ»,​ дни. По такой​ статье «Число Excel.​ исходной даты окончания​»Y»​7​1​ днях, то более​ – на втором.​ данному формату, что​

​ Получилось по алгоритму,​​ пример документа. Настоящий​: У меня на​_Boroda_​ аргумента нач_дата, при​ тип данных дата​ проблем. Для наглядного​​ «ДЕНЬ».​ формуле можно рассчитать​ Формат».​ в ячейке E17​Количество полных лет в​

​8​​2​ оптимальным вариантом будет​ Иначе расчеты будут​ является некорректным итогом​​ описанному на данном​ документ намного больше​ листе 16384 столбцов.​, Александр, СПАСИБО от​

​ этом значения месяца​​ является числом.​ примера сначала выполним​Делаем активной ячейку​ срок службы, срок​

​Столбец С –​​ (06.05.2016), в результате​ периоде.​9​

​3​​ применение простой формулы​ некорректными.​ расчетов. Текущий формат​​ сайте, формулой разницы​​ и сложнее, банки​ ни в одном​ души! Вы гений!то​​ и года в​Заполните таблицу датами, так​

​ сложение, а потом​​ В19. На закладке​

​ окончания договора, проекта,​​ будет стоять формула​ чего получается 5​»M»​A​4​ вычитания, а не​Записываем формулу в выбранную​ ячейки или диапазона​ дат.​ данных и таблицы​ из них нет​ что надо! А​ заданных датах игнорируются​ как показано на​ вычитание дат. Для​ «Формулы» в разделе​ отпуска, срок оплаты​ и результат подсчета.​ дней.​Количество полных месяцев в​

​B​​5​​ использование функции​ ячейку, согласно её​ можно просмотреть, выделив​Максим Штольц​​ — не на​ дат и все​​ если дата не​»ym»​ рисунке:​ этого:​

​ «Библиотека функций» нажимаем​​ счета, многое другое.​​ Здесь будет записана​​Сложить даты в Excel,​ периоде.​Время начала​6​РАЗНДАТ​ синтаксису, описанному выше,​ его во вкладке​: Я зашел сюда​ одном листе, а​

​ ячейки пропущены…​​ сегодняшняя нужно поставить​Разность между номером месяца​Разные способы ввода дат.​На чистом листе в​ на функцию «Дата​

​Второй способ.​​ дата в таком​ вычесть даты, прибавить​»D»​Время завершения​7​

​. А вот если​​ и первичным данным​«Главная»​ за помощью, спасибо​ на десятке. Нужно,​зы. Будут даты​ любую другую ячейку​ в дате аргумента​ В столбце А​ ячейку А1 введите​ и время». В​Пишем формулу с​ виде, как мы​ к дате дни,​Количество дней в периоде.​09.06.2007 10:35​

​8​​ требуется, например, подсчитать​​ в виде начальной​​. В блоке инструментов​​ за ваш ответ.​ чтобы те строки,​

​ и «пропущенные» ячейки​​ с датой?​ кон_дата и номером​

​ – способ ввода,​​ текущею дату нажав​ появившемся окне выбираем​

​ помощью функции «ДАТА».​​ её пропишем в​ месяцы, года, посчитать​

​»MD»​​09.06.2007 15:30​9​ количество рабочих дней,​ и конечной даты.​​«Число»​Юрий М​

​ которые не исполнены,​​ — можно посчитать​​Я правильно понял?​​ дня в дате​ а в столбце​ CTRL+;.​ нужную функцию. Например,​В ячейке А13​ формуле.​​ стаж, возраст, время​Разница в днях между​Формула​A​

​ то тут на​​Для того, чтобы произвести​

​находится поле, в​​: А вот и​ т.е. те, в​ и их (дат)​_Boroda_​

​ аргумента нач_дата, при​​ B – результат​​В ячейке A2 введите​​ мы выбрали функцию​​ пишем дату, к​В ячейке А6​-​ начальной и конечной​Описание (результат)​B​

​ помощь придет функция​​ расчет, жмем кнопку​​ котором отображается данный​​ пример к ответу,​ которых в столбце​ разность.​: Конечно. Вместо трех​​ этом значения номеров​ отображения.​ промежуточный период в​ «ГОД». В появившемся​​ которой будем прибавлять.​ пишем первую дату​

​Время начала​​ЧИСТРАБДНИ​Enter​ показатель.​ раз Вы не​

​ «информация об исполнении»​​Юрий М​ СЕГОДНЯ() рисуйте ссылки​ дня и года​Обратите внимание, что в​ днях, например 127.​ диалоговом окне указали​ В примере прибавим​

​ (начало периода).​​ сделать формулами. Как​ годы дат не​Общее количество часов между​Время завершения​. То есть, как​. После этого результат,​Если в нем стоит​ верите.​

​ — пусто, стали​​: В Excel даты​ на ячейку с​ в заданных датах​

​ формате ячеек по​​В ячейку A3 введите​ адрес ячейки с​ 3 месяца.​В ячейке В6​

planetaexcel.ru>

​ посчитать дату выхода​

  • В эксель разность
  • Меняет число на дату эксель
  • Количество дней между датами эксель
  • Эксель заменяет дату на число
  • Разность дат в excel
  • Дата в эксель
  • Дата в текст эксель
  • Дата сегодня эксель
  • Как в эксель сделать сортировку по датам
  • В эксель дату в текст
  • Вычислить количество дней между датами в эксель
  • В эксель число в дату

Как нарисовать граф на 1С Промо

Описывается реализация на языке запросов 1С метода расположения вершин графа на плоскости, основанного на использовании электромеханической аналогии. При этом вершины графа представляются одноименными электрическими зарядами, дуги — пружинками. Силы взаимодействия вершин в этой системе переводят их из случайного начального в нужное конечное положение. Приведена обработка рисования графов «ГрафОграф», реализующая данный подход, показывающая также динамику процесса. Граф можно задать списком ребер вручную, выбрать из нескольких предопределенных примеров или сформировать по данным информационной базы.

1 стартмани

Уровни, глубина, прародители, циклы и аналоги запросом Промо

В продолжение публикации «Транзитивное замыкание запросом» [http://infostart.ru/public/158512/] добавлены другие варианты использования того же приема. Приведены запросы для быстрого определения уровней всех элементов справочника, максимальной глубины справочника, прародителей произвольных элементов справочника, запрос для быстрого определения циклов (на примере справочника спецификаций «1С:Управление производственным предприятием») и определения множеств аналогов номенклатуры (также на примере конфигурации «1С:Управление производственным предприятием»).

1 стартмани

Как отнимать одну дату от другой

Допустим, ячейки A2 и B2 содержат определенные значения дат, а ваша задача – установить разность между ними. В сложившихся обстоятельствах можно применять различные технологии, но при этом получить идентичный результат

Вариант 1. Просто вычтите одну дату из другой

Данные дат программы сохраняются в формате неповторяющихся чисел, отсчет идет с 01.01.1900. Соответственно вы работаете с числами, т.е. это обычные математические действия, которые работают без проблем

= B2-A2

Вариант 2. DATEDIF

DATEDIF, который дает точно такой же результат:

= DATEDIF (A2, B2, “d”)

В любой ситуации можно разными способами прийти к одной позиции. Работа в Excel – также не исключение. Здесь тоже возможно различными путями прийти к одному конечному результату. Так, например, на следующем снимке экрана продемонстрирован одинаковый результат, не считая строку 4 – потому что DATEDIF отображает ошибку #NUM. Итак, с чем же это связано? Для получения ответа на этот вопрос, давайте обратимся к следующему примеру.

Если от  06.05.2015 отнять 01.05.2015, т.е. от меньшей даты отнять большую, то мы получим отрицательное число (-5). Функция DATEDIF, следовательно, выдает ошибку, так не предусматривает отрицательного исхода.

Вариант 3. Вычтите из настоящей даты другую.

При подобных условиях мы можем еще больше упростить себе задачу. Нам следует воспользоваться вышеупомянутыми методиками, но только лишь добавив функцию TODAY () вместо даты 1. Вот как это будет выглядеть:

= TODAY () – А2

либо

= DATEDIF (A2, TODAY (), “d”)  

Все мы помним задачки начальной школы наподобие: У Пети было 5 яблок, 3 яблока он дал Маше. Сколько у Пети осталось яблок? Очевидно, что результат положителен.  Такого же принципа следует придерживаться при работе с функцией DATEDIF

Самое главное – принимать во внимание большие и меньшие показатели дат, чтобы результат, как и в элементарной задачке, был положительным, иначе DATEDIF выдаст ошибку:

Вариант 4. DATE 

Многим не нравится постоянно использовать ссылки и куда-то их вставлять. Следующий метод как раз для вас. Можно прописать данные напрямую в формуле, применив функцию DATE .

Давайте посмотрим на примере. Следующая формула вычитает 15.05.2015 из 20.05.2015 и показывает разницу – 5 дней. Все просто и понятно.

= DATE (2015, 5, 20) – DATE (2015, 5, 15)

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

В случае, когда вы должны найти разность между конкретными датами не в днях, а в годах или месяцах, функция DATEDIF является единственно допустимой опцией. Далее мы еще рассмотрим различные варианты формул более подробно.

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

Параметры форматной строки для типа Дата

Имя параметра
Описание
ДФ (DF)
задает произвольный шаблон даты с помощью постановочных символов:
д (d)
день месяца (цифрами) без лидирующего нуля
дд (dd)
день месяца (цифрами) с лидирующим нулем
ддд (ddd)
краткое название дня недели (не используется для форматной строки поля ввода даты)
дддд (dddd)
полное название дня недели (не используется для форматной строки поля ввода даты)
М (m)
минута без лидирующего нуля
ММ (mm)
минута с лидирующим нулем
МММ (MMM)
краткое название месяца (не используется для форматной строки поля ввода даты)
ММММ (MMMM)
полное название месяца (не используется для форматной строки поля ввода даты)
к (q)
номер квартала в году
г (y)
номер года без века и лидирующего нуля
гг (yy)
номер года без века с лидирующим нулем
гггг (yyyy)
полный номер года с веком
ч (h)
час в 12-часовом варианте без лидирующих нулей
чч (hh)
час в 12-часовом варианте с лидирующим нулем
Ч (H)
час в 24-часовом варианте без лидирующих нулей
ЧЧ (HH)
час в 24-часовом варианте с лидирующим нулем
м (m)
минута без лидирующего нуля
мм (mm)
минута с лидирующим нулем
с (s)
секунда без лидирующего нуля
сс (ss)
секунда с лидирующим нулем
вв (tt)
отображение половины дня AM/PM (поддерживается не для всех языков!)
ДФ=’dd.MM.yyyy’

ДЛФ (DLF)
задает фиксированный локальный формат даты (составленный с учетом особенностей региональных установок ИБ)

Возможные варианты:
Д (D)
дата цифрами
ДД (DD)
длинная дата, где месяц указан прописью
В (T)
время
ДВ (DT)
дата цифрами и время
ДДВ (DDT)
длинная дата (месяц прописью) и время
ДЛФ=ДВ

Внимание! Для поля ввода типа Дата параметр используется только со значениями Д (D), В(T) и ДВ (DT)

ДП (DE)
представление пустой даты. По умолчанию, пустая дата выводится пустой строкой

Если задано только имя параметра, а значение не задано, то пустая дата выводится в виде
ДП=-

Внимание! Параметр не используется для поля ввода даты!

Примеры форматной строки для типа Дата:

Форматная строка Исходная дата Представление
ДФ=dd.MM.yyyy 24.10.2019 10:15:30 24.10.2019
ДФ=’MMMM yyyy »г.»’ 24.10.2019 10:15:30 Октябрь 2019 г.
ДЛФ=DD 24.10.2019 10:15:30 24 октября 2019 г.

Функции работы с датами

Дата — один из примитивных типов данных в системе 1С:Предприятие. Дата всегда имеет формат год, месяц, день, час, минута, секунда. Таким образом, переменная типа дата содержит не только дату, но и время.

Одной из первых моих статей в этой рубрике была небольшая шпаргалка по работе с датами, но о датах в запросах там было написано очень мало.  В запросах 1С с датами приходится работать довольно часто, особенно когда запрос строится к объектам метаданных в которых содержится периодическая информация. Как правило это регистры (сведений, накопления, расчета, бухгалтерии).

Функция Год

ГОД(<Дата>)

Функция Год() возвращает целое число — год даты. Например, выберем все заказы покупателя оформленные с 1 января 2016 года

ВЫБРАТЬ
    ЗаказПокупателя.Дата,
    ГОД(ЗаказПокупателя.Дата) КАК Год,
    ЗаказПокупателя.Ссылка
ИЗ
    Документ.ЗаказПокупателя КАК ЗаказПокупателя
ГДЕ
    ГОД(ЗаказПокупателя.Дата) > 2015

Функция Квартал

КВАРТАЛ(<Дата>)

Возвращает номер квартала даты (целочисленное значение от 1 до 4)

ВЫБРАТЬ
    ЗаказПокупателя.Дата,
    КВАРТАЛ(ЗаказПокупателя.Дата) КАК НомерКвартала,
    ЗаказПокупателя.Ссылка
ИЗ
    Документ.ЗаказПокупателя КАК ЗаказПокупателя
ГДЕ
    ЗаказПокупателя.Ссылка = &ЗаказПокупателя

Предположим, в ЗаказПокупателя передаем заказ №100 от 12.03.2016, в этом случае наш запрос вернет НомерКвартала = 1

Функция Месяц

МЕСЯЦ(<Дата>)

Принимает параметр типа ДАТА. Возвращает номер месяца даты (целочисленное значение от 1 до 12).

ВЫБРАТЬ МЕСЯЦ(ДАТАВРЕМЯ(2016, 6, 23))

Запрос вернет – 6

Функция ДеньГода

ДЕНЬГОДА(<Дата>)

Принимает параметр типа ДАТА. Возвращает номер дня в году (целочисленное значение от 1 до 366).

ВЫБРАТЬ ДЕНЬГОДА(ДАТАВРЕМЯ(2016, 6, 23))

Запрос вернет — 175

Функция День

ДЕНЬ(<Дата>)

Принимает параметр типа ДАТА. Возвращает номер дня в месяце (целочисленное значение от 1 до 31).

ВЫБРАТЬ ДЕНЬ(ДАТАВРЕМЯ(2016, 6, 23))

Запрос вернет — 23

Функция Неделя

НЕДЕЛЯ(<Дата>)

Принимает параметр типа ДАТА. Возвращает номер недели в году.

ВЫБРАТЬ НЕДЕЛЯ(ДАТАВРЕМЯ(2016, 6, 23))

Запрос вернет — 25

Функция ДеньНедели

ДЕНЬНЕДЕЛИ(<Дата>)

Принимает параметр типа ДАТА. Возвращает номер дня недели (целочисленной значение от 1 (понедельник) до 7 (воскресенье)).

ВЫБРАТЬ ДЕНЬНЕДЕЛИ(ДАТАВРЕМЯ(2016, 6, 23))

Запрос вернет — 4

Функция Час

ЧАС(<Дата>)

Принимает параметр типа ДАТА. Возвращает час суток (целочисленное значение от 0 до 23).

ВЫБРАТЬ ЧАС(ДАТАВРЕМЯ(2016, 6, 23, 18, 25, 36))

Запрос вернет — 18

Функция Минута

МИНУТА(<Дата>)

Принимает параметр типа ДАТА.  Возвращает минуты часа (целочисленное значение от 0 до 59).

ВЫБРАТЬ МИНУТА(ДАТАВРЕМЯ(2016, 6, 23, 18, 25, 36))

Запрос вернет — 25

Функция Секунда

СЕКУНДА(<Дата>)

Принимает параметр типа ДАТА. Возвращает секунды минуты (целочисленное значение от 0 до 59).

ВЫБРАТЬ СЕКУНДА(ДАТАВРЕМЯ(2016, 6, 23, 18, 25, 36))

Запрос вернет — 36

Функция НачалоПериода

НАЧАЛОПЕРИОДА(<Дата>, <Период>)

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

ВЫБРАТЬ НАЧАЛОПЕРИОДА(ДАТАВРЕМЯ(2016, 6, 23), МЕСЯЦ)

Запрос вернет – 01.06.2016

Функция КонецПериода

КОНЕЦПЕРИОДА(<Дата>, <Период>)

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

ВЫБРАТЬ КОНЕЦПЕРИОДА(ДАТАВРЕМЯ(2016, 6, 23), МЕСЯЦ)

Запрос вернет – 30.06.2016

Функция ДобавитьКДате

ДОБАВИТЬКДАТЕ(<Дата>, <Тип>, <Количество>)

Функция добавляет к дате указанное количество временных интервалов.

ВЫБРАТЬ ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ(2016, 6, 15), МЕСЯЦ, 4)

Получаем дату 15.10.2016 0:00:00 Очень удобно, что не приходится задумываться о количестве дней в месяцах.
Количество может быть и отрицательным. Тогда отсчет интервала производится в обратную сторону.

Функция РазностьДат

РАЗНОСТЬДАТ(<Дата1>, <Дата2>, <Тип>)

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

ВЫБРАТЬ	РАЗНОСТЬДАТ(ДАТАВРЕМЯ(2016, 2, 15), ДАТАВРЕМЯ(2016, 6, 12), ДЕНЬ)

Возвращает 118 дней.

Сложение или вычитание дат

​Возвращает долю года, которую​​Преобразует дату в числовом​.​. Функция​ работе в приложении​ лист, вы можете​16.02.11​ количества дней, месяцев​ но только дробная​ Необходимо не учитывать​ клавиш​ изначально указанных в​=ТЕКСТ(РАЗНДАТ(A1;A2;»YD»);»0\ \дн. ;;»)&ТЕКСТ(РАЗНДАТ(A1;A2;»YM»);»0\​B2-ДАТА(ГОД(B2);МЕСЯЦ(A2);ДЕНЬ(A2)))​ датами без учета​: В справке MS EXCEL​ формулами (правда достаточно​ составляет количество дней​ формате в день​В ячейке C1 введите​МЕСЯЦ​ Excel Web App​

​ настроить его так,​.​ и лет​ его часть, то​ субботы с воскресеньями​Ctrl + Ж​ столбце A (Дата​ \ме\с. ;;»)&ТЕКСТ(РАЗНДАТ(A1;A2;»Y»);»0\ \г.;;»)​Найдем разницу дат 16.03.2015​ месяцев и лет.​

​ (см. раздел Вычисление​ громоздкими). Это сделано​ между начальной и​ месяца.​=A1+30​возвращает значение​ копируйте и вставляйте​ как вам нужно.​Примечание:​Допустим, что выплата средств​ с временем также​ и праздники. Для​(или​

  1. ​ оплаты).​​В А1 меньшая​​ и 30.01.15. Функция​

  2. ​ Использовать функцию РАЗНДАТ()​​ возраста) имеется кривая​​ в файле примера).​

  3. ​ конечной датами.​​ДНИ​​.​

  4. ​6​​ по одной ячейке​​1​

Добавление месяцев к дате

​ В зависимости от формата​​ со счета производится​​ возможны любые математические​ такого расчета лучше​CTRL+SHIFT+4​Второй вариант формулы:​ дата, а А2​ РАЗНДАТ() с параметрами​ с этим аргументом​

​ формула для вычисления​​В файле примера значение​​Важно:​

​Возвращает количество дней между​​В ячейке D1 введите​​, и к этому​

​ из примера за​2​ ячеек, содержащих введенные​ 8 февраля 2010​​ операции, как и​​ воспользоваться функцией​​если у вас​​=A2-СЕГОДНЯ()​

Вычитание месяцев из даты

​ — большая​ md и ym​ не рекомендуется (см.​ количества месяце между​

​ аргумента начальная_дата помещена​ Вычисляемые результаты формул и​ двумя датами.​=C1-15​​ значению добавляются 7​​ раз

Внимание! Не​

​3​ формулы, результаты могут​ г. Необходимо перевести​

​ с датой -​ЧИСТРАБДНИ​ другой системный язык​Во второй формуле мы​​iv-jul​​ подсчитает, что разница​

Добавление лет к дате или их вычитание

​ примеры ниже).​

​ 2-мя датами: ​

​ в ячейке​

​ некоторые функции листа​

​ДНЕЙ360​

​.​

​ месяцев. Поскольку суммой​

​ выделяйте заголовок строки​

​4​

​ отображаться в Excel​

​ средства на счет,​

​ сложение, вычитание и​

support.office.com>

Работа с датами в 1С

Итак, откуда изначально появляется тип дата в нашей программе?

Во-первых, мы можем задать значение даты прямо в коде:

ПервыйДеньЛета = '20140601';
Сообщить(ПервыйДеньЛета);

В этом случае значение даты вводится в одинарных кавычках. Первые четыре числа означают год (2014), следующие два числа — месяц (06, июнь) и, наконец, последние два — день месяца (01). Таким образом мы задали 1 июня 2014 года.

Во-вторых, мы можем использовать специальную команду, формирующую значение даты:

ПервыйДеньЛета = Дата(2014, 06, 01);
Сообщить(ПервыйДеньЛета);

Результат будет тем же самым. Но в этом случае мы вызываем команду (или правильнее сказать конструктор) Дата и в качестве параметров указываем числа, обозначающие год, месяц и число нашей даты.

В-третьих, мы можем ввести значение даты от пользователя:

ДатаОтПользователя = '00010101';
ВвестиДату(ДатаОтПользователя);
ОткрытьЗначение(ДатаОтПользователя);

Тут мы сначала заводим переменную для хранения значения даты и присваиваем начальное пустое значение (‘00010101’), а затем вызываем команду ВвестиДату, указывая в качестве параметра переменную в которую нужно вернуть значение, введенное пользователем.

И, наконец, мы можем получить значение дата, как результат работы другой команды 1С. Например, так:

Сегодня = ТекущаяДата();
Сообщить(Сегодня);

Давайте продолжим работу с последним примером (будем дописывать  в него код).

Вот как мы можем из уже готовой даты вытащить только год, месяц или число:

Сообщить(Год(Сегодня));
Сообщить(Месяц(Сегодня));
Сообщить(День(Сегодня));

А что если нужно прибавить к дате один день? Вы читаете ознакомительную версию урока, полноценные уроки находятся здесь. Это можно сделать вот так:

Сегодня = ТекущаяДата();
Завтра = Сегодня + 24 * 60 * 60;
Сообщить(Завтра);

Почему мы прибавили именно такое число (24 * 60 * 60)? Потому что напрямую к дате можно прибавлять только секунды. А нам нужно прибавить сутки в которых 24 часа, в часе 60 минут, в минуте 60 секунд.

Секунды можно не только прибавлять, но и отнимать от даты.

А что если нам нужно прибавить целый месяц? Конечно, и в этом случае можно посчитать количество секунд в месяце и прибавить, но гораздо проще использовать специальную команду 1С, которая как раз для этого предназначена:

Сегодня = ТекущаяДата();
ЧерезМесяц = ДобавитьМесяц(Сегодня, 1);

Команда ДобавитьМесяц в качестве параметров принимает дату к которой нужно прибавить месяц и количество месяцев. Если указать отрицательное количество, то произойдёт не прибавление, а вычитание месяцев из даты.

Даты также можно отнимать друг от друга:

РазностьДат = '20140101' - '20100101';
Сообщить(РазностьДат);

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

Какие ещё есть интересные функции для работы с датой в 1С?

Мы можем узнать день недели:

Сообщить(ДеньНедели(Сегодня));

Команда ДеньНедели возвращает число от 1 до 7. Единица обозначает понедельник, двойка — вторник и так до воскресенья.

Таким же образом мы можем узнать порядковый номер дня с начала года:

Сообщить(ДеньГода(Сегодня));

А также порядковый номер недели (к которой относится дата) в году:

Сообщить(НеделяГода(Сегодня));

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

Дата в запросах 1С: проверка на пустую дату, текущая и произвольная дата

Закажите бесплатный расчет стоимости вашей задачи по 1С!Перезвоним за 10 минут!

С помощью языка запросов 1С 8 решаются практически все задачи по получению данных в платформе 1С 8.3 и 8.2. Дата — один из часто используемых типов данных. Рассмотрим, как использовать дату в запросах 1С.

Проверка на пустую дату в запросе 1С 8.3

Проверим значение на пустую дату в запросе 1С.

Например, отберем только не закрытые банковские счета из справочника. Критерий того, что они не закрытые, — наличие пустой даты в поле «ДатаЗакрытия»:

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

ВЫБРАТЬ БанковскиеСчета.Ссылка ИЗ Справочник.БанковскиеСчета КАК БанковскиеСчета ГДЕ

БанковскиеСчета.ДатаЗакрытия = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)

Произвольная дата в языке запросов

Используя функцию ДатаВремя, помимо пустой даты можно указывать и любые другие произвольные даты.

Например, отберем все документы «Счет на оплату покупателю» за месяц, от 1 до 28 февраля:

ВЫБРАТЬ СчетНаОплатуПокупателю.Ссылка ИЗ Документ.СчетНаОплатуПокупателю КАК СчетНаОплатуПокупателю ГДЕ

СчетНаОплатуПокупателю.Дата МЕЖДУ ДАТАВРЕМЯ(2015, 2, 1, 0, 0, 0) И ДАТАВРЕМЯ(2015, 2, 28, 23, 59, 59)

Текущая дата в запросе

К сожалению, в языке запросов нет аналога метода «ТекущаяДата()», поэтому чтобы получить это значение, его можно передать в запрос с помощью параметра:

Запрос = Новый Запрос; Запрос.Текст = » |ВЫБРАТЬ | СчетНаОплатуПокупателю.Ссылка |ИЗ | Документ.СчетНаОплатуПокупателю КАК СчетНаОплатуПокупателю |ГДЕ

| СчетНаОплатуПокупателю.Дата = &ТекущаяДата«;

Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):

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

Дата в запросах 1С: текущая дата, пустое значение, произвольная дата

09.10.2017

При написании запросов на языке 1С довольно часть встречается необходимость работы с переменными типа «Дата». В данной статье мы рассмотрим основные приемы — передача текущей даты, проверка на пустое значение, произвольная дата.

Текущая дата

При написании запросов зачастую необходимо сравнивать данные с текущей датой. Во встроенном языке 1С есть функция ТекущаяДата(). Она позволяет определить текущее время и дату на компьютере. Для произведения операций с текущей датой необходимо передавать в запрос значение этой функции в качестве параметра.

Ниже представлен запрос, выбирающий все файлы, присоединенные к авансовым отчетам с датой создания до настоящего момента:

ПримерЗапроса = Новый Запрос; ПримерЗапроса.Текст =« |ВЫБРАТЬ |                     АвансовыйОтчетПрисоединенныеФайлы.Ссылка |ИЗ |                     Справочник.АвансовыйОтчетПрисоединенныеФайлыКАК АвансовыйОтчетПрисоединенныеФайлы |ГДЕ |                     АвансовыйОтчетПрисоединенныеФайлы.Дата

ПримерЗапроса.УстановитьПараметр(«ТекДата», ТекущаяДата());

Произвольная дата

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

Обратите внимание, что используя эту функцию в примере выше, в качестве входных параметров мы передавали только три числа (год, месяц, день). Последние три (час, минута, секунда) не являются обязательными и при отсутствии заменяются на «0», то есть начало дня

В рамках данного примера будут получены все файлы, присоединенные к авансовым отчетам до конца прошлого 2016 года. В связи с этим мы укажем час, минуту и секунду, чтобы сравнивать моментом времени «31 декабря 2016 г 23:59:59».

ВЫБРАТЬ АвансовыйОтчетПрисоединенныеФайлы.Ссылка ИЗ Справочник.АвансовыйОтчетПрисоединенныеФайлы КАК АвансовыйОтчетПрисоединенныеФайлы ГДЕ

АвансовыйОтчетПрисоединенныеФайлы.Дата

Пустая дата

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

ВЫБРАТЬ ПоступлениеНаРасчетныйСчет.Ссылка ИЗ Документ.ПоступлениеНаРасчетныйСчет КАК ПоступлениеНаРасчетныйСчет ГДЕ

ПоступлениеНаРасчетныйСчет.ДатаВходящегоДокумента = ДАТАВРЕМЯ(1, 1, 1)