Справочники и Данные · 11 мин
Как добавить вид операции в 1С
Как добавить вид операции в 1С: где меняется список операций документа, настройка через конфигуратор и встроенные средства, типичные ошибки и проверка результата.
Вид операции в 1С — это реквизит документа, который определяет, как именно программа будет проводить документ, какие проводки сформирует и какие поля покажет пользователю. Например, у документа «Поступление товаров и услуг» могут быть операции «Покупка, комиссия», «Возврат товаров поставщику» и другие. Потребность добавить новый вид операции возникает, когда стандартного списка не хватает под специфику учёта организации.
Важно сразу понять: вид операции — это не обычный элемент справочника, который пользователь добавляет кнопкой «Создать». Список операций зашит в конфигурацию, и в типовых решениях (1С:Бухгалтерия, 1С:Управление торговлей, ERP) он задаётся разработчиком. Поэтому добавить собственную операцию можно только через доработку конфигурации либо через механизм расширений, если конфигурация стоит на поддержке.
Прежде чем вносить изменения, стоит проверить, нельзя ли решить задачу штатными средствами: существующими видами операций, дополнительными реквизитами, статьями затрат или пользовательскими настройками. Доработка конфигурации — крайняя мера, потому что она усложняет обновление и требует тестирования.
Что такое вид операции и где он хранится
Вид операции — это реквизит документа, чаще всего с типом «Перечисление». Значения перечисления (например, «Покупка», «Комиссия», «Возврат») определяются в конфигураторе в ветке «Перечисления» дерева конфигурации. Программный код проведения документа проверяет значение этого реквизита и в зависимости от него формирует разные движения по регистрам.
Именно поэтому нельзя просто «добавить строчку в список» из пользовательского режима. Даже если технически получится вписать новое значение, документ не будет знать, как его обрабатывать: проведение либо завершится ошибкой, либо сформирует пустые движения. Любое добавление операции требует двух шагов — нового значения перечисления и логики его обработки.
В некоторых конфигурациях вместо перечисления используется ссылка на справочник (например, «Виды операций» в отдельных отраслевых решениях). В этом случае добавить значение можно прямо в пользовательском режиме, но логику проведения всё равно придётся дорабатывать, если новая операция должна отличаться от существующих.
Когда доработка не нужна: штатные альтернативы
Перед вмешательством в конфигурацию проверьте штатные возможности. Часто задача «добавить вид операции» на самом деле решается проще. Например, если нужно отличать особые поступления в отчётах, достаточно добавить дополнительный реквизит документа через раздел «Администрирование — Общие настройки — Дополнительные реквизиты и сведения» и выводить его в отчёты.
Если различие касается только проводок, в «1С:Бухгалтерии» можно использовать субконто, статьи затрат, способы отражения расходов или ручную корректировку движений документа (флаг «Ручная корректировка» в форме документа). Это не требует доработки и не ломает обновления.
Ещё один вариант — создать отдельный шаблон документа или использовать копирование типовых документов с предустановленными реквизитами. Для учётных целей это часто полностью заменяет отдельный вид операции.
Как выбрать действие
Добавление вида операции через конфигуратор
Этот способ подходит, если конфигурация уже дорабатывается под организацию и снята с полной поддержки, либо если это собственная разработка. Работа ведётся в конфигураторе под пользователем с правами администратора.
Порядок действий: откройте конфигуратор, найдите нужное перечисление (обычно оно называется по шаблону «ВидыОперацийНазваниеДокумента», например «ВидыОперацийПоступлениеТоваров»). Добавьте новое значение перечисления, задайте ему имя и синоним — синоним увидят пользователи в выпадающем списке.
Далее найдите документ, использующий это перечисление, и откройте модуль объекта. В процедуре «ОбработкаПроведения» добавьте ветку обработки нового значения: какие движения по регистрам формировать, какие проверки выполнять. Если на форме документа видимость полей зависит от операции, доработайте и модуль формы. После этого обновите конфигурацию базы данных (F7) и протестируйте проведение.
Добавление операции через расширение конфигурации
Если конфигурация типовая и стоит на поддержке, правильный путь — расширение. Расширение позволяет добавить значение перечисления и доработать проведение без изменения основной конфигурации, что сохраняет простое обновление. Расширения создаются в конфигураторе: «Конфигурация — Расширения конфигурации — Создать».
В расширение добавляется заимствованное перечисление с новым значением, а процедура проведения документа дорабатывается через аннотации «&После», «&Вместо» или «&ИзменениеИКонтроль». Учтите ограничение: не все объекты и не все методы можно расширить, а обработчики «&Вместо» полностью подменяют типовую процедуру, что рискованно при обновлениях.
После разработки расширение подключается в пользовательском режиме: «Администрирование — Печатные формы, отчеты и обработки — Расширения». Перед подключением отключите в расширении безопасный режим только если доверяете его коду, и обязательно протестируйте на копии базы.
Доработка проведения под новую операцию
Главная часть работы — не добавление значения в список, а логика. В типовом модуле проведения обычно есть конструкция вида «Если ВидОперации = ... Тогда». Новую ветку нужно вписать аккуратно, чтобы не сломать существующие операции. Определите, по каким регистрам документ должен делать движения: бухгалтерские проводки, регистры накопления, регистры сведений.
Если новая операция похожа на существующую, проще всего скопировать её ветку обработки и изменить нужные параметры: счета учёта, направление движений, аналитику. Это снижает риск ошибок по сравнению с написанием логики с нуля.
Не забудьте про отмену проведения и обработку удаления движений — в типовых конфигурациях это обычно работает автоматически через наборы записей, но при вставке собственного кода формирования движений нужно убедиться, что записи корректно очищаются.
Перед доработкой полезно провести типовой документ с близкой по смыслу операцией и посмотреть его движения через кнопку «Дт/Кт» или отчёт по движениям документа. Это даст готовый образец того, какие записи должна формировать новая операция.
Проверка результата и типичные ошибки
После обновления конфигурации создайте тестовый документ, выберите новую операцию и проведите его. Откройте движения документа и сверьте с ожидаемыми: счета, суммы, количество, аналитика. Затем отмените проведение и убедитесь, что движения очистились. Проверьте также, что старые операции того же документа работают как раньше.
Отдельно проверьте отчёты, которые используют данные документа: оборотно-сальдовую ведомость, отчёты по складу, регистры НДС, если они затронуты. Новая операция должна корректно попадать в отчётность, иначе различия обнаружатся только при закрытии периода.
Как проверить результат
Значение отображается с понятным названием и выбирается
Операции нет в списке или отображается пустая строка
Документ проводится без ошибок, движения соответствуют ожиданиям
Ошибка проведения или пустые движения
Движения полностью удаляются
Остаются «висячие» записи в регистрах
Старые виды операций работают как раньше
Появились ошибки в документах, которые работали до доработки
Ограничения и когда привлекать специалиста
Есть ситуации, когда самостоятельная доработка нежелательна. Если база работает в сервисе 1С:Фреш, прямая доработка конфигурации невозможна — доступны только расширения, прошедшие проверку, и дополнительные отчёты и обработки. Если организация ведёт регламентированную отчётность, ошибки в проведении могут привести к искажению деклараций и штрафам.
Привлеките программиста 1С, если новая операция затрагивает НДС, валютные переоценки, расчёты с комитентом или другие сложные участки учёта. Там логика проведения размазана по общим модулям, и неучтённая ветка обработки даст скрытые расхождения, которые всплывут при закрытии месяца.
Также учитывайте: любая доработка требует сопровождения. При каждом обновлении конфигурации нужно проверять совместимость расширения или переносить изменения в обновлённую конфигурацию. Заложите на это время в регламент обновлений.
Что важно запомнить
Вид операции добавляется не в пользовательском режиме, а через конфигуратор или расширение. Недостаточно добавить значение в список — нужно доработать проведение документа. Работайте на копии базы, тестируйте проведение и отмену проведения, а для типовых конфигураций предпочитайте расширения, чтобы не терять доработку при обновлении.
Частые вопросы
Можно ли добавить вид операции без конфигуратора?
Нет, если операция реализована как перечисление — его значения меняются только в конфигураторе или через расширение. В пользовательском режиме можно добавить значение только если вид операции реализован как элемент справочника, что встречается редко, в основном в отраслевых решениях. Но даже тогда логику проведения под новую операцию придётся дорабатывать программно.
Что лучше: правка конфигурации или расширение?
Для типовой конфигурации на поддержке — расширение: оно сохраняет возможность штатного обновления. Прямая правка оправдана, только если конфигурация уже сильно доработана и снята с поддержки, либо если механизм расширений не позволяет изменить нужный объект или метод.
Почему новая операция появилась в списке, но документ не проводится?
Добавлено только значение перечисления, а модуль проведения не доработан. Процедура «ОбработкаПроведения» не знает, что делать с новым значением, и либо выдаёт ошибку, либо завершается без формирования движений. Нужно добавить ветку обработки новой операции в модуль объекта документа или в расширение.
Исчезнет ли добавленная операция при обновлении 1С?
Если изменение внесено прямой правкой типовой конфигурации — да, обновление может затереть доработку или заблокироваться из-за изменённых объектов. Если операция добавлена через расширение, она сохранится, но после каждого обновления расширение нужно проверять на совместимость: в новой версии могли измениться процедуры, к которым оно подключается.
Можно ли добавить вид операции в 1С:Фреш?
Прямая доработка конфигурации в сервисе невозможна. Доступны расширения и дополнительные отчёты и обработки, которые проходят автоматическую проверку сервиса. Если нужная доработка не укладывается в эти рамки, рассмотрите переход на коробочную версию или штатные механизмы: дополнительные реквизиты, субконто, ручные операции.
Как отличать документы с разной логикой без нового вида операции?
Используйте дополнительные реквизиты документа, субконто на счетах учёта, статьи затрат или отдельные склады и договоры с особыми условиями. Эти данные доступны в отчётах и позволяют группировать документы без доработки конфигурации. Такой подход не требует сопровождения при обновлениях.