Вызов процедуры модуля объекта из модуля этой же формы внешней обработки

1. Anterian 12.02.25 20:29 Сейчас в теме
Здравствуйте, пишу внешнюю обработку. В модуле объекта этой обработки есть функция, и нужно это функцию вызвать из модуля формы этой же обработки, как это сделать? Процедура экспортная, тут всё впорядке. Пробовал много вариантов, и вот такой на форуме увидел, но он не помог, так же пишет что функция ОформлениеСтроки не найдена.
         ОбработкаОбъект = РеквизитФормыВЗначение("Объект");
	ОбработкаОбъект.ОформлениеСтроки(МассивКодов);	
По теме из базы знаний
Найденные решения
4. user2107191 12.02.25 21:03 Сейчас в теме
Никогда не называй процедуры и функции зарезервированными системными литералами.
Вот переименуй её в ОформлениеСтроки1, и посмотри...

Кстати, реквизит Объект - точно основной реквизит обработки?
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. miniogn 44 12.02.25 20:49 Сейчас в теме
Твой код должен быть в серверной функции.
И проверить поиском что имя функции совпадает.
Нет ли директив каких нибудь в модуле объекта, типа
#Если Клиент Тогда
#КонецЕсли
3. Anterian 12.02.25 20:57 Сейчас в теме
(2) понял, проверил, вроде всё верно. Вот код в модуле формы.
&НаСервере
Процедура ЗаполнитьТаблицуНаСервере(КоличествоГенераций)
	//Объект.ТаблицаДанных.Очистить();
	//
	//Генератор = Новый ГенераторСлучайныхЧисел;  
	//Таблица = Объект.ТаблицаДанных;
	//
	//
	//МассивКодов = Новый Массив;
	//
	//Для Число = 0 По КоличествоГенераций Цикл
	//    ЧислоГенератора = Генератор.СлучайноеЧисло(100, 999); 
	//    
	//    Запрос = Новый Запрос;
	//    Запрос.Текст = 
	//    "ВЫБРАТЬ ПЕРВЫЕ 1
	//    |   Платформы.Код КАК Код,
	//    |   Платформы.Ключевая КАК Ключевая,
	//    |   Платформы.Ссылка КАК Ссылка
	//    |ИЗ
	//    |   Справочник.Платформы КАК Платформы
	//    |ГДЕ
	//    |   Платформы.Код <= &ЧислоГенератора
	//    |
	//    |УПОРЯДОЧИТЬ ПО
	//    |   Код УБЫВ";
	//    
	//    Запрос.УстановитьПараметр("ЧислоГенератора", ЧислоГенератора);
	//    
	//    РезультатЗапроса = Запрос.Выполнить();
	//    Выборка = РезультатЗапроса.Выбрать();
	//    
	//    Пока Выборка.Следующий() Цикл
	//        НоваяСтрока = Таблица.Добавить();           	
	//        НоваяСтрока.СлучайноеЧисло = ЧислоГенератора;
	//        НоваяСтрока.Платформа = Выборка.Ссылка;
	//        НоваяСтрока.ЧисловойКод = Выборка.Код;
	//        
	//        МассивКодов.Добавить(Выборка.Код);
	//    КонецЦикла;
	//КонецЦикла; 
	
	
	
	ОбработкаОбъект = РеквизитФормыВЗначение("Объект");
	ОбработкаОбъект.ОформлениеСтроки(МассивКодов);	
		  
		            			
		
КонецПроцедуры
Показать
А вот в модуле объекта

  
Процедура ОформлениеСтроки(МассивКодов) Экспорт 	 
	 
	 Если МассивКодов.Количество() > 0 Тогда
		 МинимальныйКод = МассивКодов[0];
		 МаксимальныйКод = МассивКодов[0]; 
		 
		 
		 Для Индекс = 1 По МассивКодов.Количество() - 1 Цикл
			 Если МассивКодов[Индекс] < МинимальныйКод Тогда
				 МинимальныйКод = МассивКодов[Индекс];
			 КонецЕсли;
			 Если МассивКодов[Индекс] > МаксимальныйКод Тогда
				 МаксимальныйКод = МассивКодов[Индекс];
			 КонецЕсли;
		 КонецЦикла;
		 
		 
				 
	 КонецЕсли;  
	 
	 
	 
	 Для Каждого Строка Из ЭтотОбъект.ТаблицаДанных Цикл   
		 
		 Если Строка.ЧисловойКод = МинимальныйКод Тогда 
			 
			 Строка.Цвет = "Красный"; 
		 КонецЕсли;         
		 
		 
		 Если Строка.ЧисловойКод = МаксимальныйКод Тогда 
			 
			 Строка.Цвет = "Зелёный"; 
		 КонецЕсли; 
		 
        КонецЦикла;
	 
	 
	КонецПроцедуры
	

Показать
4. user2107191 12.02.25 21:03 Сейчас в теме
Никогда не называй процедуры и функции зарезервированными системными литералами.
Вот переименуй её в ОформлениеСтроки1, и посмотри...

Кстати, реквизит Объект - точно основной реквизит обработки?
5. Anterian 12.02.25 22:00 Сейчас в теме
(4) Спасибо за совет. Поменял названице процедуры, заработало, но когда вернул прежнее название - ничего не поменялось, магия какая-то. Короче ничего не понятно, спасибо за помощь) А по поводу реквизит Объект, да, основной реквизит. Ну то есть открываю форму обработки и там вот в блоке "реквизиты" в самом верху жирным выделен "Объект".
Оставьте свое сообщение

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