1 2 3 4 5 6 7 8 9 10 11 12 13 |
// Присвоить значение переменной по ее имени. // в глоб.модуль: Функция Присвоить(Чему,Что) Экспорт Чему = Что; Возврат ""; КонецФункции // варианты вызова: // Шаблон("[Присвоить("+ИмяПеременной+",ПеременнаяСоЗначением)]"); // Шаблон("[Присвоить("+ИмяПеременной+","+ИмяПеременнойСоЗначением+")]"); // Пример: пусть у нас на форме есть 5 числовых реквизитов К1, К2, ... К5 Для н=1 по 5 Цикл Шаблон("[Присвоить("+("К"+н)+","+(н)+")]"); КонецЦикла; |
Если в качестве параметров ф-ии Присвоить() могут передаваться ТаблицаЗначений или СписокЗначений, то нужно её изменить на:
1 2 3 4 5 6 7 8 9 |
Функция Присвоить(Чему,Что) Если Найти(ТипЗначенияСтр(Что),"Значений")>0 Тогда Чему=СоздатьОбъект(ТипЗначенияСтр(Что)); Что.Выгрузить(Чему); Иначе Чему = Что; КонецЕсли; Возврат ""; КонецФункции |
В глобальном модуле доступны все переменные, функции и реквизиты вызывающей формы! При этом даже не требуется передавать Контекст формы!
Пример:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
// помещаем в глобальный модуль процедуру //_____________________________________________________________________________ Процедура глТест() Экспорт сообщить(Шаблон("[ПеременнаяМодуля]")); // получаем переменную модуля сообщить(Шаблон("[РеквизитФормы]")); // получаем переменную модуля формы сообщить(Шаблон("[ФункцияМодуля()]")); // вызываем функцию модуля формы КонецПроцедуры //глТест() // создадим внешнюю обработку // не забудьте добавить на форму реквизит "РеквизитФормы" тип "Строка",30 // текст модуля внешней обработки: Перем ПеременнаяМодуля; //_____________________________________________________________________________ Функция ФункцияМодуля() Сообщить("Сработала функция модуля"); КонецФункции //_____________________________________________________________________________ Процедура Сформировать() глТест(); // вызываем глоб процедуру и смотрим ... КонецПроцедуры //_____________________________________________________________________________ ПеременнаяМодуля="Это значение ПеременнойМодуля"; РеквизитФормы="Это значение РеквизитаФормы"; |