Имя: Пароль:
1C
1C 7.7
v7: Запрос на первые 10 элементов справочника
0 mrakobesS
 
12.08.17
10:53
Добрый день!
Подскажите пожалуйста как в запросе в 7.7 отобрать только первые 10 элементов справочника
1 palpetrovich
 
12.08.17
11:01
а как пробовал?
зы: никак. и зачем?
2 mrakobesS
 
12.08.17
11:09
пробовала через условие, через счетчик.. ну в общем в 7-ке я профан. А вся задача состоит в том, чтобы перенести справочник контрагенты из 7-ки в 8-ку через КД. но так как я экспериментирую с переносом, хотела не перегружать каждый раз по 15000 элементов, а только на 10 тренироваться.. и хотела процедуру отбора данных прописать в ПВД
3 palpetrovich
 
12.08.17
11:27
15000 или 10 - это практически одинаково ...не 5 лимонов-же
Думаю надо сосредоточиться на самом переносе, а не на деталях
4 HawkEye
 
12.08.17
11:48
(0) получи перебором.... обязательно запросом что-ли?
5 zgarick
 
12.08.17
12:20
Без 1с++ никак. Только перебором.
6 МихаилМ
 
12.08.17
12:23
если у справочника есть номер, отбирате по номеру
7 Злопчинский
 
12.08.17
12:41
Мракобесие сплошное
8 NSSerg
 
12.08.17
13:00
сч=0;
спис=создатьобъект("СписокЗначений");
спр=создатьобъект("Справочник.Контрагенты");
спр.ВыбратьЭлементы();
Пока Спр.ПолучитьЭлемент()=1 цикл
  Если спр.Этогруппа()=1 тогда
    продолжить;
  КонецЕсли;
  спис.ДобавитьЗначение(спр.Текущийэлемент());
  сч=сч+1;
  Если сч=10 тогда
      прервать;
  КонецЕсли;  
КонецЦикла;

Ровно так-же и запросом - при обходе группировок отсечь по счетчику (с запросом кроме счетчика можно выгрузить 10 элементов методом Запрос.Выгрузить())


Полученный список из 10 контрагентов теперь можешь использовать в запросе в фильтре "Условие (контр в спис);"
9 Злопчинский
 
12.08.17
13:07
(0) эти люди еще в снеговике что-то делать будут...
первые 10 - какие "первые"? первые по праву рождения? первые по количеству символов в наименовании? первые по дате занесения в справочник? первые в порядке сортировки (по коду? по наименованию? по другому реквизиту?)
10 2S
 
12.08.17
13:07
(0) условие в запрос по отобранному списку элементов справочника
11 NSSerg
 
12.08.17
13:08
(9) Скорей всего "любые" 10.
12 2S
 
12.08.17
13:08
(9) человек только вчера родился, судя по личке, простительно
13 NSSerg
 
12.08.17
13:12
Запрос=СоздатьОбъект("Запрос");
    ТекстЗапроса="Обрабатывать все;
    |Контр=Справочник.Контрагенты.ТекущийЭлемент;
    |Группировка Контр без групп;";  
    
    Запрос.Выполнить(ТекстЗапроса);  
    
    ТЗК=СоздатьОбъект("ТаблицаЗначений");
    Запрос.Выгрузить(ТЗК,0,0);
        спис=создатьобъект("СписокЗначений");
        ТЗК.Выгрузить(Спис,1,10,"Контр");  

// Это если хочется запросом и без выборки;
14 mrakobesS
 
12.08.17
13:17
спасибо за ответы!буду пробовать
15 Злопчинский
 
12.08.17
13:36
(14) остлорожно, не отравитесь сами и не отравите других! ;-)
.
инфа по контрагентам не такая уж и большая, хрен ли их порциями обрабатывать, запихнули бы сразу всё и дело с концом
.
ну и т.к. не озвучена конфигурация надо предупредить - в 7.7 Торговля и Склад почти вся информация для переноса "контрагентов" находится совсем не в Спр.Контрагенты....
16 mrakobesS
 
12.08.17
14:41
порциями, потому что обучаюсь конвертации данных. поэтому, чтобы быстрее происходили выгрузки-загрузки нужно малое количество данных брать. та база из которой выгружать содержит много элементов. и очень долго выгружать и особенно загружать
17 dmitryds
 
12.08.17
14:44
(2) пока тему создавать, пока ждать ответов... те 1500 уже десяток раз выгрузились бы...
18 dmitryds
 
12.08.17
14:45
(17) *15000
19 mrakobesS
 
12.08.17
15:09
я так и сделала )
20 mrakobesS
 
12.08.17
15:10
всем спасибо за участие и ответы
21 Chameleon1980
 
12.08.17
20:13
взять для испытаний базу с меньшим кол-вом
информации