Добрые люди и знатоки ! Всем вам желаю благополучия и благодарен за ваши советы !

Хочу в модуле формы документа проверить группу поставщика, затем, если она не соответствует требованию запретить запись. Но что-то делаю не так и в каждом моем попытке у меня не получается проверить перед записью запретить запись при не соответствии.

Мой код выглядит сейчас таким образом:

```1c
    &НаКлиенте
    Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)

    ПроверкаГруппыПоставщикаНаСервере();

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

    &НаСервере
    Процедура ПроверкаГруппыПоставщикаНаСервере()

    Если Объект.ГруппаПоставщика = Справочники.ГруппыПоставщиков.НайтиПоНаименованию("Другие услуги") тогда
    Сообщить("Проверьте группу поставщика");
    Отказ=Истина;
    Возврат
    КонецЕсли;

    КонецПроцедуры
```
---
Нулей не хватает в Справочники.ГруппыПоставщиков.НайтиПоКоду("0000006")
---
Найти по коду тоже не помогло
---
Какой тип реквизита "ГруппаПоставщика"? "Объект.ГруппаПоставщика" - Элемент справочника?
"Другие услуги" - Группа?
---
Нажать на кнопку ответить почему то забыл извиняюсь
---
Элемент. Не группа
---
Форма документа такая, при изменении номенклатуры с помощью запроса получаю поставщика и группу поставщика данной номенклатуры.
---
Процедура ПроверкаГруппыПоставщикаНаСервере()!!!! "Возврат" прерывает процедуру. Функция() возвращает результат.
---
Не помогло !
---
```1c
    &НаСервере
    Процедура ПроверкаГруппыПоставщикаНаСервере()

    Если Объект.ГруппаПоставщика = Справочники.ГруппыПоставщиков.НайтиПоКоду("0000006") тогда
    Сообщить("Проверьте группу поставщика");
    Отказ=Истина;

    КонецЕсли;

    КонецПроцедуры
```
---
Не процедура. Сделайте Функцию.

```1c
    &НаСервере
    Функция ПроверкаГруппыПоставщикаНаСервере()

    Если Объект.ГруппаПоставщика = Справочники.ГруппыПоставщиков.НайтиПоКоду("0000006") тогда
    Сообщить("Проверьте группу поставщика");
    Возврат Истина;

    КонецЕсли;

    КонецФункции

    &НаКлиенте
    Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)

    Отказ = ПроверкаГруппыПоставщикаНаСервере();
```
---
опять пропускает
---
```1c
    &НаКлиенте
    Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)

    Если Объект.ВаловаяПрибыль < 0 тогда
    Сообщить("Убыток: " + ((Объект.ВаловаяПрибыль)) + ". Проверьте данные заполнения.");
    Отказ=Истина;
    Возврат
    КонецЕсли;

    Отказ = ПроверкаГруппыПоставщикаНаСервере();
    КонецПроцедуры

    &НаСервере
    Функция ПроверкаГруппыПоставщикаНаСервере()

    Если Объект.ГруппаПоставщика = Справочники.ГруппыПоставщиков.НайтиПоКоду("0000006") тогда
    Сообщить("Проверьте группу поставщика");
    Возврат Истина;

    КонецЕсли;

    КонецФункции
```

опять 25 ((
---
Точку останова поставьте на КонецФункции и покажите значения Объект.ГруппаПоставщика, Справочники.ГруппыПоставщиков.НайтиПоКоду("0000006").
---
вот так имеете ввиду ?
---
Да, теперь значения покажите.
---
а как показать значение ?
---
Выделить "Объект.ГруппаПоставщика", нажать Shift+F9
---
Если Объект.ВаловаяПрибыль < 0 тогда
        Сообщить("Убыток: " + ((Объект.ВаловаяПрибыль)) + ". Проверьте данные заполнения.");
        Отказ=Истина;
        Возврат
    КонецЕсли;

"Возврат" зачем? Он прерывает процедуру
---
прерывает, если выполнится условие процедуры не так ли ? убрал тоже не получается
---
вот
---
Ну вот и пустое значение. Не находит ничего
---
ну вот есть такие данные
---
Нулей не хватает в Справочники.ГруппыПоставщиков.НайтиПоКоду("0000006")
---
пффф , я такой сонный сижу, этого не проверял )) а попробовал и другой вариант, получилось :

&НаСервере
Функция ПроверкаГруппыПоставщикаНаСервере()

 Если Объект.ГруппаПоставщика = Справочники.ГруппыПоставщиков.НайтиПоНаименованию("Другие услуги",1) тогда
  Сообщить("Проверьте группу поставщика");
  Возврат Истина;
 КонецЕсли;

КонецФункции
(24)
---
Спасибо вам огромное, от души !!!
---
Удачи!
---
1. Отказ надо передавать в качестве параметра на сервер.
2. Директивное присвоение переменной Отказа значения серверной функции недопустимо.
3. Почему бы сразу не сравнивать Объект.ГруппаПоставщика.Наименование = "Другие услуги" и не напрягать систему ненужным поиском второй ссылки?
4. Для проверки на сервере у форм объектов существует отдельный обработчик ПередЗаписьюНаСервере().