Имя: Пароль:
1C
1С v8
Какие процедуры-функции размещать в модуле формы, а какие в модуле объекта ?
0 Длинный Клиент
 
10.01.13
16:06
Возьмем абстрактную обработку, выполняющую некую важную глобальную задачу.

У обработки всего одна форма и, разумеется, один модуль объекта.

По какому принципу Эстетствующие Гуру советуют определять, где размещать код процедуры или функции,- в модуле формы или модуле обработки ?

Понятно, что обработчики событий формы в модуле формы.

А вот те, которые сработают одинаково и там, и там ?
1 Reset
 
10.01.13
16:10
Размещение в модуле экспортной функции удобно, например, тем, что ее можно вызвать, имея обработку объект и не создавая формы.
2 GROOVY
 
10.01.13
16:10
То что касается объекта "обработка" в модуле объекта, то что относится к интерактивной работе в модуле формы. Это же очевидно. Система 1С предприятие событийная, по нужным событиям и ориентируемся.
3 Длинный Клиент
 
10.01.13
16:17
(2) то есть, все, кроме обработчиков интерактивных событий,- в модуль ?

Например.

В модуле формы:

Процедура ПолеКартинкиСКотиком1ПриЛайканииКотика (КряКря)
 
ПогладитьКотика(КряКря)

КонецПроцедуры()


Процедуру ПогладитьКотика уже следует разместить в модуле объекта ? Или как определить отношение к интерактивности ? По идее, всё в обработке относится к интерактивности. На кнопку "Выполнить" нажимают, чтобы выполнить основную функцию обработки.
4 х86
 
10.01.13
16:19
(0)зависит от того как и для чего будет использоваться обработка
если единожды или для мелких разовых задач по пофик
если обработка будет выполняться из других объектов то тогда нужно продумывать логику
5 х86
 
10.01.13
16:20
(3)кнопку выполнить можно нажать в документе, и выполнить обработку
6 х86
 
10.01.13
16:21
и еще смотри как в типовых выполнен универсальный отчет, думай
7 Длинный Клиент
 
10.01.13
16:21
(1) (4) это да, при вызове извне при размещении в модуле экспортной процедуры не надо открывать форму
8 Avalone2010
 
10.01.13
16:21
(3) А вопрос то интересный. Особенно про процедуру то эту. А если на 8.2?С разбивкой на клиент и на сервер еще?
9 Reset
 
10.01.13
16:22
(3) Имеется в виду
в модуле формы
Процедура КнопкаВыполнитьНажатие()
  ПровестиДокументы();
КонецПроцедуры

Модуль объекта
Процедура ПровестиДокументы() Экспорт
 /////
КонецПроцедры
10 drcrasher
 
10.01.13
16:25
Как показывает практика, то в модуле формы размещают всё, что отвечает за свистелки-перделки, а в модуле объекта - то, что за работу с данными и обращениями к БД
11 Avalone2010
 
10.01.13
16:25
(0) Может быть туда имеет выносить функционал общий для всех форм?
12 Avalone2010
 
10.01.13
16:28
Типа если в(3)  ПогладитьКотика(КряКря) используется и в форме списка и в форме объекта то ее в модуль объекта?Не?
13 GROOVY
 
10.01.13
16:28
Ох... Еще раз.

Если некое действие подразумевает работу в форме то в модель формы. Если не подразумевает работу с формой - то в модуль объекта.

К примеру нужно в форме получить остатки - пишем в модуле формы.
Нужно иметь возможность получать остатки из формы и при программном вызове обработки (то есть работа с формой не подразумевается) - в модуле объекта.

(8) Не вижу в контексте вопроса отличий УФ от обычных.
14 Длинный Клиент
 
10.01.13
16:34
(10) (13) Спасибо
15 Jolly Roger
 
10.01.13
16:38
(0) кури MVC...
16 samozvanec
 
10.01.13
16:38
(0) если планирую использовать обработку программно - нужные процедурки в модуле объекта. если нет - все в модуле формы, дабы не тыкаться в два окна. собственно (13), как ни крути
AdBlock убивает бесплатный контент. 1Сергей