Передача параметров между модулем формы и модулем объекта(или вызов функции из модуля объекта), внешняя обработка

1. user1812494 08.08.22 12:28 Сейчас в теме
Здравствуйте! Написал внешнюю обработку для перегрузки документов. При выгрузке считываю все данные реквизитов в массив, а потом массив записываю в текстовый файл. При загрузке читаю текстовый файл и записываю данные реквизитов в массив, потом создаю нужный документ и присваиваю значения реквизитов. Весь код находится в модуле формы, хотелось бы считывание данных и заполнение нового документа(при загрузке) перенести в модуль объекта. Вот тут и вопрос, как мне передавать массивы между формой и модулем? Читал форумы, там говорят о РеквизитФормыВЗначение для вызова экспортной процедуры или функции, но мне не надо преобразовывать никакой реквизит формы, в форме у меня только имя документа и путь текстового файла с двумя кнопками(командами) для загрузки и выгрузки.
Ну если не передавать массивы, то могу перенести запись и чтение файла в модуль объекта, но как вызвать эти функции и процедуры после нажатия кнопки(команды)? Как раз экспортом получается?
По теме из базы знаний
Найденные решения
2. spacecraft 08.08.22 12:39 Сейчас в теме
(1)
Читал форумы, там говорят о РеквизитФормыВЗначение для вызова экспортной процедуры или функции, но мне не надо преобразовывать никакой реквизит формы, в форме у меня только имя документа и путь текстового файла с двумя кнопками(командами) для загрузки и выгрузки.
Ну если не передавать массивы, то могу перенести запись и чтение файла в модуль объекта, но как вызвать эти функции и процедуры после нажатия кнопки(команды)?

В контексте модуля формы нет объекта обработки, соответственно нет возможности вызвать метод модуля объекта.
Вот чтобы получить такую возможность необходимо создать объект, который получается через РеквизитФормыВЗначение для основного реквизита формы с именем Объект.
Вот только через полученный Объект обработки и можно вызывать экспортные методы модуля объекта.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. spacecraft 08.08.22 12:39 Сейчас в теме
(1)
Читал форумы, там говорят о РеквизитФормыВЗначение для вызова экспортной процедуры или функции, но мне не надо преобразовывать никакой реквизит формы, в форме у меня только имя документа и путь текстового файла с двумя кнопками(командами) для загрузки и выгрузки.
Ну если не передавать массивы, то могу перенести запись и чтение файла в модуль объекта, но как вызвать эти функции и процедуры после нажатия кнопки(команды)?

В контексте модуля формы нет объекта обработки, соответственно нет возможности вызвать метод модуля объекта.
Вот чтобы получить такую возможность необходимо создать объект, который получается через РеквизитФормыВЗначение для основного реквизита формы с именем Объект.
Вот только через полученный Объект обработки и можно вызывать экспортные методы модуля объекта.
3. user1812494 08.08.22 12:45 Сейчас в теме
(2) Хорошо, кажется теперь понял, спасибо
4. user1812494 08.08.22 14:54 Сейчас в теме
(2)А вот кстати ещё вопрос, можно ли передавать просто переменные в модуль объекта? Я не могу использовать РеквизитФормыВЗначение,
весь смысл этой обработки в том, чтобы получать все данные реквизитов из метаданных без функций, выгружающих уникальные идентификаторы. Я подозреваю придётся создать отдельный реквизит или табличную часть
10. spacecraft 08.08.22 16:24 Сейчас в теме
(4) озвучьте лучше конечную цель, а не предполагаемые способы ее достичь.
FatPanzer; +1 Ответить
11. FatPanzer 08.08.22 17:29 Сейчас в теме
15. user1812494 09.08.22 11:28 Сейчас в теме
(10)Переместил процедуру и функцию в модуль объекта, теперь их оттуда нужно вызвать и передать параметром массив, не понимаю как вызвать экспортные процедуры и функции без РеквизитФормыВЗначение
16. spacecraft 09.08.22 11:34 Сейчас в теме
(15) вызвать откуда? Из модуля формы? без РеквизитФормыВЗначение("Объект") никак. Что не понятно из (2)?
17. user1812494 09.08.22 12:11 Сейчас в теме
(16) Да понятно всё, сейчас выяснилось, что в данном контексте можно использовать такую функцию, так что все окей, спасибо большое за ответы
5. soft_wind 08.08.22 15:21 Сейчас в теме
можно ли передавать просто переменные в модуль объекта?

- Можно!

а вот это что такое?
весь смысл этой обработки в том, чтобы получать все данные реквизитов из метаданных без функций, выгружающих уникальные идентификаторы

- пять раз прочитал, ни разу не понял....
6. user1812494 08.08.22 15:26 Сейчас в теме
Нельзя использовать функции ЗначениеВСтрокуВнутр(), УникальныйИдентификатор() и подобные функции выгружающие уникальные идентификаторы объектов. Ну например поэтому приходится получать описание реквизитов из метаданных
7. user1812494 08.08.22 15:30 Сейчас в теме
(5)а как именно их можно передавать?
12. FatPanzer 08.08.22 17:31 Сейчас в теме
(7) Ты куда собрался метаданные передавать, чудак?
14. user1812494 08.08.22 20:59 Сейчас в теме
(12)Где ты прочитал, что я метаданные передаю? Кто тут еще чудак
8. soft_wind 08.08.22 15:39 Сейчас в теме
(7) через параметры!

ОбработкаМодуль.МояПроцедура(Парам1,Парам2,...)
9. user1812494 08.08.22 15:46 Сейчас в теме
ну понятное дело, что через параметры, проблема в том, как вызвать её из модуля объекта, если не могу через функцию получить уникальный идентификатор обработки
13. FatPanzer 08.08.22 17:32 Сейчас в теме
(9) Предположим, что мог бы получить "уникальный идентификатор обработки". То как бы передавал в этом случае?
Оставьте свое сообщение

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