Имя: Пароль:
1C
1С v8
Вопрос по конвертации данных 3.0
,
0 AlexAl-77
 
02.02.17
22:00
Подскажите пожалуйста как лучше сделать, что бы из базы источника в базу приемник валюты схлопнуть по определенному алгоритму? что то не могу сообразить это делать в приемники или в источнике.
Допустим есть валюта 1)USD  2)usd+3%  3)usd+%5  как мне в источник загрузить как 1)USD и во всех документах и договорах где встречается валюта 2 и 3 - загрузились бы под 1. Что то не соображу.
1 AlexAl-77
 
03.02.17
09:07
Доброе утро.
2 Fannasankh
 
03.02.17
09:09
(1) а код одинаковый?
3 AlexAl-77
 
03.02.17
14:45
(2) Коды разные.
4 totparen
 
03.02.17
14:51
В приемник загрузить?
5 h-sp
 
03.02.17
14:53
(3) ну пиши в поле Наименование В ПередВыгрузкой

Если Значение = тому-то Тогда
Значение = "USD";

и включи поиск по наименованию. А поиск по уникальному идентификатору выключи.
6 AlexAl-77
 
03.02.17
14:53
(4) в базе приемник задача получить только валюту 1) и во всех ссылках где использовалась валюта 2) и 3) подменить на 1)
7 AlexAl-77
 
03.02.17
14:53
(5) Речь идет не о конвертации 2.0.
8 totparen
 
03.02.17
15:11
Может проще выгружать сразу одну валюта?
9 totparen
 
03.02.17
15:13
Иначе при загрузке нужно будет в каждом объекте загрузку обрабатывать. (Или способ идентификации по полю)
10 MaxS
 
03.02.17
15:22
В ПКО валюты в свойствах  реквизита Наименование очищаем свойство конфигурации и включаем флаг "Используется алгоритм конвертации", в ПКО_Справочник_Валюты_ПриОтправкеДанных
пишем:
ТекНаименование = ДанныеИБ.Наименование;
Если стрнайти(нрег(ТекНаименование),"usd")=1 Тогда
ТекНаименование = "USD";
КонецЕсли
ДанныеXDTO.Вставить("Наименование", ТекНаименование);

Правила в конечной базе пмсм не нужно переделывать. там по уид и потом по коду поиск.
11 AlexAl-77
 
03.02.17
15:23
(10) Я понял идею вашу. я скорее боялся что моя логика подтвердиться, что нужно править правила источника. Жаль, так как правила приемника тоже придется менять по другой задаче.
12 MaxS
 
03.02.17
15:43
(11) В приемнике тоже можно. пишу по памяти, могут быть ошибки, идея такая: в ПКО_Справочник_Валюты_ПриКонвертацииДанныхXDTO
ТекНаименование = ДанныеXDTO.Наименование;
Если ...
Тогда ...
ПолученныеДанные.Наименование = ТекНаименование;

В (10) исходил из предположения, что там всё типовое.
13 AlexAl-77
 
03.02.17
15:57
(12) Большое спасибо. буду пробовать мысль понял.
14 AlexAl-77
 
04.02.17
20:05
(12) Не помогло. все равно создались элементы номенклатуры.
15 AlexAl-77
 
04.02.17
23:52
ВОт так надо
Если ДанныеXDTO.Свойство("Наименование") Тогда
        ТекНаименование = ДанныеXDTO.Наименование;
        
    ИначеЕсли ДанныеXDTO.Свойство("КлючевыеСвойства") Тогда
        ТекНаименование = ДанныеXDTO.КлючевыеСвойства.Наименование;
        
        КонецЕсли; (12) Еще раз спасибо