1с разностьдат в коде

Разность дат в запросе 1С 8.3

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

1с разностьдат в коде. raznost dat v zaprose 1S. 1с разностьдат в коде фото. 1с разностьдат в коде-raznost dat v zaprose 1S. картинка 1с разностьдат в коде. картинка raznost dat v zaprose 1S. РазностьДат() — конструкция встроенного языка запросов 1С 8.3, с помощью которой непосредственно в запросе можно получить разницу между различными датами.

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

Дата1 и Дата2 — даты, из которых необходимо получить разность.

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

РАЗНОСТЬДАТ(ДАТАВРЕМЯ(2005, 09, 12, 10, 15, 34), ДАТАВРЕМЯ(2005, 09, 14, 9, 18, 06), ДЕНЬ) — вернет «2»

РАЗНОСТЬДАТ(ДАТАВРЕМЯ(2002, 10, 12), (ДАТАВРЕМЯ(2002, 11, 03), МЕСЯЦ) — вернет «1»

РАЗНОСТЬДАТ(ДАТАВРЕМЯ(2002, 10, 12), (ДАТАВРЕМЯ(2004, 11, 03), ГОД) — вернет «2»

Пример использования в рабочей конфигурации 1С для получения разности дат в днях:

ВЫБРАТЬ
ДанныеДляРасчета.Организация КАК Организация,
ДанныеДляРасчета.Склад КАК Склад,
СУММА(ДанныеДляРасчета.СтоимостьКонечныйОстаток) КАК СтоимостьОстатковЗапасов,
ДанныеДляРасчета.ДатаРасчета,
СУММА(ДанныеДляРасчета.СтоимостьРасход) КАК СебестоимостьРеализованныхТоваров,
РАЗНОСТЬДАТ(&НачалоПериода, КОНЕЦПЕРИОДА(&ДатаРасчета, ДЕНЬ), ДЕНЬ) КАК ДнейВПериодеПоЗапасам
ИЗ
(ВЫБРАТЬ
ОборотныеСредства.Организация КАК Организация,
ОборотныеСредства.Склад КАК Склад,
СУММА(ОборотныеСредства.СуммаКонечныйОстаток) КАК СтоимостьКонечныйОстаток,
&ДатаРасчета КАК ДатаРасчета,
0 КАК СтоимостьРасход
ИЗ
ОборотныеСредства КАК ОборотныеСредства

Читайте и другие статьи по запросам 1С

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

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

Источник

Как посчитать количество месяцев между датами 1С

Функция РАЗНОСТЬДАТ() в запросе

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

Где параметр это единица измерения, в которой необходимо получить результат функции (Год, Квартал, Месяц, День, Час, Минута, Секунда).

Пример №1

Пример №2

Примеры способов расчёта в коде

Для решения таких задач в модулях программы 1С, нет специальной функции, и в какой-то степени приходится изобретать «велосипед».

Пример №1

С использование функций Год(), Месяц():

Пример№2

Интересный пример расчёта количества месяцев с помощью рекурсии с использование функции НачалоМесяца().

Возможные ошибки

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

Пример:

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

Источник

РазностьДат()

Сами формулы можешь нарисовать красивей. Но ход мыслей расчета я думаю понятен.

(4) Zircool,
Вот с этого и надо было начинать.
Берем разность дат в часах и отнимаем разность дат в днях с погрешностью в 4 часа (т.к. нам нужно в сутках 20 часов).
строка в запросе будет выглядеть следующим образом

Здесь немного другая ситуация. Смотрите например у нас 2 даты:
02.05.2012 20:00:00 и 03.05.2012 20:10:00

Получается что второго числа человек отработал 4 часа а третьего 20 часов в сумме должено получиться 24 часа, а в отчете пишет 20, т.к. 24 принимает за 20. Должно идти сокращение до 20 часов, если это сутки. Т.е. если человек отработал бы 3.05.2012 23 часа, должно взяться 20 часов.

(5) Zircool,
От блин! Что ж ты как пользователь!?
Нужную вводную информацию по частям выдаешь?
Надо было сразу описание задачи написать. (полностью)

Алгоритм описанный выше (для запроса) имеет только одну маленькую погрешность.

Расчет именно того самого «хвостика».
Т.е. когда сутки были полные. тут и гадать не стоит берем за аксиому что когда полные сутки то 24-4 = 20 часов.
А вот если тот самый преславутый «хвостик» те самые последние часы последних суток.
Тут нужно добавить следующее:
Если «хвостик» по часам меньше 20, то оставляем как есть, а если больше то вместо него ставим 20 часов.

Сначала считаем количество полных суток:

ВторойДень = НачалоДня(Дата1)+ 86400.

(округляй либо конечный результат, либо промежуточный)

(8) brunhilda,
Если для данной задачи. Точкой перевала суток будет время именно 00:00
То твой алгоритм правильней чем мой.

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

Но по уму, твой алгоритм правильней.
Сутки все таки начинаются с 00:00 и поэтому всегда будет «предхвостик» в начале перед следующими полными сутками.
Но если у них в сутках 20 часов, то фиг его знает с какого времени у них сутки начинаются 🙂

При твоих условиях и в запросе это будет выглядеть так:

Ребят спасибо за помощь, в датах у меня большой пробел)))

