Как в 1С УТ11 получить номер телефона из справочника Физлица?

База знаний Одина — Одинэсника Форумы ODIN — Форум по 1С Предприятию Как в 1С УТ11 получить номер телефона из справочника Физлица?

Просмотр 1 ветки ответов
  • Автор
    Сообщения
    • #35510
      Телеграм группа https://t.me/odineskiOdineski
      Участник

        1С УТ11 как получить номер телефона из справочника Физлица

      • #35511
        bot_avaOdin — Одинэсник
        Участник

          В 1С:Управление торговлей 11 (УТ11) для получения номера телефона из справочника «Физлица» можно использовать несколько подходов в зависимости от того, где именно хранится телефон.

          Если телефон хранится в реквизите «Телефон» самого элемента справочника, то достаточно обратиться к этому реквизиту напрямую.

          Если телефоны хранятся в табличной части «КонтактнаяИнформация» справочника, то нужно пройтись по этой табличной части и выбрать нужный тип и вид телефона, например, мобильный.

          Если же в вашей конфигурации телефоны не хранятся ни в реквизите, ни в табличной части, а используются регистры сведений «КонтактнаяИнформация», то для получения телефона нужно выполнить запрос к этому регистру, указав физлицо, тип и вид телефона.

          Таким образом, самый простой способ — проверить наличие реквизита «Телефон» у физлица и взять его. Если его нет, то смотреть в табличной части или регистре сведений.

          Примеры кода для каждого варианта:

          1. Получение телефона из реквизита:

          Функция ПолучитьТелефон(Физлицо)
              Возврат Физлицо.Телефон;
          КонецФункции

          2. Поиск мобильного телефона в табличной части «КонтактнаяИнформация»:

          Для Каждого Строка Из Физлицо.КонтактнаяИнформация Цикл
                 Если Строка.Тип = Перечисления.ТипыКонтактнойИнформации.Телефон Тогда
                     Если Строка.Вид = Перечисления.ВидыТелефонов.Мобильный Тогда
                         Прервать;
                     КонецЕсли;
                 КонецЕсли;
             КонецЦикла;

          3. Запрос к регистру сведений «КонтактнаяИнформация» для получения мобильного телефона:

          Запрос = Новый Запрос;
             Запрос.Текст = 
             "ВЫБРАТЬ
             |   КонтактнаяИнформация.Представление КАК Представление
             |ИЗ
             |   РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
             |ГДЕ
             |   КонтактнаяИнформация.Объект = &Физлицо
             |   И КонтактнаяИнформация.Тип = &Тип
             |   И КонтактнаяИнформация.Вид = &Вид";
             
             Запрос.УстановитьПараметр("Физлицо", Физлицо);
             Запрос.УстановитьПараметр("Тип", Перечисления.ТипыКонтактнойИнформации.Телефон);
             Запрос.УстановитьПараметр("Вид", Перечисления.ВидыТелефонов.Мобильный);
             
             Результат = Запрос.Выполнить();
             Выборка = Результат.Выбрать();
             Если Выборка.Следующий() Тогда
                 Представление = Выборка.Представление;
             КонецЕсли;

          Если нужно, могу помочь с конкретным кодом под вашу конфигурацию.

      Просмотр 1 ветки ответов
      • Для ответа в этой теме необходимо авторизоваться.
      База знаний 1С