Имя: Пароль:
1C
1С v8
СКД и связи наборов данных
,
0 ДенисЧ
 
02.12.19
10:13
Есть две таблички:
1. периоды. Например 1-2, 3-6, 7-20, 21-24
2. регистр оборотов. Стандартный.
Надо получить обороты регистра по периодам из первой таблицы.
Создал два набора, первый - период, второй запрос к регистру.
А теперь не пойму как указать условия связи... Если пишу Периоды.НачалоПериода >= рег.Период - то ругается "поле не найдено рег.Период".
Если просто НачалоПериода >= Период, то сохранить даёт, но при исполнении "поле не найдено Период"

Как правильно такое сделать?
1 vicof
 
02.12.19
10:18
В связи по периоду пишешь параметр, в правой таблице его используешь
2 aleks_default
 
02.12.19
10:18
(0)В одном наборе ИМХО
3 ДенисЧ
 
02.12.19
10:20
(1) Написал. Получается строгое равенство. А нужен период с и по.
4 toypaul
 
гуру
02.12.19
10:21
для того чтобы вопросы по СКД правильно задавать, надо сначала научиться выкладывать картинки настроек.

а так у регистра вообще-то 2 параметра для идентификации периода
5 vicof
 
02.12.19
10:22
На еще посмотри https://its.1c.ru/db/metod8dev/content/4303/hdoc Думаю, вопросы отпадут
6 toypaul
 
гуру
02.12.19
10:23
если у тебя период целый - месяц, день, год, то можно и без двух наборов сделать
7 ДенисЧ
 
02.12.19
10:29
8 ДенисЧ
 
02.12.19
10:29
(6) Нет. У меня не целый, специально написал пример
9 ДенисЧ
 
02.12.19
10:29
(5) Отпадёт мозг мой. Там ничего нужного мне.
10 toypaul
 
гуру
02.12.19
10:31
тебе дату начала и дату конца из набора периоды надо передать в набор обороты как написано в (5) в качестве начального и конечного периодов регистра
11 ДенисЧ
 
02.12.19
10:41
Сделал так
http://pics.wfido.ru/img/4_8iy6w.png
и
http://pics.wfido.ru/img/5_jusyt.png

Теперь вообще ничего не показывает. Данные по выбранным периодам есть гарантированно, начало и конец не перепутал...
12 toypaul
 
гуру
02.12.19
10:43
(11) так неохота все за тебя делать но видимо придется :)

я бы начал с того, чтобы в наборе периоды лежали уже правильные периоды. без всяких конпериода в основном наборе
13 ДенисЧ
 
02.12.19
10:46
(12) Там две колонки с датой - начало и конец периода. Куда правильней? Стандартный период туды пихать? Так в ТЗ его не запихнёшь...
14 toypaul
 
гуру
02.12.19
10:50
моя твоя не понимайт. вот так у меня все работает

http://prntscr.com/q4wdfg
http://prntscr.com/q4wdkq
http://prntscr.com/q4wdp2
http://prntscr.com/q4wdsg
15 vicof
 
02.12.19
10:58
(13) В связях ВыражениеПриемник поменяй на КонецПериода(&КонПериода, ДЕНЬ), а из запроса Конецпериода убери
16 ДенисЧ
 
02.12.19
11:09
(15) "КонецПериода(&КонПериода, ДЕНЬ)"
Поле ДЕНЬ не найдено (
17 vicof
 
02.12.19
11:10
вроде "ДЕНЬ" надо писать, не помню
18 ДенисЧ
 
02.12.19
11:12
(17) Неверные параметры КонецПериода....

Что-то я вообще уже запутался...
19 ДенисЧ
 
02.12.19
11:16
Может, кто глянет?
https://yadi.sk/d/Ee41fVNsYz6mHQ

В УТ10/КА1 должно пойти, регистр типовой...
20 vicof
 
02.12.19
11:33
Автозаполнение убирать или СКДшные параметры в начала и конец периода в обороты кто будет подставлять?
В связях КОНЕЦПЕРИОДА(КДата, "ДЕНЬ") у меня не ругается
21 unenu
 
02.12.19
11:34
я в таких задачах формировал текст запроса динамически

Т.Сумма КАК Сумма,
...
&НомерПериода1 КАК НомерПерида,
&НачПериода1 КАК НачПериода,
&КонПериода1 КАК КонПериода

Из РегистрОбротов(&НачПериода1, КонПериода2,...) КАК Т
....
Объединить Все

Т.Сумма КАК Сумма,
...
&НомерПериодаN КАК НомерПерида,
&НачПериодаN КАК НачПериода,
&КонПериодаN КАК КонПериода

Из РегистрОбротов(&НачПериодаN, КонПериодаN,...) КАК Т


т.е. использую метод представлений
это проще чем сушить мозг с универсальным костылем.
22 ДенисЧ
 
02.12.19
11:34
(20) Так мне не скдшные начало и конец периода нужны. А из первого набора...
23 ДенисЧ
 
02.12.19
11:35
(21) А потом руками с ним того... Транспонировать? Так на ладошках волосы начнут расти...
24 unenu
 
02.12.19
11:38
(23) СКД (при наличии ключевых полей а ля номерпериода) справиться с транспонированием без роста растительно покрова.
25 ДенисЧ
 
02.12.19
11:42
(24) Предлагаешь пихать этот запрос в схему? Не нравится мне что-то... Но по-другому не получается пока...
26 vicof
 
02.12.19
12:21
(22) Ага, только угадай, почему у тебя на вкладке параметры 4 параметра вместо двух?
27 ДенисЧ
 
02.12.19
12:42
(26) Потому что автозаполнение? И потому что у меня там .Обороты() ?
Я угадал?
28 vicof
 
02.12.19
12:44
(27) *захлопал в ладошки*
29 ДенисЧ
 
02.12.19
12:52
(28) И что мне это даёт? ))
30 vicof
 
02.12.19
13:36
(29) Короче. На простейших вариантах все работает. Тебе надо смотреть:
1. Периодичность
2. Автозаполнение
3. Связи
4. Передачу правого значения связи в параметр
5. Заполнение основной таблицы

Ну и прекращай быть ливингстаром))
31 Ник080808
 
02.12.19
13:38
есть время продавать СП и есть время покупать СП. ДенисЧ, пришло для тебя второй этап)
32 ДенисЧ
 
02.12.19
13:50
(30) "Ну и прекращай быть ливингстаром"
Когда я предпоследний раз задавал такие вопросы, как тот? )))
(31) в СП это не описано. Так что не надо грязи...
33 vicof
 
02.12.19
13:57
(32) Еще нет, но приближаешься)
Основная теорема систематики: Новые системы плодят новые проблемы.