helpf.pro
Регистрация

v8: Как добавить сразу несколько записей валют в РегистрСвед.КурсыВалют

Nomura
09.07.2013 00:57Прочитано: 1996
Как с помощью набора записей добавить запись новой валюты с выбранным курсом и при этом должны добавиться остальные валюты имеющиеся в справ.Валюты с текущим курсом?
Yandex
Возможно, вас также заинтересует
Реклама на портале
E_Migachev
09.07.2013 09:48Ответ № 1
В типовых конфигурациях есть встроенная загрузка курсов с РБК
если хочешь сам сделать, то от куда ты будешь брать текущие курсы?

код добавления записи в регистр сведений
Код 1C v 8.х
  // Добавление записей в периодический независимый регистр сведений
НаборЗаписей = РегистрыСведений.КурсыВалют.СоздатьНаборЗаписей();

НаборЗаписей.Отбор.Валюта.Установить(ТекущаяВалюта);
НаборЗаписей.Отбор.Период.Установить(ТекущаяДата);

НовЗапись = НаборЗаписей.Добавить();

НовЗапись.Валюта = ТекущаяВалюта;
НовЗапись.Период = ТекущаяДата;
НовЗапись.Курс = ТекущийКурс;
НовЗапись.Кратность = ТекущаяКратность;

НаборЗаписей.Записать(Истина);

// или так

РегистрКурсыВалют = РегистрыСведений.КурсыВалют.СоздатьМенеджерЗаписи();

РегистрКурсыВалют.Период = ДатаКурса;
РегистрКурсыВалют.Валюта = Валюта;
РегистрКурсыВалют.Курс = 1;
РегистрКурсыВалют.Кратность = 1;
РегистрКурсыВалют.Записать();
sashuly
09.07.2013 09:48Ответ № 2
Одновременно сделать записи для всех валют нельзя. Проходите цикл по справочнику Валют и для каждой валюты делаете запись.
Nomura
09.07.2013 15:58Ответ № 3
Т.е. мне нужно создать выборку на основе Спр.Валюты и потом использовать ее в цикле наборе записей? А если например добавленные валюты должны иметь курс равный текущему \2 а Выбранная новый установленный.
sashuly
11.07.2013 17:03Ответ № 4
Все равно не понятно чего Вы хотите добиться. Попробуйте привести пример на пальцах.
Nomura
13.07.2013 01:12Ответ № 5
Все спасибо, уже сделал. Только я еще поделил курс добавочных валют на 2.

Код 1C v 8.х
 Процедура КнопкаВыполнитьНажатие(Кнопка)

РегистрКурсыВалют = РегистрыСведений.КурсыВалют.СоздатьМенеджерЗаписи();

РегистрКурсыВалют.Период = Период;
РегистрКурсыВалют.Валюта = Валюта;
РегистрКурсыВалют.Курс = Курс;
РегистрКурсыВалют.Кратность = Кратность;
РегистрКурсыВалют.Записать();

Запрос = Новый Запрос;
Запрос.УстановитьПараметр("Валюта", Валюта);

Запрос.Текст =
"ВЫБРАТЬ
| Валюты.Ссылка,
| КурсыВалютСрезПоследних.Кратность,
| ВЫБОР
| КОГДА КурсыВалютСрезПоследних.Курс ЕСТЬ NULL
| ТОГДА 0
| ИНАЧЕ КурсыВалютСрезПоследних.Курс
| КОНЕЦ КАК Кур
|ИЗ
| РегистрСведений.КурсыВалют.СрезПоследних(&Период, ) КАК КурсыВалютСрезПоследних
| ПОЛНОЕ СОЕДИНЕНИЕ Справочник.Валюты КАК Валюты
| ПО КурсыВалютСрезПоследних.Валюта = Валюты.Ссылка
|ГДЕ
| Валюты.Ссылка <> &Валюта";

Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();


Пока Выборка.Следующий() Цикл

НаборЗаписей = РегистрыСведений.КурсыВалют.СоздатьНаборЗаписей();

НаборЗаписей.Отбор.Валюта.Установить(Выборка.Ссылка);
НаборЗаписей.Отбор.Период.Установить(Период);
НаборЗаписей.Прочитать();

НовЗапись = НаборЗаписей.Добавить();

НовЗапись.Валюта = Выборка.Ссылка;
НовЗапись.Период = Период;
НовЗапись.Курс = Выборка.Кур/2;
НовЗапись.Кратность = Выборка.Кратность;


НаборЗаписей.Записать(Истина);

КонецЦикла;

КонецПроцедуры;

Изменено 13.07.13 01:13:45
Nomura
16.07.2013 23:53Ответ № 6
У меня вопрос, как этот код правильно конвертнуть в для бухи 3.0 управл. приложения. Как правильно написать на сервере и вызвать на клиенте.
E_Migachev
17.07.2013 12:40Ответ № 7
все действия с базой на сервере, на клиенте только вызов их
Подсказка: Для быстрого перемещения к последнему ответу или к вопросу используйте или .
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.