|
|
|
Подскажите простой способ как перебрать все документы базы? | ☑ | ||
|---|---|---|---|---|
|
0
Капюшон
23.06.09
✎
13:08
|
В базе документы разных видов. Как в список значений засунуть абсолютно все?
|
|||
|
1
bvn13
23.06.09
✎
13:09
|
есть решение
|
|||
|
2
IronDemon
23.06.09
✎
13:09
|
Зачем?
|
|||
|
3
Капюшон
23.06.09
✎
13:09
|
(1)Я знаю как через объект метаданные это сделать. Перебрать все виды доков и для каждого из них выборку сделать. А может както запросом можно?
|
|||
|
4
Живой Ископаемый
23.06.09
✎
13:10
|
гы...
|
|||
|
5
mikecool
23.06.09
✎
13:10
|
(3) можно, циклом по метаданным собрать текст запроса
|
|||
|
6
Капюшон
23.06.09
✎
13:11
|
(2)У меня есть две базы - живая и бекап 2 дневной давности. в свежей базе нечайно сделали групповое проведение доков так, Что даже непроведённые документы провели. ,Я хочу через ОЛЕ подсоединиться к старой базе и пройтись по всем документам. чтобы те, что стали проведёнными в новой базе, снять с проведения
|
|||
|
7
Живой Ископаемый
23.06.09
✎
13:12
|
Может лучше универсальныой выгурзкой-азгрузкой через ХМЛ по каждому виду?
|
|||
|
8
Капюшон
23.06.09
✎
13:14
|
(7)может. боюсь только. потомучто они задним числом правят документы нередко. а отследить их сложно. поскольку они по сети из разных городов сидят.
|
|||
|
9
bvn13
23.06.09
✎
13:41
|
(5) я же говорю - (1)
Запрос=новый Запрос; Запрос.Текст=""; ТЗ_выборкаДок = " |ВЫБРАТЬ Ссылка, Дата, ПометкаУдаления, Проведен |ИЗ Документ."; ТЗ_объединение = " | |ОБЪЕДИНИТЬ ВСЕ |"; н=0; для каждого документ из метаданные.документы цикл н=н+1; если н<>1 тогда Запрос.Текст=Запрос.Текст + ТЗ_объединение + ТЗ_выборкаДок + документ.имя; иначе Запрос.Текст=Запрос.Текст + ТЗ_выборкаДок + документ.имя; конецЕсли; конецЦикла; док = Запрос.Выполнить().Выбрать(); пока док.Следующий() цикл ну и так далее... |
|||
|
10
Живой Ископаемый
23.06.09
✎
13:47
|
ну... при некоторых услових это решение может и не работать... :)
|
|||
|
11
bvn13
23.06.09
✎
13:48
|
(10) например? не соображу..
|
|||
|
12
Живой Ископаемый
23.06.09
✎
13:48
|
например если в этом запросе в итоге будет больше 256 таблиц, а база клиент-серверная...
|
|||
|
13
bvn13
23.06.09
✎
13:51
|
(12) :) ну это еще надо постараться....:) у меня не доходило до этого.
|
|||
|
14
SMakcik
23.06.09
✎
13:52
|
Можно создать общий журнал и по нему пройтись.
|
|||
|
15
Капюшон
23.06.09
✎
13:54
|
(14)тоже вариант. спасибо )
|
|||
|
16
Капюшон
23.06.09
✎
13:54
|
(13)Ваш пример быстрее работает, чем
СписокВидовДокументов = Новый СписокЗначений; Для Каждого ДокументКонфигурации из Метаданные.Документы Цикл СписокВидовДокументов.Добавить(ДокументКонфигурации.Имя); КонецЦикла; СписДок=Новый СписокЗначений; Для Инд=0 По СписокВидовДокументов.Количество()-1 Цикл ТекВид=СписокВидовДокументов.Получить(Инд).Значение; ТекДок=Документы[ТекВид].Выбрать(,); Пока ТекДок.Следующий() Цикл СписДок.Добавить(ТекДок.Ссылка); КонецЦикла; КонецЦикла; |
|||
|
17
SMakcik
23.06.09
✎
14:24
|
(16) естно что запрос быстрей будет работать
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |