Имя: Пароль:
1C
1С v8
Помогите написать запрос
0 NatalkaZ
 
20.09.11
13:16
Добрый день!
Помогите написать след запрос:
1) В одном рег.накопления (обороты)РегистрНакопления.ПланПоступленияДС находятся напр. данные
период    ДокПланирования ПланДока(Ресурс)  
16.05.11. СФ-001          16000
18.05.11  СФ-001          18000
20.05.11  СФ-001          20000
2) В другом регистре накопления РегистрНакопления.ФактПоступленияДС
находятся данные
период     ДокСчет    ДокументФакта  ФактДока
27.05.11   СФ-001     БВ-01          21000
29.05.11   СФ-011     БВ-02          22000
Необходимо получить таблицу след.вида:
16.05.11. СФ-001          16000 27.05.11   СФ-001     БВ-01    21000
18.05.11  СФ-001          18000 29.05.11   СФ-011     БВ-02    22000
20.05.11  СФ-001          20000  
Заранее спасибо
1 Ненавижу 1С
 
гуру
20.09.11
13:17
а почему именно так:

16.05.11. СФ-001          16000 27.05.11   СФ-001     БВ-01    21000
18.05.11  СФ-001          18000 29.05.11   СФ-011     БВ-02    22000
2 Maxus43
 
20.09.11
13:18
Связь по ДокПланирования И ДокСчет надо. к регистру 1 левое соединение по нему из регистра 2
3 andrewks
 
20.09.11
13:18
(0) сколько?
4 Смешной 1С
 
20.09.11
13:30
ОБЪЕДИНИТЬ ВСЕ
5 NatalkaZ
 
20.09.11
13:30
блин, я уже все варианты перепробовала
6 aleks-id
 
20.09.11
13:30
100 баксов
7 NatalkaZ
 
20.09.11
13:31
щас
8 aleks-id
 
20.09.11
13:31
или фотку
9 Maxus43
 
20.09.11
13:32
ответь на (1), непонятно почто именно так
10 wade25
 
20.09.11
13:33
Левое соединение с 1 условием, где докпланирования = доксчет.
11 NatalkaZ
 
20.09.11
13:34
ну вот хочет начальство видеть в такой именно форме план захода денег и факт
12 NatalkaZ
 
20.09.11
13:34
ВЫБРАТЬ
   ПланПоступленияДСОбороты.Период,
   ПланПоступленияДСОбороты.ДокументПланированияСчет,
       ПланПоступленияДСОбороты.СуммаПланВалютаДокументаОборот,
   
   ФактПоступленияДСОбороты.Период КАК Период1,
   ФактПоступленияДСОбороты.ДокСчет,
   ФактПоступленияДСОбороты.ДокументФакта,
   ФактПоступленияДСОбороты.СуммаФактаВалютаДокументаОборот

ИЗ
   РегистрНакопления.ПланПоступленияДС.Обороты(&ДатаНач, &ДатаКон, Запись, ДокументПланированияСчет = &ДокСчет) КАК ПланПоступленияДСОбороты
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ФактПоступленияДС.Обороты(&ДатаНач, &ДатаКон, Запись, ДокСчет = &ДокСчет) КАК ФактПоступленияДСОбороты
       ПО ПланПоступленияДСОбороты.ДокументПланированияСчет = ФактПоступленияДСОбороты.ДокСчет
13 Maxus43
 
20.09.11
13:35
(11) перефразирую. почему к 16-му числу относится 27, а к 18-му - 29
14 NatalkaZ
 
20.09.11
13:36
потому что в такой последовательности деньги заходили
15 aleks-id
 
20.09.11
13:37
делай 2 ВТ и лепи их левым по НомерСтроки
16 NatalkaZ
 
20.09.11
13:37
щас попробую
17 NatalkaZ
 
20.09.11
13:47
не то
18 NatalkaZ
 
20.09.11
13:48
еще варианты
19 aleks-id
 
20.09.11
13:50
(17) как же не то?
номстроки период    ДокПланирования ПланДока(Ресурс)  
1         16.05.11. СФ-001          16000
2         18.05.11  СФ-001          18000
3         20.05.11  СФ-001          20000

