Гайд по разработке под 1С:Университет ПРОФ

Разработка расширений 1С:Университет: как дорабатывать без потери обновлений

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

1С:Университет ПРОФРасширения конфигурацииОбновления без слиянийИнтеграции Moodle, ФИС ФРДО, ЭИОС
Коротко

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

Для вуза расширение обычно закрывает: дополнительные реквизиты в договорах и приказах, кастомные отчёты по успеваемости, свои роли и права, обмены с Moodle и ЭИОС, выгрузки в ФИС ФРДО. Если задача выходит за рамки расширения (тяжёлая аналитика, чат-боты, ИИ), её выносят во внешнюю систему и связывают с 1С по API.

Чем расширение отличается от правки типовой конфигурации

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

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

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

На новых внедрениях 1С:Университет ПРОФ CDO Global по умолчанию работает через расширения. Если унаследована база с правками типовой, сначала проводим аудит и переносим правки в расширение, а типовую возвращаем к поставочному состоянию.

Что можно и что нельзя расширить

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

Заимствованные объекты

  • Формы. Можно добавлять реквизиты, команды, элементы, менять видимость и заголовки, вешать обработчики событий (при открытии, при записи, при изменении реквизита).
  • Реквизиты. К типовым справочникам и документам добавляются собственные реквизиты — они хранятся в отдельных таблицах расширения.
  • Модули. Можно перехватывать методы через директивы «Перед», «После», «Вместо» и добавлять собственную логику до/после/вместо оригинала.
  • Роли. Заимствуются для контроля прав к типовым объектам с учётом добавленных реквизитов.

Добавленные объекты

  • Собственные справочники, документы, регистры сведений и накопления, отчёты, обработки, планы обмена, HTTP-сервисы, общие модули, подписки на события.
  • Собственные роли — для контроля прав на добавленные объекты.
  • Собственные команды и подсистемы, чтобы аккуратно вписать доработку в интерфейс.

Области кода

  • Обработчики событий. Основной инструмент: изменять поведение типовых объектов через «ПередЗаписью», «ПриЗаписи», «ПриОткрытии», «ОбработкаПроведения» и т.п.
  • Перехват методов. Через «Вместо» с обязательным вызовом оригинала (ПродолжитьВызов), если поведение должно сохраняться.
  • Собственные модули. Общие модули расширения, куда выносится бизнес-логика доработки.

Чего расширение делать не должно: подменять типовые структуры данных так, чтобы ломать миграции при обновлениях; хранить критичные данные только в реквизитах, добавленных к нестабильным типовым объектам; заменять типовые механизмы, которые фирма 1С в новом релизе может переписать.

Архитектура расширения 1С:Университет

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

Общие модули

Бизнес-логика расширения: расчёты, форматирование, работа с реквизитами, вспомогательные функции.

Обработки

Служебные операции: миграция данных в новые реквизиты, массовое обновление, разовые сценарии.

Регистры сведений

Собственные регистры для хранения истории, справочных данных и статусов обмена с внешними системами.

Формы

Заимствованные формы типовой с добавленными реквизитами и командами плюс собственные формы обработок и отчётов.

Отчёты

Отчёты на СКД по учебному процессу, договорам, задолженностям, успеваемости, кадровой отчётности.

Подписки и HTTP-сервисы

Подписки на события типовых объектов и HTTP-сервисы для обменов с Moodle, ЭИОС, платёжными шлюзами и ФИС ФРДО.

Разработку удобно вести в отдельной базе разработчика с копией продовых данных. Расширение хранится в Git — это даёт код-ревью, ветки, теги релизов и возможность откатиться на любую версию. Для 1С есть штатный формат выгрузки в файлы и подходящие инструменты вроде OneScript, EDT и стандартных подсистем.

Типовые доработки 1С:Университет для вуза

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

Дополнительные поля в договорах и приказах

Юридические реквизиты, специальные условия оплаты, кастомные признаки для приёмной комиссии, ссылки на внешние документы. Добавляются как реквизиты расширения к типовым справочникам и документам, выводятся на заимствованные формы и включаются в печатные формы и отчёты.

Новые роли и права доступа

Собственные роли для учебных отделов, деканатов, приёмной комиссии, финансовой службы. Роль ограничивает права на добавленные реквизиты и объекты и корректно уживается с типовыми ролями 1С:Университет ПРОФ.

Кастомные отчёты по успеваемости

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

Интеграция с внешними системами

Обмены с ФИС ФРДО, платёжными шлюзами, ЭИОС и порталами вуза. Расширение хранит планы обмена, HTTP-сервисы и обработки выгрузки; на стороне внешней системы работает коннектор или плагин. Подробнее об обмене с ФИС ФРДО — в отдельном гайде ФИС ФРДО для ДПО.

Собственные обмены с Moodle

Двусторонний обмен по контингенту, учебным планам, ведомостям и оценкам. У CDO Global такая связка реализована в CDO.1С и в готовых продуктах CDO.ЭИОС и CDO.LMS. Логика на стороне 1С живёт в расширении, что даёт независимый цикл обновлений типовой и обмена.

Безопасная разработка расширений

Расширение — сильный инструмент, но им легко сломать себе будущее. Ниже — правила, которых CDO Global придерживается на проектах по 1С:Университет.

  • Не захватывать объекты «в собственность». Захват означает, что объект типовой полностью перестаёт получать штатные изменения от поставщика. По умолчанию оставляем режим совместного использования, чтобы обновления типовой продолжали приходить.
  • Работать с заимствованными формами через обработчики. Не менять типовой код формы, а добавлять свои элементы и вешать обработчики «При открытии», «При изменении», «Перед записью». Это переносит логику расширения в собственные модули и не ломает форму при её обновлении фирмой 1С.
  • Обязательный вызов оригинала при «Вместо». Если метод перехватывается через «Вместо», в теле обычно вызывают ПродолжитьВызов, иначе типовая логика теряется, а обновления начинают ломать сценарии.
  • Логика — в общих модулях расширения. Не размазывать бизнес-логику по формам и обработчикам: собственные общие модули проще тестировать, версионировать и переносить.
  • Аккуратно с уникальностью имён. К именам собственных объектов и реквизитов удобно добавлять префикс расширения (например, cdo_) — это исключает пересечения с новыми объектами, которые фирма 1С может добавить в типовую.
  • Хранить расширение в Git. Выгрузка в файлы и хранение в репозитории даёт код-ревью, ветки под задачи, теги релизов и историю изменений.

Тестирование расширений

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

  • Приёмочные сценарии. Приёмная кампания, зачисление, приказы, договоры, оплаты, ведомости, обмены с Moodle и ФИС ФРДО. Для каждой доработки готовится короткий чек-лист «шаги — ожидаемый результат».
  • Регресс после обновлений. Прогон тех же сценариев после обновления типовой 1С:Университет и платформы 1С:Предприятие. Регресс удобно вести на копии продовой базы, чтобы поймать пограничные случаи.
  • Автотесты, где это оправдано. Модульные тесты общих модулей расширения через сценарное тестирование или xUnitFor1C — особенно для расчётов и обменов.
  • Тестирование ролей. Заход под каждой типовой и добавленной ролью и проверка доступа к добавленным реквизитам и объектам.
  • Проверка производительности. Если расширение вешает подписки на массовые события, замеряют время проведения и открытия форм на характерных объёмах.

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

Публикация и обновление расширения

Расширение подключается к базе в режиме Конфигуратора (пункт «Расширения конфигурации») или из «Предприятия» через штатную обработку. При установке платформа проверяет совместимость с текущей типовой и выводит список замечаний, если что-то заимствовано некорректно.

  • Установка. Загрузка файла расширения в раздел «Расширения конфигурации», проверка совместимости, обновление конфигурации базы данных.
  • Отключение. Расширение можно временно отключить одним флажком — типовая продолжит работать без доработок. Это удобно для локализации проблемы во время инцидента.
  • Откат. Полный откат — выгрузка предыдущей версии из Git, повторная загрузка в базу, обновление конфигурации. Именно поэтому важно тегировать релизы расширения.
  • Обновление типовой. После установки нового релиза типовой прогоняется регресс. Если фирма 1С поменяла заимствованные формы или методы, расширение пересохраняется на новой версии типовой.
  • Обновление платформы. После обновления 1С:Предприятие расширение перепроверяется на совместимость — особенно в части клиент-серверных вызовов и работы форм.

