MulTEx »

Подготовить таблицу - строки

Данная функция является частью надстройки MulTEx

MulTEx

Вызов команды:
MulTEx -группа Специальные -Работа со сводными -Подготовить таблицу - строки


Понять принцип работы и основные параметры настроек поможет видеоинструкция к команде:

Команда способна преобразовать в удобный для анализа вид практически любую "многоуровневую" таблицу, сформированную в 1С. Пригодится тем, кто часто сталкивается с необходимостью анализа данных, выгруженных из 1С таблиц. Например, вот такой вот обычный отчет из 1С:
Исходная таблица

Построить из такого отчета сводную таблицу не то, чтобы нереально - но вручную не на один час нудной работы. И то все зависит от кол-ва строк и столбцов. При этом формулы здесь явно не помогут и остается два пути: руками или при наличии навыков писать свой код, который хоть часть данных приведет в порядок. Ну и конечно же, это можно сделать при помощи команды MulTEx Подготовить таблицу - строки.
Самая главная проблема в отчете выше - это так называемая группировка строк при формировании отчета в 1С. На примере выгрузки выше к группировке строк относятся: Контрагент, Номенклатура и Регистратор(Документ). Сама сложность такой группировки заключается в том, что каждая строка группировки записывается в таблицу со своим отступом от левого края ячейки, создавая некую ступенчатую иерархию данных, из которой можно понять какие товары в какую группу и подгруппу входят. Например, на картинке выше к Контрагенту относятся Автокомпонент-ТЗК и Азов-ТЗК. Это верхний уровень группировки. Следующий уровень - Номенклатура: Р86023 Pehapol разбавитель и PLP02004 разбавитель. И последний, третий уровень - Регистратор(Документ), к нему относятся все светло-желтые строки - "Реализация товаров и услуг...".
Вторая проблема - данные по каждому товару разбиты на месяцы и в каждом месяце три отдельных категории значений: Количество (в ед. хранения), Цена продажи и Цена закупки. И при этом месяцы расположены не в строках, а в столбцах. Что так же затрудняет работу с таблицей формулами, не говоря о сводных таблицах.

Если отчет выше преобразовать в "плоский" вид, то получится такая таблица:
Результат
Как видно - из такой таблицы уже свободно можно делать сводную таблицу, экспорт данных в другие программы и т.п.

Примечание: Заголовки в обеих таблицах выделены цветами специально, чтобы показать соответствие данных в обеих таблицах и как они распределяются после преобразования. В реальных отчетах такой расцветки нет.

И именно подобные преобразования и способна сделать команда MulTEx Подготовить таблицу - строки. Достаточно настроить один раз команду для обработки отчета и далее лишь использовать эти настройки при необходимости, т.к. для каждого вида отчета можно хранить свои настройки.
Чтобы более точно понять принцип работы всех настроек и команды в целом лучше применить некоторые определения для данных:

  • Свойства строки - данные, которые характеризуют строку (Наименование, Артикул, Код, Цвет, Номенклатура, Документ и т.п.)
  • Значения строки - как правило числовые значения(Количество, Цена, Сумма и т.п.), относящиеся к конкретному товару, документу и т.п. Т.е. непосредственно количественные данные нижнего уровня таблицы (строки с максимальным количеством отступов)

Схематично применение терминов к таблице выше выглядит так:
Схема

Настройки
После вызова команды появится окно настроек:
Подготовить таблицу - строки
В левой части расположенные основные настройки, отвечающие за непосредственно преобразование. В правой части хранятся шаблоны настроек. При первом запуске команды список шаблонов пуст - он наполняется вручную один раз для каждого отчета.

Соответствия заголовков данным в строках - специальное поле, в котором указывается какому элементу группировки какое количество отступов соответствует. Может содержать неограниченное количество соответствий. В первом столбце поля указывается наименование столбца, которое будет записано в результирующую таблицу, во втором - количество отступов для данного наименования. Определять отступы самостоятельно нет необходимости. При изменении поля с числом отступов просто укажите на листе ячейку, отступы в которой надо определить и они будут записаны в это поле.
В примере для большего понимания эти наименования соответствуют таковым в самой таблице, но на деле их можно взять либо из ячейки, либо записать вручную - главное здесь отступы. Строки с наибольшим количеством отступов(на картинке выше это Регистратор (Документ)) считаются как данные нижнего уровня и данные этих строк будут определены как Значения строки и будут записаны в результирующую таблицу. Остальные строки(с меньшим количеством отступов) будут записаны в каждую строку результирующей таблицы как Свойства строки(см.схему выше).
Распределение отступов

