Имя: Пароль:
JOB
Работа
Как узнать в запросе: одинаковые контрагенты или нет?
0 Масянька
 
15.06.12
14:37
День добрый!
Помогите, пожалуйста!
Документ, его табличная часть. В таб. части есть реквизит "Контрагент". Как можно узнать в запросе: контрагенты разные или одинаковые?

Спасибо.
1 Товарищ Исаев
 
15.06.12
14:39
если в запросе различные больше двух строк, то наверно разные.
2 shuhard
 
15.06.12
14:39
(0) что-то мешает сгруппировать и сосчитать количество разных ?
3 Масянька
 
15.06.12
14:42
(1) Выбирается куча полей.
(2) Вот тут я и туплю...
4 Undefined
 
15.06.12
14:42
Добавь поле вручную с единичкой. Группируй строки по контрагенту,а поле с единичкой суммируй. На выходе в этом поле получишь сколько раз контрагент встречается в этой таб части.
5 dangerouscoder
 
15.06.12
14:43
(3) Правильно заданный вопрос уже содержит часть ответа!
6 Товарищ Исаев
 
15.06.12
14:43
(4) блестящий быдлокод!
7 Undefined
 
15.06.12
14:43
если много полей то определение дублей можешь в отдельном пакете сделать
8 Лефмихалыч
 
15.06.12
14:43
(0) попробуй их сравнить
9 Undefined
 
15.06.12
14:44
(6) придумай другой чтобы узнат сколько раз контрагент всчтечается в таб части.
10 Масянька
 
15.06.12
14:46
ВЫБРАТЬ
   элЗаявкаНаВывозКонтейнеры.Ссылка,
   элЗаявкаНаВывозКонтейнеры.ДокументОснование,
   элЗаявкаНаВывозКонтейнеры.Контрагент,
   элЗаявкаНаВывозКонтейнеры.ДоговорКонтрагента,
   элЗаявкаНаВывозКонтейнеры.Контейнер,
   элЗаявкаНаВывозКонтейнеры.ВидКонтейнера,
   элЗаявкаНаВывозКонтейнеры.Груз,
   1 КАК Количество,
   СтавкиНДС.Ссылка КАК СтавкаНДС
ИЗ
   Документ.элЗаявкаНаВывоз.Контейнеры КАК элЗаявкаНаВывозКонтейнеры,
   Перечисление.СтавкиНДС КАК СтавкиНДС
ГДЕ
   элЗаявкаНаВывозКонтейнеры.Ссылка = &Ссылка
   И СтавкиНДС.Ссылка = &СтавкаНДС
11 Масянька
 
15.06.12
14:47
Где нужно суммировать? Запрос - к табличной части.
12 ЧашкаЧая
 
15.06.12
14:47
(3) Как по мне, так плохо понятно зачем это нужно, насколько хватает моих телепатических возможностей
ВЫБРАТЬ
   ИнвентаризацияРасчетовСконтрагентамиКонтрагенты.Контрагент
ИЗ
   Документ.ИнвентаризацияРасчетовСконтрагентами.Контрагенты КАК ИнвентаризацияРасчетовСконтрагентамиКонтрагенты
ГДЕ
   ИнвентаризацияРасчетовСконтрагентамиКонтрагенты.Ссылка = &Ссылка

СГРУППИРОВАТЬ ПО
   ИнвентаризацияРасчетовСконтрагентамиКонтрагенты.Контрагент

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

СГРУППИРОВАТЬ ПО
   ЗаказПокупателяТовары.Номенклатура
ИМеющие КОЛИЧЕСТВО(ЗаказПокупателяТовары.Номенклатура)>1
14 Undefined
 
15.06.12
14:47
если остальные поля разные то так не получится. Уточни задачу тебе просто надо узнать есть ли повторения или количесвто повторений?
15 m-serg74
 
