8.х Не находит метод

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

  1. TopicStarter Overlay
    wertklop
    Offline

    wertklop Опытный в 1С

    Регистрация:
    12 май 2008
    Сообщения:
    321
    Симпатии:
    0
    Баллы:
    26
    для определения количества реквизитов через сом использую такую схему:
    Код:
    База.Метаданные().Справочники.НазначенияИспользования.Реквизиты.Количество();
    
    
    
    где База-идентификатор подключения.
    для остальных справочников подобная схема работает нормально, а вот для этого справочника нет :unsure: почему так происходит и как исправить проблему?

    используемая конфа: Бухгалтерия предприятия, редакция 1.6 (1.6.18.2)
  2. BabySG
    Offline

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

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Укажите версию платформы.
    Попробуйте отладчиком остановится и посмотреть, что там получается:
    Код:
    База.Метаданные().Справочники.НазначенияИспользования.Реквизиты
    
    ЗЫ. И не надо дублировать темы - устное предупреждение.
  3. TopicStarter Overlay
    wertklop
    Offline

    wertklop Опытный в 1С

    Регистрация:
    12 май 2008
    Сообщения:
    321
    Симпатии:
    0
    Баллы:
    26
    платформа 1С:Предприятие 8.1 (8.1.14.72)
    в отладчике выводит все реквизиты справочника, а вот метод количество(именно для этого справочника!!!) не работает

    по поводу дублирования темы....я просто не знал, куда именно стоит написать эту тему
  4. BabySG
    Offline

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

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Есть обработка? Выкладывай, будем смотреть :)
  5. TopicStarter Overlay
    wertklop
    Offline

    wertklop Опытный в 1С

    Регистрация:
    12 май 2008
    Сообщения:
    321
    Симпатии:
    0
    Баллы:
    26
    а чего её выкладывать то?
    Код:
    База = Новый COMОбъект("V81.COMConnector");
    Попытка
    СтрокаСоединения = "File=""<путьКбазеБух>"";Usr=""<пользователь>"";Pwd="""";";
    Открыто = База.Connect(СтрокаСоединения);
    Исключение
    Предупреждение("Подключение не выполнено. " + ОписаниеОшибки(), 0);
    КонецПопытки;
    Сообщить(База.Метаданные().Справочники.НазначенияИспользования.Реквизиты.Количество());
    
    
  6. BabySG
    Offline

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

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Мне лениво писать ее просто :)
    Ладно, сейчас попробую на демке...
  7. ASh
    Offline

    ASh Опытный в 1С

    Регистрация:
    10 сен 2008
    Сообщения:
    568
    Симпатии:
    0
    Баллы:
    26
    Это баг COM соединений. Ошибка появляется из-за того, что в данном справочнике есть реквизит с именем "Количество". Соответственно обработка обращается к объекту метаданных, а не методу. Так же ошибка появится и при использовании других методов, если обращение идет к метаданным с таким же именем. Обойти можно реализовав метод вручную. Пример для количества:
    Код:
    Кол = 0;
    Для Каждого Рекв Из База.Метаданные.Справочники.НазначенияИспользования.Реквизиты Цикл
    Кол = Кол+1;
    КонецЦикла;
    Сообщить(Кол);
    
    
    PS Определитесь, что Вы используете. Для коннектора com-соединение у Вас в переменной "Открыто" находится

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