Обращение к реквизитам Юридического и Фактического адреса контрагента
Всем привет! Подскажите, обращаюсь НаСервере к ревизитам контрагента к Фактическому и Юридическому адресу вот так:
Адреса выводятся успешно + еще почта и телефоны и так далее. Мне необходимо обработать если адреса фактического или юридического нету. Проверил данную переменную "Вид" он строковый. Пробовал сделать так:
и так
и так
И еще куча разных способов, но не один не срабатывает. Если по словам ищу то возвращается значение 0, что его там нету. Помогите пожалуйста как решить данную проблему. За ранее всем спасибо!
КонтактнаяИнформация = Объект.Контрагент.КонтактнаяИнформация;
Для Каждого Элемент Из КонтактнаяИнформация Цикл
Вид = Элемент.Вид.Наименование;
Пред = Элемент.Представление;
Сообщить(Вид);
Сообщить(Пред);
КонецЦикла;
ПоказатьАдреса выводятся успешно + еще почта и телефоны и так далее. Мне необходимо обработать если адреса фактического или юридического нету. Проверил данную переменную "Вид" он строковый. Пробовал сделать так:
Факт = Найти(СтрокаНомер1, "Фактический");
Сообщить(Факт);
и так
СтрокаНомер1 = СтрПолучитьСтроку(Вид, 1);
Сообщить("1" + СтрокаНомер1);
и так
Если НЕ СтрНайти(Вид, "Фактический") Тогда
Сообщить("Фактический адрес не заполнен");
КонецЕсли;
И еще куча разных способов, но не один не срабатывает. Если по словам ищу то возвращается значение 0, что его там нету. Помогите пожалуйста как решить данную проблему. За ранее всем спасибо!
По теме из базы знаний
Найденные решения
(7) надо сравнивать так:
справочники.ВидыКонтактнойИнформации.НайтиПоНаименованию("Фактический адрес") = Неопределено
А вообще лучше запросом всё это делать.
справочники.ВидыКонтактнойИнформации.НайтиПоНаименованию("Фактический адрес") = Неопределено
А вообще лучше запросом всё это делать.
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| КонтрагентыКонтактнаяИнформация.Ссылка КАК Ссылка,
| КонтрагентыКонтактнаяИнформация.Представление КАК Представление,
| КонтрагентыКонтактнаяИнформация.Вид КАК Вид
|ИЗ
| Справочник.Контрагенты.КонтактнаяИнформация КАК КонтрагентыКонтактнаяИнформация
|ГДЕ
| КонтрагентыКонтактнаяИнформация.Ссылка = &Ссылка";
Запрос.УстановитьПараметр("Ссылка", Объект.Контрагент);
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
Если Выборка.Вид = Справочники.ВидыКонтактнойИнформации.НайтиПоНаименованию("Фактический адрес") Тогда
ИначеЕсли Выборка.Вид = Справочники.ВидыКонтактнойИнформации.НайтиПоНаименованию("Юридический адрес") Тогда
КонецЕсли;
КонецЦикла;
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Первый раз ошибся, извините.
Если конфигурация у вас не изменённая. "ВидыКонтактнойИнформации" - это предопределённый элемент.
Либо ищете по наименованию:
спр = Справочники.Контрагенты.НайтиПоНаименованию("аа");
Для каждого Контрагент из спр.КонтактнаяИнформация цикл
Если Контрагент.Вид = справочники.ВидыКонтактнойИнформации.ФактАдресКонтрагента Тогда
// ляляля
КонецЕсли;
конеццикла;
ПоказатьЕсли конфигурация у вас не изменённая. "ВидыКонтактнойИнформации" - это предопределённый элемент.
Либо ищете по наименованию:
Если Контрагент.Вид = справочники.ВидыКонтактнойИнформации.НайтиПоНаименованию("Фактический адрес") Тогда
(6)
Работает. Выводит просто строку "Фактический адрес" если он есть у контрагента, если его нету то ничего не выводит. Не пойму только делаю
и тогда все ломается и не понятно как отрабатывает
Если Контрагент.Вид = справочники.ВидыКонтактнойИнформации.НайтиПоНаименованию("Фактический адрес") Тогда
Работает. Выводит просто строку "Фактический адрес" если он есть у контрагента, если его нету то ничего не выводит. Не пойму только делаю
Если НЕ Контрагент.Вид = справочники.ВидыКонтактнойИнформации.НайтиПоНаименованию("Фактический адрес") Тогда
Если Контрагент.Вид <> справочники.ВидыКонтактнойИнформации.НайтиПоНаименованию("Фактический адрес") Тогда
(7) надо сравнивать так:
справочники.ВидыКонтактнойИнформации.НайтиПоНаименованию("Фактический адрес") = Неопределено
А вообще лучше запросом всё это делать.
справочники.ВидыКонтактнойИнформации.НайтиПоНаименованию("Фактический адрес") = Неопределено
А вообще лучше запросом всё это делать.
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| КонтрагентыКонтактнаяИнформация.Ссылка КАК Ссылка,
| КонтрагентыКонтактнаяИнформация.Представление КАК Представление,
| КонтрагентыКонтактнаяИнформация.Вид КАК Вид
|ИЗ
| Справочник.Контрагенты.КонтактнаяИнформация КАК КонтрагентыКонтактнаяИнформация
|ГДЕ
| КонтрагентыКонтактнаяИнформация.Ссылка = &Ссылка";
Запрос.УстановитьПараметр("Ссылка", Объект.Контрагент);
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
Если Выборка.Вид = Справочники.ВидыКонтактнойИнформации.НайтиПоНаименованию("Фактический адрес") Тогда
ИначеЕсли Выборка.Вид = Справочники.ВидыКонтактнойИнформации.НайтиПоНаименованию("Юридический адрес") Тогда
КонецЕсли;
КонецЦикла;
Показать
(8)Спасибо за помощь, все получилось, но так сравнение с "Неопределено", "0", " ", не сработало почему-то( Всегда никакого результата не выдавало. Обработал только так :
Если Выборка.Вид = Справочники.ВидыКонтактнойИнформации.НайтиПоНаименованию("Фактический адрес") Тогда
Отказ = Истина;
Возврат;
Иначе
Сообщить("тест");
Отказ = Истина;
Возврат;
КонецЕсли;
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот