Открыть документ в тонком приложении

1. Nadushka74 5 22.09.17 17:42 Сейчас в теме
Подскажите как открыть форму документа?
Ситуация - Создаю и заполняю два документа на сервере, как теперь их открыть и показать пользователю?
У меня наверное самая большая проблема как передать из на клиента...
+
По теме из базы знаний
Найденные решения
2. DarkUser 22.09.17 17:49 Сейчас в теме
1. НаСервере помещаете ваш документ в ХранилищеЗначений:

СсылкаВХранилище = ПоместитьВоВременноеХранилище(ФайлДанных);


2. НаКлиенте получаете файл из Хранилища:

ПутьКФайлу = ПолучитьИмяВременногоФайла("xlsx");
ДанныеФайла = ПолучитьИзВременногоХранилища(СсылкаНаФайлВХранилище);
ДанныеФайла.Записать(ПутьКФайлу);
Nadushka74; +1
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. Xershi 1479 22.09.17 18:06 Сейчас в теме
4. VmvLer 22.09.17 18:11 Сейчас в теме
(3) заполняю не значит записываю, т.е. ссылки может и не быть.

возможно запись будет выполнять пользователь на клиенте, а извращения с получитьссылкунового() рановато будет при такой постановке задачи
+
5. Xershi 1479 22.09.17 18:15 Сейчас в теме
(4) а если ты не записал на сервере, то и передавать нечего. У меня не получилось по крайне мере.
Переписывай алгоритм на клиенте.
+
2. DarkUser 22.09.17 17:49 Сейчас в теме
1. НаСервере помещаете ваш документ в ХранилищеЗначений:

СсылкаВХранилище = ПоместитьВоВременноеХранилище(ФайлДанных);


2. НаКлиенте получаете файл из Хранилища:

ПутьКФайлу = ПолучитьИмяВременногоФайла("xlsx");
ДанныеФайла = ПолучитьИзВременногоХранилища(СсылкаНаФайлВХранилище);
ДанныеФайла.Записать(ПутьКФайлу);
Nadushka74; +1
8. Xershi 1479 08.10.17 17:44 Сейчас в теме
Нашел решение своего вопроса!
Метод в (2) подойдет автору, но для меня требовалось немного другое и решение найдено тут: https://infostart.ru/public/118784/
+
6. mickey.1cx 400 22.09.17 23:21 Сейчас в теме
По хорошему, в модуле объекта документа должна быть реализована процедура ОбработкаЗаполнения.
Например:

Процедура ОбработкаЗаполнения(ДанныеЗаполнения, ТекстЗаполнения, СтандартнаяОбработка)
	
	Если ДанныеЗаполнения = "Тест" Тогда
		Комментарий = "это данные заполнения";
	КонецЕсли;
	
КонецПроцедуры
Показать


Тогда можно выполнить на клиенте код, в результате которого отработает заполнение документа:
ОткрытьФорму("Документ.Документ1.ФормаОбъекта", Новый Структура("Основание", "Тест"));


Второй вариант, если по каким то причинам первый нельзя реализовать:
&НаСервере
Процедура ОбработкаЗаполненияОбъектаФормы(ОбъектФормы)
	
	ОбъектФормы.Комментарий = "Команда заполнения";
	
КонецПроцедуры

&НаКлиенте
Процедура КомандаЗаполнения(Команда)
	
	ФормаДокумента = ПолучитьФорму("Документ.Документ1.ФормаОбъекта");
	ОбъектФормы = ФормаДокумента.Объект;
	
	ОбработкаЗаполненияОбъектаФормы(ОбъектФормы);
	
	КопироватьДанныеФормы(ОбъектФормы, ФормаДокумента.Объект);
	ФормаДокумента.Открыть();
	
КонецПроцедуры
Показать
Xershi; +1
7. Xershi 1479 23.09.17 08:36 Сейчас в теме
(6) так он спрашивал как на сервере заполнить и только потом выходить на клиент?
Естественно код заполнения будет отсутствовать.

Я когда писал свой код делал запись для передачи на клиент с нужным гуидом. Возможно есть метод открытия новой формы с заданным гуидом, тогда запись не нужна будет?
+
Внимание! Тема сдана в архив

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