Перебираю элементы справочника.
спр = СоздатьОбъект("МойСправочник");
спр.ВыбратьЭлементы();
Для каждого элемента выгружаю в Exel Код и ЗначениеВСтрокуВнутр(спр)
Код выгружается как надо, а вот ЗначениеВСтрокуВнутр(спр) для каждого элемента получается одинаковым.
Пробовал так: ЗначениеВСтрокуВнутр(спр.ПолучитьЭлемент()) - эффект тот же.
Так и должно быть? Или я что-то не так делаю?
ЗначениеВСтрокуВнутр(спр.ТекущийЭлемент()) должно содержать ИД элемента, так как без ТекущийЭлемент оно будет содержать этот Ид равный нолю и для всех элементов будет одним и тем же.
да. спасибо. получилось.
А если у меня есть просто элемент справочника (взял из полля ввода формы), выгружать так: ЗначениеВСтрокуВнутр(МойЭлемент)? И будет ли он равен ЗначениеВСтрокуВнутр(Спр.ТекущийЭлемент()), если элемент один и тот же?
(2) Да - если значение из поля формы или поля элемента, то оно есть ссылка (как это называется в восьмёрке) и прекрасно преобразуется во внутреннюю строку и две ссылки на один и тот же объект совпадают как и их внутренние строки.
У разных элементов одного и того же справочника различия только в последней записи (Ид элемента и префикс базы).
Если же ссылка переопределяемого типа (без определения вида), то вид справочника переносится из четвёртой записи представления в последнюю - в четвёртой будет ноль, а в последней - два числа и общая длина в 23 символа (а не 13, как у определённого вида).