Имя: Пароль:
1C
1С v8
Вопросы по запросу
0 slafor
 
26.08.19
03:32
Есть нестандартная, нетиповая конфа. Есть документ инвентаризации со склада в Подмосковье.

В документе есть ТЧ Товары со следующими реквизитами: НомерСтроки, Номенклатура, Код (очевидно, штрих-код), Количество. Все заполняемые реквизиты заполняются вручную (за исключением номера строки), Код от Товара никак не зависит.

Нужно ОДНИМ запросом получить таблицу с теми товарами, у которых Код не совпадает? Может, у кого-то есть пример похожего кода?
1 ДенисЧ
 
26.08.19
03:39
Не совпадает с чем?
2 Sapiens_bru
 
26.08.19
03:42
(0) Код не совпадает с чем?

Задачи с условием получить что то ОДНИМ запросом, это обычно задачи с собеседования. Тут на такое ответы давать не любят.

Если у тебя есть решение, как нужный результат получить запросом + постобработкой, пиши это решение сюда. Будет понятно чего ты хочешь от запроса.
3 slafor
 
26.08.19
04:19
(1) В строках товар один, а коды разные.

(2) Запрос + постобработка - это запросто. Могу написать.
4 rphosts
 
26.08.19
04:31
(3) что за формулировки филолога? Товар 1 это значит это  тот-же самый  элемент справочника Товары и никаких расхождений быть не может!
5 ДенисЧ
 
26.08.19
04:35
(3) выбрать номенклатура, количество(код)
сгруппировать по номенклатура
имеющие количество(код) > 1

)))
6 Sapiens_bru
 
26.08.19
04:38
(3) Ну я кажется понял. Нужно проконтролировать работников склада. Тех кто вносит в систему данные о штрихкодах номенклатуры. Например на коробке несколько штрихкодов (сам код, номер серии, номер партии итд) Вася заполнял документ и для товара выбрал код1, рядом Петя для того же товара в свой документ поставил код2.
7 slafor
 
26.08.19
06:17
Не так уж и просто, как я предполагал. Ситуация на данный момент.

Есть запрос:

ВЫБРАТЬ Док.Номенклатура КАК Номенклатура, Док.Код КАК Код, Док.Количество
ИЗ Документ.ИнвентаризацияНаСкладе.Товары КАК Док
ГДЕ Док.Ссылка = &Ссылка

Есть его результат на демо-данных:

Номенклатура    Код    Количество
1. Товар1    123    10
2. Товар2    234    10
3. Товар2    234    10
4. Товар3    345    10
5. Товар3       456    10

Надо, чтобы в результат нужного запроса попали только позиции 4 и 5, у которых номенклатура одна (Товар3), а Коды не совпадают.
8 ДенисЧ
 
26.08.19
06:20
@Стаж: 2 года 11 месяцев 11 дней@

Такие запросы пишутся даже с тяжёлого похмелья.. Одной левой...
9 slafor
 
26.08.19
06:26
(8) Извини, не заметил сообщения (5). Похоже на то что нужно. Спасибо, попробую.
10 MuxaH
 
26.08.19
06:45
(5) Я бы ещё "РАЗЛИЧНЫЕ" добавил
11 ДенисЧ
 
26.08.19
06:48
(10) Зачем, если есть группировка?
12 mikecool
 
26.08.19
09:24
(11) контрольный, в голову! ))
13 ДенисЧ
 
26.08.19
09:42
(12) С этим тебе на другие сайты... Там ещё на немецком разговаривают...
14 MuxaH
 
26.08.19
11:14
(11) Не в смысле "ВЫБРАТЬ РАЗЛИЧНЫЕ", а "имеющие количество( различные (код)) > 1"
15 slafor
 
26.08.19
13:56
Да, но не совсем понятно... Пишем код (5) и в итоге не получаем список как нужно (т.е. Номенклатура, Код, Количество), а получаем список Номенклатура, КоличествоНеправильныхСтрок (т.е. строк, в которых Номенклатура одна, а Код разный), и что с ним делать?

А как еще можно сделать так, чтобы в итоге получить список "правильных" строк, т.е. наоборот?
16 slafor
 
26.08.19
14:29
В общем, сам себе же на вопрос и отвечаю. Выглядеть это будет примерно так:

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

Всем спасибо.