|
Розница, нид хелп с отчетом ! | ☑ | ||
---|---|---|---|---|
0
1c_newbie
13.10.14
✎
18:36
|
Доброго времени суток !
Не очень давно работаю с 1с-кой, поэтому могу тупить. Нужно было накидать отчет для Розницы 2.0, УФ, толстый клиент. Отчет представляет собой некую сводную таблицу, это суть дела не меняет. Сделал его на СКД. Просят добавить одну колоночку, которая будет содержать в себе ПРЕДПОСЛЕДНЮЮ цену с регистра. Последнюю выводить - без проблем, используя виртуальную таблицу регистра ЦеныНоменклатурыСрезПоследних на период. А как можно запросом получить предпоследнее значение ? Конкретной датой тут никак, она может быть любой ... Помогите советом ? |
|||
1
Wobland
13.10.14
✎
18:38
|
что нужно от отчёта, когда восемьдесят цен совпадают меж собой?
|
|||
2
Wobland
13.10.14
✎
18:39
|
(1) или вообще только одна есть
|
|||
3
1c_newbie
13.10.14
✎
18:40
|
(2) Отчет используется людьми для сравнения, и в том-то и проблема, что цена закупа по единице номенклатуры каждый раз практически разная, варьируется несильно, но вот так. Очень хотят видеть эту инфу в отчете для наглядности и удобства работы. А я сижу голову ломаю :(
|
|||
4
Wobland
13.10.14
✎
18:41
|
(3) ну допустим. второй вопрос открыт
|
|||
5
Wobland
13.10.14
✎
18:42
|
а так - строишь свой срез последних из реальной таблицы, беря две крайние, и вперёд
|
|||
6
1c_newbie
13.10.14
✎
18:42
|
(4) цена не одна, там куча их.
вот например позиция Х: по ней 15 цен за 2 недели. несколько раз устанавливался закуп, несколько раз опт, несколько розница итд. |
|||
7
Wobland
13.10.14
✎
18:43
|
(6) мне пофих на кучу. как только я себе представлю ровно одну, твои умозаключения идут прахом
|
|||
8
1c_newbie
13.10.14
✎
18:45
|
(7) очень философски :) срез последних из реальной таблицы - понятно. остался один вопрос у меня: этот отчет все же на скд. как отсечь две крайних ? я могу еще представить себе, как это сделать циклом ..
я понимаю, что вопросы я тупые задаю :) |
|||
9
Wobland
13.10.14
✎
18:46
|
(8) СКД - это система компоновки данных, чтоб ты знал
(выбрать первые 2 дата, номенклатура, тип цне из твоих цен упорядочть по дата убыв) как вот оно |
|||
10
1c_newbie
13.10.14
✎
18:49
|
(9) я уже начал постигать азы системы компоновки данных вот :)
понятно, буду пробовать, спасибо большое за помощь ! |
|||
11
Wobland
13.10.14
✎
18:53
|
а сказал-то я фигню ;)
|
|||
12
1c_newbie
13.10.14
✎
18:56
|
(11) э... в смысле ?
|
|||
13
MadJhey
13.10.14
✎
18:59
|
(11) не без того :)
(0) на лови - это отчет "два последних поступления" из розницы. как переделать разберешься ВЫБРАТЬ СпрНом.Ссылка КАК Номенклатура, ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних1.Цена, 0) КАК Цена1, ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних2.Цена, 0) КАК Цена2 ПОМЕСТИТЬ ВтНоменклатура ИЗ Справочник.Номенклатура КАК СпрНом ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаОтчета, ВидЦены = &ВидЦены1) КАК ЦеныНоменклатурыСрезПоследних1 ПО СпрНом.Ссылка = ЦеныНоменклатурыСрезПоследних1.Номенклатура ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаОтчета, ВидЦены = &ВидЦены2) КАК ЦеныНоменклатурыСрезПоследних2 ПО СпрНом.Ссылка = ЦеныНоменклатурыСрезПоследних2.Номенклатура ГДЕ НЕ СпрНом.ЭтоГруппа ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Приходы.Номенклатура КАК Номенклатура, Приходы.Ссылка.Дата КАК Период, МАКСИМУМ(Приходы.Цена) КАК Цена, МАКСИМУМ(Приходы.Ссылка.Контрагент) КАК Поставщик, МАКСИМУМ(Приходы.Ссылка) КАК Документ ПОМЕСТИТЬ Приходы ИЗ Документ.ПоступлениеТоваров.Товары КАК Приходы ГДЕ Приходы.Ссылка.Дата МЕЖДУ &ДатаНачалаУчета И &ДатаОтчета И Приходы.Ссылка.Проведен И Приходы.Номенклатура В (ВЫБРАТЬ ВтНоменклатура.Номенклатура ИЗ ВтНоменклатура КАК ВтНоменклатура) СГРУППИРОВАТЬ ПО Приходы.Номенклатура, Приходы.Ссылка.Дата ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Поступления.Номенклатура КАК Номенклатура, Поступления.Период КАК Период, Поступления.Цена КАК Закупка1, Поступления.Поставщик КАК Поставщик1, Поступления.Документ КАК Документ1 ПОМЕСТИТЬ Приход1 ИЗ (ВЫБРАТЬ Поступление1.Номенклатура КАК Номенклатура, МАКСИМУМ(Поступление1.Период) КАК Период2 ИЗ Приходы КАК Поступление1 ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтНоменклатура КАК ВтНоменклатура ПО Поступление1.Номенклатура = ВтНоменклатура.Номенклатура И (Поступление1.Период <= &ДатаОтчета) СГРУППИРОВАТЬ ПО Поступление1.Номенклатура) КАК ВложенныйЗапрос ВНУТРЕННЕЕ СОЕДИНЕНИЕ Приходы КАК Поступления ПО ВложенныйЗапрос.Номенклатура = Поступления.Номенклатура И ВложенныйЗапрос.Период2 = Поступления.Период ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Поступления.Номенклатура КАК Номенклатура, Поступления.Период КАК Период, Поступления.Цена КАК Закупка2, Поступления.Поставщик КАК Поставщик2, Поступления.Документ КАК Документ2 ПОМЕСТИТЬ Приход2 ИЗ (ВЫБРАТЬ Поступление1.Номенклатура КАК Номенклатура, МАКСИМУМ(Поступление1.Период) КАК Период2 ИЗ Приходы КАК Поступление1 ВНУТРЕННЕЕ СОЕДИНЕНИЕ Приход1 КАК Приход1 ПО Поступление1.Номенклатура = Приход1.Номенклатура И Поступление1.Период < Приход1.Период СГРУППИРОВАТЬ ПО Поступление1.Номенклатура) КАК ВложенныйЗапрос ВНУТРЕННЕЕ СОЕДИНЕНИЕ Приходы КАК Поступления ПО ВложенныйЗапрос.Номенклатура = Поступления.Номенклатура И ВложенныйЗапрос.Период2 = Поступления.Период ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВтНоменклатура.Номенклатура, ВтНоменклатура.Цена1, ВтНоменклатура.Цена2, ЕСТЬNULL(Приход1.Закупка1, 0) КАК Закупка1, ЕСТЬNULL(Приход2.Закупка2, 0) КАК Закупка2, Приход1.Период КАК ДатаПрихода1, Приход2.Период КАК ДатаПрихода2, Приход1.Поставщик1, Приход2.Поставщик2, Приход2.Документ2, Приход1.Документ1 ИЗ ВтНоменклатура КАК ВтНоменклатура ЛЕВОЕ СОЕДИНЕНИЕ Приход1 КАК Приход1 ПО ВтНоменклатура.Номенклатура = Приход1.Номенклатура ЛЕВОЕ СОЕДИНЕНИЕ Приход2 КАК Приход2 ПО ВтНоменклатура.Номенклатура = Приход2.Номенклатура |
|||
14
1c_newbie
13.10.14
✎
19:00
|
(13) данке шон ! сейчас буду разбираться !
|
|||
15
MadJhey
13.10.14
✎
19:00
|
черт - как свернуть текст?
|
|||
16
Wobland
13.10.14
✎
19:01
|
ИЗ
Документ.ПоступлениеТоваров.Товары КАК Приходы фуфуфу |
|||
17
Wobland
13.10.14
✎
19:02
|
(15) оно уже, обнови страниц
|
|||
18
MadJhey
13.10.14
✎
19:03
|
(17) да ладно :)
|
|||
19
MadJhey
13.10.14
✎
19:04
|
(18) к (16)
|
|||
20
Wobland
13.10.14
✎
19:05
|
(19) научишь сейчас молодёжь. менеджерица оставила документ на завтра, а в отчёте хрень ;)
|
|||
21
1c_newbie
13.10.14
✎
19:06
|
(20) полагаю, тянуть лучше не с документа тогда, а с регистра ?
|
|||
22
Wobland
13.10.14
✎
19:17
|
1. выбираем период, номенклатура, цена, тип из среза последних
2. выбираем максимум(период), номенклатура, цена, тип из цен где 2.период<1.период 3. соединяем 1 и 2 4. вуаля? |
|||
23
1c_newbie
13.10.14
✎
19:23
|
(22) Спасибо большое, что так заморочился моей тупой проблемой !
Теперь предельно ясно, я совсем забываю, что язык запросов 1С = SQL ... SQL-то нормально знаю, функции-то те же .. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |