Внешняя обработка заполнения табличной части
☑
0
Zixxx
26.07.13
✎
11:13
Хлопцы, выручайте. Создал внешнюю обработку заполнения табличной части документа (Управляемые формы). Все работает хорошо за исключением одного момента. После заполнения данные отображаются только в том случае если я сначала запишу документ а потом перечитаю форму. Но хотелось бы дать пользователю шанс закрыть документ без сохранения.
Ниже код формы, в ней для примера я очищаю все данные. Но данные без записи формы остаются
[CODE]
&НаКлиенте
Процедура ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначенияМассив) Экспорт
Для каждого Элемент из ОбъектыНазначенияМассив Цикл
КлючПоиска = Новый Структура("Ключ", Элемент);
Форма = ОткрытьФорму("Документ.УстановкаЦенНоменклатуры.Форма.ФормаДокумента", КлючПоиска,,,);
ОбъектФормы = Форма.Объект;
ОбъектФормы.Товары.Очистить();
//Форма.Записать();
КопироватьДанныеФормы(ОбъектФормы, Форма.Объект);
Форма.ОбновитьОтображениеДанных();
Форма.Прочитать();
КонецЦикла;
КонецПроцедуры
[/CODE]
Подскажите как все же отобразить данные без записи формы?
1
cw014
26.07.13
✎
11:15
КопироватьДанныеФормы - это что?
2
cw014
26.07.13
✎
11:16
А нафига через форму делать?
3
Zixxx
26.07.13
✎
11:23
(1) Копирует одну структуру в другую, если они совместимы
(2) Так не через форму надо будет записывать объект, а тут вроде как еще нет
4
Zixxx
26.07.13
✎
11:32
fg
5
Zixxx
26.07.13
✎
11:44
ап
6
Zixxx
26.07.13
✎
12:02
up
7
Zixxx
26.07.13
✎
12:25
гз
8
Zixxx
26.07.13
✎
13:31
ап
9
Zixxx
26.07.13
✎
14:47
Это баг механизма подключаемых внешних обработок или нет?
Вед такой код не во внешних обработках работает хорошо.
&НаКлиенте
Процедура ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначенияМассив) Экспорт
Для каждого Элемент из ОбъектыНазначенияМассив Цикл
КлючПоиска = Новый Структура("Ключ", Элемент);
Форма = ОткрытьФорму("Документ.УстановкаЦенНоменклатуры.Форма.ФормаДокумента", КлючПоиска,,,);
ОбъектФормы = Форма.Объект;
ЗаполнитьОбъект(ОбъектФормы);
КопироватьДанныеФормы(ОбъектФормы, Форма.Объект);
КонецЦикла;
КонецПроцедуры
&НаСервереБезКонтекста
Процедура ЗаполнитьОбъект(НовыйОбъект)
ОбъектЗначение = ДанныеФормыВЗначение(НовыйОбъект, Тип("ДокументОбъект.УстановкаЦенНоменклатуры"));
ОбъектЗначение.Товары.Очистить();
//ОбъектЗначение.Записать();
ЗначениеВДанныеФормы(ОбъектЗначение, НовыйОбъект);
КонецПроцедуры
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс