|
1с 8 управляемое приложение. Обновить форму | ☑ | ||
---|---|---|---|---|
0
jenny_tea
21.12.11
✎
13:12
|
Подскажите пожалуйста, как в коде написать аналог кнопки обновить форму. Судя по всему это не просто Прочитать() или ОтобразитьИзменениеДанных()
Обновить() не работает в управляемых формах |
|||
1
NcSteel
21.12.11
✎
13:13
|
ОбновитьИнтерфейс();
ОбновитьОтображениеДанных(); |
|||
2
NcSteel
21.12.11
✎
13:14
|
И в общем для чего ?
|
|||
3
jenny_tea
21.12.11
✎
13:18
|
сложно полностью описать проблему. в кратце делаю запись элемента. а когда пытаюсь записать во второй раз пишет что было произведено изменение данных. кнопка Обновить форму спасает вот и хочу ее заменить в коде
|
|||
4
NcSteel
21.12.11
✎
13:45
|
тогда ОбновитьОтображениеДанных();
|
|||
5
jenny_tea
21.12.11
✎
13:47
|
не спасло. но все же спасибо
|
|||
6
NcSteel
21.12.11
✎
13:48
|
(5) Значит что то не так делаешь .
ЗначениеВДанныеФормы() Суть в том что ты изменил версию объекта в БД , а форма об этом не знает . |
|||
7
jenny_tea
21.12.11
✎
13:58
|
существует такая процедура ЗаписатьДокумент(). может
ДокументОбъект = РеквизитФормыВЗначение("Объект"); ДокументОбъект.Записать(); ЗначениеВРеквизитФормы(ДокументОбъект, "Объект"); |
|||
8
jenny_tea
21.12.11
✎
13:58
|
может из-за этого че не так?
|
|||
9
NcSteel
21.12.11
✎
13:58
|
да именно, из-за того что не так )))0
смотри (6) |
|||
10
Mort
21.12.11
✎
14:11
|
Расширение управляемой формы для справочника.Прочитать (Managed form extension for catalogs.Read)
Расширение управляемой формы для справочника (Managed form extension for catalogs) Прочитать (Read) Синтаксис: Прочитать() Описание: Обновляет объект управляемой формы. Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент. |
|||
11
Mort
21.12.11
✎
14:13
|
+(10) Можно, конечно и (7), но на форме могут быть косвенные реквизиты вычисляемые из реквизитов объекта в процедуре ПриЧтенииНАСервере (хотя некоторые дятлы делают это в ПриСозданииНаСервере)
|
|||
12
NcSteel
21.12.11
✎
14:18
|
(11) Не надо путать мальчика.
|
|||
13
Mort
21.12.11
✎
14:19
|
(12) Как раз не надо вводить в заблуждение советами (6)(7)(9)
|
|||
14
Asmody
21.12.11
✎
14:21
|
(12) вообще-то, ТС — девочка
|
|||
15
NcSteel
21.12.11
✎
14:30
|
(13) Нечего сказать )
ДокументОбъект = РеквизитФормыВЗначение("Объект"); ДокументОбъект.Записать(); ЗначениеВРеквизитФормы(ДокументОбъект, "Объект"); код надо заменить , а всякие Прочитать, обновитьИнтерфейс - в данном контексте признак быдлокодинга. |
|||
16
NcSteel
21.12.11
✎
14:31
|
(14) Точно !
извиняюсь ! |
|||
17
Mort
21.12.11
✎
14:31
|
(15) А сейчас будет вопрос на засыпку.
|
|||
18
NcSteel
21.12.11
✎
14:32
|
Давай
|
|||
19
Mort
21.12.11
✎
14:35
|
(18) В таблицу формы, отображающую ТЧ добавлена служебная колонка, которая заполняется по строкам при чтении на сервере. При записи документа извне были добавлены строки. (15) строки эти прочитает, да. А как же значение служебной колонки кто его заполнит и когда? Добавлять вызов заполнения после ЗначениеВРеквизитФормы? Это уже точно г-код.
P/s А Вообще-то это основы. |
|||
20
NcSteel
21.12.11
✎
14:56
|
(19) ты предложил совсем другую задачу нежели объявлена автором.
Автор сам записал объект и хочет его обновить . Делать два серверных выхова при такой задачи это г-код P/s А Вообще-то это основы. |
|||
21
Mort
21.12.11
✎
15:01
|
(20) Какие два серверных вызова? Прочитать() с сервера вызывается. А задача вполне конкретная. Если бы объект не записывался бы, то другое дело.
|
|||
22
Mort
21.12.11
✎
15:02
|
Хотя начать стоило с того, зачем форма записывать объект извне.
|
|||
23
Mort
21.12.11
✎
15:07
|
Так, чтобы меня лучше понятно было.
ДокументОбъект = РеквизитФормыВЗначение("Объект"); ДокументОбъект.Записать(); Прочитать(); = ДокументОбъект = РеквизитФормыВЗначение("Объект"); ДокументОбъект.Записать(); ЗначениеВРеквизитФормы(ДокументОбъект, "Объект"); ВызватьФункциюПоЗаполнениюКосвенныхЗначений(); |
|||
24
NcSteel
21.12.11
✎
15:07
|
Короче придумавыем за автора. Можно еще взять ее документ и переписать как правильно . И потом дать резюме:
------------------------------------------------------------------ Автор девочка красивая , но учиться и учиться Подпись MORT Подпись NcSteel |
|||
25
NcSteel
21.12.11
✎
15:09
|
ДокументОбъект = РеквизитФормыВЗначение("Объект");
ДокументОбъект.Записать(); Прочитать(); = ДокументОбъект = ДанныеФормыВЗначение("Объект"); ДокументОбъект.Записать(); ЗначениеВДанныеФормы(ДокументОбъект, "Объект"); ВызватьФункциюПоЗаполнениюКосвенныхЗначений(); |
|||
26
jenny_tea
22.12.11
✎
11:42
|
Объясняю суть проблемы. Так как уже совсем запарилась. понимаю суть проблемы но не понимаю почему так.
Есть Документ - Док1 На форме есть список элементов справочника - Спр1. У Спр1 есть реквизит - Рекв1, который может быть ссылкой на данный документ. В список попадают все элементы Спр1 у которых Рекв1 = Док1.Ссылка; На форме документа есть еще 3 кнопки по работе со справочником. Добавить, Редактировать, Удалить. Которые модально делают соответствующие действия и не открывают сами элементы справочника. Так вот когда в документе нажимаешь сохранить(сам документ), потом добавить , а потом опять сохранить как раз и вылетает Ошибка. что данные изменились, причем эта ошибка есть и в управляемых формах и в обычных. Я понимаю что это из-за того что я записываю элемент справочника в котором ссылаюсь на текущий документ, но мне ведь это и надо. Если нажать Обновить на форме документа то все становится хорошо. но ведь в период между записью документа и Действиями со справочником могли что-то изменить в самом документе и эти изменения не сохранятся а это совершенно не гуд |
|||
27
YF
22.12.11
✎
11:43
|
||||
28
jenny_tea
22.12.11
✎
12:41
|
неужто побороли. оказалось была подписка о которой я еще не сном ни духом оставшаяся со старых данных, ее убрали и стало все отлично
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |