Ошибка «Не задана кратность валюты на дату» в 1С 8.3

· 6 мин

Содержание

Документ с валютой не проводится, а 1С пишет Не задана кратность валюты на дату. Значит, в регистре сведений Курсы валют на дату документа для нужной валюты пусто или стоит 0 в поле кратности. Задайте кратность (обычно 1) на эту дату — и проведение пойдёт.

Ниже разберём, как быстро найти дыру в курсах, чем задать кратность валюты на дату в 1С 8.3 и как исправить это так, чтобы ошибка не вернулась через месяц.

Что означает ошибка и откуда она берётся

Каждый валютный курс в 1С — это пара чисел: курс и кратность. Кратность показывает, за сколько единиц валюты указан курс.

  • Доллар, евро — кратность 1 (курс за 1 единицу).
  • Японская иена, старый вьетнамский донг — кратность 100 или 1000 (курс за сотню).

Когда программа считает сумму в рублях, она делит на кратность. Если кратность = 0, получается деление на ноль — 1С блокирует проведение и выдаёт ошибку.

Смежные формулировки той же природы:

  • Не указана кратность валюты
  • Обнаружен нулевой курс валюты
  • Не задана кратность валют (во множественном числе — на форумах)

Причина одна: в регистре Курсы валют на нужную дату записи либо нет, либо она с нулём.

Быстрая диагностика: проверяем регистр «Курсы валют»

Прежде чем что-то менять, посмотрите, что реально лежит в базе на дату документа.

  1. Откройте СправочникиБанкВалюты.
  2. Выделите проблемную валюту (например, USD).
  3. Нажмите Курсы валют в верхней панели.
  4. Найдите строку на дату документа (или ближайшую раньше неё).

1С берёт последний курс на дату или раньше. Если ближайшая запись — с кратностью 0, документ упадёт, даже когда на «сегодня» всё заполнено.

Ошибка часто вылезает после ручного добавления валюты: строку создали, курс вписали, а поле кратности оставили пустым. По умолчанию там 0, а не 1.

Диагностика: выберите симптом

Как исправить — три рабочих способа

Способ 1. Задать кратность вручную

Самый быстрый вариант, когда «дырка» в одной-двух датах.

  1. Валюты → нужная валюта → Курсы валют.
  2. Кнопка Создать.
  3. Заполните: Период = дата документа, Курс = актуальное значение, Кратность = 1.
  4. Запишите и закройте.

Перепроведите документ — ошибка уйдёт.

Не ставьте кратность = 0 и не оставляйте поле пустым — это и есть причина ошибки.

Способ 2. Загрузить курсы с сайта ЦБ

Если пропущен целый период, вбивать вручную долго. Загрузите курсы автоматически.

  1. СправочникиВалюты → команда Загрузить курсы валют.
  2. Укажите период с первой пустой даты по сегодня.
  3. Отметьте нужные валюты.
  4. Нажмите Загрузить.

1С заберёт курсы из сервиса ЦБ РФ вместе с правильной кратностью — заполнять её руками не придётся.

Для загрузки нужен доступ в интернет и действующая подписка ИТС (сервис курсов идёт через неё). Без подписки останется только ручной ввод.

Способ 3. Групповая правка обработкой

Когда нулевая кратность разбросана по сотням строк за годы, ручной способ не годится. Программисты чистят регистр обработкой: перебирают записи Курсы валют, где Кратность = 0, и проставляют 1.

Такую обработку запускают в режиме ФайлОткрыть (внешняя обработка .epf) или через Все функции. Если своего разработчика нет — это как раз задача на один час для специалиста 1С.

СпособКогда применятьРиск
Вручную1–2 пропущенные датыНет
Загрузка с ЦБПропущен период, есть ИТСНужен интернет
ОбработкаМассово, вся историяНужен специалист

Когда кратность не равна 1 — важный нюанс

Не спешите везде ставить 1. Для валют с крупным номиналом ЦБ публикует курс за сотню или тысячу единиц.

Пример по иене: ЦБ даёт 55,3 рубля за 100 иен. Значит в 1С правильно:

  • Курс = 55,3
  • Кратность = 100

Если для такой валюты поставить кратность 1, ошибка исчезнет, но суммы в рублях раздуются в 100 раз. Поэтому кратность берут из данных ЦБ, а не «на глаз».

Проверьте себя по частым валютам:

Проверьте себя
Какая кратность у доллара США в 1С?
ЦБ публикует курс японской иены за 100 единиц. Какую кратность ставить?
Что значит кратность 0 в курсе валюты?

Типичные ошибки и edge-кейсы

  • 🗓️ Курс есть на сегодня, но нет на дату документа. 1С смотрит на дату операции, а не на текущую. Заполняйте историю с первой валютной операции.
  • 🔁 Загрузили курсы, а кратность всё равно 0. Старые ручные записи загрузка не перезаписывает — удалите битую строку и загрузите заново.
  • 📉 Курс на выходной/праздник. ЦБ курс на нерабочий день не меняет — действует последний рабочий. Отдельную запись создавать не нужно.
  • 💱 Несколько валют в одном документе. Проверьте кратность у каждой — ошибка может быть по «незаметной» второй валюте.

Если не помогло

Ошибка держится даже после правки курсов? Пройдите по списку:

  • Перепроведите документ заново (F5 / Провести) — старое проведение могло закешироваться.
  • Проверьте, ту ли валюту правите: в документе может стоять EUR, а вы чините USD.
  • Посмотрите дату строки курса — она должна быть не позже даты документа.
  • Очистите кеш: закройте базу и запустите 1cv8 с ключом /ClearCache.
  • Если проведение зашито в доработке конфигурации — курс тянет модуль, и там ищут причину через отладчик (это уже к программисту).
Проверка перед проведением валютного документа
Выполнено: 0 / 5

Как предотвратить на будущее

  • Настройте регламентное задание Загрузка курсов валют — 1С будет тянуть их с ЦБ сама, каждый день.
  • Перед вводом первичных валютных документов проверяйте, что курс на дату уже есть.
  • Не заводите валюты вручную без крайней нужды — при загрузке с ЦБ кратность подставляется корректно.

Частые вопросы

Где в 1С 8.3 задать кратность валюты?
СправочникиВалюты → выбрать валюту → кнопка Курсы валют → создать запись с полями курс и кратность на нужную дату.
Какую кратность ставить для доллара и евро?
Для них кратность всегда 1 — ЦБ публикует курс за одну единицу.
Почему ошибка возникает только в старых документах?
1С берёт курс на дату операции. Если в прошлом периоде записи нет или кратность 0, документ той даты не проведётся, хотя свежие идут нормально.
Можно ли поставить кратность 1 для всех валют сразу?
Нет. Для иены, донга и других «крупнономинальных» валют ЦБ даёт курс за 100 или 1000 единиц — там кратность другая, иначе суммы исказятся.
Ошибка осталась после загрузки курсов — что делать?
Загрузка не переписывает старые ручные записи. Удалите строку с нулевой кратностью и загрузите период заново.
Что означает «Обнаружен нулевой курс валюты»?
Это соседняя ошибка: на дату документа курс равен 0. Впишите ненулевой курс вручную или загрузите его с ЦБ.