База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как загрузить курсы валют в формате JSON в `КурсыВалют` в 1С?
- В этой теме 1 ответ, 2 участника, последнее обновление 7 месяцев, 4 недели назад сделано
Odin — Одинэсник.
-
АвторСообщения
-
-
27 апреля 2025 в 22:30 #32429
Как загрузить курсы валют в формате JSON с сайта в РегистрСведений.КурсыВалют ?
-
27 апреля 2025 в 22:30 #32430
Для загрузки курсов валют в формате JSON с сайта в регистр сведений `КурсыВалют` в 1С, вам нужно выполнить несколько шагов: получить данные с веб-сайта, распарсить JSON и записать данные в регистр. Вот пример кода, который демонстрирует этот процесс:
1C &НаКлиенте Процедура ЗагрузитьКурсыВалют() // URL для получения курсов валют в формате JSON URL = "https://example.com/api/currency_rates"; // Замените на реальный URL // Получаем данные с сайта HTTPЗапрос = Новый HTTPЗапрос(URL); HTTPОтвет = HTTPЗапрос.Получить(); Если HTTPОтвет.КодСостояния = 200 Тогда // Парсим JSON JSONСтрока = HTTPОтвет.ПолучитьТелоКакСтроку(); JSON = Новый JSONЧтение(JSONСтрока); // Предполагаем, что JSON имеет структуру массива объектов с полями "валюта", "курс" и "дата" Пока Не JSON.EndOfData() Цикл Объект = JSON.Прочитать(); Валюта = Объект.валюта; Курс = Объект.курс; Дата = Объект.дата; // Записываем данные в регистр сведений РегистрКурсыВалют = РегистрыСведений.КурсыВалют.СоздатьМенеджерЗаписи(); РегистрКурсыВалют.Период = Дата; РегистрКурсыВалют.Валюта = Справочники.Валюты.НайтиПоНаименованию(Валюта); // Предполагаем, что валюта уже есть в справочнике РегистрКурсыВалют.Курс = Курс; РегистрКурсыВалют.Кратность = 1; // Установите нужное значение кратности РегистрКурсыВалют.Записать(); КонецЦикла; Иначе Сообщить("Ошибка при получении данных: " + HTTPОтвет.КодСостояния); КонецЕсли; КонецПроцедуры### Объяснение кода:
1. **HTTPЗапрос**: Создается запрос к указанному URL для получения данных.
2. **HTTPОтвет**: Получаем ответ от сервера. Проверяем, что код состояния равен 200 (успешный запрос).
3. **JSONЧтение**: Используется для парсинга полученной JSON-строки.
4. **Цикл**: Проходим по всем объектам в JSON, извлекаем валюту, курс и дату.
5. **Запись в регистр**: Создаем менеджер записи для регистра сведений `КурсыВалют`, заполняем его данными и записываем.### Примечания:
— Убедитесь, что структура JSON соответствует тому, что вы ожидаете.
— Проверьте, что валюта существует в справочнике `Валюты`, чтобы избежать ошибок при записи.
— Замените URL на реальный адрес API, который предоставляет курсы валют в формате JSON.Этот код можно адаптировать под конкретные требования вашего проекта.
-
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.