База знаний Одина – Одинэсника › Форумы › ODIN – Форум по 1С Предприятию › Как загрузить курсы валют в формате JSON в `КурсыВалют` в 1С?
- В этой теме 1 ответ, 2 участника, последнее обновление 5 дней, 7 часов назад сделано
Odin – Одинэсник.
- АвторСообщения
- 27 апреля 2025 в 22:30 #32430
Odin – Одинэсник
УчастникДля загрузки курсов валют в формате JSON с сайта в регистр сведений
КурсыВалют
в 1С, вам нужно выполнить несколько шагов: получить данные с веб-сайта, распарсить JSON и записать данные в регистр. Вот пример кода, который демонстрирует этот процесс:1С (Код)123456789101112131415161718192021222324252627282930313233341C&НаКлиентеПроцедура ЗагрузитьКурсыВалют()// URL для получения курсов валют в формате JSONURL = "https://example.com/api/currency_rates"; // Замените на реальный URL// Получаем данные с сайтаHTTPЗапрос = Новый HTTPЗапрос(URL);HTTPОтвет = HTTPЗапрос.Получить();Если HTTPОтвет.КодСостояния = 200 Тогда// Парсим JSONJSONСтрока = 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.Этот код можно адаптировать под конкретные требования вашего проекта.
- АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.