|
как перенести значение Таблицы в другую Таблицу перевернув строки на колонки | ☑ | ||
---|---|---|---|---|
0
batman1978
18.02.15
✎
00:00
|
Добрый день форумчане
Суть проблемы в том что таблица имеет вид ВидПлана Подразделение Сумма трям Подразд1 10 прям Подразд1 2 трям Подразд2 4 трям Подразд3 5 прям Подразд2 6 а нужно получить вид таблицы Подразделение План1(Трям) План2(Прям) Подразд1 10 2 Подразд2 4 6 Подразд3 5 и т.д. то есть перевернув строки на колонки во второй таблице подскажите как решить данный вопрос я начал Для каждого стр из ТабПланПоказ цикл НоваяСтрока = ТабПлан.Добавить(); НоваяСтрока.Подразделение = стр.Подразделение; если стр.Найти(трям,"ВидПлана") = "Трям" тогда НоваяСтрока.ПланСреднийЧек = стр.Сумма; КонецЕсли; КонецЦикла; проблема в том что я не как не могу разобраться с условием - что бы если план нужный совпадает то берем из этой же строки сумму и пишем ее в туже строчку куда вписали подразделение на пересечении нужной колонки плана в другой таблице. |
|||
1
batman1978
18.02.15
✎
00:06
|
Хотел бы напомнить сразу у меня 1с8.1 )
|
|||
2
ShoGUN
18.02.15
✎
00:06
|
(0) Выгрузи колонки планов и подразделений в отдельные коллекции, сверни, перебери вложенными циклами. Внутри второго цикла юзай НайтиСтроки. И заполняй новую табличку данными из найденного.
|
|||
3
batman1978
18.02.15
✎
00:25
|
Ладно перейдем ближе к теме :)
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ПлановыеПоказатели.ВидПлана КАК ВидПлана, | ПлановыеПоказатели.Подразделение КАК Подразделение, | СУММА(ПлановыеПоказатели.Сумма) КАК Сумма |ИЗ | РегистрСведений.ПлановыеПоказатели КАК ПлановыеПоказатели |ГДЕ | ПлановыеПоказатели.ДатаНач >= &НачПериода | И ПлановыеПоказатели.ДатаКон <= &КонПериода | И ПлановыеПоказатели.Сумма > 0 | И (НЕ ПлановыеПоказатели.Подразделение.Город ЕСТЬ NULL ) | И (НЕ ПлановыеПоказатели.Подразделение.Закрыто) | И ПлановыеПоказатели.Подразделение.Магазин | |СГРУППИРОВАТЬ ПО | ПлановыеПоказатели.Подразделение, | ПлановыеПоказатели.ВидПлана"; Запрос.УстановитьПараметр("НачПериода",НачалоМесяца(ДатаТекДень)); Запрос.УстановитьПараметр("КонПериода",КонецМесяца(ДатаТекДень)); Результат = Запрос.Выполнить(); ТабПланПоказ = Результат.Выгрузить(); //ТабПланПоказ.ВыбратьСтроку(); //возврат; ТабПлан = Новый ТаблицаЗначений; ТабПлан.Колонки.Добавить("Подразделение"); ТабПлан.Колонки.Добавить("ПланСреднийЧек"); ТабПлан.Колонки.Добавить("ПланТрафик"); ТабПлан.Колонки.Добавить("ПланСумма"); |
|||
4
batman1978
18.02.15
✎
00:27
|
так вот из ТабПланПоказ перелить данные из строки колонки вид плана раскидать по колонкам новым ПлансреднийЧек и Плантрафик суммы из строки суммы - и еще подразделения перетащить.
|
|||
5
batman1978
18.02.15
✎
00:28
|
а там разные значения в видплан
|
|||
6
DirecTwiX
18.02.15
✎
00:30
|
1) Зачем это надо?
2) а) Обходим выборку, ищем строку с подразделением в результирующей таблицу. Добавляем, если не нашли. б) Перебираем колонки, ищем ВидПлана. Если Добавляем, если не нашли. в) В строку пишем число. Колонки можно хранить либо в первой строке ТЗ, либо в структуре. |
|||
7
batman1978
18.02.15
✎
00:36
|
(6) - что бы потом отклонение от плана считать - и можно было связывать
можно подсказки более приближенные ? я еще тока учусь ) |
|||
8
batman1978
18.02.15
✎
00:37
|
кстати если подскажите как результат этого запроса прям в скд перевернуть было бы вообще хорошо а то через внешний набор данных есть много мелких неудобств )
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |