Имя: Пароль:
1C
1С v8
Не дайте умереть нубу - как получить код родителя.
,
0 Zebbar
 
17.01.12
21:18
Элементарный вопрос.
Есть модуль формы элемента справочника.
Необходимо код элемента сформировать ручками с использованием кода родителя.

В функции "При записи" пишу:

  Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)
   Объект.Код=Объект.Родитель.Код*10+Объект.ЧастьКода;
  КонецПроцедуры

Мне ругается "Поле объекта не обнаружено (Код)"
Как правильно написать?
1 jsmith82
 
17.01.12
21:19
не судьба в типовой посмотреть
2 Asmody
 
17.01.12
21:20
а есть ли родитель?
3 1C_Patriot
 
17.01.12
21:22
условие добавь
Если ЗначениеЗаполнено(Объект.Родитель) Тогда
   Объект.Код=Объект.Родитель.Код*10+Объект.ЧастьКода;
КонецЕсли;
4 jsmith82
 
17.01.12
21:23
а накуа объект
может, ЭтотОбъект
перед записью родитель должен быть
если даже пустая ссылка, то код читаться должен
это же не неопределено
5 Гот
 
17.01.12
21:23
(1) В какой, итить, типовой, посланец, ты видел это?
6 jsmith82
 
17.01.12
21:23
чо за объект у тебя, автор
7 acsent
 
17.01.12
21:24
уф скорее всего
8 jsmith82
 
17.01.12
21:25
механизм тюнинга кода объектов достаточно широко представлен в типовухах
9 Zebbar
 
17.01.12
21:25
В общем, это справочник кодов городов.
Типа так:
Россия - 7
- Мобильная связь - 79
 - Мегафон - 792
  - Мегафон Москва 7926
10 Гот
 
17.01.12
21:25
(4) Проспись. Нет там кода, если родителя нет.
11 jsmith82
 
17.01.12
21:26
вот я и говорю, что за долбаный объект у тебя в процедуре, что родитель имеет тип неопределено
12 Гот
 
17.01.12
21:26
(8) Конкретней, какой тюнинг? Расскажи поподробней?
13 Zebbar
 
17.01.12
21:27
Родитель есть - правлю элемент второго уровня. Все равно ругается на код.
14 jsmith82
 
17.01.12
21:28
(10) сам проспись, есть родитель, пустая ссылка
15 Zebbar
 
17.01.12
21:29
Кстати, а как можно сделать ссылку на конкретный пост? Типа (12)
16 jsmith82
 
17.01.12
21:30
автор, ты ответь хотя бы чо за долбаный объект
17 BuHu
 
17.01.12
21:31
(13) открой для себя отладчик
18 jsmith82
 
17.01.12
21:31
автор, учи отладчик
19 Zebbar
 
17.01.12
21:31
В нашем случае Родитель есть. Доступ к нему я получаю.
То бишь так:
   Сообщить(Объект.Родитель);
   Объект.Код=Объект.Родитель.Код*10+Объект.ЧастьКода;
А как все-таки получить доступ к коду родителя?
20 Гот
 
17.01.12
21:32
(18) И что выдаст .код у пустой ссылки?
21 jsmith82
 
17.01.12
21:34
(20) представь, выдаст
22 Zebbar
 
17.01.12
21:34
(17) (18) Причем тут отладчик?

Так работает:
       Сообщить(Объект.Родитель);

А так уже нет:
       Сообщить(Объект.Родитель.Код);
23 jsmith82
 
17.01.12
21:35
(22) при том, что мы даём советы, но не занимаемся репетиторством
24 Hans
 
17.01.12
21:36
управляемые формы?
25 Zebbar
 
17.01.12
21:37
(24) Да.
26 jsmith82
 
17.01.12
21:37
а ну б!л!я управляемые конеш тогда
27 jsmith82
 
17.01.12
21:38
убил вхлам
у тебя тип данныеформыструктура, где процедура висит, в форме?
28 andrewks
 
17.01.12
21:38
ТипЗнч(Объект.Родитель) - ?
29 andrewks
 
17.01.12
21:39
(25) на сервере не пробовал получать?
30 Zebbar
 
17.01.12
21:39
(28) СправочникСсылка.КодыГородов
31 andrewks
 
17.01.12
21:40
(30) это ты сказал, или окно сообщений 1с?
32 Zebbar
 
17.01.12
21:40
Я вот с 7.7 долго отработал - по ней вопросов нет, а тут я даже вопросы не совсем понимаю. :)
Типа (27).
В общем, это у меня модуль формы элемента справочника. Он что, не имеет доступа к данным справочника?
33 Zebbar
 
17.01.12
21:40
(31) - это в дебаггере
34 jsmith82
 
17.01.12
21:41
автор, читай радченко "практическая разработка в 1с 8.2"
35 jsmith82
 
17.01.12
21:42
(32) всё, что в тонком клиенте не имеет прямого доступа к данным базы, только обращение на сервер
36 Zebbar
 
17.01.12
21:43
(35) Понял. Похоже, надо использовать "ПередЗаписьюНаСервере"
37 Zebbar
 
17.01.12
21:45
(35) - Большое спасибо. Все получилось! Буду иметь на будущее в виду. И за совет (34) огромное спасибо
38 Hans
 
17.01.12
21:46
(36) а ПередЗаписью объекта нельзя код формировать?
39 Asmody
 
17.01.12
21:48
(38) нужно!
40 Asmody
 
17.01.12
21:48
или нет. это зависит от.
41 Zebbar
 
17.01.12
21:49
(38) Я все это понял так: Метод ПередЗаписью выполняется на клиенте. Поэтому, если я хочу получить доступ к объектам типа родитель, надо выполнять запрос или еще как.
ПередЗаписьюНаСервере выполняется на сервере. И там мы можем спокойно получить доступ к родителю.
Ошибка? Это не ошибка, это системная функция.