15.06.12
14:49
"ВЫБРАТЬ
|    ОтчетОРозничныхПродажахТовары.Ссылка,
|    ОтчетОРозничныхПродажахТовары.Партнер,
|    СУММА(1) КАК КоличествоПартнеров
|ПОМЕСТИТЬ ВТ1
|ИЗ
|    Документ.ОтчетОРозничныхПродажах.Товары КАК ОтчетОРозничныхПродажахТовары
|
|СГРУППИРОВАТЬ ПО
|    ОтчетОРозничныхПродажахТовары.Партнер,
|    ОтчетОРозничныхПродажахТовары.Ссылка
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
|    ОтчетОРозничныхПродажахТовары.Ссылка,
|    ОтчетОРозничныхПродажахТовары.Номенклатура,
|    ОтчетОРозничныхПродажахТовары.Количество,
|    ВТ1.КоличествоПартнеров
|ИЗ
|    Документ.ОтчетОРозничныхПродажах.Товары КАК ОтчетОРозничныхПродажахТовары
|        ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ1 КАК ВТ1
|        ПО ОтчетОРозничныхПродажахТовары.Ссылка = ВТ1.Ссылка"
16 Масянька
 
15.06.12
14:50
На основании этого дока вводится другой док, где контрагент - реквизит шапки. Так вот: если контрагент в доке основании один (разные контейнеры, услуги и т.д.), то в новом доке можно пихнуть его в шапку.
17 HEKPOH
 
15.06.12
14:51
(16) ИТОГИ в помощь и обход результата с группировкой
18 Undefined
 
15.06.12
14:52
(16) прикольно) тогда отдельным запросом как в (12) или пакетом запроса как в (15)
19 HEKPOH
 
15.06.12
14:52
+(17)
СпособВыборки = ОбходРезультатаЗапроса.ПоГруппировкамСИерархией;
Источники = Запрос.Выполнить().Выбрать(СпособВыборки);
20 Pasha
 
15.06.12
14:52
(6) Нормальный код..Просто семерочный... В восьмерке конечно лучше делать запросами все
21 Undefined
 
15.06.12
14:54
(20) то что в (6) это все в запросе) как в (15)
22 Масянька
 
15.06.12
15:02
Всем ОГРОМНОЕ спасибо! Что-то получилось - пойду дальше ... ваять....
23 Масянька
 
15.06.12
15:18
Вы, наверное, будете смеяться, но... у меня двоит....
ВЫБРАТЬ
   элЗаявкаНаВывозКонтейнеры.Ссылка,
   элЗаявкаНаВывозКонтейнеры.Контрагент,
   СУММА(1) КАК КоличествоКонтрагентов
ПОМЕСТИТЬ ВТ1
ИЗ
   Документ.элЗаявкаНаВывоз.Контейнеры КАК элЗаявкаНаВывозКонтейнеры

СГРУППИРОВАТЬ ПО
   элЗаявкаНаВывозКонтейнеры.Контрагент,
   элЗаявкаНаВывозКонтейнеры.Ссылка
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   элЗаявкаНаВывозКонтейнеры.Ссылка,
   элЗаявкаНаВывозКонтейнеры.Контейнер,
   элЗаявкаНаВывозКонтейнеры.КоличествоМест,
   СтавкиНДС.Ссылка КАК СтавкаНДС,
   ВТ1.КоличествоКонтрагентов
ИЗ
   Документ.элЗаявкаНаВывоз.Контейнеры КАК элЗаявкаНаВывозКонтейнеры
       ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ1 КАК ВТ1
       ПО элЗаявкаНаВывозКонтейнеры.Ссылка = ВТ1.Ссылка,
   Перечисление.СтавкиНДС КАК СтавкиНДС
ГДЕ
   элЗаявкаНаВывозКонтейнеры.Ссылка = &Ссылка И
   СтавкиНДС.Ссылка = &СтавкаНДС
24 m-serg74
 
