Имя: Пароль:
1C
1С v8
Как в запросе исключить внутренние обороты
0 BarteZ
 
13.11.12
21:52
Нужно сделать материальный отчёт с исключенными внутренними оборотами .. на данный момент времени не знаю за что зацепиться ... помогите, люди добрые:(
Список=Новый СписокЗначений;
   
   Список.Добавить(ПланыСчетов.Хозрасчетный.Материалы);                
   Список.Добавить(ПланыСчетов.Хозрасчетный.ГотоваяПродукция);
   
   СписокСуб=Новый СписокЗначений;
   
   СписокСуб.Добавить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура);                
   Если НЕ Склад.Ссылка=Справочники.Склады.ПустаяСсылка() тогда
       СписокСуб.Добавить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Склады);
   Конецесли;
   
   
   
   Запрос = Новый Запрос;
   Запрос.УстановитьПараметр("ТекСклад",                   Склад);    
   Запрос.УстановитьПараметр("ТекНоменклатура",            Номенклатура);        
   Запрос.УстановитьПараметр("ДатаНач",                    НачалоДня(Д1));    
   Запрос.УстановитьПараметр("ДатаКон",                    КонецДня(Д2));    
   Запрос.УстановитьПараметр("Счет",                       Список);
   Запрос.УстановитьПараметр("Суб",                          СписокСуб);

Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ
                      |    Остатки.Счет КАК Счет,
                      |    Остатки.Субконто1 КАК Номенклатура,
                      |    Остатки.Субконто1.Код КАК Индекс,
                      |    Остатки.КоличествоНачальныйОстаток КАК Начало,
                      |    Остатки.КоличествоКонечныйОстаток КАК Конец,
                      |    Остатки.КоличествоОборотДт КАК ПРИХОД,
                      |    Остатки.КоличествоОборотКт КАК Расход,
                      |    Остатки.СуммаНачальныйОстаток КАК СуммаНачальныйОстаток,
                      |    Остатки.СуммаОборотДт как СуммаОборотДт,
                      |    Остатки.СуммаОборотКт как СуммаОборотКт,
                      |    Остатки.СуммаКонечныйОстаток как СуммаКонечныйОстаток
                      |ИЗ
                      |    РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(
                      |            &ДатаНач,
                      |            &ДатаКон,
                      |            ,
                      |            ,
                      |            Счет В ИЕРАРХИИ (&Счет),
                      |            &Суб,
                      |            Субконто1 В ИЕРАРХИИ (&ТекНоменклатура)
                      |                И Субконто2 = &ТекСклад) КАК Остатки";
1 zak555
 
13.11.12
21:53
КорСчет НЕ В ИЕРАРХИИ (&Счет)
2 BarteZ
 
13.11.12
22:01
(1) ... спасибо ... я так понимаю, что это вместо |Счет В ИЕРАРХИИ (&Счет)?
3 zak555
 
13.11.12
22:03
(2) нет

параметры виртуальной таблицы говорят, что
Счет В ИЕРАРХИИ (&Счет)
тебе нужно обороты по Счету, а
КорСчет НЕ В ИЕРАРХИИ (&Счет)
говорит о том, что тебе нужны все обороты, кроме самого счета
4 zak555
 
13.11.12
22:04
только зачем тебе остатки по Счету ?
5 BarteZ
 
13.11.12
22:05
(4) ... так вот сам ХЗ .. гл бух одна сказала, что ей надо мат. отчёт по 10.1 без внутренних оборотов для проверки ...
P.S. Если честно, я так и не понял что мне в запросе исправить:(
6 zak555
 
13.11.12
22:07
(5) открой ей анализ счета
или обороты
7 zak555
 
13.11.12
22:07
штатный отчёт
8 BarteZ
 
13.11.12
22:08
(6) то есть это по сути будет то же самое, что она просит?
9 zak555
 
13.11.12
22:08
(8) сформируй отчёт и посмотри
10 BarteZ
 
13.11.12
22:11
(9) .. ок .. спасибо большое
11 BarteZ
 
13.11.12
22:12
(9) так а а можно ли мне всё-таки свой запрос исправить как-то?
12 Feanorko
 
13.11.12
22:14
(11) можно :) разрешаю :)
13 BarteZ
 
13.11.12
22:17
(12) ... спасибо:) ...что в запрос мне надо вкинуть, чтобы выбиралось без внутренних оборотов...
14 dclxvi
 
13.11.12
22:26
(0) Через од ну таблицу не получится.

Для начала вместо ОстаткиИОбороты используй Обороты и Остатки, в Оборотах есть поле КорСчет.

Затем связываешь их по субконто.

По типу ЕстьNULL(Обороты.Субконто1,Остатки.Субконто1)
15 BarteZ
 
13.11.12
22:33
(14) жесть значит ...до такого я ещё не развит:)
16 zak555
 
13.11.12
22:35
(11) чем штатный отчёт не нравится ?
17 BarteZ
 
13.11.12
22:37
(16) ну ей же красиво надо ..или как они там говорят ... наименование-остаток на начало - сумма на начало - приход ... и т.д. .. в штатном что-то не могу найти ничего по поводу запроса ... чтобы оттуда забрать к себе ...
18 dclxvi
 
13.11.12
22:39
Примерно так:

ВЫБРАТЬ
   ЕСТЬNULL(ВложенныйЗапрос.Счет, ХозрасчетныйОбороты.Счет) КАК Поле1,
   ЕСТЬNULL(ВложенныйЗапрос.Субконто1, ХозрасчетныйОбороты.Субконто1) КАК Поле2,
   ЕСТЬNULL(ВложенныйЗапрос.СуммаНачальныйОстаток, 0) КАК Поле3,
   ЕСТЬNULL(ВложенныйЗапрос.КоличествоНачальныйОстаток, 0) КАК Поле4,
   ЕСТЬNULL(ХозрасчетныйОбороты.СуммаОборотДт, 0) КАК Поле5,
   ЕСТЬNULL(ХозрасчетныйОбороты.КоличествоОборотДт, 0) КАК Поле6,
   ЕСТЬNULL(ХозрасчетныйОбороты.СуммаОборотКт, 0) КАК Поле7,
   ЕСТЬNULL(ХозрасчетныйОбороты.КоличествоОборотКт, 0) КАК Поле8,
   ЕСТЬNULL(ВложенныйЗапрос.СуммаКонечныйОстатокДт, 0) КАК Поле9,
   ЕСТЬNULL(ВложенныйЗапрос.КоличествоКонечныйОстатокДт, 0) КАК Поле10
ИЗ
   (ВЫБРАТЬ
       ХозрасчетныйОстаткиИОбороты.Счет КАК Счет,
       ХозрасчетныйОстаткиИОбороты.Субконто1 КАК Субконто1,
       СУММА(ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстаток) КАК СуммаНачальныйОстаток,
       СУММА(ХозрасчетныйОстаткиИОбороты.КоличествоНачальныйОстаток) КАК КоличествоНачальныйОстаток,
       СУММА(ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокДт) КАК СуммаКонечныйОстатокДт,
       СУММА(ХозрасчетныйОстаткиИОбороты.КоличествоКонечныйОстатокДт) КАК КоличествоКонечныйОстатокДт
   ИЗ
       РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты КАК ХозрасчетныйОстаткиИОбороты
   
   СГРУППИРОВАТЬ ПО
       ХозрасчетныйОстаткиИОбороты.Счет,
       ХозрасчетныйОстаткиИОбороты.Субконто1) КАК ВложенныйЗапрос
       ПОЛНОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.Обороты(, , , Счет В ИЕРАРХИИ (&Счет), , , НЕ КорСчет В ИЕРАРХИИ (&Счет), ) КАК ХозрасчетныйОбороты
       ПО ВложенныйЗапрос.Счет = ХозрасчетныйОбороты.Счет
           И ВложенныйЗапрос.Субконто1 = ХозрасчетныйОбороты.Субконто2
19 dclxvi
 
13.11.12
22:40
Строку
И ВложенныйЗапрос.Субконто1 = ХозрасчетныйОбороты.Субконто2

Поменять на  И ВложенныйЗапрос.Субконто1 = ХозрасчетныйОбороты.Субконто1
20 BarteZ
 
13.11.12
22:44
(19) спасибо..буду пробовать
21 zak555
 
13.11.12
22:46
(17) что там не ясно ?
22 BarteZ
 
13.11.12
23:07
(21) ... то есть штатный отчёт "обороты счёта", к примеру для 10.1, это и есть материальный отчёт для 10.1 без внутренних оборотов?
23 BarteZ
 
13.11.12
23:28
(21) у меня обороты счёта по 10.1 и ОСВ по 10.1 полностью одинаковы ...
24 zak555
 
14.11.12
01:03
(22) анализ счета
25 BarteZ
 
14.11.12
07:57
(24) Анализ тоже сходится с ОСВ по счёту
26 dclxvi
 
14.11.12
08:00
(25)
А ты отбор ставил по "Кор. Счет"?
27 BarteZ
 
14.11.12
08:12
(26) Да .. по субсчетам и субконто кор. счетов ...проверил не один период ...
28 dclxvi
 
14.11.12
08:45
(27)
> субконто кор. счетов

Зачем?

У тебя в отборе написано:

Кор. Счет - Не в группе - 10

?