Как изменить данные в табличной части документа 1С
Сегодня хочу рассказать о том как можно изменить табличную часть документа в 1С. Когда у меня не было опыта в программирования, и передо мной стояла подобная задача. Я обратился за помощью к интернету и очень сильно удивился, когда не нашел ответа на свой вопрос. В принципе было очень мало сайтов, на которых бы люди что-то рассказывали и объясняли. В основном это форумы, на которых новичку найти ответ очень сложно. Так как все отвечают очень кратко и в общих чертах. Остальная часть сайтов предлагала пройти курсы. Сегодня, хочу вам рассказать об одном способе, с помощью которого можно изменить табличную част документа.
А если быть точней то изменить дату у записей в табличной части, но по аналогии можно изменить все что угодно.
Как изменить дату в ТЧ у всех записей
И так допустим у на есть какой-то документ, у него есть табличная часть, в которой нужно что-то изменить, например, установить одну и туже дату, которую пользователь сам укажет.
Для этого нужно открываем конфиггуратор, найти документ, создать в нем команду «Изменить дату», открыть свойства данного элемента и перейти а Действие.
В открывшемся модуле пишем следующий код.
&НаКлиенте
Процедура ИзменитьДату(Команда)
УстановкаДаты = "";
Результат = ВвестиДату(УстановкаДаты, "Введите дату", ЧастиДаты.Дата);
Для Каждого ДанныеСтроки Из Объект.Работы Цикл
ДанныеСтроки.Дата = УстановкаДаты;
КонецЦикла;
КонецПроцедуры
УстановкаДаты = «»; — задаем пустое значение для переменной в которой будет храниться дата.
Результат = ВвестиДату(УстановкаДаты, «Введите дату», ЧастиДаты.Дата); — открываем форму ввода даты и сохраняем её в переменную УстановкаДаты.
И в цикле перебираем строки и записываем дату.
Сохраняем и запускаем программу. Открываем документ в который вносили изменения, теперь на форме появилась кнопка «Изменить дату», которая открывает окно в котором можно выбрать дату.
После выполнения данной команды, выбранная дата установиться для всех записей табличной части документа.
Если немного подправить данный код можно поменять любое значение в табличной части документа.
Если возникли трудности то пишите в комментариях обязательно помогу.
Таблица = ПолныеПрава.ПолучитьСписокДокументовПоКритериюОтбора(«СвязанныеДокументы», Константы.ТекущийДокумент.Получить());
Для Каждого СтрокаТаблицы ИЗ Таблица Цикл
ОбъектР = СтрокаТаблицы.Ссылка.ПолучитьОбъект();
ОбъектР.Записать(РежимЗаписиДокумента.ОтменаПроведения);
КонецЦикла;
при изменении просходит бесконечный цикл.