Имя: Пароль:
1C
1С v8
Соединение 2 вложенных запросов
0 ignatfool
 
30.11.12
07:04
Здравствуйте
Нужно соединить 2 вложенных запроса таким образом чтобы период выборки одного был ровно на месяц позже чем период выборки 2го.
собственно запрос -

ВЫБРАТЬ
   ХозрасчетныйДвиженияССубконто.Период,
   ХозрасчетныйДвиженияССубконто.Регистратор,
   ХозрасчетныйДвиженияССубконто.СубконтоДт3.Наименование,
   ХозрасчетныйДвиженияССубконто.Сумма,
   ХозрасчетныйДвиженияССубконто.СчетКт,
   ХозрасчетныйДвиженияССубконто.Содержание,
   ХозрасчетныйДвиженияССубконто.ВидСубконтоКт1.Наименование
ПОМЕСТИТЬ ВЗ1
ИЗ
   РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто(&ПериодПогашенияНачало, &ПериодПогашенияКонец, , , ) КАК ХозрасчетныйДвиженияССубконто
ГДЕ
   ХозрасчетныйДвиженияССубконто.ВидСубконтоКт1.Наименование = "Номенклатура"
   И ХозрасчетныйДвиженияССубконто.СубконтоДт3.Наименование = "Амортизация спецодежды"
   И ХозрасчетныйДвиженияССубконто.Период >= &ПериодПогашенияНачало
   И ХозрасчетныйДвиженияССубконто.Период <= &ПериодПогашенияКонец
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   ХозрасчетныйДвиженияССубконто.Период КАК Период2,
   ХозрасчетныйДвиженияССубконто.Регистратор КАК Регистратор2,
   ХозрасчетныйДвиженияССубконто.СубконтоДт1 КАК СубконтоДт1,
   ХозрасчетныйДвиженияССубконто.Сумма КАК Сумма2,
   ХозрасчетныйДвиженияССубконто.Содержание КАК Содержание2,
   ХозрасчетныйДвиженияССубконто.ВидСубконтоДт1.Наименование
ПОМЕСТИТЬ ВЗ2
ИЗ
   РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто(&ПериодНачало, &ПериодКонец, , , ) КАК ХозрасчетныйДвиженияССубконто
ГДЕ
   ХозрасчетныйДвиженияССубконто.Содержание = "Погашение стоимости"
   И ХозрасчетныйДвиженияССубконто.ВидСубконтоДт1.Наименование = "Номенклатура"

СГРУППИРОВАТЬ ПО
   ХозрасчетныйДвиженияССубконто.Период,
   ХозрасчетныйДвиженияССубконто.Регистратор,
   ХозрасчетныйДвиженияССубконто.Сумма,
   ХозрасчетныйДвиженияССубконто.Содержание,
   ХозрасчетныйДвиженияССубконто.ВидСубконтоДт1.Наименование,
   ХозрасчетныйДвиженияССубконто.СубконтоДт1
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   ВЗ1.Период,
   ВЗ1.Регистратор,
   ВЗ1.СубконтоДт3Наименование,
   ВЗ2.СубконтоДт1,
   ВЗ2.Период2,
   ВЗ2.Регистратор2,
   ВЗ2.Сумма2,
   Номенклатура.НазначениеИспользования.СрокПолезногоИспользования КАК СрокПолезногоИспользования,
   ВЗ2.Сумма2 / Номенклатура.НазначениеИспользования.СрокПолезногоИспользования КАК Списать
ИЗ
   ВЗ2 КАК ВЗ2
       ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура
       ПО ВЗ2.СубконтоДт1 = Номенклатура.Ссылка,
   ВЗ1 КАК ВЗ1
ГДЕ
   ВЗ2.СубконтоДт1 = &Ссылка

В СКД для &ПериодПогашенияНачало, &ПериодПогашенияКонец заданы выражения -ДОБАВИТЬКДАТЕ(&НачалоПериода, "МЕСЯЦ",1), КОНЕЦПЕРИОДА(ДОБАВИТЬКДАТЕ(&КонецПериода, "МЕСЯЦ",1), "МЕСЯЦ")

а для &ПериодНачало, &ПериодКонец - &НачалоПериода, КОНЕЦПЕРИОДА(&КонецПериода, "День")

Но все это счастье работает только если &НачалоПериода и &КонецПериода например 01.02.12 и 31.03.12, а надо чтобы при 01.02.12 и 29.02.12 выбирались из ВЗ1 данные с 01.03.12 по 31.03.12, а из ВЗ2 с 01.02.12 по 29.02.12 и все это соединялось в результирующем запросе.
Подскажите пожалуйста где мой косяк?
1 kosts
 
30.11.12
07:18
Дата Между ДатаНачала и ДатаОкончания
2 ignatfool
 
30.11.12
07:18
Конфа КА 1.1.26.2
3 ignatfool
 
30.11.12
07:20
(1) Какая дата? Делал ХозрасчетныйДвиженияССубконто.Период Между &ПериодПогашенияНачало, &ПериодПогашенияКонец - работает также
4 Мимохожий Однако
 
30.11.12
07:21
А теперь опиши, что хотел получить
5 ignatfool
 
30.11.12
07:31
(4) хотел получить таблицу, где при установке периода 01.02.12-29.02.12 данные из ВЗ1 (ВЗ1.Период,    ВЗ1.Регистратор,    ВЗ1.СубконтоДт3Наименование,) будут с 01.03.12 по 31.03.12 и будут соединяться с данными из ВЗ2 (ВЗ2.СубконтоДт1,    ВЗ2.Период2,    ВЗ2.Регистратор2,    ВЗ2.Сумма2,) которые будут с 01.02.12 по 29.02.12
6 ignatfool
 
30.11.12
08:14
к (0)

И ХозрасчетныйДвиженияССубконто.Период >= &ПериодПогашенияНачало
   И ХозрасчетныйДвиженияССубконто.Период <= &ПериодПогашенияКонец

это уже эксперименты
7 ignatfool
 
03.12.12
05:11
Тема закрыта, решил задачу другим способом
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан