|
КД 2.1 Перенос справочника Валюты из 7.7 в 8
| ☑ |
0
vadim777
18.07.17
✎
09:47
|
Примеров по этому переносу вроде много, но они какие-то неполные - переносится только периодический реквизит Курс.
Событие "Перед выгрузкой":
Курсы=СоздатьОбъект("Периодический");
Курсы.ИспользоватьОбъект("Курс",Источник);
Курсы.ВыбратьЗначения();
Пока Курсы.ПолучитьЗначение() = 1 Цикл
сз = СоздатьОбъект("СписокЗначений");
сз.ДобавитьЗначение(Истина, "Активность");
сз.ДобавитьЗначение(Курсы.ДатаЗнач,"Период");
сз.ДобавитьЗначение(Источник, "Валюта");
сз.ДобавитьЗначение(Курсы.Значение, "Курс");
ВыгрузитьПоПравилу(сз, , , , "КурсыВалют");
КонецЦикла;
А еще есть и Кратность, также периодический. Как учесть еще и кратность?
|
|
1
h-sp
18.07.17
✎
10:07
|
сз.ДобавитьЗначение(1, "Кратность");
не?
|
|
2
Ёпрст
18.07.17
✎
10:07
|
>>>сз.ДобавитьЗначение(Истина, "Активность");
Это не будет работать
|
|
3
Ёпрст
18.07.17
✎
10:08
|
в ключках, нужно 1 или 0 пихать заместо булева
|
|
4
Ёпрст
18.07.17
✎
10:08
|
* в клюшках
|
|
5
vadim777
18.07.17
✎
10:18
|
(1)(2) Проблема в том, что и по Кратности также нужно делать цикл. Если сделать так-же, как и для Курса, то не затрется-ли в приемнике значение Курса?
Кратности=СоздатьОбъект("Периодический");
Кратности.ИспользоватьОбъект("Кратность",Источник);
Кратности.ВыбратьЗначения();
Пока Кратности.ПолучитьЗначение() = 1 Цикл
сз = СоздатьОбъект("СписокЗначений");
сз.ДобавитьЗначение(1, "Активность");
сз.ДобавитьЗначение(Кратности.ДатаЗнач,"Период");
сз.ДобавитьЗначение(Источник, "Валюта");
сз.ДобавитьЗначение(Кратности.Значение, "Кратность");
ВыгрузитьПоПравилу(сз, , , , "КурсыВалют");
КонецЦикла;
|
|
6
vadim777
18.07.17
✎
19:02
|
Решил по другому (подсмотрел в стандартных правилах):
Регистр сведений, КурсыВалют. В ПКС, для каждого реквизита приемника, в событии Перед выгрузкой, указал:
Валюта: Значение = Источник; Правило конвертации: Валюты
Кратность: Значение = Источник.Кратность.Получить(ТекущаяДата());
Курс: Значение = Источник.Курс.Получить(ТекущаяДата());
Активность: Значение = 1;
Период: Значение = ТекущаяДата();
В ПКО Валюты, в событии После выгрузки:
ВыгрузитьПоПравилу(Источник,,,, "КурсыВалют");
Недостаток: выгружаются не все курсы и кратности, а только одно последнее значение.
|
|