Как загрузить справочник в список значений

Тема в разделе "1C и всё что с ней связано", создана пользователем Maid, 16 апр 2007.

Статус темы:
Закрыта.
  1. Maid

    Maid Гость

    Помогите, пожалуйста, начинающему программисту, как загрузить элементы справочника в поле со списком на форме документа.
     
  2. jj_mail

    jj_mail Гость

    Спр = СоздатьОбъект("Справочник........");
    Спр.ВыбратьЭлементы();
    Пока Спр.ПолучитьЭлемент() = 1 Цикл
    спис.ДобавитьЗначение(Спр.ТекущийЭлемент);
    КонецЦикла;
     
  3. LSH

    LSH Гость

    Для: jj_mail

    <!--QuoteBegin-jj_mail+16:04:2007, 14:31 -->
    <span class="vbquote">(jj_mail @ 16:04:2007, 14:31 )</span><!--QuoteEBegin-->Спр.ТекущийЭлемент
    [snapback]62557" rel="nofollow" target="_blank[/snapback]​
    [/quote]

    Спр.ТекущийЭлемент();
     
  4. jj_mail

    jj_mail Гость

    ага, сорь :huh:
     
  5. Maid

    Maid Гость

    спасибо, попробую сейчас
     
  6. Гость

    Не слушай никого - прямая выборка из справочника - это возмутительно медленный способ :) . Особенно на SQL заметно будет.
    Правильнее вытянуть данные "черным запросом", а запрос выгрузить в таблицу значений.
     
  7. LSH

    LSH Гость

    Для: Рыбка

    Проверил:

    ПЕРЕБОР
    ---Всего: 3508 элементов
    ---Время: 260 мсек.

    ЗАПРОС
    ---Всего: 3508 элементов
    ---Время: 949 мсек.

    Запрос делался по справочнику, выгружался в ТаблЗн, а из ТаблЗн выгружался в СписЗн (т.к. в топике именно туда надо выгрузить справочник).

    На СКУЛ не проверял, но ради интереса сегодня потестирую.
     
  8. LSH

    LSH Гость

    Вот еще результаты (разные кфг., все dbf):

    ПЕРЕБОР
    ---Всего: 6696 элементов
    ---Время: 928 мсек.
    ЗАПРОС
    ---Всего: 6696 элементов
    ---Время: 2093 мсек.

    ПЕРЕБОР
    ---Всего: 5594 элементов
    ---Время: 852 мсек.
    ЗАПРОС
    ---Всего: 5594 элементов
    ---Время: 3146 мсек.

    Итог: на dbf простой перебор ВСЕГДА быстрее простого запроса (а что самое главное - проще).
    Замер производительности делался с помощью разницы между _GetPerformanceCounter() до и после обработки.

    З.Ы. Замер в предыдущем посте можно считать "нечэстным" т.к. в той кфг используется turboBL.dll
    В остальных 2-х никаких ВК не используется.
     
  9. Гость

    А можно про turboBL.dll поподробнее?
     
  10. Гость

    Про DBF - в отношении прямой выборки - была неправа - действительно быстрее, независимо от размера справочника (по крайней мере до 100 тыс).
    на SQL - использование запросов - это рекомендация от 1С. К меня при тестировании скорость запроса превышает скорость прямой выборки примерно в 5.5 раз.
     
  11. LSH

    LSH Гость

    Для: Ром@

    Можно, но лучше спросить у гугля.

    Кратко - ВК для ускорения некоторых процессов в обход методов 1С.
    Ищите, качайте, там есть пример с замерами.
     
  12. Гость

    Спасибо, почитаем
     
Загрузка...
Статус темы:
Закрыта.

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