|
|
|
v7: Модальная внешняя обработка и табличная часть документа | ☑ | ||
|---|---|---|---|---|
|
0
Nescoffe
08.09.11
✎
14:47
|
Доброго времени суток.
На форме документа "ЗаявкаПокупателя" есть кнопка вызова внешней обработки для изменения цены документа. Формула кнопки: ОткрытьФормуМодально("Отчет",Контекст,КаталогИБ() + "ExtForms\Prices.ert"); Внешняя обработка интерактивная и суть её изменить цену документа Конт.ВыбратьСтроки(); Пока Конт.ПолучитьСтроку() = 1 Цикл Конт.Цена = ТЗ.Цена + ТЗ.Цена * КоэффициентТР; КонецЦикла; Проблема в том что после выполнения данного цикла визуально меняеться только активная строка табличной части документа "ЗаявкаПокупателя". При закрытии пользователям модальной внешней обработки все строки табличной части документа обновляются т.е. показываются данные низменные внешней обработкой. Есть ли возможность до закрытия внешней обработки отображать измененные данные в табличной части документа ? Конт.Форма.Обновить(1); не помогает. |
|||
|
1
Ёпрст
гуру
08.09.11
✎
14:52
|
(0) можно. Нужно пинать форму документа и в ПриПовторномОткрытии обновлять строки.
|
|||
|
2
Nescoffe
19.09.11
✎
11:25
|
Был в командировке, поэтому долго не отвкчал
(1) А как вызвать ПриПовторномОткрытии если внешняя обработка открыта модально ? |
|||
|
3
1Сергей
19.09.11
✎
11:27
|
(2) ОткрытьФорму
|
|||
|
4
Ёпрст
гуру
19.09.11
✎
11:27
|
(2) просто окрыть форму документа, которая так-же откроется в модальном режиме - там изменить тч и открыть форму обработки.
|
|||
|
5
Nescoffe
19.09.11
✎
11:52
|
(3) (4)
Простите, что то я понять не могу. А как он может быть открыт из модальной обработки если эта модальная обработка не закрыта //в модальной обработке Док= Конт.ТекущийДокумент(); ОткрытьФорму(Док) Выдает ошибку "Запись заблокирована" |
|||
|
6
Nescoffe
19.09.11
✎
13:52
|
Есть еще идеи ?
|
|||
|
7
Ёпрст
гуру
19.09.11
✎
13:57
|
(6) есть. забить на модальное окно.
|
|||
|
8
Ёпрст
гуру
19.09.11
✎
13:58
|
(5) нужен контекст открытой формы, а не ссылка на документ, которой может и не быть у нового документа.
|
|||
|
9
andrewks
19.09.11
✎
13:59
|
а через выгрузить/загрузить ТЧ пробовал?
|
|||
|
10
Nescoffe
19.09.11
✎
14:08
|
(8)Контекст тоже передавал, один фиг - "Запись заблокирована"
Если открывать обработку не модально, то при ОткрытьФорму(Конт) ПриПовторномОткрытии срабатывает и ошибку "Запись заблокирована" не выдает. видимо придется действительно забить на модальное окно : (( (9) Пробовал, не помогает |
|||
|
11
PuhUfa
19.09.11
✎
14:11
|
(10) зачем вообще модально открывать обработку и обновлять форму документа до ее закрытия?
|
|||
|
12
Nescoffe
19.09.11
✎
14:22
|
(11) Чтобы пользователь мог видеть измененную этой модальной обработкой информацию, например "Сумму заявки". Но при этом не мог что либо менять пока не закроет внешнюю обработку.
|
|||
|
13
andrewks
19.09.11
✎
14:23
|
(12)
Пока КонтекстФормы=100 Цикл Sleep(1000); КонецЕсли; |
|||
|
14
Nescoffe
19.09.11
✎
14:25
|
(10)(11) Хотя с суммой то как раз проблем нет, она обновляется. А вот строки ТЗ, а именно цена товаров обновляется только у активного элемента ТЗ.
А пользователю просто необходимо видеть изменения, например чтобы вернуть все обратно. |
|||
|
15
PuhUfa
19.09.11
✎
14:28
|
(12) отображать эти данные на форме самой обработки не предлагать?
|
|||
|
16
Nescoffe
19.09.11
✎
14:45
|
(13) извращенный вариант, да и sleep в 1С штатно нету.
(15) ну пока вижу 3 варианта 1. Говорят если делать через глобальный выгрузить/загрузить ТЧ, то должно сработать, но в глобальный вносить такие вещи ой как не хочеться 2. Открывать обработку обычно (не модально) и обрубать возможности пользователей закрыть окно документа родителя и т.д - больше всего к этому склоняюсь 3. Выводить информацию в обработку... но тогда нужно сделать чтобы в документе данные не обновлялась пока обработка не будет закрыта |
|||
|
17
Ёпрст
гуру
19.09.11
✎
15:46
|
4. Тупо открыть обработку через ОткрытьПодбор и привет.
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |