Периодически возникает необходимость дозаполнить реквизиты, либо изменить в существующих документах/справочниках. Если это один реквизит и должен принять одно значение - нет проблем, любая групповая обработка объектов поможет это сделать. Но что если, значения реквизитов уникальны для каждого документа или элемента справочника? Например изменить ставку НДС и пересчитать суммы НДС.
И таких задач может быть 100500. Делать под каждую свою обработку долго, муторно и потом разбираться что делает каждая из них.
Предлагаю универсальную обработку-шаблон, которая будет исполнять некий алгоритм над каждым выбранным документом/элементом справочника.
На первой странице обработки выбираем нужный тип и вид обрабатываемых данных. Задаем отбор (доступен период для документов и по 3 основных реквизита и реквизита табличной части).
На второй странице автоматически генерится скрипт - обход всех реквизитов выбранного объекта и циклы по табличным частям с установкой для каждого реквизита соответствующего значения по умолчанию для данного типа. А также блоки условия для изменения основных реквизитов и реквизитов табличных частей.
Смысл скрипта - присвоить нужным реквизитам нужные значения по определенному условию и присвоить значение переменной Изменен = Истина. В таком случае внесенные скриптом изменения в обрабатываемый объект (переменная ОбрОбъект) будут записаны.
На 3-й странице можно вывести все реквизиты выбранного документа/элемента справочника как образец для получения конкретных значений того или иного типа.
Весь скрипт можно сохранить в файл (по кнопке Сохранить скрипт) и загрузить из сохраненного в файл скрипта (по кнопке Загрузить скрипт). Имя файла скрипта будет формироваться автоматически по шаблону "скрипт" + вид объекта + текущаядата(). Имя потом можно изменять, но обработка при загрузке файла скрипта будет проверять наличие вхождения вида обрабатываемого объекта в имя файла (чтобы ненароком не подгрузить скрипт, предназначенный для других типов/видов объектов), поэтому редактировать надо с осторожностью.
Все изменения над выбранными объектами будут выводится в сообщение пользователю, выгружаться в лог-файл, а также записываться в журнал регистрации.
04.04.2024 Внес изменение - выбор группы для справочников и отбор только для элементов:
Вот один из вариантов применения. Требовалось добавить значение дополнительного реквизита для определенных элементов справочника Номенклатуры:
Еще один вариант использования. В данном случае сам документ изменять не требовалось, но надо было дозаполнить элементы справочника, которые были реквизитом одной табличной части, на основании информации из другой табличной части:
27.06.2024 UPD
Добавил упорядочивание списка
Вот еще вариант использования. Обнаружили, что при заведении номенклатуры, раскладку клавиатуры переключали уже в процессе ввода наименования и название товара начиналось с латинской С, а дальше уже шли русские буквы. Вот такой немудреный скрипт исправил ситуацию.
Проверено на следующих конфигурациях и релизах:
- 1С:ERP Управление предприятием 2, релизы 2.5.16.74