|
v7: Как получить реквизит - ссылку на справочник? |
☑ |
0
napagokc
23.11.11
✎
08:39
|
С семеркой почти не знаком, так что не судите строго...
Выгружаю справочники из 7.7 в DBF. Справочник "Основные средства" содержит реквизит МОЛ типа "Справочник.Сотрудники". Как получить значение этого реквизита?
Спр = СоздатьОбъект("Справочник.ОсновныеСредства");
ИмяФайла = "OC.dbf";
СчетчикСтрок = 0;
// ...
Файл.ДобавитьПоле("MOL" ,"S",50 ,0); // Наименование МОЛ
Файл.СоздатьФайл(ИмяФайла); //создаем файл физически
Спр.ВыбратьЭлементы();
Пока Спр.ПолучитьЭлемент() = 1 Цикл
СчетчикСтрок = СчетчикСтрок + 1;
Файл.Добавить();
Если Спр.ЭтоГруппа() = 0 Тогда
Файл.MOL = Спр.МОЛ.Наименование; // <-- Тут ошибка
КонецЕсли;
Попытка
Файл.Записать();
Сообщить("[" + СчетчикСтрок + "] Записано: '" + Спр.Наименование + "'");
Исключение
Сообщить("[" + СчетчикСтрок + "] Не удалось записать '" + Спр.Наименование + "'");
КонецПопытки;
КонецЦикла;
Отладчик говорит, что Спр.МОЛ = НеизвестныйОбъект
Надо создавать отдельный справочник Сотрудники и искать там элемент по наименованию или есть другой более грамотный способ?
|
|
1
Rie
23.11.11
✎
08:41
|
(0) А в Конфигураторе посмотреть, какого типа реквизит МОЛ в справочнике ОсновныеСредства - не судьба?
|
|
2
napagokc
23.11.11
✎
08:41
|
(1) Написал же - тип "Справочник.Сотрудники"
|
|
3
KUBIK
23.11.11
✎
08:44
|
(0) У тебя справочник ОС одноуровневый?
Добавь в цикл;
Если Спр.ЭтоГруппа()=1 Тогда
Продолжить;
КонецЕсли;
|
|
4
Rie
23.11.11
✎
08:45
|
(2) Виноват, не заметил.
(3) Зачем?
|
|
5
napagokc
23.11.11
✎
08:45
|
(3) Два уровня
|
|
6
povar
23.11.11
✎
08:46
|
(5) на форме или еще где в модуле, есть переменная с именем "Спр"
|
|
7
Мулька
23.11.11
✎
08:46
|
(2) Смотря с какой целью выгружаешь. Если для загрузки куда-либо, то и код (полный) еще желательно тянуть. + наименование (строка)
|
|
8
Rie
23.11.11
✎
08:47
|
...ЛЯ!!!
МОЛ - периодический реквизит!
|
|
9
povar
23.11.11
✎
08:47
|
(8) +1
|
|
10
KUBIK
23.11.11
✎
08:47
|
(0) МОЛ случаем не периодический?
|
|
11
Guk
23.11.11
✎
08:48
|
(8) есссно...
|
|
12
Rie
23.11.11
✎
08:48
|
+(8)
Перед циклом поставь
Спр.ИспользоватьДату(НаКакуюДатуТебеНужныЗначения);
и будет счастье.
|
|
13
Мулька
23.11.11
✎
08:49
|
(8)-(11) Ну и в чем разница? Тянуть на дату выгрузки - проблема?
|
|
14
napagokc
23.11.11
✎
08:49
|
(8) Ты гений! Действительно, периодический! Спасибо!!!
|
|