|
Прошу совета по формированию отчета | ☑ | ||
---|---|---|---|---|
0
СэдКС
29.11.13
✎
07:54
|
Доброе утро! Сегодня пятница и по идее мозг должен отдыхать, но нельзя оставить один отчет без внимания. Делаю отчет по регистрау накопления Продажи и регистру сведений ЦеныНоменклатуры. В отчете выводятся док-ты реализации за определенный период. В нем есть такая колонка как Стоимость. Она и берется с регистра ЦеныНоменклатуры.
Когда экономисты формируют отчет, они должны видеть стоимость именно ту, которая была установлена в выбранный отрезок дат. Цена за один и тот же месяц может рассчитаться 2 раза. Тогда нужно брать последнюю. Отчет может формироваться не только за предыдущий месяц, но и за предпредыдущий. Я выставляю даты с док-тов реал-ции и период с регистра сведений. Но когда выставляешь этот период, формируются реализации только те, для продукции которых стоимость была установлена в указанный период. Что посоветуете? |
|||
1
Kurbash
29.11.13
✎
07:58
|
левое соединение по номенклтурек регистру сведений Цены Номенклатуры.СрезПОследних
|
|||
2
Defender aka LINN
29.11.13
✎
08:00
|
(0) Найти переводчика?
|
|||
3
СэдКС
29.11.13
✎
08:01
|
(1) Ну это понятно. Иначе бы стоимость у меня не вышла правильно. Но мне не нужна последняя стоимость, мне нужна стоимость, которая была рассчитана в заданный период!!
|
|||
4
Kurbash
29.11.13
✎
08:02
|
переведи, давай примерчик простой
|
|||
5
СэдКС
29.11.13
✎
08:02
|
(2) Я знала, что меня никто не рассшифрует.
|
|||
6
Kurbash
29.11.13
✎
08:03
|
это нормально кггда эмоции логично трудно выражаться давай пример
|
|||
7
СэдКС
29.11.13
✎
08:06
|
Пример:
Плановая стоимость кабеля КВВГ 15.08.13 - 100 р. Плановая стоимость кабеля КВВГ 15.09.13. - 110 р. Задаем период: с 01.08.13 по 01.09.13. Выходят все док-ты реализации за этот период, стоимость кабеля КВВГ должна выйти 100 р. |
|||
8
Kurbash
29.11.13
✎
08:07
|
срезпервых?
|
|||
9
СэдКС
29.11.13
✎
08:11
|
(8) неееет. мне первые не нужны значения
|
|||
10
Kurbash
29.11.13
✎
08:12
|
так значения то будут на заданныей период
|
|||
11
Kurbash
29.11.13
✎
08:12
|
согласно твоему примеру такое и нужно просто в параметрах виртуаьной таблицы задай период и все
|
|||
12
kochurovg
29.11.13
✎
08:16
|
(7) СрезПоследних на 01.09.2013 даст 100р.
|
|||
13
СэдКС
29.11.13
✎
08:16
|
разве срезпервых не обратное значение срезупоследних?? плановая стоимость кабеля была рассчитана в начале года, в июне, просто я не стала приводить их
|
|||
14
СэдКС
29.11.13
✎
08:19
|
(12) да, так и есть. Но проблема есть в том, что если в заданный период не была рассчитана стоимость для продукции, которая была реализованна в период с 01.08.13 по 01.09.13, то док-ты реализации вообще не выходят
|
|||
15
СэдКС
29.11.13
✎
08:23
|
"Компьютеры — прекрасное средство для решения проблем, которых до их появления не было." - вышло сейчас под рекламой, согласна полностью
|
|||
16
Defender aka LINN
29.11.13
✎
08:25
|
(7) И за 02.08 100р должна быть? Это еще почему?
Ну и то, как оно должно быть - это хорошо, но не хватает описания - как оно сейчас |
|||
17
kochurovg
29.11.13
✎
08:27
|
(14) боюсь без текста запроса тебе никто не поможет.
Похоже в запросе ты сначала выбираешь цены а потом реализацию. |
|||
18
catena
29.11.13
✎
08:27
|
(14)Значит ты еще что-то в запросе делаешь. Так и будем гадать на кофейной гуще или текст покажешь?
|
|||
19
СэдКС
29.11.13
✎
08:29
|
Запрос:
ВЫБРАТЬ РАЗЛИЧНЫЕ Продажи.Регистратор, Продажи.Регистратор.Номер КАК Номер, Продажи.Регистратор.Дата КАК Дата, Продажи.Организация, Продажи.Контрагент, Продажи.Номенклатура, Продажи.Номенклатура.БазоваяЕдиницаИзмерения КАК ЕдИзм, Продажи.Количество, ВЫБОР КОГДА ЕСТЬNULL(Продажи.Количество, 0) = 0 ТОГДА 0 ИНАЧЕ ВЫБОР КОГДА РеализацияТоваровУслугТовары.СтавкаНДС.Код = "000000007" ИЛИ РеализацияТоваровУслугТовары.СтавкаНДС.Код = "000000001" ИЛИ РеализацияТоваровУслугУслуги.СтавкаНДС.Код = "000000007" ИЛИ РеализацияТоваровУслугУслуги.СтавкаНДС.Код = "000000001" ТОГДА ЕСТЬNULL(Продажи.Стоимость, 0) / ЕСТЬNULL(Продажи.Количество, 0) * 100 / 112 ИНАЧЕ ВЫБОР КОГДА РеализацияТоваровУслугТовары.СтавкаНДС.Код = "000000003" ИЛИ РеализацияТоваровУслугТовары.СтавкаНДС.Код = "000000002" ИЛИ РеализацияТоваровУслугТовары.СтавкаНДС.Код = "000000005" ИЛИ РеализацияТоваровУслугУслуги.СтавкаНДС.Код = "000000003" ИЛИ РеализацияТоваровУслугУслуги.СтавкаНДС.Код = "000000002" ИЛИ РеализацияТоваровУслугУслуги.СтавкаНДС.Код = "000000005" ТОГДА ЕСТЬNULL(Продажи.Стоимость / Продажи.Количество, 0) КОНЕЦ КОНЕЦ КОНЕЦ КАК ЦенаБезНДС, ВЫБОР КОГДА РеализацияТоваровУслугТовары.СтавкаНДС.Код = "000000007" ИЛИ РеализацияТоваровУслугТовары.СтавкаНДС.Код = "000000001" ИЛИ РеализацияТоваровУслугУслуги.СтавкаНДС.Код = "000000007" ИЛИ РеализацияТоваровУслугУслуги.СтавкаНДС.Код = "000000001" ТОГДА Продажи.Стоимость * 100 / 112 ИНАЧЕ ВЫБОР КОГДА РеализацияТоваровУслугТовары.СтавкаНДС.Код = "000000003" ИЛИ РеализацияТоваровУслугТовары.СтавкаНДС.Код = "000000002" ИЛИ РеализацияТоваровУслугТовары.СтавкаНДС.Код = "000000005" ИЛИ РеализацияТоваровУслугУслуги.СтавкаНДС.Код = "000000003" ИЛИ РеализацияТоваровУслугУслуги.СтавкаНДС.Код = "000000002" ИЛИ РеализацияТоваровУслугУслуги.СтавкаНДС.Код = "000000005" ТОГДА Продажи.Стоимость КОНЕЦ КОНЕЦ КАК СуммаРеализацииБезНДС ПОМЕСТИТЬ Запрос1 ИЗ РегистрНакопления.Продажи КАК Продажи ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары ПО Продажи.Регистратор = РеализацияТоваровУслугТовары.Ссылка И Продажи.Номенклатура = РеализацияТоваровУслугТовары.Номенклатура ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг.Услуги КАК РеализацияТоваровУслугУслуги ПО Продажи.Номенклатура = РеализацияТоваровУслугУслуги.Номенклатура И (Продажи.Регистратор = РеализацияТоваровУслугТовары.Ссылка) ГДЕ Продажи.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ РАЗЛИЧНЫЕ Запрос1.Регистратор, Запрос1.Номер, Запрос1.Дата, Запрос1.Организация, Запрос1.Контрагент, Запрос1.Номенклатура, Запрос1.ЕдИзм, Запрос1.Количество, Запрос1.ЦенаБезНДС, Запрос1.СуммаРеализацииБезНДС, ТрудозатратыСрезПоследних.Трудозатраты, ТрудозатратыСрезПоследних.Трудозатраты * Запрос1.Количество КАК СуммаТрудозатрат, ТрудозатратыСрезПоследних.Электроэнергия, ТрудозатратыСрезПоследних.Электроэнергия * Запрос1.Количество КАК СуммаЭлектроэнергии, ВЫБОР КОГДА ЦеныНоменклатурыСрезПоследних.Цена = НЕОПРЕДЕЛЕНО ТОГДА NULL ИНАЧЕ ВЫБОР КОГДА ЦеныНоменклатурыСрезПоследних.Номенклатура.ВидНоменклатуры.Наименование = "Готовая продукция" ИЛИ ЦеныНоменклатурыСрезПоследних.Номенклатура.ВидНоменклатуры.Наименование = "Прочие материалы" И ЦеныНоменклатурыСрезПоследних.ТипЦен.Наименование = "Плановая" ТОГДА ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) КОНЕЦ КОНЕЦ КАК ПлановаяСтоимость, ВЫБОР КОГДА ЦеныНоменклатурыСрезПоследних.Цена = НЕОПРЕДЕЛЕНО ТОГДА NULL ИНАЧЕ ВЫБОР КОГДА ЦеныНоменклатурыСрезПоследних1.Номенклатура.ВидНоменклатуры.Наименование = "Товары приобретенные" И ЦеныНоменклатурыСрезПоследних1.ТипЦен.Наименование = "Плановая (для расчета)" ТОГДА ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних1.Цена, 0) КОНЕЦ КОНЕЦ КАК ПлановаяДляРасчета ПОМЕСТИТЬ Запрос2 ИЗ Запрос1 КАК Запрос1 ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ) КАК ЦеныНоменклатурыСрезПоследних ПО Запрос1.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Трудозатраты.СрезПоследних КАК ТрудозатратыСрезПоследних ПО Запрос1.Номенклатура = ТрудозатратыСрезПоследних.Номенклатура ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ) КАК ЦеныНоменклатурыСрезПоследних1 ПО Запрос1.Номенклатура = ЦеныНоменклатурыСрезПоследних1.Номенклатура ГДЕ ЦеныНоменклатурыСрезПоследних.ТипЦен.Наименование = "Плановая" И ЦеныНоменклатурыСрезПоследних1.ТипЦен.Наименование = "Плановая (для расчета)" И ЦеныНоменклатурыСрезПоследних.Период МЕЖДУ &Период1 И &Период2 И ЦеныНоменклатурыСрезПоследних1.Период МЕЖДУ &Период1 И &Период2 ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ РАЗЛИЧНЫЕ Запрос2.Трудозатраты, Запрос2.СуммаТрудозатрат, Запрос2.Электроэнергия, Запрос2.СуммаЭлектроэнергии, Запрос2.ПлановаяСтоимость, Запрос2.ПлановаяДляРасчета, Запрос2.Регистратор, Запрос2.Номер, Запрос2.Дата, Запрос2.Организация, Запрос2.Контрагент, Запрос2.Номенклатура, Запрос2.ЕдИзм, Запрос2.Количество, Запрос2.ЦенаБезНДС, Запрос2.СуммаРеализацииБезНДС, ВЫБОР КОГДА Запрос2.Номенклатура.ВидНоменклатуры.Наименование = "Готовая продукция" ИЛИ Запрос2.Номенклатура.ВидНоменклатуры.Наименование = "Прочие материалы" ТОГДА (Запрос2.ПлановаяСтоимость - Запрос2.Трудозатраты - Запрос2.Электроэнергия) / 1.15 ИНАЧЕ ВЫБОР КОГДА Запрос2.Номенклатура.ВидНоменклатуры.Наименование = "Товары приобретенные" И ПОДСТРОКА(Запрос2.Номенклатура.Наименование, 1, 6) = "Кабель" ИЛИ Запрос2.Номенклатура.ВидНоменклатуры.Наименование = "Товары приобретенные" И ПОДСТРОКА(Запрос2.Номенклатура.Наименование, 1, 5) = "Труба" ТОГДА (Запрос2.ПлановаяДляРасчета - Запрос2.Трудозатраты - Запрос2.Электроэнергия) / 1.02 ИНАЧЕ ВЫБОР КОГДА Запрос2.Номенклатура.ВидНоменклатуры.Наименование = "Товары приобретенные" ТОГДА (Запрос2.ПлановаяДляРасчета - Запрос2.Трудозатраты - Запрос2.Электроэнергия) / 1.05 КОНЕЦ КОНЕЦ КОНЕЦ КАК СебестоимостьПоМатериалам, ВЫБОР КОГДА Запрос2.Номенклатура.ВидНоменклатуры.Наименование = "Готовая продукция" ИЛИ Запрос2.Номенклатура.ВидНоменклатуры.Наименование = "Прочие материалы" ТОГДА (Запрос2.ПлановаяСтоимость - Запрос2.Трудозатраты - Запрос2.Электроэнергия) / 1.15 * Запрос2.Количество ИНАЧЕ ВЫБОР КОГДА Запрос2.Номенклатура.ВидНоменклатуры.Наименование = "Товары приобретенные" И ПОДСТРОКА(Запрос2.Номенклатура.Наименование, 1, 6) = "Кабель" ИЛИ Запрос2.Номенклатура.ВидНоменклатуры.Наименование = "Товары приобретенные" И ПОДСТРОКА(Запрос2.Номенклатура.Наименование, 1, 5) = "Труба" ТОГДА (Запрос2.ПлановаяДляРасчета - Запрос2.Трудозатраты - Запрос2.Электроэнергия) / 1.02 * Запрос2.Количество ИНАЧЕ ВЫБОР КОГДА Запрос2.Номенклатура.ВидНоменклатуры.Наименование = "Товары приобретенные" ТОГДА (Запрос2.ПлановаяДляРасчета - Запрос2.Трудозатраты - Запрос2.Электроэнергия) / 1.05 * Запрос2.Количество КОНЕЦ КОНЕЦ КОНЕЦ КАК СуммаСебестоимостиПоМатериалам ПОМЕСТИТЬ Запрос3 ИЗ Запрос2 КАК Запрос2 ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ РАЗЛИЧНЫЕ Запрос3.Регистратор, Запрос3.Дата, Запрос3.Номер, Запрос3.Организация, ВЫБОР КОГДА ПОДСТРОКА(Запрос3.Регистратор.Номер, 1, 1) = "К" ТОГДА ПРЕДСТАВЛЕНИЕ("Головной офис") ИНАЧЕ ВЫБОР КОГДА ПОДСТРОКА(Запрос3.Регистратор.Номер, 1, 1) = "1" ТОГДА ПРЕДСТАВЛЕНИЕ("ф. Астана") ИНАЧЕ ВЫБОР КОГДА ПОДСТРОКА(Запрос3.Регистратор.Номер, 1, 1) = "2" ТОГДА ПРЕДСТАВЛЕНИЕ("ф. Алматы") ИНАЧЕ ВЫБОР КОГДА ПОДСТРОКА(Запрос3.Регистратор.Номер, 1, 1) = "3" ТОГДА ПРЕДСТАВЛЕНИЕ("ф. Усть-Каменогорск") ИНАЧЕ ВЫБОР КОГДА ПОДСТРОКА(Запрос3.Регистратор.Номер, 1, 1) = "4" ТОГДА ПРЕДСТАВЛЕНИЕ("ф. Актобе") КОНЕЦ КОНЕЦ КОНЕЦ КОНЕЦ КОНЕЦ КАК Подразделение, Запрос3.Контрагент, Запрос3.Номенклатура, Запрос3.ЕдИзм, Запрос3.Количество, Запрос3.ЦенаБезНДС, Запрос3.СуммаРеализацииБезНДС, Запрос3.СебестоимостьПоМатериалам, Запрос3.СуммаСебестоимостиПоМатериалам, Запрос3.Трудозатраты, Запрос3.СуммаТрудозатрат, Запрос3.Электроэнергия, Запрос3.СуммаЭлектроэнергии, ВЫБОР КОГДА Запрос3.Номенклатура.ВидНоменклатуры.Наименование = "Готовая продукция" ИЛИ Запрос3.Номенклатура.ВидНоменклатуры.Наименование = "Прочие материалы" ТОГДА Запрос3.ПлановаяСтоимость - Запрос3.Трудозатраты - Запрос3.Электроэнергия - Запрос3.СебестоимостьПоМатериалам ИНАЧЕ ВЫБОР КОГДА Запрос3.Номенклатура.ВидНоменклатуры.Наименование = "Товары приобретенные" ТОГДА Запрос3.ПлановаяДляРасчета - Запрос3.Трудозатраты - Запрос3.Электроэнергия - Запрос3.СебестоимостьПоМатериалам КОНЕЦ КОНЕЦ КАК УсловноПостоянные, ВЫБОР КОГДА Запрос3.Номенклатура.ВидНоменклатуры.Наименование = "Готовая продукция" ИЛИ Запрос3.Номенклатура.ВидНоменклатуры.Наименование = "Прочие материалы" ТОГДА (Запрос3.ПлановаяСтоимость - Запрос3.Трудозатраты - Запрос3.Электроэнергия - Запрос3.СебестоимостьПоМатериалам) * Запрос3.Количество ИНАЧЕ ВЫБОР КОГДА Запрос3.Номенклатура.ВидНоменклатуры.Наименование = "Товары приобретенные" ТОГДА (Запрос3.ПлановаяДляРасчета - Запрос3.Трудозатраты - Запрос3.Электроэнергия - Запрос3.СебестоимостьПоМатериалам) * Запрос3.Количество КОНЕЦ КОНЕЦ КАК СуммаУсловноПостоянных, ВЫБОР КОГДА Запрос3.Номенклатура.ВидНоменклатуры.Наименование = "Готовая продукция" ИЛИ Запрос3.Номенклатура.ВидНоменклатуры.Наименование = "Прочие материалы" ТОГДА Запрос3.СуммаСебестоимостиПоМатериалам + Запрос3.СуммаТрудозатрат + Запрос3.СуммаЭлектроэнергии + (Запрос3.ПлановаяСтоимость - Запрос3.Трудозатраты - Запрос3.Электроэнергия - Запрос3.СебестоимостьПоМатериалам) * Запрос3.Количество ИНАЧЕ ВЫБОР КОГДА Запрос3.Номенклатура.ВидНоменклатуры.Наименование = "Товары приобретенные" ТОГДА Запрос3.СуммаСебестоимостиПоМатериалам + Запрос3.СуммаТрудозатрат + Запрос3.СуммаЭлектроэнергии + (Запрос3.ПлановаяДляРасчета - Запрос3.Трудозатраты - Запрос3.Электроэнергия - Запрос3.СебестоимостьПоМатериалам) * Запрос3.Количество КОНЕЦ КОНЕЦ КАК ИТОГО, ВЫБОР КОГДА Запрос3.Номенклатура.ВидНоменклатуры.Наименование = "Готовая продукция" ИЛИ Запрос3.Номенклатура.ВидНоменклатуры.Наименование = "Прочие материалы" ТОГДА Запрос3.СуммаРеализацииБезНДС - (Запрос3.СуммаСебестоимостиПоМатериалам + Запрос3.СуммаТрудозатрат + Запрос3.СуммаЭлектроэнергии + (Запрос3.ПлановаяСтоимость - Запрос3.Трудозатраты - Запрос3.Электроэнергия - Запрос3.СебестоимостьПоМатериалам) * Запрос3.Количество) ИНАЧЕ ВЫБОР КОГДА Запрос3.Номенклатура.ВидНоменклатуры.Наименование = "Товары приобретенные" ТОГДА Запрос3.СуммаРеализацииБезНДС - (Запрос3.СуммаСебестоимостиПоМатериалам + Запрос3.СуммаТрудозатрат + Запрос3.СуммаЭлектроэнергии + (Запрос3.ПлановаяДляРасчета - Запрос3.Трудозатраты - Запрос3.Электроэнергия - Запрос3.СебестоимостьПоМатериалам) * Запрос3.Количество) КОНЕЦ КОНЕЦ КАК Прибыль, Запрос3.ПлановаяДляРасчета, Запрос3.ПлановаяСтоимость ИЗ Запрос3 КАК Запрос3 |
|||
20
kochurovg
29.11.13
✎
08:33
|
(19) вот этот вот кусочек во всем виноват :
И ЦеныНоменклатурыСрезПоследних.Период МЕЖДУ &Период1 И &Период2 И ЦеныНоменклатурыСрезПоследних1.Период МЕЖДУ &Период1 И &Период2 скорее всего надо ***.СрезПоследниХ(&Период2,...) |
|||
21
СэдКС
29.11.13
✎
08:34
|
(16) Если до 15.08.13 не было установлены цены, то ничего не должно выходить, я думаю. Сейчас это пока еще в excelle, и цены все есть там, просто в базе это с недавнего времени
|
|||
22
catena
29.11.13
✎
08:34
|
(19)Когда делаешь левое соединение и накладываешь условия, касающиеся левой таблицы, соединение молча становится внутренним. Твое условие
ГДЕ ЦеныНоменклатурыСрезПоследних.ТипЦен.Наименование = "Плановая" И ЦеныНоменклатурыСрезПоследних1.ТипЦен.Наименование = "Плановая (для расчета)" И ЦеныНоменклатурыСрезПоследних.Период МЕЖДУ &Период1 И &Период2 И ЦеныНоменклатурыСрезПоследних1.Период МЕЖДУ &Период1 И &Период2 Обрезает все товары с нерасчитанной ценой. И это... Период все-тки лучше в параметры виртуальной таблицы добавить, да. |
|||
23
kochurovg
29.11.13
✎
08:35
|
(21) так цены должны быть на конец периода или на дату документа ?
|
|||
24
СэдКС
29.11.13
✎
08:36
|
(23) на конец периода
|
|||
25
kochurovg
29.11.13
✎
08:37
|
(24) тогда однозначно (20) и (24)
|
|||
26
catena
29.11.13
✎
08:40
|
(25)Может ей не нужны цены до Период1
|
|||
27
СэдКС
29.11.13
✎
08:46
|
(22) вот здесь вы имели ввиду сделать внутреннее соед.?
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ) КАК ЦеныНоменклатурыСрезПоследних ПО Запрос1.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Трудозатраты.СрезПоследних КАК ТрудозатратыСрезПоследних ПО Запрос1.Номенклатура = ТрудозатратыСрезПоследних.Номенклатура ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ) КАК ЦеныНоменклатурыСрезПоследних1 ПО Запрос1.Номенклатура = ЦеныНоменклатурыСрезПоследних1.Номенклатура на первое соединение выставляю внутр., на двух других ругается на соед #1 |
|||
28
catena
29.11.13
✎
08:51
|
(27)Нет. Я имела в виду, что ты берешь номенклатуру, к ней левым соединением добавляешь цены - видимо хочешь видеть ВСЮ номенклатуру и цены к ней, которые есть. А потом говоришь: но без цен мне не показывай, только где цена ЕСТЬ, плановай и установленная в период с по.
Если все-таки нужна номенклатура без цен, то ВСЕ условия из ГДЕ, касающиеся ЦеныНоменклатуры надо перенести в соединения. |
|||
29
СэдКС
29.11.13
✎
08:53
|
(28) мне должна выйти вся реализация, только если в заданный период не была рассчитана стоимость, то в колонке Стоимость должно быть пусто
|
|||
30
catena
29.11.13
✎
08:53
|
(29)Вот я про это и говорю.
|
|||
31
catena
29.11.13
✎
08:55
|
Выбрать * из Номенклатура
Левое соединение Цена Получаем таблицу: Шняжка - 5р. Финтифлюшка - NULL(пуста) А внизу добавляем: ГДЕ Цена ... Из таблицы Финтифлюшка вырезается, потому что ее цена NULL под условие не подходит. |
|||
32
СэдКС
29.11.13
✎
09:04
|
(22) указала период в вирт. таблицах. Но в отчете, в параметрах нет значение с и по. Это сделать можно только через отбор? я это не поняла.
|
|||
33
СэдКС
29.11.13
✎
09:12
|
(31) у меня вроде так и идет в запросе...
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Трудозатраты.СрезПоследних КАК ТрудозатратыСрезПоследних ПО Запрос1.Номенклатура = ТрудозатратыСрезПоследних.Номенклатура ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Период2, ) КАК ЦеныНоменклатурыСрезПоследних1 ПО Запрос1.Номенклатура = ЦеныНоменклатурыСрезПоследних1.Номенклатура ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Период1, ) КАК ЦеныНоменклатурыСрезПоследних ПО Запрос1.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура ГДЕ ЦеныНоменклатурыСрезПоследних.ТипЦен.Наименование = "Плановая" И ЦеныНоменклатурыСрезПоследних1.ТипЦен.Наименование = "Плановая (для расчета)" |
|||
34
catena
29.11.13
✎
09:35
|
(33)Да, так и идет. Поэтому и получается "Но когда выставляешь этот период, формируются реализации только те, для продукции которых стоимость была установлена в указанный период"
|
|||
35
hhhh
29.11.13
✎
09:46
|
(33) блин, вы что, издеваетесь? НУ вот же
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Трудозатраты.СрезПоследних КАК ТрудозатратыСрезПоследних ПО Запрос1.Номенклатура = ТрудозатратыСрезПоследних.Номенклатура ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Период2, ТипЦен = &ТипЦенПлановая) КАК ЦеныНоменклатурыСрезПоследних1 ПО Запрос1.Номенклатура = ЦеныНоменклатурыСрезПоследних1.Номенклатура ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Период1, ТипЦен = &ТипЦенПлановаяДляРасчета) КАК ЦеныНоменклатурыСрезПоследних ПО Запрос1.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура |
|||
36
СэдКС
29.11.13
✎
10:30
|
(35) У меня не получается никак с периодом. Я не понимаю, как со среза последних в параметры отчета вытащить период с и период по. Когда просто задаю дату периода, на цену это никак не влияет. Вытаскивает цену последнюю, в соответствии с типом цен.
|
|||
37
catena
29.11.13
✎
10:34
|
(36)Блин, ну что сложного?
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Период1, ТипЦен = &ТипЦенПлановаяДляРасчета) КАК ЦеныНоменклатурыСрезПоследних ПО Запрос1.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура И ЦеныНоменклатурыСрезПоследних.Период>=&Период2 И ЦеныНоменклатурыСрезПоследних.ЧтоТамУвас = "Плановая" |
|||
38
СэдКС
29.11.13
✎
12:00
|
(37) У меня не получается это выставить в связях, хоть убей
И ЦеныНоменклатурыСрезПоследних.Период>=&Период2 И ЦеныНоменклатурыСрезПоследних.ЧтоТамУвас = "Плановая" |
|||
39
Катерина19_94
29.11.13
✎
12:02
|
Лена привет
|
|||
40
Катерина19_94
29.11.13
✎
12:03
|
если сумма положительная , то выводится в ПКО, если сумма отрицательная то должно быть какое то сообщение??
|
|||
42
СэдКС
29.11.13
✎
12:22
|
(40) не поняла
|
|||
43
Катерина19_94
29.11.13
✎
12:25
|
Допустим пользователь выписает ПКО для конкретного контрагента . А программа подсказывает : сколько этот контрагент нам должен.Поэтому:
При выборе контрагента в документе ПКо создать процедуру, которая проверит задолженность данной организации перед нами.И в случае , если та -полож.,пропишет эту зад-ть в поел СУмма |
|||
44
Катерина19_94
29.11.13
✎
12:26
|
я в документе ПКО создала форму ) нажала на реквизит Контрагент и выбрала обработчик события ПРИ ИЗМЕНЕНИИ вот такой код:
&НаКлиенте Процедура КонтрагентПриИзменении(Элемент) КонтрагентПриИзмененииНаСервер()// Вставить содержимое обработчика. КонецПроцедуры &НаСервере Процедура КонтрагентПриИзмененииНаСервер() Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Задолженности.Контрагент, | Задолженности.СуммаДолга |ИЗ | РегистрНакопления.Задолженности КАК Задолженности |ГДЕ | Задолженности.Контрагент = &Контрагент"; Запрос.УстановитьПараметр("Контрагент",Объект.Контрагент); РезультатЗапроса=Запрос.Выполнить(); Выборка=РезультатЗапроса.Выбрать(); Если Выборка.Следующий()Тогда Объект.Сумма=Строка(Выборка.СуммаДолга); КонецЕсли; КонецПроцедуры |
|||
45
Катерина19_94
29.11.13
✎
12:27
|
я может что то не так делаю ?
|
|||
46
СэдКС
29.11.13
✎
12:34
|
(45) не засоряй мою ветку)) думай!
|
|||
47
Катерина19_94
29.11.13
✎
12:34
|
не засоряю ) просто посмотри правильно я делаю ) пж ) а я тебе куплю ЧИПСЫ )))
|
|||
48
catena
29.11.13
✎
13:05
|
(38) клавиатура сломалась?
|
|||
49
НаборДанных
29.11.13
✎
13:18
|
смищьно, Объект.Сумма=Строка(Выборка.СуммаДолга);
|
|||
50
СэдКС
29.11.13
✎
13:19
|
(48) я забыла, что при выставлении Произвольное в связях можно выставить вручную период, извиняюсь)
Только еще один вопрос, если таблицу 1 я выбираю как ЦеныНоменклатурыСрезПоследних, то какую я ставлю таблицу 2? |
|||
51
Катерина19_94
29.11.13
✎
13:33
|
лена ты что ещё всё отчёт делаешь?
|
|||
52
Катерина19_94
29.11.13
✎
13:38
|
мы пойдём пить чай?
|
|||
53
Масянька
29.11.13
✎
13:40
|
(52) Лучше - шампаньского :))))
|
|||
54
Катерина19_94
29.11.13
✎
13:41
|
мы не пьем
|
|||
55
СэдКС
29.11.13
✎
13:41
|
Отчет мне будет сегодня сниться!
|
|||
56
Катерина19_94
29.11.13
✎
13:41
|
с твоими печеньками
|
|||
57
Катерина19_94
29.11.13
✎
13:41
|
и с твоим чаем
|
|||
58
Масянька
29.11.13
✎
13:43
|
(54) "Мой президент не пьет и не курит,
Лучше бы пил и курил" (С) |
|||
59
СэдКС
29.11.13
✎
15:12
|
продублировала регистр сведений еще 2 раза, сделала соединение по периоду, в итоге стоимость вообще не вышла....
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Трудозатраты.СрезПоследних КАК ТрудозатратыСрезПоследних ПО Запрос1.Номенклатура = ТрудозатратыСрезПоследних.Номенклатура ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ТипЦен.Наименование = &ПлановаяДляРасчета) КАК ЦеныНоменклатурыСрезПоследних1 ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ТипЦен.Наименование = &ПлановаяДляРасчета) КАК ЦеныНоменклатурыСрезПоследних3 ПО (ЦеныНоменклатурыСрезПоследних1.Период >= &Период1) ПО Запрос1.Номенклатура = ЦеныНоменклатурыСрезПоследних1.Номенклатура ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ТипЦен.Наименование = &Плановая) КАК ЦеныНоменклатурыСрезПоследних ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ТипЦен.Наименование = &Плановая) КАК ЦеныНоменклатурыСрезПоследних2 ПО (ЦеныНоменклатурыСрезПоследних.Период >= &Период2) ПО Запрос1.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура |
|||
60
catena
29.11.13
✎
18:59
|
пичалька
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |