|
Нужны советы по запросу. | ☑ | ||
---|---|---|---|---|
0
Boudybuilder
13.11.12
✎
17:55
|
ВЫБРАТЬ
Продажи.Номенклатура, ФанУстановкаВознагражденийЗаПродажиСрезПоследних.ВидНачисления, ФанУстановкаВознагражденийЗаПродажиСрезПоследних.Процент, ФанУстановкаВознагражденийЗаПродажиСрезПоследних.Номенклатура КАК Номенклатура1 ИЗ РегистрНакопления.Продажи КАК Продажи ПОЛНОЕ СОЕДИНЕНИЕ РегистрСведений.ФанУстановкаВознагражденийЗаПродажи.СрезПоследних КАК ФанУстановкаВознагражденийЗаПродажиСрезПоследних ПО Продажи.Период > ФанУстановкаВознагражденийЗаПродажиСрезПоследних.Период ГДЕ Продажи.Период МЕЖДУ &Нач И &Кон УПОРЯДОЧИТЬ ПО Продажи.Период Оно мне таким образом ФанУстановкаВознагражденийЗаПродажиСрезПоследних.Процент показывает только реально последние. А мне ж тут надо чтобы соединило каждый последний на период записи в продаже. |
|||
1
shuhard
13.11.12
✎
17:56
|
(0) будь мужиком
найди статья "Срез последних на каждую дату" |
|||
2
Boudybuilder
13.11.12
✎
17:56
|
Вот. И еще. Мне нужно отобрать , чтобы показывало записи только те где Продажи.Номенклатура В ИЕРАРХИИ ФанУстановкаВознагражденийЗаПродажиСрезПоследних.Номенклатура.
Пробовал , но не получается... |
|||
3
riv40rus
13.11.12
✎
17:57
|
(1) +1 только хотел написать
|
|||
4
Boudybuilder
13.11.12
✎
18:03
|
Ок , буду разбираться. А с этим как быть?
|
|||
5
Boudybuilder
13.11.12
✎
18:03
|
(2) ???
|
|||
6
Classic
13.11.12
✎
18:08
|
Никак
|
|||
7
GANR
13.11.12
✎
18:10
|
(0) Это делается так (рекомендую см. sql-ex.ru):
1. Получить из регистра сведений ФанУстановкаВознагражденийЗаПродажи таблицу вида ДатаНач ДатаКон изм1 Изм2.... рес1 01.01.0001 01.03.2001 и11 и12 .... р1n 02.03.2001 21.03.2001 и21 и22 .... р1n 22.03.2001 28.03.2001 и31 и32 .... р1n 29.03.2001 31.05.2001 и41 и42 .... р1n 29.03.2001 31.05.2001 и51 и52 .... р1n Это делается так: 1.1 Отсортировать записи РС по периоду и пронумеровать 1..M 1.2 Выгрузить 1.1 во временную таблицу и соединить саму с собой ЛЕВЫМ соединением по условию ВТ1.НомерПП - 1 = ВТ1.НомерПП 1.3. Вынуть из 1.2 все необходимые поля таблицы п.1 (см. консоль) 2. Соединить п.1 с таблицей Продажи по условию Продажи.Период МЕЖДУ (п.1).ДатаНач И (п.1).ДатаКон (6) Запрос получится мозгодробильный, но это РЕШАЕМО (сам решал - знаю точно). |
|||
8
GANR
13.11.12
✎
18:11
|
+(7) >29.03.2001 31.05.2001 и51 и52 .... р1n
- ошибочная строка |
|||
9
Boudybuilder
13.11.12
✎
18:15
|
Как это никак?
Если я группе присвоил какое то значение в регистре сведений. То как выбрать номенклатуру , которая в иерархии этой группы? |
|||
10
Boudybuilder
13.11.12
✎
18:15
|
Универсальный отчет же это делает как то...
|
|||
11
GANR
13.11.12
✎
18:15
|
(9) См. (7). Знаешь как запросом пронумеровать записи?
|
|||
12
GANR
13.11.12
✎
18:19
|
+(11) Т. е. (п. 1.1) из (7)
НомерПП Период Изм Рес 1 01.01.2001 И1 Р1 2 05.02.2001 И2 Р2 3 03.03.2001 И3 Р3 ... M 08.05.2010 ИM РM Знаешь как это делается? |
|||
13
GANR
13.11.12
✎
18:21
|
+(7) ВТ1.НомерПП - 1 = ВТ2.НомерПП - ошибка там
ВТ1 и ВТ2 - обращение к одной и той-же врем. таблице вида (12) |
|||
14
GANR
13.11.12
✎
18:22
|
(0) Понятно что-нибудь из сказанного GANR?
|
|||
15
Aprobator
13.11.12
✎
18:24
|
СКД. В запросе я такое писать уже обленился.
|
|||
16
GANR
13.11.12
✎
18:25
|
(15) Тьху-ё про Хрусталёву-то я и забыл.
|
|||
17
Classic
13.11.12
✎
18:39
|
(10)
Что он делает? В общем случае ты по иерархии ничего не соединишь. В частном - используя (.Родитель = ) ИЛИ (Родитель.Родитель = ) ИЛИ ..... В СКД можно сделать разными наборами данных. В запросе - нет |
|||
18
Boudybuilder
13.11.12
✎
21:52
|
(17) Так (.Родитель.Родитель) не конает. Это ж точно знать надо сколько уровней иерархии... Так ведь?
Например есть так Мобилки/Сертефицированные/Нокия/ Мобилки/Сертефицированные/Самсунг/ Мобилки/Сертефицированные/Флай/ На группу мобилки я, например, в регистре ставлю ставлю 5%. Тоесть если менеджер продает какой то товар из данной группы , то ему начисляется 5% от продажи. Но подгруппа Флай у меня уже 6%. Так что за все флаи он получает соответственно. Это все записано в регистре сведений. Как мне теперь получать процент по товарам находящихся в группах? |
|||
19
Boudybuilder
14.11.12
✎
13:37
|
(18) На это ответа нету?
Еще один вопрос. Вот в док начисления в ТЧ заполняю все документы продажи за текущий месяц. Через какое то время еще раз за тот же месяц делаю заполнение , но заполняет и те что имеются в предыдущем доке. Как лучше проверять были ли уже расчеты по тех доках или нет? Я думал что буду получать все доки за период связывать их по периоду с доками из ТЧ в доках Начисления , и фильтровать , тоесть если имеется в предыдущих доках , то не заполнять. Правильно ли это? В типовых как то начисление зарплаты за период если начислено , то в еще одном доке за тот же период начисляться уже не будет... |
|||
20
Boudybuilder
14.11.12
✎
13:39
|
Тут прикол в том , что если док не проведен?
А просто записан. То доки же в ТЧ все равно будут. И их в новый док не заполнит. А потом я этот док проведу , и начисления запишуться еще раз. В таком случае надо будет и при проведении проверять не имеются ли эти начисления в других ТЧ. |
|||
21
Boudybuilder
14.11.12
✎
14:02
|
(19) Реализовал выборкой , хотя , можно было и запросиком.
Как такое запросом сделать? //Проверяем нет ли уже зарегистрированных строк Если Выборка.Регистратор <> Выборка.Документ Тогда НС = Сервис.Добавить(); НС.Сотрудник = Выборка.Сотрудник; НС.Показатель= Начислено; НС.Документ = Выборка.Регистратор; КонецЕсли; |
|||
22
Boudybuilder
14.11.12
✎
14:49
|
Тут то же самое что и в (19)
ВЫБРАТЬ ДокСервис.НомерСтроки КАК ДокНомСтроки, ДокСервис.Ссылка КАК Док, ДокСервис.Документ КАК ДокДокумент, СписокСервис.Документ КАК СписокДокумент, СписокСервис.Ссылка КАК СписокДок ИЗ Документ.ФанНачислениеЗароботнойПлаты.Сервис КАК СписокСервис ЛЕВОЕ СОЕДИНЕНИЕ Документ.ФанНачислениеЗароботнойПлаты.Сервис КАК ДокСервис ПО СписокСервис.Документ = ДокСервис.Документ ГДЕ ДокСервис.Ссылка = &Ссылка Как отобрать только те где СписокСервис.Документ <> ДокСервис.Документ |
|||
23
Boudybuilder
14.11.12
✎
14:49
|
?????????????????????????????????
|
|||
24
Boudybuilder
14.11.12
✎
14:50
|
Не хочется выборкой делать...
|
|||
25
Boudybuilder
25.11.12
✎
22:15
|
ВЫБРАТЬ
ФанУстановкаВознагражденийЗаПродажиСрезПоследних.Номенклатура, ФанУстановкаВознагражденийЗаПродажиСрезПоследних.ВидНачисления, ФанУстановкаВознагражденийЗаПродажиСрезПоследних.Процент, ФанУстановкаВознагражденийЗаПродажиСрезПоследних.ТребуемоеКоличество, ОтчетОРозничныхПродажахТовары.Номенклатура КАК Номенклатура1 ИЗ РегистрСведений.ФанУстановкаВознагражденийЗаПродажи.СрезПоследних КАК ФанУстановкаВознагражденийЗаПродажиСрезПоследних ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ОтчетОРозничныхПродажах.Товары КАК ОтчетОРозничныхПродажахТовары ПО ФанУстановкаВознагражденийЗаПродажиСрезПоследних.Период < ОтчетОРозничныхПродажахТовары.Ссылка.Дата И (ОтчетОРозничныхПродажахТовары.Номенклатура.Родитель = ФанУстановкаВознагражденийЗаПродажиСрезПоследних.Номенклатура ИЛИ ОтчетОРозничныхПродажахТовары.Номенклатура.Родитель.Родитель = ФанУстановкаВознагражденийЗаПродажиСрезПоследних.Номенклатура ИЛИ ОтчетОРозничныхПродажахТовары.Номенклатура.Родитель.Родитель.Родитель = ФанУстановкаВознагражденийЗаПродажиСрезПоследних.Номенклатура ИЛИ ОтчетОРозничныхПродажахТовары.Номенклатура.Родитель.Родитель.Родитель.Родитель = ФанУстановкаВознагражденийЗаПродажиСрезПоследних.Номенклатура ИЛИ ОтчетОРозничныхПродажахТовары.Номенклатура.Родитель.Родитель.Родитель.Родитель.Родитель = ФанУстановкаВознагражденийЗаПродажиСрезПоследних.Номенклатура) Если так иерархию выбирать? |
|||
26
Boudybuilder
25.11.12
✎
23:54
|
Вобщето работает. Но тут такая ситуация.
Если на верхнем уровне группы я поставлю значение одно а на нижнем еще одно то надо чтобы выбрало только нижнее. Например справочник таков: АвтоЗвук - Колонки - Магнитофоны - ФМ-модуляторы На атвтозвук я ставлю 5% вознаграждения за продажи , что распространиЦЦа на все вложеные элементы. Но на колонки я хочу поставить больший или меньший процент , например 7%. Тогда надо чтобы элементы в автозвук имели все 5 , а все что в Колонки - 7 . Как быть? Вложенный запрос и групировку по родителю максимум или как ? |
|||
27
Boudybuilder
26.11.12
✎
00:22
|
Вобщем как получить самого нижнего родителя?
|
|||
28
Aprobator
26.11.12
✎
10:17
|
Итоги по иерархии вроде в универсальном то. Как то так. А вообще получай родителя вне запроса.
|
|||
29
Boudybuilder
26.11.12
✎
18:07
|
Это пипец какойто , уже второй день не могу решить это (26)!!!!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |