Имя: Пароль:
1C
1С v8
Не знаю, как сделать в отчете на СКД
,
0 mariakw
 
10.10.17
10:03
Добрый день.
При создании отчета на СКД появились две проблемы.
1) Нужно, чтобы одна из колонок называлась так же, как и значение одного из параметров в отборе.
Например, Параметр &Номенклатура = Йогурт клубничный 5% 100гр.
Теперь нужно, чтобы имя одной из колонок (не значения в колонке, а именно ее название) было тоже "Йогурт клубничный 5% 100гр". И каждый раз, когда пользователь будет менять параметр отбора, название колонки тоже должно меняться.

2) Есть поля Остаток и Динамика, где Остаток - это кол-во товара на складе на конец периода, Динамика - это кол-во, на которое запас товара на складе увеличился или уменьшился за период. Например, в начале было 5, в конце периода стало 15. Тогда Остаток = 15, Динамика = 10.
Теперь нужно получить поле, в котором будет отображаться такая строка: Остаток (Динамика). Не две колонки, а именно в одной колонке два значения. Если можно значению Динамика еще и свое форматирование задать, то будет вообще супер.

Подскажите, пожалуйста, как это сделать в СКД. Заранее спасибо!
1 DrShad
 
10.10.17
10:20
ну в принципе это возможно, но сейчас все расписывать времени нет - чутка позже
2 DrShad
 
10.10.17
10:21
пока подумай не будет ли такого, что параметр будет с видом сравнения в группе или из списка от этого будет зависеть реализация
3 Dzenn
 
гуру
10.10.17
10:40
Если тебе не хватает возможностей СКД, значит, нужно переформулировать условия задачи.
4 Otark
 
10.10.17
10:48
(3)Это пять! Если система, что-то не умеет, значит тебе это не нужно.
с баша:
- Как в программе реализован протокол Х?
- протокол Х не нужен.
5 DrShad
 
10.10.17
10:52
(3) он просто не умеет готовить СКД, а возможностей у нее хватает на все
6 riks05
 
10.10.17
11:15
(0) Пусть меня забросают тапками, но я бы решал эти проблемы созданием своего собственного макета. В шапке таблицы забиваешь параметр, и в значение параметра указываешь значение того реквизита который тебе нужен.
и точно так же с динамикой и остатком будет в ячейку пишешь чтото вроде "[остаток]([динамика])" в в свойство ячейки "заполнение " ставишь "шаблон" и будет тебе счастье. как создавать свои макеты на СКД загуглишь на 1сЗакаулках есмть неплохая инструкция, так же почитай книжку хрусталёвой про сложные отчеты.
7 kittystark
 
10.10.17
11:41
тебе нужно программно добраться до выбранного поля и задать ему заголовок

Для Каждого Группировка из КомпоновщикНастроек.Настройки.Структура цикл
        Для каждого Колонка из Группировка.Колонки цикл
            Для каждого поле из Колонка.Выбор.Элементы цикл
                Если Поле.Поле = новый ПолеКомпоновкиДанных("ОтклонениеОстатка") тогда
                    Поле.Заголовок = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("ВидРасчетаОтклонения").Значение;
                КонецЕсли;
            КонецЦикла;
        КонецЦикла;
    КонецЦикла;
8 kittystark
 
10.10.17
11:42
в ПриКомпоновкеРезультата()
9 DrShad
 
10.10.17
11:46
(7) вот не нужно это
(6) зачем же тапками, вполне рабочий вариант
10 kittystark
 
10.10.17
11:50
(9)работает без всяких макетов
11 DrShad
 
10.10.17
11:51
(10) это понятно, но можно и без кода сделать
12 mariakw
 
10.10.17
17:17
(9) как раз только что из этой книги))) пример с шаблоном там совсем легкий, а у меня тут такой огромный и замороченный отчет, боюсь, я недели две буду разбираться, как под него шаблон сделать(

(2) не, номенклатуру для примера взяли, а на самом деле имею дело с характеристиками. Никаких групп и списков точно не будет)

(10) и как же сделать без кода и без рукописного шаблона?

(7) (8) а где мне все это дело писать?
13 craxx
 
10.10.17
17:51
(0) Группировка колонок с отбором по параметру))
14 kittystark
 
10.10.17
18:05
(12) > а где мне все это дело писать?
cм. 8
15 Новиков
 
10.10.17
18:19
на первый вопрос, самый простой безмакетный вариант в (7).
на второй вопрос ответ в (6).

Поэтому проще, кажется, макетом.
16 mistеr
 
10.10.17
18:47
(5) Насчет "на всё" ты конечно загнул. СКД умеет соединять наборы только по равенству, а, например, по вхождению в интервал не умеет. Без этого она неполноценна.
17 craxx
 
10.10.17
18:48
(16) вообще, соединение наборов - зло. ИМХО конечно.
18 mariakw
 
10.10.17
21:57
А по поводу второго вопроса? Как динамику отразить в одной колонке с остатком? С точки зрения кода как это прописать, я еще понимаю вроде, а вот где это писать совсем ума не приложу.
19 xXeNoNx
 
10.10.17
22:16
(0) 1. А если отбор стоит не "равно", а "в списке", как должно отображаться?
2. Тут 2 варианта: 1. Поколдовать в настройках с выбранными полями, а второй вариант - в наборах данных, в полях.
Второй вариант - есть 2 поля остаток и динамика в поле "Путь" ставишь вместо "Динамика" - "Количество.Динамика", а в место "Остаток" - "Количество.Остаток"

Далее в настройках варианта отчета выбираешь группу "Количество", которая автоматический будет создана.
Будет все в одной колонке "Количество", но эта колонка будет разбита на 2: "Остаток" и "Динамика"
Никаких программных вмешательств тут не нужно!

Могу ошибаться в чем-то, но ход мысли верный!
20 xXeNoNx
 
10.10.17
22:20
Так же можно через макеты все оформить
21 mariakw
 
10.10.17
22:36
(19) Второй вариант не подходит, у меня сейчас отчет и так аналогично выдает информацию. скин: https://yadi.sk/i/klj7Qlpv3NeCz7
А заказчик хочет, чтобы была одна колонка, и динамика показывалась в виде степени (надстрочное оформление) у количества. Я пока не могу сообразить, как их вообще в одну колонку поместить.
Поколдовать ни в запросе, ни в выбранных полях не получается, так как у обоих значений числовой формат,  как известно склеить как текст два числа не получится без вмешательства в код.
Вот и мучаюсь сижу.
22 mistеr
 
12.10.17
09:20
(21) Я тоже предложу два варианта:
1) вычисляемое поле
2) выражение представления

А про "надстрочное оформление" забудь. Это не Excel.