Вход | Регистрация


1С:Предприятие ::

Метки: 

Не знаю, как сделать в отчете на СКД

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

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

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

   kittystark
 
8 - 10.10.17 - 11:42
в ПриКомпоновкеРезультата()
   DrShad
 
9 - 10.10.17 - 11:46
(7) вот не нужно это
(6) зачем же тапками, вполне рабочий вариант
   kittystark
 
10 - 10.10.17 - 11:50
(9)работает без всяких макетов
 
 Рекламное место пустует
   DrShad
 
11 - 10.10.17 - 11:51
(10) это понятно, но можно и без кода сделать
   mariakw
 
12 - 10.10.17 - 17:17
(9) как раз только что из этой книги))) пример с шаблоном там совсем легкий, а у меня тут такой огромный и замороченный отчет, боюсь, я недели две буду разбираться, как под него шаблон сделать(

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

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

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

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

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

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

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



Список тем форума
Рекламное место пустует Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует