Запити 1с підприємство 8
У запитах 1С, так само як і у вбудованому мовою платформи 1С: Підприємство, є функції для роботи з датами. Вони допомагають спростити перетворення дат в запитах, уникнути використання великої кількості параметрів. Розглянемо ці функції.
Як задати дату в запитах 1С у вигляді константи
Для цього використовується функція ДАТАВРЕМЯ (Рік, Місяць, День, Час, Хвилина, Секунда). Параметри Рік, Місяць та День є обов'язковими, інші - ні. Якщо не вказати час, то системою буде встановлено початок дня.
Крім того, в якості параметрів цієї функції можуть бути вказані тільки числа в явному вигляді. Не можна в якості параметрів вказувати значення інших функцій. Наприклад, така конструкція працювати не буде:
Запит. Текст = "ВИБРАТИ
ДАТАВРЕМЯ (Рік (Істочнік.Дата), 09,28,12,22,00)
З Справочнік.Істочнік ЯК Джерело ";
Як отримати початок або кінець року, півріччя, кварталу, місяця, декади, тижні, дні, години, хвилини в запитах 1С
Для цього використовуються відповідно функції:
Як параметр Дата передається значення з типом Дата. Параметр Період може приймати одне з наступних значень: ХВИЛИНА, ЧАС, ДЕНЬ, ТИЖДЕНЬ, ДЕКАДА, МІСЯЦЬ, КВАРТАЛ, ПІВРІЧЧЯ, РІК.
Як видно з прикладів, в цих функціях можна використовувати інші, вкладені, функції.
Як отримати в запитах 1С рік, день року, квартал, місяць, тиждень, день тижня, день, годину, хвилину, секунду з дати
Для цього існують відповідні функції, в які потрібно передати дату в якості параметра.
- Функція РІК (Дата) - повертає номер року;
- Функція ДЕНЬГОДА (Дата) - возаращает номер дня в році;
- Функція КВАРТАЛ (Дата) - повертає номер кварталу;
- Функція МІСЯЦЬ (Дата) - повертає номер місяця;
- Функція ТИЖДЕНЬ (Дата) - повертає номер тижня в році;
- Функція ДЕНЬНЕДЕЛІ (Дата) - повертає номер дня в тижні (понеділок - 1, неділя - 7);
- Функція ДЕНЬ (Дата) - повертає номер дня у місяці;
- Функція ЧАС (Дата) - повертає годину;
- Функція ХВИЛИНА (Дата) - повертає хвилини;
- Функція СЕКУНДА (Дата) - повертає секунди.
Як додати до дати або відняти від дати рік, півріччя, квартал, місяць, декаду, тиждень, день, годину, хвилину, секунду в запитах 1С
Для цього використовується функція ДобавітьКДате (Дата, Період, Значення).
Як параметр Дата передається значення з типом Дата. Параметр Період може приймати одне з наступних значень: СЕКУНДА. ХВИЛИНА, ЧАС, ДЕНЬ, ТИЖДЕНЬ, ДЕКАДА, МІСЯЦЬ, КВАРТАЛ, ПІВРІЧЧЯ, РІК.
Значення показує кількість додаються періодів. Якщо період потрібно відняти, то параметр Значення має бути негативним.
Як обчислити різницю дат в запитах 1С
Для цього використовується функція РазностьДат (Дата1, Дата2, Період).
Параметр Дата1 - дата, яку віднімають.
Параметр Дата2 - дата, з якої віднімають.
Параметр Період може приймати одне з наступних значень: СЕКУНДА. ХВИЛИНА, ЧАС, ДЕНЬ, МІСЯЦЬ, КВАРТАЛ, РІК. Він показує, в яких одиницях ми хочемо отримати результат
У всіх функціях, крім функції ДАТАВРЕМЯ. в якості параметра Дата може виступати не тільки конкретне значення дати (константа або параметр запиту), але і поля таблиці джерела.