|
Как перебрать в цикле все документы ? | ☑ | ||
---|---|---|---|---|
0
aptomilov
05.03.12
✎
07:56
|
Как перебрать в цикле все документы ?
|
|||
1
kortun
05.03.12
✎
07:58
|
Выборка = Документы.Реализация.Выбрать();
|
|||
2
Amra
05.03.12
✎
07:58
|
Метаданные+Выбрать+Следующий
|
|||
3
kortun
05.03.12
✎
07:58
|
Выборка = Документы.Реализация.Выбрать();
Пока Выборка.Следующий() Цикл КонецЦикла; так вернее будет |
|||
4
Rie
05.03.12
✎
07:59
|
(0) Судя по ответам (1) и (2), существует более одной версии того, что же имел в виду топикстартер под "все документы".
|
|||
5
aptomilov
05.03.12
✎
08:08
|
все это все интересно про метаданные
|
|||
6
aptomilov
05.03.12
✎
08:19
|
имелись ввиду все виды документов
|
|||
7
golden-pack
05.03.12
✎
08:20
|
(5) лол
|
|||
8
Fragster
гуру
05.03.12
✎
08:22
|
Запрос = Новый Запрос;
ТЗ = "Выбрать Док.Ссылка Из Документ.&ВидДок"; Для каждого метадок из метаданные.докуметы Цикл Запрос.Текст = СтрЗаменить(ТЗ,"&ВидДок",МетаДок.Имя); Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл Док = Выборка.Ссылка.ПолучитьОбъект; Док.Удалить(Истина); КонецЦикла; КонецЦикла; |
|||
9
Fragster
гуру
05.03.12
✎
08:22
|
ну там синтаксические ошибки поправить надо, да
|
|||
10
Мимохожий Однако
05.03.12
✎
08:27
|
хорошая бомба (8)
|
|||
11
Ээйч
05.03.12
✎
08:29
|
>>>хорошая бомба (8)
Не, ну а чо? ТС - суровый Челябинец )) |
|||
12
aptomilov
05.03.12
✎
08:37
|
бомба шекарная спасибо всем щас запущу гы гы
|
|||
13
aptomilov
05.03.12
✎
08:59
|
вот полностью раб вариант, но медленно блин
Запрос = Новый Запрос; ТЗ = "Выбрать Док.Ссылка Из Документ.&ВидДок КАК Док"; Для каждого метадок из метаданные.документы Цикл Запрос.Текст = СтрЗаменить(ТЗ,"&ВидДок",МетаДок.Имя); Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл Док = Выборка.Ссылка.ПолучитьОбъект(); Сообщить("Удаляем документ " + Строка(Док)); Док.Удалить(); КонецЦикла; КонецЦикла; |
|||
14
Stim
05.03.12
✎
09:01
|
быстрее будет только удалить МД в конфигураторе хD
|
|||
15
Serg_1960
05.03.12
✎
09:05
|
(13) "Запрос в цикле - есть зло"(с) Ща, посмотрю что у меня есть...
|
|||
16
Maxus43
05.03.12
✎
09:08
|
(13) не запускай пока работу другую не найдёш, запускай в последний день только
|
|||
17
Serg_1960
05.03.12
✎
09:11
|
(0) Ничего не нашёл, кроме вот этого ("срез последних" для справочника спецификаций по упоминанию в документах):
ТекстЗапроса = "ВЫБРАТЬ | ВсеСпецификации.Ссылка КАК Спецификация, | ВсеСпецификации.ПометкаУдаления КАК ПометкаУдаления, | СрезПоследних.Дата КАК Дата |ИЗ | Справочник.СпецификацииНоменклатуры КАК ВсеСпецификации | ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | Спецификации.Спецификация КАК Спецификация, | МАКСИМУМ(Спецификации.Дата) КАК Дата | ИЗ |"; ЭтоНачало = Истина; Начало = " ("; Продолжение = " | | ОБЪЕДИНИТЬ | | "; ИщуТип = Тип("СправочникСсылка.СпецификацииНоменклатуры"); Для Каждого Документ Из Метаданные.Документы Цикл Для Каждого Реквизит Из Документ.Реквизиты Цикл Если Реквизит.Тип.СодержитТип(ИщуТип) Тогда ТекстЗапроса = ТекстЗапроса + ?(ЭтоНачало,Начало,Продолжение) + "ВЫБРАТЬ | ТекОбъект." + Реквизит.Имя + " КАК Спецификация, | МАКСИМУМ(ТекОбъект.Дата) КАК Дата | ИЗ | Документ." + Документ.Имя + " КАК ТекОбъект | ГДЕ | ТекОбъект." + Реквизит.Имя + " ССЫЛКА Справочник.СпецификацииНоменклатуры | И ТекОбъект." + Реквизит.Имя + " <> &ПустаяСсылка | | СГРУППИРОВАТЬ ПО | ТекОбъект." + Реквизит.Имя; ЭтоНачало = Ложь; КонецЕсли; КонецЦикла; Для Каждого Таблица Из Документ.ТабличныеЧасти Цикл Для Каждого Реквизит Из Таблица.Реквизиты Цикл Если Реквизит.Тип.СодержитТип(ИщуТип) Тогда ТекстЗапроса = ТекстЗапроса + ?(ЭтоНачало,Начало,Продолжение) + "ВЫБРАТЬ | ТекОбъект." + Реквизит.Имя + " КАК Спецификация, | МАКСИМУМ(ТекОбъект.Ссылка.Дата) КАК Дата | ИЗ | Документ." + Документ.Имя + "." + Таблица.Имя + " КАК ТекОбъект | ГДЕ | ТекОбъект." + Реквизит.Имя + " ССЫЛКА Справочник.СпецификацииНоменклатуры | И ТекОбъект." + Реквизит.Имя + " <> &ПустаяСсылка | | СГРУППИРОВАТЬ ПО | ТекОбъект." + Реквизит.Имя; ЭтоНачало = Ложь; КонецЕсли; КонецЦикла; КонецЦикла; КонецЦикла; ТекстЗапроса = ТекстЗапроса + ") КАК Спецификации | | СГРУППИРОВАТЬ ПО | Спецификации.Спецификация) КАК СрезПоследних | ПО (СрезПоследних.Спецификация = ВсеСпецификации.Ссылка) | |УПОРЯДОЧИТЬ ПО | ВсеСпецификации.Ссылка.Наименование"; //Сообщить(ТекстЗапроса); Запрос = Новый Запрос(ТекстЗапроса); Запрос.УстановитьПараметр("ПустаяСсылка", Справочники.СпецификацииНоменклатуры.ПустаяСсылка()); |
|||
18
Maxus43
05.03.12
✎
09:13
|
(17) в типовой УПП есть запросы в цикле, 2 места видел точно) бывает оправданно
|
|||
19
NcSteel
05.03.12
✎
09:14
|
(17) У тебя нет УДАЛИТЬ. Исправься пожалуйста. )
|
|||
20
Serg_1960
05.03.12
✎
09:39
|
(19) "Удалить"? Что удалить? Расшифруй :(
|
|||
21
Serg_1960
05.03.12
✎
09:40
|
+ Пятница, однако ведь, закончилась :(
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |