Имя: Пароль:
1C
1C 7.7
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) Ты гений! Действительно, периодический! Спасибо!!!
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn