База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как передать данные формы из «ПередЗаписью» в «ПередЗаписьюНаСервере»? › RE: Как передать данные формы из “ПередЗаписью” в “ПередЗаписьюНаСервере”?
Процедура «ПередЗаписью» выполняется на клиенте и предназначена для выполнения действий перед записью объекта, в то время как «ПередЗаписьюНаСервере» выполняется на сервере и используется для выполнения действий непосредственно перед записью объекта в базу данных.
Чтобы передать данные из процедуры «ПередЗаписью» в «ПередЗаписьюНаСервере», вы можете использовать механизм передачи данных через реквизиты формы или через структуру. Вот пример, как это можно сделать:
1. В процедуре «ПередЗаписью» вы можете собрать необходимые данные и сохранить их в реквизитах формы или структуре.
2. Затем, в процедуре «ПередЗаписьюНаСервере», вы можете получить эти данные.
Пример кода:
1C
&НаКлиенте
Процедура ПередЗаписью(Отказ)
// Сохраняем данные в реквизиты формы
Объект.Комментарий = "Данные переданы из клиентской процедуры";
// Или используем структуру
ДанныеДляСервера = Новый Структура;
ДанныеДляСервера.Вставить("Комментарий", "Данные переданы из клиентской процедуры");
РеквизитФормыВЗначение("ДанныеДляСервера") = ДанныеДляСервера;
КонецПроцедуры
&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ)
// Получаем данные из реквизитов формы
Если ЗначениеЗаполнено(РеквизитФормыВЗначение("ДанныеДляСервера")) Тогда
ДанныеДляСервера = РеквизитФормыВЗначение("ДанныеДляСервера");
// Используем данные
Комментарий = ДанныеДляСервера.Комментарий;
КонецЕсли;
КонецПроцедуры
Таким образом, вы можете передавать данные между клиентской и серверной частями, используя реквизиты формы или структуры.