Почему в 1С:Бухгалтерия 3.0 при отправке счета по почте не предлагается выбор формы с печатью и без?

Программист 1С v8.3 (Управляемые формы) 1C:Бухгалтерия
← На главную

Многие пользователи и администраторы системы 1С сталкиваются с ситуацией, когда поведение программы в разных, казалось бы, одинаковых базах различается. Типичный пример: в одной информационной базе при нажатии кнопки «Отправить по почте» в документе «Счет на оплату покупателю» система открывает промежуточное окно, где предлагает выбрать — отправить обычный счет или счет с печатью и факсимиле. В другой же базе это окно бесследно исчезает, и программа сразу переходит к выбору формата вложения (PDF, Excel и т.д.). Рассмотрим подробнее, почему так происходит, и разберем алгоритмы работы подсистемы печати, чтобы восстановить желаемое поведение интерфейса.

Механизм «множественности» печатных форм

Для начала проанализируем логику работы Библиотеки стандартных подсистем (БСП), которая лежит в основе «1С:Бухгалтерия предприятия 3.0». Программа 1С спроектирована так, чтобы минимизировать лишние действия пользователя. Окно выбора печатных форм перед отправкой письма появляется только в том случае, если доступных вариантов печатных форм больше одного.

Разберем это правило на примерах:

  1. Если в системе доступна только одна форма (например, стандартный «Счет на оплату»), программа считает выбор избыточным и сразу переходит к следующему шагу — настройке вложений.
  2. Если в системе доступны две или более формы (например, «Счет на оплату» и «Счет на оплату (с печатью и подписью)»), программа обязана спросить пользователя, какую именно форму (или обе сразу) необходимо прикрепить к письму.

Причина 1: Регистрация внешних печатных форм (ВПФ)

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

Причина 2: Настройка факсимиле в карточке организации

Выясним причину, по которой типовая форма «Счет на оплату (с печатью и подписью)» может считаться недоступной. Для того чтобы эта форма попала в список выбора при отправке, должны быть соблюдены строгие условия в справочнике Организации:

Причина 3: Программная логика и использование отладки

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

Проанализируем примерный алгоритм, который исполняется при нажатии кнопки отправки:


// В процедуре формирования печатных форм для отправки
// происходит подготовка коллекции доступных макетов
КоллекцияПечатныхФорм = УправлениеПечатью.ПодготовитьКоллекциюПечатныхФорм(СписокОбъектов, СписокИменМакетов);

// Далее система проверяет количество элементов в коллекции
Если КоллекцияПечатныхФорм.Количество() > 1 Тогда
    // Если форм больше одной, открывается форма выбора
    ОткрытьФорму("ОбщаяФорма.ВыборПечатныхФорм", ПараметрыВыбора);
Иначе
    // Если форма одна, сразу переходим к формированию файлов
    СформироватьФайлыИПерейтиКОтправке(КоллекцияПечатныхФорм);
КонецЕсли;

Для поиска причины в конкретной базе рекомендуется поставить точку останова в функции ПодготовитьКоллекциюПечатныхФорм общего модуля УправлениеПечатью (или УправлениеПечатьюБП). Посмотрите, какие именно макеты попадают в массив в «проблемной» базе и сравните с той, где окно открывается. Чаще всего вы увидите, что в одной из баз в массив не попадает форма СчетЗаказСПечатью.

Причина 4: Функциональные опции и константы

Иногда возможность использования факсимиле может быть ограничена на уровне общих настроек программы. Проверим путь: Главное — Настройки — Налоги и отчеты или Администрирование — Функциональность. Хотя в последних редакциях БП 3.0 это встречается редко, стоит убедиться, что использование дополнительных реквизитов и печатных форм не ограничено глобально.

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

Подведем итоги решения

Чтобы вернуть окно выбора печатных форм при отправке счета по электронной почте, выполните следующие шаги:

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

Таким образом, появление окна выбора — это не «глюк», а результат срабатывания алгоритма проверки количества доступных вариантов. Настроив корректно подписи или добавив внешнюю форму, вы добьетесь единообразного поведения программы во всех ваших информационных базах.

← На главную