В стандартной ЕРП текст назначения платежа можно указать в банковском счете контрагента. Проблема в том, что этот текст фиксированный. Если оплата происходит по одному договору/счету, то все хорошо, но если договоров несколько, то приходится каждый раз исправлять руками. Предлагается решение, как это изменить.
Назначение
Подсистема предназначена для гибкого формирования текста назначения платежа в зависимости от контекста. Текст назначения платежа представляет собой обычную строку, но в него добавляются специальные строковые метки - ключи, по которым алгоритм будет понимать, в какие места нужно вставлять тот или иной контекст. Таким образом текст превращается в шаблон.
Механизм подсистемы не работает для выплаты ЗП и перечисления д/с сотрудникам. Также не работает в Заявках на расходование д/с.
Механизм позволяет формировать отдельные шаблоны для каждого банковского счета контрагента, также есть возможность включить один ОБЩИЙ шаблон "по умолчанию" для всех пустых назначений платежа. Общий шаблон позволяет избежать однообразной настройки одинаковых шаблонов для каждого банковского счета и использовать "индивидуальные" шаблоны только там, где это нужно. Использование общего шаблона активируется отдельно в настройках.
Краткое описание работы
Все очень просто и практически ничем не отличается от текущего порядка работы
- в банковских счетах контрагента указываем текст назначения со специальными ключами
- в документе "Списание безналичных ДС" нажимаем кнопку "Заполнить"
- алгоритм берет значения ключей из документа и подставляет в текст назначения платежа
- полученный результат подставляется в поле "Назначение платежа" в документ
Терминология
В справке часто упоминается слово "шаблон".
Под шаблоном понимается текст назначения платежа с добавленными ключами для подстановки контекста. О ключах будет сказано ниже.
Размещение
Индивидуальный шаблон для конкретного банковского счета настраивается в форме справочника "Банковский счет контрагента" в поле "Текст назначения платежа". Общий шаблон можно указать в окне настроек механизма. Общий шаблон доступен только если его использование включено в настройках. Об окне настроек сказано ниже.

Подробное описание процесса работы
- В документе "Списание безналичных ДС" пользователь нажимает кнопку "Заполнить"
- Запускается механизм формирования текста назначения платежа
- Происходит анализ, заполнен ли текст в карточке банковского счета
- Если текст заполнен, то анализируется настройка активации механизма.
- Если механизм включен, то здесь начинается работа основного механизма.
Текст обрабатывается и подставляется в документ. - Если механизм выключен, то текст подставляется в документ без обработки. Добавляются только суммы (сумма документа и сумма НДС)
- Если механизм включен, то здесь начинается работа основного механизма.
- Если текст не заполнен, то анализируется настройка ОБЩЕГО шаблона - начинается работа механизма общего шаблона.
- Если включена, то используется общий шаблон.
- Если настройка выключена, то происходит формирование текста "по умолчанию", так как это заложено в алгоритме ЕРП.
- Если текст заполнен, то анализируется настройка активации механизма.
- Полученный результат подставляется в документ
Как видно текущий механизм начинает работать, текст счета заполнен или включено использование общей настройки.
Активация механизма
По умолчанию механизм выключен. Для его активации необходимо перейти в форму настроек и включить соответствующий флаг.

Ключи шаблона
На текущий момент возможна автоматическая подстановка в текст шаблона следующих значений:
- номер договора
- дата договора
- сумма документа
- сумма НДС - !!! ВНИМАНИЕ !!! это не только сумма НДС, но в целом вся фраза "В т.ч. НДС (22%) 100 руб"
Чтобы алгоритм "понимал" в какое место подставлять то или иное значение в тексте шаблона нужно указать "ключи" для значений. На текущий момент всего 5 ключей:
- [НомерДоговора]
- [ДатаДоговора]
- [СуммаДокумента]
- [СуммаНДС]
- [СтандартныйТекстНазначенияПлатежа]
По всем ключам их назначение понятно из их названия, за исключением последнего.
Ключ [СтандартныйТекстНазначенияПлатежа] позволяет указать, что для данного счета следует использовать стандартную процедуру формирования текста назначения платежа, т.е. это признак, что мы "отключаем" для данного счета наш механизм.
Стоит сказать о ключах [СуммаДокумента] и [СуммаНДС].
Эти ключи могут быть опущены - система все равно добавит информацию о суммах в текст.
Но по умолчанию система ВСЕГДА располагает их на следующей строке, что бывает неудобно.
Наличие ключей сумм позволяет Вам управлять где именно будут располагаться блок сумм.
Чуть подробнее о ключах сумм будет сказано ниже.
Добавление ключей в текст счета
Чтобы не допустить ошибок при указании ключей в текст счета, в форме предусмотрены кнопки для вставки ключей.

Все что нужно сделать - установить курсор в нужное место и нажать соответствующую кнопку-гиперссылку. Можно выделить текст и нажать кнопку, тогда выделенный текст будет заменен ключом.
Источник данных
Номер и дата договора механизм берет из договора, который указан в документе "Списание безналичных ДС" на закладке "Расшифровка платежа" в 99% случаев договор там заполнен. Для оставшегося 1% текст назначения нужно будет формировать вручную. Это очень редкие случаи.

