|
Срез последних на каждый день | ☑ | ||
---|---|---|---|---|
0
breezee
05.10.15
✎
18:37
|
Подскажите, пожалуйста. Что я сделал не так. У меня есть таблица ПродажиИОбороты(тип остатки и обороты) и таблица ЦеныНоменклатурыСрезПолседних(тип регистр сведений). На каждую запись из ПродажиИОбороты я должен получать цену из ЦеныНоменклатурыСрезПолседних. Для этого в ПродажиИобороты я установил периодичность секунда, выбрал все нужные поля и период. Создал 2 набор данных запрос, в котором выбрал из ЦеныНоменклатурыСрезПолседних цену, максимум(Период) и поставил условие у ЦеныНоменклатурыСрезПолседних на тип цен. Связал 2 пакета запроса и ничего не выбирается из 2 пакета. Подскажите, пожалуйста, что я сделал не так? Если не понятно написал и Вам не сложно посмотреть - залил сам отчет сюда. пробоовал у таблицы остаткиИОбороты ставить периодичность регистратор, пробовал брать не максимум(период), а просто период - ничего не помогает, цена выводится пустая
http://rghost.ru/8wxCcljbK Помогите разобраться, плз! |
|||
1
Мимохожий Однако
05.10.15
✎
18:42
|
Скинь сюда запрос. Неохота качать
|
|||
2
breezee
05.10.15
✎
18:44
|
1 пакет
ВЫБРАТЬ ПродажиОбороты.Номенклатура, ПродажиОбороты.ХарактеристикаНоменклатуры, ПродажиОбороты.ЗаказПокупателя, ПродажиОбороты.ДоговорКонтрагента, ПродажиОбороты.ДокументПродажи, ПродажиОбороты.Подразделение, ПродажиОбороты.Проект, ПродажиОбороты.Организация, ПродажиОбороты.Контрагент, ПродажиОбороты.КоличествоОборот, ПродажиОбороты.СтоимостьОборот - ПродажиОбороты.НДСОборот КАК СтоимостьОборот, ПродажиОбороты.НДСОборот, Константы.ВалютаУправленческогоУчета, 0 КАК Себестоимость, 0 КАК ВаловаяПрибыль, 0 КАК ПроцентВаловойПрибыли, КурсыВалютРеглСрезПоследних.Курс КАК КурсРег, КурсыВалютУпрСрезПоследних.Курс КАК КурсУПР, КурсыВалютРеглСрезПоследних.Кратность КАК КратностьРег, КурсыВалютУпрСрезПоследних.Кратность КАК КратностьУПР, ПродажиОбороты.Период ИЗ РегистрНакопления.Продажи.Обороты(, , Регистратор, ) КАК ПродажиОбороты, Константы КАК Константы ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних({(&КонецПериода)}, ) КАК КурсыВалютУпрСрезПоследних ПО Константы.ВалютаУправленческогоУчета = КурсыВалютУпрСрезПоследних.Валюта ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних({(&КонецПериода)}, ) КАК КурсыВалютРеглСрезПоследних ПО Константы.ВалютаРегламентированногоУчета = КурсыВалютРеглСрезПоследних.Валюта 2 пакет ВЫБРАТЬ МАКСИМУМ(ЦеныНоменклатурыСрезПоследних.Период) КАК Период, ЦеныНоменклатурыСрезПоследних.Цена, ЦеныНоменклатурыСрезПоследних.ТипЦен, ЦеныНоменклатурыСрезПоследних.Номенклатура, ЦеныНоменклатурыСрезПоследних.ХарактеристикаНоменклатуры ИЗ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ТипЦен = &ТипЦен) КАК ЦеныНоменклатурыСрезПоследних СГРУППИРОВАТЬ ПО ЦеныНоменклатурыСрезПоследних.Цена, ЦеныНоменклатурыСрезПоследних.ТипЦен, ЦеныНоменклатурыСрезПоследних.Номенклатура, ЦеныНоменклатурыСрезПоследних.ХарактеристикаНоменклатуры Связь http://i.imgur.com/RXBgrEO.png |
|||
3
Wern
05.10.15
✎
18:52
|
В срезе последних не задан период. Должен быть задан параметр и он же указан в связях.
|
|||
4
Джинн
05.10.15
✎
18:52
|
1. Выгребаете продажи в ВТ
2. Соединяете ВТ Продаж с регистром курсов валют (НЕ СРЕЗ) со связью по валюте с и по периоду <= дате документа. Через Максимум() вычисляете дату изменения курса. 3. Соединяете ВТ продаж, ВТ дат курсов и регистр курсов валют. |
|||
5
Джинн
05.10.15
✎
18:53
|
||||
6
breezee
05.10.15
✎
19:02
|
Я вроде поставил
http://i.imgur.com/mSx4lib.png И связь указал http://i.imgur.com/tZ94qxe.png Опять ничерта не выводится. Подскажите, что я еще не так сделал, пожалуйста (4)Дак так же не в СКД делается(т.е. так можно и в СКД сделать, но так менее удобно) |
|||
7
Джинн
05.10.15
✎
19:05
|
(6) Млин, я не по-русски написал? Срез последних, период в параметре и т.п. не прокатит вообще. Читайте внимательно что Вам пишут. А также ДО КОНЦА читайте ссылки, которые Вам дают. А не только заголовок.
|
|||
8
Wern
05.10.15
✎
19:10
|
(7) В СКД прокатит. (6) Параметр в связях должен быть в колонке "параметр", а не "выражение приемник"
|
|||
9
breezee
05.10.15
✎
19:11
|
(7) Спасибо, сейчас так и сделаю и все же не пойму почему не прокатит период в параметре. Еще раз просмотрел статью - в конце автор написал что выводом и через СКД и через ВТ вывелись одинаковые данные
|
|||
10
Мимохожий Однако
05.10.15
✎
19:15
|
(9)Не надо СрезПоследних,обращайся непосредственно к записям регистра.
|
|||
11
Джинн
05.10.15
✎
19:21
|
(9) Данные одинаковые. А способ получения немного отличается.
Если через запрос - читайте вторую часть ссылки. Там есть пример с запросом. Внимательно посмотрите как через связь по периоду и МАКСИМУМ вычисляется дата изменения курса. |
|||
12
breezee
05.10.15
✎
19:22
|
(10) ТАк тоже ничего не работает. вот связи
http://i.imgur.com/YRXObbu.png Вот что выбрал из 2 запроса http://i.imgur.com/C4D7cIF.png Не важно - ставлю ли максимум по периоду или нет (11) Я бы хотел через СКД сначала освоить, он выглядит легче |
|||
13
Джинн
05.10.15
✎
19:27
|
(12) Запрос даст понимание связей таблиц. По моему скромному мнению.
|
|||
14
echo77
05.10.15
✎
19:28
|
Не советую делать срез на каждый день в СКД - это очень медленно работает, т.к. по сути запрос в цикле
|
|||
15
Wern
05.10.15
✎
19:30
|
(12) Уже лучше. В первом запросе у тебя период включает время. там будет период типо "05.10.2015 19:26:00"
Во втором зависит от периодичности регистра цен, скорей всего там будет начало дня. Поставь в запросах вместо периодов НАЧАЛОПЕРИОДА(...,ДЕНЬ) |
|||
16
breezee
05.10.15
✎
19:39
|
(15) Все то же самое, ничего не выводит
Вот поля выбранные во 2 запросе http://i.imgur.com/LWoXcKo.png Может проблема в том что для таблицы остатков и оборотов у меня вообще нет параметра период? Только начало и конец периода http://i.imgur.com/EO5k9E0.png |
|||
17
GreyK
05.10.15
✎
19:40
|
(0) Выборка периодических регистров невозможна в запросе, в запросе всегда периодика нацелена или на заданную в запросе дату, ну или выдается результат последнего изменения регистра.
Это ещё с 7ки сушествует, выборку по преиодике делают отдельно, а потом подгружают в запрос. |
|||
18
Wern
05.10.15
✎
20:03
|
(16) А в первом запросе ты поменял "ПродажиОбороты.Период" на "НАЧАЛОПЕРИОДА(ПродажиОбороты.Период,ДЕНЬ) КАК Период"?
И в срез по последних во второй таблице ты параметр добавил "РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ТипЦен = &ТипЦен) КАК" => "РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Период, ТипЦен = &ТипЦен) КАК" |
|||
19
Wern
05.10.15
✎
20:05
|
(17) Это касалось только 7-ки. В 8-ке все не так. Можно и в запросе получить периодику и в наборах СКД.
|
|||
20
breezee
05.10.15
✎
20:11
|
(18) Добавил - не помогает :C
Поле для остатков и оборотов http://i.imgur.com/vw6kZQb.png Для 2 таблицы http://i.imgur.com/VgZRx1f.png Связи http://i.imgur.com/TLinHVP.png |
|||
21
GreyK
05.10.15
✎
20:17
|
(19) Дерзай :)
|
|||
22
breezee
05.10.15
✎
20:26
|
Может, все же посмотрите отчет, пожалуйста?
Я совсем не понимаю что я не так делаю Отчет залил сюда http://rghost.ru/6gwCr8C6K |
|||
23
breezee
05.10.15
✎
20:42
|
ап
|
|||
24
breezee
05.10.15
✎
21:03
|
последний ап
|
|||
25
Wern
05.10.15
✎
23:05
|
(21) смотри (5) там все написано.
(22) заполни уже наконец колонку "Параметр" в связях. В твоем отчете закладка связи, первая строка, колонка "Параметр", должно быть указано "Дата". У тебя пусто. |
|||
26
breezee
05.10.15
✎
23:33
|
(25) Еще раз спасибо. Сделал через ВТ, завтра разбираться буду почему так не работало. Еще раз спасибо и спокойной ночи!
|
|||
27
GreyK
06.10.15
✎
10:35
|
(25) Этот вариант работает для продаж, но не для поступлений, я про вариант с запросом.
При поступлениях товаров, установка цен может быть сделана в следующие дни и надо выводить цену из подчиненной установки цен, а если цена не менялась, то нужно брать цену на конец дня. Я такую задачку на прошлой неделе решал, не помог мне пример из (5). |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |