Почему не печатается сумма прописью в документах 1С и как это исправить?

Бухгалтер 1С v8.3 (Обычные формы) Бухгалтерский учет
← На главную

В процессе работы с программами системы 1С:Предприятие 8 (будь то БГУ, УТ, ЗУП или УНФ) пользователи часто сталкиваются с досадной проблемой: при печати кассовых ордеров, счетов или накладных поле «Сумма прописью» остается пустым. На первый взгляд кажется, что произошел технический сбой в макете или коде программы, однако в большинстве случаев причина кроется в настройках справочников или параметрах системы. Давайте вместе разберем основные причины этой ситуации и пошагово восстановим корректное отображение печатных форм.

Настройка справочника «Валюты» — основная причина проблемы

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

Разберем, как правильно настроить валюту:

  1. Перейдем в меню Банк и касса (или Справочники) и откроем список Валюты.
  2. Найдем в списке валюту Российский рубль (код 643 или 810).
  3. Откроем карточку валюты. Нам необходимо найти раздел Параметры прописи валюты. В старых редакциях (например, БГУ 1.0) это отдельное поле или закладка, в современных — гиперссылка «Параметры прописи».
  4. Проверим, заполнены ли поля для целой и дробной частей. Для рубля это должны быть значения: «рубль, рубля, рублей, м, копейка, копейки, копеек, ж».

Важный совет: рассмотрим способ автоматического заполнения. Чтобы не прописывать склонения вручную, лучше воспользоваться кнопкой «Подбор из ОКВ» (Общероссийский классификатор валют). Выберите рубль из классификатора, и программа автоматически загрузит все необходимые лингвистические правила.

Проблема дублирования кодов (810 и 643)

Выясним еще один нюанс, который часто возникает после переноса данных из версии 7.7 в 8.х. В справочнике может оказаться две валюты с названием «Рубль»: одна с историческим кодом 810, другая с современным 643. Рассмотрим ситуацию: в настройках учета установлена одна валюта, а в документах по умолчанию подставляется другая. Если в той валюте, которая попала в документ, правила прописи не заполнены — сумма не напечатается. Проанализируйте список валют и убедитесь, что в используемой записи все настройки верны, а дублирующие записи помечены на удаление.

Настройки пользователя и параметров учета

Иногда решение проблемы кроется не в справочниках, а в индивидуальных настройках интерфейса или прав доступа. Разберем два важных момента:

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

2. Валюта регламентированного учета: Посмотрим на общие настройки программы. Если в базе не указана основная валюта учета (регламентированная валюта), функции печати могут отрабатывать некорректно. В 1С:ЗУП или УНФ это проверяется в разделе Настройки — Параметры учета. Без привязки к конкретной валюте система не может инициализировать параметры склонения числительных.

Технические факторы: Региональные настройки и Кэш

Если настройки валюты в порядке, а суммы все равно нет, проанализируем техническую сторону вопроса. Рассмотрим влияние операционной системы на работу 1С:

Региональные стандарты: Проверьте настройки Windows на сервере или локальном ПК (Панель управления — Региональные стандарты). Должен быть выбран формат «Русский (Россия)». Если там установлен «Английский (США)», то встроенные функции 1С могут использовать точку вместо запятой в качестве разделителя, что приведет к сбою функции ЧислоИПрописью.

Очистка кэша: Бывает, что вы уже исправили валюту, но печатная форма всё равно выходит пустой. Это происходит из-за того, что 1С «закешировала» старые данные. В таком случае рекомендуется почистить временные файлы. Для этого удалите базу из списка и добавьте её заново или вручную очистите папку %AppData%\Local\1C\1cv8.

Пример программного формирования суммы

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


// Пример формирования строки прописью
ВалютаДокумента = СсылкаНаОбъект.ВалютаДокумента;
ПараметрыПрописи = ВалютаДокумента.ПараметрыПрописиНаРусском; 
// Если ПараметрыПрописи пустые, результат будет некорректным
СуммаТекстом = ЧислоИПрописью(СсылкаНаОбъект.СуммаДокумента, "L=ru_RU", ПараметрыПрописи);

Если вы используете внешнюю печатную форму, проверьте её код. Возможно, там жестко прописана ссылка на конкретную валюту, которой нет в вашей базе, или параметры передаются с ошибкой. В таком случае правки в справочнике Валюты внутри программы не помогут, пока не будет отредактирован код самого внешнего макета.

Заключение

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

← На главную