Имя: Пароль:
1C
1С v8
Народ помогите с запросом по в БП 8.2
0 nordbox
 
05.02.12
19:43
Ну чайник  я
задача такова есть 90.01.1 и он кредитовый есть 90.03  НДС он дебетовый
как их запихнуть в один отчет и обработку запроса сам с запросом как только уже не издевался книжек перелопатил вагон
по возможно без СКД, вопрос очень серьезный
Помогите
1 Amra
 
05.02.12
19:50
(0) Может ну ее, это 1С... Раз перелопатив книжек вагон не можешь составить простейший запрос
2 Мимохожий Однако
 
05.02.12
19:52
(0)Нарисуй табличку, что ты хочешь для начала
3 nordbox
 
05.02.12
19:54
Нарисовал,
и отчеты по каждому счету делал
делаются нормально:)
Мне надо в одну таблицу 2 счета
4 nordbox
 
05.02.12
19:58
И не по вертикали а по горизонтали да еще вычисляемые конечные поля
Там Субконто одинаково, только одно с НДС другое чистый НДС
5 zhig75
 
05.02.12
20:00
А запрос то из каких данных выдирать?
6 DrShad
 
05.02.12
20:02
(3) ты табличку сюда нарисуй и текст своего запроса кидай
7 nordbox
 
05.02.12
20:07
Короче говоря черновой вариант
Это уже запрос после извращений

     Сч=ПланыСчетов.Хозрасчетный.НайтиПоКоду("90.03");
     Сч1=ПланыСчетов.Хозрасчетный.НайтиПоКоду("90.01.1");
   Макет = ПолучитьМакет("Макет");
   Запрос = Новый Запрос;
   Запрос.Текст =
       "ВЫБРАТЬ РАЗРЕШЕННЫЕ
       |    ХозрасчетныйОбороты.Организация КАК Организация,
       |    ПРЕДСТАВЛЕНИЕ(ХозрасчетныйОбороты.Организация),
       |    ХозрасчетныйОбороты.Счет КАК Счет,
       |    ХозрасчетныйОбороты.Счет КАК Счет1,
       |    ПРЕДСТАВЛЕНИЕ(ХозрасчетныйОбороты.Счет),
       |    ХозрасчетныйОбороты.Субконто1 КАК Субконто1,
       |    ПРЕДСТАВЛЕНИЕ(ХозрасчетныйОбороты.Субконто1),
       |    СУММА(ХозрасчетныйОбороты.СуммаОборотДт) КАК СуммаОборотДт,
       |    СУММА(ХозрасчетныйОбороты.СуммаОборотКт) КАК СуммаОборотКт
       |ИЗ
       |    РегистрБухгалтерии.Хозрасчетный.Обороты(&НачДата,&Кондата,,) КАК ХозрасчетныйОбороты
       |ГДЕ
       |    ХозрасчетныйОбороты.Организация = &Орг
       |    И ХозрасчетныйОбороты.Счет  = &Сч
       |    И ХозрасчетныйОбороты.Счет  = &Сч1
       |СГРУППИРОВАТЬ ПО
       |    ХозрасчетныйОбороты.Организация,
       |    ХозрасчетныйОбороты.Счет,
       |    ХозрасчетныйОбороты.Субконто1
       |
       |УПОРЯДОЧИТЬ ПО
       |    Организация,
       |    Счет,
       |    Субконто1,
       |    СуммаОборотДт,
       |    СуммаОборотКт
       |ИТОГИ
       |    СУММА(СуммаОборотДт),
       |    СУММА(СуммаОборотКт)
       |ПО
       |    ОБЩИЕ,
       |    Организация,
       |    Счет,
       |    Субконто1";

   Запрос.УстановитьПараметр("Орг", Орг);
   Запрос.УстановитьПараметр("Сч", Сч);
   Запрос.УстановитьПараметр("Сч1", Сч1);
   Запрос.УстановитьПараметр("НачДата", НачДата);                  
   Запрос.УстановитьПараметр("КонДата", КонецДня(КонДата));

   Результат = Запрос.Выполнить();
8 nordbox
 
05.02.12
20:10
"Организация /
Счет /
Субконто1"    СуммаОборотДт    СуммаОборотКт
Итог        102 591 057,82
ООО "Северо-Западная Транспортно-Логистическая Ком        102 591 057,82
90.01.1        102 591 057,82
       7 300,00
Услуги по перевозке вагонами        12 559 793,66
Штрафные санкции за простой вагонов        32 200,00
Услуги по перевозке        67 608 874,38
Ставка собственников        1 147 540,38
аренда вагонов        4 614 425,40
Аренда вагонов-цистерн        16 620 924,


У 90.03 сбконто тоже только НДС
Вытащит надо обороты
9 DrShad
 
05.02.12
20:41
запрос в топку сразу же
10 nordbox
 
05.02.12
20:45
DrShad Запрос строил конструктор:)
11 DrShad
 
05.02.12
20:45
попробуй еще раз написать, только вдумчиво
12 DrShad
 
05.02.12
20:45
ага и условия тоже он тебе писал?
13 nordbox
 
05.02.12
20:46
нет конечно это я извращался
14 Budy
 
05.02.12
20:48
Посоветую плохое, мну за это пинают, но упрямо делаю так.
выбрать аналитику, агрегат(чего-там)
(выбрать данные по счету1
объединить
выбрать данные по счету2)
группировать по аналитике
15 DrShad
 
05.02.12
20:52
(14) зачем?
16 DrShad
 
05.02.12
20:53
(13) назови хоть одну запись регистра где твое условие выполнится?
17 Budy
 
05.02.12
21:23
Если нужно в одну строку аналитика и суммы по двум счетам, то вот так.
Но это "плохой" вариант, потому что к базе будет два запроса и прочее. Но тебе ведь все равно - главное понятно в моменте.

Выбрать Субконто1,
   Сумма(Дт_1) как Дт_1, Сумма(Кт_1) как Кт_1,
   Сумма(Дт_2) как Дт_2, Сумма(Кт_2) как Кт_2
ИЗ
(
   ВЫБРАТЬ
       ХозрасчетныйОбороты.Субконто1,
       ХозрасчетныйОбороты.СуммаОборотДт КАК Дт_1,
       ХозрасчетныйОбороты.СуммаОборотКт КАК Кт_1,
       0 как Дт_2,
       0 как Кт_2
   ИЗ
       РегистрБухгалтерии.Хозрасчетный.Обороты(&НачДата, &КонДата, , Счет = Значение(ПланСчетов.Хозрасчетный.ВыручкаНеЕНВД), , , , ) КАК ХозрасчетныйОбороты

   объединить

   ВЫБРАТЬ
       ХозрасчетныйОбороты.Субконто1,
       0,
       0,
       ХозрасчетныйОбороты.СуммаОборотДт,
       ХозрасчетныйОбороты.СуммаОборотКт
   ИЗ
       РегистрБухгалтерии.Хозрасчетный.Обороты(&НачДата, &КонДата, , Счет = Значение(ПланСчетов.Хозрасчетный.Продажи_НДС), , , , ) КАК ХозрасчетныйОбороты
) как хых
сгруппировать по Субконто1
18 DrShad
 
05.02.12
21:29
(17) ну вот зачем человека плохому учить?
19 Budy
 
05.02.12
21:47
(18) Так в чем проблема? Покажите, как надо. Заодно и меня научите правильному. Если вы знаете как, можно прям сейчас вариант в студию без демагогий, а то блин уж домой пора. Но как правильно сделать, так хочется узнать.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший