Как добавить опцию "Изменить выделенные" в списках для своей конфигурации (групповое изменение справочников и документов)

09.09.15

Задачи пользователя - Корректировка данных

Статья для начинающих о том, как добавить в свою конфигурацию функцию группового изменения реквизитов в формах списков справочников и документов. К статье прилагается выгрузка базы с примером.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Демо_Групповое_Изменение_Реквизитов
.dt 95,01Kb ver:1.0
35 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

Заранее оговорюсь, что статья для самых маленьких, чтобы в меня не кидали помидоры гуру и сенсеи кодинга. 

Итак, допустим, перед нами стоит задача: сделать удобное групповое изменение реквизитов справочников и документов в своей собственной конфигурации. 

Поводом для написания статьи стала вот эта публикация: //infostart.ru/public/395374/

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

Приступим!

1. Допустим, что мы уже создали конфигурацию на управляемых формах в платформе 8.3.

2. Создаем (или перетаскиваем из примера в этой публикации) общий модуль "ГрупповоеИзменениеОбъектовКлиент" (в свойствах модуля поставить флажок напротив "Клиент"):

////////////////////////////////////////////////////////////////////////////////
// Подсистема "Групповое изменение объектов".
//
////////////////////////////////////////////////////////////////////////////////

#Область ПрограммныйИнтерфейс

// Используется для открытия формы группового изменения объектов.
//
// Параметры:
//  Список - ТаблицаФормы - элемент формы списка, содержащий ссылки на изменяемые объекты.
//
Процедура ИзменитьВыделенные(Список) Экспорт
	
	ВыделенныеСтроки = Список.ВыделенныеСтроки;
	
	ПараметрыФормы = Новый Структура("МассивОбъектов", Новый Массив);
	
	Для Каждого ВыделеннаяСтрока Из ВыделенныеСтроки Цикл
		Если ТипЗнч(ВыделеннаяСтрока) = Тип("СтрокаГруппировкиДинамическогоСписка") Тогда
			Продолжить;
		КонецЕсли;
		
		ТекущаяСтрока = Список.ДанныеСтроки(ВыделеннаяСтрока);
		
		Если ТекущаяСтрока <> Неопределено Тогда
			
			ПараметрыФормы.МассивОбъектов.Добавить(ТекущаяСтрока.Ссылка);
			
		КонецЕсли;
		
	КонецЦикла;
	
	Если ПараметрыФормы.МассивОбъектов.Количество() = 0 Тогда
		ПоказатьПредупреждение(, НСтр("ru = 'Команда не может быть выполнена для указанного объекта.'"));
		Возврат;
	КонецЕсли;
		
	ОткрытьФорму("Обработка.ГрупповоеИзменениеРеквизитов.Форма", ПараметрыФормы);
	
КонецПроцедуры

#КонецОбласти


3. Перетаскиваем обработку из моей демо-конфигурации в свою. Т.е. открываете два окна конфигуратора, в моей базе хватаете мышью обработку "ГрупповоеИзменениеРеквизитов" и перетаскиваете ее в свою базу. См. рис.

 

4. Открываем форму списка любого справочника или документа. В моем случае это будет "Контрагенты".
В числе колонок списка обязательно должно быть поле с именем "Ссылка", которое содержит ссылку на объект справочника или документа. Если у вас Список типа "Динамический список" с произвольным запросом, убедитесь, что в числе выбираемых полей есть поле "Ссылка". В обычном же динамическом списке это поле будет присутствовать.

 

 

5. Теперь нам нужно добавить команду для того, чтобы пользователь мог производить изменение реквизитов.
На вкладке команды создаем новую команду и процедуру (выполняемую на клиенте). Содержание процедуры такое:

&НаКлиенте
Процедура ИзменитьВыделенные(Команда)
	ГрупповоеИзменениеОбъектовКлиент.ИзменитьВыделенные(Элементы.Список);
КонецПроцедуры

Далее будет рисунок как все должно выглядеть. И чуть ниже подробнее, если кто не поймет.

 

6. Чтобы эту команду пользователь мог вызывать из контекстного меню списка, нам надо это меню добавить.

 

И теперь мы хватаем мышью нашу команду и перетаскиваем в контекстное меню, чтобы получилось как ниже на рисунке:

Вот и все. Сохраняем и обновляем конфигурацию.

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

А еще проще сказать - мы взяли и позаимствовали у 1С их типовой вариант.
Мне кажется, такой вариант удобнее чем в публикации, которую я упомянул выше.

Само собой, что это можно внедрить не только в форму списка справочника, но и документа.

Вступайте в нашу телеграмм-группу Инфостарт

См. также

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтер Пользователь 1С:Предприятие 8 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14640 руб.

29.04.2020    51153    140    162    

95

Корректировка данных Системный администратор Программист 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

Незаменимая обработка для сопровождения конфигураций: ERP, УТ, КА. Позволяет вычистить многие ошибки в ключах аналитики, в ключевых справочниках конфигурации.

