Получить курс валюты 1с упп
Во многих типовых прикладных решениях уже реализован механизм получения курсов валют. Чаще всего в конфигурации существует специальный регистр сведений для хранения этих данных. Если требуется загрузить курсы валют не в типовом прикладном решении, то можно реализовать собственный алгоритм получения курсов по валютам.
РБК - это крупный российский мультимедийный холдинг. Данная компания включает одноименной телеканал, печатные СМИ, интернет-портал. Котировки валют можно получить не только с сайта РБК. ЦБРФ(Центральный банк Российской Федерации) в свободном доступе транслирует котировки валют.
Сайт РБК транслирует курсы валют в открытом доступе. Данный портал предоставляет котировки за различные периоды. Для получения необходимых данных нужно составить соответствующий запрос.
Строка запроса данных с сайта РБК
Коды валют
Британский фунт - 826
Американский доллар - 840
Японская йена - 392
Полный список валют.
Формат выгружаемых данных
Каждый курс валюты выгружается в отдельной строке. Параметры валюты в строке разделены знаком табуляции.
Дата | Кратность | Курс |
---|---|---|
20160821 | 1 | 72.4558 |
20160822 | 1 | 72.4558 |
20160823 | 1 | 72.4457 |
Загрузка курсов валют с сайта РБК
Комментарии (2)
1. vektor 25.05.2020 20:37 |
Добрый день ! Подскажите пожалуйста: как это запустить в 1с8 Бухгалтерия 3.0 ? Буду благодарен за помощь. |
2. progv8 30.05.2020 14:46 |
Здесь показан пример, как получить курсы валют. Этот пример можно запустить во внешней обработке для Бухгалтерии 3.0. |
Большинство хороших программистов делают свою работу не потому, что ожидают оплаты или признания, а потому что получают удовольствие от программирования (Linus Torvalds).
среда, 12 марта 2014 г.
Типовая функция для пересчета из валюты в валюту
Для пересчета из валюты в валюту в типовых конфигурациях используется функция ПересчитатьИзВалютыВВалюту, расположенная в общем модуле - МодульВалютногоУчета.
Текст функции такой:
// Эта функция пересчитывает сумму из валюты ВалютаНач по курсу ПоКурсуНач
// в валюту ВалютаКон по курсу ПоКурсуКон
//
// Параметры:
// Сумма - сумма, которую следует пересчитать;
// ВалютаНач - ссылка на элемент справочника Валют;
// определяет валюты из которой надо пересчитвать;
// ВалютаКон - ссылка на элемент справочника Валют;
// определяет валюты в которую надо пересчитвать;
// ПоКурсуНач - курс из которого надо пересчитать;
// ПоКурсуКон - курс в который надо пересчитать;
// ПоКратностьНач - кратность из которого надо пересчитать (по умолчанию = 1);
// ПоКратностьКон - кратность в который надо пересчитать (по умолчанию = 1);
//
// Возвращаемое значение:
// Сумма, пересчитанная в другую валюту
//
Функция ПересчитатьИзВалютыВВалюту ( Сумма , ВалютаНач , ВалютаКон , ПоКурсуНач , ПоКурсуКон ,
ПоКратностьНач = 1 , ПоКратностьКон = 1 , Погрешность = 0 ,
СоответствиеПогрешностей = Неопределено, Ключ = Неопределено) Экспорт
Если ( ВалютаНач = ВалютаКон ) Тогда
// Считаем, что пересчет не нужен.
Возврат Сумма ;
КонецЕсли;
Если ( ПоКурсуНач = ПоКурсуКон )
и ( ПоКратностьНач = ПоКратностьКон ) Тогда
// пересчет суммы не требуется
Возврат Сумма ;
КонецЕсли;
Если ПоКурсуНач = 0
или ПоКурсуКон = 0
или ПоКратностьНач = 0
или ПоКратностьКон = 0 Тогда
ОбщегоНазначения . СообщитьОбОшибке ( "При пересчете из валюты '" + ВалютаНач + "' в валюту '" + ВалютаКон + "' обнаружен нулевой курс. Пересчет не произведен!" );
Возврат 0 ;
КонецЕсли;
НоваяСумма = ( Сумма * ПоКурсуНач * ПоКратностьКон ) / ( ПоКурсуКон * ПоКратностьНач );
Возврат ОбщегоНазначения . ОкруглитьСУчетомПогрешности ( НоваяСумма , 2 , Погрешность , СоответствиеПогрешностей , Ключ );
В УПП также существует функция ПересчитатьВСуммуРегл, которая предназначена для пересчета суммы управленческого учета в сумму регламентированного учета.
// Функция производит пересчет суммы в валюте упр. учета в валюту регл. учета.
//
Функция ПересчитатьВСуммуРегл ( СуммаУпр , ВалютаРегламентированногоУчета , ВалютаУправленческогоУчета , Дата ) Экспорт
ВалютаРегл = ВалютаРегламентированногоУчета ;
ВалютаУпр = ВалютаУправленческогоУчета ;
КурсВал = ПолучитьКурсВалюты ( ВалютаРегл , Дата );
КурсРегл = КурсВал . Курс ;
КратРегл = КурсВал . Кратность ;
КурсВал = ПолучитьКурсВалюты ( ВалютаУпр , Дата );
КурсУпр = КурсВал . Курс ;
КратУпр = КурсВал . Кратность ;
СуммаРегл = ПересчитатьИзВалютыВВалюту ( СуммаУпр , ВалютаУпр , ВалютаРегл , КурсУпр , КурсРегл , КратУпр , КратРегл );
Примеры вызова функций:
СуммаВзаиморасчетов = МодульВалютногоУчета . ПересчитатьИзВалютыВВалюту ( СуммаДокумента , ВалютаДокумента ,
СтруктураШапкиДокумента . ВалютаВзаиморасчетов , СтруктураШапкиДокумента . КурсДокумента , КурсВзаиморасчетов ,
СтруктураШапкиДокумента . КратностьДокумента , КратностьВзаиморасчетов );
СтрокаТабличнойЧасти . СтоимостьРегл = МодульВалютногоУчета . ПересчитатьВСуммуРегл ( СтрокаТабличнойЧасти . Стоимость , мВалютаРегламентированногоУчета , мВалютаУправленческогоУчета , Дата );
С некоторых пор в 1С 8.х появилась возможность использования веб-сервисов: 1С может выступать как поставщиком, так и потребителем. В этой статье я покажу, как использовать 1С в качестве потребителя на примере получения курсов валют с сервера ЦБР.
Веб-сервис
Конфигурирование
Для разработки я взял 1С 8.2 (8.2.15.317 в моем случае) и создал пустую конфигурацию. Для использования внешних веб-сервисов предусмотрен объект WS-ссылки, но использовать его не обязательно, к сервису можно обращаться динамически из кода. Я буду использовать первый вариант, а затем покажу, как можно использовать второй. В конфигурации создал обработку и назвал ее «ЗагрузкаКурсовВалютЦБР». Добавил форму (управляемую) и сделал ее основной. На форме я создал реквизиты и разместил элементы управления так, как показано на рисунке.
1С на основании полученного описания автоматически создаст визуальную карту веб-сервиса. Можно увидеть название веб-сервиса, посмотреть какие у него доступны операции а так же используемые типы данных.
Конфигурирование на этом почти закончено, осталось сделать пару штрихов для того, чтобы наше приложение выглядело более эстетично. Кликнем правой кнопкой мыши по корню конфигурации и вызовем меню «Открыть командный интерфейс рабочего стола». В появившемся окне необходимо снять флаг «Видимость» напротив обработки «Загрузка курсов валют ЦБР». Нажмем кнопку Ок. Далее еще правый клик по корню конфигурации и вызовем меню «Открыть рабочую область рабочего стола», там сделаем настройку как на рисунке:
Эти настройки позволят нам отобразить форму обработки прямо на рабочем столе (имеется ввиду рабочий стол программы 1С) в режиме 1С Предприятие.
Программирование
Теперь осталось наполнить смыслом нашу обработку: заставить ее получать курсы валют и отображать в таблице на форме. В режиме редактирования формы необходимо добавить новую команду формы, назовем ее ЗагрузитьВалюты. Эту команду необходимо связать с кнопкой, расположенной на форме. Действие для команды заполним следующим кодом (прим. автора: ничего себе, на хабре есть подсветка кода 1С, правда она работает не корректно):
Здесь сначала проверяется, заполнена ли дата (если не заполнена, то сообщаем об этом пользователю и больше ничего не делаем). Затем очищается таблица, расположенная на форме и вызывается процедура ЗагрузитьКурсыВалют(), в которую передается дата.
Код процедуры ЗагрузитьКурсыВалют(), пояснения даны в комментариях к коду:
Теперь можно обновлять конфигурацию БД (F7) и запускать 1С Предприятие (F5). Если все сделали верно, то должны увидеть окно как на рисунке ниже:
Чтобы проверить результат, нам нужно ввести дату, на которую хотим получить курсы валют и нажать на кнопку «Загрузить валюты». В случае успешного запроса, таблица на форме заполнится значениями курсов:
Напоследок хочу показать, как можно обратиться динамически к внешнему веб-сервису, то есть без добавления объекта WS-ссылка. Таким образом, мы можем использовать такие веб-сервисы из внешних обработок без привязки к конфигурации.
В процедуре ЗагрузитьКурсыВалют() строку
необходимо заменить двумя следующими строками
Сначала мы создаем так называемые определения для веб-сервиса из его WSDL. Затем так же создаем прокси для обращения к нему.
Как видно, использовать внешние веб-сервисы из 1С в целом довольно просто (хотя и есть некоторая сложность в понимании определения типов, у меня в том числе).
Если данная публикация найдет здесь отклик, то есть еще несколько тем, о которых можно рассказать.
Вывод Диаграммы График Валют, Сохранение диаграммы, графиков и гистограмм в виде Картинки 0
Алгоритм обработки выполняет запрос к регистру сведений " курсы валют" за определенный пользователем период. Полученные данные выборки в цикле выводятся в элемент экранной формы " диаграмма" в режиме построения графика. Для элемента управления " Ди Документ "Корректировка записей регистров" - Как программно создать и заполнить? 8
Документ «Корректировка записей регистров» в типовых конфигурациях 1С предназначен для ручной корректировки записей регистров накопления, зависимых регистров сведений и регистров бухгалтерии. Типичные ситуации, в которых может понадобиться документ « Загрузка данных в 1С из PDF 4
В данной статье описан пример реализации загрузки данных накладных из PDF файлов для одного крупного Ритейла. И так у Нас есть несколько файлов в формате pdf, которые нам необходимо загрузить в 1С. Чтение PDF файлов из 1С Первым дело я стал Запись в регистр сведений (Установить курс и кратность валюты) 1
// Запись в регистр сведений (Установить курс и кратность валюты) // Параметры: // Валюта - ссылка на элемент справочника Валют // Процедура ЗаписатьКурс(Валюта) Экспорт РегистрКурсыВалют = РегистрыСведений.КурсыВалют.СоздатьМенеджерЗаписи() Использование предложения ДЛЯ ИЗМЕНЕНИЯ 0
Предложение ДЛЯ ИЗМЕНЕНИЯ позволяет заблаговременно заблокировать некоторые данные (которые могут читаться транзакцией другого соединения) уже при считывании, чтобы исключить взаимные блокировки при записи. ДЛЯ ИЗМЕНЕНИЯ дает возможность указать в Посмотреть все результаты поиска похожих
Еще в этой же категории
Полезные возможности редактора кода 1С 28
Мне частенько приходится взаимодействовать с 1С-разработчиками, и во время совместной работы над проектами замечаю, что далеко не все из них хорошо знают свой главный инструмент – «Конфигуратор». Причем это не относится к степени крутости девелопера Работа с буфером обмена средствами 1С 19
Копировать из 1С в буфер обмена( без ВК): ЭлементыФормы.Добавить(Тип(" ПолеHTMLДокумента" ), " Поле_HTML_Документа_acb123" , Ложь); Окно = ЭлементыФормы.Поле_HTML_Документа_acb123.Документ.ParentWindow; Окно.ClipboardData.SetData(" Text" , Текст Структура и название таблиц использыемых для хранения данных в БД 1С 8.х 17
Данные, которые определяют логику функционирования системы на базе 1С:Предприятия, относятся к информационной базе. Хранение информационной базы осуществляется в базе данных с виде набора таблиц, для чего 1С:Предприятие 8.1 может использовать одну из Программно получить список активных пользователей 12
Процедура ПолучениеСпискаАктивныхПользователей() ИтогСписокСоединений.Очистить(); СоединенияИнформационнойБазы = ПолучитьСоединенияИнформационнойБазы(); Для Каждого Соединение Из СоединенияИнформационнойБазы Цикл ТЗ=ИтогСпи Как получить ссылку на объект из навигационной ссылки? 7
Процедура ПолучитьСсылкуИзНавигационной(НС) ПерваяТочка = Найти(НС, " e1cib/data/" ); ВтораяТочка = Найти(НС, " ?ref icon-exclamation-sign"> Посмотреть все в категории Полезные, Универсальные Функции
Если организация работает с иностранными контрагентами, у нее возникает необходимость ведения расчетов в иностранной валюте. Программа Бухгалтерия предприятия 8 предусматривает возможность учета различных валют и их курсов.
Чтобы найти курсы валют в 1С 8.3 откройте пункт меню Справочники — Валюты .
Появится список валют с последним загруженным курсом для каждой валюты.
Как загрузить курсы валют в 1С 8.3 вручную
Для добавления новой валюты в 1С нажмите кнопку Создать и выберите один из двух вариантов — По классификатору или Новую .
При выборе первого варианта откроется окно со списком валют. Выберите нужную валюту и нажмите на кнопку Выбрать . Зеленый флажок в последней колонке означает, что курс валюты может быть загружен из интернета.
При выборе второго варианта (добавление новой валюты самостоятельно) откроется окно создания нового элемента справочника вручную. Заполните все необходимые поля, установите нужные переключатели и нажмите на кнопку Записать / Записать и закрыть .
Чтобы загрузка курсов валют из интернета была возможной в 1С, необходимо подключить интернет-поддержку информационной базы.
Загрузить курс валюты в 1С из интернета можно, когда в карточке конкретной валюты стоит переключатель Загружается из интернета .
Далее для всех валют, курс по которым загружается из интернета, в окне справочника Валюты нажмите на кнопку Загрузить курсы валют .
В открывшемся окне укажите период дат, за который необходимо загрузить курсы валют в 1С, и нажмите на кнопку Загрузить и закрыть .
После успешной загрузки в форме справочника Валюты будет отображаться список с последним значением загруженного курса валют.
Загрузка курсов валют в 1С 8.3 автоматически
Для автоматической загрузки курсов в 1С 8.3 создайте специальное регламентное задание через пункт меню Администрирование — Обслуживание .
В открывшемся окне выберите пункт Регламентные операции — Регламентные и фоновые задания .
Нажмите на ссылку Регламентные и фоновые задания и на вкладке Регламентные задания встаньте курсором на задание Загрузка курсов валют , нажмите кнопку Настроить расписание .
В открывшемся окне выберите настройки загрузки курсов валют в 1С:
- время начала и время окончания;
- дни недели, месяцы;
- периодичность выполнения и т. д.
Заполнение всех полей необязательно, можно указать только некоторые параметры.
После настройки расписания курсы валют будут автоматически загружаться в 1С в соответствии с ним.
См. также:
Если Вы еще не подписаны:
Активировать демо-доступ бесплатно →
или
Оформить подписку на Рубрикатор →
После оформления подписки вам станут доступны все материалы по 1С:Бухгалтерия, записи поддерживающих эфиров и вы сможете задавать любые вопросы по 1С.
Помогла статья?
Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно
Похожие публикации
-
.Для правильного формирования бухгалтерских проводок в 1С 8.3 необходимо настроить.Настройка учетной политики (УП) в 1С имеет большое значение для.СЗВ-СТАЖ — отчет, ежегодно предоставляемый в Пенсионный фонд. Рассмотрим на.
(1 оценок, среднее: 5,00 из 5)
Публикацию можно обсудить в комментариях ниже.
Обратите внимание!
В комментариях наши эксперты не отвечают на вопросы по программам 1С и законодательству.
Задать вопрос нашим специалистам можно в Личном кабинете
Добавить комментарий Отменить ответ
Для отправки комментария вам необходимо авторизоваться.
Вы можете задать еще вопросов
Доступ к форме "Задать вопрос" возможен только при оформлении полной подписки на БухЭксперт8
Нажимая кнопку "Задать вопрос", я соглашаюсь с
регламентом БухЭксперт8.ру >>
С 1 мая — новые коды в платежках при переводе денег физлицам
Изменения в 2022 году, о которых нужно знать бухгалтеру
6-НДФЛ за 1 квартал 2022 в 1С
Санкции и контрмеры: как работать организации и ее бухгалтеру в новой реальности. Часть 2
Отчетность за 1 квартал 2022
Лектор Мария Демашева — особенный. Спокойно, доходчиво, нет такого, что не понимаю. Высший класс!
Читайте также: