gifts2017

Универсальная внешняя обработка табличной части - оставляет только данные, соответствующие отбору

Опубликовал Руслан (mrd2008) в раздел Обработки - Обработка документов

Я думаю многие знают о том, что в форме документа в табличной части можно делать отборы. Иногда возникает желание оставить в табличной части только те строки, которые соответствуют отбору и таком виде сохранить документ. Вот для этих случаев и предназначена моя обработка.

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

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

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

В соответствии с пожеланиями в комментариях дополнительно добавил обработку, которая удаляет строки, соответствующие отбору (а остальные строки оставляет) может пригодиться, если нам нужно удалить именно строки по условию отбора и таких строк много, то есть вручную удалять их долго

Скачать файлы

Наименование Файл Версия Размер
Обработка заполнения по отбору 130
.epf 5,70Kb
06.03.13
130
.epf 5,70Kb Скачать
Обработка удаления по отбору.epf 48
.epf 6,29Kb
18.03.13
48
.epf 6,29Kb Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Андрей (AKV77) 07.03.13 09:35
Спасибо, пригодится.
Замечание : в описании к обработке думаю необходимо указать, как должна быть подключена (возможно кто-то этого не знает).
2. Яков Коган (Yashazz) 07.03.13 17:17
Имхо, надо делать встраиваемые в панель кнопок таблицы (в контекстное меню) традиционные кнопки установки/снятия отборов, истории, отбора по колонке и тыды. Тогда ваще шоколадно будет.
3. Борис Нагорнов (b1958) 11.03.13 10:58
(2) Yashazz, Так ведь стандартно в контекстное меню для табличных частей уже имеются такие пункты. Что еще нужно?
4. Борис Нагорнов (b1958) 11.03.13 11:20
Очень полезно бывает (иногда) удалить строки ТЧ, соответствующие отбору. Например, когда необходимо визуально проконтролировать что удаляешь. Или когда необходимо удалить строки, отобранные "по значению в текущей колонке". Ну, или в других случаях. Имеет смысл сделать более универсальную обработку по удалению.
5. Ирек Вафин (Irek-kazan) 11.03.13 11:45
Автору спасибо за обработку
6. Shade (Shade) 13.03.13 08:57
Спасибо, поможет сократить объемы некоторых документов
:)
7. Shade (Shade) 14.03.13 12:17
(4) b1958, так там можно сделать отбор таб части и все строки удалить зажав делит :-)
Это конечно будет медленно на 10000 строках но даже 100 строк удаляет быстро.
Затем просто отменяем отбор и вот перед нами документ без тех строк что были в отборе
Мы его сохраняем и все
8. Борис Нагорнов (b1958) 15.03.13 09:54
(7) Shade, Конечно, можно еще использовать кнопочку с крестиком (если пользуешься мышкой).
Да, можно установить отбор на те строки, которые нужно удалить, использовать Del и не использовать предлагаемую обработку.
Но лучше сделать универсально: в обработке предусмотреть два режима - "Удалить отбор" и "Оставить отбор".
9. Руслан (mrd2008) 18.03.13 11:43
Добавил обработку, которая удаляет строки, соответствующие отбору (а остальные строки оставляет)
10. Алексей 1 (AlX0id) 20.03.13 09:53
(7) Shade,
Таки не всегда можно и отбор наложить - типа если это субконто в типовой конфигурации.

В общем, автору плюсик за подход :)
11. Михаил В (mikhailv) 13.02.14 12:02
Автору респект!
Однако минус 0,5 к карме за то, что обработку можно только приклеить как внешнюю=). Пришлось сворганить простенькую форму к обработке, где выбираются ссылка и имя ТЧ. Потом нажимаем кнопку "открыть форму", делаем отборы, а затем "выполнить". Вуаля, строки удалены без подключения обработки к базе. (Если надо, могу выслать).

Также соглашусь с (10) AlX0id: не все отборы можно наложить на форме. Более того, не все табличные части выведены на форму (например, в установке цен). Отдельная открывающаяся форма с отбором построителя бы всё решила.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа