8.х Планы обмена, оператор [...]

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Bonov, 15 окт 2009.

  1. TopicStarter Overlay
    Bonov
    Offline

    Bonov

    Регистрация:
    9 апр 2009
    Сообщения:
    29
    Симпатии:
    0
    Баллы:
    1
    Добрый день! Версия платформы: 8.1.14.72.

    Кто знает, почему следующий код успешно работает в общем модуле, а в обработке возвращает ошибку «Получение элемента по индексу для значения не определено»? В справке четко сказано, что возможно обращение к менеджеру плана обмена посредством оператора […]. Может есть какие ограничения, о которых я не знаю?

    Код:
    Office = ExchangePlans[ExchangePlanName].ThisNode() Then
    
  2. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Покажите, откуда получается ExchangePlans и что такое ExchangePlanName

    Лучше весь код привести
  3. TopicStarter Overlay
    Bonov
    Offline

    Bonov

    Регистрация:
    9 апр 2009
    Сообщения:
    29
    Симпатии:
    0
    Баллы:
    1
    Рассказываю:

    В форме, в которой можно вручную запускать синхронизацию между РИБ есть поле Officе составного типа, которое может указывать на узел любого плана обмена в системе.

    Так вот мне нужно из узла получить сам менеджер плана обмена, чтобы осуществить синхронизацию. Раньше был один план обмена, сейчас их несколько, поэтому необходимо в данном случае, чтобы работал оператор [...].

    ExchangePlans = ПланыОбмена - глобальный контекст, используется для доступа к планам обмена.

    Код:
    If Office = Undefined or Office.IsEmpty() Then		//Выбран ли узел?
    DoMessageBox("Please select office for exchange!");
    Return;
    EndIf;
    
    If Office = ExchangePlans[Office.Metadata().Name].ThisNode() Then	//Не выбран ли ЭТОТ УЗЕЛ?
    DoMessageBox("Please select correct office for exchange!");
    Return;
    EndIf;
    

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