Имя: Пароль:
1C
1С v8
Отбор документов
0 MAPATNK2
 
naïve
09.03.17
10:58
Всем привет. Уже создавал похожую тему, но увы мне никто не смог помочь, поэтому хочу попросить помощи снова, авось повезет.
Итак, необходимо обрабатывать все, абсолютно ВСЕ документы и поместить их (ССылку, Дату) во временную таблицу. Вопрос состоит в том, как отобрать все документы по признаку проведения  и пометки на удаления? Писать через "объединить" для каждого документа запрос - мазохизм, неужели нет другого способа?
1 1dvd
 
09.03.17
11:00
есть, но ещё более мазохичный
2 MAPATNK2
 
naïve
09.03.17
11:03
(1) Просветите пожалуйста.
3 nordbox
 
09.03.17
11:03
Метаданные в цикле
ты чего мудришь?
4 Umga2002
 
09.03.17
11:03
Сделать общий журнал. В него все документы иделать все что пожелаешь...
5 Nagaru
 
09.03.17
11:05
Для базы данных каждый документ это отдельная таблица, поэтому, чтобы работать со всеми ними нужно именно объединить эти таблицы.
Другой вариант - это например создать журнал документов и работать с журналом.
Сработает и создание регистра, в который будут записываться данные из всех документов.
Но, если нет возможности менять структуру конфигурации, то действительно придется делать запрос через объединение всех таблиц, но это можно сделать программно, воспользовавшись циклом по коллеции метаданные().Документы
6 1dvd
 
09.03.17
11:06
(2) Перебрать через метаданные все виды документов, внутри цикла выборкой собрать все документы, поместить в ТЗ. Передать в ТЗ в запрос. И ничего объединять не придётся :)
7 MAPATNK2
 
naïve
09.03.17
11:07
(3) К сожалению не смог использовать данный метод, попросту не поняв как же все таки его применять.
8 MAPATNK2
 
naïve
09.03.17
11:08
(6) Отлично, уже не первый человек, кто предлагает данный метод. но как им пользоваться. На словах ничего не поймешь. Примеры есть?
9 1dvd
 
09.03.17
11:08
(7) тогда не получится. Увы, тупик
10 Timon1405
 
09.03.17
11:12
Варианты:
-ждать пока напишут тут
-гуглить
-написать код самому
-вызвать специалиста
-вызвать адвоката
-вызвать дьявола
-изгнать дьявола
11 MAPATNK2
 
naïve
09.03.17
11:12
(9) XD Надо в ракете масло поменять
12 MAPATNK2
 
naïve
09.03.17
11:12
Но я не знаю как.

"Увы тупик"
13 nordbox
 
09.03.17
11:13
14 1dvd
 
09.03.17
11:13
Для Каждого ДокМенеджер Из Документы Цикл
    Выборка  = ДокМенеджер.Выбрать();
    Пока Выборка.Следующий() Цикл
        // обработка записи выборки
    КонецЦикла;
КонецЦикла;
15 Nagaru
 
09.03.17
11:13
(8)
ТекстЗапроса = "";
Для каждого Док из Метаданные().Документы Цикл
    ТекстЗапроса = ТекстЗапроса + "
    |Объединить все
    |Док.Ссылка,
    |Док.Номер
    | Из Документ" + Док.Имя + " КАК Док";
КонецЦикла

Запрос.ТекстЗапрос = ТекстЗапроса;

Это для старта, там еще есть над чем поработать, но в целом от этого можно отталкиваться.
16 MAPATNK2
 
naïve
09.03.17
11:18
(14) (15) К сожалению не огонь. Сами то попробовали? В программировании я (видно сразу) - новичок, Но одно заню точно -  если синтакс помошник молчит, значит твой код - г.)
17 MAPATNK2
 
naïve
09.03.17
11:20
(13) Спасибо.
18 1dvd
 
09.03.17
11:20
(16) Чо? Я как раз в консоли кода это выполнил.
ну и ипись тогда сам
19 Nagaru
 
09.03.17
11:27
(16) Для любого новичка в программировании хватит указанного текста, чтобы потратив немного времени и усилий, чтобы получить нужный результат.
В (14) полностью рабочий код для выполнения любых действий с каждым документом системы, в (15) заготовка для того, чтобы сформировать единый запрос по всем документам.
Возникает впечатление, что ты хотел, чтобы все сделали полностью и за тебя, но здесь такое не приветствуется.

Ну а, если ты не программист вовсе, то могу посоветовать обратиться к программистам, они способны выполнить поставленную задачу за совсем небольшие деньги.
20 MAPATNK2
 
naïve
09.03.17
15:58
(19) Спасибо, действительно очень помогли.
21 mexanik_96
 
09.03.17
16:06
критерии отбора предлагали уже?
22 mexanik_96
 
09.03.17
16:08
ну запрос по критериям отбора с фильтрами там всякими, тоже отработает, разница в том что объединить по метаданным не автор будет делать...