Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Почистить регистр "Удалить все, кроме последнего"
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.3
Inkognito
Бухгалтерия 1.2, обычные формы.
Есть собственный регистр, который уже порядком разросся, за несколько лет. Желательно его почистить - оставить только последнюю запись (по отбору номенклатуры).
Придумал так:
Отбор = Новый Структура("Номенклатура", Номенклатура);
ТаблицаНоменклатур = РегистрыСведений.НоменклатурыДП.СрезПоследних(КонецДня(ТекущаяДата()), Отбор);
ТаблицаНоменклатур .Сортировать("Период убыв");


Но это уже другая таблица, а мне нужно удаление производить в самом регистре. ЧЯДНТ?
Макс1С
Inkognito @ Сегодня, 12:54 необходимо зарегистрироваться для просмотра ссылки ,
Попробуйте загрузить полученную таким образом таблицу в набор записей без отборов. Метод Записать() заменит все записи теми данными которые вы добавили в набор записей.
ПС. Только срез последних - также без отборов. Можно и без даты, тогда вернет самые последние записи, на тот случай если есть будущей датой
ПС2. Или срез последних с отбором, тогда и набор записи с таким же отбором, чтобы чистить частями
Inkognito
Макс1С
Методом проб и ошибок, лучшее решение придумано такое: создать копию регистра, перебрать из существующего все последние записи, и добавить их в новый регистр. Старый удалить, новый переименовать на имя старого. Протестировал, сработало. Пока пользователи работают почти круглосуточно, ждем ближайших выходных.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.