Многие пользователи и администраторы системы 1С сталкиваются с ситуацией, когда поведение программы в разных, казалось бы, одинаковых базах различается. Типичный пример: в одной информационной базе при нажатии кнопки «Отправить по почте» в документе «Счет на оплату покупателю» система открывает промежуточное окно, где предлагает выбрать — отправить обычный счет или счет с печатью и факсимиле. В другой же базе это окно бесследно исчезает, и программа сразу переходит к выбору формата вложения (PDF, Excel и т.д.). Рассмотрим подробнее, почему так происходит, и разберем алгоритмы работы подсистемы печати, чтобы восстановить желаемое поведение интерфейса.
Для начала проанализируем логику работы Библиотеки стандартных подсистем (БСП), которая лежит в основе «1С:Бухгалтерия предприятия 3.0». Программа 1С спроектирована так, чтобы минимизировать лишние действия пользователя. Окно выбора печатных форм перед отправкой письма появляется только в том случае, если доступных вариантов печатных форм больше одного.
Разберем это правило на примерах:
Как показывает практика и обсуждение на форумах, наиболее частой причиной появления окна выбора является наличие в базе дополнительных (внешних) печатных форм. Проанализируем ситуацию: если вы добавили в одну базу модифицированный бланк счета через раздел Администрирование — Печатные формы, отчеты и обработки — Дополнительные отчеты и обработки, то общее количество форм для документа увеличивается. Даже если вы не собираетесь отправлять именно эту внешнюю форму, само её присутствие заставляет 1С выводить окно выбора.
Выясним причину, по которой типовая форма «Счет на оплату (с печатью и подписью)» может считаться недоступной. Для того чтобы эта форма попала в список выбора при отправке, должны быть соблюдены строгие условия в справочнике Организации:
Если визуальный осмотр настроек не помог, перейдем к техническому анализу. Программисту 1С важно понимать, в какой момент принимается решение о выводе формы выбора. Рассмотрим основные точки входа в программном коде. Основная логика формирования коллекции печатных форм для отправки сосредоточена в общем модуле УправлениеПечатью.
Проанализируем примерный алгоритм, который исполняется при нажатии кнопки отправки:
// В процедуре формирования печатных форм для отправки
// происходит подготовка коллекции доступных макетов
КоллекцияПечатныхФорм = УправлениеПечатью.ПодготовитьКоллекциюПечатныхФорм(СписокОбъектов, СписокИменМакетов);
// Далее система проверяет количество элементов в коллекции
Если КоллекцияПечатныхФорм.Количество() > 1 Тогда
// Если форм больше одной, открывается форма выбора
ОткрытьФорму("ОбщаяФорма.ВыборПечатныхФорм", ПараметрыВыбора);
Иначе
// Если форма одна, сразу переходим к формированию файлов
СформироватьФайлыИПерейтиКОтправке(КоллекцияПечатныхФорм);
КонецЕсли;
Для поиска причины в конкретной базе рекомендуется поставить точку останова в функции ПодготовитьКоллекциюПечатныхФорм общего модуля УправлениеПечатью (или УправлениеПечатьюБП). Посмотрите, какие именно макеты попадают в массив в «проблемной» базе и сравните с той, где окно открывается. Чаще всего вы увидите, что в одной из баз в массив не попадает форма СчетЗаказСПечатью.
Иногда возможность использования факсимиле может быть ограничена на уровне общих настроек программы. Проверим путь: Главное — Настройки — Налоги и отчеты или Администрирование — Функциональность. Хотя в последних редакциях БП 3.0 это встречается редко, стоит убедиться, что использование дополнительных реквизитов и печатных форм не ограничено глобально.
Также посмотрим на поведение кнопки «Подпись и печать» внутри самого документа. В некоторых релизах конфигурации 1С запоминает последнее состояние этой кнопки (включена она или выключена). Если вы открыли документ и нажали на иконку печати, система может интерпретировать это как явное указание использовать (или не использовать) факсимиле, и при последующей отправке из формы документа может «проскочить» окно выбора, ориентируясь на текущий визуальный режим.
Чтобы вернуть окно выбора печатных форм при отправке счета по электронной почте, выполните следующие шаги:
Дополнительные отчеты и обработки.ПередПечатью или ПриПечати, изменяя стандартный состав коллекции форм.Таким образом, появление окна выбора — это не «глюк», а результат срабатывания алгоритма проверки количества доступных вариантов. Настроив корректно подписи или добавив внешнюю форму, вы добьетесь единообразного поведения программы во всех ваших информационных базах.