Приветствую, форумчане!
8.3.6, УФ, полностью самописная
Имеется формы "Заказы". На форме имеютются несколько ТЧ на нескольких вкладках.
Возможно ли нажатием некой кнопки открыть отдельно модально форму со всеми этими ТЧ, вкладками, чтобы можно было редактировать, потом просто закрыть с сохранением всех изменений?
Нужна из-за того, что из-за большого объема данных в шапке и подвале, табличные данные слишком узкие и не видно все данные в ТЧ
Может лучше так задать вопрос.
Создаю некую форму этого документа в лайт-вершн (с минимальным набором в шапке и подвале) и вывожу ее кнопкой на весь экран модально.
Как правильно вызвать эту форму, чтобы данные, измененные в новой форме автоматически сохранялись в основной?
Constantus @ Сегодня, 16:30
,
В новой форме после закрытия делаете структуру с данными этой формы и передаете структуру параметром в функцию "Оповестить" (старая форма должна быть установлена Владельцем новой). В старой форме делаете обработчик события ОбработкаОповещения и там считываете эти реквизиты из структуры в свой основной объект
Процедура ПриОткрытии(Отказ)
КопироватьДанныеФормы(ЭтаФорма.ВладелецФормы.Объект,ЭтаФорма.Объект);
КонецПроцедуры
Процедура ПриЗакрытии(ЗавершениеРаботы)
КопироватьДанныеФормы(ЭтаФорма.Объект, ЭтаФорма.ВладелецФормы.Объект);
КонецПроцедуры
Процедура ПередЗакрытием(Отказ, ЗавершениеРаботы, ТекстПредупреждения, СтандартнаяОбработка)
ЭтаФорма.Модифицированность = Ложь;//чтобы не было вопросов...
КонецПроцедуры
Процедура ОткрытьДубльФорму(Команда)
ОткрытьФорму("имя формы",,ЭтаФорма);
КонецПроцедуры
takefive @ Вчера, 20:31
,
А где все эти процедуры размещать? В менеджере, модуле формы, в модуле объекта, на клиенте, на сервере?
модуль формы на клиенте. Это же события. Конфигуратор сам все создает. Если будете копировать - помните о привязке к событиям
Я тут увидел, что у поля формы списка есть событие "Нажатие".
Создал дублирующее поле, на него повесил код:
&НаКлиенте
Процедура Номер1Нажатие(Элемент, СтандартнаяОбработка)
// Вставить содержимое обработчика.
СтандартнаяОбработка = Ложь;
Форма = ПолучитьФорму("Документ.Заказ.Форма.ФормаЗаказаКонтроля",,ЭтаФорма);
//Форма.Параметры.Просмотр = Истина;
Форма.Открыть();
КонецПроцедуры
Constantus @ Сегодня, 13:38
,
Если конфигурация самописная, то как вариант, изменить форму. Сделать чтобы форма состояла полностью из вкладок. Первая вкладка это шапка документа, вторая и т.д. это табличные части документа.
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua