Имя: Пароль:
1C
 
Как получить элементы справочника в порядке создания?
0 dwarfadelic
 
19.08.15
13:18
8.2x Как получить набор всех записей из справочника в порядке того как они
были созданы? С помощью запроса или ещё каким способом.
1 Ёпрст
 
19.08.15
13:19
с журнала регистрации вытащи
2 ДенисЧ
 
19.08.15
13:20
Есть маленькая вероятность, что сортировка по ссылке поможет.
Но она очень мала.
В нормальных базах - по коду.
3 Апош
 
19.08.15
13:25
(0) зачем?
(1) если есть
4 разработчик 1с
 
19.08.15
13:26
в уиде датавремя создания же есть
5 dwarfadelic
 
19.08.15
13:26
в том и дело что база ненормальная и мне нужно коды нормализовать по дате создания.
6 rs_trade
 
19.08.15
13:27
(5) по ссылке тогда.
7 ДенисЧ
 
19.08.15
13:27
(5) Нафейхоа?
8 Апош
 
19.08.15
13:28
(5) элементу справочника глубоко поровну на то, когда он был создан. как и его коду
9 Зеленый пень
 
19.08.15
13:29
(0) В общем случае - никак, кроме ЖР.
10 Lama12
 
19.08.15
13:35
(0) Зачем? Откуда такая задача? Что изменится от того когда какой элемент создан?
11 dwarfadelic
 
19.08.15
13:56
так по заданию положено. чем более поздни й товар тем больше код и чтобы коды по порядку шли проводится нормализация кодов
12 Фокусник
 
19.08.15
14:02
(11) Это не автор задания главный герой анекдота: http://www.anekdot.ru/id/-9999218/ ? ;)
13 dwarfadelic
 
19.08.15
14:15
там есть импорт из других источников с друми кодами в эти справочники там может быть совпадение кодов даже и пр
14 ДенисЧ
 
19.08.15
14:17
(13) Совпадения кодов быть не может, ибо уникальность включена.
Ведь включена?
15 Kurbash
 
19.08.15
14:18
(14)))))
16 Фокусник
 
19.08.15
14:21
(14) ОбменДанными.Загрузка = Истина. И идет лесом эта "уникальность" ;)
17 dwarfadelic
 
19.08.15
14:23
но по любому не по порядку идут 0001 0002 0004 0009 да ещё иногда с префиксами типа кто0008
18 Анютик
 
19.08.15
14:25
перенумеровать и все...зачем по дате создания-то?
19 Анютик
 
19.08.15
14:26
Запрос = Новый Запрос;
    
    Запрос.Текст = "ВЫБРАТЬ
    |    Контрагенты.Код,
    |    Контрагенты.Ссылка
    |ИЗ
    |    Справочник.Контрагенты КАК Контрагенты
    |ГДЕ
    |    Контрагенты.Предопределенный = ЛОЖЬ";
    
    
    Выборка = Запрос.Выполнить().Выгрузить();
    
    Для Каждого Стр Из Выборка Цикл
        
        ТекОб = Стр.Ссылка.ПолучитьОбъект();
        ТекКод = Стр.Код;
        ТекОб.Код = "С"+Сред(ТекКод,2,СтрДлина(Стр.Код)-1);
        ТекОб.Записать();
        
    КонецЦикла;
    

Потом такой же цикл, только Коды по порядку присваиваете. И забудьте придумывать сферических коней в вакууме
20 dwarfadelic
 
19.08.15
14:32
пока сортирую по ссылке вроде работает.
21 RomaH
 
naïve
19.08.15
14:36
(20) а откуда знаешь что работает?
я это к тому, что
отсортируйте по-порядку
отсортировал - проверяйте
а как проверять?
ну тогда верьте на слово
22 RomaH
 
naïve
19.08.15
14:37
еще вариант - создаешь дубли всех элементов
их дату создания ты знаешь
потом заменаешь первоисточник на дубль, а первоисточник удаляешь - тут не подкопаешься
23 rs_trade
 
19.08.15
14:53
(22) интересно. осталось малое, создавать дубли в порядке создания оригиналов.
24 dwarfadelic
 
19.08.15
15:10
можно просто из запроса брать по одной и измеряя их дату создания класть их в массив
25 Mitriy
 
19.08.15
15:14
(24) есть измерялка?
26 dwarfadelic
 
19.08.15
15:19
есть функция по ссылке дату определяет но в запрос ее не воткнешь
27 Mitriy
 
19.08.15
15:32
(26) там точность очень относительная, если ты про гуид...
28 hhhh
 
19.08.15
15:34
(26) создай реквизит ДатаСоздания и его заполни. Потом еще и проиндексируй по нему.
29 Fedor-1971
 
19.08.15
15:38
(0) Как идея - элементы используются в документах, выбери минимальную дату документа, где сей элемент встречается, дальше нумеруй с префиксом, например, "Н".
30 bolobol
 
19.08.15
15:50
+(29) А если не используется в документах - значит - и не создавался никогда))))))
Но как проверка адекватности сортировки - взлетит!
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан