|
Обращение к процедуре Модуля объекта 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) Ну так правильно. В самой процедуре в модуле объекта тоже надо убрать входящий параметр.
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший