Имя: Пароль:
1C
 
В событии ПослеЗаписиНаСервере(ТекущийОбъект,...) - ТекущийОбъект равен <Объект не найден>
0 Ахмадинежад
 
08.10.20
09:22
Форма документа. Документ записывается при записи элемента справочника. В файловой базе всё ок - ТекущийОбъект равен записываемому документу, а в серверной - <Объект на найден>
1 RomanYS
 
08.10.20
09:28
Объект не новый?
Проверяй права.
<Объект на найден> - это представление, сам объект(внутренняя структура) доступна?
2 Ахмадинежад
 
08.10.20
09:29
и в новом такое, и не новом. Права полные.
Внутренняя структура доступна, показывает значения реквизитов (у ненового)
3 RomanYS
 
08.10.20
09:32
(2) Если всё работает (т.е. глюк виден только в отладке), то не обращай внимания.
4 Ахмадинежад
 
08.10.20
09:34
в том то и дело, что в дальнейшем ошибка. Документ записывается при записи элемента справочника - и потом справочник хочет себе ссылку забрать на документ - через ЗначениеВРеквизитФормы - и тогда ошибка
5 RomanYS
 
08.10.20
09:39
(4) Для передачи ссылки не нужно ЗначениеВРеквизитФормы. Что-то ты вероятно не так делаешь. Опиши что надо и код покажи
6 Ахмадинежад
 
08.10.20
09:46
всё происходит при записи справочника

Процедура ПослеЗаписиНаСервереВспомогательныйДокумент(Форма, ТекущийОбъект, ПараметрыЗаписи) Экспорт //это обработчки в оповещении после записи вспомогательного документа
    
        
    Если ЗначениеЗаполнено(ТекущийОбъект.ДоговорКонтрагента) Тогда
       Форма.ЗначениеВРеквизитФормы(ТекущийОбъект.ДоговорКонтрагента.ПолучитьОбъект(), "ДоговорОбъект");//вот здесь ошибка
    КонецЕсли;
    
    
    
КонецПроцедуры

если смотреть в сам обработчик формы вспомогательного документ ПослеЗаписиНаСервере - там ТекущийОбъект уже <Объект не найден>
7 Василий Алибабаевич
 
08.10.20
09:50
(6) Тип реквизита формы "ДоговорОбъект" - в студию.
8 Salimbek
 
08.10.20
09:53
(6) Событие ПослеЗаписиНасервере и Обработчик оповещения названный ПослеЗаписиНаСервереВспомогательныйДокумент - это совершенно разные узлы и кто его знает - когда вызывается эта ваша Процедура. Может до того, как сохраняется ТекущийОбъект
9 Ахмадинежад
 
08.10.20
09:54
(7)ДанныеФормыСтруктура - СправочникОбъект.ДоговорыКонтрагентов
10 RomanYS
 
08.10.20
09:55
(6) И что этот код должен делать? На первый вгляд выглядит бессмыслено
11 Salimbek
 
08.10.20
09:56
(6) Если у вас там ошибка, значит код прошел ветку Если и там ЗначениеЗаполнено(ТекущийОбъект.ДоговорКонтрагента) - сработало, а значит и ТекущийОбъект в этот момент был получен. Или нет?
Кроме того - а зачем делать ПолучитьОбъект если вам в реквизит надо запихать Ссылку?
12 RomanYS
 
08.10.20
09:59
(11) У него там не ссылка, см (9)
(9) В чём смысл такого реквизита? Ты хочешь два объекта в одной форме редактировать?
13 Ахмадинежад
 
08.10.20
10:04
(12)к сожалению, не могу понять замысле тех, кто этот код делал) я просто разбираюсь, почему ошибка )
14 Василий Алибабаевич
 
08.10.20
10:13
(13) Чтобы понять почему ошибка нужно все же понять замысел всего мероприятия.
15 Ахмадинежад
 
08.10.20
10:14
причем в одной серверной базе ошибка есть, в другой нет ! )
16 Salimbek
 
08.10.20
10:19
(15) А традиционная "Очистка кеша" не помогает? А то всякое бывает...
17 Salimbek
 
08.10.20
10:20
(14) Ну, например, тот, кто писал сей код мог тупо не понимать разницы между СправочникОбъект.ДоговорыКонтрагентов и СправочникСсылка.ДоговорыКонтрагентов вот и впихнул первое попавшееся. Разные... (ш)кодеры встречаются ;-)
18 Вафель
 
08.10.20
10:22
случайно не про лизинг конфа?
19 Вафель
 
08.10.20
10:22
А чему равен
ТекущийОбъект.ДоговорКонтрагента
20 Ахмадинежад
 
08.10.20
10:39
(18) про всё ))

(16)трудно это щас, но попробую, спасибо

(19)объект не найден
21 Salimbek
 
08.10.20
10:44
(20) Хм... Это похоже на то, что объект ранее был записан, потом его внесли в реквизит, а потом его полностью удалили из базы. Поэтому в ссылке он есть и ЗначениеЗаполнено проходит, а самого объекта - нет.
А если это новые объекты - то может быть в конфах управление блокировками отличается?
22 Ахмадинежад
 
08.10.20
10:51
объект есть - я его отдельно вижу в списке ))
может, действительно, кеш )