Передача данных в ТЧ документа из обработки (не обновляется документ) #278554


#0 by ZIPKs
Доброго времени суток! Помогите советом пожалуйста. Существует документ, по кн "добавить" открывается обработка где по средством запроса и обработки его результата формируется табличная часть обработки. Затем передаю значения в табличную часть документа (куда они успешно попадают), закрываю обработку ... но в табличном поле документа увы никаих изменений.. Подскажите как обновить табличное поле формы документа.. Элементыформы.Тоавры.Обновить; - не срабатывает
#1 by Defender aka LINN
Предлагаешь нам самим сюда код написать и объяснить, почему он не работает? 0_о
#2 by ZIPKs
нет писать код не надо  просто в правильном ли направлении мысль может должа быть еще какая - то команда или нет куда посмотреть...
#3 by ZIPKs
документ перед обновлением был записан..
#4 by ZIPKs
если форму документа закрыть, а потом открыть данные есть
#5 by mec
Ничего обновлять не надо! после добавления строки через обработку, ТЧ сама обновляется... Просто че-то не так делаешь!
#6 by Леха Дум
а как передаешь данные из обработки в документ?
#7 by ZIPKs
#8 by ZIPKs
ВОПРОС: ЧЕГО НЕ ТАК ДЕЛАЮ?
#9 by Defender aka LINN
Живешь ты не так :) ДокументОб.получитьОбъект - это по-твоему что?
#10 by ZIPKs
ДокументОб - Хранится ссылка объекта.
#11 by Defender aka LINN
Маладец. А теперь думай, почему же не меняется твой ДокументОбъект, если ты меняешь совсем другой.
#12 by ZIPKs
ДокументОбъект  и док = ДокументОб.получитьОбъект; - это совершенно разные вещи, тогда вопрос почему при повторном открытии документа записи существуют...
#13 by Фауст
Наверно потомучто при открытии данные считываются из ИБ. Чтото не нашел метода "обновить" у табличного поля. Попробуй: Форма.Обновить;
#14 by Defender aka LINN
Элементарно, Ватсон... Ты открыл один экземпляр объекта. НЕ МЕНЯЛ ЕГО. В обработкне создал другой экземпляр, изменил его и записал. Естественно, если открыть форму заново или перечитать данные, то увидишь свои изменения. А теперь, внимание, вопрос: что надо передать в обработку, чтобы все работало?
#15 by FarFar
Используй "ОбновитьСтроки" поля табличного документа
#16 by Defender aka LINN
, Смотрим код в , курим мануалы...
#17 by ZIPKs
теперь даже в табличную часть документа данные не попадают
#18 by FarFar
а ты ДокументОб.Записать делаешь?
#19 by FarFar
Тока если у тебя документ уже был открыт и модифицирован, записать он не даст, скажет, что объект был изменен.
#20 by asady
решение до примитива простое. сделай так в модуле формы: Процедура КнопкаОбновитьНажатие КонецПроцедуры в модуле объекта
#21 by ZIPKs
по кн "добавить" открывается обработка где по средством запроса и обработки его результата формируется табличная часть обработки. Затем передаю значения в табличную часть документа...
#22 by asady
ну и открывай эту свою обработку не из модуля формы, а из модуля объекта.
#23 by ZIPKs
(18 не дает он записать нет такого говорит
#24 by ZIPKs
не работает пробовал
#25 by asady
не верю.... Это работает!
#26 by ZIPKs
в модуле объекта это в модуле объектаморей обработки?
#27 by asady
нет, в модуле объекта твоего документа.
#28 by FarFar
Как то ты все через одно место делаешь. У тебя ДокументОб - объект или ссылка? Если ссылка, нафига ты его называешь ДокументОб ? Не пожалей переменную, сделай хоть ДокОб = ДокументОб.ПолучитьОбъект; Вот тогда к нему можно применить ДокОб.Записать;
#29 by yalex
+ 1
#30 by mec
Вообще все просто, ты из дока вызываешь обработку... Соответственно ВладелецФормы этой обработки будет твой док.
#31 by ZIPKs
нет, не понимаю.. есть форма документа в ней кнопка по которой документ записывается и вызывается обработка: После получения результатов работы с табличной частью обработки по кн "ОК" вся табличная часть должна добавиться в документ, выглядит так: без результатно...данные видны только при повторном открытии документа
#32 by Фауст
Передай ты просто в обработку объект, с ним и работай чтоб без всяких ДокументОб.получитьОбъект
#33 by ZIPKs
и заполнять табличную часть напрямую, я правильно понял
#34 by ZIPKs
спасибо всем за терпение и помощь
#35 by asady
Вот требования к внешней обработке по заполнению ТЧ: Обработка для заполнения ТЧ объектов. Внешняя обработка, содержащая в модуле экспортную процедуру: Инициализировать(Объект,ИмяТабличнойЧасти,ТабличноеПолеОбъекта) где:   Объект. – ДокументОбъект, СправочникОбъект. От куда был произведен вызов процедуры заполнения внешней обработки; ИмяТабличнойЧасти  – Строка. Имя табличной части, для которой вызвана обработка. ТабличноеПолеОбъекта  – Элемент формы: Табличное поле. Табличное поле формы, для которого вызвана обработка. А так же может иметь в своем составе : макет «Параметры_Авторегистрации»,  используемый для автоматического заполнения принадлежности печатной формы в справочнике «Внешние обработки» состоящий из 2-х колонок – «полное имя метаданного» и «имя табличной части»
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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