номстроки период     ДокСчет    ДокументФакта  ФактДока
1         27.05.11   СФ-001     БВ-01          21000
2         29.05.11   СФ-011     БВ-02          22000

и получаем в итоге
1 16.05.11. СФ-001          16000 27.05.11   СФ-001     БВ-01    21000
2 18.05.11  СФ-001          18000 29.05.11   СФ-011     БВ-02    22000
3 20.05.11  СФ-001          20000 Null
20 NatalkaZ
 
20.09.11
13:52
ВЫБРАТЬ
   ПланПоступленияДСОбороты.Период,
   ПланПоступленияДСОбороты.ДокументПланированияСчет,
   ПланПоступленияДСОбороты.Покупатель,
   ПланПоступленияДСОбороты.Потребитель,
   ПланПоступленияДСОбороты.Валюта,
   ПланПоступленияДСОбороты.Продавец,
   ПланПоступленияДСОбороты.СуммаПланВалютаДокументаОборот,
   ПланПоступленияДСОбороты.СуммаПланВалютаБазоваяОборот,
   ПланПоступленияДСОбороты.НомерСтроки
ПОМЕСТИТЬ ВТ1
ИЗ
   РегистрНакопления.ПланПоступленияДС.Обороты(&ДатаНач, &ДатаКон, Запись, ДокументПланированияСчет = &ДокСчет) КАК ПланПоступленияДСОбороты
;

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

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   ВТ1.Период,
   ВТ1.ДокументПланированияСчет,
   ВТ1.Покупатель,
   ВТ1.Потребитель,
   ВТ1.Валюта,
   ВТ1.Продавец,
   ВТ1.СуммаПланВалютаДокументаОборот,
   ВТ1.СуммаПланВалютаБазоваяОборот,
   ВТ2.Период КАК ПериодФакта,
   ВТ2.ДокСчет,
   ВТ2.ДокументФакта,
   ВТ2.СуммаФактаВалютаДокументаОборот,
   ВТ2.СуммаФактаВалютаБазоваяОборот
ИЗ
   ВТ1 КАК ВТ1
       ПОЛНОЕ СОЕДИНЕНИЕ ВТ2 КАК ВТ2
       ПО ВТ1.НомерСтроки = ВТ2.НомерСтроки
21 NatalkaZ
 
20.09.11
13:52
щас намалюю что получилось
22 aleks-id
 
20.09.11
13:52
ЛЕВОЕ СОЕДИНЕНИЕ ВТ2 КАК ВТ2
23 NatalkaZ
 
20.09.11
13:53
да? а если фактов будет больше чем планов?
24 aleks-id
 
20.09.11
13:54
(23) а в ТЗ этого не указано
25 NatalkaZ
 
20.09.11
13:54
16.05.11. СФ-001          16000 Null
2 18.05.11  СФ-001          18000 29.05.11   27.05.11   СФ-001     БВ-01    21000
3 20.05.11  СФ-001          20000 Null
26 aleks-id
 
20.09.11
13:54
+(24) и НомерСтроки надо не из регистра брать а делать для каждой таблицы!!!
27 NatalkaZ
 
20.09.11
13:58
не поняла((
28 NatalkaZ
 
20.09.11
14:03
help meeeeeeeeeeeee
29 aleks-id
 
20.09.11
14:06
ну чего не поняла. первый запрос в ТЗ1. прошлась по ТЗ1, перенумеровала строки. второй запрос в ТЗ2. прошлась по ТЗ2, перенумеровала строки. а дальше лепи эти 2 ТЗ полным
30 NatalkaZ
 
20.09.11
14:10
других вариантов я так понимаю нет? СКД отпадает?
31 Жан Пердежон
 
20.09.11
14:10
не левым, а полным
32 aleks-id
 
20.09.11
14:12
(30) ну если в скд прикрутишь счетчик то можешь и там :)
33 NatalkaZ
 
20.09.11
14:15
плохо(((
34 aleks-id
 
20.09.11
14:16
(33) а ты думала без фото чонить дельное посоветуют? )))
35 NatalkaZ
 
20.09.11
14:16
ой, та ладно...
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.