Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0
Собственно сабж. Есть открытая форма документа, из нее открывается обработка которая меняет данные документа на сервере, как после возврата в форму документа "перечитать" ее данные?
Личные бесплатные консультации не даю, для этого есть форум!
Не. Не знаю. Это Ваше УП ЗЫ Но поковыряю для самообразования ЗЫЫ Но наверно это не верный подход. Наверно тут надо ДанныеФормыВЗначение и ЗначениеВДанныеФормы Посмотрите УТ11 там вроде такое реализовано
[необходимо зарегистрироваться для просмотра ссылки]
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник) Если ИмяСобытия = "ВыбранФайлОбмена" Тогда Если ЗначениеЗаполнено(Параметр) Тогда ТекЗаява = ЭлементыФормы.СправочникСписок.ТекущиеДанные.Ссылка.ПолучитьОбъект(); .............. КонецЕсли; КонецЕсли; КонецПроцедуры
Группа: Команда (модераторы)
Сообщений: 1116
Из: Одесса-Луганск
Спасибо сказали: 192 раз
Рейтинг: 0
1. я бы попытался изменить концептуальный дуализм "форма документа - форма обработки". Т.е. в обоих случаях нужно использовать либо форму документа, либо форму обработки (причем форма обработки мне кажется более привлекательной из-за более полной свободы в действиях с реквизитами). 2. Если же концептуально менять не с руки, тогда имеет смысл не связывать интересуемые реквизиты с элементами формы напрямую, а через некую процедуру ПеречитатьЗначенияРеквизитов, которую можно вызывать и из формы документа, и из формы обработки.
Правильно поставленный вопрос содержит до 90% ответа.
Группа: Пользователи
Сообщений: 47
Спасибо сказали: 12 раз
Рейтинг: 0
Цитата(logist @ 12.03.12, 20:38)
события Перечитать (как кнопочка в форме) увы нету, больше никакие события не катят...
У формы кнопочка Перечитать вызывается методом Прочитать(); Вызывать в форме после вызова обработки. Должно помочь.
У меня была другая ситуация. При записи документа в модуле самого документа вызывалось движение бизнес-процесса который менял документ, как результат в записи запись существовала и на выходе на форму у объекта была другая версия объекта). Решение - вызов метода Прочитать() у объекта(ЭтотОбъект.Прочитать()) после выполнения кода движения бизнес-процесса.
более глупый вариант решения: после выполнения действия обработки в форме документа получить объект документа с сервера и поместить его в данные формы с помощью метода ЗначениеВДанныеФормы(). По сути метод Прочитать() так и делает.
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!