Имя: Пароль:
1C
1С v8
Конвертация данных. Вопрос по данным в базе приемнике.
0 AlexKulikov
 
01.12.16
11:43
"Управление торговлей", редакция 10.1 (8.10.1.6)- источник;
"Управление торговлей", редакция 10.3 (10.3.29.1) - приемник;
Добрый день, уважаемые форумчане. Впервые столкнулся с конвертацией, и на одном из моментов застрял.
Суть проблемы вот в чем, к примеру: у меня есть в документе приемника "Корректировка долга", обязательный для заполнения реквизит "Валюта". В объекте источника "Корректировка долга", такого реквизита нет.
Вопрос, могу ли я, написать свой обработчик для заполнения этого реквизита данными из объекта приемника, и если это возможно то как?

Насколько я понял, нужно создать новое правило ПКС, выбрать "получить значение из входящих данных" а далее у меня ступор.

Буду рад любой помощи, с уважением Алексей.
1 Mankubus
 
01.12.16
11:47
(0) напиши в ПКО ПослеЗагрузки объект.Валюта = МояВАлюта
2 SergTheGreat
 
01.12.16
12:29
Вот буквально сегодняшняя ветка Правила конвертации объектов. Там несколько возможных вариантов описано.
3 AlexKulikov
 
01.12.16
14:59
Mankubus, спасибо огромное, разобрался все получилось.

Есть еще один нюанс, который я понять не могу, а именно:
Есть в источнике два поля "УвеличениеДолга" и "УменьшениеДолга" (оба с типом "Число"), а в объекте приемнике есть поле "Сумма", и при загрузке данных в БД Приемника, "Сумма" заполняется только одним из значений либо "УвеличениеДолга", либо "УменьшениеДолга". Вопрос почему так?

Попробовал сделать как в теме, которую указал SergTheGreat, а именно указал ПКС для каждой из строк, не получилось, выдает ошибку.

Помогите разобраться:
Получается, что у меня должна быть одна строка, например :
МоиДанныеПоДолгу(Источник) ----> Сумма(приемник), данные в "МоиДанныеПоДолгу", должны расчитываться по условию, что если УвеличениеДолга > 0 , тогда Сумма = УвеличениеДолга. Или нет? Я не в ту степь копаю?

С уважением, Алексей.
4 SergTheGreat
 
01.12.16
16:12
Попробуй в ПКС в обработке "Перед выгрузкой" приемника "Сумма" что-нить типа:
Если ОбъектКоллекции.УвеличениеДолга > 0 Тогда
Значение = ОбъектКоллекции.УвеличениеДолга;
Иначе
Значение = ОбъектКоллекции.УменьшениеДолга;
КонецЕсли;
5 AlexKulikov
 
01.12.16
19:11
Ура! Получилось. Спасибо огромное!