Заполнение формы из модуля объекта

1. 5225688vd 06.03.23 07:00 Сейчас в теме
Коллеги, добрый день, подскажите пожалуйста, суть в чем, есть внешняя обработка на форме которой заполняются остатки, после того как остатки заполнены мне надо по определенному алгоритму заменить значение КоличествоОстаток , вся проблема в том что обработка должна выполняться по расписанию, и для этого процедура замены должна выполняться в модуле объекта, а чтобы показать на форме измененные значения мне надо каким-то образом передать на форму данные, как это сделать правильно?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. glek 119 06.03.23 07:48 Сейчас в теме
(1) функционал реализовать в модуле через экспортную процедуру. На форме вызывать функционал через РеквизитФормыВЗначение("Объект")
3. 5225688vd 06.03.23 07:54 Сейчас в теме
(2)Пробовал, почему-то не меняет на форме значения
4. Zevzm 06.03.23 08:10 Сейчас в теме
(3)Возможно нужно выполнить обратное действие для "РеквизитФормыВЗначение("Объект")", ЗначениеВРеквизитФормы, если не ошибаюсь.
5. 5225688vd 06.03.23 08:13 Сейчас в теме
Я делаю так, в модуле формы:
ЗначениеФормы = РеквизитФормыВЗначение("Объект");
ЗначениеФормы.ЗаменитьОстатки();
ЗначениеВРеквизитФормы(ЗначениеФормы, "Объект") ;

