Имя: Пароль:
1C
1С v8
Запросы - выбрать поле как значение вложенного запроса
0 dk
 
20.12.12
10:12
Задача:
Розница
Нужно получить таблицу вида:
Товар - Количество Чеков с эти товаром за период - Общее кол-во чеков за период
Решение:
Чуть ниже будет
1 Wobland
 
20.12.12
10:12
ждём-с
2 dk
 
20.12.12
10:14
решение вроде простое

ВЫБРАТЬ
           ЧекККМТовары.Номенклатура КАК Номенклатура,
           КОЛИЧЕСТВО(ЧекККМТовары.Номенклатура) КАК Колво
МАКСИМУМ(ВЫБРАТЬ            КОЛИЧЕСТВО(ЧекККМТовары.Номенклатура) КАК Колво
       ИЗ
           Документ.ЧекККМ.Товары КАК ЧекККМТовары
       ГДЕ
           ЧекККМТовары.Ссылка.ПометкаУдаления = ЛОЖЬ
           И ЧекККМТовары.Ссылка.Дата МЕЖДУ НАЧАЛОПЕРИОДА(&НачалоПериода, ДЕНЬ) И КОНЕЦПЕРИОДА(&КонецПериода, ДЕНЬ)) КАК ОБЩЕЕКОЛИЧЕСТВО
       ИЗ
           Документ.ЧекККМ.Товары КАК ЧекККМТовары
       ГДЕ
           ЧекККМТовары.Ссылка.ПометкаУдаления = ЛОЖЬ
           И ЧекККМТовары.Ссылка.Дата МЕЖДУ НАЧАЛОПЕРИОДА(&НачалоПериода, ДЕНЬ) И КОНЕЦПЕРИОДА(&КонецПериода, ДЕНЬ)
       
       СГРУППИРОВАТЬ ПО
           ЧекККМТовары.Номенклатура

Однако не выходит каменный цветок (
3 Wobland
 
20.12.12
10:16
(2) выходит, ты нам наврал?
4 dk
 
20.12.12
10:16
отлучусь пока )
5 Undefined vs NULL
 
20.12.12
10:16
общее количество чеков получи во временной таблице и соедини с таблицей по данной номенклатуре
6 exwill
 
20.12.12
10:18
(5) Ну и зачем?
Ты посмотри, какой у него аккуратный запрос. Все ровненько: ИЗ-ИЗ ГДЕ-ГДЕ ЛОЖЬ-ЛОЖЬ. А ты что предлагаешь!
7 Reset
 
20.12.12
10:20
дежавю
Вчера вроде товарищ распинался тут про недо-sql
8 Reset
 
20.12.12
10:23
Я бы обошелся итогами, ибо непонятно, какого нужно одно и тоже число в каждой строке. Но, наверное, нужно.
9 sda553
 
20.12.12
10:26
Вложенный запрос кроме количества содержит ссылку на документ вторым полем и из вложенного в полях ревращается в приджойненный в источниках.
10 exwill
 
20.12.12
10:29
+ (6) И заметь - человек сам так аккуратно сделал, не каким-то там конструктором.
11 Undefined vs NULL
 
20.12.12
10:34
и эти люди инженеры знаний, ну-ну
12 katc
 
20.12.12
10:40
а потом в резюме пишут " умение писать запросы без конструктора, на скорость, без проверки"
13 dk
 
20.12.12
11:22
общее количество чеков нужно, для расчета процента - в скольких процентах чеков есть данная номенклатура
14 dk
 
20.12.12
11:28
(5) рабочий пример смогешь показать? )
---
решение нашел, выложу попозже чутка
15 dk
 
20.12.12
12:04
итого:

ВЫБРАТЬ
   ЧекККМТовары.Номенклатура,
   КОЛИЧЕСТВО(ЧекККМТовары.Ссылка) КАК Колво,
   МАКСИМУМ(ЕСТЬNULL(Влож.ВСЕГО,0))
ИЗ
   Документ.ЧекККМ.Товары КАК ЧекККМТовары, (ВЫБРАТЬ КОЛИЧЕСТВО(ЧекККМ.Ссылка) КАК ВСЕГО ИЗ Документ.ЧекККМ КАК ЧекККМ ГДЕ ЧекККМ.ПометкаУдаления = ЛОЖЬ    И ЧекККМ.Дата МЕЖДУ &Д1 И &Д2) ВЛОЖ
ГДЕ
   ЧекККМТовары.Ссылка.ПометкаУдаления = ЛОЖЬ
   И ЧекККМТовары.Ссылка.Дата МЕЖДУ &Д1 И &Д2
СГРУППИРОВАТЬ ПО
   ЧекККМТовары.Номенклатура

можно дальше "пинать"
16 sapphire
 
20.12.12
12:06
(2) И не выйдет.
{выбрать поле как значение вложенного запроса}={скалярный запрос}, а 1С не поддерживает скалярные запросы.
17 sapphire
 
20.12.12
12:07
(0) Задача гумно. Обсуждать нефиг.
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший