Имя: Пароль:
1C
1С v8
Обращение к процедуре Модуля объекта 8.2 Экспорт Проверка тонкий клиент
0 sergei123654
 
29.09.11
12:28
День добрый.

В справочнике Контрагенты в модуле объекта пишу -

&НаСервереБезКонтекста
Процедура ПроверкаДубликатовКонтрагента(ТекОбъект) Экспорт
   //тут проверка на дубли РНН
КонецПроцедуры


В модуле формы пишу -

&НаКлиенте
Процедура РННПриИзменении(Элемент)
   
   ТекОбъект = Объект;
   
   ПроверкаДубликатовКонтрагента(ТекОбъект);
   
КонецПроцедуры


Выдает ошибку -
{Справочник.Контрагенты.Форма.ФормаЭлемента.Форма(245,2)}: Процедура или функция с указанным именем не определена (ПроверкаДубликатовКонтрагента)
   <<?>>ПроверкаДубликатовКонтрагента(ТекОбъект); (Проверка: Тонкий клиент)

С 8.2 только начал ознакамливаться. Подскажите, кто знает, что не так делаю?
1 Renat11111
 
29.09.11
12:31
поиск СП ДанныеФормыВЗначение
2 Renat11111
 
29.09.11
12:31
(1) + РеквизитФормыВЗначение
3 Renat11111
 
29.09.11
12:33
да и к тому же глупо для таких целей процедуру из модуля объекта вызывать. в форме объекта сделай серверную процедуру.
4 unregistered
 
29.09.11
12:38
В модуле объекта писать &НаСервереБезКонтекста не имеет смысла. Объект живёт исключительно на сервере.

В форме должно быть что-то типа

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

&НаСервере
Процедура ПроверкаДубликатовНаСервере()
  ТекОбъект = РеквизитФормыВЗначение("Объект");
  ТекОбъект.ПроверкаДубликатовКонтрагента();
  ЗначениеВРеквизитФормы(ТекОбъект, "Объект");
КонецПроцедуры
5 sergei123654
 
29.09.11
12:40
А все, вроде получилось.

в модуле формы
&НаСервере
Процедура ПроверкаДубликатовКонтрагентаНаСервере(ТекОбъект)
     СправочникОбъект = РеквизитФормыВЗначение("Объект");
     СправочникОбъект.ПроверкаДубликатовКонтрагента(ТекОбъект);
     ЗначениеВРеквизитФормы(СправочникОбъект, "Объект");
КонецПроцедуры
&НаКлиенте
Процедура РННПриИзменении(Элемент)
   
   ТекОбъект = Объект;
   
   ПроверкаДубликатовКонтрагентаНаСервере(ТекОбъект);
   
КонецПроцедуры

в модуле объекта

Процедура ПроверкаДубликатовКонтрагента(ТекОбъект) Экспорт
   //тут проверка на дубли РНН

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


(3) вытащил в модуль - вдруг програмно заносить контрагентов кто будет, пусть проверяется по РНН...

(4) Спасибо

Всем спасибо
6 unregistered
 
29.09.11
12:43
(5) Не надо в параметрах передавать ТекОбъект

Если процедура живет в модуле объекта, то нахрена ей еще раз сам объект?
7 sergei123654
 
29.09.11
12:43
(6) иначе говорит - недостаточно параметров... или туплю?
8 unregistered
 
29.09.11
13:22
(7) Ну так правильно. В самой процедуре в модуле объекта тоже надо убрать входящий параметр.