|
КД: Конвертация в РегистрСведений со свойством составного типа |
☑ |
0
Armin
16.08.11
✎
16:48
|
В БГУ Регистр сведений "ЗначенияХарактеристикОС" имеет свойство "ЗначениеХарактеристики", которое имеет составной тип данных (Строка,Число,Булево,Дата или Справочник.ДополнительныеХарактеристикиОС)
В обработчике пробовал присваивать как конкретное значение, так и передавать через ИсходящиеДанные (список значений).
Выгружается все нормально, но при загрузке все идет как Справочник.ДополнительныеХарактеристикиОС, но в самом справочнике эти записи отсутствуют. Т.е. в регистр записывается ссылка на справочник.
|
|
1
Armin
16.08.11
✎
16:49
|
Необходимо загрузить все как строку
|
|
2
Armin
16.08.11
✎
16:57
|
any ideas?
|
|
3
Синий зуб
16.08.11
✎
16:57
|
В ПКС есть свойство - ТипПриемника. Укажи явно - ТипПриемника = "Строка".
|
|
4
Armin
16.08.11
✎
17:00
|
явно нельзя. в том и смысл составного типа.
...
ИначеЕсли ((ВидХарактеристики = "Марка") Или
(ВидХарактеристики = "Модель") Или
(ВидХарактеристики = "ТипАвто")) Тогда
// ДополнительныеХарактеристикиОС
ИмяПКО = "ДополнительныеХарактеристикиОС";
ИсходящиеДанные = СоздатьОбъект("СписокЗначений");
ИсходящиеДанные.ДобавитьЗначение(ВидХарактеристики, "Владелец");
ИсходящиеДанные.ДобавитьЗначение(ЗначениеХарактеристики, "Наименование");
ИначеЕсли (ВидХарактеристики = "КраткИндивХарактОбъекта") Тогда
//Значение=ЗначениеХарактеристики;
//ИсходящиеДанные = СоздатьОбъект("СписокЗначений");
//ИсходящиеДанные.ДобавитьЗначение(ВидХарактеристики, "Владелец");
//ИсходящиеДанные.ДобавитьЗначение(ЗначениеХарактеристики, "Наименование");
//Строка
ИмяПКО = "";
Значение=ЗначениеХарактеристики;
КонецЕсли;
|
|
5
Синий зуб
16.08.11
✎
17:06
|
Значит ПКО криво написал, ибо Значение = "чему-то" отрабатывется всегда правильно.
|
|
6
Синий зуб
16.08.11
✎
17:10
|
Ну или вместо
ИмяПКО = "";
Значение=ЗначениеХарактеристики;
напиши
ТипПриемника = "Строка";
Значение = Строка(ЗначениеХарактеристики);
|
|
7
Armin
16.08.11
✎
17:42
|
(6) И так не работает!
Попробовал реализовать справочником:
...
//ДополнительныеХарактеристикиОС
ИмяПКО = "ДополнительныеХарактеристикиОС";
ИсходящиеДанные = СоздатьОбъект("СписокЗначений");
ИсходящиеДанные.ДобавитьЗначение(ВидХарактеристики, "Владелец");
ИсходящиеДанные.ДобавитьЗначение(ЗначениеХарактеристики, "Наименование");
Записи справочника создаются. Но хотелось бы именно строкой.
|
|
8
Armin
16.08.11
✎
17:44
|
В ПКО все просто:
...
ВыгрузитьПоПравилу(Источник, , ИсходящиеДанные, , "ЗначенияХарактеристикОС", , ,);
|
|
9
Armin
17.08.11
✎
10:47
|
Вобщем получилось загрузить строкой. В плане видов характеристик надо было изменить тип данных конкретного вида хар-ки.
Но вылезла другая проблема: регистр сведений "ЗначенияХарактеристикОС" не дает записать 2 записи с одинаковыми измерениями ("ОсновныеСредства" и "ВидХарактеристики").
Как можно обойти это ограничение?
|
|
10
Armin
17.08.11
✎
11:24
|
up...
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший