Имя: Пароль:
1C
 
Запросы к движению документа
,
0 cyberandr
 
13.11.14
12:19
Всем привет! Подскажите плиз как более верно решить задачку.
есть запрос который смотрит проводки документа (Себестоимость, НДС ,ТоргНадбавка, Всего). Плюс учитывает партии. Я его делаю таким образом:

     Запрос.Текст="ВЫБРАТЬ
                                          |    ХозрасчетныйОбороты.Регистратор КАК партия,
                                          |    ХозрасчетныйОбороты.СуммаОборот КАК СуммаСебестоимость
                                          |ПОМЕСТИТЬ ЦенаСебестоимость
                                          |ИЗ
                                          |    РегистрБухгалтерии.Хозрасчетный.Обороты(&ДатаМин, &ДатаМакс, Регистратор, Счет.Ссылка = &Счет41, , Субконто1 = &Номенклатура, КорСчет.Ссылка = &Счет204, ) КАК ХозрасчетныйОбороты
                                          |ГДЕ
                                          |    ХозрасчетныйОбороты.Регистратор В(&СписокПартий)
                                          |;
                                          |
                                          |////////////////////////////////////////////////////////////////////////////////
                                          |ВЫБРАТЬ
                                          |    ХозрасчетныйОбороты.СуммаОборот КАК СуммаНДС,
                                          |    ХозрасчетныйОбороты.Регистратор КАК партия
                                          |ПОМЕСТИТЬ НДС
                                          |ИЗ
                                          |    РегистрБухгалтерии.Хозрасчетный.Обороты(&ДатаМин, &датаМакс, Регистратор, Счет.Ссылка = &Счет41, , Субконто1.Ссылка = &Номенклатура, КорСчет.Ссылка = &Счет42, ) КАК ХозрасчетныйОбороты
                                          |ГДЕ
                                          |    ХозрасчетныйОбороты.Регистратор В(&СписокПартий)
                                          |;
                                          |
                                          |////////////////////////////////////////////////////////////////////////////////
                                          |ВЫБРАТЬ
                                          |    ХозрасчетныйОбороты.СуммаОборот / ХозрасчетныйОбороты.КоличествоОборот КАК ЦенаНормативная,
                                          |    ХозрасчетныйОбороты.Регистратор.Ссылка КАК партия,
                                          |    ХозрасчетныйОбороты.Регистратор.Дата,
                                          |    ХозрасчетныйОбороты.КоличествоОборот КАК Количество,
                                          |    ЦенаСебестоимость.СуммаСебестоимость / ХозрасчетныйОбороты.КоличествоОборот КАК Себестоимость,
                                          |    НДС.СуммаНДС / ХозрасчетныйОбороты.КоличествоОборот КАК ЦенаНДС,
                                          |    НДС.СуммаНДС / (ХозрасчетныйОбороты.СуммаОборот - НДС.СуммаНДС) КАК СтавкаНДС,
                                          |    (ХозрасчетныйОбороты.СуммаОборот - НДС.СуммаНДС) / ХозрасчетныйОбороты.КоличествоОборот КАК ЦенаСписания
                                          |ИЗ
                                          |    РегистрБухгалтерии.Хозрасчетный.Обороты(&ДатаМин, &ДатаМакс, Регистратор, Счет.Ссылка = &счет41, , Субконто1.Ссылка = &Номенклатура, , ) КАК ХозрасчетныйОбороты
                                          |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ ЦенаСебестоимость КАК ЦенаСебестоимость
                                          |        ПО ХозрасчетныйОбороты.Регистратор = ЦенаСебестоимость.партия
                                          |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ НДС КАК НДС
                                          |        ПО ХозрасчетныйОбороты.Регистратор = НДС.партия
                                          |ГДЕ
                                          |    ХозрасчетныйОбороты.Регистратор В(&СписокПартий)";
//////////////////////////////////////////////////////////////////////
Но меня терзают смутные сомнения :-) особенно в вопросе скорости
Возможно более верно делать не через ХозрасчетныйОбороты, а через ХозрасчетныйДвиженияССубконто. Или может какой другой вариант есть?
1 Euguln
 
13.11.14
12:23
1. Субконто1.Ссылка = &Номенклатура, Счет.Ссылка = &Счет41 - убери .Ссылка
2. Установи фильтр на вид субконто.
3. ХозрасчетныйОбороты.Регистратор В(&СписокПартий) - в параметры таблицы
4. Установи индексацию ВТ по регистратору.
2 cyberandr
 
13.11.14
12:29
2 и 3 пункт для ХозрасчетныйОбороты увы не выполнимы. таки значит брать другую виртуальную таблицу бух регистра.
3 Euguln
 
13.11.14
12:31
(2) Чой-то?
4 Euguln
 
13.11.14
12:34
+ можно одним запросом делать, ВЫБОР на корсчет
5 cyberandr
 
13.11.14
12:38
конструктор злой -не дает. Я и сам об этом думал. ХозрасчетныйОбороты выбрал в надежде на большую скорость при меньшей детализациии получаемых данных, но зато пришлось отказаться от 3.ХозрасчетныйОбороты.Регистратор В(&СписокПартий) - в параметры таблицы

(4)одним запросом интересно, но не совсем понял о чем речь
6 Euguln
 
13.11.14
12:46
ВЫБОР КОГДА КорСчет = &Счет204 ТОГДА ХозрасчетныйОбороты.СуммаОборот ИНАЧЕ 0 КАК СуммаСебестоимость,
ВЫБОР КОГДА КорСчет = &Счет42 ТОГДА ХозрасчетныйОбороты.СуммаОборот ИНАЧЕ 0 КАК СуммаНДС,
ВЫБОР КОГДА КорСчет = &Счет42 ИЛИ КорСчет = &Счет204 ТОГДА 0 ИНАЧЕ ХозрасчетныйОбороты.СуммаОборот КАК СуммаОборот,
+ группировка по регистратору и сумма по полям
7 cyberandr
 
13.11.14
13:05
спасибо хороший вариант
8 hhhh
 
13.11.14
13:13
(7) вообще-то партия не совпадает с регистратором. Как это вы лихо пишете ХозрасчетныйОбороты.Регистратор В(&СписокПартий) ??
9 cyberandr
 
13.11.14
13:21
(8) почему? Я же знаю что отправляю в СписокПартий.
10 hhhh
 
13.11.14
13:27
(9) ну напимер партия товара. ПО ней был документ поступление, 5 документов реализации и документ списание товара. ВЫ все 7 документов прям в списке партий и указываете? А откуда вы их получаете?
11 cyberandr
 
13.11.14
14:38
(10) тут такая штука - у нас Рарус 2.хх российский, а нужен для Беларуси. Допиливаю, перепиливаю -отличий море. Не всегда идеально, например иногда получаю данные - к примеру Таблицу СписанныеПартии и использую для своих целей. Пока вообще разделяю документы по типам, так что знаю