Вопрос, на который отчёт не отвечает
В любой базе 1С уже есть отчёты, и их много. «Ведомость по товарам на складах», «Валовая прибыль», «Задолженность покупателей» — десятки готовых форм, за каждой из которых стоит чужая работа и чужой опыт. Пока вопрос звучит так же, как называется отчёт, всё хорошо: открыл, выбрал период, посмотрел.
Трудность начинается в тот день, когда вопрос звучит по-своему. Руководитель спрашивает не «сколько продали», а «кто покупал у нас зимой и перестал летом». Бухгалтер спрашивает не «остатки на складе», а «что лежит дольше полугода и сколько в этом заморожено денег». Логист — «по каким поставщикам срок поставки чаще всего срывался в этом квартале». Ни один готовый отчёт так не называется, и это не случайность: готовый отчёт отвечает на частый вопрос, а у каждой организации есть свои редкие.
Дальше происходит одно из трёх. Либо вопрос откладывают — «потом посмотрим», и он не возвращается. Либо данные выгружают в таблицу и считают руками: два часа работы, которую придётся повторить через месяц, и ещё вопрос, не сбилось ли что-нибудь при выгрузке. Либо задачу ставят разработчику и ждут неделю, а он уточняет условия и ждёт ответа ещё три дня.
Запрос — это четвёртый путь. Запрос — это способ спросить у базы ровно то, что нужно, и получить ответ таблицей. Не «весь регистр продаж за год», из которого потом считают в Excel, а сразу нужные строки и нужные колонки. Написанный один раз, он повторяется в любой момент: через месяц те же цифры считаются заново одним нажатием.
Есть и вторая причина, менее очевидная. Даже когда готовый отчёт подходит, он показывает результат и не показывает, откуда результат взялся. «Валовая прибыль — 1 240 000» — а почему не 1 300 000, как в прошлой версии отчёта? Пока вы не умеете достать данные сами, проверить чужую цифру нечем: остаётся верить. Умение написать простой запрос превращает спор «отчёт врёт» в двадцать минут работы, и последний урок этого уровня целиком про такой разбор.
Наконец, запрос — это не только отчёты. Он стоит внутри самой программы: когда документ проводится и проверяет остаток на складе, это запрос; когда открывается список товаров с отбором, это запрос; когда ночью выгружаются данные в другую базу, это тоже запрос. Поэтому язык запросов знают и те, кто отчётов не делает вовсе, — просто по другой причине: от того, как написан запрос, зависит, сколько программа будет думать.