Имя: Пароль:
1C
1С v8
Как выбрать товар у которого случались нулевые остатки за месяц?
0 popcorn
 
06.09.11
11:46
Не могу придумать никак запрос. Нужно выбрать все товары, у которых в регистре остатков был остаток 0 хоть один день за выбранный промежуток дат. Подскажите
1 Шапокляк
 
06.09.11
11:49
Ну если по регистраторам остатки шуршать.
2 shuhard
 
06.09.11
11:50
(0) на конец дня или по регистратору ?
3 Ненавижу 1С
 
гуру
06.09.11
11:51
выбрать остатки и обороты за месяц, сгруппировать по количеству и сравнить с числом дней в периоде
4 zharkin
 
06.09.11
11:52
Соединяешь два запроса: в 1-м запросе у тебя одни даты дней, во втором остатки по товарам по дням, и делаешь отбор Имеющие Сумма(Остаток) = 0.
5 zak555
 
06.09.11
11:53
идти по операциям и смотреть сальдо
6 popcorn
 
06.09.11
12:41
(2) Ну можно на конец дня...
3,4,5 короче хреново всё... Красивого решения нет
7 Ненавижу 1С
 
гуру
06.09.11
12:42
(6) чем тебе (3) не угадил?
8 popcorn
 
06.09.11
12:43
(7) нужно не по одной позиции, а по всем товарам.
9 shuhard
 
06.09.11
12:44
10 Ненавижу 1С
 
гуру
06.09.11
12:45
(8) и в чем проблема?
11 popcorn
 
06.09.11
12:53
(10) в том что я тупанул
12 popcorn
 
07.09.11
09:04
(10) Так?

ВЫБРАТЬ
   Таблица1.Товар
ИЗ
   (ВЫБРАТЬ
       КОЛИЧЕСТВО(ТоварыОстаткиИОбороты.Период) КАК Период,
       Номенклатура.Ссылка КАК Товар
   ИЗ
       Справочник.Номенклатура КАК Номенклатура
           ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Товары.ОстаткиИОбороты(
                   &Дата1,
                   &Дата2,
                   День,
                   ,
                   ) КАК ТоварыОстаткиИОбороты
           ПО ТоварыОстаткиИОбороты.Товар = Номенклатура.Ссылка
   
   СГРУППИРОВАТЬ ПО
       Номенклатура.Ссылка) КАК Таблица1
ГДЕ
   Таблица1.Период < РАЗНОСТЬДАТ(&Дата1, &Дата2, ДЕНЬ) + 1
13 crazy_killer
 
07.09.11
09:15
сделай остатки и обороты за период по регистратору, из полученного хлама оставь только то, где КонОстаток = 0, так получишь те товары, где были нулевые остатки внутри периода, но при этом по ним были хотяб какие-то движения. чтобы сюда добавить то, чего в принципе на складе даже и не мелькало, на граничные даты сделай просто анализ остатков (всяжи номенклатуру и остатки) и убери не нулевые. соедини. сгруппируй.
14 popcorn
 
07.09.11
13:10
(3) Не получилось. Если в какой-то день не было движений, то в остатки за этот день товар не попадает?
15 Рэйв
 
07.09.11
13:12
из есиса

ВЫБРАТЬ
   УчетНоменклатурыОстаткиИОбороты.Номенклатура КАК Номенклатура,
   УчетНоменклатурыОстаткиИОбороты.Период КАК Период,
   УчетНоменклатурыОстаткиИОбороты.КоличествоНачальныйОстаток КАК КоличествоНачальныйОстаток
ИЗ
   РегистрНакопления.УчетНоменклатуры.ОстаткиИОбороты(, , День, ДвиженияИГраницыПериода, ) КАК УчетНоменклатурыОстаткиИОбороты
ИТОГИ
   СУММА(КоличествоНачальныйОстаток)
ПО
   Период ПЕРИОДАМИ(ДЕНЬ, , ),
   Номенклатура
16 popcorn
 
07.09.11
13:23
(15) так всё равно не попадают периоды где нет движений кроме начальной даты и конечной
17 PVV65
 
07.09.11
13:27
(16) На СКД выгружаешь в ТЗ таблицу остатков на каждый день и вторым запросом выбираешь с нулем.
18 ssh2006
 
07.09.11
13:29
(16) в выборке по периоду "Все" используй
19 popcorn
 
07.09.11
13:38
(18) куда его воткнуть?
20 ssh2006
 
07.09.11
13:43
Выбрать (Choose)
Синтаксис:
Выбрать(<Тип обхода>, <Группировки>, <Группировки для значений группировок>)
Параметры:
<Тип обхода> (необязательный)
Тип: ОбходРезультатаЗапроса. Задает тип обхода записей в получаемой выборке.
Значение по умолчанию: Прямой
<Группировки> (необязательный)
Тип: Строка. Список группировок, разделенных запятыми, по которым будет производиться обход.
Для детальных записей указывается пустая строка. В случае, если группировки не указаны - будет использоваться следующая группировка, указанная в предложении запроса "ИТОГИ".
<Группировки для значений группировок> (необязательный)
Тип: Строка. Список группировок, разделенных запятыми, из которых будут выбираться значения группировок для обхода. Если указано "Все", то будут выбираться все значения группировок. Если указана пустая строка, то значения для группировок будут выбираться с предыдущей группировки.
Возвращаемое значение:
Тип: ВыборкаИзРезультатаЗапроса.
21 popcorn
 
07.09.11
13:44
(20) я в консоли делаю...
22 ssh2006
 
07.09.11
13:47
В консоли нигде. Эффект от дополнения периодами, использованного в запросе (15) достигается при обходе  результата
Ошибка? Это не ошибка, это системная функция.