|
УФ: Изменить существующий в инфобазе объект и показать изменения на форме | ☑ | ||
---|---|---|---|---|
0
Cyberhawk
12.01.15
✎
18:26
|
Друзья, приветствую!
Что-то поиском не нашел верной стратегии по сабжу. Упрощенный пример: нужно на клиенте по нажатию кнопки показывать список документов (форму выбора), после выбора ссылки (документа) программно вносить изменения в документ (дописывать в комментарий слово "Привет", например) и открывать форму документа (со сделанными изменениями). Решение о сохранении изменения принимает пользователь. Кинул на форму кнопку-команду, а также добавил реквизит формы "ОбновляемыйДокумент" с типом "ДокументОбъект.ИмяДокумента". У кнопки-команды следующий код: &НаКлиенте Процедура ИзменитьДокумент(Команда) Оповещение = Новый ОписаниеОповещения("ПослеВыбораДокумента", ЭтаФорма); ИмяФормыДляВыбораДокумента = "Документ.ИмяДокумента.ФормаВыбора"; ОткрытьФорму(ИмяФормыДляВыбораДокумента, , , , , , Оповещение, РежимОткрытияОкнаФормы.БлокироватьОкноВладельца); КонецПроцедуры &НаКлиенте Процедура ПослеВыбораДокумента(ДокументСсылка, ДополнительныеПараметры) Экспорт Если ДокументСсылка <> Неопределено Тогда ОбновитьДокументОбъектНаСервере(ДокументСсылка); П = Новый Структура("Ключ", ДокументСсылка); ФормаОбъекта = ПолучитьФорму("Документ.ИмяДокумента.ФормаОбъекта", П); КопироватьДанныеФормы(ОбновляемыйДокумент, ФормаОбъекта.Объект); ФормаОбъекта.Модифицированность = Истина; ФормаОбъекта.Открыть(); КонецЕсли; КонецПроцедуры &НаСервере Процедура ОбновитьДокументОбъектНаСервере(ДокументСсылка) ДокументОбъект = ДокументСсылка.ПолучитьОбъект(); ДокументОбъект.Комментарий = ДокументОбъект.Комментарий + "Привет"; ЗначениеВРеквизитФормы(ДокументОбъект, "ОбновляемыйДокумент"); КонецПроцедуры Подход работает. Вопроса два: 1. Можно ли в приведенном подходе что-то улучшить? 2. Есть ли в приведенном подходе какие-то косяки? Буду благодарен за любые комментарии по приведенному коду / методике. |
|||
1
Худой
13.01.15
✎
05:31
|
Может чего не понимаю. Как можно до открытия внести в документ изменения и потом его уже открывать? То есть, пользователь будет открывать документ, где уже стоит "Привет". Какое тогда может быть "Решение о сохранении изменения принимает пользователь"? За него до открытия было принято решение.
|
|||
2
Cyberhawk
13.01.15
✎
15:05
|
(1) пользователь будет открывать форму документа, у объекта изменения есть, а у ссылки - еще нет
|
|||
3
Адский плющ
13.01.15
✎
15:26
|
Процесс изначально херовый.
|
|||
4
Cyberhawk
14.01.15
✎
09:39
|
(3) мне тоже не нравится, ибо пользователю не видно, какие изменения были внесены в документ... Он лишь только знает, что там должно дописаться "Привет".
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |