|
КД 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; Период: Значение = ТекущаяДата(); В ПКО Валюты, в событии После выгрузки: ВыгрузитьПоПравилу(Источник,,,, "КурсыВалют"); Недостаток: выгружаются не все курсы и кратности, а только одно последнее значение. |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |