|
v7: Как в контекст открытого документа передать признак модифицированности документа | ☑ | ||
---|---|---|---|---|
0
victuan1
07.12.12
✎
06:00
|
Открытый документ через метод ОткрытьФорму открывает внешнюю обработку, в которую передает свой контекст. Во внешней обработки меняются реквизиты шапки этого документа и передаются в контекст открытого документа. Но признак модифицированности в нем не устанавливается.
Как установить этот признак? Вроде простой вопрос, но не получается. Признак нужно устанавливать только в том случае, если во внешней обработке МЕНЯЮТСЯ реквизиты открытого документа. Код документа менять нельзя, внешняя обработка открывается через механизм ВПФ (внешние печатные формы). |
|||
1
Морозов Александр
07.12.12
✎
06:22
|
Тыж модально обработку открываешь?
|
|||
2
ParaWiz
07.12.12
✎
06:25
|
А вообще проще некуда, если открываешь обработку из документа, то передавай в нее параметры, и в обработке меняй параметры
|
|||
3
victuan1
07.12.12
✎
06:46
|
(1) Нет, не модально. ВПФ не модально работает.
(2) Передаю, меняю, а как вернуть признак модифицированности? |
|||
4
Табуретко
07.12.12
✎
06:50
|
закрыв обработку...
|
|||
5
ADirks
07.12.12
✎
06:50
|
что-то вроде Конт.Форма.Обновить(1);
|
|||
6
Табуретко
07.12.12
✎
06:51
|
(5) без обновить() само поменяется как обработку закроет...
|
|||
7
Voronve
07.12.12
✎
07:03
|
(0) Имхо, не решается (т.к. нельзя править код документа).
Ты можешь отловить изменения, если у тебя форма обработки открывается модально, либо открывается через подбор. Если модально, то в доке пишешь что то типа: спПараметры = СоздатьОбъект("СписокЗначений"); ..... ОткрытьФормуМодально(<ТвояОбработка>, спПараметры); Если спПараметры.Получить("СтатусВозврата") = 1 Тогда ... КонецЕсли; В обработке по кнопе "ОК" достаточно прописать Форма.Параметр.Установить("СтатусВозврата", 1); Если через подбор, то в доке пишешь что то типа спПараметры = СоздатьОбъект("СписокЗначений"); ..... ОткрытьФорму(<ТвояОбработка>, спПараметры); ..... И отлавливаешь возврат управления через обработку подбора. При использовании внешних печатных форм, управление в форму документа не возвращается. Чет я даже и не знаю как прописать то чо тебе надо. |
|||
8
Voronve
07.12.12
✎
07:13
|
(0) Хотя ...
Попробуй в своей обработке прописать: Процедура ПоКнопкеОК() // Проверка на закрытие родительской формы Если ТипЗначения(Конт) = 100 Тогда Конт.Контрагент = ВыбКонтрагент; // Или что там у тебя .... Конт.Форма.Обновить(1); КонецЕсли; КонецПроцедуры |
|||
9
victuan1
07.12.12
✎
07:22
|
Спасибо!
Конт.Форма.Обновить(1); работает! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |