Функция РАЗНОСТЬДАТ(Дата1, Дата2, Тип) в запросе 1С.
Функция РАЗНОСТЬДАТ(Дата1, Дата2, Тип) в запросе 1С.
РАЗНОСТЬДАТ() – разница между двумя датами.
Тип может быть равен:
ГОД, КВАРТАЛ, МЕСЯЦ, ДЕНЬ и так далее.
Код:
Процедура ПериодВ1сЗапрос() Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ПартииТоваровНаСкладахОстатки.Номенклатура, | ПартииТоваровНаСкладахОстатки.КоличествоОстаток, | КОНЕЦПЕРИОДА(ПартииТоваровНаСкладахОстатки.ДокументОприходования.Дата, ДЕНЬ) КАК День, | ПартииТоваровНаСкладахОстатки.ДокументОприходования.Дата КАК ДатаДокумента, | РАЗНОСТЬДАТ(ПартииТоваровНаСкладахОстатки.ДокументОприходования.Дата, ДАТАВРЕМЯ(2007, 02, 14), ДЕНЬ) КАК РАЗНОСТЬ_ДАТ |ИЗ | РегистрНакопления.ПартииТоваровНаСкладах.Остатки(&НаДату, ) КАК ПартииТоваровНаСкладахОстатки |ГДЕ | ПартииТоваровНаСкладахОстатки.ДокументОприходования ССЫЛКА Документ.ПоступлениеТоваровУслуг"; Запрос.УстановитьПараметр("НаДату", ТекущаяДата()); РезультатЗапроса = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл Сообщить("Дата документа "+ВыборкаДетальныеЗаписи.ДатаДокумента +" День: "+ВыборкаДетальныеЗаписи.День +" , РАЗНОСТЬ_ДАТ: " +ВыборкаДетальныеЗаписи.РАЗНОСТЬ_ДАТ); КонецЦикла; КонецПроцедуры
Тогда:
Дата документа 10.02.2007 16:55:02 День: 10.02.2007 23:59:59 , РАЗНОСТЬ_ДАТ: 4
Дата документа 10.02.2007 16:55:03 День: 10.02.2007 23:59:59 , РАЗНОСТЬ_ДАТ: 4
Дата документа 04.04.2007 12:00:03 День: 04.04.2007 23:59:59 , РАЗНОСТЬ_ДАТ: —49
Дата документа 01.06.2008 12:00:00 День: 01.06.2008 23:59:59 , РАЗНОСТЬ_ДАТ: —473
Дата документа 10.02.2007 21:18:19 День: 10.02.2007 23:59:59 , РАЗНОСТЬ_ДАТ: 4