7.7 Индекс не входит в границы списка значений

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем Walya, 6 авг 2007.

  1. TopicStarter Overlay
    Walya
    Offline

    Walya

    Регистрация:
    1 авг 2007
    Сообщения:
    2
    Симпатии:
    0
    Баллы:
    1
    На некоторых физ.лицах, когда пытаюсь ПолучитьЭлементАдреса-ругается, что "Индекс не входит в границы списка значений". Подскажите, что это значит, и в каком направлении копать.

    СписАдрес = глРазложить(ФизЛицо.АдресПрописка);
    ПолучитьЭлементАдреса(СписАдрес.ПолучитьЗначение(5),"Г");

    Функция ПолучитьЭлементАдреса(знач Стр,Ид)
    Стр = ВРЕГ(СокрЛП(Стр));
    Если Прав(Стр,СтрДлина(Ид))=Ид Тогда
    Стр = СокрП(Лев(Стр,СтрДлина(Стр)-СтрДлина(Ид)));
    КонецЕсли;
    Возврат Стр;
    КонецФункции
  2. Schtass
    Offline

    Schtass

    Регистрация:
    25 апр 2007
    Сообщения:
    23
    Симпатии:
    0
    Баллы:
    1
    глРазложить() - это функция, скорее всего, возращает из Строки СписокЗначений. Судя по ошибке она возращает СписокЗначений с количеством значений меньше 5.
  3. XXL
    Offline

    XXL Опытный в 1С Команда форума

    Регистрация:
    22 янв 2007
    Сообщения:
    1.159
    Симпатии:
    19
    Баллы:
    29
    у меня было такое, найти эту обработку не могу, попробуй так:

    СписАдрес = глРазложить(ФизЛицо.АдресПрописка);
    Для Номер = 1 по СписАдрес.РазмерСписка() Цикл
    Если ПустоеЗначение(СписАдрес.ПолучитьЗначение(5)) = 1 Тогда
    Стр = "";
    Иначе
    Стр = СокрЛП(СЗ.ПолучитьЗначение(2));
    КонецЕсли;
    КонецЦикла;


    а такую ошибку может выдавать, если адрес не целиком написан или например под Значением5 должен быть корпус, а адрес изначально без корпуса, тогда там пустое значение

    а такую ошибку может выдавать, если адрес не целиком написан или например под Значением5 должен быть корпус, а адрес изначально без корпуса, тогда там пустое значение

    извиняюсь, не Стр = СокрЛП(СЗ.ПолучитьЗначение(2));
    , а Стр = СокрЛП(СЗ.ПолучитьЗначение(5));

Поделиться этой страницей