Работа с валютами в 1С:Предприятие 8 — одна из самых частых задач для бухгалтеров, финансовых аналитиков и программистов. Без актуальных курсов невозможно корректно вести учет валютных операций, формировать отчетность или рассчитывать таможенные платежи. Однако найти, где хранятся курсы валют в 1С, не всегда просто: интерфейс программы меняется в зависимости от конфигурации, версии платформы и прав пользователя.
В этой статье мы разберем все возможные способы просмотра и обновления курсов валют в 1С 8.3 и 8.2 — от стандартных справочников до программных методов через API. Вы узнаете, как автоматизировать загрузку курсов из ЦБ РФ, где искать исторические данные, и что делать, если курсы не обновляются. Инструкции подойдут для конфигураций 1С:Бухгалтерия, 1С:Управление торговлей, 1С:ERP и других типовых решений.
Особое внимание уделим скрытым настройкам, которые позволяют настроить автоматическое обновление курсов без ручного вмешательства — это сэкономит время и исключит ошибки в учете. Если вы программист 1С, в конце статьи найдете примеры кода для работы с курсами через встроенный язык.
1. Стандартный справочник «Валюты» — базовый способ
Самый очевидный и универсальный метод — использовать встроенный справочник «Валюты». Он есть во всех конфигурациях 1С, где предусмотрена работа с иностранными валютами. Чтобы открыть его:
- Перейдите в главное меню программы.
- Выберите раздел
Справочники(в некоторых конфигурациях —Нормативно-справочная информация). - Найдите пункт
Валюты(может называтьсяКлассификатор валютилиВалюты и курсы).
В открывшемся окне вы увидите список всех валют, заведенных в базе. Чтобы посмотреть курсы:
- 🔍 Дважды кликните по нужной валюте (например, USD или EUR).
- 📅 Перейдите на вкладку
Курсы валютилиИстория курсов. - 📊 Здесь отображаются текущий курс и архивные значения с датами.
Если курсы отсутствуют или устарели, их можно добавить вручную кнопкой Добавить или Заполнить (в зависимости от конфигурации). Обратите внимание: в некоторых версиях 1С курсы валют хранятся не в справочнике, а в отдельном регистре сведений — об этом читайте в следующем разделе.
Если справочник «Валюты» отсутствует в меню, проверьте права доступа вашего пользователя. Возможно, администратор ограничил доступ к этому разделу. Попросите его добавить вам роль с правами на просмотр валютных курсов.
2. Регистр сведений «Курсы валют» — где хранятся реальные данные
В большинстве конфигураций 1С (особенно в 1С:Бухгалтерия 8 и 1С:ERP) курсы валют хранятся не в справочнике, а в регистре сведений. Это более гибкий инструмент, позволяющий вести историю изменений и настраивать периодичность обновлений. Чтобы найти регистр:
Откройте меню Операции → Регистры сведений (или Все функции → Регистры сведений в полной версии интерфейса). В списке найдите регистр с названием:
- 💰
Курсы валют(самый распространенный вариант) - 📉
Курсы валют НБУ(для украинских конфигураций) - 🌍
Курсы валют ЦБ РФ(в российских версиях)
После открытия регистра вы увидите таблицу с колонками: Валюта, Дата, Курс, Кратность. Здесь можно:
- 🔎 Фильтровать курсы по дате или валюте.
- ➕ Добавлять новые записи вручную.
- 🔄 Обновлять данные через кнопку
ЗаполнитьилиОбновить курсы.
Если кнопки обновления нет, значит в вашей конфигурации предусмотрен другой механизм загрузки курсов (например, через обработку или внешний сервис). Об этом — в следующих разделах.
Чем регистр сведений отличается от справочника?
В справочнике «Валюты» хранятся только основные сведения о валютах (название, код, символ), а сами курсы — в регистре сведений. Это разделение позволяет:
1. Вести историю курсов без дублирования данных о валютах.
2. Настраивать разные курсы для одной валюты на разные даты (например, официальный курс ЦБ и внутренний курс компании).
3. Использовать курсы в отчетах и документах с привязкой к конкретной дате.
3. Автоматическое обновление курсов из ЦБ РФ
Ручной ввод курсов валют — трудоемкий процесс, особенно если валютные операции проводятся ежедневно. К счастью, в 1С предусмотрена автоматическая загрузка курсов из официальных источников, например, с сайта Центрального банка РФ. Способы обновления зависят от конфигурации:
Способ 1: Через обработку «Загрузка курсов валют»
В большинстве типовых конфигураций есть стандартная обработка для загрузки курсов. Чтобы ею воспользоваться:
- Откройте меню
Сервис→Обмен данными→Загрузка курсов валют. - В открывшемся окне выберите источник данных (обычно это
Центробанк РФилиНБУ). - Укажите диапазон дат, за который нужно загрузить курсы.
- Нажмите
Выполнить.
Если обработка отсутствует в меню, ее можно найти через Все функции (включите отображение всех команд в настройках интерфейса). В некоторых конфигурациях обработка называется Обновление курсов валют или Получение курсов валют.
Способ 2: Настройка автоматического обновления
Чтобы курсы обновлялись без вашего участия, настройте регламентное задание:
- Перейдите в
Администрирование→Регламентные задания. - Создайте новое задание с типом
Обновление курсов валют. - Укажите расписание (например, ежедневно в 9:00).
- Сохраните и запустите задание.
После этого курсы будут обновляться автоматически по расписанию. Убедитесь, что у пользователя, от имени которого работает задание, есть права на запись в регистр сведений Курсы валют.
4. Альтернативные источники курсов валют
Если стандартные способы загрузки курсов из ЦБ РФ вас не устраивают (например, из-за задержек обновлений или отсутствия нужной валюты), можно использовать альтернативные источники. Вот наиболее популярные варианты:
| Источник | Преимущества | Недостатки | Как подключить |
|---|---|---|---|
| ЦБ РФ (XML) | Официальные данные, бесплатно, ежедневное обновление | Ограниченный список валют, возможны задержки | Стандартная обработка в 1С |
| НБУ (для Украины) | Актуальные курсы для украинского законодательства | Только для гривны и основных валют | Обработка «Курсы НБУ» |
| API CurrencyLayer или ExchangeRate-API | Более 160 валют, высокое быстродействие | Платный тариф для коммерческого использования | Настройка через HTTP-запросы в 1С |
| Файл Excel/CSV | Удобно для импорта курсов из банка или корпоративной системы | Требует ручной обработки файла | Обработка «Загрузка данных из таблиц» |
Для подключения внешних API потребуются навыки программирования в 1С. Пример кода для загрузки курсов через CurrencyLayer:
Процедура ЗагрузитьКурсыИзAPI
URL ="http://api.currencylayer.com/live?access_key=ВАШ_КЛЮЧ&format=1";
HTTPСоединение = Новый HTTPСоединение(URL);
Ответ = HTTPСоединение.Получить;
Данные = JSON.Прочитать(Ответ.ПолучитьТекст);
Для Каждого Валюта Из Данные.quotes Цикл
НовыйКурс = РегистрыСведений.КурсыВалют.СоздатьМенеджерЗаписи;
НовыйКурс.Валюта = Валюта.Ключ;
НовыйКурс.Дата = ТекущаяДата;
НовыйКурс.Курс = Валюта.Значение;
НовыйКурс.Записать;
КонецЦикла;
КонецПроцедуры
Перед использованием API получите бесплатный ключ на сайте провайдера и замените ВАШ_КЛЮЧ в коде. Обратите внимание на ограничения по количеству запросов в бесплатном тарифе.
Использование внешних API оправдано, если вам нужны курсы экзотических валют (например, криптовалюты) или высокая частота обновлений (несколько раз в день).
5. Просмотр курсов валют в документах и отчетах
Курсы валют в 1С используются не только для справочной информации, но и непосредственно в документах (например, в платежных поручениях, счетах-фактурах) и отчетах (баланс, оборотно-сальдовая ведомость). Рассмотрим, где еще можно увидеть актуальные курсы:
В документах
При создании документа с валютными операциями (например, Поступление товаров и услуг или Счет на оплату покупателю):
- 📄 В шапке документа выберите валюту из справочника.
- 💱 Поле
Курсзаполнится автоматически по текущей дате. - 🔄 Если курс устарел, нажмите на кнопку
Обновить курс(если она есть) или введите значение вручную.
В некоторых конфигурациях курс подтягивается из регистра сведений автоматически при проведении документа. Если курс не обновляется, проверьте настройки Параметров учета (раздел Администрирование).
В отчетах
В отчетах, где требуется пересчет валют (например, Оборотно-сальдовая ведомость по счетам или Анализ субконто):
- 📊 В настройках отчета выберите валютный учет.
- 🌐 Укажите валюту отчета (например, USD или EUR).
- 📅 Выберите дату, по которой будут браться курсы (текущая дата или дата формирования отчета).
Если в отчете курсы отображаются некорректно, проверьте:
- Наличие записей в регистре
Курсы валютна нужную дату. - Правильность настроек валютного учета в
Учетной политике. - Права доступа пользователя к регистру сведений.
1. Убедиться, что в справочнике «Валюты» есть нужная валюта
2. Проверить наличие курса на дату документа в регистре «Курсы валют»
3. Обновить курсы через обработку, если они устарели
4. Перепровести документ после обновления курсов
-->
6. Решение проблем с курсами валют
Иногда курсы валют в 1С работают некорректно: не обновляются, отображаются с ошибками или вообще отсутствуют. Рассмотрим typical issues и способы их решения:
Проблема 1: Курсы не загружаются из ЦБ РФ
Если при попытке обновить курсы через стандартную обработку появляется ошибка:
- 🔌 Проверьте подключение к интернету — 1С должна иметь доступ к сайту ЦБ.
- 🛡️ Настройки прокси — если вы работаете через корпоративную сеть, возможно, требуется указать прокси-сервер в параметрах 1С.
- 🔄 Обновите конфигурацию — в старых версиях 1С могут быть ошибки в обработке загрузки курсов.
Если ошибка сохраняется, попробуйте загрузить курсы вручную через файл XML с сайта ЦБ:
- Скачайте актуальный файл курсов по адресу
www.cbr.ru/scripts/XML_daily.asp. - В 1С используйте обработку
Загрузка данных из файлов XML. - Укажите путь к скачанному файлу и выполните загрузку.
Проблема 2: Курсы есть, но не подтягиваются в документы
Если курсы загружены в регистр, но не отображаются в документах:
- 📅 Проверьте дату документа — курс должен быть заведен на эту дату или раньше.
- 🔧 Настройки валюты в документе — убедитесь, что выбрана правильная валюта.
- 🔒 Права пользователя — возможно, у текущего пользователя нет прав на чтение регистра
Курсы валют.
Если проблема не решена, проверьте настройки Учетной политики — возможно, валютный учет отключен или настроен некорректно.
Если курсы валют критически важны для вашей работы, настройте резервное копирование регистра «Курсы валют» через регламентное задание. Это поможет быстро восстановить данные в случае сбоя.
7. Программное управление курсами валют (для разработчиков 1С)
Если вы программист 1С, вам может потребоваться работать с курсами валют через встроенный язык. Ниже приведены ключевые методы и примеры кода дляных задач.
Получение текущего курса валюты
Чтобы получить курс валюты на определенную дату:
Функция ПолучитьКурсВалют(Валюта, ДатаКурса)
МенеджерЗаписи = РегистрыСведений.КурсыВалют.СоздатьМенеджерЗаписи;
МенеджерЗаписи.Отбор.Валюта.Установить(Валюта);
МенеджерЗаписи.Отбор.Период.Установить(ДатаКурса);
Если МенеджерЗаписи.ВыбратьПервый Тогда
Возврат МенеджерЗаписи.Курс;
Иначе
Возврат Неопределено; // Курс не найден
КонецЕсли;
КонецФункции
Массовое обновление курсов
Для обновления курсов нескольких валют за определенный период:
Процедура ОбновитьКурсы(МассивВалют, ДатаНачала, ДатаОкончания)
Для Каждого Валюта Из МассивВалют Цикл
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| КурсыВалют.Курс КАК Курс
|ИЗ
| РегистрСведений.КурсыВалют КАК КурсыВалют
|ГДЕ
| КурсыВалют.Валюта = &Валюта
| И КурсыВалют.Период МЕЖДУ &ДатаНачала И &ДатаОкончания";
Запрос.УстановитьПараметр("Валюта", Валюта);
Запрос.УстановитьПараметр("ДатаНачала", ДатаНачала);
Запрос.УстановитьПараметр("ДатаОкончания", ДатаОкончания);
Результат = Запрос.Выполнить;
// Обработка результата
КонецЦикла;
КонецПроцедуры
Интеграция с внешними сервисами
Для загрузки курсов через API (например, ExchangeRate-API):
Функция ЗагрузитьКурсыИзAPI(КлючAPI, Дата)
URL ="https://v6.exchangerate-api.com/v6/" + КлючAPI +"/latest/" + Формат(Дата,"ДФ=yyyy-MM-dd");
HTTPЗапрос = Новый HTTPЗапрос(URL);
Ответ = HTTPЗапрос.Выполнить;
Если Ответ.КодСостояния = 200 Тогда
Данные = JSON.Прочитать(Ответ.ПолучитьТекст);
Возврат Данные.conversion_rates;
Иначе
Возврат Неопределено;
КонецЕсли;
КонецФункции
При работе с API учитывайте ограничения на количество запросов и обрабатывайте возможные ошибки (например, отсутствие интернета или неверный ключ API).
При программной работе с курсами валют всегда проверяйте наличие данных на нужную дату. Отсутствие курса может привести к ошибкам в документах или некорректному формированию отчетов.
FAQ: Частые вопросы о курсах валют в 1С
🔹 Как добавить новую валюту в 1С, если ее нет в справочнике?
Чтобы добавить новую валюту (например, криптовалюту или экзотическую валюту):
- Откройте справочник
Валюты. - Нажмите
Создать. - Заполните поля:
Наименование— полное название валюты.Код— уникальный цифровой или буквенный код (например,BTCдля биткоина).Кратность— обычно 1 (если валюта делится на 100 частей, укажите 100).
Курсы валют.Обратите внимание: для криптовалют может потребоваться доработка конфигурации, так как они не поддерживаются по умолчанию.
🔹 Можно ли в 1С использовать собственные курсы, отличные от курсов ЦБ?
Да, в 1С можно вести внутренние курсы валют, отличные от официальных. Для этого:
- Откройте регистр сведений
Курсы валют. - Добавьте новую запись с нужной валютой и датой.
- В поле
Курсукажите ваше значение (например, коммерческий курс банка). - При необходимости отметьте запись как
Ручной ввод, чтобы она не затиралась при автоматическом обновлении.
В некоторых конфигурациях (например, 1С:ERP) предусмотрен отдельный регистр для внутренних курсов — Внутренние курсы валют.
🔹 Почему в отчетах курсы валют отображаются некорректно?
Некорректное отображение курсов в отчетах обычно связано с одной из следующих причин:
- 📅 Отсутствует курс на дату формирования отчета — проверьте регистр
Курсы валют. - 🔧 Неверные настройки отчета — убедитесь, что в параметрах отчета выбрана правильная валюта и дата курса.
- 🔄 Кэширование данных — попробуйте обновить отчет (кнопка
ОбновитьилиПересчитать). - 🛠️ Ошибка в конфигурации — если проблема повторяется, обратитесь к программисту 1С для диагностики.
Если курсы в регистре есть, но не подтягиваются в отчет, проверьте настройки прав доступа — возможно, у пользователя нет прав на чтение регистра.
🔹 Как настроить автоматическое обновление курсов валют по расписанию?
Для настройки автоматического обновления:
- Перейдите в
Администрирование→Регламентные задания. - Создайте новое задание с типом
Обновление курсов валют. - Укажите параметры:
Расписание— частота обновления (например, ежедневно в 9:00).Пользователь— от имени кого будет выполняться задание (у него должны быть права на запись в регистр курсов).Источник данных— выберите ЦБ РФ или другой источник.
Чтобы проверить работу задания, запустите его вручную и убедитесь, что курсы обновились в регистре Курсы валют.
🔹 Где в 1С хранится история изменений курсов валют?
История курсов валют хранится в регистре сведений Курсы валют. Чтобы посмотреть историю:
- Откройте регистр через меню
Операции→Регистры сведений. - Выберите нужную валюту в отборе.
- Упорядочьте записи по дате (по убыванию, чтобы увидеть последние изменения).
В некоторых конфигурациях (например, 1С:Управление торговлей) история курсов может храниться в отдельном отчете — История курсов валют, который находится в разделе Отчеты → Валютные операции.
Если вам нужна история за длительный период, экспортируйте данные регистра в Excel через кнопку Выгрузить.