Вводная статья по обновлятору

оглавлениеЗаставляем обновлятор читать базы из списка сервера 1с

Обновляем курсы валют и классификатор банков в группе баз при помощи Обновлятора-1с

Статья устарела и требует переработки?

Как известно, основная функция обновлятора - это обновление баз. Но многие, наверное, уже обратили внимание на дополнительную закладку "Администрирование баз", которая появилась в программе с начала 2016 года.

И если вы владеете навыками написания скриптов (3 варианта - пакетные cmd скрипты, vbs и onescript, он же 1C), то сможете на этой закладке творить "чудеса",  не связанные напрямую с обновлением :)

В этой статье рассмотрим как в группе файловых баз настроить регулярное (например, по ночам) и автоматическое обновление курсов валют и классификатора банков.

Сразу оговорюсь, что для этого база должна поддерживать возможность запуска этого процесса через внешнее соединение.

Для примера возьмём три файловые базы 1С:Бухгалтерия 3.0:

В каждой из этих баз есть регламентные задания для обновления курсов валют и классификатора банков:

Но так как базы файловые - наладить их регулярное фоновое выполнение крайне проблематично.

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

Итак, поехали ;-)

Для начала зайдём в регламентное задание "Загрузка курсов валют" и посмотрим какой метод из кода в нём вызывается:

Видим, что из общего модуля РаботаСКурсамиВалют вызывается экспортный метод ЗагрузитьАктуальныйКурс.

То же самое посмотрим для задания "Загрузка классификатора банков":

Здесь из модуля РаботаСБанками вызывается метод ЗагрузитьКлассификаторБанков.

Отлично, это вся информация, которая нам нужна.

Переходим в обновлятор на закладку "Администрирование баз":

Прежде всего выбираем базы для запуска.

Тип скрипта - OneScript.

В самом низу снимаем все галки, кроме "Создать внешнее подключение к базе (v8)" - оно нам понадобится.

Наконец, пишем такой код скрипта:

v8.РаботаСКурсамиВалют.ЗагрузитьАктуальныйКурс();
Сообщить("Актуальный курс валют загружен.");
 
v8.РаботаСБанками.ЗагрузитьКлассификаторБанков();
Сообщить("Актуальный классификатор банков загружен.");

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

Видим, что курсы загружены только до 13 августа 2015 года. А сегодня - 26 февраля 2016.

Выполняем наш скрипт:

Вот отчёт:

Проверяем курсы валют в первой же базе:

Отлично, курсы загрузились вплоть до сегодняшнего дня.

Но нам нужно поставить эту задачу в планировщик, к примеру, на 2 часа ночи.

Нажимаем кнопку "Сохранить...":

Нажимаем "ОК":

И вот он - пакетный скрипт для запуска нашего скрипта. Более того обновлятор уже сам прописал его однократный запуск на 2 часа ночи на 26.02.2016 (согласно нашей галке при сохранении).

Чтобы сделать его запуск регулярным откроем задание в планировщике и изменим расписание на "ежедневно":

Готово.

С уважением, (школа 1С программистов).

Подписывайтесь и получайте новые статьи и обработки на почту (не чаще 1 раза в неделю).

Вступайте в мою группу ВКонтакте, Одноклассниках, Facebook или Google+ — самые последние обработки, исправления ошибок в 1С, всё выкладываю там в первую очередь.

Владимир Милькин
Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.



Вводная статья по обновлятору

оглавлениеЗаставляем обновлятор читать базы из списка сервера 1с