Имя: Пароль:
1C
1C 7.7
v7: В реквизит справочника добавить ссылку документа
0 myr4ik07
 
30.10.16
21:29
Не понял, есть Справочник в нем Реквизит с Типом РасходнаяНакладная
в документе РасходнаяНакладная в модуле объекта

    НовыйОбъектАрхивТТН = СоздатьОбъект("Справочник.АрхивТТН");  
    
    НовыйОбъектАрхивТТН.Регистратор = ТекущийДокумент();  
    НовыйОбъектАрхивТТН.Статус = Статус;
//    НовыйОбъектАрхивТТН.ОбщаяСумма =
//    НовыйОбъектАрхивТТН.ДатаЗакрытия =
    НовыйОбъектАрхивТТН.Записать();    

а он мне

НовыйОбъектАрхивТТН.Регистратор = Док.ТекущийДокумент();  
{Документ.РасходнаяНакладная.Модуль Документа(809)}: Не выбран элемент!
1 myr4ik07
 
30.10.16
21:30
а как же ссылку запихнуть в раквизит справочника?
2 myr4ik07
 
30.10.16
21:32
НовыйОбъектАрхивТТН = СоздатьОбъект("Справочник.АрхивТТН");  
    Док = СоздатьОбъект("Документ");
    Док.НайтиДокумент(ТекущийДокумент());
    
    НовыйОбъектАрхивТТН.Регистратор = Док.ТекущийДокумент();  
    НовыйОбъектАрхивТТН.Статус = Статус;
//    НовыйОбъектАрхивТТН.ОбщаяСумма =
//    НовыйОбъектАрхивТТН.ДатаЗакрытия =
    НовыйОбъектАрхивТТН.Записать();    

аналогично ошибка
3 Torquader
 
30.10.16
21:35
Если ты это делаешь из текущего документа, то нужно понимать, что у него ссылка появляется только тогда, когда он будет записан в базу.
4 myr4ik07
 
30.10.16
21:36
(3) в конце процедуры обработка проведения делаю
5 myr4ik07
 
30.10.16
21:38
(3) т.е. Записать() сначала, а потом получу ссылку?
6 Torquader
 
30.10.16
21:45
В обработке проведения ТекущийДокумент() возвращает нужную ссылку, и всё должно работать.
7 myr4ik07
 
30.10.16
21:47
(6) вот где
ошибка? ))

http://paste1c.ru/oe7
8 myr4ik07
 
30.10.16
21:48
(6) док получается заполнено в результате смотрю отладчиком
9 myr4ik07
 
30.10.16
21:53
(6) короче не там ошибка, закоментировал эту строку на след остановилось с этой же ошибкой, такое ощущения что нужно открыть справочник а потом заполнить реквизиты
10 Остап Сулейманович
 
30.10.16
21:54
(9) А где НовыйОбъектАрхивТТН.Новый()?
11 myr4ik07
 
30.10.16
21:56
(10) спасибо )), в точку ), плутаюсь 7-8 ) спасибо, все гуд
12 myr4ik07
 
30.10.16
21:56
(10) о, земляк ), дякую
13 Torquader
 
30.10.16
22:28
Код вообще "в топку".
Зачем в обработке проведения Записать ? - она итак всё запишет после завершения.
Зачем искать документ в выборке по ссылке ТекущийДокумент(),чтобы опять получить ТекущийДокумент() - он уже получен.
14 Хряк
 
30.10.16
22:43
гхммм, ты прикалываешь?
а спозицироваться на элементе справочника?
ты куда писать-то собрался?
15 HawkEye
 
31.10.16
08:49
(11)
в (13) тебе правильно написали, много лишнего у тебя в коде...

Процедура ЗарегистрироватьТТН()  
    НовыйОбъектАрхивТТН = СоздатьОбъект("Справочник.АрхивТТН");  
НовыйОбъектАрхивТТН.Новый()
    НовыйОбъектАрхивТТН.Регистратор = ТекущийДокумент();  
    НовыйОбъектАрхивТТН.Статус = Статус;
//    НовыйОбъектАрхивТТН.ОбщаяСумма =
//    НовыйОбъектАрхивТТН.ДатаЗакрытия =
    НовыйОбъектАрхивТТН.Записать();    
    
КонецПроцедуры
16 Злопчинский
 
31.10.16
10:18
Воощемто  для совсем упых - в клюшках нет модуля обьекта
Независимо от того, куда вы едете — это в гору и против ветра!