Имя: Пароль:
1C
1С v8
v8: Управляемые формы. Два кода возвращают одно и то-же. Как лучше?
0 palpetrovich
 
17.08.11
13:27
1. все в  форме:
&НаКлиенте
Процедура ТоварыТоварПриИзменении(Элемент)
   СтрокаТабличнойЧасти = Элементы.Товары.ТекущиеДанные;
   СтрокаТабличнойЧасти.Единица = ВернутьЕдиницу(СтрокаТабличнойЧасти.Товар);
КонецПроцедуры
&НаСервере
Функция ВернутьЕдиницу(Товар)
   Возврат Товар.Единица;
КонецФункции

2. в  форме и общем модуле:
Процедура ТоварыТоварПриИзменении(Элемент)
   СтрокаТабличнойЧасти = Элементы.Товары.ТекущиеДанные;
   СтрокаТабличнойЧасти.Единица = РаботаСоСправочникамиНаСервере.ВернутьЕдиницуИзмерения(СтрокаТабличнойЧасти.Товар);
КонецПроцедуры
// в общем:
Функция ВернутьЕдиницуИзмерения(НоменклатураСсылка) Экспорт
   Возврат НоменклатураСсылка.Единица;
КонецФункции    

или все-равно (если не принимать во внимание унификацию)?
1 Buster007
 
17.08.11
13:30
ну если тебе надо в одном месте только, то делай в форме, а если нет, то тогда в общем )
2 palpetrovich
 
17.08.11
13:31
(1) другой разницы нет?
3 5 Элемент
 
17.08.11
13:31
Если будешь делать 1 то лучше &НаСервереБезКонтекста
4 butterbean
 
17.08.11
13:31
(2) ты бы поделился сразу своими опасениями
5 zak555
 
17.08.11
13:32
радченко говорит использовать только запрос
6 zak555
 
17.08.11
13:33
не туда =)
7 5 Элемент
 
17.08.11
13:33
Есть подозрение, что тебе придется лезть на сервер не только для получения ед.изм.
В УТ11 сделана универсальная процедура, которая за один вызов сервера выполняет нужные действия.

Поэтому лучше иди по пути общего модуля.
8 palpetrovich
 
17.08.11
13:33
(5) мне пока не говорит, я ща на 250-ой странице :)
(4) ну какие опасения, просто советуюсь
9 fisher
 
17.08.11
13:33
(2) Не должно быть, по идее. В обеих случаях на сервере один и тот же код выполняется.
10 5 Элемент
 
17.08.11
13:35
(9) думаю в случае с ОМ на сервер не передается контекст формы;)
11 zak555
 
17.08.11
13:35
(7) +1
ибо общий модуль без галки клиент - точно не форма =)
12 palpetrovich
 
17.08.11
13:35
(7) ну вот, а я по совету Радченко, уже сделал 2 общихмодуля для практически однотипных действий.
   СтрокаТабличнойЧасти.Единица = РаботаСоСправочникамиНаСервере.ВернутьЕдиницуИзмерения(СтрокаТабличнойЧасти.Товар);
   СтрокаТабличнойЧасти.Цена = РаботаСоСправочникамиНаСервере.ВернутьЦену(Объект.Дата, СтрокаТабличнойЧасти.Товар, Объект.КатегорияЦены);
   РаботаСДокументамиНаКлиенте.РасчитатьСумму(СтрокаТабличнойЧасти);
13 fisher
 
17.08.11
13:36
(10) Не, ну с учетом твоего замечания в (3), ессно.
14 palpetrovich
 
17.08.11
13:36
+(12) соврал малехо, первый - "на Сервере", второй - "наКлиенте" :)
15 5 Элемент
 
17.08.11
13:38
РаботаСоСправочникамиНаСервере - так не называют модули.
Если модуль выполняется на сервере то пишут просто РаботаСоСправочниками.
Если на клиенте то РаботаСоСправочникамиКлиент
16 zak555
 
17.08.11
13:38
у ОМ какие галки ?
17 palpetrovich
 
17.08.11
13:40
(15) это я для себя "НаСервере" добавил, пока не привыкну...
18 zak555
 
17.08.11
13:46
(15) +1

(17) сразу надо привыкать
+ эталон в этом плане УТ11
19 palpetrovich
 
17.08.11
13:49
(18) нет у меня ничего кроме Радченко ...ну и форума :)
20 zak555
 
17.08.11
13:53
(19) скачай, какие проблемы ?
21 palpetrovich
 
17.08.11
14:00
(20)Да мне пока этого хватает. Изучаю, сам понимаешь, без отрыва от производства так-сказать, когда делать особо нечего... :)
всем спасибо
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.