Целевая аудитория
Универсальная обработка Редактор табличных частей предназначена для пользователей, для ежедневного использования.
Основные возможности
Позволяет быстро отобрать строки документа и отредактировать выборку. Система компоновки данных предоставляет широкие возможности отбора.
Позволяет выполнять групповые действий с отобранными строками. Копирование, заполнение, округление, изменение на абсолютные и относительные величины.
Позволяет быстро изменить порядок строк документа. Система компоновки данных предоставляет широкие возможности изменения порядка.
При закрытии редактора изменения копируются в документ как при обычном редактировании, документ принудительно не сохраняется.
Поддерживаются не только документы, но и справочники.
Новое: Добавлены инструменты для формирования текста подвала.
Настройка под конкретный тип документа
Часто работа пользователей выполняется с одним и тем же типом документа. В этом случае важнее скорость и удобство работы, нежели универсальность. Обработка легко настраивается, все лишние поля автоматически скрываются исходя из требований пользователей.
Не меняя исходного кода обработки можно настроить список видимых и редактируемых реквизитов, изменить отображаемые колонки табличной части, вывести дополнительные данные, которых нет в исходном документе.
Возможно настроить изменение связанных реквизитов, например при изменении цены может пересчитываться сумма.
Каждый тип документа, и даже табличная часть, могут иметь свои настройки. Настройки выполняются программно в расширении конфигурации (пример расширения прилагается).
Программная настройка
Программная настройка обработки под конкретный документ выполняется в модуле менеджера документа при помощи предопределенных процедур и функций. Все процедуры и функции не зависят друг от друга, могут использоваться по отдельности или не использоваться вообще.
Пример настройки для документа Установка цен номенклатуры, исходный код модуля менеджера документа:
//Процедура позволяет выполнить дополнительные манипуляции с данными после выполнения действия со строкой данных
//Вызывается при изменении реквизита
Процедура bzРедакторТабличныхЧастей_ПриИзменении(Строка, ИмяТабличнойЧасти, ИмяРеквизита) Экспорт
Если ИмяТабличнойЧасти = "Товары" Тогда
Строка.ЦенаИзмененаВручную = Истина;
КонецЕсли;
КонецПроцедуры
//Функция позволяет переопределить запрос к данным табличной части документа
//Вызывается перед выполненим запроса
Функция bzРедакторТабличныхЧастей_ПолучитьЗапрос(ТекстЗапроса, ИмяТабличнойЧасти) Экспорт
Если ИмяТабличнойЧасти = "Товары" Тогда
ТекстЗапроса = "
|ВЫБРАТЬ
| УстановкаЦенНоменклатурыТовары.*,
| ЦеныНоменклатурыСрезПоследних.Цена КАК ПредыдущаяЦена
|ИЗ
| Документ.УстановкаЦенНоменклатуры.Товары КАК УстановкаЦенНоменклатурыТовары
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(ДОБАВИТЬКДАТЕ(&Дата, СЕКУНДА, -1)) КАК ЦеныНоменклатурыСрезПоследних
| ПО ЦеныНоменклатурыСрезПоследних.Номенклатура = УстановкаЦенНоменклатурыТовары.Номенклатура
| И ЦеныНоменклатурыСрезПоследних.Характеристика = УстановкаЦенНоменклатурыТовары.Характеристика
| И ЦеныНоменклатурыСрезПоследних.ВидЦены = УстановкаЦенНоменклатурыТовары.ВидЦены
| И ЦеныНоменклатурыСрезПоследних.Упаковка = УстановкаЦенНоменклатурыТовары.Упаковка
|ГДЕ
| УстановкаЦенНоменклатурыТовары.Ссылка = &Ссылка
|";
КонецЕсли;
Возврат ТекстЗапроса;
КонецФункции
//Процедура позволяет заполнить вручную список выбранных полей табличной части в соответсвии с запросом
//Вызывается при изменении реквизита
Процедура bzРедакторТабличныхЧастей_ЗаполнитьНаименованияИПорядокВыбранныхПолей(ИмяТабличнойЧасти, МассивНаименованийПолей) Экспорт
Если ИмяТабличнойЧасти = "Товары" Тогда
МассивНаименованийПолей.Добавить("Номенклатура");
МассивНаименованийПолей.Добавить("Характеристика");
МассивНаименованийПолей.Добавить("Упаковка");
МассивНаименованийПолей.Добавить("ВидЦены");
МассивНаименованийПолей.Добавить("Цена");
МассивНаименованийПолей.Добавить("ПредыдущаяЦена");
МассивНаименованийПолей.Добавить("ЦенаИзмененаВручную");
КонецЕсли;
КонецПроцедуры
//Процедура позволяет заполнить вручную список полей отбора табличной части в соответсвии с запросом
//Вызывается при изменении реквизита
Процедура bzРедакторТабличныхЧастей_ЗаполнитьНаименованияПолейОтбора(ИмяТабличнойЧасти, МассивНаименованийПолей) Экспорт
Если ИмяТабличнойЧасти = "Товары" Тогда
МассивНаименованийПолей.Добавить("ВидЦены");
КонецЕсли;
КонецПроцедуры
//Процедура позволяет заполнить вручную список полей упорядочивания табличной части в соответсвии с запросом
//Вызывается при изменении реквизита
Процедура bzРедакторТабличныхЧастей_ЗаполнитьНаименованияПолейПорядка(ИмяТабличнойЧасти, МассивНаименованийПолей) Экспорт
Если ИмяТабличнойЧасти = "Товары" Тогда
МассивНаименованийПолей.Добавить("Номенклатура");
МассивНаименованийПолей.Добавить("ВидЦены");
КонецЕсли;
КонецПроцедуры
//Функция определяет свойство ТолькоПросмотр реквизит с имененм ИмяРеквизита
//Вызывается при формировании списка доступных для редактирования реквизитов и создании колонок таблицы значений
Функция bzРедакторТабличныхЧастей_ПолучитьТолькоПросмотр(ИмяТабличнойЧасти, ИмяРеквизита) Экспорт
Если ИмяТабличнойЧасти = "Товары" Тогда
Возврат ИмяРеквизита = "Номенклатура"
Или ИмяРеквизита = "Характеристика"
Или ИмяРеквизита = "Упаковка"
;
Иначе
Возврат Ложь;
КонецЕсли;
КонецФункции
//Функция определяет, должен ли реквизит с имененм ИмяРеквизита появится в списке исходных реквизитов для
//реквизита с именем ИмяОсновногоРеквизита
//Вызывается при формировании списка исходных реквизитов
Функция bzРедакторТабличныхЧастей_ЭтоИсходныйРеквизит(ИмяТабличнойЧасти, ИмяОсновногоРеквизита, ИмяРеквизита) Экспорт
Возврат Истина;
КонецФункции
Установка
Обработка подключается через Дополнительные отчеты и обработки.
Тестирование
Обработка протестирована на конфигурациях:
1. Управление торговлей, редакция 11
2. Комплексная автоматизация, редакция 2.4
3. Бухгалтерия Предприятия, редакция 3.0
Обработка протестирована на платформах:
1. 1С:Предприятие 8.3 (8.3.12.1855)
2. 1С:Предприятие 8.3 (8.3.18.1208)
3. 1С:Предприятие 8.3 (8.3.19.1264)
Другие публикации
См. другие публикации автора:
Дебиторская задолженность по срокам долга
Кредиторская задолженность по срокам долга
Когда много сканов: Автоматическое прикрепление сканированных документов
Перенос справочников и документов из КА 1.1. в ЗУП 3.1.
Статистика документов на СКД для любой конфигурации
Формирование счетов-фактур на аванс
Рабочее место менеджера по взаимодействию с клиентами