Типовые ошибки при разработке под 1С:Университет

По аудитам чужих внедрений CDO Global регулярно видит один и тот же набор проблем. Ниже — что чаще всего мешает вузу спокойно обновлять 1С:Университет.

  • Правка типовой конфигурации без расширения. Классический сценарий: несколько лет накопленных изменений в типовой, конфигурация снята с поддержки, каждое обновление — многодневное слияние. Решение — перенести всё в расширение и вернуть типовую к поставочному состоянию.
  • Перехват методов через «Вместо» без вызова оригинала. Убивает штатную логику типовой, а после обновления ломает сценарии. Правило: если перехватили — вызывайте ПродолжитьВызов, если это не сознательное замещение.
  • Бизнес-логика в общих модулях типовой. Часть команд по привычке дописывает логику расширения прямо в типовые модули. Это тоже правка типовой, только замаскированная. Логику нужно выносить в собственные общие модули расширения.
  • Захват объектов «в собственность» без необходимости. Захваченный объект перестаёт получать обновления от поставщика. Использовать только там, где иначе действительно никак.
  • Отсутствие тестов после обновления платформы. Расширение работало вчера — значит, работает и сегодня. Так бывает не всегда: платформа меняет поведение форм, вызовы модулей, работу транзакций. Регресс после обновления платформы обязателен.
  • Тяжёлая аналитика внутри 1С. Дашборды, сложные ИИ-сценарии, чат-боты — плохо ложатся в расширение и грузят продовую базу. Их выносят во внешнюю систему.

Когда лучше делать не расширение, а внешнюю систему

Расширение — не универсальный инструмент. Есть класс задач, которые правильнее вынести во внешний контур и связать с 1С по API. Это разгружает продовую базу, снимает риски совместимости с обновлениями типовой и позволяет использовать современный стек для того, для чего 1С не заточена.

  • Тяжёлая аналитика и BI. Дашборды для ректората, регулярные срезы по десяткам показателей — в BI-систему (например, Yandex DataLens, Power BI, 1С:Аналитика), а не в отчёты внутри 1С.
  • Академический ИИ. Конструкторы РПД и ФОС, ИИ-тьюторы, диалоговые тренажёры — во внешнем сервисе; в CDO Global это линейка DeepTalk.
  • ЭИОС и LMS. Личные кабинеты студента и преподавателя, курсы, ведомости, вебинары — в Moodle или в готовом решении CDO.ЭИОС. 1С через расширение отдаёт контингент, планы, оценки.
  • Порталы и сайты. Публичные страницы, приёмная кампания на сайте, чат-боты, интеграции с CRM — в отдельных сервисах.

Хорошее правило: если функция нужна только сотрудникам учебной части и работает с типовыми объектами 1С — это расширение. Если функция должна быть доступна студентам, преподавателям, ректорату или наружу — это внешняя система, которая обменивается с 1С по API. Такое разделение контуров сокращает риски и упрощает поддержку.

Частые вопросы о разработке расширений 1С:Университет

Чем расширение отличается от доработки типовой конфигурации?
Расширение — отдельный объект, который живёт рядом с типовой конфигурацией и подгружается платформой при запуске. Типовая при этом остаётся на поддержке поставщика, и обновления от 1С встают штатно. Прямая правка типовой снимает конфигурацию с поддержки и превращает каждое обновление в ручное сравнение и слияние.
Что можно добавить в 1С:Университет через расширение?
Через расширение добавляют собственные справочники, документы, регистры, отчёты, обработки, роли, подписки на события и общие модули. К объектам типовой можно заимствовать формы, реквизиты, команды и модули, добавлять свои реквизиты и обработчики, менять внешний вид форм и добавлять кнопки.
Как расширение соотносится с обновлениями от 1С?
Типовая конфигурация остаётся на поддержке и обновляется штатно через Конфигуратор или через сервис 1С:Обновление программ. Расширение обновляется отдельно: после обновления типовой его нужно проверить на совместимость, при необходимости пересохранить и провести регресс критичных сценариев.
Нужен ли программист 1С в штате или можно заказать разработку?
Оба варианта рабочие. Если задача разовая (два-три отчёта, дополнительные поля, обмен), разработку удобнее заказывать у подрядчика с компетенцией в 1С:Университет. Если доработок много и они постоянные, имеет смысл держать своего разработчика и брать подрядчика на архитектуру и сложные модули.
Как перенести старые доработки типовой в расширения?
Сначала фиксируется список правок в типовой: реквизиты, формы, модули, регистры. Затем правки переносятся в расширение: собственные объекты — как добавленные, изменения типовых объектов — через заимствование и обработчики. После переноса типовая возвращается к поставочному состоянию и снова встаёт на поддержку.
Как расширение работает с Moodle и ЭИОС?
Расширение отвечает за сторону 1С: собственные регистры обмена, HTTP-сервисы, планы обмена, обработки выгрузки. На стороне Moodle или ЭИОС работает коннектор или плагин. У CDO Global такая связка реализована в CDO.1С и в продуктах CDO.ЭИОС и CDO.LMS — расширение 1С:Университет подключается без изменения типовой.
Кто отвечает за совместимость расширения с новыми релизами 1С?
Отвечает разработчик расширения. Фирма 1С гарантирует совместимость типовой конфигурации и платформы, а поведение расширения после обновления проверяет тот, кто его написал. Поэтому в договоре с подрядчиком обычно фиксируют регресс после релизов 1С:Университет и платформы.
Сколько занимает разработка типового расширения для вуза?
Срок зависит от объёма правок и того, есть ли готовая архитектура. Небольшое расширение (пара отчётов, дополнительные реквизиты, роль) собирается быстрее, чем комплексное с обменами и интеграциями. Точная оценка делается после короткого обследования процессов вуза и текущей типовой.
Как тестировать расширение перед публикацией в проде?
Расширение проверяют на копии продовой базы: сценарии приёмной кампании, приказов, договоров, ведомостей, обменов с Moodle и ФИС ФРДО. После обновления типовой или платформы прогоняют регресс тех же сценариев. Для повторяющихся проверок удобно вести чек-лист и хранить его в репозитории вместе с расширением.
Где посмотреть примеры расширений для 1С:Университет?
Публичные примеры разбираются в документации 1С по механизму расширений и в статьях на ИТС. Прикладные примеры для вуза — в описаниях решений CDO Global: /products/1c-university/, /solutions/1c-vuz-college/, /solutions/eios-moodle-1c/. Там показано, какие обмены и доработки живут именно в расширении, а какие вынесены во внешние системы.
Разработка под 1С:Университет

Разработаем расширение 1С:Университет под ваш вуз

Проведём аудит текущей 1С, перенесём накопленные правки типовой в расширение, спроектируем архитектуру доработок и обмены с Moodle, ЭИОС и ФИС ФРДО. Продукт и услуги — на странице 1С для вузов и колледжей, обсудить проект — через форму контактов.

info@cdo-global.ru+7 (495) 777-37-93Реестр ПО №2911844-ФЗ / 223-ФЗ

Дорабатываете 1С:Университет? Пришлём план по расширению без потери обновлений

Расширение конфигурации 1С:Университет ПРОФ: архитектура, безопасные доработки, обмены с Moodle и ФИС ФРДО.

  • Ответим в течение 1 часа в рабочее время
  • Без спама и автоматических звонков
  • Или сразу в Telegram: @cdoglobal

Как с вами связаться: заполните телефон или email (достаточно одного).