v7: Записать открытый документ из внешней обработки #698251


#0 by ildary
Уважаемые
#1 by ildary
Упс, промахнулся. Уважаемые специалисты, подскажите пожалуйста, как правильно записать открытый документ, переданный во внешнюю обработку в виде контекста? 1С ругается на "Данная команда не может выполняться в формуле элемента диалога!"
#2 by ildary
Проблема в том, что записать документ надо в процессе выполнения обработки, и после записи требуются дальнейшие действия.
#3 by palpetrovich
а обязательно держать документ все время открытым?
#4 by palpetrovich
+3 передал контекст в обработку, поработал с ним, записал документ, закончил - открыл форму дока
#5 by palpetrovich
* передал контекст в обработку, ЗАКРЫЛ ДОК, поработал с ним, записал документ, закончил - открыл форму дока :)
#6 by ildary
Да, потому что данные действия должны выполниться в  ВводНаОсновании. + ну в принципе тоже вариант, спасибо, попробую.
#7 by palpetrovich
если "действия должны выполниться в  ВводНаОсновании" - так может возвращать результат из обработки в эту процедуру и, при необходимости - записывать
#8 by Ёпрст
на вот, ознакомься
#9 by ildary
Спасибо за совет, а можно еще уточнить - после всех манипуляций надо созданный документ просто открыть (как обычное окно). Но почему-то ОткрытьФорму( ВремДок.ТекущийДокумент ); ведет себя как ОткрытьФормуМодально - открывается окно не во весь экран и модально, останавливая выполнение процедуры. Как это можно обойти?
#10 by Ёпрст
дык поди из модально открытой формы открываешь, да ? В таком случае любой окно будет всегда открыто в модальном режиме
#11 by ildary
действительно, и как это лучше обойти? вернуть док через форма.параметр и открыть позже?
#12 by pvase
Может изменить логику и не записывать документ, а записать после завершения ВводНаОсновании?
#13 by Ёпрст
там же в примерчик есть.. если не изменять модуль формы документа, то примитив такой - открывается форма документа + создается объект через Док.Новый, далее считываются атрибуты с открытой формы, пишутся в Док, форма закрывается, Док.Записывается и привет. Если можно менять форму дока - то всё проше: просто передача параметра в форму документа, там ловля его в ПриОтурытии + статусВозврата + Записать/Провести если надо.. усё.
#14 by Torquader
Если в обработку передаётся контекст, то есть ссылка на форму, то кто мешает вызвать "Записать", только не сразу (в момент вызова документ заблокирован, так как его код ещё не выполнился (то, что после строки открытия формы обработки). Поэтому, в обработке сохраняем контекст и запускаем обработку ожидания. Потом, в обработке ожидания выполняем запись.
Тэги: 1С 7.7 и ранее
Ответить:
Комментарии доступны только авторизированным пользователям

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