6100 руб.

10.02.2017    121736    734    177    

769

Корректировка данных Программист Пользователь 1С:Предприятие 8 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Управленческий учет Платные (руб)

Представьте, что есть система QR - кодирования, которая НЕ ТРЕБУЕТ изменения конфигурации, НЕ ТРЕБУЕТ изменения ни одной печатной формы для добавления QR-кода, включая внешние, НЕ ХРАНИТ данные штрихкодов и их связь, от чего база не "пухнет", ИМЕЕТ возможность закодировать в QR-коде произвольные данные параметров для последующей обработки полученных данных, УМЕЕТ прикреплять сканы, УМЕЕТ обработать считанный QR-код как ВЫ захотите. А также ХРАНИТ историю операций в обход базы для каждого пользователя в отдельности и УМЕЕТ работать с 2D - сканерами. А также автоматически распознавать отсканированные печатные формы (картинки или pdf-файлы) и выполнять заданные произвольные алгоритмы, в том числе прикрепление их к документам! Обновление 3.3 от 24.06.2025!

26840 руб.

26.08.2018    56793    19    65    

58

Файловый обмен (TXT, XML, DBF), FTP Поиск данных Инструменты администратора БД Корректировка данных Системный администратор Программист 1С:Предприятие 8 1C:Бухгалтерия 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Данная обработка позволит Вам легко и просто, а главное - быстро, выполнить сравнение данных между ЛЮБЫМИ базами (и РИБ, по правилам конвертаций) по контрольным суммам выбранных объектов баз 1С, работающих на платформах 8.3 и выше. Удобный и понятный интерфейс в виде "мастера". Высокая скорость сравнения достигается за счет специального алгоритма расчета контрольной суммы объекта/записи и сравнения по данным суммам объектов 2х баз через файл. Имеется возможность выбора реквизитов, по которым система будет сравнивать объекты. Сравнение количества записей в движениях документов, возможность сравнивать данные по правилам конвертации и не только! Выбор объектов конфигурации для КАЖДОГО узла в отдельности с индивидуальным отбором для каждого объекта конфигурации, работа с FTP, сохранение или загрузка настроек, сохранение или загрузка результата сравнения, регистрация на обмен объекта и его движений. (Обновление от 12.11.2024, версия 2.2-2.5)

24400 руб.

27.10.2017    46877    32    15    

50

Зарплата Корректировка данных Бухгалтер 1С 8.3 1С:Зарплата и кадры государственного учреждения 3 1С:Зарплата и Управление Персоналом 3.x Бухгалтерский учет НДФЛ Платные (руб)

Внешняя обработка сравнивает НДФЛ из расчетного листка и НДФЛ из регистра, на разницу формирует документы в 2 шага. Исправляет расхождения, в том числе, когда Аванс больше Зарплаты

9760 руб.

01.09.2023    8955    322    93    

22

Корректировка данных Закрытие периода Мастера заполнения Программист Бизнес-аналитик Бухгалтер Пользователь 1С 8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление нашей фирмой 3.0 1С:УНФ Платные (руб)

Оптимизируйте процесс закрытия периодов. Автоматизируйте любые, даже самые сложные правила переноса и выполните инвентаризацию остатков за минуты. Гибкая обработка для 1С, которая работает как самостоятельный модуль — без привязки к БСП и с поддержкой большинства конфигураций. Ваш идеальный помощник для закрытия периода, исправления ошибок, реорганизации учета, корректировки и списания остатков.

6100 руб.

28.01.2026    1439    5    0    

4
Вознаграждение за ответ
Показать полностью
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. user1342700 28.01.20 06:01 Сейчас в теме
Все верно, но есть маленькое замечание. Напротив реквизита ссылка должна стоять галочка "использовать всегда". Иначе будет ошибка: "Поле объекта не обнаружено (Ссылка)"
rulan87; alexshtenn; +2 Ответить
2. dexxxqqq 06.05.21 20:32 Сейчас в теме
Помогите, пожалуйста, картинки умерли
3. dexxxqqq 06.05.21 20:46 Сейчас в теме
(2) Разобрался. Не мог понять как вывести "Контекстное меню". Надо правой кнопкой нажать на "Список" -> "Показать контекстное меню".
4. Andreos 15.12.23 18:44 Сейчас в теме
В своей обработке передаю список выделенных позиций содержащих номенклатуру в ПараметрыФормы.
ОткрытьФорму("Обработка.ГрупповоеИзменениеРеквизитов.Форма", ПараметрыФормы);
Все работает отлично, спасибо за статью.
Но количество реквизитов которые можно изменить очень большое, можно ли задать еще при открытие формы отбор по реквизитам?
5. MonteCriZto 116 24.07.25 01:51 Сейчас в теме
Спасибо автору за статью, обработку не скачивал, но прикрутил к своему проекту тем же способом)
Для отправки сообщения требуется регистрация/авторизация