MulTEx -группа Специальные -Работа со сводными -Подготовить таблицу - строки
Понять принцип работы и основные параметры настроек поможет видеоинструкция к команде:
Команда способна преобразовать в удобный для анализа вид практически любую "многоуровневую" таблицу, сформированную в 1С. Пригодится тем, кто часто сталкивается с необходимостью анализа данных, выгруженных из 1С таблиц. Например, вот такой вот обычный отчет из 1С:
Построить из такого отчета сводную таблицу не то, чтобы нереально - но вручную не на один час нудной работы. И то все зависит от кол-ва строк и столбцов. При этом формулы здесь явно не помогут и остается два пути: руками или при наличии навыков писать свой код, который хоть часть данных приведет в порядок. Ну и конечно же, это можно сделать при помощи команды MulTEx Подготовить таблицу - строки.
Самая главная проблема в отчете выше - это так называемая группировка строк при формировании отчета в 1С. На примере выгрузки выше к группировке строк относятся: Контрагент, Номенклатура и Регистратор(Документ). Сама сложность такой группировки заключается в том, что каждая строка группировки записывается в таблицу со своим отступом от левого края ячейки, создавая некую ступенчатую иерархию данных, из которой можно понять какие товары в какую группу и подгруппу входят. Например, на картинке выше к Контрагенту относятся Автокомпонент-ТЗК и Азов-ТЗК. Это верхний уровень группировки. Следующий уровень - Номенклатура: Р86023 Pehapol разбавитель и PLP02004 разбавитель. И последний, третий уровень - Регистратор(Документ), к нему относятся все светло-желтые строки - "Реализация товаров и услуг...".
Вторая проблема - данные по каждому товару разбиты на месяцы и в каждом месяце три отдельных категории значений: Количество (в ед. хранения), Цена продажи и Цена закупки. И при этом месяцы расположены не в строках, а в столбцах. Что так же затрудняет работу с таблицей формулами, не говоря о сводных таблицах.
Если отчет выше преобразовать в "плоский" вид, то получится такая таблица:
Как видно - из такой таблицы уже свободно можно делать сводную таблицу, экспорт данных в другие программы и т.п.
Примечание: Заголовки в обеих таблицах выделены цветами специально, чтобы показать соответствие данных в обеих таблицах и как они распределяются после преобразования. В реальных отчетах такой расцветки нет.
И именно подобные преобразования и способна сделать команда MulTEx Подготовить таблицу - строки. Достаточно настроить один раз команду для обработки отчета и далее лишь использовать эти настройки при необходимости, т.к. для каждого вида отчета можно хранить свои настройки.
Чтобы более точно понять принцип работы всех настроек и команды в целом лучше применить некоторые определения для данных:
Свойства строки - данные, которые характеризуют строку (Наименование, Артикул, Код, Цвет, Номенклатура, Документ и т.п.)Значения строки - как правило числовые значения(Количество, Цена, Сумма и т.п.), относящиеся к конкретному товару, документу и т.п. Т.е. непосредственно количественные данные нижнего уровня таблицы (строки с максимальным количеством отступов)
Схематично применение терминов к таблице выше выглядит так:
После вызова команды появится окно настроек:
В левой части расположенные основные настройки, отвечающие за непосредственно преобразование. В правой части хранятся шаблоны настроек. При первом запуске команды список шаблонов пуст - он наполняется вручную один раз для каждого отчета.
Соответствия заголовков данным в строках - специальное поле, в котором указывается какому элементу группировки какое количество отступов соответствует. Может содержать неограниченное количество соответствий. В первом столбце поля указывается наименование столбца, которое будет записано в результирующую таблицу, во втором - количество отступов для данного наименования. Определять отступы самостоятельно нет необходимости. При изменении поля с числом отступов просто укажите на листе ячейку, отступы в которой надо определить и они будут записаны в это поле.
В примере для большего понимания эти наименования соответствуют таковым в самой таблице, но на деле их можно взять либо из ячейки, либо записать вручную - главное здесь отступы. Строки с наибольшим количеством отступов(на картинке выше это Регистратор (Документ)) считаются как данные нижнего уровня и данные этих строк будут определены как Значения строки и будут записаны в результирующую таблицу. Остальные строки(с меньшим количеством отступов) будут записаны в каждую строку результирующей таблицы как Свойства строки(см.схему выше).
Важно: для более корректного преобразования данных лучше указывать соответствия отступов в порядке возрастания(от минимального к максимальному: 0, 1, 2 или 0, 3, 6 и т.д.).
Примечание: отступы определяются исключительно в одном столбце - в том, в котором расположена Первая ячейка в строках данных
Чтобы
- либо дважды щелкнуть мышью по любой пустой строке поля
- либо нажать сочетание клавиш Ctrl+Plus(кнопка + на клавиатуре)
- либо нажать в поле правой кнопкой мыши и в появившемся меню выбрать Добавить
Чтобы
- либо дважды щелкнуть мышью по строке поля с нужным соответствием(при этом в зависимости от того над каким пунктом был щелчок активируется либо Наименование, либо Кол-во отступов)
- либо нажать сочетание клавиш Ctrl+Right(стрелка вправо на клавиатуре)
- либо нажать в поле правой кнопкой мыши и в появившемся меню выбрать Изменить
Чтобы
- либо нажать сочетание клавиш Ctrl+Delete
- либо нажать в поле правой кнопкой мыши и в появившемся меню выбрать Удалить
Если в таблице нет отступов, то в любом случае необходимо указать хотя бы один уровень и записать для него количество отступов, равное нулю. См.пример таких таблиц и настроек: пример 1>>, пример 2 >>
Первая ячейка в строках данных(
Заголовки переменных данных
По сути этот блок отвечает за числовые данные, которые необходимо отразить в результирующей таблице. При этом если флажок Есть повторяющиеся заголовки значений не установлен, то
Заголовки расположены в ячейках(
Есть повторяющиеся заголовки значений - если в отчете имеются данные, повторяющиеся с каким-то шагом и эти данные необходимо включить в итоговый отчет, то необходимо установить этот флаг.
- Заголовки повторяются с шагом - указывается целое число больше нуля, определяющее с какой периодичностью повторяются данные. В рассматриваемой таблице данные расположены таким образом, что Количество (в ед.хранения), Цена продажи и Цена закупки повторяются для каждого месяца. Т.е. на один месяц три столбца данных. Значит шаг необходимо выставить равный 3.
- Заголовки в ячейках(
- Подзаголовки в ячейках(
Определять последний столбец по заголовкам - если установлен, то для заголовков переменных данных достаточно будет указать только первую ячейку заголовка - остальные данные будут определены на основании строки заголовка. При этом если данные в различных заголовках и подзаголовках заканчиваются в различных столбцах - в качестве последнего столбца данных будет взят самый дальний столбец, т.е. наибольший из всех. Если данный пункт отключен, то данные из таблицы будут браться исключительно из указанных в полях столбцов.
Например, если в таблице выше подзаголовки записаны в столбцах
Записывать каждый подзаголовок в новую строку - если установлен, то подзаголовки будут переносится не блоком в одну строку, а каждая ячейках подзаголовка будет записана в новую строку. При этом все свойства строки будут продублированы для значения подзаголовка. См.пример применения >>
Переносить в новую таблицу только данные с непустыми ячейками - если установлен, то в результирующую таблицу будут перенесены только те строки ячеек полей, определенных как
Считать последнюю строку группы максимальным уровнем - применяется в случаях, когда структура исходной таблицы построена таким образом, что в каждой группе данных не всегда есть максимальный доступный уровень отступа:
На картинке видно, что для группы "Материалы и запчасти на Контр по ЛЗК" максимальный уровень отступов 16, для "Иные запчасти" - 14, а для "ОС до 40 тыс.руб" - 12. Если галочка Считать последнюю строку группы максимальным уровнем будет снята, то данные будут перенесены некорректно, т.к. даже если указать максимальный уровень 16, то данные с меньшим количеством отступов просто не попадут в итоговую таблицу в качестве
Создавать шаблоны настроек просто - достаточно заполнить левую часть формы для обработки какого-либо отчета, после чего перейти в правую часть, выбрать создать новый шаблон, вписать имя шаблона в соответствующее поле и нажать Сохранить текущие настройки в шаблон. Лучше сразу давать понятные имена шаблонам(выгрузка_1С_продажи, 1С8_остатки и т.п.). Имя шаблона не должно содержать пробелов, знаков препинания(кроме нижнего подчеркивания) и не должно начинаться с цифры. Если имя шаблона будет задано неверно - надстройка выдаст предупреждение и необходимо будет изменить имя в соответствии с требованиями.
По сути на этом создание шаблона заканчивается. Он успешно запоминается надстройкой и теперь будет доступен всегда.
Для применения шаблона необходимо выбрать нужный шаблон в списке шаблонов (правая часть формы) и нажать Применить настройки выбранного шаблона. Поля настроек (левая часть формы) будут заполнены в соответствии с шаблоном. Так же заполнить поля из шаблона можно двойным кликом левой кнопкой мыши на названии шаблона.
Для изменения шаблона необходимо выбрать нужный шаблон в списке шаблонов (правая часть формы), при необходимости заполнить поля настроек (двойной клик мыши или Применить настройки выбранного шаблона). После этого необходимо внести требуемые настройки в левой части формы. Выбрать изменить выбранный шаблон и нажать Сохранить текущие настройки в шаблон. Настройки выбранного шаблона будут изменены.
Для удаления шаблона необходимо выбрать шаблон из списка и нажать кнопку Удалить выбранный. Следует помнить, что данная операция необратима и шаблон будет удален без возможности восстановления.
Для удаления всех шаблонов из списка необходимо нажать кнопку Удалить все шаблоны. Следует помнить, что данная операция необратима и все шаблоны будут удалены без возможности восстановления.
Пример обработки оборотно-сальдовой ведомости:
Для преобразования такой таблицы в плоскую необходимо будет применить такие настройки формы:
В результате получим такую таблицу:
Пример отчета без повторяющихся заголовков:
Настройки формы для преобразования такой таблицы в плоскую:
В результате получим такую таблицу:
Пример настроек с использование пункта Записывать каждый подзаголовок в новую строку. Наиболее актуально это для таблиц примерно следующего вида:
Для преобразования в удобную таблицу необходимо применить следующие настройки:
результатом будет такая таблица:
Попробовав преобразовать пару различных таблиц можно достаточно быстро понять принцип.
Так же см.:
Подготовить таблицу - столбцы
Формат ячеек как в источнике