Допустим, мы делаем какую-то внешнюю обработку, в форме которой размещаем реквизит с типом "Таблица значений". Назовём этот реквизит СчетаФактуры.

Также на форме размещаем кнопку команды, например, с названием "Обработать счета-фактуры". Задаём действие для команды:

&НаКлиенте
Процедура ОбработатьСчетаФактуры(Команда)
	
	ОбработатьСчетаФактурыНаСервере(СчетаФактуры);
	
КонецПроцедуры


&НаСервере
Процедура ОбработатьСчетаФактурыНаСервере(СчетаФактуры)
	
	// Тело процедуры.	

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

Параметр СчетаФактуры – это наш реквизит формы.

При попытке запустить команду получаем ошибку:

"Нельзя изменять поле, содержащее объект данных формы".

Дело в том, что в параметре процедуры ОбработатьСчетаФактурыНаСервере(СчетаФактуры) мы передаём данные формы с типом ДанныеФормыКоллекция, и потом на сервере пытаемся их изменить.

Для исправления ошибки нужно всего навсего объявить переменную и присвоить ей значение реквизита.

&НаКлиенте
Процедура ОбработатьСчетаФактуры(Команда)
	
	перем_СчетаФактуры = СчетаФактуры;
		
	ОбработатьСчетаФактурыНаСервере(перем_СчетаФактуры);
	
КонецПроцедуры


&НаСервере
Процедура ОбработатьСчетаФактурыНаСервере(перем_СчетаФактуры)
	
	// Тело процедуры.	

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