8.2 Как в модуле команды документа обратиться к процедуре модуля документа? #558728


#0 by blutang
Вот и весь вопрос.
#1 by RomaH
&наСервере .... и хоть заобращайся
#2 by Asmody
+ через точку от объекта
#3 by Defender aka LINN
Процедуру вынести в модуль менеджера и хоть заобращайся.
#4 by blutang
Что надо писать перед точкой? Все найденные здесь примеры относятся к форме, а у меня команда... Т.е. в модуле документа не получится? Может тогда лучше сразу в общий модуль вынести?
#5 by 5 Элемент
В модуле команды нужно создать объект и обратиться
#6 by Defender aka LINN
Модуль менеджера - это, считай, общий модуль и есть, только привязанный к документу, а не к конфигурации в целом. Если тебе нужна универсальная процедура - кладешь ее в ОМ. Если процедура нужна только одному документу - кладешь ее в модуль менеджера.
#7 by acsent
В модуле команды не отбъекта, а только ссылка
#8 by Asmody
перед точкой должна быть переменная типа ЧтоТоОбъект. А топике, надеюсь, правильно написано: команда документа, а не команда формы?
#9 by 5 Элемент
А вообще делай как сказал
#10 by blutang
Именно команда документа. Вообще-то делать как это муторно: вынос одной процедуры тянет вынос еще нескольких... Стало быть провернуть точно не получится?
#11 by Defender aka LINN
Зато это будет правильно. В типовых даже процедуры формирования данных для проведения в модуль менеджера вынесены.
#12 by blutang
Ок. Спасибо! Думал выносом хоть в 8.2 не придётся заниматься... :))) А всё таки в модуле команды документа получить объект этого документа принципиально нельзя что-ли?
#13 by Asmody
если в команду передается ссылка или несколько ссылок, то ПолучитьОбъект обычно не составляет труда
#14 by blutang
Да. Так получилось! &НаКлиенте
#15 by 5 Элемент
ужас, руки оторвать
#16 by blutang
обоснуй что-ли... :)
#17 by Defender aka LINN
Совратили таки человека на Темную Сторону...
#18 by blutang
тут скорее не заманили на Светлую
#19 by regniws
если процедура в модуле документа фактически ничего не делает с этим документом, то есть не изменяет его реквизитов, не заполняет табличные части, то бишь не работает непосредственно с объектом (не путать с ссылкой), то это бед стайл. Для этого специально есть модуль менеджера. Например: 1) заполнить цены в документе - это модуль объекта 2) распечатать документ или изменить его статус - это модуль менеджера, так как нет работы по изменению данных документа. Почему? Потому что ПолучитьОбъект очень тяжелая операция для платформы и не нужно лишний раз дергать ее. И еще: &НаКлиенте учитывайте в этом месте, что пользователь может выделить несколько документов и команду нужно выполнить для каждого из выделенных.
#20 by blutang
Спасибо, буду думать. У меня, кстати, как раз эта процедура заполняет одну из табличных частей... В этом случае, значит, не бэд стайл? Да! Замечание о нескольких документах пригодится на будущее...
#21 by 5 Элемент
заполняет но не сохраняет? это фейл.
#22 by blutang
Пока да, он :)
#23 by regniws
тогда следите за начальным статусом документа: пометка удаления, проведен или нет, чтобы лишнего не наворотить вида, был непроведенный, а потом "о-па", и провелся незаметно.   И никаких "на будущее", пишите сразу нормально.
#24 by Defender aka LINN
А если ее потребуется вызвать из управляемой формы этого самого документа, куда бежать будешь?
#25 by blutang
Сразу я столько нюансов не в состоянии охватить :( Учусь (причем на живых людях...) Пока научусь как следует, выйдет 8.8, и всё по-новой... Куда... Сюда же, сначала в поиск :)
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

Похожие вопросы 1С

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