Важно: для более корректного преобразования данных лучше указывать соответствия отступов в порядке возрастания(от минимального к максимальному: 0, 1, 2 или 0, 3, 6 и т.д.).
Примечание: отступы определяются исключительно в одном столбце - в том, в котором расположена Первая ячейка в строках данных

Чтобы добавить соответствие необходимо:

  • либо дважды щелкнуть мышью по любой пустой строке поля
  • либо нажать сочетание клавиш Ctrl+Plus(кнопка + на клавиатуре)
  • либо нажать в поле правой кнопкой мыши и в появившемся меню выбрать Добавить

Чтобы изменить существующее соответствие необходимо:

  • либо дважды щелкнуть мышью по строке поля с нужным соответствием(при этом в зависимости от того над каким пунктом был щелчок активируется либо Наименование, либо Кол-во отступов)
  • либо нажать сочетание клавиш Ctrl+Right(стрелка вправо на клавиатуре)
  • либо нажать в поле правой кнопкой мыши и в появившемся меню выбрать Изменить

Чтобы удалить существующее соответствие необходимо:

  • либо нажать сочетание клавиш Ctrl+Delete
  • либо нажать в поле правой кнопкой мыши и в появившемся меню выбрать Удалить

Если в таблице нет отступов, то в любом случае необходимо указать хотя бы один уровень и записать для него количество отступов, равное нулю. См.пример таких таблиц и настроек: пример 1>>, пример 2 >>

Первая ячейка в строках данных(B11) - указывается одна ячейка в таблице, с которой начинаются реальные данные (не заголовки). В столбце указанной ячейки, начиная с этой ячейки программа будет определять отступы и в зависимости от количества отступов распределять остальные данные.

Заголовки переменных данных

По сути этот блок отвечает за числовые данные, которые необходимо отразить в результирующей таблице. При этом если флажок Есть повторяющиеся заголовки значений не установлен, то Значения строки берутся из столбцов, указанных в поле Заголовки расположены в ячейках. Если флажок установлен, то Значения строки берутся из столбцов, указанных в поле Заголовки в ячейках(раздела Есть повторяющиеся заголовки значений) или Подзаголовки в ячейках(раздела Есть повторяющиеся заголовки значений).

Заголовки расположены в ячейках(C8:E8) - указывается диапазон ячеек одной строки заголовка. Если нет повторяющихся заголовков значений, то данные указанных столбцов будут определяться как Значения строки. Если есть повторяющиеся заголовки значений, то значения ячеек указанных столбцов буду определяться как Свойства строки.

Есть повторяющиеся заголовки значений - если в отчете имеются данные, повторяющиеся с каким-то шагом и эти данные необходимо включить в итоговый отчет, то необходимо установить этот флаг.

    - Заголовки повторяются с шагом - указывается целое число больше нуля, определяющее с какой периодичностью повторяются данные. В рассматриваемой таблице данные расположены таким образом, что Количество (в ед.хранения), Цена продажи и Цена закупки повторяются для каждого месяца. Т.е. на один месяц три столбца данных. Значит шаг необходимо выставить равный 3.

    - Заголовки в ячейках(F8:AO8) - указывается диапазон ячеек (или одна ячейка), одной строки заголовка, данные из столбцов которых необходимо записать построчно для каждого значения строки. Если нет подзаголовков значений, то данные указанных столбцов будут определяться как Значения строки. Если есть подзаголовки значений, то значения ячеек указанных столбцов буду определяться как Свойства строки.

    - Подзаголовки в ячейках(F10:H10) - если указаны, то Значения строки будут взяты из столбцов, указанных в этом поле. Значения из столбцов поля Заголовки в ячейках будут определяться как Свойства строки и записываться в отдельный столбец(соответствующий названию столбца). Также, если подзаголовки указаны и шаг повторения больше 1, то из Заголовков в результирующую таблицу будет записываться одно значение на весь повторяющийся блок подзаголовков(в примере используется шаг - 3):
    Схема

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

    Записывать каждый подзаголовок в новую строку - если установлен, то подзаголовки будут переносится не блоком в одну строку, а каждая ячейках подзаголовка будет записана в новую строку. При этом все свойства строки будут продублированы для значения подзаголовка. См.пример применения >>

    Переносить в новую таблицу только данные с непустыми ячейками - если установлен, то в результирующую таблицу будут перенесены только те строки ячеек полей, определенных как Значения строки, по которым в ячейке есть хоть какое-то значение.
    Для чего это нужно: на примере таблицы выше: в ячейках от F13 до H19 нет данных. Если флажок установлен - то в результирующем отчете будет как минимум на 7 ненужных строк меньше. В большинстве случаев этот флажок лучше ставить, но бывают ситуации, когда даже пустые строки и ячейки важны для анализа(например, определить, по каким позициям операции отсутствуют).

    Считать последнюю строку группы максимальным уровнем - применяется в случаях, когда структура исходной таблицы построена таким образом, что в каждой группе данных не всегда есть максимальный доступный уровень отступа:
    Считать последнюю строку группы максимальным уровнем
    На картинке видно, что для группы "Материалы и запчасти на Контр по ЛЗК" максимальный уровень отступов 16, для "Иные запчасти" - 14, а для "ОС до 40 тыс.руб" - 12. Если галочка Считать последнюю строку группы максимальным уровнем будет снята, то данные будут перенесены некорректно, т.к. даже если указать максимальный уровень 16, то данные с меньшим количеством отступов просто не попадут в итоговую таблицу в качестве Значения строки. Если же галочка Считать последнюю строку группы максимальным уровнем будет установлена - то даже если уровень будет меньше 16 программа определит, что это последний уровень в группе и перенесет именно эти строки в итоговый отчет как Значения строки.


    Шаблоны настроек
    Создание нового шаблона

    Создавать шаблоны настроек просто - достаточно заполнить левую часть формы для обработки какого-либо отчета, после чего перейти в правую часть, выбрать создать новый шаблон, вписать имя шаблона в соответствующее поле и нажать Сохранить текущие настройки в шаблон. Лучше сразу давать понятные имена шаблонам(выгрузка_1С_продажи, 1С8_остатки и т.п.). Имя шаблона не должно содержать пробелов, знаков препинания(кроме нижнего подчеркивания) и не должно начинаться с цифры. Если имя шаблона будет задано неверно - надстройка выдаст предупреждение и необходимо будет изменить имя в соответствии с требованиями.
    По сути на этом создание шаблона заканчивается. Он успешно запоминается надстройкой и теперь будет доступен всегда.

    Применение шаблона

    Для применения шаблона необходимо выбрать нужный шаблон в списке шаблонов (правая часть формы) и нажать Применить настройки выбранного шаблона. Поля настроек (левая часть формы) будут заполнены в соответствии с шаблоном. Так же заполнить поля из шаблона можно двойным кликом левой кнопкой мыши на названии шаблона.

    Изменение шаблона

    Для изменения шаблона необходимо выбрать нужный шаблон в списке шаблонов (правая часть формы), при необходимости заполнить поля настроек (двойной клик мыши или Применить настройки выбранного шаблона). После этого необходимо внести требуемые настройки в левой части формы. Выбрать изменить выбранный шаблон и нажать Сохранить текущие настройки в шаблон. Настройки выбранного шаблона будут изменены.

    Удаление шаблона

    Для удаления шаблона необходимо выбрать шаблон из списка и нажать кнопку Удалить выбранный. Следует помнить, что данная операция необратима и шаблон будет удален без возможности восстановления.

    Удаление всех шаблонов

    Для удаления всех шаблонов из списка необходимо нажать кнопку Удалить все шаблоны. Следует помнить, что данная операция необратима и все шаблоны будут удалены без возможности восстановления.

    Другие примеры таблиц и настроек

    Пример обработки оборотно-сальдовой ведомости:
    оборотно-сальдовой ведомость
    Для преобразования такой таблицы в плоскую необходимо будет применить такие настройки формы:
    Настройки
    В результате получим такую таблицу:
    Результат

    Пример отчета без повторяющихся заголовков:
    Отчет
    Настройки формы для преобразования такой таблицы в плоскую:
    Настройки

    В результате получим такую таблицу:
    Результат


    Пример настроек с использование пункта Записывать каждый подзаголовок в новую строку. Наиболее актуально это для таблиц примерно следующего вида:
    Таблица

    Для преобразования в удобную таблицу необходимо применить следующие настройки:
    Каждый заголовок в новую строку

    результатом будет такая таблица:
    Результат

    Попробовав преобразовать пару различных таблиц можно достаточно быстро понять принцип.

    Так же см.:
    Подготовить таблицу - столбцы
    Формат ячеек как в источнике


Расскажи друзьям, если статья оказалась полезной:
  Плейлист   Видеоинструкции по использованию надстройки MulTEx
Поделитесь своим мнением

Комментарии, не имеющие отношения к комментируемой статье, могут быть удалены без уведомления и объяснения причин. Если есть вопрос по личной проблеме - добро пожаловать на Форум


Для оформления сообщений Вы можете использовать следующие тэги:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Тренинги

Заказать
Юридическая информация

Использование материалов сайта

Политика Конфиденциальности

ИП Щербаков Дмитрий Валентинович
ОГРНИП: 318502700083307
ИНН: 504013350772

Наши партнеры

Перейти
Перейти

Счетчики

Рейтинг@Mail.ru Яндекс.Метрика
© 2018 Excel для всех   Войти