Всем привет! Подскажите, обращаюсь НаСервере к ревизитам контрагента к Фактическому и Юридическому адресу вот так:

```1c
    КонтактнаяИнформация = Объект.Контрагент.КонтактнаяИнформация;
    Для Каждого Элемент Из КонтактнаяИнформация Цикл
    Вид = Элемент.Вид.Наименование;
    Пред = Элемент.Представление;
    Сообщить(Вид);
    Сообщить(Пред);
    КонецЦикла;
```

Адреса выводятся успешно + еще почта и телефоны и так далее. Мне необходимо обработать если адреса фактического или юридического нету. Проверил данную переменную "Вид" он строковый. Пробовал сделать так:

```1c
    Факт = Найти(СтрокаНомер1, "Фактический");
    Сообщить(Факт);
```

и так

```1c
    СтрокаНомер1 = СтрПолучитьСтроку(Вид, 1);
    Сообщить("1" + СтрокаНомер1);
```

и так

```1c
    Если НЕ СтрНайти(Вид, "Фактический") Тогда
    Сообщить("Фактический адрес не заполнен");
    КонецЕсли;
```

И еще куча разных способов, но не один не срабатывает. Если по словам ищу то возвращается значение 0, что его там нету. Помогите пожалуйста как решить данную проблему. За ранее всем спасибо!
---
надо сравнивать так:

справочники.ВидыКонтактнойИнформации.НайтиПоНаименованию("Фактический адрес") = Неопределено

А вообще лучше запросом всё это делать.

```1c
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | КонтрагентыКонтактнаяИнформация.Ссылка КАК Ссылка,
    | КонтрагентыКонтактнаяИнформация.Представление КАК Представление,
    | КонтрагентыКонтактнаяИнформация.Вид КАК Вид
    |ИЗ
    | Справочник.Контрагенты.КонтактнаяИнформация КАК КонтрагентыКонтактнаяИнформация
    |ГДЕ
    | КонтрагентыКонтактнаяИнформация.Ссылка = &Ссылка";

    Запрос.УстановитьПараметр("Ссылка", Объект.Контрагент);

    Выборка = Запрос.Выполнить().Выбрать();

    Пока Выборка.Следующий() Цикл
    Если Выборка.Вид = Справочники.ВидыКонтактнойИнформации.НайтиПоНаименованию("Фактический адрес") Тогда

    ИначеЕсли Выборка.Вид = Справочники.ВидыКонтактнойИнформации.НайтиПоНаименованию("Юридический адрес") Тогда

    КонецЕсли;
    КонецЦикла;
```
---
Пишите, пожалуйста, конфигурацию.
В Бухгалтерии "Вид" - это "СправочникСсылка.ВидыКонтактнойИнформации"
---
1С:Комплексная автоматизация 2 (2.4.13.136)
Я обращаюсь из документа "заказ клиента"
---
И в комплексной то же самое.
Это не строковый вид.

```1c
    Вид = Элемент.Вид;
    Если Вид = Справочники.Контрагенты.ФактАдресКонтрагента Тогда
```
---
А как узнать где у меня этот реквизит "ФактАдресКонтрагента" в контрагентах такого нету. При выполнении кода пишет "Поле объекта не обнаружено ФактАдресКонтрагента"
---
Первый раз ошибся, извините.

```1c
    спр = Справочники.Контрагенты.НайтиПоНаименованию("аа");

    Для каждого Контрагент из спр.КонтактнаяИнформация цикл

    Если Контрагент.Вид = справочники.ВидыКонтактнойИнформации.ФактАдресКонтрагента Тогда
    // ляляля
    КонецЕсли;

    конеццикла;
```

Если конфигурация у вас не изменённая. "ВидыКонтактнойИнформации" - это предопределённый элемент.
Либо ищете по наименованию:

```1c
    Если Контрагент.Вид = справочники.ВидыКонтактнойИнформации.НайтиПоНаименованию("Фактический адрес") Тогда
```
---
```1c
    Если Контрагент.Вид = справочники.ВидыКонтактнойИнформации.НайтиПоНаименованию("Фактический адрес") Тогда
```

Работает. Выводит просто строку "Фактический адрес" если он есть у контрагента, если его нету то ничего не выводит. Не пойму только делаю

```1c
    Если НЕ Контрагент.Вид = справочники.ВидыКонтактнойИнформации.НайтиПоНаименованию("Фактический адрес") Тогда
```
 и
```1c
    Если Контрагент.Вид <> справочники.ВидыКонтактнойИнформации.НайтиПоНаименованию("Фактический адрес") Тогда
```
 тогда все ломается и не понятно как отрабатывает
---
надо сравнивать так:

справочники.ВидыКонтактнойИнформации.НайтиПоНаименованию("Фактический адрес") = Неопределено

А вообще лучше запросом всё это делать.

```1c
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | КонтрагентыКонтактнаяИнформация.Ссылка КАК Ссылка,
    | КонтрагентыКонтактнаяИнформация.Представление КАК Представление,
    | КонтрагентыКонтактнаяИнформация.Вид КАК Вид
    |ИЗ
    | Справочник.Контрагенты.КонтактнаяИнформация КАК КонтрагентыКонтактнаяИнформация
    |ГДЕ
    | КонтрагентыКонтактнаяИнформация.Ссылка = &Ссылка";

    Запрос.УстановитьПараметр("Ссылка", Объект.Контрагент);

    Выборка = Запрос.Выполнить().Выбрать();

    Пока Выборка.Следующий() Цикл
    Если Выборка.Вид = Справочники.ВидыКонтактнойИнформации.НайтиПоНаименованию("Фактический адрес") Тогда

    ИначеЕсли Выборка.Вид = Справочники.ВидыКонтактнойИнформации.НайтиПоНаименованию("Юридический адрес") Тогда

    КонецЕсли;
    КонецЦикла;
```
---
Спасибо за помощь, все получилось, но так сравнение с "Неопределено", "0", " ", не сработало почему-то( Всегда никакого результата не выдавало. Обработал только так :

```1c
    Если Выборка.Вид = Справочники.ВидыКонтактнойИнформации.НайтиПоНаименованию("Фактический адрес") Тогда
    Отказ = Истина;
    Возврат;
    Иначе
    Сообщить("тест");
    Отказ = Истина;
    Возврат;
    КонецЕсли;
```
---
Пожалуйста.