Имя: Пароль:
1C
1С v8
Вызов процедуры в управляемых формах
0 Мисти
 
29.04.13
21:54
В привычном варианте - в модуле формы можно вызывать процедуры из модуля объекта.
А тут как ее обозвать? А то не видит!
1 Мисти
 
29.04.13
22:19
Экспорт поставила!, не помогло.
2 artik2
 
29.04.13
22:21
Юзай менеджер объекта
3 Мисти
 
29.04.13
22:25
никак!
4 jsmith82
 
29.04.13
22:26
вызываешь откуда
5 Мисти
 
29.04.13
22:29
из модуля формы.
6 artik2
 
29.04.13
22:42
в серверной процедуре модуля формы:
7 artik2
 
29.04.13
22:42
справочники.Контрагенты.ЭтоЮрЛицо()
8 artik2
 
29.04.13
22:43
примерно так
9 Мисти
 
29.04.13
22:57
Ничё не поняла!
В модуле документа процедура
Процедура   ЗаполнитьПоЗаказу(ДанныеЗаполнения) Экспорт
Как ее вызвать из формы документа?
10 Мисти
 
29.04.13
22:57
Документы.Претензия.ЗаполнитьПоЗаказу(осн)?
11 zippygrill
 
29.04.13
23:04
Да
12 artik2
 
29.04.13
23:08
(9) Можно так
ДокументОбъект = РеквизитФормыВЗначение("Объект");
ДокументОбъект.ЗаполнитьПоЗаказу(Ссылка);
ЗначениеВРеквизитФормы(ДокументОбъект, "Объект");
13 Мисти
 
29.04.13
23:21
2 недели назад делала, уже забыла!
Что за жизнь.
Новая беда
&НаКлиенте
Процедура ДокументОснованиеПриИзменении(Элемент)
   ДокументОснованиеПриИзмененииСервер(Элемент);

КонецПроцедуры
А в этом элементе - только заголовок!
Ну и ширина там всякая.
Где значение-то взять?
14 Мисти
 
29.04.13
23:46
&НаСервере
Процедура ДокументОснованиеПриИзмененииСервер()
   Документы.ПретензииКлиентовДок.ЗаполнитьПоЗаказу(Объект.ДокументОснование);

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

&НаКлиенте
Процедура ДокументОснованиеПриИзменении(Элемент)
   ДокументОснованиеПриИзмененииСервер();

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

Вот такие пляски с бубном.
15 Мисти
 
30.04.13
00:17
Документ.ПретензииКлиентовДок.Форма.ФормаЭлемента.Форма(141)}: Метод объекта не обнаружен (ЗаполнитьПоЗаказу)
   Документы.ПретензииКлиентовДок.ЗаполнитьПоЗаказу(Объект.ДокументОснование);
Опять не так.
16 hhhh
 
30.04.13
00:31
(15) а эта процедура действительно в модуле менеджера?
17 Мисти
 
30.04.13
00:34
Нет, в модуле документа.
18 Мисти
 
30.04.13
00:42
СтрТов=Товары.Добавить();
А в модуле менеджера она это не понимает.
19 hhhh
 
30.04.13
00:44
(18) тогда (12) читай, до полного просветления
20 alexei366
 
30.04.13
00:45
(18) Передавай в модуль менеджера Объект формы и там с ним твори
21 alexei366
 
30.04.13
00:46
(20) На то он и модуль менеджера а не объекта
22 Мисти
 
30.04.13
00:53
Не нашла контекстным поиском ОбъектФормы ни разу
23 alexei366
 
30.04.13
00:58
Останови отладчик в клиентском модуле формы и через шифт ф9 посмотри тип у реквизита формы Объект. Я точно не помню как там его обзывают.
24 alexei366
 
30.04.13
01:01
В модуле менеджера напиши

Процедура Моя(ОбъектФормы) Экспорт

  ТабличнаяЧастьОбъекта = ОбъектФормы.МояТаблица;
  СтрокаТЧ = ТабличнаяЧастьОбъекта.Добавить();
  СтрокаТЧ.МойРеквизит = "Получилося";

  // и так далее

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



а с клиента в процедуре на клиенте вызываешь процедуру формы на сервере, а в ней

Документы.МойДокумент.Моя(Объект);
25 Мисти
 
30.04.13
01:14
Спасибо! Сейчас попробую.
Вообще-то надо глянуть, как они этот фокус делают, да и стащить.
26 alexei366
 
30.04.13
01:19
(25) Удачи