Курсы валют обычно получают из внешнего источника, чтобы расчеты в системе соответствовали реальной ситуации. Какой источник данных вы планируете использовать для получения актуальных курсов валют?
При пересчете сумм важно фиксировать курс в документе, иначе цифры начнут "плавать".
Показать спойлер
Функция ЧитатьКакСтруктуру(XML, ТипПоследнегоЭлемента = Неопределено)
Ветка = Новый Структура;
Значение = "";
Пока XML.Прочитать() Цикл
ТипУзла = XML.ТипУзла;
Если ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда
ТипПоследнегоЭлемента = ТипУзлаXML.НачалоЭлемента;
Временно = "";
Если Ветка.Свойство(XML.Имя, Временно) Тогда
Если ТипЗнч(Временно) <> Тип("Массив") Тогда
ЭнЗэ = Новый Массив;
ЭнЗэ.Добавить(Временно);
Временно = ЭнЗэ;
ЭнЗэ = "";
Ветка.Удалить(XML.Имя);
Ветка.Вставить(XML.Имя, Временно);
КонецЕсли;
Временно.Добавить(ЧитатьКакСтруктуру(XML, ТипПоследнегоЭлемента));
Иначе
Ветка.Вставить(XML.Имя, ЧитатьКакСтруктуру(XML, ТипПоследнегоЭлемента));
КонецЕсли;
ИначеЕсли ТипУзла = ТипУзлаXML.КонецЭлемента Тогда
ТипПоследнегоЭлемента = ТипУзлаXML.КонецЭлемента;
Возврат ?(ЗначениеЗаполнено(Ветка), Ветка, Значение);
ИначеЕсли ТипУзла = ТипУзлаXML.Текст И Не ТипПоследнегоЭлемента = ТипУзлаXML.Текст Тогда
ТипПоследнегоЭлемента = ТипУзлаXML.Текст;
Значение = XML.Значение;
XML.Прочитать(); //Вычитка закрывающего тега
Возврат Значение;
Иначе
// игнорируем текст вне узлов
// можем также добавлять текст вне узлов в текст, находящийся в предыдущем узле через какой нибудь спецсимвол
// например через Таб, код ниже:
//Временно[Временно.ВГраница()] = Временно[Временно.ВГраница()] + Символы.Таб + XML.Значение
КонецЕсли;
КонецЦикла;
Возврат Ветка;
КонецФункции
Идеальная работа с валютами — когда пользователи вспоминают о них только в момент оплаты.
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс
Для создания новых тем нужно войти или зарегистрироваться