Рейтинг: 2/5
Сьогодні ми вирішимо наступну задачу: в запиті без звернення до даних отримаємо таблицю складається з однієї колонки, в якій будуть всі дати, за вказаний період.
Для чого це потрібно? запитаєте Ви. А я скажу: для формування звітів, в яких інформація виводиться за кожен день. Наприклад якийсь табель або продажу по днях. Коротше, ті випадки, коли дні, за які немає даних, теж повинні бути в звіті. Для формування таких звітом ми в'яжемо ЛІВИМ з'єднанням таблицю дат і таблицю даних за датою, і, навіть якщо даних за цю дату немає, ми в результатах виконання запиту отримаємо рядок, в якій заповнена дата, а даних немає, що власне і потрібно.
У типовій конфігурації 1С зарплата і управління персоналом для цих цілей зазвичай використовують регістр відомостей "виробничий календар". У ньому є все дні за кожен день. Ще з нього, крім дати, можна витягнути інші корисні дані (свята, норма годин.). Але по-перше календар може і не бути присутнім в нашій конфігурації, по-друге він може бути не заповнений за потрібний період, по-третє це звернення до даних БД, що не так економічно в плані ресурсів.
Ну що, вистачить демагогії, поїхали!
Маємо два параметра НачалоПеріода і ОкончаніеПеріода.
ВИБРАТИ
ПОЧАТОК ПЕРІОДУ( Початок періоду. День) ЯК День
ВПОРЯДКУВАТИ ЗА
день
ПІДСУМКИ ПО
День період (ДЕНЬ. Початок періоду. ОкончаніеПеріода)
Щоб написати таке в конструкторі, додаємо поле, пишемо в нього формулу. На закладці "Об'єднання / Псевдоніми" задаємо нормальний синонім замість "Поле1". На закладці порядок тягнемо його подвійним клацанням. На закладці підсумки тягнемо його в групуються поля. Виділяємо його там. У цей момент з'являється галка "періодами". Вибирається інтервал - День, вказуємо параметри початку періоду і кінця.