02.05.2012 8:00:00 | 02.05.2012 20:00:00 | 16,00

Дата1 = Выборка.ДатаВыезда;
Дата2 = Выборка.ДатаВозвращения;

Если НачалоДня(Дата1) = НачалоДня(Дата2) Тогда

ВторойДень = НачалоДня(Дата1)+ 86400;
КоличествоСуток = (НачалоДня(Дата2)-ВторойДень)/86400;

Результат = КоличествоСуток*20+ХвостикВначале+ХвостикВКонце;
ЗП = Результат * 77;

Источник

Рассчитываем разность дат от текущей даты

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

Запрос (Разность дат)
1С Предприятие 8.2 Хочу при запуске системы вывести сообщение Разницы дней между двумя любыми.

Сравнение текущей даты с диапазоном дат
Здравствуйте! Подскажите пожалуйста. Как можно реализовать сравнение текущей даты с определенным.

А по ссылке то проходили, читать пробовали?
Ну не знаю может я тупой, но разница в днях между датами и полный возраст человека в (лет, месяцев, дней) немного разное как по мне)

Там вроде в комментах запрос уже есть вот он

Решение

Добавлено через 14 минут
ХОтя и запрос из инфостата тоже работает на данном примере неправильно

polax, Также интересны моменты с високосным годом) Вечерком попробую.

Добавлено через 2 минуты
ХОтя мб ТС сам допилит)

Решение

Вложения

1с разностьдат в коде. zip. 1с разностьдат в коде фото. 1с разностьдат в коде-zip. картинка 1с разностьдат в коде. картинка zip. РазностьДат() — конструкция встроенного языка запросов 1С 8.3, с помощью которой непосредственно в запросе можно получить разницу между различными датами.ЛетМесяцевДней.zip (3.9 Кб, 9 просмотров)

А возможно ли в реквизит Декорация-Надпись поместить данные возраста? Скажем данные из переменных преобразовали в строку. поместили в реквизит Надпись?

Добавлено через 48 секунд

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

1с разностьдат в коде. tick. 1с разностьдат в коде фото. 1с разностьдат в коде-tick. картинка 1с разностьдат в коде. картинка tick. РазностьДат() — конструкция встроенного языка запросов 1С 8.3, с помощью которой непосредственно в запросе можно получить разницу между различными датами.Определение количества дат в столбце в зависимости от текущей даты
Доброго времени суток! У меня возникла следующая проблема при написании формулы. В общем есть файл.

Выборка данных через сравнение даты в DataGridView и текущей даты
Ситуация такова: в датагриде есть столбец с определенной датой. Нужно сравнить все даты с этого.

1с разностьдат в коде. tick. 1с разностьдат в коде фото. 1с разностьдат в коде-tick. картинка 1с разностьдат в коде. картинка tick. РазностьДат() — конструкция встроенного языка запросов 1С 8.3, с помощью которой непосредственно в запросе можно получить разницу между различными датами.На основе введенной даты рождения и текущей даты сообщить пользователю, сколько он прожил дней
3. Написать программу, которая на основе введенной даты рождения и текущей даты сообщает.

Источник

Как посчитать количество дней между датами в 1С

1. В коде модулей

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

1с разностьдат в коде. 1. 1с разностьдат в коде фото. 1с разностьдат в коде-1. картинка 1с разностьдат в коде. картинка 1. РазностьДат() — конструкция встроенного языка запросов 1С 8.3, с помощью которой непосредственно в запросе можно получить разницу между различными датами.

Рисунок 1. Пример использования в коде модуля

2. В тексте запросов 1С 8.3

Язык запросов 1С 8.3 также поддерживает ряд специализированных функций для операций с датами, среди которых имеется РАЗНОСТЬДАТ, предназначенная как раз для того, чтобы определить разность между датами, переданными ей, с указанием основной единицей измерения времени:

1с разностьдат в коде. 22. 1с разностьдат в коде фото. 1с разностьдат в коде-22. картинка 1с разностьдат в коде. картинка 22. РазностьДат() — конструкция встроенного языка запросов 1С 8.3, с помощью которой непосредственно в запросе можно получить разницу между различными датами.

Рисунок 2. Синтаксис функции в языке запросов

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

1с разностьдат в коде. 3. 1с разностьдат в коде фото. 1с разностьдат в коде-3. картинка 1с разностьдат в коде. картинка 3. РазностьДат() — конструкция встроенного языка запросов 1С 8.3, с помощью которой непосредственно в запросе можно получить разницу между различными датами.

Рисунок 3. Пример использования в языке запросов

3. В системе компоновки данных (СКД) 1С

Язык выражений 1С СКД также поддерживает специализированные функции для работы с датами и временем, как и язык запросов 1С 8.3, среди которых имеется функция РазностьДат, но ее синтаксис имеет некоторые отличия: третий параметр, определяющий тип разности, имеет значение типа Строка.

Источник

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *