Получить параметры запроса в процедуре на клиенте

1. user1619761 05.08.21 16:49 Сейчас в теме
Здравствуйте. Подскажите, пожалуйста, можно ли каким то образом запрос.установитьпараметр ("НачПериода") и ("КонПериода") отправить с серверной функции в процедуру на клиенте?



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

	Пока ВыборкаДетальныеЗаписи.Следующий()Цикл
			
		ТекущаяСтрока.ТоварыНоменклатура = ВыборкаДетальныеЗаписи.Номенклатура;
		ТекущаяСтрока.ТоварыКоличество = ВыборкаДетальныеЗаписи.Количество;
		////ТекущаяСтрока.ТоварыСчетУчета = 
		////ТекущаяСтрока.ТоварыСчетПередачи = 
			
	КонецЦикла;

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

&НаСервере
Функция ПолучитьДанныеНаСервере()
	
			
	Запрос = Новый Запрос;
	Запрос.УстановитьПараметр("НачПериода", ВладелецФормы.Объект.Дата-90*(3600*24));
	Запрос.УстановитьПараметр("КонПериода", ВладелецФормы.Объект.Дата);
	Запрос.УстановитьПараметр("ВПереработку",Перечисления.ВидыОперацийПередачаТоваров.ВПереработку);
	Запрос.Текст =
	"ВЫБРАТЬ
	|	ХозрасчетныйДвиженияССубконто.Регистратор КАК Регистратор,
	|	ХозрасчетныйДвиженияССубконто.СубконтоДт2 КАК СубконтоДт2,
	|	СУММА(ХозрасчетныйДвиженияССубконто.КоличествоДт) КАК КоличествоДт
	|ИЗ
	|	РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто(
	|			&НачПериода,
	|			&КонПериода,
	|			ТИПЗНАЧЕНИЯ(Регистратор) = ТИП(Документ.ПередачаТоваров)
	|				И СчетДт В (&СписокСчетов)
	|				И Регистратор.ВидОперации = &ВПереработку,
	|			,
	|			) КАК ХозрасчетныйДвиженияССубконто
	|
	|СГРУППИРОВАТЬ ПО
	|	ХозрасчетныйДвиженияССубконто.СубконтоДт2,
	|	ХозрасчетныйДвиженияССубконто.Регистратор";
	
			
	Список = Новый Массив;
	Список.Добавить(ПланыСчетов.Хозрасчетный.НайтиПоКоду("10.07"));
	Список.Добавить(ПланыСчетов.Хозрасчетный.НайтиПоКоду("45.01"));
	
	Запрос.УстановитьПараметр("СписокСчетов",Список);
	
	РезультатЗапроса = Запрос.Выполнить();   
	ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
	
	Возврат ВыборкаДетальныеЗаписи;
			
КонецФункции
Показать
По теме из базы знаний
Найденные решения
6. starik-2005 3038 05.08.21 16:55 Сейчас в теме
Функция ПолучитьДанныеНаСервере(ДатаСКлиента)
...
...
Запрос.УстановитьПараметр("Дата", ДатаСКлиента);
...
...
| КОНЕЦПЕРИОДА( ДОБАВИТЬКДАТЕ(&Дата, -90, ДЕНЬ), ДЕНЬ),
| НАЧАЛОПЕРИОДА(&Дата, ДЕНЬ),
...
...
Показать
9. Papay72 05.08.21 17:04 Сейчас в теме
(8) Тогда как вариант, создать пустые переменные на клиенте, передать их в процедуру, и заполнить их на сервере, потом когда исполнение вернеться на клиент, у вас будут заполненные датами переменные
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. FatPanzer 05.08.21 16:51 Сейчас в теме
А что, передавать данные в качестве параметров из клиентской процедуры в серверную процедуру уже стало не модным нынче? Или запрет какой вышел?

PS. Интересно, как вы выборку на клиент вернете. Хочу посмотреть.
3. user1619761 05.08.21 16:53 Сейчас в теме
(2) на клиенте в моем случае не удается запрос выполнить, вот такую ошибку выдает {ВнешняяОбработка.ЗаполнитьДокумент.Форма.СуммаДок.Форма(19,17)}: Тип не определен (Запрос)
Запрос = Новый <<?>>Запрос; (Проверка: Тонкий клиент)
4. FatPanzer 05.08.21 16:54 Сейчас в теме
(3) Удивительно! И в самом деле - запрет какой-то вышел, видимо ((( Запретили бедолагам на клиенте запросы исполнять (((
5. Papay72 05.08.21 16:55 Сейчас в теме
В чем проблема передать даты в качестве параметров В процедуру которая будет выполняться на сервере?
7. user1619761 05.08.21 17:00 Сейчас в теме
(5) тут дело в том, что конец периода заполняется из документа, если я на сервере эти параметры пытаюсь заполнить , то выдает ошибку {ВнешняяОбработка.ЗаполнитьДокумент.Форма.СуммаДок.Форма(25)}: Ошибка при получении значения атрибута контекста (ВладелецФормы)
Запрос.УстановитьПараметр("НачПериода", ВладелецФормы.Объект.Дата-90*(3600*24));
по причине:
Свойство недоступно на сервере
6. starik-2005 3038 05.08.21 16:55 Сейчас в теме
Функция ПолучитьДанныеНаСервере(ДатаСКлиента)
...
...
Запрос.УстановитьПараметр("Дата", ДатаСКлиента);
...
...
| КОНЕЦПЕРИОДА( ДОБАВИТЬКДАТЕ(&Дата, -90, ДЕНЬ), ДЕНЬ),
| НАЧАЛОПЕРИОДА(&Дата, ДЕНЬ),
...
...
Показать
8. user1619761 05.08.21 17:00 Сейчас в теме
(6)
Показать
Спасибо! Сейчас попробую
9. Papay72 05.08.21 17:04 Сейчас в теме
(8) Тогда как вариант, создать пустые переменные на клиенте, передать их в процедуру, и заполнить их на сервере, потом когда исполнение вернеться на клиент, у вас будут заполненные датами переменные
10. user1619761 05.08.21 17:06 Сейчас в теме
Оставьте свое сообщение

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