|
Уникальный идентификатор для справочника
| ☑ |
0
мистер игрек
18.09.12
✎
19:09
|
Есть два выражений, оба они в табло дают одинаковый результат:
ТипЗнч((новый (Тип("СправочникСсылка.Номенклатура")))) = Справочник ссылка: Номенклатура
ТипЗнч(справочники.Номенклатура.ПустаяСсылка()) = Справочник ссылка: Номенклатура
Но при вычислении уникального идентифакатора получается:
(новый (Тип("Справочникссылка.Номенклатура"))).УникальныйИдентификатор() = {(1,47)}: Ошибка в выражении
справочники.Номенклатура.ПустаяСсылка().УникальныйИдентификатор() = 00000000-0000-0000-0000-000000000000
Почему так получается? Вед у обоих тип одинаковый и сравнение из значений дает истину.
|
|
1
Fragster
гуру
18.09.12
✎
19:10
|
посмотри в отладчике
новый (Тип("Справочникссылка.Номенклатура")) = справочники.Номенклатура.ПустаяСсылка()
|
|
2
мистер игрек
18.09.12
✎
19:12
|
(1) Я же сказал, что дает истину
|
|
3
Fragster
гуру
18.09.12
✎
19:13
|
гы!
XMLЗначение(Тип("Справочникссылка.Номенклатура"), XMLСтрока((новый (Тип("Справочникссылка.Номенклатура"))))).УникальныйИдентификатор()
|
|
4
Fragster
гуру
18.09.12
✎
19:15
|
но вообще ссылка - это ж такое типа "только чтение". Я бы даже на новый (Тип("СправочникСсылка.Номенклатура")) ругался
|
|
5
ChAlex
18.09.12
✎
19:30
|
(0) - ну потому что конструктор собственно не создает переменной. Напиши
Спр = новый (Тип("Справочникссылка.Номенклатура")));
Спр.УникальныйИдентификатор()
И ошибки не будет
|
|
6
мистер игрек
18.09.12
✎
19:35
|
очень странно
|
|
7
ChAlex
18.09.12
✎
19:40
|
(6) - ну с точки зрения программы - ничего странного, а то что табло не может переварить - ну так это уже другая песня (а может и не должно) - тут как на это посмотреть.
|
|
8
ChAlex
18.09.12
✎
19:42
|
Всякие конструкторы - это директива для создания объекта, а вот методы - это сущность самого объекта, а не директивы - приблизительно так. В любом случае не используйте подвешенных конструкторов и будет все ок.
|
|
9
мистер игрек
18.09.12
✎
20:11
|
ок, спасибо
|
|