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