Имя: Пароль:
1C
 
Условие на проведенные и непомеченные документы в запросе
0 sanches2
 
17.03.09
08:49
Привет. У меня есть документ "Сводная", который не проводится в принципе, в нем есть ссылки на документы реализация, которые проводятся как обычно.
Как можно в 1С запросе написать, чтобы он выбирал Сводные непомеченные на удаление, а Реализации только проведенные?
Можно конечно сделать чтобы эти Сводные проводились, а можно не правя документ. Пытался в запросе получить пометку удаления, так ругается.
1 Ненавижу 1С
 
гуру
17.03.09
08:50
(0) более однозначно условия сформулируй
2 sanches2
 
17.03.09
08:52
Мне нужно чтобы запрос выбрал все сводные непомеченные на удаление, а реализации все проведенные. Поскольку сводные не имеют признака опер. учет, то они не могут быть проведены.
В запросе написать
ОбрабатыватьДокументы НепомеченныеНаУдаление - нет такого.
3 Вовик007
 
17.03.09
08:53
запрос обрабатывает только проведенные.
4 Sadovnikov
 
17.03.09
08:53
(3) Да ну?
5 YF
 
17.03.09
08:53
(2) Есть - попробуй сделать мастером - сразу увидишь
6 Злой Бобр
 
17.03.09
08:54
Дело пустяковое, но пора бежать. Если через часок-другой будет актуально - стучись в аську - помогу.
А так конструктором пробуй - там все есть.
7 sanches2
 
17.03.09
08:55
(5) А тогда как сделать чтобы это условие не срабатывало на реализации? Мне нужно только проведенные :)
(6) Спасибо, подожду
8 YF
 
17.03.09
08:56
(7) Условием в запросе "Условие(...);"
9 Sadovnikov
 
17.03.09
08:57
(7) Если в суровом Челябинске разрешено юзать запросы, то:
Where
 (IdDocDef = $ВидДокумента.Сводная And Closed = 0) OR
 (IdDocDef = $ВидДокумента.Реализация And Closed%1 = 1)
10 sanches2
 
17.03.09
08:57
Ладно, гляну в конструктор
11 sanches2
 
17.03.09
08:57
(9) Мне не на прямых запросах надо
12 sanches2
 
17.03.09
08:58
(9) В контексте данной роблемы запрещено :)
13 YF
 
17.03.09
08:58
(10) Типа, уговорили ...
14 sanches2
 
17.03.09
08:59
(13) ну если это так сложно написать, то придется в конструкторе смотреть
15 Ненавижу 1С
 
гуру
17.03.09
09:06
так надо:
1. Сводные не помеченные на удаление И Реализацию проведенную без связки между ними (один столбец - тип Документ)
или
2. Реализацию, проведенную, которая встречается в не помеченных на удаление сводных (столбец - Документ.Реализация, возможно еще столбец - Документ.Сводная)
16 sanches2
 
17.03.09
09:08
Есть документ сводная в нем в табличной части ссылка на документ Реализация.
Мне в запросе нужно выбрать все сводные, которые не помеченные на удаление, но при этом в котрых реализации только проведенные.
17 Ненавижу 1С
 
гуру
17.03.09
09:09
(16) а это уже тритий вариант
18 sanches2
 
17.03.09
09:09
Т.е примерно отчет
Сводная(непомеченная)
  Реализация(проведенная)

(17) :)
19 Ненавижу 1С
 
гуру
17.03.09
09:11
(18) то если в не помеченной сводной есть 5 реализаций, одна из которых не проведена, то сводную и ее табличную часть выводить не надо вообще?
20 sanches2
 
17.03.09
09:11
Надо, но только с 4-мя реализациями. Коряво?
21 Ненавижу 1С
 
гуру
17.03.09
09:12
а в (16) ты писал не так, ну я понял, значит вариант все таки 2.
Делается одним несложным запросом.
22 Ненавижу 1С
 
гуру
17.03.09
09:13
покажи свой запрос, а то 7.7 под рукой нет.
23 ФарПост
 
17.03.09
09:16
(0) А кто мешает в модуле документа Сводной, не писать Алгоритмы проведения?
При этом Документ у Тебя будет ПРОВЕДЕННЫЙ, но без движений - тогда у Тебя и гибкость появиться и проще с запросами будет
24 sanches2
 
17.03.09
09:21
(21) А, ну да, сорри.
(22) Пока к сожалению нет с собой. Я попытаюсь воспроизвести примерно суть.

Период с ДатаНач по ДатаКон;
Докум = Документ.Сводная.ТекущийДокумент;
Реализация = Документ.Сводная.Реализация.ТекущийДокумент;
ОбрабатыватьДокументы НепомеченныеНаУдаление;
....
Ну там группировки и функции идут.

(23) Ну ничего не мешает, думал может без изменения МД обойдется, если нет, то сделаю, что документ проводится.
25 sanches2
 
17.03.09
09:22
И еще возник вопрос. В сводной документы появялются за выбранный период (выбирается в шапке документа) Как отработает условие на период? будет и сводные за период этот и реализации выбирать?
26 Ёпрст
 
гуру
17.03.09
09:24
(24)

|Период с ДатаНач по ДатаКон;
|ОбрабатыватьДокументы НепомеченныеНаУдаление;
|Докум = Документ.Сводная.ТекущийДокумент;
|Реализация = Документ.Сводная.Реализация;
|Группировка Докум;
|Группировка Реализация;
|Условие(Реализация.Проведен()=1);
27 sanches2
 
17.03.09
09:29
(26) Во, это ни адо. Спасибо друг, выручаешь в который раз!
28 sanches2
 
15.04.09
19:41
Привет, опять "чудит" отчет этот вот полный текст запроса

|Период с НачПериода по КонПериода;
   |ПланированиеДоставок = Документ.ПланированиеДоставок.ТекущийДокумент;
   |ЦФО        = Документ.ПланированиеДоставок.Реализация.ЦФО;
   |Отгружена  = Документ.ПланированиеДоставок.Реализация.Отгружена;
   |Реализация =  Документ.ПланированиеДоставок.Реализация.ТекущийДокумент;
   |Коэффициент = Документ.ПланированиеДоставок.Реализация.Договор.Район.Коэффициент;
   |Сумма = Документ.ПланированиеДоставок.Реализация.СуммаВзаиморасчетов;
   |СтоимостьЗаКм = Документ.ПланированиеДоставок.СтоимостьЗаКм;
   |ПробегКм      = Документ.ПланированиеДоставок.ПробегКм;
   |ОбрабатыватьДокументы Непроведенные;
   |Обрабатывать НеПомеченныеНаУдаление;
   |Без Итогов;    
   |Группировка ЦФО;
   |Группировка Коэффициент;    
   |Функция СуммаРуб = Сумма(Сумма);
   |Функция СуммаКоэффициент = Сумма(Коэффициент);
   |Функция ВсегоМест = Счётчик();
   |Условие(ОТгружена = 1);
   |Условие (Реализация.Проведен() = 1);

Если задать период с 1.02.09 по 20.02.09, то один из документов Планирования попадает в отчет, если же конец периода поставить 21.02.09, то он пропадает из отчета. Я потом выгружаю результат запроса в ТЗ (Запрос.Выгрузить(тз,1);) Может из-за того что дополнительные параметры выгружаю?
29 sanches2
 
15.04.09
19:44
Добавил группирвоку ПланированиеДоставок - стало нормально
30 dk
 
15.04.09
19:47
|ОбрабатыватьДокументы Все;
хотя про 20 и 21 не вкурил
31 sanches2
 
15.04.09
20:01
Да там заморочки с тем, что ПланированиеДоставок не проводится их надо выбрать только не помеченные на удаление, а реализации в них нужно выбрать только проведенные, да вроде помогла еще одна группировка в запросе.