В модуле объекта экспортная процедура ЗаменитьОстатки(), скорее всего ошибка в том что мне надо обратиться к реквизитам формы и поменять их в модуле объекта, а как обратиться к реквизитам формы?
6. Zevzm 06.03.23 08:16 Сейчас в теме
(5)У вас реквизиты формы связаны с реквизитами объекта? Или они живут только на форме?
7. 5225688vd 06.03.23 08:28 Сейчас в теме
(6)Да связаны, вот код
Остатки = Табло.Выгрузить();
		Правила = СводнаяТаблицаПравил.Выгрузить();
		
		Запрос = Новый Запрос;
		Запрос.УстановитьПараметр("Остатки", Остатки);
		Запрос.УстановитьПараметр("Правила", Правила);
		Запрос.Текст = "ВЫБРАТЬ
		               |	Остатки.Номенклатура КАК Номенклатура,
		               |	Остатки.ОстаткиМакс КАК ОстаткиМакс,
		               |	Остатки.ОстаткиСкладов1 КАК ОстаткиСкладов1,
		               |	Остатки.ОстаткиСУчетомМинСкладов1 КАК ОстаткиСУчетомМинСкладов1,
		               |	Остатки.ОстатокМеньшеМин1 КАК ОстатокМеньшеМин1,
		               |	Остатки.ОстатокПоНДСОрганизации1 КАК ОстатокПоНДСОрганизации1,
		               |	Остатки.ОстатокПоБезНДСОрганизации1 КАК ОстатокПоБезНДСОрганизации1,
		               |	Остатки.ОстатокПоНДСОрганизацииМеньшеМин1 КАК ОстатокПоНДСОрганизацииМеньшеМин1,
		               |	Остатки.ОстатокПоБезНДСОрганизацииМеньшеМин1 КАК ОстатокПоБезНДСОрганизацииМеньшеМин1
		               |ПОМЕСТИТЬ втОстатки
		               |ИЗ
		               |	&Остатки КАК Остатки
		               |;
		               |
		               |////////////////////////////////////////////////////////////­////////////////////
		               |ВЫБРАТЬ
		               |	Правила.НазваниеНастройки КАК НазваниеНастройки,
		               |	Правила.Номенклатура КАК Номенклатура,
		               |	Правила.КоличествоБольше КАК КоличествоБольше,
		               |	Правила.КоличествоМеньше КАК КоличествоМеньше,
		               |	Правила.КоличествоДляЗамены КАК КоличествоДляЗамены
		               |ПОМЕСТИТЬ втПравила
		               |ИЗ
		               |	&Правила КАК Правила
		               |;
		               |
		               |////////////////////////////////////////////////////////////­////////////////////
		               |ВЫБРАТЬ
		               |	втОстатки.Номенклатура КАК Номенклатура,
		               |	втОстатки.ОстаткиМакс КАК ОстаткиМакс,
		               |	втОстатки.ОстаткиСкладов1 КАК ОстаткиСкладов1,
		               |	втОстатки.ОстаткиСУчетомМинСкладов1 КАК ОстаткиСУчетомМинСкладов1,
		               |	втОстатки.ОстатокМеньшеМин1 КАК ОстатокМеньшеМин1,
		               |	втОстатки.ОстатокПоНДСОрганизации1 КАК ОстатокПоНДСОрганизации1,
		               |	втОстатки.ОстатокПоБезНДСОрганизации1 КАК ОстатокПоБезНДСОрганизации1,
		               |	втОстатки.ОстатокПоНДСОрганизацииМеньшеМин1 КАК ОстатокПоНДСОрганизацииМеньшеМин1,
		               |	втОстатки.ОстатокПоБезНДСОрганизацииМеньшеМин1 КАК ОстатокПоБезНДСОрганизацииМеньшеМин1,
		               |	втПравила.НазваниеНастройки КАК НазваниеНастройки,
		               |	втПравила.КоличествоБольше КАК КоличествоБольше,
		               |	втПравила.КоличествоМеньше КАК КоличествоМеньше,
		               |	втПравила.КоличествоДляЗамены КАК КоличествоДляЗамены,
		               |	ВЫБОР
		               |		КОГДА втОстатки.ОстаткиМакс МЕЖДУ втПравила.КоличествоБольше И втПравила.КоличествоМеньше
		               |			ТОГДА втПравила.КоличествоДляЗамены
		               |	КОНЕЦ КАК ЗаменаОстаткиМакс,
		               |	ВЫБОР
		               |		КОГДА втОстатки.ОстаткиСкладов1 МЕЖДУ втПравила.КоличествоБольше И втПравила.КоличествоМеньше
		               |			ТОГДА втПравила.КоличествоДляЗамены
		               |	КОНЕЦ КАК ЗаменаОстаткиСкладов1,
		               |	ВЫБОР
		               |		КОГДА втОстатки.ОстаткиСУчетомМинСкладов1 МЕЖДУ втПравила.КоличествоБольше И втПравила.КоличествоМеньше
		               |			ТОГДА втПравила.КоличествоДляЗамены
		               |	КОНЕЦ КАК ЗаменаОстаткиСУчетомМинСкладов1,
		               |	ВЫБОР
		               |		КОГДА втОстатки.ОстатокМеньшеМин1 МЕЖДУ втПравила.КоличествоБольше И втПравила.КоличествоМеньше
		               |			ТОГДА втПравила.КоличествоДляЗамены
		               |	КОНЕЦ КАК ЗаменаОстатокМеньшеМин1,
		               |	ВЫБОР
		               |		КОГДА втОстатки.ОстатокПоНДСОрганизации1 МЕЖДУ втПравила.КоличествоБольше И втПравила.КоличествоМеньше
		               |			ТОГДА втПравила.КоличествоДляЗамены
		               |	КОНЕЦ КАК ЗаменаОстатокПоНДСОрганизации1,
		               |	ВЫБОР
		               |		КОГДА втОстатки.ОстатокПоБезНДСОрганизации1 МЕЖДУ втПравила.КоличествоБольше И втПравила.КоличествоМеньше
		               |			ТОГДА втПравила.КоличествоДляЗамены
		               |	КОНЕЦ КАК ЗаменаОстатокПоБезНДСОрганизации1,
		               |	ВЫБОР
		               |		КОГДА втОстатки.ОстатокПоНДСОрганизацииМеньшеМин1 МЕЖДУ втПравила.КоличествоБольше И втПравила.КоличествоМеньше
		               |			ТОГДА втПравила.КоличествоДляЗамены
		               |	КОНЕЦ КАК ЗаменаОстатокПоНДСОрганизацииМеньшеМин1,
		               |	ВЫБОР
		               |		КОГДА втОстатки.ОстатокПоБезНДСОрганизацииМеньшеМин1 МЕЖДУ втПравила.КоличествоБольше И втПравила.КоличествоМеньше
		               |			ТОГДА втПравила.КоличествоДляЗамены
		               |	КОНЕЦ КАК ЗаменаОстатокПоБезНДСОрганизацииМеньшеМин1
		               |ПОМЕСТИТЬ втЗамена
		               |ИЗ
		               |	втОстатки КАК втОстатки
		               |		ЛЕВОЕ СОЕДИНЕНИЕ втПравила КАК втПравила
		               |		ПО втОстатки.Номенклатура = втПравила.Номенклатура
		               |ГДЕ
		               |	НЕ втПравила.НазваниеНастройки ЕСТЬ NULL
		               |;
		               |
		               |////////////////////////////////////////////////////////////­////////////////////
		               |ВЫБРАТЬ
		               |	втЗамена.Номенклатура КАК Номенклатура,
		               |	втЗамена.ОстаткиМакс КАК ОстаткиМакс,
		               |	втЗамена.ОстаткиСкладов1 КАК ОстаткиСкладов1,
		               |	втЗамена.ОстаткиСУчетомМинСкладов1 КАК ОстаткиСУчетомМинСкладов1,
		               |	втЗамена.ОстатокМеньшеМин1 КАК ОстатокМеньшеМин1,
		               |	втЗамена.ОстатокПоНДСОрганизации1 КАК ОстатокПоНДСОрганизации1,
		               |	втЗамена.ОстатокПоБезНДСОрганизации1 КАК ОстатокПоБезНДСОрганизации1,
		               |	втЗамена.ОстатокПоНДСОрганизацииМеньшеМин1 КАК ОстатокПоНДСОрганизацииМеньшеМин1,
		               |	втЗамена.ОстатокПоБезНДСОрганизацииМеньшеМин1 КАК ОстатокПоБезНДСОрганизацииМеньшеМин1,
		               |	втЗамена.НазваниеНастройки КАК НазваниеНастройки,
		               |	втЗамена.КоличествоБольше КАК КоличествоБольше,
		               |	втЗамена.КоличествоМеньше КАК КоличествоМеньше,
		               |	втЗамена.КоличествоДляЗамены КАК КоличествоДляЗамены,
		               |	ЕСТЬNULL(втЗамена.ЗаменаОстаткиМакс, 0) КАК ЗаменаОстаткиМакс,
		               |	ЕСТЬNULL(втЗамена.ЗаменаОстаткиСкладов1, 0) КАК ЗаменаОстаткиСкладов1,
		               |	ЕСТЬNULL(втЗамена.ЗаменаОстаткиСУчетомМинСкладов1, 0) КАК ЗаменаОстаткиСУчетомМинСкладов1,
		               |	ЕСТЬNULL(втЗамена.ЗаменаОстатокМеньшеМин1, 0) КАК ЗаменаОстатокМеньшеМин1,
		               |	ЕСТЬNULL(втЗамена.ЗаменаОстатокПоНДСОрганизации1, 0) КАК ЗаменаОстатокПоНДСОрганизации1,
		               |	ЕСТЬNULL(втЗамена.ЗаменаОстатокПоБезНДСОрганизации1, 0) КАК ЗаменаОстатокПоБезНДСОрганизации1,
		               |	ЕСТЬNULL(втЗамена.ЗаменаОстатокПоНДСОрганизацииМеньшеМин1, 0) КАК ЗаменаОстатокПоНДСОрганизацииМеньшеМин1,
		               |	ЕСТЬNULL(втЗамена.ЗаменаОстатокПоБезНДСОрганизацииМеньшеМин1, 0) КАК ЗаменаОстатокПоБезНДСОрганизацииМеньшеМин1
		               |ИЗ
		               |	втЗамена КАК втЗамена
		               |ГДЕ
		               |	НЕ втЗамена.ОстаткиСкладов1 ЕСТЬ NULL";
		Результат = Запрос.Выполнить().Выгрузить();
Показать

Где Табло это табличная часть в которой необходимо поменять данные на данные из запроса, в результат все правильно выгружается, а как дальше поменять значения и отобразить их на форме не могу понять, подскажите пожалуйста!
8. 5225688vd 06.03.23 08:56 Сейчас в теме
Все вопрос закрыт, решил
9. пользователь 06.03.23 08:59
Сообщение было скрыто модератором.
...
Оставьте свое сообщение

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