|
С виду простой вопрос по СКД | ☑ | ||
---|---|---|---|---|
0
ghostishe
19.08.16
✎
18:40
|
Всем привет.
Пожмогите, плз, с задачкой: есть непериодический независимый РС. В нём три измерения. Одно ссылочного типа "Справочник.Контрагенты", другие - перечисления "СтавкиНДС" (10, 18, 0) и "ДеньМесяца". Ресурсов нет. Это начальные условия. их менять нельзя. Периода нет. День месяца - это просто перечисление из 31 элемента. Необходимо построить отчет вида: По вертикали дни месяца (все 31). По горизонтали Контрагент. СтавкаНДС должна быть на пересечении Контрагента и Дня. Я добавил ее (ставку НДС) в ресурсы. Выражение равно самому полю. Не минимум, максимум, количество различных, а просто СтавкаНДС. При выводе получаю "лесенку" 01 02 03 Клиент1 Ставка10 Клиент1 Ставка18 Клиент1 Ставка10 Должно быть 2 строки. 01 02 03 Клиент1 Ставка10 Ставка10 Клиент1 Ставка18 Вопрос: как реализовать? С виду просто. Но СКД делает "Лесенку" и добавляет еще одну строку. |
|||
1
Рэйв
19.08.16
✎
18:43
|
я плакалъ...перечисление из 31 элемента....
|
|||
2
f_vadim
19.08.16
✎
18:43
|
>> День месяца - это просто перечисление из 31 элемента.
серьёзно? |
|||
3
Рэйв
19.08.16
✎
18:44
|
Шедевр чо:-)
|
|||
4
Рэйв
19.08.16
✎
18:44
|
такого я еще ПРАВДА не видел:-)
|
|||
5
Fragster
гуру
19.08.16
✎
18:49
|
(0) добавь по горизонтали не детальные записи, а группировку по контрагенту
|
|||
6
f_vadim
19.08.16
✎
18:49
|
>>есть непериодический независимый РС. В нём три измерения. Одно ссылочного типа "Справочник.Контрагенты", другие - перечисления "СтавкиНДС" (10, 18, 0) и "ДеньМесяца". Ресурсов нет. Это начальные условия. их менять нельзя. Периода нет. День месяца - это просто перечисление из 31 элемента.
вот это вот всё... всё вот это... очень пятнично |
|||
7
Fragster
гуру
19.08.16
✎
18:49
|
можжет тестовое задание такое
|
|||
8
Fragster
гуру
19.08.16
✎
18:49
|
и там может не "перечисление", а число
|
|||
9
f_vadim
19.08.16
✎
18:51
|
(7) правильное решение задания: сказать "вы тут все наркоманы штоле?"
|
|||
10
f_vadim
19.08.16
✎
18:52
|
(8) >> просто перечисление из 31 элемента
как-то не очень похоже на описание числа |
|||
11
ghostishe
19.08.16
✎
18:55
|
Да, это задачка. В реальной жизни такое представить страшно. Задача на умение использовать СКД. (5) я добавлял контрагента. В этом случае ОНО оставляет только одну ставку НДС и множит данные в колонках.
То есть задача состоит в том, чтобы вывести отчет с нечисловым значением ресурса. я хз, как делать. 5й час пошёл. |
|||
12
ghostishe
19.08.16
✎
18:57
|
Могу скриншотиков накидать, если нужно. Я не считаю себя асом в СКД, но тут явно что-то нестандартное должно быть (помимо добавления СтавкиНДС в ресурсы на соотв. закладке.)
|
|||
13
Fragster
гуру
19.08.16
✎
18:59
|
в колонках группировка по ставке
|
|||
14
f_vadim
19.08.16
✎
19:01
|
я максимум по ставке поставил - вроде работает
|
|||
15
ghostishe
19.08.16
✎
19:02
|
||||
16
ghostishe
19.08.16
✎
19:03
|
(14) на закладке СКД "ресурсы"? Ща попробую
|
|||
17
Другая
19.08.16
✎
19:05
|
добавить вычисляемое поле, в котором вызывать внешнюю функцию, которая будет преобразовывать строку в число.
Вычисляемое поле добавить в ресурсы. |
|||
18
ghostishe
19.08.16
✎
19:08
|
(17) если так сделать, тогда ресурс будет числом. А фишка в том, что с ним не нужно делать преобразований. Нельзя Суммировать, Вычислять максимум итп. То есть если в одни день были разные ставки, то должно быть две строки.
Как будто, это поле и в ресурсе, и в группировке должно участвовать. (14) Оставляет только одну строку на одного контрагента. |
|||
19
ghostishe
19.08.16
✎
19:14
|
Заменил Ставку НДС на Час дня
И день месяца на день недели (лень 31 элемент забивать) http://savepic.net/8359827.jpg Вот так (неправильно) выглядит отчет, если просто на закладке ресурсы добавить Час с выражением Час. Лесенка =( |
|||
20
Рэйв
19.08.16
✎
19:14
|
а описанию сабжа- дурак дураком.
|
|||
21
Рэйв
19.08.16
✎
19:15
|
*по описанию
|
|||
22
ghostishe
19.08.16
✎
19:16
|
(20) Не знаю, как прокомментировать это сообщение. Если недостаточно описал суть проблемы, готов уточнить
|
|||
23
ghostishe
19.08.16
✎
19:17
|
(20) Задачу придумывал не я. почем купил - так и продаю
|
|||
24
Рэйв
19.08.16
✎
19:18
|
(22) да не...Мне перечисление с 31 элементами даже понравилось:-)
Буду предлагать некоторым для перезагрузки:-) |
|||
25
ghostishe
19.08.16
✎
19:21
|
По одному клиенту строк должно быть столько, сколько разных Ставок (ну или часов).
Может, сперва получить таблицу Контрагент-Ставка? Потом ее соединить с основной. Попытаться использовать приемы, которые работают при расчете ресурсов нарастающим итогом или получении актуального курса валюты на каждую дату, даже когда он не указан некоторые дни. Явно какая-то хитрость напрашивается |
|||
26
Рэйв
19.08.16
✎
19:29
|
(25)Я понял в чем твоя беда.
В косноязычности. |
|||
27
Рэйв
19.08.16
✎
19:33
|
(25)Прости если обидел. Но это факт.:-)
|
|||
28
ghostishe
19.08.16
✎
19:34
|
(26) Я над задачей молча уже сижу часами =) Беда точно не в косноязычности
|
|||
29
Рэйв
19.08.16
✎
19:34
|
ты так объясняешь... как в голливудских фильмах старый монах рассказывает про путь к сокровищам.
Красиво и непонятно:-) |
|||
30
Рэйв
19.08.16
✎
19:35
|
(28)В ней. Ты не умеешь простыми словами сказать суть
|
|||
31
Рэйв
19.08.16
✎
19:35
|
не дано
|
|||
32
Cyberhawk
19.08.16
✎
19:37
|
Так и не понял, по какому принципу в первой табличке из (15) должна строиться требуемая табличка...
|
|||
33
ghostishe
19.08.16
✎
19:41
|
(32) Первая табличка - это пример правильного результата.
Это и есть требуемая. Вторая табличка - это то, как у меня сейчас. Это неправильно. Данные в табличках не связаны. Это примеры правильного и неправильного результатов. Если отталкиваться от второй таблички (неправильной), то из нее нужно сделать следующее: http://savepic.net/8342418.jpg |
|||
34
Рэйв
19.08.16
✎
19:41
|
(32)вот ты извращенец...
Ты ее еще и смотрел??? |
|||
35
Cyberhawk
19.08.16
✎
19:45
|
(33) Объединение объединений: внешнее объединение - это ставки НДС, внутреннее - контрагенты
|
|||
36
ghostishe
19.08.16
✎
19:49
|
(35) По порядку это как? Объединения в запросе? Или речь о СКДшных типах данных?
|
|||
37
Cyberhawk
19.08.16
✎
19:51
|
(36) Пришли мне базу с заполненным регистром
|
|||
38
ghostishe
19.08.16
✎
19:52
|
||||
39
RomanYS
19.08.16
✎
20:07
|
(38) режим совместимости хотя бы поставил... качаю 8.3.9
|
|||
40
ghostishe
19.08.16
✎
20:10
|
(39) У меня 8.3.8.1747
Обычное приложение. не упр. |
|||
41
Cyberhawk
19.08.16
✎
20:17
|
Быстро сделать не удалось. Если в понедельник будет актуально - отпишусь
|
|||
42
ghostishe
19.08.16
✎
20:21
|
(41) окей.
|
|||
43
RomanYS
19.08.16
✎
20:25
|
||||
44
ghostishe
19.08.16
✎
20:32
|
(43) Не-а.
Новая строка в таблице должна добавляться только в том случае, если часы нельзя поместить в уже существующую строку для данного контрагента и дня недели. То есть, по твоему скриншоту должно быть по 2 строки на каждого контрагента. Воскресенье 14 часов должно быть в первой строке. |
|||
45
echo77
19.08.16
✎
20:35
|
(44) В одну ячейку все ставки контрагента за день запихнуть не вариант?
|
|||
46
RomanYS
19.08.16
✎
20:36
|
(44) это из (0) не следует. Но теперь понятно, чего надо)). Жди.
|
|||
47
RomanYS
19.08.16
✎
20:45
|
(44) так?
http://savepic.su/7454155.png |
|||
48
echo77
19.08.16
✎
20:50
|
(47) Похоже. Я пронумеровал строки в запросе, у меня так же получилось
|
|||
49
echo77
19.08.16
✎
20:53
|
А еще вот это хорошая статья :-) http://catalog.mista.ru/public/267055/
|
|||
50
ghostishe
20.08.16
✎
13:23
|
(47) Да, так. Нумерация - подзапросом с упорядочиванием?
|
|||
51
ghostishe
20.08.16
✎
15:55
|
(47) (48) Да, теперь и у меня получилось. А как удалось спрятать для пользователя колонку с Номером? Ведь нужно группировать по Контрагенту и этому номеру. Номер вылезает отдельной колонкой.
|
|||
52
Горогуля
20.08.16
✎
15:57
|
а если взять и нахально не выводить некоторые поля?
|
|||
53
ghostishe
20.08.16
✎
17:15
|
Поле нужно добавить в группировку. Если не добавить, отчет не получится. Если добавить - видим доп.колонку
|
|||
54
Горогуля
20.08.16
✎
17:20
|
а если всё-таки взять и нахально не выводить некоторые поля?
|
|||
55
ghostishe
20.08.16
✎
18:02
|
(54) Ну если совсем нахально, то сработало.
|
|||
56
Горогуля
21.08.16
✎
04:08
|
не за что
|
|||
57
echo77
21.08.16
✎
06:40
|
(51) Ответ на вопрос: "Как спрятать колонку по которой выполняется группировка?" или "Как не выводить одно из полей группировки?"
https://yadi.sk/i/dlDBFQh-uMtMq |
|||
58
echo77
21.08.16
✎
06:41
|
+ (57) Просто в выбранных полях группировки разворачиваете(удаляете) автополе и перечисляете те поля, которые необходимо вывести
|
|||
59
almar
21.08.16
✎
07:52
|
(0) Интересно, а в чем смысл этого регистра? ООО Ромашка каждое первое число каждого месяца отгружает без ндс, каждое второе число с НДС 10%, а пятнадцатого числа каждого месяца - с ндс 18%?
|
|||
60
Cyberhawk
22.08.16
✎
10:37
|
(47) (51) А где же описание, как это сделать в СКД?
|
|||
61
Radkt
22.08.16
✎
10:49
|
(0) в ресурсы загоняйте не числовое поле которое должно быть на пересечении столбцов и колонок, в ресурсах убираете функцию "сумма" (по умолчанию) и все будет выводить в схеме таблица с нужными колонками и строками ;)
|
|||
62
RomanYS
22.08.16
✎
15:17
|
(60) всё как расписано в следующих постах
- нумерация строк в запросе - группировка "контрагент, номер" - поле номер скрыто, общие итоги скрыты |
|||
63
ghostishe
23.08.16
✎
00:52
|
(60)
Если интересует сам запрос, могу выложить. |
|||
64
trust
25.08.16
✎
19:17
|
Добрый день. Очень интересует запрос. Выложите пожалуйста.
|
|||
65
Cyberhawk
25.08.16
✎
21:28
|
(63) Ага, давай уже выкладывай для ленивых
|
|||
66
RomanYS
25.08.16
✎
21:30
|
(65)
ВЫБРАТЬ ЗаказыКонтрагентам.Контрагент, ЗаказыКонтрагентам.День, ЗаказыКонтрагентам.Час, 1 КАК Поле1 ПОМЕСТИТЬ ВТ ИЗ РегистрСведений.ЗаказыКонтрагентам КАК ЗаказыКонтрагентам ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТ.Контрагент, ВТ.День, ВТ.Час, СУММА(ВТ1.Поле1) КАК Номер ПОМЕСТИТЬ ВТ2 ИЗ ВТ КАК ВТ ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ КАК ВТ1 ПО ВТ.Контрагент = ВТ1.Контрагент И ВТ.День = ВТ1.День И ВТ.Час.Порядок >= ВТ1.Час.Порядок СГРУППИРОВАТЬ ПО ВТ.Час, ВТ.День, ВТ.Контрагент |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |