Имя: Пароль:
1C
 
Как программно открыть вторую форму внешней обработки 1С 8.3 (решение)
0 Maniac
 
07.06.19
18:17
Короче у меня это одна из самых поисковых тем на сайте.
Решил людям помочь - программистам! Не просто словом, а делом.
Так как на Мисте нету файлообменника, внизу будет ссылка (иначе бы без нее написал).
Там скачать можно БЕСПЛАТНО.
Сделал также ВИДЕО

===========================================================

Как открыть вторую форму внешней обработки 1С 8.3, с данными из первой формы. Допустим в первой форме у вас есть табличная часть, реквизиты и прочее.
Нужно не только открыть вторую форму, но чтобы в ней были данные обработки.

Решил ответить на этот вопрос не текстом, а готовой обработкой, которая все это делает (скачать можете ее внизу)
1) Это заготовка, в которой содержится весь код действий.
2) Обработка содержит две формы - основную и дополнительную.
3) Содержит реквизиты как и обычные так и табличную часть.
4) Обработка работает на любой конфигурации 1С 8 - не привязана ни к чему.
5) Работает как и если будет встроенная в 1С, так и как внешняя.

Для красоты эксперемента программно заполнил данными обработку (при открытии все увидите).

Действия очень просты

1) Открываете обработку
2) Кнопка Открыть дополнительную обработку - откроет вторую форму.
3) там вы увидите те же данные что и в первой форме.
4) Данные можно менять как захотите. Есть кнопка Изменить, в которую я заложил автоматическое изменение данных.
5) Выполнить и закрыть. Перенесет измененные данные в первую форму.

Обработка написана по всем правилам клиент-серверного приложения. В том числе без использования модальности (используются оповещения событий).

Пользуйтесь, если вам понравится, можете Сказать автору спасибо (в обработке увидите кнопку).
Буду благодарен!

https://subsystems.ru/news/1s-kak-programmno-otkryt-vtoruyu-formu-vneshney-obrabotki-1s-8-3/
1 Maniac
 
07.06.19
18:18
Пусть это будет примером учителям, обучальщикам, советчикам и так далее.
2 runoff_runoff
 
07.06.19
18:26
КопироватьДанныеФормы
3 Maniac
 
07.06.19
18:37
(2) слишком не управляемо
4 Fragster
 
гуру
07.06.19
18:38
(3) ты просто не умеешь его готовить
5 Fragster
 
гуру
07.06.19
18:38
&НаКлиенте
Процедура ПодобратьДокументыНакопленияПоЗаявкам(Команда)
    Оповещение = Новый ОписаниеОповещения("ОкончаниеПодбораДокументовНакопления", ЭтотОбъект, Неопределено);
    ПараметрыФормы = Новый Структура("Объект", Объект);
    ОткрытьФорму("Документ.ФормированиеСебестоимости.Форма.ФормаПодбораСтрокПоЗаявкам", ПараметрыФормы, ЭтаФорма,,,, Оповещение, РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
КонецПроцедуры
6 Fragster
 
гуру
07.06.19
18:39
&НаКлиенте
Процедура ОкончаниеПодбораДокументовНакопления(РезультатЗакрытия, ДополнительныеПараметры) Экспорт

    Если РезультатЗакрытия <> Неопределено Тогда
        КопироватьДанныеФормы(РезультатЗакрытия, Объект);
        ///
    КонецЕсли;

КонецПроцедуры
7 Fragster
 
гуру
07.06.19
18:39
а в открываемой форме
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    
    КопироватьДанныеФормы(Параметры.Объект, Объект);
    
    ///////
КонецПроцедуры
8 Fragster
 
гуру
07.06.19
18:40
&НаКлиенте
Процедура Ок(Команда)
///////
    Закрыть(Объект);
    
КонецПроцедуры
9 Maniac
 
07.06.19
18:42
(4) это замечательно. обязательно дополню если нужно вообще все данные.
Я написал случай где можно выборочно.
10 Garykom
 
гуру
07.06.19
18:44
(0) Маня ты ипанулся.
11 Вафель
 
07.06.19
18:45
(0) по какому принципу работает?
12 Maniac
 
09.06.19
08:24
(11) создание структуры, в которую выборочно можно запихивать данные реквизитов, в том числе табличные части, в том числе реквизиты формы и реквизиты объекта. Передача через хранилище значение туда обратно.
13 Sysanin_1ц
 
09.06.19
11:06
(0) Полезная вещь. Было бы интересно проделать тоже самое с формами справочников и документов