Как настроить автоматическую загрузку курсов валют в 1С:Бухгалтерия для Казахстана редакции 2.0?

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

При переходе или регулярной работе в конфигурации «1С:Бухгалтерия для Казахстана» редакции 2.0 пользователи и администраторы часто сталкиваются с вопросом: куда пропало фоновое регламентное задание для автоматической загрузки курсов валют с сайта Национального Банка Республики Казахстан и было ли оно в системе изначально. Разберем архитектурные особенности редакции 2.0, выясним причину такого поведения и рассмотрим все доступные варианты автоматизации загрузки курсов.

Архитектурные особенности механизма загрузки курсов в редакции 2.0

Проанализируем структуру конфигурации редакции 2.0 (построенной на базе обычного приложения):

  1. Отсутствие подсистемы БСП для загрузки курсов в фоновом режиме: В отличие от редакции 3.0 на управляемых формах, где регламентное задание ЗагрузкаКурсовВалют встроено по умолчанию и управляется через администрирование, в типовой конфигурации 2.0 отдельного регламентного задания для загрузки курсов изначально не было предусмотрено.
  2. Событийная загрузка при старте: Штатный механизм в ветке 2.0 ориентирован на интерактивное обновление пользователем либо на автоматическое срабатывание при запуске клиентского сеанса.
  3. Файловый и клиент-серверный режимы: Для файловых информационных баз запуск регламентных заданий без постоянно открытого выделенного клиентского сеанса невозможен в силу ограничений платформы. Поэтому разработчики использовали событие запуска программы конкретным ответственным сотрудником.

Способ 1. Включение автозагрузки курсов при входе пользователя

Рассмотрим штатный вариант настройки, который предусмотрен разработчиками конфигурации «Бухгалтерия для Казахстана» редакции 2.0. Данная настройка позволяет загружать свежие курсы валют автоматически каждый раз, когда указанный пользователь входит в информационную базу.

Разберем по шагам порядок настройки:

  1. Перейдем в главное меню программы: Сервис → Управление пользователями и доступом → Список пользователей (или откроем справочник Пользователи).
  2. Откроем карточку пользователя, который первым начинает рабочий день (например, бухгалтера или дежурного оператора), и нажмем кнопку Настройки пользователя на панели действий.
  3. В дереве настроек найдем раздел Основные значения для подстановки в документы и справочники.
  4. Найдем флаг Загружать актуальные курсы валют при запуске программы и установим для него значение Истина (отметим флажком).
  5. Сохраним изменения по кнопке ОК.

Теперь при каждом запуске программы под данной учетной записью система автоматически выполнит подключение к серверу классификаторов и загрузит актуальные котировки валют.

Способ 2. Интерактивная загрузка курсов из справочника валют

Если требуется получить котировки вручную в середине рабочего дня или за прошедший период, воспользуемся штатной интерактивной загрузкой:

  1. Откроем справочник Валюты через меню Банк и касса → Валюты (или через общее меню справочников).
  2. В верхней командной панели формы списка нажмем кнопку Загрузить курсы валют.
  3. В открывшейся обработке укажем период, за который требуется получить данные, выберем нужные валюты и нажмем Загрузить.

Способ 3. Автоматизация через планировщик задач Windows и внешнюю обработку

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

Разберем по шагам реализацию этого сценария:

  1. Создадим или подготовим внешнюю обработку (с расширением .epf), в модуле формы которой при открытии вызывается процедура загрузки курсов, после чего программа закрывается.

Посмотрим на пример логики в модуле внешней обработки:


Процедура ПриОткрытии()
    Попытка
        // Вызов алгоритма получения и записи курсов валют
        ЗагрузитьКурсыВалютПоРасписанию();
    Исключение
        ЗаписьЖурналаРегистрации("АвтозагрузкаКурсов", УровеньЖурналаРегистрации.Ошибка,,, ОписаниеОшибки());
    КонецПопытки;
    
    // Автоматическое закрытие сеанса после выполнения
    ЗавершитьРаботуСистемы(Ложь);
КонецПроцедуры
  1. Откроем Планировщик заданий Windows (Task Scheduler) и создадим новую простую задачу с ежедневным расписанием (например, в 07:00).
  2. В качестве действия укажем Запуск программы и пропишем строку запуска исполняемого файла 1cv8.exe с необходимыми ключами командной строки:

"C:\Program Files\1cv8\common\1cv8.exe" ENTERPRISE /F "D:\Bases\BuhKZ" /N "АвтоРобот" /P "Пароль123" /Execute "D:\Scripts\LoadRates.epf"

Параметр /F используется для файловой базы (для серверной базы укажем /S "Сервер1С\ИмяБазы"), параметр /N задает имя пользователя с достаточными правами, а ключ /Execute указывает путь к обработке автозагрузки.

Способ 4. Доработка конфигурации или переход на редакцию 3.0

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

  1. Создание собственного регламентного задания (для серверного варианта): Если база работает в режиме клиент-сервер, разработчик может добавить в дерево метаданных объект РегламентноеЗадание, назначить ему расписание и вызывать экспортную серверную процедуру загрузки курсов. При этом важно убедиться, что серверу «1С:Предприятия» предоставлен прямой доступ в интернет к веб-ресурсам Нацбанка РК.
  2. Переход на актуальную редакцию 3.0: В типовой редакции «1С:Бухгалтерия для Казахстана» 3.0 вся работа с курсами переведена на подсистемы БСП. Загрузка работает в фоновом режиме по гибкому расписанию и автоматически адаптируется к изменениям протоколов передачи данных со стороны Национального Банка РК.
← На главную