При массовой обработке документов в программах 1С пользователей часто подстерегают две проблемы: возникновение системной ошибки с методом НайтиСтроки при групповом изменении реквизитов табличных частей и сложность с полным удалением лишних строк из документов. Проанализируем эти ситуации и разберем по шагам рабочие варианты их решения.
Ошибка контекста вида {Обработка.ГрупповоеИзменениеРеквизитов.МодульОбъекта}: Ошибка при вызове метода контекста (НайтиСтроки) по причине: Неверное имя колонки возникает в процессе обращения обработки к колонкам таблицы значений. Выясним основные причины подобного поведения:
ИмяТаблицыНомерСтроки вместо требуемого ИмяТаблицы_НомерСтроки), из-за чего метод НайтиСтроки не может обнаружить нужное поле.Для решения этой проблемы рассмотрим следующие действия:
ГрупповоеИзменениеРеквизитов.Универсальный подбор и обработка объектов.Часто возникает необходимость полностью очистить табличную часть (например, табличную часть Начисления в документах Прием на работу после переноса данных из 1С 7.7). Рассмотрим особенности работы штатного инструмента и эффективные способы очистки.
Важно: Если обрабатываемые документы уже проведены в системе, перед массовым удалением строк их необходимо распровести. В противном случае возникнут расхождения между записанными кадровыми движениями в регистрах и содержимым документов.
Разберем основные методы очистки данных:
1. Очистка значений реквизитов (горячие клавиши)
Если в табличной части требуется обнулить конкретное значение поля, используем стандартное сочетание клавиш Shift+F4. Оно позволяет быстро очистить выделенное поле. Однако стоит учесть, что нажатие Shift+F4 очищает значение конкретного реквизита, но не удаляет саму строку из табличной части.
2. Выполнение произвольного алгоритма в режиме разработчика
Для полного удаления всех строк из табличной части в обработке ГрупповоеИзменениеРеквизитов выполним следующие шаги:
Начисления):
Объект.Начисления.Очистить();
При включенном флаге автоматической записи обработка очистит табличную часть и перезапишет все отобранные документы.
3. Использование обработки «Универсальный подбор и обработка объектов»
Альтернативным решением является запуск внешнего инструмента Универсальный подбор и обработка объектов. Выберем режим работы Произвольный алгоритм и укажем следующий код:
Объект.Начисления.Очистить();
Объект.Записать();
Этот подход позволяет гибко настраивать отбор документов и гарантированно удалять ненужные строки табличных частей.