Если вы работаете с юридическими документами, ведёте реестр законов или просто хотите быстро находить свежие редакции кодексов прямо из Google Таблиц, то одна-единственная кнопка на панели инструментов может стать вашим главным помощником. Ниже — подробная инструкция, как «по кнопке Кодексы» получать мгновенный ответ в виде нужной статьи, параграфа или всего документа целиком.
Что именно происходит при нажатии на кнопку «Кодексы»?
- Запуск user-функции (Apps Script) → скрипт формирует динамический
QUERY-запрос. - Обращение к внешнему API (например, официальному сервису «КонсультантПлюс: API» или «Гарант: API») за текстом кодекса.
- Возврат результата прямо в ячейку/всплывающее окно/боковую панель Google Таблиц.
То есть вы нажимаете кнопку — и в течение 1-2 секунд получаете свежую редакцию нужной статьи без необходимости покидать таблицу.
Подготовка: создаём кнопку «Кодексы» на панели инструментов
Шаг 1. Открываем редактор Apps Script
- В Google Таблицах выберите Расширения → Apps Script.
- Переименуйте проект, например, в
КодексыБыстрыйПоиск.
Шаг 2. Пишем функцию-обработчик
/*
Получаем текст статьи кодекса по кнопке
- @customfunction
*/
function GET_CODECX(article, code) {
// 1. Формируем запрос QUERY к внешнему API
const url = `https://api.consultant.ru/v2/document?code=${code}&article=${article}&format=json`;
const options = {
method: 'get',
headers: { 'Authorization': 'Bearer YOUR_TOKEN' }
};
const response = UrlFetchApp.fetch(url, options);
const data = JSON.parse(response.getContentText);
// 2. Применяем QUERY-язык Google
const text = data.text || 'Статья не найдена';
return text.slice(0, 500) + '...'; // обрезаем для компактности
}
Шаг 3. Добавляем кнопку на панель инструментов
- В Apps Script откройте файл
Code.gs→ добавьте новый файлui.gs. - Вставьте код создания меню:
function onOpen {
const ui = SpreadsheetApp.getUi;
ui.createMenu('⚖ Кодексы')
.addItem('🔍 Найти статью', 'showSearchBox')
.addToUi;
}
Как работает «по кнопке»
Пользователь нажимает ⚖ Кодексы → 🔍 Найти статью
Открывается диалоговое окно (showSearchBox), где можно ввести:
- Кодекс: например,
ГК РФ,НК РФ,ТК РФ. - Номер статьи:
115.
function showSearchBox { .setWidth(300).setHeight(200);}
Внутри диалога выполняется QUERY к вашей таблице-справочнику
Пример формулы, которая прописывается в скрытом листе Helper!A1:
=QUERY(A2:D; "select D where A='"&B2&"' and B='"&B3&"'"; 0) Здесь:
- A2:D — диапазон с базой данных кодексов (столбцы: «Кодекс», «Статья», «Дата редакции», «Текст»).
- Где B2 и B3 — ячейки, куда диалог записывает выбор пользователя.
Результат мгновенно возвращается в ячейку/окно
Если нужен короткий ответ, достаточно вывести Helper!D1 через INDEX или ARRAYFORMULA в главную ячейку.
Как быть, если API временно недоступен?
Проверяем статус Google Workspace:
https://www.google.com/appsstatus#hl=ru&v=status.
Если всё «зелёно», а ваш API «красный», можно сделать резервную таблицу Кодексы_Локально, копировать туда свежие версии раз в неделю и менять QUERY:
=QUERY(Кодексы_Локально!A2:D; "select D where A='"&B2&"' and B="&B3; 0) Расширенные фишки
- Автообновление даты редакции. В столбце «Дата» храним
=TODAY, а вQUERYдобавляемorder by C desc limit 1, чтобы брать последнюю редакцию. - Фильтрация по нескольким параметрам. Добавляем drop-down список регионов: «Федеральный», «Московская область» и т. д.
- Мультиязычность. Храним столбцы
ru,en,kkи выбираем нужный язык черезselect E.
Благодаря простой кнопке «Кодексы» и встроенному языку QUERY вы превращаете Google Таблицы в персональный юридический консультант. Нажал кнопку — получил ответ, не теряя фокуса рабочего процесса; Попробуйте прямо сейчас, и вы больше никогда не будете тратить время на ручной поиск статей закона!