8.х Как подключить индикатор?

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

  1. TopicStarter Overlay
    iceborn
    Offline

    iceborn Опытный в 1С

    Регистрация:
    17 июн 2010
    Сообщения:
    204
    Симпатии:
    0
    Баллы:
    26
    Никогда не подключал индикаторы. Подскажите как это осуществить? Осуществляю соединение с другой базой, грузится не очень быстро, и хочется прикрепить индикатор.

    Есть процедура:

    Код:
    connection = Новый COMObject("V81.COMConnector");
    connection = connection.Connect("File=""C:\1с\InfoBase2"";Usr="""";");
    Номенклатура = connection.Справочники.Номенклатура;
    Выборка = Номенклатура.Выбрать();
    Пока Выборка.Следующий() Цикл
    ПолеСписка1.Добавить(Выборка.Наименование);
    КонецЦикла;
    
  2. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.735
    Симпатии:
    508
    Баллы:
    204
    Код:
    Выборка = Номенклатура.Выбрать();
    Индикатор = ЭлементыФормы.ИндикаторПеребора;
    Индикатор.МаксимальноеЗначение = Выборка.Количество();
    Индикатор.Значение = 0;
    Пока Выборка.Следующий() Цикл
    ПолеСписка1.Добавить(Выборка.Наименование);
    Индикатор.Значение = Индикатор.Значение + 1;
    КонецЦикла;
    
  3. TopicStarter Overlay
    iceborn
    Offline

    iceborn Опытный в 1С

    Регистрация:
    17 июн 2010
    Сообщения:
    204
    Симпатии:
    0
    Баллы:
    26
    {Обработка.Обработка1.Форма.Форма(8)}: Значение не является значением объектного типа (МаксимальноеЗначение)
    Индикатор.МаксимальноеЗначение = Выборка.Количество();
  4. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.735
    Симпатии:
    508
    Баллы:
    204
    А на форме установили индикатор?
  5. TopicStarter Overlay
    iceborn
    Offline

    iceborn Опытный в 1С

    Регистрация:
    17 июн 2010
    Сообщения:
    204
    Симпатии:
    0
    Баллы:
    26
    Конечно, если бы я его не установил выдало бы ошибку что нет объекта



    Код:
    Процедура ВыполнитьНажатие(Элемент)
    connection = Новый COMObject("V81.COMConnector");
    connection = connection.Connect("File=""C:\1с\InfoBase2"";Usr="""";");
    Номенклатура = connection.Справочники.Номенклатура;
    Выборка = Номенклатура.Выбрать();
    Индикатор = ЭлементыФормы.Индикатор;
    Индикатор.МаксимальноеЗначение = Выборка.Количество();
    Индикатор.Значение = 0;
    Пока Выборка.Следующий() Цикл
    ПолеСписка1.Добавить(Выборка.Наименование);
    Индикатор.Значение = Индикатор.Значение + 1;
    КонецЦикла;
    КонецПроцедуры;
    
  6. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.735
    Симпатии:
    508
    Баллы:
    204
    Сейчас проверил, свойство у объекта есть.
  7. TopicStarter Overlay
    iceborn
    Offline

    iceborn Опытный в 1С

    Регистрация:
    17 июн 2010
    Сообщения:
    204
    Симпатии:
    0
    Баллы:
    26
    Интересно, а в чем тогда у меня проблема?:(
  8. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.735
    Симпатии:
    508
    Баллы:
    204
    А имя индикатора совпадает?
  9. TopicStarter Overlay
    iceborn
    Offline

    iceborn Опытный в 1С

    Регистрация:
    17 июн 2010
    Сообщения:
    204
    Симпатии:
    0
    Баллы:
    26
    Да все совпадает. Может что то не так в свойствах Индикатора?
  10. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.735
    Симпатии:
    508
    Баллы:
    204
    Ну в свойствах индикатора есть МаксимальноеЗначение и МинимальноеЗначение.
  11. TopicStarter Overlay
    iceborn
    Offline

    iceborn Опытный в 1С

    Регистрация:
    17 июн 2010
    Сообщения:
    204
    Симпатии:
    0
    Баллы:
    26
    Минимальное 0 Макс. 100 Шаг 1
  12. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.735
    Симпатии:
    508
    Баллы:
    204
    Что-то тогда вообще не понятно:(.
  13. TopicStarter Overlay
    iceborn
    Offline

    iceborn Опытный в 1С

    Регистрация:
    17 июн 2010
    Сообщения:
    204
    Симпатии:
    0
    Баллы:
    26
    Делаю по такой системе

    Код:
    connection = Новый COMObject("V81.COMConnector");
    connection = connection.Connect("File=""C:\1с\InfoBase2"";Usr="""";");
    Номенклатура = connection.Справочники.Номенклатура;
    Выборка = Номенклатура.Выбрать();
    ЭлементыФормы.Индикатор.МаксимальноеЗначение = Выборка.Количество();
    СчётчикСостояния = 0;
    Пока Выборка.Следующий() Цикл
    ПолеСписка1.Добавить(Выборка.Наименование);
    СчётчикСостояния = СчётчикСостояния + 1;
    ЭлементыФормы.Индикатор.Значение = СчётчикСостояния;
    КонецЦикла;
    

    Пишет ошибку

    Метод объекта не обнаружен (Количество)
    ЭлементыФормы.Индикатор.МаксимальноеЗначение = Выборка.Количество();

    Мля запарился!!!
  14. TopicStarter Overlay
    iceborn
    Offline

    iceborn Опытный в 1С

    Регистрация:
    17 июн 2010
    Сообщения:
    204
    Симпатии:
    0
    Баллы:
    26
    Вообщем нету метода Количество
  15. BabySG
    Offline

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

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Метод Количество есть у выборки из результата запроса, у выборки, полученной объектным методом - такого метода нет. Связано с тем, что реализация выборки сделана по разному.
    Рекомендую ВСЕГДА использовать запрос.
  16. TopicStarter Overlay
    iceborn
    Offline

    iceborn Опытный в 1С

    Регистрация:
    17 июн 2010
    Сообщения:
    204
    Симпатии:
    0
    Баллы:
    26
    Код:
    connection = Новый COMObject("V81.COMConnector");
    connection = connection.Connect("File=""C:\1с\InfoBase2"";Usr="""";");
    Запрос = connection.NewObject("Запрос");
    Запрос.Текст = "ВЫБРАТЬ
    |    Номенклатура.Ссылка
    |ИЗ
    |    Справочник.Номенклатура КАК Номенклатура"; 
    
    Выборка = Запрос.Выполнить().Выбрать();
    ЭлементыФормы.Индикатор.МаксимальноеЗначение = Выборка.Количество();
    СчётчикСостояния = 0;
    Пока Выборка.Следующий() Цикл
    ПолеСписка1.Добавить(Выборка.Наименование);
    СчётчикСостояния = СчётчикСостояния + 1;
    ЭлементыФормы.Индикатор.Значение = СчётчикСостояния;
    КонецЦикла;
    
    
    Поле объекта не обнаружено (Наименование)
    ПолеСписка1.Добавить(Выборка.Наименование);
  17. UnNone
    Offline

    UnNone Опытный в 1С

    Регистрация:
    21 мар 2007
    Сообщения:
    148
    Симпатии:
    0
    Баллы:
    26
    Вы в запросе выбираете ссылку, а вывести хотите наименование.
    Подкорректируйте запрос:
    Код:
    Запрос.Текст = "ВЫБРАТЬ
    |    Номенклатура.Наименование
    |ИЗ
    |    Справочник.Номенклатура КАК Номенклатура"; 
    

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