Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
11 дек 2024, 11:13

Обновить открытую форму документа из обработки (обычные формы)

Автор irris, 02 апр 2014, 18:50

0 Пользователей и 1 гость просматривают эту тему.

irris

Возникла проблема. По кнопочке хочу заполнить табличную часть по другому документы. Сделал событие при нажатии на эту кнопку

Процедура КоманднаяПанельТоварыЗаполнитьПоЗаказу(Кнопка)
    Форма = Обработки.ЗаполнениеНарядаПоЗаказу.ПолучитьФорму("Форма");
    // "Ссылочка" - это глобальная экспортная переменная модуля открываемой формы

    Форма.Ссылочка = ЭтотОбъект.Ссылка;
    Форма.Открыть();
КонецПроцедуры


открывается обработка. указываем там нужный документ по которому хотим заполнить и он Заполняет.
Вот код

Перем Ссылочка Экспорт;


Процедура КнопкаВыполнитьНажатие(Кнопка)
    Если ЗначениеЗаполнено(Заказ) Тогда
    ЗаказНаряд = наряд.ПолучитьОбъект();
    ЗаказНаряд.Товары.Очистить();
    ЗаказНаряд.Товары.Загрузить(Заказ.Товары.Выгрузить());
    ЗаказНаряд.Записать();
    КонецЕсли;
    ЭтаФорма.Закрыть();
КонецПроцедуры

Процедура ПриОткрытии()
    ЭтотОбъект.Наряд = Ссылочка;
КонецПроцедуры


после закрытии обработки нужно обновить форму открытого документа. никак не получается. Помогает только закрытие и повторное открытие документа. Как можно обновить форму?

GRADUS

Цитата: irris от 02 апр 2014, 18:50
Возникла проблема. По кнопочке хочу заполнить табличную часть по другому документы. Сделал событие при нажатии на эту кнопку

Процедура КоманднаяПанельТоварыЗаполнитьПоЗаказу(Кнопка)
    Форма = Обработки.ЗаполнениеНарядаПоЗаказу.ПолучитьФорму("Форма");
    // "Ссылочка" - это глобальная экспортная переменная модуля открываемой формы

    Форма.Ссылочка = ЭтотОбъект.Ссылка;
    Форма.Открыть();
КонецПроцедуры


открывается обработка. указываем там нужный документ по которому хотим заполнить и он Заполняет.
Вот код

Перем Ссылочка Экспорт;


Процедура КнопкаВыполнитьНажатие(Кнопка)
    Если ЗначениеЗаполнено(Заказ) Тогда
    ЗаказНаряд = наряд.ПолучитьОбъект();
    ЗаказНаряд.Товары.Очистить();
    ЗаказНаряд.Товары.Загрузить(Заказ.Товары.Выгрузить());
    ЗаказНаряд.Записать();
    КонецЕсли;
    ЭтаФорма.Закрыть();
КонецПроцедуры

Процедура ПриОткрытии()
    ЭтотОбъект.Наряд = Ссылочка;
КонецПроцедуры


после закрытии обработки нужно обновить форму открытого документа. никак не получается. Помогает только закрытие и повторное открытие документа. Как можно обновить форму?

Форма.Обновить() после модального открытия формы, либо оповещения между открытыми формами.

irris

Спасибо!
Тему закрываю. Всё сделал. Понял что начал делать через одно место,в итоге сделал по другому. Сделал просто с помощью внешней обработки заполнения ТЧ,подцепил к документу и всё получилось.

43nik

Форма = СсылкаНаОбъект.ПолучитьФорму("ФормаДокумента");
Если Форма.Открыта() тогда
   Форма.ДокументОбъект.Прочитать();
   Форма.Обновить();
КонецЕсли;

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск