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