Как программно открыть управляемую форму документа

1. alyonchik 16.12.16 15:43 Сейчас в теме
Как программно открыть управляемую форму документа с процедуры "ОбработкаЗаполнения"
Процеруды не работают((
ОткрытьФорму();
ОткрытьЗначение();
и через ПолучитьФорму("")
тоже не получилось
По теме из базы знаний
Найденные решения
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. alex-l19041 8 16.12.16 15:47 Сейчас в теме
(1) пробовали


Форма = ПолучитьФорму("Справочник.НужныйСправочник.ФормаОбъекта"); 
 
Форма.Открыть(); 
?
4. alyonchik 16.12.16 15:47 Сейчас в теме
15. starik-2005 3046 16.12.16 17:31 Сейчас в теме
(1) все зависит от того, что нужно сделать. Если Вы вводите на основании один документ, который должен создать еще один документ на основании того же документа, то можно в событии формы "ПриОткрытии" открыть форму документа и передать в параметрах структуру с ключом "Основание" и значением документа-основания (ссылка). Если второй документ должен быть создан на основании первого, то Вам этот первый документ нужно предварительно записать.
16. alyonchik 16.12.16 17:52 Сейчас в теме
(15)
лжен создать еще один документ на основании того же документа, то можно в событии формы "ПриОткрытии" открыть форму документа и передать в параметрах структуру с ключом "Основание" и значением документа-основания (ссылка). Если второй документ должен быть создан на основании первого, то Вам этот первый документ нужно п


Что-то не понимаю написанное(((
Надо с основания(заказ на перемещение) при нажатии на основание документ(заказ покупателю) создавать, заполнять и открывать другой документ (заказ поставщику)

вот кусок кода в модуле объекта

Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)
	
	Если ТипЗнч(ДанныеЗаполнения) = Тип("Структура") Тогда
		
		ЗаполнитьЗначенияСвойств(ЭтотОбъект, ДанныеЗаполнения);
	.........
		КонецЕсли;
	ИначеЕсли ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.ЗаказПокупателя") Тогда
		ОбщегоНазначенияРТ.ПроверитьВозможностьВводаНаОсновании(ДанныеЗаполнения);
.....
Организация       = ДанныеЗаполнения.Организация;
		ЗаказПокупателя   = ДанныеЗаполнения.Ссылка;
		МагазинПолучатель = ДанныеЗаполнения.Магазин;
		
		РозничныеПродажиСервер.ЗаполнитьТабличнуюЧастьПоОстаткамЗаказаБезРезерва(ЭтотОбъект, "Товары", ЗаказПокупателя);
		
		ИнициализироватьДокумент();
		ОбщегоНазначенияРТ.ПроверитьИспользованиеОрганизации(,,Организация);
		
	......

Если НЕ Результат.Пустой() Тогда 
			Выгрузка = Результат.Выгрузить();
			НовыйЗаказПоставщику = Документы.ЗаказПоставщику.СоздатьДокумент();
			НовыйЗаказПоставщику.Организация   		= ДанныеЗаполнения.Организация;
			НовыйЗаказПоставщику.ЗаказПокупателя   	= ДанныеЗаполнения.Ссылка;
			НовыйЗаказПоставщику.Магазин		 	= ДанныеЗаполнения.Магазин;
			НовыйЗаказПоставщику.Контрагент			= Справочники.Контрагенты.НайтиПоНаименованию("Тоговый дом");
			НовыйЗаказПоставщику.Ответственный   	= Пользователи.ТекущийПользователь();
			НовыйЗаказПоставщику.Статус          	= Перечисления.СтатусыВнутреннихЗаказов.КВыполнению;
			НовыйЗаказПоставщику.ДатаПоступления 	= ТекущаяДатаСеанса();
			
			НовыйЗаказПоставщику.Товары.Загрузить(Выгрузка);
			//НовыйЗаказПоставщику.ПолучитьФорму("ФормаДокумента").Открыть();
			//ОткрытьФорму("Документ.ЗаказПоставщику.Форма.ФормаДокумента",НовыйЗаказПоставщику);
			//ОткрытьЗначение(НовыйЗаказПоставщику);
			//ОткрытьДокумент(НовыйЗаказПоставщику);
		КонецЕсли;
	КонецЕсли;
КонецПроцедуры
Показать
2. Anchoret 61 16.12.16 15:46 Сейчас в теме
никак
ОбработкаЗаполнения выполняется на сервере
Читаем синтакс-помощник
ОткрытьФорму() - доступность Тонкий клиент, веб-клиент, толстый клиент, мобильное приложение(клиент)
ОткрытьЗначение() - доступность Тонкий клиент, веб-клиент, толстый клиент, мобильное приложение(клиент)
ПолучитьФорму() - доступность Тонкий клиент, веб-клиент, толстый клиент, мобильное приложение(клиент)

Вам надо сменить алгоритм, с сервера форму открыть никак не выйдет.
men260181; alyonchik; +2 Ответить
5. Anchoret 61 16.12.16 15:48 Сейчас в теме
еще раз повторюсь
Процедура "ОбработкаЗаполнения" выполняется в модуле объекта, а значит выполняется на сервере.
Форма может отображаться только на клиенте
6. Anchoret 61 16.12.16 15:50 Сейчас в теме
Если есть необходимость открывать форму при создании какого-то документа, тогда стоит использовать процедуру модуля формы "ПриОткрытии".
Все зависит от того, какая задача перед Вами стоит.
7. alyonchik 16.12.16 15:53 Сейчас в теме
(6)Надо при создании на основании (заказ на перемещение) создать - документ(заказ покупателю) и создать и заполнить другой документ (заказ поставщику)
8. alyonchik 16.12.16 15:56 Сейчас в теме
и конечно что бы было открыто 2 документа (заказ покупателю и заказ поставщику)
заказ покупателю - автоматически открывается, а заказ поставщику ни как открыть не могу((
11. alex-l19041 8 16.12.16 16:03 Сейчас в теме
(8)
заказ покупателю - автоматически открывается
- так и второй открывайте по аналогии
12. alyonchik 16.12.16 16:15 Сейчас в теме
(11)Да не открывается, так как я создаю вручную.
Нажимаем создать - заказ покупателю
открывается - заказ покупателю и заказ поставщику
9. Anchoret 61 16.12.16 15:58 Сейчас в теме
второй документ должен заполниться данными из документа основания?
10. alyonchik 16.12.16 16:02 Сейчас в теме
13. alyonchik 16.12.16 17:17 Сейчас в теме
Если заполнить в модуле, а потом где и как открыть форму?
14. alyonchik 16.12.16 17:21 Сейчас в теме
еще расширение используется
17. Anchoret 61 19.12.16 09:25 Сейчас в теме
Если я все правильно понял, то алгоритм следующий:
из Заказа на перемещение создается Заказ покупателю. Одновременно с этим должен создаваться заказ поставщику. Должны открыться формы обоих создаваемых документов.
Для реализации этого необходимо:
В модуле объекта документа Заказ покупателю не нужно создавать Заказ поставщику. То есть заполняется только Заказ покупателю.
В модуле формы документа Заказ покупателю ПриОткрытии() будет примерно следующий код:
&НаКлиенте
Процедура ПриОткрытии(Отказ)
	ПараметрыФормы = Новый Структура("Основание", Объект.Основание);
	ОткрытьФорму("Документ.ЗаказПоставщику.Форма.ФормаДокумента", ПараметрыФормы);
КонецПроцедуры

Где "Основание" - это реквизит объекта, имеющий тип "ДокументСсылка.ЗаказНаПеремещение".

Прикладываю *.cf для ознакомления. В нем реализован пример описанного механизма.
Прикрепленные файлы:
1Cv8.cf
Sintson; alyonchik; +2 Ответить
18. alyonchik 19.12.16 23:12 Сейчас в теме
19. Airlord 20.12.16 13:17 Сейчас в теме
(17) Добрый день! есть ли какие-либо курсы или видео по специфике работы и программированию на УФ? Буду очень благодарен за хоть какие-нибудь ссылки.
21. Airlord 20.12.16 17:10 Сейчас в теме
22. пользователь 03.06.20 08:22
Сообщение было скрыто модератором.
...
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот