Конвертация
18.05.2011
12:53
#1
Здравствуйте!
Кто-нибудь может подсказать, как мне в конвертации написать правила, чтобы выполнить след. алгоритм:
Делаю перенос регистр сведений в похожий регистр сведений.
Одно из измерений источника - Документ тип ДокументСсылка.<название дока>, в приемнике - это Документ , тип перечислениеСсылка.<НаименованиеДока>
И мне нужно , если у меня в источнике документ ПКО, то в перечислении в приемнике прописать перечисление.пко. Как это организовать, может кто-нить подсказать?
Заранее благодарен
Кто-нибудь может подсказать, как мне в конвертации написать правила, чтобы выполнить след. алгоритм:
Делаю перенос регистр сведений в похожий регистр сведений.
Одно из измерений источника - Документ тип ДокументСсылка.<название дока>, в приемнике - это Документ , тип перечислениеСсылка.<НаименованиеДока>
И мне нужно , если у меня в источнике документ ПКО, то в перечислении в приемнике прописать перечисление.пко. Как это организовать, может кто-нить подсказать?
Заранее благодарен
18.05.2011
13:19
#2
"> перечислениеСсылка.<НаименованиеДока>
> приемнике прописать перечисление.пко
А значение какое? Перечисление.ПКО....??? Или у вас просто ошибка и подразумевалось что-то типа: Перечисление.ТипДокумента.ПКО.
В Конвертации можно делать конвертацию значений, и для Перечислений - это наиболее правильный вариант.
В общем, если надо получить что-то типа Перечисление.ТипДокумента.ПКО, то я бы сделал так:
1. У свойства ПередВыгрузкой напишите что-то типа
Значение = Источник.Документ.Метаданные().Имя;
таким образом вместо конкретного документа получите представление его типа (строку)
2. Создайте правило Строка - Перечисление.ТипДокумента и пропишите конвертацию значений
3. Установить у свойства (п.1) созданное в п. 2 правило конвертации"
> приемнике прописать перечисление.пко
А значение какое? Перечисление.ПКО....??? Или у вас просто ошибка и подразумевалось что-то типа: Перечисление.ТипДокумента.ПКО.
В Конвертации можно делать конвертацию значений, и для Перечислений - это наиболее правильный вариант.
В общем, если надо получить что-то типа Перечисление.ТипДокумента.ПКО, то я бы сделал так:
1. У свойства ПередВыгрузкой напишите что-то типа
Значение = Источник.Документ.Метаданные().Имя;
таким образом вместо конкретного документа получите представление его типа (строку)
2. Создайте правило Строка - Перечисление.ТипДокумента и пропишите конвертацию значений
3. Установить у свойства (п.1) созданное в п. 2 правило конвертации"
18.05.2011
13:36
#3
"В ПКС для этого реквизита
Источник пусто Приемник Имя реквизита приемника
Перед выгрузкой
Если ТипЗнч(ОбъектКоллекции.Имя реквизита источника) = Тип("ДокументСсылка.<название дока>") Тогда
Значение = "ПКО"; //"ПКО" это значение требуемого перечисления в приемнике
ИначеЕсли ТипЗнч(ОбъектКоллекции.Имя реквизита источника) = Тип("ДокументСсылка.<название дока>") Тогда
Значение = "РКО";
КонецЕсли;"
Источник пусто Приемник Имя реквизита приемника
Перед выгрузкой
Если ТипЗнч(ОбъектКоллекции.Имя реквизита источника) = Тип("ДокументСсылка.<название дока>") Тогда
Значение = "ПКО"; //"ПКО" это значение требуемого перечисления в приемнике
ИначеЕсли ТипЗнч(ОбъектКоллекции.Имя реквизита источника) = Тип("ДокументСсылка.<название дока>") Тогда
Значение = "РКО";
КонецЕсли;"
18.05.2011
13:38
#4
Это для реквизита табл части, для обычного реквизита вместо ОбъектКоллекции. надо Источник.
18.05.2011
14:03
#5
"вроде сделал как Вы написали, ошибок не выдало, но и в приемник ничего не перенеслось
перед выгрузкой
Если ТипЗнч(Источник.Документ) = Тип("ДокументСсылка.ПоступлениеНаРасчетныйСчет") Тогда
Значение = "ПоступлениеНаРасчетныйСчет"; //"ПКО" это значение требуемого перечисления в приемнике////ИначеЕсли ТипЗнч
Сообщить("Я зашел");
КонецЕсли;
в "если" он зашел так как выдал сообщение "Я зашел".
когда смотрю файл выгрузки xml у данного реквизита следующая инфа
- <Свойство Имя="Документ" Тип="ПеречислениеСсылка.ууТипДокумента">
<Нпп>4Нпп>
Свойство>
для сравнения у реквизита комментарий след. инфа
- <Свойство Имя="Комментарий" Тип="Строка">
<Значение>обновленЗначение>
Свойство>
т.е у меня почему-то значение для моего реквизита "Документ" не выгрузилось, а вот почему такое произошло???"
перед выгрузкой
Если ТипЗнч(Источник.Документ) = Тип("ДокументСсылка.ПоступлениеНаРасчетныйСчет") Тогда
Значение = "ПоступлениеНаРасчетныйСчет"; //"ПКО" это значение требуемого перечисления в приемнике////ИначеЕсли ТипЗнч
Сообщить("Я зашел");
КонецЕсли;
в "если" он зашел так как выдал сообщение "Я зашел".
когда смотрю файл выгрузки xml у данного реквизита следующая инфа
- <Свойство Имя="Документ" Тип="ПеречислениеСсылка.ууТипДокумента">
<Нпп>4Нпп>
Свойство>
для сравнения у реквизита комментарий след. инфа
- <Свойство Имя="Комментарий" Тип="Строка">
<Значение>обновленЗначение>
Свойство>
т.е у меня почему-то значение для моего реквизита "Документ" не выгрузилось, а вот почему такое произошло???"
Читают тему
(гостей: 1)