|
КД. Переопределить реквизит | ☑ | ||
---|---|---|---|---|
0
kirillkr
02.08.16
✎
11:37
|
Добрый день. Помогите, наверно, с простым вопросом. Есть правила по переносу данных из УАТ 3.0 в УАТ 2.0.
В выгрузке пластиковых карт есть выгрузка свойства КомуВыдана <1c> <Свойство> <Код>3</Код> <Наименование>КомуВыдана --> КомуВыдана</Наименование> <Порядок>150</Порядок> <Источник Имя="КомуВыдана" Вид="Реквизит"/> <Приемник Имя="КомуВыдана" Вид="Реквизит"/> <ПередВыгрузкой>Если ТипЗнч(Источник.КомуВыдана) = Тип("СправочникСсылка.ОсновныеСредства") Тогда ИмяПКО = "ОС_иРСПервоначальныеСведения_В_уатТС_НЕиспВВыгДанн"; ИначеЕсли ТипЗнч(Источник.КомуВыдана) = Тип("СправочникСсылка.ФизическиеЛица") Тогда ИмяПКО = "уатСотрудники_ФизЛицаИВодители_В_Сотрудники"; КонецЕсли;</ПередВыгрузкой> </Свойство> </1c> Все бы хорошо, но у нас внесли изменения для хранения истории кому принадлежит карточка и для получения актуально владельца используется запрос <1c> Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 1 | МестонахождениеТопливныхКартСрезПоследних.ТопливнаяКарта КАК Карта, | МестонахождениеТопливныхКартСрезПоследних.ТранспортноеСредство КАК ТС |ИЗ | РегистрСведений.МестонахождениеТопливныхКарт.СрезПоследних(&ДатаСреза, ТопливнаяКарта = &ТопливнаяКарта) КАК МестонахождениеТопливныхКартСрезПоследних |ГДЕ | МестонахождениеТопливныхКартСрезПоследних.ТопливнаяКарта = &ТопливнаяКарта | |УПОРЯДОЧИТЬ ПО | МестонахождениеТопливныхКартСрезПоследних.Период УБЫВ"; Запрос.УстановитьПараметр("ТопливнаяКарта", Карта); Запрос.УстановитьПараметр("ДатаСреза", ТекущаяДата()); </1c> Я переделал правила на получение свойства <1c> <Свойство> <Код>3</Код> <Наименование>КомуВыдана --> КомуВыдана</Наименование> <Порядок>150</Порядок> <Источник Имя="КомуВыдана" Вид="Реквизит"/> <Приемник Имя="КомуВыдана" Вид="Реквизит"/> <ПередВыгрузкой> Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 1 | МестонахождениеТопливныхКартСрезПоследних.ТопливнаяКарта КАК Карта, | МестонахождениеТопливныхКартСрезПоследних.ТранспортноеСредство КАК ТС |ИЗ | РегистрСведений.МестонахождениеТопливныхКарт.СрезПоследних(&ДатаСреза, ТопливнаяКарта = &ТопливнаяКарта) КАК МестонахождениеТопливныхКартСрезПоследних |ГДЕ | МестонахождениеТопливныхКартСрезПоследних.ТопливнаяКарта = &ТопливнаяКарта | |УПОРЯДОЧИТЬ ПО | МестонахождениеТопливныхКартСрезПоследних.Период УБЫВ"; Запрос.УстановитьПараметр("ТопливнаяКарта", Источник); Запрос.УстановитьПараметр("ДатаСреза", ТекущаяДата()); Результат = Запрос.Выполнить(); Выборка = Результат.Выбрать(); Если Выборка.Следующий() Тогда Значение = Выборка.ТС; Если ТипЗнч(Значение) = Тип("СправочникСсылка.ОсновныеСредства") Тогда ИмяПКО = "ОС_иРСПервоначальныеСведения_В_уатТС_НЕиспВВыгДанн"; ИначеЕсли ТипЗнч(Источник.КомуВыдана) = Тип("СправочникСсылка.ФизическиеЛица") Тогда ИмяПКО = "уатСотрудники_ФизЛицаИВодители_В_Сотрудники"; КонецЕсли; КонецЕсли;</ПередВыгрузкой> </Свойство> </1c> Но при выгрузке теперь учитывается само Значение, а не ИмяПКО. Как мне использовать правило ОС_иРСПервоначальныеСведения_В_уатТС_НЕиспВВыгДанн, но уже не для Источник.КомуВыдано, а для Выборка.ТС? |
|||
1
GenAcid
02.08.16
✎
11:54
|
ВыгрузитьПоПравилу(Источник, Приемник, ВходящиеДанные, ИсходящиеДанные, ИмяПКО, УзелСсылки, ТолькоПолучитьУзелСсылки, ПКО, ЭтоПравилоСГлобальнойВыгрузкойОбъектов, ВыборкаДляВыгрузкиДанных)
|
|||
2
kirillkr
02.08.16
✎
12:20
|
(1) Спасибо... Придумал другой вариант, возможно кому-то пригодится
В ПередВыгрузкой справочника ПластиковыеКарты добавил запрос и заполнение входящих данных
А само свойство переделал на это
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |