Выполнить команду на форме

1. Vhett 13.12.18 15:15 Сейчас в теме
Товарищи, помогите разобраться. Создаю программно форму, заполняю её данными и под конец хочу выполнить команду на форме. Как правильно сделать? Форма управляемая, процедура команды экспортная.

//Форма.Элементы.ТоварыЗаполнитьЦеныПоСоглашению.Выполнить();       
		//Форма.Выполнить("ТоварыЗаполнитьЦеныПоСоглашению");

Пробовал и так, и эдак, но не хочет выполняться. Всякие топики почитал, но решения так и не нашёл.
Прикрепленные файлы:
+
По теме из базы знаний
Найденные решения
9. spacecraft 13.12.18 16:49 Сейчас в теме
(8) так команда по другому называется.
Форма.АвтоТест_ЗаполнитьЦеныПоСоглашению(Неопределено);

Только учтите, что это не команду вызываете, а обработчик команды как обычную процедуру.
+
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. Wolfich 13.12.18 15:48 Сейчас в теме
(1) Команда где должна выполняться - на клиенте или на сервере.
Как вариант пытаешься с сервера вызвать клиентскую процедуру и ее не видно.
+
2. SlavaKron 13.12.18 15:25 Сейчас в теме
Если процедура команды не экспортная, то никак, иначе что-то вроде: Форма.ТоварыЗаполнитьЦеныПоСоглашению("")
+
3. Vhett 13.12.18 15:37 Сейчас в теме
(2)
Форма.ТоварыЗаполнитьЦеныПоСоглашению("")

Пардон. А в кавычках что? Пока что пишет, что "метода объекта нету"
+
10. SlavaKron 13.12.18 17:07 Сейчас в теме
(3) Что угодно. Просто процедура команды требует параметр. Он имеет смысл, когда одна и та же процедура используется разными командами, чтобы определить какая именно команда ее вызывала.
+
5. YannikAlx 43 13.12.18 15:48 Сейчас в теме
А что значит
Создаю программно форму

Может открываю программно?
Это 2 большие разницы!
+
6. Vhett 13.12.18 16:01 Сейчас в теме
(5) открываю форму, создаю новый документ.
+
7. YannikAlx 43 13.12.18 16:16 Сейчас в теме
Поскольку пишете , что форма управляемая, то важно понимать разницу процедур выполняемых на сервере и на клиенте (если база клиент-серверная).
Если вы из серверной процедуры пытаетесь вызвать клиентскую процедуру - то ясно будет "метода объекта нету", ибо на сервере его нету
Весь код приведите для ясности.
Пока информации вы предоставили не достаточно...
+
8. Vhett 13.12.18 16:46 Сейчас в теме
(7) Команда которую нужно выполнить на клиенте.

&НаКлиенте
Процедура АвтоТест_ЗаполнитьЦеныПоСоглашению(Команда) Экспорт

	Если ПродажиКлиент.НеобходимоЗаполнениеЦенПоСоглашению(Объект, "Товары", НСтр("ru='Товары'")) Тогда
		
		ЦеныРассчитаны = ЗаполнитьЦеныПоСоглашениюСервер();
		ПродажиКлиент.ОповеститьОбОкончанииЗаполненияЦенПоСоглашению(ЦеныРассчитаны);
		
	КонецЕсли;
	
	СкидкиНаценкиКлиент.СброситьФлагСкидкиРассчитаны(ЭтаФорма);
	
КонецПроцедуры
Показать
+
9. spacecraft 13.12.18 16:49 Сейчас в теме
(8) так команда по другому называется.
Форма.АвтоТест_ЗаполнитьЦеныПоСоглашению(Неопределено);

Только учтите, что это не команду вызываете, а обработчик команды как обычную процедуру.
+
11. dandykry 9 14.12.18 10:31 Сейчас в теме
(7) не вызовет с сервера команду. Физически формы не будет из которой вызывать что-то нужно
+
12. YannikAlx 43 14.12.18 10:49 Сейчас в теме
(11) Вы о чем?
Или про что?
Я написал, что "вызовет с сервера команду" , или что форма будет физически?
Вы о чем???

И вообще вызываются не команды! А экспортные процедуры...
+
13. dandykry 9 14.12.18 18:14 Сейчас в теме
(12)]
Если вы из серверной процедуры пытаетесь вызвать клиентскую процедуру


про то что с серверной процедуры он физически не мог вызвать ни 1 процедуру или функцию из формы т.к. нет формы.

И вообще вызываются не команды! А экспортные процедуры...


придерживался терминов ветки. К слову из формы можно вызвать не экспортную серверную. Как то так


Форма.заполнитьНаСервере()
+
Внимание! Тема сдана в архив

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