Имя: Пароль:
1C
1С v8
Как запросом найти два документа с одинаковыми ТЧ?
,
0 suvolod
 
26.10.12
19:22
Есть два документа - Приходная и Расходная накладные, табличные части этих двух доков по Номенклатуре совпадают, и мне известна ссылка на приходную накладную. По этому доку я пишу следующий запрос:

Запрос.Текст =
       "ВЫБРАТЬ
       |    ПоступлениеТоваровУслугТовары.Номенклатура
       |ПОМЕСТИТЬ ВремТаб
       |ИЗ
       |    Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
       |ГДЕ
       |    ПоступлениеТоваровУслугТовары.Ссылка = &Ссылка
       |
       |СГРУППИРОВАТЬ ПО
       |    ПоступлениеТоваровУслугТовары.Номенклатура";

Теперь мне нужно как-то найти расходную накладную, у которой табличная часть, свернутая по номенклатуре, полностью совпадает с приходным документом.. Как это сделать?
1 Нуф-Нуф
 
26.10.12
19:40
соедини с таким же запросом по реализации
2 Нуф-Нуф
 
26.10.12
19:41
6 лет на форуме. ты чем занимался все это время?
3 suvolod
 
26.10.12
19:45
Пример можешь привести.. не могу догнать что ты предлагаешь сделать
4 Нуф-Нуф
 
26.10.12
19:49
а нее. тут чет похитрее надо
5 kotletka
 
26.10.12
19:50
(4)из бани откинулся ?))
6 Нуф-Нуф
 
26.10.12
19:50
(5) я и не был в бане
7 suvolod
 
26.10.12
19:51
вот и я про тоже...
8 Нуф-Нуф
 
26.10.12
19:51
(5) просто я настоящий мужик. я себе лайф в настройках отключил нахер
9 suvolod
 
26.10.12
19:52
ВЫБРАТЬ
   ПоступлениеТоваровУслугТовары.Номенклатура
ПОМЕСТИТЬ ВремТаб
ИЗ
   Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
ГДЕ
   ПоступлениеТоваровУслугТовары.Ссылка = &Ссылка

СГРУППИРОВАТЬ ПО
   ПоступлениеТоваровУслугТовары.Номенклатура
;

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

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

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   ВремТаб2.Ссылка
ИЗ
   ВремТаб КАК ВремТаб
       ЛЕВОЕ СОЕДИНЕНИЕ ВремТаб2 КАК ВремТаб2
       ПО ВремТаб.Номенклатура = ВремТаб2.Номенклатура

заготовку по твоему исходному предложению написал... правда толку от нее мало.
10 Ranger_83
 
26.10.12
19:56
А для чего это нужно?Извилины размять или по делу?
11 suvolod
 
26.10.12
20:02
По делу. УТ 10.3, достаточно сильно переписанная. Ежедневно делается т.н. "продажа собственной фирме", товар по РТиУ продается собственной дочке, затем эта дочка приходует товар, и только затем через отчет о розничных продажах продает ее конечному покупателю.

Есть определенные проблемы с оформлением возвратов - ведь при возврате товара от покупателя нужно будет "прогнать обратно" и возвраты и по собственным фирмам. Хочу это дело автоматизировать. Документ поступления по дочке вытягиваю из регистра ПартииТоваровНаСкладах по ОРП, и по найденному доку поступления - хочу однозначно определить док реализации от исходной организации дочке. Конечно, можно привязаться просто к дате и сумме документа (по РТиУ и ПТиУ они должны совпадать), но, чтобы гарантированно исключить случайные совпадения, хочу еще делать и проверку по номенклатуре, указанной в табличной части. Это и будет чем-то вроде первичного ключа для сопоставления документов
12 kotletka
 
26.10.12
20:04
запросом заипешься, для начала бы отобрал все расходники в которых количество строк совпадает с приходником (+ ограничение по датам) и номенклатура в массиве, а потом в цикле сравнивал
13 Ranger_83
 
26.10.12
20:05
(11)А как же механизм ввода на основании?
14 suvolod
 
26.10.12
20:09
(12)Так сделать можно конечно - отобрать подходящие доки, отсортировать ТЧ и сравнивать, но хотелось все одним запросом  получить

(13)Нет механизма ввода на основании. Генерация документов по операции "Продажа собственной фирме" выполняется без установки документа основания. Так было когда-то прописано в этой обработке.
15 XLife
 
26.10.12
20:19
(8) чой-то?
16 Нуф-Нуф
 
26.10.12
20:21
(15) перевел в рубли время, которое тратил в лайф-ветках.
17 XLife
 
26.10.12
20:24
(16) ты не фикси?
18 Нуф-Нуф
 
26.10.12
20:24
(17) щас нет
19 Нуф-Нуф
 
26.10.12
20:24
ВЫБРАТЬ
   ПоступлениеТоваровУслугТовары.Ссылка,
   ПоступлениеТоваровУслугТовары.Номенклатура,
   1 КАК Количество
ПОМЕСТИТЬ ТаблицаПоступлений
ИЗ
   Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
ГДЕ
   ПоступлениеТоваровУслугТовары.Ссылка = &Ссылка
   И ПоступлениеТоваровУслугТовары.Ссылка.Дата > &Дата

СГРУППИРОВАТЬ ПО
   ПоступлениеТоваровУслугТовары.Номенклатура,
   ПоступлениеТоваровУслугТовары.Ссылка
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   ТаблицаПоступлений.Ссылка,
   СУММА(ТаблицаПоступлений.Количество) КАК КоличествоИтого
ПОМЕСТИТЬ ТаблицаПоступленийИтого
ИЗ
   ТаблицаПоступлений КАК ТаблицаПоступлений

СГРУППИРОВАТЬ ПО
   ТаблицаПоступлений.Ссылка
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   РеализацияТоваровУслугТовары.Ссылка,
   РеализацияТоваровУслугТовары.Номенклатура,
   1 КАК Количество
ПОМЕСТИТЬ ТаблицаРеализаций
ИЗ
   Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
ГДЕ
   РеализацияТоваровУслугТовары.Ссылка.Дата > &Дата

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

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   ТаблицаРеализаций.Ссылка,
   СУММА(ТаблицаРеализаций.Количество) КАК КоличествоИтого
ПОМЕСТИТЬ ТаблицаРеализацийИтого
ИЗ
   ТаблицаРеализаций КАК ТаблицаРеализаций

СГРУППИРОВАТЬ ПО
   ТаблицаРеализаций.Ссылка
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   ТаблицаПоступлений.Ссылка КАК Поступление,
   СУММА(ТаблицаПоступлений.Количество) КАК КоличествоП,
   ТаблицаРеализаций.Ссылка КАК Реализация,
   СУММА(ТаблицаРеализаций.Количество) КАК КоличествоК,
   ТаблицаПоступленийИтого.КоличествоИтого КАК КоличествоИтогоП,
   ТаблицаРеализацийИтого.КоличествоИтого КАК КоличествоИтогоК
ПОМЕСТИТЬ ИтоговаяТаблица
ИЗ
   ТаблицаПоступлений КАК ТаблицаПоступлений
       ЛЕВОЕ СОЕДИНЕНИЕ ТаблицаРеализаций КАК ТаблицаРеализаций
           ЛЕВОЕ СОЕДИНЕНИЕ ТаблицаРеализацийИтого КАК ТаблицаРеализацийИтого
           ПО ТаблицаРеализаций.Ссылка = ТаблицаРеализацийИтого.Ссылка
       ПО ТаблицаПоступлений.Номенклатура = ТаблицаРеализаций.Номенклатура
       ЛЕВОЕ СОЕДИНЕНИЕ ТаблицаПоступленийИтого КАК ТаблицаПоступленийИтого
       ПО ТаблицаПоступлений.Ссылка = ТаблицаПоступленийИтого.Ссылка

СГРУППИРОВАТЬ ПО
   ТаблицаПоступлений.Ссылка,
   ТаблицаРеализаций.Ссылка,
   ТаблицаПоступленийИтого.КоличествоИтого,
   ТаблицаРеализацийИтого.КоличествоИтого
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   ИтоговаяТаблица.Поступление,
   ИтоговаяТаблица.Реализация
ИЗ
   ИтоговаяТаблица КАК ИтоговаяТаблица
ГДЕ
   ИтоговаяТаблица.КоличествоП = ИтоговаяТаблица.КоличествоК
           И ИтоговаяТаблица.КоличествоП = ИтоговаяТаблица.КоличествоИтогоП
           И ИтоговаяТаблица.КоличествоП = ИтоговаяТаблица.КоличествоИтогоК
20 Нуф-Нуф
 
26.10.12
20:25
не претендует на оптимальность, но все что смог придумать за 5 мин
21 Нуф-Нуф
 
26.10.12
20:26
с вас 2000 руб
22 Alex S D
 
26.10.12
20:29
(21) лол, лайф отключил, теперь в тематических компенсируешь?) в туалет то тоже уже не ходишь?) посчитай время))
23 Нуф-Нуф
 
26.10.12
20:32
(22) в тематике - только по теме :) все чотко
24 Alex S D
 
26.10.12
20:33
(23)ок, извини, что отвлек_)
25 suvolod
 
26.10.12
20:36
(19) Спасибо, сейчас свой вариант домыслю.. и с твоим сравню :)
26 kotletka
 
26.10.12
20:51
))) улыбнуло
27 kotletka
 
26.10.12
20:51
(26)к (19)
28 Нуф-Нуф
 
26.10.12
20:53
(27) давай твой вариант :)
29 suvolod
 
26.10.12
21:25
застрял с запросом.. завтра буду дорешивать. В любом случае - спасибо за твой вариант
30 Нуф-Нуф
 
26.10.12
21:25
(29) у себя попробовал - работает
31 XLife
 
26.10.12
21:42
(18) мож тебя по всем никам в баню отправить... так еще больше бабла рубить будешь