Ускоритель запросов в файловых базах 1с8
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Предыстория: Ко мне обратились складские работники. Т.к. количество пользователей базы 1с8 было небольшое, то им поставили файловую базу. Но запросы выполнялись очень тяжелые, а база весила около 20 Гб. Поэтому запросы работали очень медленно. Причем на центральном компьютере типичный запрос выполнялся 1 минуту, а на компьютерах сети – 5 минут. Нужно было как-то ускорять запросы. И тогда я придумал способ, при котором запросы выполняются на центральном компьютере. Скорость работы нормализовалась до той самой одной минуты.
Запуск сервера
На компьютере, где находится база, запускается сервер менеджера запросов:

Путь – это путь к базе данных, определяется автоматически.
Один менеджер может обрабатывать несколько клиентов, формирующих запросы, при этом запросы ставятся в очередь.
Если требуется параллельное выполнение запросов, нужно запустить несколько экземпляров 1с на компьютере с базой, в каждом указать свой номер соединения.
Для запуска менеджера запросов нужно нажать кнопку «Запустить».
При запуске сервера удаляются все предыдущие, старые, запросы по этому номеру соединения, если не установлена Галочка «При запуске не удалять запросы».
Работу сервера можно прервать кнопкой CTRL+Pause.
Запуск клиента
На компьютере в локальной сети нужно запустить менеджер запросов на закладке «Клиент». Включить/ выключить использование менеджера запросов, указать желаемый номер соединения. Затем нажать кнопку «Установить».
Эти настройки запоминаются в настройках базы данных (СохранитьЗначение). Повторно их можно не настраивать.

Отключение использования менеджера запросов может понадобиться, когда менеджер запросов недоступен, например, сотрудники не имеют доступ к серверу.
Пока клиент ожидает обработки запроса сервером, выдается сообщение «Ждем ответ от менеджера запросов…», выполнение в этом месте можно прервать по CTRL+PAUSE.
Взаимодействие клиента и сервера
Для проверки взаимодействия клиента и сервера:
- Запустим сервер на соединении 1.
- Установим на клиенте номер соединения 1.
- Нажмем на клиенте кнопку «Проверить». При этом будет выполнен тестовый запрос «ВЫБРАТЬ * ИЗ Константы» и выведен его результат:

- На сервере можно увидеть протокол обработки запроса:

Особенности работы
Для обмена файлами используется каталог «Queries» в каталоге базы данных. При необходимости он создается.
Запрос передается как сериализированная в файл структура. Ответ выдается как сериализированный результат выполнения запроса.
Файлы запросов и ответов имеют префиксы query и answer соответственно, за которыми следует номер соединения и уникальный GUID запроса. Расширение txt.
Обработка хорошо оттестирована на практике. Были проблемы с блокировкой файлов при редких стечениях обстоятельств, они были выявлены и изолированы специальными условиями. Так что можно смело применять! Они были выявлены и изолированы специальными условиями. Так что можно смело применять!
Методика внедрения
Помимо обработки, добавьте в конфигурацию клиентский не глобальный модуль пимМенеджерЗапросов (текст прилагается в архиве).
Все вызовы запросов, которые вы хотите ускорить нужно заменить с кода вида:
Результат = З.Выполнить();
На следующий код:
Результат = пимМенеджерЗапросов.ВыполнитьЗапрос(З);
Вступайте в нашу телеграмм-группу Инфостарт
См. также
Инструментарий разработчика Роли и права Запросы СКД Разработчик Руководитель проекта 1С:Предприятие 8 Платные (руб)
Инструменты для разработчиков 1С 8.3 и 8.5: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.
16500 руб.
02.09.2020 286364 1611 423
Кадровый учет Интеграция Запросы Журналы и реестры данных 1С:Предприятие 8 1C:Бухгалтерия 1С:Зарплата и Управление Персоналом 2.5 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1C:ERP Россия Управленческий учет Платные (руб)
Готовое решение для автоматизации проверки сотрудников, кандидатов и контрагентов по государственным реестрам и официальным источникам прямо из интерфейса 1С. Сократите время на ручные проверки, минимизируйте риски и храните результаты в единой информационной системе.
18300 руб.
17.06.2026 900 2 0
Инструментарий разработчика Запросы Разработчик 1С 8.3 1С:Бухгалтерия 3.0 1С:Зарплата и Управление Персоналом 3.x Абонемент ($m)
Структура запроса. Обработка визуально показывает, из какого количества подзапросов состоит запрос.
2 стартмани
06.07.2026 5015 65 XSlava 20
Запросы Разработчик 1С 8.3 Россия Бесплатно (free)
Визуальный «Конструктор запроса» 1С, встроенный прямо в VS Code, — аналог конструктора из Конфигуратора и EDT, но без запуска платформы. Расширение читает конфигурацию, выгруженную в файлы, позволяет собрать запрос мышью и генерирует корректный текст на языке запросов 1С (SDBL). Открывает уже существующий текст запроса из кода для правки и — что особенно ценно — сохраняет комментарии при цикле «открыть - править - сохранить». Подходит тем, кто пишет код 1С в VS Code, держит под рукой множество проектов и не хочет ради одного запроса запускать тяжёлый Конфигуратор или EDT.
26.06.2026 10740 Alex_YAM 7
Нейросети Инструментарий разработчика Запросы Разработчик 1С:Предприятие 8 Абонемент ($m)
Консоль запросов 1.0: добавлен ИИ-помощник (запрос в DeepSeek), который помогает быстрее получать каркас Запроса 1С Сформулируйте простое описание; нажмите кнопку – получите результат прямо в консоли. Где дальше его можно дорабатывать и тестировать. 28.5.2026 Добавил "Консоль запросов 2.0" (запрос в DeepSeek + Claude) 4.10.2026 Обновил "Консоль запросов 2.0"
3 стартмани
20.05.2026 9635 46 German4739 72
WEB-интеграция Запросы Разработчик 1С 8.3 Абонемент ($m)
Post1C - это внешняя обработка, которая превращает 1С в полноценный инструмент для тестирования REST API. Всё управление сосредоточено в одном окне: настройка запроса, выполнение, просмотр ответа и генерация кода - без переключения между формами. Аналог Postman, но работающий в привычной среде 1С.
1 стартмани
02.04.2026 4748 106 priem_nv 28
Запросы Механизмы типовых конфигураций Разработчик 1С:Предприятие 8 1С:Управление торговлей 11 Россия Бесплатно (free)
Предлагается обзор работы с объектной моделью запроса по схемам запросов типовым функционалом УТ 11.5.
09.10.2025 13460 aximo 18
Инструментарий разработчика Запросы Разработчик 1С:Предприятие 8 1С:Зарплата и кадры государственного учреждения 3 1С:Зарплата и Управление Персоналом 3.x Абонемент ($m)
QueryConsole1C — расширение, включающее консоль запросов с поддержкой исполняемых представлений — аналогов виртуальных таблиц, основанных на методах программного интерфейса ЗУП. Оно позволяет выполнять запросы с учётом встроенной бизнес-логики, отлаживать алгоритмы получения данных и автоматически генерировать код на встроенном языке 1С.
1 стартмани
16.05.2025 13740 168 zup_dev 32
(15) дык идея вознила из практики. не знал только, можно ли сериализовать РезультатЗапроса. Оказалось, можно, и это клево...
(16) деньги можно у автора поспрашивать, в отдельной специальной ветке для этого... ;-)
Сергей (fixin).
Думаю, на самом деле больше чем "42 штуки"(с). Учитывая железо, ОС-ы, квалификацию поддержки и т.д. А средний вариант "существует" по смыслу. Разработчикам 1С-а ОНО совсем не надо - и так успешно продаётся.
Я всё ношусь с идеей сделать двухуровневую схему. Для этого существует подходящая простая клиент-серверная СУБД под интерфейс взаимодействия 1С-а со своей файловой СУБД-ой. Но, я один уже не смогу эту задачу поднять... :-( А супер-спецы нашего сообщества не проявляют интереса к подобным задачам. Печально и странно... :-(
(22) ха, ничего себе проще, внешнюю компоненту написать. И ксати, насколько я понимаю у товарища речь о поддержании ком-соединения на одном и том же компьютере. А для ускорения нужно создавать ком-объект на компьютере с базой, а не на компьютере-клиенте. Возможно, но из-за идиотизма мелкомягких с правами нереально.
Нет никакой разницы "ДБФ а не 1СД"(с).
Подмена "движка" полностью, а не доступ к существующему формату данных.
Кроме всего, еще и снимается ограничение на размер БД.
Да. Есть разница в 7.7 или 8.х в сложности "вскрытия" интерфейса. И только - в этом.
Но, после появления у меня прибавилось надежды на возможность такого решения. ;-)
Там не совсем внешняя компонента - просто маленькая библиотечка со стандартным шаблоном. По факту - "3 строчки кода". С правами есть заморочки... но ещё когда сервер 8.0 настраивали все привыкли вроде...
Все реально. Com+ Он же DCom. Настраивается все очень просто. Если сеть доменная нужно только настроить доступ к компоненте для групп, в которых пользователи напиханы. если не домен, то просто продублировать пользователей, хотя скорее всего они и так продублированы. Ну или настроить доступ для гостевой учетки.
Настроил один раз гостевой доступ и все - все работают (всё работает).
Я подобным образом использую автоматизацию с системой traffic inspector.
Кстати у них на сайте тоже есть информация как настроить Com+. Не рекламы ради - Настройка доступа по DCom можно почитать до 4 пункта включительно. Далее идет уже конкретика.
В своем коде просто пишем следующее
ComУдаленный = Новый ComОбъект("ИмяОбъекта", "СерверНаКоторомОбъектЖивет");А если сделать для своего объекта инсталятор прокси, то адрес сервера можно не использовать.
Как сделать инсталятор написано в публикации
Сергей (fixin).
Спасибо за разъяснения. Теперь я буду знать что такое тонкий клиент. Всегда хотел об этом узнать. Но боялся спросить... :-)
Попробуйте вникнуть в то, что я выше написал. Мне интересно Ваше мнение и Ваше "понимание" моего предложения.
Просто товарищ мрак сказал, что вместо набора файловая база + терминальный доступ можно использовать файловая база + тонкие клиенты.
Конечно же, Мрак не имел ввиду, что есть двухуровневая система СУБД + клиенты, всегда есть СУБД + сервер 1С + клиенты, к сожалению.
Ибо двухуровневка 1С - это просто фантастика. Вы хотите весь серверный код 1С переписать в хранимки DB/SQL/Oracle? Слишком уж трудозатратной поддержка окажется, не находите? На порядок, а то и в 100 раз трудозатратнее, чем на данный момент.
Поправьте, если ошибаюсь.
P.S. Сам пару лет поддерживал и дорабатывал учетные системы на Oracle/PL SQL...
Сергей (fixin).
Спасибо за Ваше мнение. Хотя, у меня складывается впечатление, что Вы на мои вопросы-интересы посмотрели в контексте "оперативное и быстрое лечение .... нужны быстрые и дешевые решения"(с). Т.е. слишком узко-конкретно... :-(
Вот у меня грыжа, например. Можно лечить оперативно, но это долго, нудно, с неизвестными последствиями. А можно мануалкой и иголками периодически подлечивать. И ниче, терпимо. Так и здесь.
Взял на заметку. Мне как раз нужно что то подобное реализовать, только не с запросами.
COM+ собственно и нужен для создания объектов на удаленном компьютере.
Вот тут человек вроде всё сделал и описал даже как и что работает...
Я реализовал просто и дубово - бери и пользуйся.. ускоряйся.. ;-)
(30) все эти препарирования с точки зрения закона незаконны и по сути выглядят аналогом использования эмулятора 1с.. так что не катит. Проще свою 1с написать.
По поводу законности - вопрос открытый. Я привел ссылку выше. Та разработка не нарушает никаких законов. Возможно она нарушает лицензионные соглашения. Которые как раз и нарушают законы. ;-)
По поводу "эмулятора 1с"(с) и "Проще свою 1с написать"(с) теперь я ничего не понял. Ваше текущая разработка больше напоминает эмулятор, чем подмена "движка". Для подмены "движка" пользователь изменяет в своей системе ОДИН символ. :-)
Хотя, конечно, согласен он более ориентирован на разработчиков, чем на... бери и пользуйся... :-)
Не спорю, вашу приблуду можно заюзать для ускорения. МОЖНО а у меня уже ГОТОВО. Сделаете ускорение, по аналогичной моей схеме - не вопрос, пусть пользователи выбирают. Пока же у вас ускорение еще не готово. Но потенциально может быть сделано, не спорю. Только смысл ковыряться с настройками брандмауэра, установкой чужих внешних компонент, если то же самое может быть сделано и нативными (встроенными) средствами, как это сделал я?
Т.е. я сомневаюсь что им нужна развернутая история за последние 100лет :)
Ну и к тому же - лицензии на рдп не такие уж и дорогие...
Согласитесь, что и когда то ваш механизм им не поможет, и таким образом они просто один раз заплатили вам, и все равно через год или два - им нужен будет сервер 1С. Т.е. вы не решили проблему, а вылечили последствия.
+ никто не отменял распределенную базу, опять таки с выгруженными данными за последний период...
Решений много.
А менять во всех запросах структуру подключения и выполнения - ну уж очень стремно :)
Подрастет - и базу обрежет и сервер купит и период закроет. ;-)
(59) бугога. Заменить вызов одного метода Выполнить на другой - офигенно тяжелая работа. Добавления модуля в конфу с поддержки не снимает...
Ну почему дорого? берем готовый ускоритель, 2 часа на изучение, 2 часа на внедрение затычек во все места кода (обычно не очень много тяжелых запросов). 1 час на обучение.
5 часов * 1500 = 8500 рублей. Сравни в 42 тыщами. И то, это максимальная оценка, если через франчей, а не фрилансов.
помимо запросов есть еще и участки тяжелого кода (расчет себестоимости например, разузлование), а есть еще скд.
со временем конфигурации имеют свойство меняться.
так что, гораздо проще купить один раз софт который сведет на нет проблемы со скоростью.
тем более что очень часто в файловых тормоза из-за взаимоблокировок, а эту проблему обходными путями не решить.
Работы по написанию и отладке менеджера заняли часов пять, внедрение в код - меньше часа.
Эти шесть часов обошлись по абонентке клиенту намного дешевле, чем 42 тыщи.
Так что как говорится случай бывает разный. Не надо из пушки да по воробьям.
Файловая база обьем под 16 гигов. Пользователей 10-15. Поползли взаимоблокировки при проведении Расходных/приходных накладных.
Конфигурашка УТ 10.3 с доп. Модулем Агент+ для выгрузки для торговых агентов.
Замер производительности показывает, что блокировки возникают при запросах при проведении вышеуказанных документов.
Вы можете заказать платную консультацию или разработку у автора. Будет создан приватный заказ на «Бирже заказов» для автора.
№ 137311
Создание 25.05.12 07:11
Обновление 25.05.12 07:11
Просмотры 26072
Загрузки 106
Рейтинг
46
Комментарии 75
Код открыт Не указано
Рубрики Запросы
Кому
Системный администратор
,
Разработчик
Тип файла Конфигурация (md, cf)
Платформа 1С:Предприятие 8
Конфигурация 1C:Бухгалтерия
Операционная система Не имеет значения
Страна Россия
Отрасль Не имеет значения
Налоги Не имеет значения
Вид учета Не имеет значения
Доступ к файлу Абонемент ($m)