Начальные условия:
1) управляемые формы (УНФ модифицированная)
2) В документе ЗаказПокупателя есть команда СчетНаОплату:
///////////СчетНаОплату///////////////////////////////////////
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
Если МестныеУНФ.НельзяПечатать(ПараметрКоманды[0]) Тогда
Возврат;
КонецЕсли;
КонецПроцедуры
///////////конец СчетНаОплату////////////////////////////////////////
Есть общий модуль МестныеУНФ(в его свойствах стоят галочки: Клиент, сервер, Вызов сервера):
///////////МестныеУНФ////////////////////////////////////////
&НаСервере
Процедура ПроверкаПодписейОбщая(Документ, Отказ) Экспорт
Если Документ.Подписи.Количество() > 0 Тогда
СтрокаНеподписанная = Документ.Подписи.Найти(Ложь, "Подпись");
Если СтрокаНеподписанная <> Неопределено Тогда
Отказ = истина;
возврат;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаСервере
Функция НельзяПечатать(ДокСсылка) Экспорт
Отказ = Ложь;
Если ТипЗнч(ДокСсылка) = Тип("ДокументСсылка.ЗаказПокупателя") Тогда
МестныеУНФ.ПроверкаПодписейОбщая(ДокСсылка, Отказ);
Если Отказ Тогда
Сообщить("Печатать нельзя! Документ не подписан!");
КонецЕсли;
КонецЕсли;
Возврат Отказ;
КонецФункции
///////////конец МестныеУНФ////////////////////////////////////////
Проблема: при вызове команды выскакивает ошибка:
{Документ.ЗаказПокупателя.Команда.СчетНаОплату.МодульКоманды(4)}: Метод объекта не обнаружен (НельзяПечатать)
Если НЕ МестныеУНФ.НельзяПечатать(ПараметрКоманды[0]) Тогда
Кэш почистил (предполагал глюк) - не помогло. Что не так? Или как оно будет работать?
5) процедуры серверного общего модуля, но с дополнительным свойством «Вызов сервера», причем важно чтобы общий модуль имел только свойство компиляции на сервере.