Имя: Пароль:
1C
1C 7.7
v7: ЗначениеВСтрокуВнутр для справочника
0 МаксимБел
 
18.03.14
18:23
Перебираю элементы справочника.
спр = СоздатьОбъект("МойСправочник");
спр.ВыбратьЭлементы();
Для каждого элемента выгружаю в Exel Код и ЗначениеВСтрокуВнутр(спр)
Код выгружается как надо, а вот ЗначениеВСтрокуВнутр(спр) для каждого элемента получается одинаковым.
Пробовал так: ЗначениеВСтрокуВнутр(спр.ПолучитьЭлемент()) - эффект тот же.
Так и должно быть? Или я что-то не так делаю?
1 Torquader
 
18.03.14
18:32
ЗначениеВСтрокуВнутр(спр.ТекущийЭлемент()) должно содержать ИД элемента, так как без ТекущийЭлемент оно будет содержать этот Ид равный нолю и для всех элементов будет одним и тем же.
2 МаксимБел
 
18.03.14
18:42
да. спасибо. получилось.
А если у меня есть просто элемент справочника (взял из полля ввода формы), выгружать так: ЗначениеВСтрокуВнутр(МойЭлемент)? И будет ли он равен ЗначениеВСтрокуВнутр(Спр.ТекущийЭлемент()), если элемент один и тот же?
3 Torquader
 
18.03.14
18:46
(2) Да - если значение из поля формы или поля элемента, то оно есть ссылка (как это называется в восьмёрке) и прекрасно преобразуется во внутреннюю строку и две ссылки на один и тот же объект совпадают как и их внутренние строки.

У разных элементов одного и того же справочника различия только в последней записи (Ид элемента и префикс базы).

Если же ссылка переопределяемого типа (без определения вида), то вид справочника переносится из четвёртой записи представления в последнюю - в четвёртой будет ноль, а в последней - два числа и общая длина в 23 символа (а не 13, как у определённого вида).