15.06.12
15:20
Перечисление.СтавкиНДС КАК СтавкиНДС - что такое?
25 m-serg74
 
15.06.12
15:21
наверное в конфе две СтавкиНДС вот и двоит
26 m-serg74
 
15.06.12
15:22
ВЫБРАТЬ
   элЗаявкаНаВывозКонтейнеры.Ссылка,
   элЗаявкаНаВывозКонтейнеры.Контейнер,
   элЗаявкаНаВывозКонтейнеры.КоличествоМест,
   ////СтавкиНДС.Ссылка КАК СтавкаНДС,
   &СтавкаНДС,
   ВТ1.КоличествоКонтрагентов
ИЗ
   Документ.элЗаявкаНаВывоз.Контейнеры КАК элЗаявкаНаВывозКонтейнеры
       ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ1 КАК ВТ1
       ПО элЗаявкаНаВывозКонтейнеры.Ссылка = ВТ1.Ссылка,
   //////Перечисление.СтавкиНДС КАК СтавкиНДС
ГДЕ
   элЗаявкаНаВывозКонтейнеры.Ссылка = &Ссылка И
   ////СтавкиНДС.Ссылка = &СтавкаНДС
27 m-serg74
 
15.06.12
15:23
"И" забыл убить)
28 m-serg74
 
15.06.12
15:23
и "," в условии соединения...
29 Масянька
 
15.06.12
15:26
Без ставки тоже двоит - проверила.
30 m-serg74
 
15.06.12
15:27
а вот так?
ВЫБРАТЬ
   элЗаявкаНаВывозКонтейнеры.Ссылка,
   ////элЗаявкаНаВывозКонтейнеры.Контрагент,
   СУММА(1) КАК КоличествоКонтрагентов
31 Масянька
 
15.06.12
15:32
И так тоже.
Собака зарыта во втором запросе. первый запрос отдельно делаю - красиво (3 строки документа, в 2-ух одинаковый контрагент). Выводит - 2 строки с количеством 1 и 2.
32 m-serg74
 
15.06.12
15:33
ВЫБРАТЬ
   элЗаявкаНаВывозКонтейнеры.Ссылка,
   КОЛИЧЕСТВО(РАЗЛИЧНЫЕ элЗаявкаНаВывозКонтейнеры.Контрагент) КАК КоличествоКонтрагентов
ПОМЕСТИТЬ ВТ1
ИЗ
   Документ.элЗаявкаНаВывоз.Контейнеры КАК элЗаявкаНаВывозКонтейнеры

СГРУППИРОВАТЬ ПО
   элЗаявкаНаВывозКонтейнеры.Ссылка
;

////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ
   элЗаявкаНаВывозКонтейнеры.Ссылка,
   элЗаявкаНаВывозКонтейнеры.Контейнер,
   элЗаявкаНаВывозКонтейнеры.КоличествоМест,
   &СтавкаНДС КАК СтавкаНДС,
   ВТ1.КоличествоКонтрагентов
ИЗ
   Документ.элЗаявкаНаВывоз.Контейнеры КАК элЗаявкаНаВывозКонтейнеры
       ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ1 КАК ВТ1
       ПО элЗаявкаНаВывозКонтейнеры.Ссылка = ВТ1.Ссылка
ГДЕ
   элЗаявкаНаВывозКонтейнеры.Ссылка = &Ссылка
33 m-serg74
 
15.06.12
15:34
мой косяк был и был в первом запросе)
34 Масянька
 
15.06.12
15:36
Получилось!!!! В первом запросе надобно убрать группировку по Контрагенту.
ОГРОМНОЕ СПАСИБО!!!!!!!!
35 m-serg74
 
15.06.12
15:37
КОЛИЧЕСТВО(РАЗЛИЧНЫЕ на самом деле вот это!
36 Масянька
 
15.06.12
15:38
(35) Все равно - СПАСИБО!!!!!!
37 m-serg74
 
15.06.12
15:38
удачи)
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn