(82) Получить объект для нового документа из коллекции данных формы #493699


#0 by boozin
Пишу универсальную процедуру заполнения шапки новых документов. Пытаюсь получить объект из коллекции данных формы для того, чтобы использовать УстановитьНовыйНомер. ЭтотДокумент -коллекция данных в форме. Пишу: КонецЕсли; На Док = Документы.ПриходнаяНакладная.ПолучитьСсылку(Новый УникальныйИдентификатор(ЭтотДокумент.Ссылка)) ругается. И че то я в ступоре
#1 by H A D G E H O G s
Не понял Чистого Смысла в строчке Документы.ПриходнаяНакладная.ПолучитьСсылку(Новый УникальныйИдентификатор(ЭтотДокумент.Ссылка));
#2 by butterbean
эээээ может так лучше ДокОбъект = ЭтотДокумент.Ссылка.ПолучитьОбъект;
#3 by boozin
Так уже пробовал. Пишет "Объект не выбран" Попытка получить ссылку на этот новый объект. Вижу, что неправильно, а как правильно че-то не допру
#4 by Defender aka LINN
Жесть как она есть...
#5 by H A D G E H O G s
ПолучитьСсылкуНового
#6 by nbIx
Фактически ты создаешь объект по несуществующей ссылке.
#7 by Defender aka LINN
Автор, ты словами объясни, что хочешь? И, бога ради, сотри свой код нафиг.
#8 by nbIx
Вернее получаешь ссылку, из пустого Ид. Жесть какая то
#9 by boozin
Хочу простого: Написать в общем модуле универсальную процедуру, которая бы помимо прочего устанавливала документу новый номер в соответствии с префиксом из ранее установленного склада. Весь этот изврат ради процедуры УстановитьНовыйНомер. Любой реквизит предустанавливается без проблем и без этого
#10 by boozin
То что написанное жесть - полностью согласен. Подскажите как правильно - скажу большое спасибо.
#11 by Defender aka LINN
Подпишись на событие "ПриУстановкеНомера" и устанавливай что хочешь.
#12 by boozin
Так я номер то не вручную меняю, а ПриСозданииНаСервере, т.е при создании нового документа
#13 by Defender aka LINN
Для нахрена его менять (!) при создании формы (!!)?
#14 by boozin
Наверное я не до конца понимаю 82(Изучаю только). Я интерактивно создаю в списке новый документ и еще до его открытия хочу заполнить некоторые его реквизиты, в том числе и установить заранее номер с префиксом. Я так понял, что делается это именно в ПриСозданииНаСервере. А где же тогда ?
#15 by Defender aka LINN
Номера и коды устанавливаются при записи. Сами. Главное - им не мешать.
#16 by Defender aka LINN
Кроме того, в ПриСозданииНаСервере создается форма. Заполнение происходит в несколько более другом событии в модуле документа.
#17 by boozin
Не врубился. ПриЗаписи - это уже запись готового, а я реквизиты предустановить хочу. В каком ?
#18 by boozin
ОбработкуЗаполнения что-ли смотреть ?
#19 by Defender aka LINN
Да. Только, бога ради, оставь номер в покое. Он и без тебя сгенерируется и присвоится.
#20 by boozin
Префикс он откуда возьмет ?
#21 by boozin
А что номер прекрасно генерируется и без меня - я знаю. Только номер с префиксом нужен и уже в открывающейся форме
#22 by Defender aka LINN
Из . Или в модуле документа можешь прописать "ПриУстановкеНовогоНомера".
#23 by Defender aka LINN
Кля. Не нужен он тебе. Что ты его, солить будешь?
#24 by boozin
В 77 юзер привык видеть номер с префиксом при открытии. Открывает документ в 82 там ничего,и сразу куча вопросов типа: "Это не мой документ. У него СТ впереди не стоит" и т.д. Как отвечать ? Типа он потом после записи появится ?
#25 by Defender aka LINN
Привык к 7.7 - пусть работает в 7.7. В восьмерке уже давно номер генерируется при записи.
#26 by butterbean
на все вопросы надо отвечать - "это не 7.7!"
#27 by boozin
Уговорили :) Но против остальных предустановок никто не возражает ?
#28 by Defender aka LINN
Если сделаешь не в форме. З.Ы. РаботаСпользователямиСервер.ВернутьглПользователя должна быть не серверная процедура, а общая, в кэшируемом модуле.
#29 by boozin
Глпользователь - параметр сеанса. И его, вроде как, только в серверных процедурах доставать можно. А что есть "кэшируемый модуль" ? Только ногами не пинать. вопрос может быть тупой.
#30 by Defender aka LINN
Вопрос тупой, факт. Это модуль, который запоминает возвращаемые значения и всегда их возвращает, вычисляя только один раз.
#31 by boozin
Повторное использование возвращаемых значений - НаВремяСеанса ? А почему общая процедура ?
#32 by Defender aka LINN
Потому что с клиента тоже могут за ней пойти. И даже в режиме внешнего соединения.
#33 by boozin
Так она в общем модуле, просто с флагом Сервер. Общая = общий модуль ?
#34 by boozin
А с клиента идут в другой общий модуль - который уже вызывает процедуру этого
#35 by Goggy
Чёрд, а я думал все серии про Крюгера посмотрел...
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С