HTTP-Сервисы и программное открытие формы при получении POST запроса.

1. djolejek 27.10.16 04:11 Сейчас в теме
Есть объект HTTP-Сервиса который принимает POST запрос. У HTTP-Сервиса есть серверная функция которая обрабатывает POST запрос и записывает данные в базу данных. Хотелось бы после обработки POST запроса открыть форму для конкретного пользователя. Есть мысли как это можно реализовать?
По теме из базы знаний
Найденные решения
6. DenisCh 27.10.16 09:31 Сейчас в теме
Из модуля записать в РС информацию.
У пользователя через обработку ожидания читать информацию и открывать форму.
Или использовать механизм задач, что суть то же самое, даже с той же стороны (а не в профиль)
djolejek; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Fox-trot 158 27.10.16 08:27 Сейчас в теме
4. djolejek 27.10.16 09:27 Сейчас в теме
(2) Вы про платформу? 1С:Предприятие 8.3 (8.3.8.2054)
3. vovan_victory 63 27.10.16 08:34 Сейчас в теме
(1)можно попробовать так


Функция WebDocGET(Запрос)
	Ответ = Новый HTTPСервисОтвет(200);
	Ответ.Заголовки.Вставить("Content-Type","text/html; charset=UTF-8");
       
        Тело = НайтиЭлементы(Запрос);
	Ответ.УстановитьТелоИзСтроки("<ht ml>" + ПолучитьСтильТаблицы() + Тело + "</html>");// 
КонецФункции

Функция НайтиЭлементы()
Док = КакойТоДокументСсылка;
			
			Реквизиты = Док.Метаданные().Реквизиты;
			
			Для Каждого Стр Из Реквизиты Цикл
				Нов = Новый Структура;
				Нов.Вставить(Стр.Имя,Строка(Док[Стр.Имя]));
				Массив.Добавить(Нов);		
				Н =Н +1;
			КонецЦикла;

        НачальныйXML = Сериализовать(Массив);
	ОписаниеХSL = СхемаXSL();
	
	
	Преобразование = Новый ПреобразованиеXSL; 
	Преобразование.ЗагрузитьИзСтроки(ОписаниеХSL); 
	РезультатXML=Преобразование.ПреобразоватьИзСтроки(НачальныйXML); 
	
	РезультатXML = СтрЗаменить(РезультатXML,"<","<");
	РезультатXML = СтрЗаменить(РезультатXML,">",">");

...............................................................
КонецФункции


Функция СхемаXSL()
	Возврат
	"<?xml version='1.0' encoding='ISO-8859-1'?>
	|<xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform' xmlns:a='http://v8.1c.ru/8.1/data/core'>
	|	<xsl:output method='html' indent='yes'/>
	|	<xsl:template match='/'>
	|		<body>
	|			<xsl:for-each select='a:Array/a:Value'>
	|				<p>
	|					<TABLE class='tg'>
	|						<TBODY>
	|							<xsl:for-each select='a:Property'>
	|								<TR>
	|									<xsl:choose>
	|										<xsl:when test='position()=1'>
	|											<td class='tg-ft'>
	|												<xsl:value-of select='@name'/> 
	|											</td>
	|										</xsl:when>
	|										<xsl:when test='(position() mod 2)=0'>
	|											<td class='tg-frc'>
	|												<xsl:value-of select='@name'/>
	|											</td>
	|										</xsl:when>
	|										<xsl:otherwise>
	|											<td class='tg-fr'>
	|												<xsl:value-of select='@name'/>
	|											</td>
	|										</xsl:otherwise>
	|									</xsl:choose> 
	|									<xsl:choose>
	|										<xsl:when test='position()=1'>
	|											<td class='tg-st'>
	|												<xsl:value-of select='a:Value'/>
	|											</td>
	|										</xsl:when>
	|										<xsl:when test='(position() mod 2)=0'>
	|											<td class='tg-src'>
	|												<xsl:value-of select='a:Value'/>
	|											</td>
	|										</xsl:when>
	|										<xsl:otherwise>
	|											<td class='tg-sr'>
	|												<xsl:value-of select='a:Value'/>
	|											</td>
	|										</xsl:otherwise>
	|									</xsl:choose> 
	|								</TR>
	|							</xsl:for-each>
	|						</TBODY>
	|					</TABLE>
	|				</p>
	|			</xsl:for-each>
	|		</body>
	|	</xsl:template>
	|</xsl:stylesheet>";

КонецФункции
Показать
5. djolejek 27.10.16 09:30 Сейчас в теме
(3) Посмотрел то что вы прислали...Что то не очень понял как смогу использовать этот пример. Вы уверены что точно поняли что требовалось получить ? Мне нужно из модуля HTTP сервиса (объекта 1С) попробовать вызвать форму для конкретного пользователя информационной базы.
8. vovan_victory 63 27.10.16 09:46 Сейчас в теме
(5)
Вы уверены что точно поняли что требовалось получить ? Мне нужно из модуля HTTP сервиса (объекта 1С) попробовать вызвать форму для конкретного пользователя


А вы рассчитывали увидеть пример того, как использовать "ОткрытьФорму" в браузере? Я Вам привет кусок рабочего кода. В свое время у меня была задача вывести список документо на web странице(типа форма списка). Далее, нужно было по клику на строку списка открыть форму самого документа. Разве у Вас не та же задача?
6. DenisCh 27.10.16 09:31 Сейчас в теме
Из модуля записать в РС информацию.
У пользователя через обработку ожидания читать информацию и открывать форму.
Или использовать механизм задач, что суть то же самое, даже с той же стороны (а не в профиль)
djolejek; +1 Ответить
7. djolejek 27.10.16 09:40 Сейчас в теме
(6) А можно поподробней " - У пользователя через обработку ожидания читать информацию". Где в 1С я могу реализовать такое ожидание?...
9. DenisCh 27.10.16 09:48 Сейчас в теме
(7) в модуле приложения, разумеется.
10. djolejek 27.10.16 21:33 Сейчас в теме
(9) Спасибо, картинка прояснилась. Но не совсем до конца понимаю весь алгоритм.

У нас есть "модуль управляемого приложения" В нем создаем обработчик ожидания, методом "ПодключитьОбработчикОжидания"? А где пишем процедуру которую запускает этот обработчик и каким образом в процедуре откроем форму именно для конкретного пользователя?
Оставьте свое сообщение

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