В разделе Администрирование // Дополнительные отчеты и обработки // Добавить из файла. Обработка автоматически разместит команду заполнения во всех документах и справочниках, имеющих табличные части и подключенные к этому механизму БСП.
В формах документов и справочников появляется команда "+Заполнить табличную часть", после клика на которой открывается основное окно обработки.
В левой части формы выбирается заполняемая табличная часть, в правой отображаются реквизиты выбранной ТЧ. Реквизиты добавляются только те, на которые у пользователя есть право редактирования. Также пропускаются реквизиты с типом ХранилищеЗначения. Здесь задаём, какие реквизиты нужно изменить, и по какому методу. Доступны три метода:
Для формул и алгоритмов доступно использование специализированного конструктора, о нем будет рассказано ниже.
Доступна опция последовательного перебора нескольких табличных частей, и установки значений реквизитов каждой из них. При внесении изменений в редактируемую табличную часть она помечается символом звездочки (*).
Если есть необходимость обработать не все строки ТЧ, можно использовать отбор строк (верхняя строка таблицы, выделена синим цветом). Доступны сложные отборы, основанные на компоновке данных, в том числе объединенные в группы.
После установки изменяемых реквизитов будет проведена проверка правильности значений, формул и отборов по всем заполняемым табличным частям, и, при отсутствии ошибок, показатели будут перенесены в редактируемый объект. Объекту присваивается признак модифицированности, и пользователь может продолжать работать с ним в обычном режиме.
Для редактирования формул и алгоритмов вычисления показателей служит специализированный конструктор. Структурно окно конструктора состоит из трех логических частей - собственно текст выражения, доступные показатели и доступные функции и операторы.
Текст выражения - это выражение на встроенном языке 1С, в результате вычисления которого должно получиться значение реквизита табличной части. В тексте выражения поддерживаются:
1. Предопределенные переменные
2. Процедуры и функции встроенного языка, общих модулей и прикладных объектов.
3. Реквизиты редактируемого объекта и заполняемой табличной части.
Доступные показатели - это реквизиты шапки редактируемого объекта и реквизиты заполняемой табличной части. Глубина вложенности реквизитов - 2 уровня. Реализовано добавление показателей в текст выражения двойным кликом либо перетаскиванием.
Доступные функции и операторы - это открытый (т.е. неполный) список методов платформы. Также реализовано добавление функций в текст выражения двойным кликом либо перетаскиванием.
Конструктор формул поддерживает сохранение промежуточных и окончательных результатов составления формул (шаблонов) как в информационной базе, так и на внешние носители (в т.ч. в сети). Шаблоны формул сохраняются в разрезе пользователей, и служат для быстрого выбора для наиболее часто используемых вычислений. Для переноса формул между пользователями и информационными базами предназначены команды конструктора "Сохранить в файл" и "Открыть из файла". Для ускорения ввода доступно также использование конструктора запросов и форматной строки.
Для управления шаблонами кода служит специальная форма, позволяющая добавлять, удалять отдельные шаблоны, а также импортировать шаблоны из внешних данных и экспортировать их во внешние данные.
Экспорт/импорт шаблонов производится с помощью XML-сериализации, так что не возникнет проблем при переносе шаблонов например в другую информационную базу или другому пользователю.
Структурно шаблоны кода представляют собой таблицу значений с колонками Наименование, Назначение и Шаблон.
Форма ввода идентификатора назначения
Даже если обработка не смогла достоверно определить редактируемый реквизит, она предложит вручную выбрать тип его значения:
Более того, в любой момент можно изменить контекст вычисления с помощью соответствующей команды в подменю "Ещё".
Тестировалось на платформах 8.3.12, 8.3.15.
Версия БСП - 2.3.3 и выше.
Только управляемые формы.
Проверенные конфигурации - ЗУП 3.1, ЗГУ 3.1, БГУ 2.0, БП 3.0, УНФ 1.6, Розница 2.2, УАТ 2.0, все с соответствующей версией БСП.
Обработка не заполнят реквизиты табличных частей, не являющихся объектом метаданных.
Обработка может функционировать в автономном режиме через меню Файл // Открыть в любой конфигурации на управляемых формах, при условии портирования нескольких процедур модулей БСП в тело обработки. Если есть заинтересованность в таком функционале, прошу писать в комментариях.
Возможность заполнять реквизиты, не являющихся объектом метаданных.
Предварительный просмотр результатов заполнения.
Добавление/удаление строк табличных частей.
Свёртка табличных частей по совпадающим реквизитам.
Код открыт, предложения по доработке приветствуются.