Документация IntegroXL
Надстройка Excel с функциями для работы с ФИО, ИНН и деловыми документами.
Все функции начинаются с INTEGRO_ — начните вводить в ячейке и Excel покажет список.
Сервер: excel.adarcorpstore.store
Версия: ...
Кнопка «Пронумеровать»
Проставляет порядковые номера 1, 2, 3... в каждую ячейку выделенного диапазона слева направо, сверху вниз. Находится на вкладке IntegroXL ленты Excel.
Как использовать
- Выделите диапазон ячеек
- Нажмите кнопку «Пронумеровать» на вкладке IntegroXL
Кнопка «Найти заявку» + авто-поиск по Enter
Ищет номер заявки в столбце B активного листа и переводит курсор на найденную ячейку.
Работает двумя способами:
Работает двумя способами:
- Авто-поиск: введите номер в ячейку
A1и нажмите Enter — переход происходит автоматически, без нажатия кнопки. - Кнопка «Найти заявку»: нажмите кнопку на вкладке IntegroXL — явный поиск с сообщением, если не найдено.
Алгоритм поиска
| Шаг | Действие |
|---|---|
| 1 | Читает значение из ячейки A1 |
| 2 | Ищет точное совпадение в столбце B |
| 3 | Если не найдено — ищет частичное совпадение |
| 4 | При успехе — переходит к ячейке, строка состояния показывает номер строки |
| 5 | Если не найдено (кнопка) — показывает сообщение. Авто-режим молчит. |
INTEGRO_FIO
=INTEGRO_FIO(фио; падеж; [формат])
Склоняет ФИО в нужный падеж русского языка. Определяет пол автоматически по отчеству. Поддерживает сокращённый формат «Фамилия И.О.»
Параметры
| Параметр | Тип | Описание | |
|---|---|---|---|
фио | Строка | обязательный | Полное ФИО: «Иванов Иван Иванович» |
падеж | Число 1–6 | обязательный | Номер падежа (см. таблицу ниже) |
формат | Строка | необязательный | "full" — полное ФИО (по умолч.), "short" — «Фамилия И.О.» |
Номера падежей
| № | Падеж | Вопрос | Пример (Иванов Иван) |
|---|---|---|---|
| 1 | Именительный | кто? | Иванов Иван |
| 2 | Родительный | кого? | Иванова Ивана |
| 3 | Дательный | кому? | Иванову Ивану |
| 4 | Винительный | кого? | Иванова Ивана |
| 5 | Творительный | кем? | Ивановым Иваном |
| 6 | Предложный | о ком? | Иванове Иване |
Примеры
=INTEGRO_FIO(A1; 2)
→
Иванова Ивана Ивановича
=INTEGRO_FIO(A1; 3)
→
Иванову Ивану Ивановичу
=INTEGRO_FIO(A1; 5)
→
Ивановым Иваном Ивановичем
=INTEGRO_FIO(A1; 2; "short")
→
Иванова И.И.
=INTEGRO_FIO("Петрова Мария Сергеевна"; 1)
→
Петрова Мария Сергеевна
INTEGRO_СКЛОН_ФИО
=INTEGRO_СКЛОН_ФИО(фио; падеж; [формат])
Склоняет ФИО в любом формате: полное,
И.И., И., фамилия + имя. Сохраняет стиль записи (инициалы не меняются).Примеры
=INTEGRO_СКЛОН_ФИО("Иванов Иван Иванович";2)
→
Иванова Ивана Ивановича
=INTEGRO_СКЛОН_ФИО("Иванов И.И.";3)
→
Иванову И.И.
=INTEGRO_СКЛОН_ФИО("Иванов И.";5)
→
Ивановым И.
INTEGRO_СКЛОН_ДОЛЖНОСТЬ
=INTEGRO_СКЛОН_ДОЛЖНОСТЬ(должность; падеж; [число])
Склоняет должность с согласованием слов. Дополнение в родительном («главного технолога») не меняет падеж.
Примеры
=INTEGRO_СКЛОН_ДОЛЖНОСТЬ("Технический директор";2)
→
Технического директора
=INTEGRO_СКЛОН_ДОЛЖНОСТЬ("Генеральный директор";3)
→
Генеральному директору
=INTEGRO_СКЛОН_ДОЛЖНОСТЬ("Заместитель главного технолога";3)
→
Заместителю главного технолога
INTEGRO_GREETING
=INTEGRO_GREETING(фио)
Формирует официальное обращение к человеку. Автоматически определяет пол по отчеству и возвращает «Уважаемый» или «Уважаемая» с именем и отчеством.
Параметры
| Параметр | Тип | Описание | |
|---|---|---|---|
фио | Строка | обязательный | Полное ФИО: «Иванов Иван Иванович» |
Примеры
=INTEGRO_GREETING("Иванов Иван Иванович")
→
Уважаемый Иван Иванович!
=INTEGRO_GREETING("Петрова Мария Сергеевна")
→
Уважаемая Мария Сергеевна!
=INTEGRO_GREETING(A1)
→
из ячейки A1
INTEGRO_СЛОВО
=INTEGRO_СЛОВО(слово; падеж; [число])
Склоняет русское слово или фразу в нужный падеж и число. Работает с существительными, прилагательными и словосочетаниями. Удобно для автоматического формирования договоров и актов.
Параметры
| Параметр | Тип | Описание | |
|---|---|---|---|
слово | Строка | обязательный | Слово или фраза: «договор», «генеральный директор» |
падеж | Число 1–6 | обязательный | Номер падежа (1=именит., 2=родит., 3=дат., 4=винит., 5=творит., 6=предложн.) |
число | Строка | необязательный | "ед" — единственное (по умолч.), "мн" — множественное |
Примеры
=INTEGRO_СЛОВО("договор"; 2)
→
договора
=INTEGRO_СЛОВО("директор"; 3)
→
директору
=INTEGRO_СЛОВО("акт"; 5)
→
актом
=INTEGRO_СЛОВО("акт"; 2; "мн")
→
актов
=INTEGRO_СЛОВО("генеральный директор"; 3)
→
генеральному директору
INTEGRO_СУММА_ПРОПИСЬЮ
=INTEGRO_СУММА_ПРОПИСЬЮ(число; [валюта])
Преобразует числовое значение в сумму прописью на русском языке. Поддерживает рубли, доллары и евро. Принимает целые числа и числа с копейками.
Параметры
| Параметр | Тип | Описание | |
|---|---|---|---|
число | Число | обязательный | Сумма: 1500, 1500.50, или ссылка на ячейку |
валюта | Строка | необязательный | "rub" — рубли (по умолч.), "usd" — доллары, "eur" — евро |
Примеры
=INTEGRO_СУММА_ПРОПИСЬЮ(1500)
→
Одна тысяча пятьсот рублей 00 коп.
=INTEGRO_СУММА_ПРОПИСЬЮ(1500,5)
→
Одна тысяча пятьсот рублей 50 коп.
=INTEGRO_СУММА_ПРОПИСЬЮ(250000,99)
→
Двести пятьдесят тысяч рублей 99 коп.
=INTEGRO_СУММА_ПРОПИСЬЮ(A1)
→
сумма из ячейки A1
INTEGRO_ГИПЕРССЫЛКА
=INTEGRO_ГИПЕРССЫЛКА(номер_заявки; Заявки!$B:$B; Заявки!$C:$C)
Находит заявку в столбце B, читает адрес гиперссылки из ячейки столбца C
(не отображаемый текст «УЗГА»), отрезает префикс
Важно:
\\192.168.5.11\pdf\Каурцев_А\Чертежи\
и возвращает УЗГА\2026\814.
Важно:
ПРОСМОТРX возвращает только видимый текст — используйте трёхаргументный синтаксис.
Параметры
| Параметр | Тип | Описание | |
|---|---|---|---|
номер_заявки | Строка | обязательный | Номер для поиска, напр. Номер_Заявки_Отказное |
col_поиска | Диапазон | обязательный | Столбец номеров: Заявки!$B:$B |
col_результата | Диапазон | обязательный | Столбец гиперссылок: Заявки!$C:$C |
Примеры
=INTEGRO_ГИПЕРССЫЛКА(Номер_Заявки_Отказное;Заявки!$B:$B;Заявки!$C:$C)
→
УЗГА\2026\814
=ГИПЕРССЫЛКА("\\192.168.5.11\pdf\Каурцев_А\Чертежи\"&INTEGRO_ГИПЕРССЫЛКА(Номер_Заявки_Отказное;Заявки!$B:$B;Заявки!$C:$C);"УЗГА")
→
кликабельная ссылка
INTEGRO_ПАПКА_ОТВЕТОВ
=INTEGRO_ПАПКА_ОТВЕТОВ($F$2; Заявки!$B:$B; Заявки!$C:$C; B2; A2)
Полный UNC-путь к папке ответов поставщика на листе «Почта». Служебные папки вверху столбца AE: «Отказы» (AE2), «КП направлены» (AE3).
Примеры
=INTEGRO_ПАПКА_ОТВЕТОВ($F$2;Заявки!$B:$B;Заявки!$C:$C;B2;A2)
→
…\Ответы поставщиков\1 Камаз
=INTEGRO_ПАПКА_ОТВЕТОВ($F$2;Заявки!$B:$B;Заявки!$C:$C;;; "отказ")
→
…\Ответы поставщиков\Отказы
=INTEGRO_ПАПКА_ОТВЕТОВ($F$2;Заявки!$B:$B;Заявки!$C:$C;;; "кп")
→
…\Ответы поставщиков\КП направлены
INTEGRO_INN
=INTEGRO_INN(инн; [поле])
Ищет организацию по ИНН через сервис DaData (ЕГРЮЛ/ЕГРИП) и возвращает запрошенные данные: название, должность руководителя или ФИО руководителя.
Параметры
| Параметр | Тип | Описание | |
|---|---|---|---|
инн | Строка/Число | обязательный | ИНН организации (10 цифр) или ИП (12 цифр) |
поле | Строка | необязательный |
"name" — краткое название (по умолч.)"name_full" — полное название"director_post" — должность руководителя"director_fio" — ФИО руководителя
|
Примеры
=INTEGRO_INN(A1)
→
ООО «Ромашка»
=INTEGRO_INN(A1; "name_full")
→
ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ «РОМАШКА»
=INTEGRO_INN(A1; "director_post")
→
Генеральный директор
=INTEGRO_INN(A1; "director_fio")
→
Иванов Иван Иванович
INTEGRO_ДОЛЖНОСТЬ
=INTEGRO_ДОЛЖНОСТЬ(инн)
Возвращает должность руководителя компании по ИНН. Сокращение функции
INTEGRO_INN(инн; "director_post").Примеры
=INTEGRO_ДОЛЖНОСТЬ(A1)
→
Генеральный директор
=INTEGRO_ДОЛЖНОСТЬ(A1)
→
Директор
INTEGRO_КРАТКОЕ_ИМЯ
=INTEGRO_КРАТКОЕ_ИМЯ(инн)
Возвращает краткое наименование компании по ИНН. Сокращение функции
INTEGRO_INN(инн; "name").Примеры
=INTEGRO_КРАТКОЕ_ИМЯ(A1)
→
ООО «Ромашка»
INTEGRO_РУКОВОДИТЕЛЬ
=INTEGRO_РУКОВОДИТЕЛЬ(инн)
Возвращает ФИО руководителя компании по ИНН. Сокращение функции
INTEGRO_INN(инн; "director_fio").Примеры
=INTEGRO_РУКОВОДИТЕЛЬ(A1)
→
Иванов Иван Иванович
Безопасность
Перед каждым деплоем на сервер автоматически запускается агент кибербезопасности —
scripts/security_check.py. Он проверяет проект на уязвимости и,
при необходимости, исправляет их автоматически.
Что проверяется
| Код | Уровень | Проверка | Авто-фикс |
|---|---|---|---|
SEC-001 | CRITICAL | Захардкоженные пароли / API-ключи / токены в исходниках | — |
SEC-002 | WARNING | Flask debug=True вне блока __main__ | — |
SEC-003 | WARNING | Отсутствуют HTTP-заголовки безопасности в Flask | ✅ да |
SEC-004 | WARNING | Файл .env / *.xlam не в .gitignore | ✅ да |
SEC-005 | WARNING | HTTP-ссылки (вместо HTTPS) в исходном коде | — |
SEC-006 | INFO | Незафиксированные версии пакетов в requirements.txt | — |
SEC-007 | WARNING | VBA Shell() с динамическими пользовательскими данными | — |
SEC-008 | WARNING | Flask /api/-маршрут без валидации имени функции | — |
SEC-009 | CRITICAL | Файл .env не найден или не хватает ключей | — |
Запуск вручную
python scripts/security_check.py --fix
→
проверка + авто-фикс
python scripts/security_check.py
→
только проверка
python scripts/security_check.py --fix --strict
→
блокировать при WARNING
Интеграция в деплой
Проверка запускается автоматически как Шаг 0 при каждом деплое.
Если найдены CRITICAL-уязвимости — деплой блокируется до их устранения.
История версий
| Версия | Дата | Изменения |
|---|---|---|
1.2.36 | 27.06.2026 | Кнопка «Обновить» открывает install.html (стабильно с Kaspersky) |
1.2.35 | 27.06.2026 | Кнопка «Обновить» — модуль UpdateLogic через обычный Import |
1.2.34 | 27.06.2026 | Исправлены кнопка «Обновить» и закрытие Excel (DoUpdate, ClearBanner) |
1.2.33 | 27.06.2026 | Исправлена кнопка «Обновить IntegroXL» (модуль Updater) |
1.2.32 | 27.06.2026 | Исправлены ошибки при закрытии Excel (отмена отложенных макросов) |
1.2.31 | 27.06.2026 | Убрана автопроверка обновлений при старте Excel (только кнопка «Обновить») |
1.2.30 | 27.06.2026 | Исправлен вызов IntegroXL_CheckUpdates при загрузке надстройки |
1.2.29 | 27.06.2026 | Исправлена ошибка при запуске Excel (отложенная проверка обновлений) |
1.2.28 | 27.06.2026 | Исправлено автообновление по кнопке «Обновить IntegroXL» (скачивание + перезапуск Excel) |
1.2.27 | 25.06.2026 | Обновление одной кнопкой «Обновить IntegroXL» |
1.2.26 | 25.06.2026 | Нет лишних окон сохранения при открытии файла (ссылки, формулы Online) |
1.2.25 | 22.06.2026 | Иконка «КП заказчику»: стандартная MailMergeMergeToDocument |
1.2.24 | 22.06.2026 | Размер иконки «КП заказчику» 32×32 |
1.2.23 | 22.06.2026 | Иконка кнопки «КП заказчику» |
1.2.22 | 22.06.2026 | Кнопка «КП заказчику»: нумерация К####, пустой Word, запись в Номер_КП_Заказчик |
1.2.12 | 24.06.2026 | INTEGRO_ПАПКА_ОТВЕТОВ: папки «Отказы» и «КП направлены» |
1.2.11 | 24.06.2026 | INTEGRO_ПАПКА_ОТВЕТОВ — путь к папке ответов/отказов (лист «Почта») |
1.1.0 | 05.06.2026 | INTEGRO_СКЛОН_ФИО, INTEGRO_СКЛОН_ДОЛЖНОСТЬ; исправлен #ИМЯ? при OneDrive |
1.0.9 | 05.06.2026 | INTEGRO_ГИПЕРССЫЛКА: чтение адреса из ячейки с ГИПЕРССЫЛКА |
1.0.8 | 05.06.2026 | Новая функция: INTEGRO_ГИПЕРССЫЛКА — извлечение относительного пути из UNC |
1.0.7 | 28.05.2026 | Авто-поиск по Enter в A1: курсор переходит к заявке в столбце B |
1.0.6 | 28.05.2026 | Кнопка «Найти заявку» — поиск по номеру из ячейки A1 в столбце B |
1.0.5 | 27.05.2026 | Новая функция: INTEGRO_СУММА_ПРОПИСЬЮ |
1.0.4 | 27.05.2026 | Кнопка «О программе» с версией и ссылкой на сайт |
1.0.3 | 27.05.2026 | Новая функция: INTEGRO_СЛОВО — склонение слов по падежам |
1.0.2 | 27.05.2026 | Все функции с префиксом INTEGRO_. Страница установки |
1.0.1 | 26.05.2026 | INTEGRO_ДОЛЖНОСТЬ, INTEGRO_КРАТКОЕ_ИМЯ, INTEGRO_РУКОВОДИТЕЛЬ |
1.0.0 | 26.05.2026 | Первый релиз: INTEGRO_FIO, INTEGRO_INN, INTEGRO_GREETING, нумерация |