Имя: Пароль:
1C
1С v8
Запрос на дату документа в Регистре.Сведений. Классика
0 sys1c
 
06.12.12
12:58
1С 8.2, УТ 11, Запрос делаю в Консоли запросов (Управляемые формы)

ВЫБРАТЬ
       РеализацияТоваровУслугТовары.Ссылка КАК Документ,
       РеализацияТоваровУслугТовары.Номенклатура КАК Товар,
       РеализацияТоваровУслугТовары.Цена КАК ЦенаДокумента,

       ЦеныТоваров.Цена КАК ЦенаЗакупа
   ИЗ
       Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
           ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&КонДата, ВидЦены = &ТипЦен) КАК ЦеныТоваров
           ПО (ЦеныТоваров.Номенклатура = РеализацияТоваровУслугТовары.Номенклатура)
           И РеализацияТоваровУслугТовары.Ссылка.Дата >= ЦеныТоваров.Период
   ГДЕ
       РеализацияТоваровУслугТовары.Ссылка.Дата МЕЖДУ &НачДата И &КонДата
       И РеализацияТоваровУслугТовары.Ссылка.Проведен
       И РеализацияТоваровУслугТовары.Ссылка.Организация = &Фирма


Простенький запрос, выбираю продажи за период и прикрепляю таблицу с Закупочной ценой (&ТипЦен), чтобы потом посчитать прибыль.

формируется долго. В параметр виртуальной таблицы уже вроде засунул все, что только можно. Мисту читал. Как раз "Классический" способ и использую. Выбирать продажи по Регистрам, а не по Документам не предлагать.

Неужели никак нельзя убыстрить? (
1 DayDreamer
 
06.12.12
13:02
почему "Выбирать продажи по Регистрам, а не по Документам не предлагать."?
2 Cube
 
06.12.12
13:02
(0) "Выбирать продажи по Регистрам, а не по Документам не предлагать"
Тогда вопросов "как убыстрить" не задавать :))
3 DayDreamer
 
06.12.12
13:03
ну и еще на первый взгляд РС ограничить по номенклатуре  РеализацияТоваровУслугТовары.Номенклатура КАК Товар
4 sys1c
 
06.12.12
13:03
В регистр попадает Номенклатура типа Товар. Мне нужно еще и с типом "Услуга".
5 Cube
 
06.12.12
13:06
Автоматизируя хаос, получаешь автоматизированный хаос (с)

Я к тому, что надо юзать регистры.
6 DayDreamer
 
06.12.12
13:08
(4) в таблице Товар - тоже не будет услуг, отдельна ТЧ
и еще  используй пакетный запрос и временные таблицы
7 zladenuw
 
06.12.12
13:09
может как то так
ВЫБРАТЬ
   РеализацияТоваровУслугТовары.Ссылка КАК Документ,
   РеализацияТоваровУслугТовары.Номенклатура КАК Товар,
   РеализацияТоваровУслугТовары.Цена КАК ЦенаДокумента
ПОМЕСТИТЬ РеалТУ
ИЗ
   Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
ГДЕ
   РеализацияТоваровУслугТовары.Ссылка.Дата МЕЖДУ &НачДата И &КонДата
   И РеализацияТоваровУслугТовары.Ссылка.Проведен
   И РеализацияТоваровУслугТовары.Ссылка.Организация = &Фирма
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   ЦеныНоменклатурыСрезПоследних.Цена КАК ЦенаЗакупки,
   РеалТУ.ЦенаДокумента,
   РеалТУ.Документ,
   РеалТУ.Товар
ИЗ
   РеалТУ КАК РеалТУ
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(
               &ДатаКонец,
               ТипЦен = &ТипЦен
                   И Номенклатура В
                       (ВЫБРАТЬ
                           РеалТУ.Товар
                       ИЗ
                           РеалТУ КАК РеалТУ)) КАК ЦеныНоменклатурыСрезПоследних
       ПО РеалТУ.Товар = ЦеныНоменклатурыСрезПоследних.Номенклатура
           И РеалТУ.Документ.Дата >= ЦеныНоменклатурыСрезПоследних.Период
8 Reset
 
06.12.12
13:09
"И РеализацияТоваровУслугТовары.Ссылка.Дата >= ЦеныТоваров.Период"

Дата реализации - 5.05.12
Есть установка цены 2.05.12 и 9.05.12
начДата задана 01.05
конДата задана 10.05

Будет давать Null для ЦенаЗакупа, а должна давать цену на 2.05.12
9 Reset
 
06.12.12
13:10
(8) к (0)
10 Cube
 
06.12.12
13:13
(8) +1
11 DayDreamer
 
06.12.12
13:14
(8)конДата задана 10.05
а разве не ЦенаЗакупа на 9.05.12
12 Reset
 
06.12.12
13:14
(11) у тебя же написано условие
Ссылка.Дата >= ЦеныТоваров.Период
13 Reset
 
06.12.12
13:15
(11) если нужно просто привязывать последнее на КонДата, это условие лишнее
14 DayDreamer
 
06.12.12
13:15
(12) Дата реализации - 5.05.12 пропустил
15 Reset
 
06.12.12
13:17
Вероятно, ты хочешь получать последнюю цену на дату документа. Для этого нужно не срезом связывать, а с физической таблицей и использовать максимум
16 DayDreamer
 
06.12.12
13:17
ТС - может быть озвучишь все задание?
17 Reset
 
06.12.12
13:17
(15) к ТСу :)
18 Reset
 
06.12.12
13:18
(16) я тебя с ним перепутал, извини ;)
19 sys1c
 
06.12.12
14:48
всем спасибо, что заставили заюзать РН.
Кому интерестно, в УТ11, все ( и услуги и продажи) можно выковырнуть из РН.ВыручкаИСебестоимостьПродаж
20 sys1c
 
06.12.12
14:48
все стало летать