Как передать значение обработно на форму

1. Raideres 8 15.09.20 14:17 Сейчас в теме
У меня есть форма с табличной частью отгрузкатоваров я с этой формы передаю на ФормаПроверкаКоличестваТоваровВДокументе

а как вернуть с ФормаПроверкаКоличестваТоваровВДокументе обратно ?


&НаКлиенте
Процедура ОткрытьФормуПроверкиУпаковкиИсправленияКоличестваЗавершение(РезультатВопроса, ДополнительныеПараметры) Экспорт
    
      Форма = ДополнительныеПараметры.Форма;
    
    
    
    Ответ = РезультатВопроса;
    Если Ответ = КодВозвратаДиалога.Отмена Тогда
        Отказ = Истина;
    Иначе
        //Отказ = Не Форма.Записать(Новый Структура("РежимЗаписи", РежимЗаписиДокумента.Проведение));
		 Отказ = Не Форма.Записать(Новый Структура("РежимЗаписи", РежимЗаписиДокумента.Запись));

    КонецЕсли;
    Если Отказ Тогда
        Возврат;
    КонецЕсли;
    
    ОткрытьФормуПроверкиУпаковкиИсправленияКоличества(Форма);

КонецПроцедуры

&НаКлиенте
Процедура ОткрытьФормуПроверкиУпаковкиИсправленияКоличества(Знач Форма)
    
    
    ПараметрыФормы = Новый Структура;
	ПараметрыФормы.Вставить("ДокументАМОтгрузкаТоваров", Форма.Объект.Ссылка);
	//ПараметрыФормы.Вставить("РежимИсправления", ?(Действие = "Проверка", Ложь, Истина));
    Форма.РазблокироватьДанныеФормыДляРедактирования();
    ОткрытьФорму("Документ.АМ_ОтгрузкаТоваров.Форма.ФормаПроверкаКоличестваТоваровВДокументе",ПараметрыФормы, Форма);
    
   // Форма.Закрыть();

КонецПроцедуры
Показать
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. FatPanzer 15.09.20 14:24 Сейчас в теме
На основной форме открываете форму проверки с оповещением. В обработчике оповещения обрабатываете результат проверки
&НаКлиенте
Процедура ОткрытьФормуПроверкиУпаковкиИсправленияКоличества(Знач Форма)
    
    
    ПараметрыФормы = Новый Структура;
    ПараметрыФормы.Вставить("ДокументАМОтгрузкаТоваров", Форма.Объект.Ссылка);

    Оповещение = Новый ОписаниеОповещения("ПослеПроверкиКоличества", Форма);
    ОткрытьФорму("Документ.АМ_ОтгрузкаТоваров.Форма.ФормаПроверкаКоличестваТоваровВДокументе",ПараметрыФормы, Форма,..., Оповещение);
    
   // Форма.Закрыть();

КонецПроцедуры

&НаКлиенте
Процедура ПослеПроверкиКоличества(РезультатПроверки, ДопСведения = Неопределено) Экспорт

КонецПроцедуры
Показать


На форме проверки формируете необходимые данные для возврата и :
Закрыть(РезультатПроверки)
3. SlavaKron 15.09.20 14:59 Сейчас в теме
В принципе, ничего передавать не надо. Контекст формы документа доступен в форме проверки через ВладелецФормы. Контекст закрытой формы проверки возвращается через дополнительные параметры.
&НаКлиенте
Процедура ОткрытьФормуПроверкиУпаковкиИсправленияКоличества(Команда)
	
	ФормаПроверки = ПолучитьФорму("Документ.АМ_ОтгрузкаТоваров.Форма.ФормаПроверкаКоличестваТоваровВДокументе", , ЭтотОбъект);
	
	ДополнительныеПараметры = Новый Структура("ФормаПроверки", ФормаПроверки);
	
	ОповещениеОЗакрытии = Новый ОписаниеОповещения("ОткрытьФормуПроверкиУпаковкиИсправленияКоличестваЗавершение­", ЭтотОбъект, ДополнительныеПараметры);
	ФормаПроверки.ОписаниеОповещенияОЗакрытии = ОповещениеОЗакрытии;
	ФормаПроверки.Открыть();
	
КонецПроцедуры

&НаКлиенте
Процедура ОткрытьФормуПроверкиУпаковкиИсправленияКоличестваЗавершение(РезультатВопроса, ДополнительныеПараметры) Экспорт
    
    ФормаПроверки = ДополнительныеПараметры.ФормаПроверки;
    
	// ФормаПроверки - контекст закрытой формы проверки
	
КонецПроцедуры
Показать
4. FatPanzer 15.09.20 15:12 Сейчас в теме
(3) Вопрос религии. Я считаю, что если существует "форма проверки", то именно она и должна выдавать готовый результат проверки. А не свой контекст... Инструмент должен выдавать результат, а не набор инструкций.
7. SlavaKron 15.09.20 15:42 Сейчас в теме
(4) В целом согласен, но данный прием позволяет избежать создание дополнительных сущностей для передачи данных.
9. FatPanzer 15.09.20 15:53 Сейчас в теме
(7) Да, согласен. Но в данном случае мы ограничиваем себя клиентским контекстом для работы с данными закрываемой формы.
5. Raideres 8 15.09.20 15:13 Сейчас в теме
(3) Slava получается я тупо могу так передать?
этаформа.ВладелецФормы.Объект.ОтгружаемыеТовары.Загрузить(Товары.выгрузить());
6. FatPanzer 15.09.20 15:18 Сейчас в теме
(5) Нет. Загрузить-Выгрузить возможно только на сервере. А ВладелецФормы доступен только на клиенте.
8. SlavaKron 15.09.20 15:45 Сейчас в теме
(5) Как уже сказали в (6) не получится. Непонятно зачем вы меняете объект в форме проверки, а не в процедуре оповещения о закрытии.
Если структура коллекций одинаковая, можно использовать метод КопироватьДанныеФормы.
10. пользователь 23.09.20 11:18
Сообщение было скрыто модератором.
...
Оставьте свое сообщение
Вакансии
1С аналитик
Москва
зарплата от 210 000 руб.
Полный день

Руководитель направления 1С
Москва
зарплата от 350 000 руб.
Полный день

1С Программист
Москва
зарплата от 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)