К статье
Практический материал

Администрирование · 9 мин

Что такое ДДКонтр в 1С и как с ним работать

Разбираем, что такое ДДКонтр в 1С: как определить, что это за механизм в вашей базе, как проверить его работу, настроить и устранить типовые ошибки.

Термин «ДДКонтр» (встречаются написания ДДКонтр, ДД.Контр, DDControl) не входит в стандартную поставку типовых конфигураций 1С. Чаще всего так называют дополнительный механизм контроля: внешнюю обработку, расширение конфигурации или подсистему, которую внедрил подрядчик или штатный программист для проверки данных, движений документов или корректности проведения. Поэтому точный ответ на вопрос «что это» всегда зависит от конкретной базы.

На практике под этим названием обычно скрывается один из трёх сценариев: контроль движений документов (проверка, что документ сформировал корректные проводки и записи в регистрах), контроль дублей данных (поиск повторных контрагентов, номенклатуры, документов) или контроль даты запрета и последовательности проведения. Понять, какой именно вариант работает у вас, можно только осмотром самой базы.

Ниже разобрано, как определить природу ДДКонтр в вашей конфигурации, как проверить его работу, какие проблемы он вызывает и что делать, если механизм мешает проведению документов или обновлению.

Как определить, что именно называется ДДКонтр в вашей базе

Первый шаг — найти объект с таким именем. Откройте базу в режиме конфигуратора (нужны права администратора) и выполните глобальный поиск по строке «ДДКонтр» и её вариантам: меню «Правка → Глобальный поиск». Поиск покажет, где встречается имя: в общих модулях, подписках на события, регламентных заданиях, ролях или расширениях.

Если база работает в режиме управляемого приложения и конфигуратор недоступен, проверьте раздел «Администрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки» — внешняя обработка могла быть подключена туда. Также посмотрите список расширений: «Администрирование → Печатные формы, отчеты и обработки → Расширения».

Как найти объект ДДКонтр
  1. 1
    Откройте конфигуратор и выполните глобальный поиск по строке «ДДКонтр»
  2. 2
    Проверьте список расширений конфигурации и дополнительных обработок в пользовательском режиме
  3. 3
    Посмотрите регламентные задания: консоль заданий покажет, есть ли фоновый процесс с таким именем
  4. 4
    Проверьте журнал регистрации по отбору за последние дни — механизм контроля обычно пишет туда события
  5. 5
    Если объект найден, откройте его модуль и прочитайте комментарии разработчика в шапке кода

Типовые сценарии, которые реализуют под именем ДДКонтр

Контроль движений и проведения документов

Самый частый вариант — подписка на событие «При проведении» или «Обработка проведения», которая перед записью движений проверяет условия: заполненность обязательных реквизитов, наличие остатков на складе, корректность счетов учёта. Если условие не выполняется, документ не проводится, а пользователь получает сообщение об ошибке. Внешне это выглядит как «1С ругается на ДДКонтр».

Контроль дублей и качества данных

Второй сценарий — регламентное задание, которое периодически сканирует справочники и документы на предмет дублей, пустых ссылок или некорректных значений и формирует отчёт ответственному сотруднику. Такой механизм не блокирует работу, а только информирует.

Контроль даты запрета и последовательностей

Реже встречается обёртка вокруг штатных механизмов даты запрета изменения данных: доработка проверяет, не проводится ли документ задним числом в закрытом периоде, и блокирует операцию для пользователей без специальной роли.

Как проверить, что механизм работает корректно

Работоспособность проверки удобно проверять на тестовом документе в копии базы. Создайте документ того вида, который контролируется, намеренно нарушьте проверяемое условие (например, оставьте пустым обязательный реквизит) и попробуйте провести. Если контроль работает, вы получите осмысленное сообщение с указанием причины отказа.

Для регламентных заданий проверка другая: откройте консоль заданий или журнал регистрации и убедитесь, что задание выполняется по расписанию и завершается без ошибок. Признак проблемы — задание давно не запускалось или завершается с ошибкой, а отчёты о контроле перестали приходить.

Контрольные точки

Как проверить результат

Проведение тестового документа с нарушением условия
Норма

Документ не проводится, сообщение указывает конкретную причину

Тревожный признак

Документ проводится несмотря на нарушение или падает с технической ошибкой

Журнал регистрации по событию контроля
Норма

Есть регулярные записи о выполнении без ошибок

Тревожный признак

Записей нет или присутствуют ошибки выполнения

Сообщения пользователю
Норма

Текст понятен и указывает, что исправить

Тревожный признак

Сообщение содержит только код ошибки или пустое

Типовые проблемы и как их устранить

Самая частая жалоба — после обновления конфигурации документы перестали проводиться с ошибкой в модуле ДДКонтр. Причина почти всегда одна: доработка обращалась к реквизиту или методу, который в новой версии переименован или удалён. Лечится это адаптацией кода подписки или расширения под новую версию — задача для программиста 1С.

Вторая типовая ситуация — контроль блокирует легальные операции. Например, проверка остатков не учитывает возвраты или перемещения между складами. Здесь не нужно отключать механизм целиком: правильнее скорректировать условие проверки, добавив исключения для конкретных видов операций.

Третья проблема — падение производительности. Если подписка на событие выполняет тяжёлые запросы при каждом проведении, массовое перепроведение документов замедляется в разы. Диагностируется замером производительности в конфигураторе, лечится оптимизацией запросов или переносом проверки в фоновое задание.

Типичные ошибки
01
Удаление подписки или расширения «чтобы не мешало» — контрольные проверки отключаются, и в учёт начинают попадать некорректные данные
02
Обновление конфигурации без тестирования на копии — доработка конфликтует с новой версией и блокирует проведение в рабочей базе
03
Отключение всех подписок на события скопом вместо поиска конкретной проблемной — ломаются и другие механизмы
04
Игнорирование текста ошибки и повторное проведение тем же способом — причина не устраняется, а журнал заполняется ошибками

Когда можно отключить ДДКонтр и как это сделать безопасно

Отключение оправдано, если механизм устарел, дублирует штатные проверки конфигурации или его логика больше не соответствует учётной политике. Решение должны принимать вместе программист и ответственный за учёт: отключение контроля означает, что ранее блокируемые ошибки начнут попадать в данные.

Безопасный порядок такой: сделайте резервную копию базы, отключите объект (снимите флажок активности у расширения или удалите обработчик подписки в тестовой копии), проверьте проведение ключевых видов документов и только после этого повторите в рабочей базе. Не удаляйте объект физически сразу — оставьте возможность быстро вернуть его обратно.

Что делать, если разработчик доработки недоступен

Ситуация распространённая: подрядчик, внедривший ДДКонтр, давно не сопровождает базу, а документации не осталось. В этом случае логику механизма восстанавливают по исходному коду: любой программист 1С может открыть модуль подписки или обработки и прочитать условия проверки. Код в этом смысле — лучшая документация.

Если код защищён паролем или поставлен без исходников (так бывает с коммерческими обработками), вариантов два: найти поставщика обработки по названию и запросить сопровождение, либо списать механизм и реализовать нужные проверки заново штатными средствами или собственным расширением.

Маршрут решения

Как выбрать действие

Ошибка появилась после обновления конфигурацииОткатитесь на копию до обновления, найдите конфликт в коде доработки и адаптируйте его под новую версию
Контроль блокирует корректные документыЗафиксируйте примеры и скорректируйте условие проверки, добавив исключения, а не отключайте механизм целиком
Механизм не нужен и дублирует штатные проверкиОтключите его в тестовой копии, проверьте ключевые операции, затем отключите в рабочей базе
Код закрыт паролем и разработчик недоступенОпишите требуемые проверки словами и реализуйте их заново собственным расширением

Частые вопросы о ДДКонтр в 1С

ДДКонтр — это вирус или сторонняя программа?

Нет, это не вредоносное ПО. Так обычно называют осмысленную доработку, внедрённую в конкретную базу. Но если объект с таким именем появился внезапно и никто из сотрудников не знает о его происхождении, стоит проверить журнал регистрации: кто и когда загружал расширение или внешнюю обработку.

Можно ли найти описание ДДКонтр в официальной документации 1С?

Нет, в документации по типовым конфигурациям такого объекта нет, потому что это не штатный механизм. Искать описание нужно во внутренней документации внедрения, в комментариях к коду или у подрядчика, который дорабатывал базу.

Почему ошибка ДДКонтр появляется только у части пользователей?

Чаще всего потому, что проверка зависит от прав или от данных конкретной операции. Например, контроль даты запрета срабатывает для пользователей без специальной роли, а проверка остатков — только для документов по определённому складу. Сравните роли пользователей и условия проблемного документа.

Мешает ли ДДКонтр обновлению конфигурации?

Если механизм реализован как расширение или подписка на событие, типовое обновление обычно проходит, но после него доработку нужно тестировать: изменённые объекты конфигурации могут конфликтовать с её кодом. Если же менялись типовые модули напрямую, обновление потребует ручного сопоставления изменений.

Как понять, какие документы контролирует механизм?

Откройте в конфигураторе подписку на событие и посмотрите свойство «Источник» — там перечислены виды документов, для которых срабатывает проверка. Для внешней обработки список контролируемых объектов обычно виден в её настройках или в коде запроса.

Итог

Что важно запомнить

ДДКонтр — это не типовой объект 1С, а внедрённая в конкретную базу доработка для контроля данных или проведения документов. Её назначение определяется осмотром кода, отключать её можно только после тестирования на копии, а конфликты после обновления решаются адаптацией механизма, а не его удалением.