Например, в карточке банковского счета контрагента укажем текст шаблона:
Оплата по договору №[НомерДоговора] от [ДатаДоговора] за ТМЦ, счет №02ER- Сумма [СуммаДокумента], [СуммаНДС]

Тогда, при нажатии кнопки "Заполнить" в документе "Списание безналичных ДС" автоматически сформируется следующий текст назначения платежа:

Сумма документа и Сумма НДС
Видно, что в текст подставились значения номера и даты договора, а также суммы в той же строке, что и основной текст. Так произошло потому, что мы включили ключи [СуммаДокумента], [СуммаНДС] в шаблон.
Попробуем убрать ключи сумм из шаблона:

Тогда автоматически сформированный текст будет таким:

Видно, что суммы все равно были добавлены, но они располагаются на следующей строке - т.е. как в стандартном варианте. Таким образом мы сами можем управлять тем где будут располагаться суммы - в той же сроке в произвольном месте, либо на следующих строках, как в стандартном варианте.
Общий шаблон
Анализ показал, что во многих банковских счетах используются схожие по содержанию тексты назначения платежа. Как правило это фраза:
Оплата по договору №______ от _______ за ТМЦ, Счет №_______
Чтобы не указывать каждый раз один и тот же текст в разных банковских счетах можно воспользоваться общим шаблоном.
По умолчанию общий шаблон отключен, чтобы он заработал его нужно включить в настройках:

Видно, что здесь можно указать единый ОБЩИЙ шаблон, который будет использоваться, если текст назначения платежа в банковском счете пустой.
Таким образом можно реализовать сценарий:
- по умолчанию текст назначения платежа в банковском счете не заполнен
- система видит пустой текст и подставляет ОБЩИЙ шаблон
- если общий шаблон не подходит в данном конкретном случае, то заполняется текст в банковском счете, и он начинает действовать только для этого банковского счета, при этом общий шаблон не будет использоваться
Таким образом можно автоматизировать большую часть рутинных стандартных платежей без указания в каждом банковском счете одинакового текста шаблона.
Еще раз подчеркиваю: общий шаблон будет работать только если текст назначения платежа в банковском счете пустой.
Принудительное формирование стандартного варианта, ключ [СтандартныйТекстНазначенияПлатежа]
Если возникнут случаи, когда нужно сформировать стандартный текст назначения - такой, как задано в ЕРП по умолчанию, то нужно не указывать текст назначения платежа в банковском счете.
Но у нас эта "ниша" уже занята общим шаблоном.
Чтобы обойти эту коллизию и иметь возможность формировать стандартный ЕРП-текст предусмотрен ключ [СтандартныйТекстНазначенияПлатежа].
Если указать этот ключ, то механизм не будет использовать общий шаблон и будет считать, что текст назначения в банковском счете не заполнен.
При этом по кнопке "Заполнить" в документе сформируется стандартный текст ЕРП.


Техническая информация
Опишу, как подключить расширение для неопытных пользователей.
В режиме "Конфигуратор"
- скачиваете файл расширения
- в главном меню вызываете список расширений: "Когфигурация" --> "Расширения конфигурации"
- добавляете новое расширение - имя, синоним, назначение, префикс - произвольные, т.к. они заменятся на значения из файла.
- новое расширение добавится в список расширений. Снимаете галки "Безопасный режим", "Защита от опасных действий"
- двойным щелчком открываете конфигурацию расширения
- для конфигурации расширения вызываете меню "Действия" --> "Конфигурация" --> "Загрузить конфигурацию из файла"
- в диалоге выбираете скачанный файл
- затем снова "Действия" --> "Конфигурация" --> "Обновить конфигурацию расширения"
- обновление конфигурации расширения можно выполнить только в монопольном режиме с завершением работы всех пользователей и фоновых заданий
В режиме "Предприятие"
Из-за того, что в расширении присутствуют три константы, которые управляют использованием функциональности, вы не сможете установить расширение с динамическим обновлением в режиме предприятия. Если это критично, то можете просто удалить из конфигурации расширения константы и возвращать "Истина" для булево-констант в общем модуле, а также задать свою строку для константы "..ОбщийТекстШаблона.."
После этих манипуляций расширение можно подключить в режиме "Предприятие"
- скачиваете файл расширения
- в режиме "Предприятие" через главное меню вызываете "Функции для технического специалиста"
- ветка "Стандартные" --> Управление расширениями конфигурации
- кнопка "Добавить" --> выбираете скачанный файл
- после добавления снимаете галки "Безопасный режим", "Защита от опасных действий"
- перезапуск базы
Проверено на следующих конфигурациях и релизах:
- 1С:ERP Управление предприятием 2, релизы 2.5.27.49
Вступайте в нашу телеграмм-группу Инфостарт