arkuznetsov / irac

Интерфейсная библиотека (oscript) к утилите администрирования кластера серверов 1С (rac).
Mozilla Public License 2.0
75 stars 35 forks source link

Не хватает описания как работать с объектом Сеансы #29

Open ildary opened 6 years ago

ildary commented 6 years ago

Подскажите пожалуйста, как правильно работать со списком сеансов? В демо-примере после строки

Для Каждого ТекИБ Из СписокИБ Цикл

добавляю СписокСеансов = ТекИБ.Сеансы(); и получаю "ПРЕДУПРЕЖДЕНИЕ - Получен ненулевой код возврата -1. Выполнение скрипта остановлено!".

Используется библиотека в пакете OneScript. В остальном демо-пример работает корректно.

ildary commented 6 years ago

С ошибкой разобрался, но почему-то список сеансов возвращается пустой:

    Для Каждого ТекИБ Из СписокИБ Цикл // Обходим список информационных баз

        ТекБаза = Новый ИнформационнаяБаза( АдминкаКластера, Кластер, ТекИБ.Ид(), "ИмяАдмина", "ПарольАдмина" );
        ТекБаза.ОбновитьДанные(Истина);

        Если ВыводитьСеансы Тогда

            СписокСеансов = ТекБаза.Сеансы();
            // Вот тут СписокСеансов.Количество() = 0
ildary commented 6 years ago

irac-test.txt

Вот полный пример файла, который не видит сеансы базы (но не выдаёт ошибку)

ildary commented 6 years ago

В dev ветке сеансы видятся, но там есть ошибка:

Файл ИсполнительКоманд.os

Функция ВыполнитьКоманду(Знач ПараметрыКоманды) Экспорт

ИнициализироватьУтилитуАдминистрирования(); //<----Тут ожидается параметр - версия
ildary commented 6 years ago

Также в документации лучше обратить внимание на правильное обращение к объектам, например при получении базы - чтобы работать с ней, надо сделать примерно так:

Для Каждого ТекИБ Из СписокИБ Цикл ТекБаза = Новый ИнформационнаяБаза( АдминкаКластера, Кластер, ТекИБ.Ид(), "ws", "" ); ТекБаза.ОбновитьДанные(Истина); //вот теперь в базе можно получить её сеансы

а для получения списка сеансов надо делать так:

СписокСеансов = ТекБаза.Сеансы(); СписокСеансов = СписокСеансов.Список(); // сам список сеансов не даёт через себя перебирать через Для Каждого