Заполнить и обновить таблицу на форме (УФ)

1. tolyan_ekb 104 29.06.17 09:45 Сейчас в теме
(14) В внешней обработке нужно заполнить таблицу в модуле объекта и обновить данные на форме.
Таблицу заполнил (в обработкаобъект), а как передать в форму не понимаю.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. VmvLer 29.06.17 09:49 Сейчас в теме
добавить на форму реквизит у которого источник данных эта таблица
3. tolyan_ekb 104 29.06.17 09:52 Сейчас в теме
(2) сделано, не обновляется
5. tolyan_ekb 104 29.06.17 09:54 Сейчас в теме
(2) если есть пример обработки, то выложите
4. tolyan_ekb 104 29.06.17 09:53 Сейчас в теме
Есть реквизит обработки - ТЧ. После заполнения в модуле объекта не обновляется. В отладчике пусто, после возвращения из модуля объекта
6. VmvLer 29.06.17 10:05 Сейчас в теме
(4) B модуле формы как-то так

&НаСервере
Процедура ЗаполнитьТч()
   ОбрОбъект = РеквизитФормыВЗначение("Объект");
   Тз = ОбрОбъект.ЗаполнитьТч();
   Объект.Тч.Загрузить(Тз);
КонецПроцедуры
7. tolyan_ekb 104 29.06.17 10:15 Сейчас в теме
(6) спасибо за пример. Забыл написать, что заполнение происходит в фоновом режиме в процедуре модуля объекта.
12. herfis 499 29.06.17 16:34 Сейчас в теме
(7) Подробно опиши исходную задачу. А то твои "фоновые заполнения ТЧ обработки" одно недоумение вызывают.
17. Coole 05.12.17 21:02 Сейчас в теме
(6)
ОбрОбъект = РеквизитФормыВЗначение("Объект");
Тз = ОбрОбъект.ЗаполнитьТч();
Объект.Тч.Загрузить(Тз);

задача такая же
есть обработка, на форме есть табличный документ ТЗ, как его заполнить из модуля формы обработки?
11. herfis 499 29.06.17 16:30 Сейчас в теме
(4) Забудь про реквизиты обработки в УФ. Для УФ это атавизм, как и переменные модуля обработки. В УФ все это добро погибает, как только завершается серверный вызов. Читай статью "Под капотом управляемых форм" для просветления.
8. VmvLer 29.06.17 10:21 Сейчас в теме
тогда передавать тз через временное хранилище

шрифтом выделена подстрока поиска по которой можно найти вагон готовых заготовок кода
tolyan_ekb; +1 Ответить
9. Anchoret 60 29.06.17 10:35 Сейчас в теме
Делал как-то обработку по заполнению табличной части, главной задумкой было, чтобы обработка не требовала записи документа перед заполнением.
В итоге разобрался и сделал в модуле объекта, получилось замечательно: документ не нужно записывать и он превосходно заполняется.
Вот только одна проблема так и осталась: если документ новый, то данные на форме обновляются, а если документ уже был записан, открывается и снова заполняется, тогда данные обновить не получается, так и не смог разобраться почему.

Пробовал ОбновитьОтображениеДанных , но не помогает
10. BigBoss 2 29.06.17 15:47 Сейчас в теме
(9)
если документ уже был записан, открывается и снова заполняется, тогда данные обновить не получается, так и не смог разобраться почему.


Возможно его нужно перезаписать?
15. Anchoret 60 29.06.17 16:51 Сейчас в теме
(10)
А вот при нажатии кнопки "Записать", отображение данных на форме обновляется.
Но хотелось бы, чтобы эти данные обновились после выполнения внешней обработки по заполнению табличной части
13. eksetro 6 29.06.17 16:37 Сейчас в теме
(9) 2 день себе мозг колупаю подобной ерундой. При проведении документа номенклатура должна переименоваться. И она это делает, а на форме остается прежнее наименование. ОбновитьОтображение, Форма.Прочитать(), ЗначениеВРеквизитФормы() всё бесполезно. Более того, когда закрываю и открываю документ снова, картина не меняется, при этом у другого пользователя в это время все корректно отображается. Значит форма кэшируется и как это победить непонятно.
14. herfis 499 29.06.17 16:45 Сейчас в теме
(13) Чисто из интереса, что произойдет
1) при отмене проведения документа, переименовывающего номенклатуру?
2) при перепроведении нескольких документов, переименовывающих одну и ту же номенклатуру, в разном порядке?
3) при отменах проведения и проведениях нескольких документов, переименовывающих одну и ту же номенклатуру, в разном порядке?
16. eksetro 6 29.06.17 16:53 Сейчас в теме
(14) Состояние (которое и устанавливается документом и должно отразиться в наименовании) пишется в регистр, при записи документа номенклатуре присваивается актуальное состояние по регистру, а оно не всегда совпадает с тем, которое указано в документе.
18. Coole 05.12.17 21:07 Сейчас в теме
(14)
не подскажите?
на форме обработки УФ размещен ТабличныйДокумент, по кнопке - читаю файл эксель и надо заполнить Таблдокумент.
19. starik-2005 3039 05.12.17 21:45 Сейчас в теме
(18) А в чем траблы? Читаете эксель в табличный документ как-то так:
&НаСервере
Процедура ПрочитатьВТабДок(ДД)
  фл = ПолучитьИмяВременногоФайла("xlsx");
  ДД.Записать(фл);
  Таблдокумент.Открыть(фл); // тут можно еще установить режим чтения через значения - см. синтаксис-помощник
  УдалитьФайлы(фл);
КонецПроцедуры
20. herfis 499 06.12.17 10:18 Сейчас в теме
(18) Ну, я обычно всегда читаю эксель на сервере, чтобы уйти от проблем с клиентским окружением. Т.е. как-то так:
1) на клиенте засунуть экселевский файл во временное хранилище
далее все делается на сервере
2) записать из временного хранилища во временный файл
3) прочитать файл любым удобным способом
4) создать и заполнить табличный документ
5) тупо присвоить его реквизиту формы соответствующего типа
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот