Как удалить все записи регистра сведений

Как удалить все записи регистра сведений

рубрики: Регистры | Дата: 12 февраля, 2017

В этой статье рассмотрим как правильно удалять и записывать записи регистра сведений. Причем в первую очередь рассмотрим именно удаление записей, т.к. не столько важно насоздавать новых записей, сколько сохранить имеющиеся.

А при неосторожном обращении с регистром сведений очень легко удалить все имеющиеся записи, что будет показано ниже. В качестве примера будем использовать вот такой регистр сведений

Удаление записей регистра сведений

Как известно для работы с регистром сведений используется набор записей. Напишем две простейшие строчки кода для нашего регистра и запустим их на выполнение

Поздравляю! Мы только что грохнули все записи в регистре сведений. Хотя казалось бы, что при записи пустого набора записей ничего криминального произойти не может. Но если обратиться к синтакс-помощнику, то можно увидеть, что никакого противоречия нет. Если мы записываем набор записей и в методе Записать() в параметрах не указано Ложь (а по умолчанию подставляется Истина), то происходит замещение существующего набора записей тем, который мы записываем, в соответствии с установленным отбором. А поскольку мы отбор не устанавливали, то для замещения выбираются все записи регистра, и успешно замещаются пустым набором записей. И это грабли на которые иной раз наступают разработчики, которые не первый день в 1С. Кстати, если мы умышленно хотим полностью очистить регистр, то как раз именно этим методом и надо пользоваться. Заостряю на этом внимание, потому что достаточно часто встречается код, когда перед удалением набор записей прочитывается, потом очищается и только потом записывается. Хотя чтение и очистка набора записей здесь абсолютно излишни.

Теперь представим, что нам надо удалить не все записи регистра, а только с конкретными значениями измерений. Алгоритм действия в этом случае такой же, только перед записью необходимо для нашего пустого набора записей установить соответствующий отбор. В статье про срез последних мы в качестве примера рассматривали этот же регистр сведений – Цена. Напомню, что там у нас были следующие записи

Период Товар Поставщик Сумма
01.01.2017 Карандаш ООО «Леспром» 10
25.01.2017 Карандаш ООО «Леспром» 15
01.01.2017 Карандаш ПАО «Канцтовары» 27
01.02.2017 Карандаш ПАО «Канцтовары» 31
03.01.2017 Ручка ПАО «Канцтовары» 137
01.02.2017 Ручка ПАО «Канцтовары» 145

Допустим, что мы хотим удалить записи, где Товар – Карандаш, а Период – 01.01.2017. Напомню, что для периодических регистров сведений отбор можно устанавливать не только по измерениям, но и по периоду. В этом случае код у нас будет выглядеть вот так

Хочу также обратить внимание на метод Установить(). В том случае, когда вид сравнения в отборе – Равно этот метод позволяет установить отбор с минимальным количеством кода.
После выполнения этого кода в нашем регистре останутся следующие записи

Период Товар Поставщик Сумма
25.01.2017 0:00:00 Карандаш ООО «Леспром» 15
01.02.2017 0:00:00 Карандаш ПАО «Канцтовары» 31
03.01.2017 0:00:00 Ручка ПАО «Канцтовары» 137
01.02.2017 0:00:00 Ручка ПАО «Канцтовары» 145

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

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

Читайте также:  Можно ли пылесосить строительную пыль обычным пылесосом

Добавление записей в регистр сведений

В качестве примера по созданию записей регистра сведений, восстановим удаленные ранее записи

В методе Записать() параметр отвечающий за замещение существующих записей установлен в Ложь. Это означает, что наш набор записей будет только добавляться к существующему. В первый раз код отрабатывает успешно. Если же мы повторно попытаемся выполнить этот код, то получим окно с сообщением об ошибке, т.к. у нас уже есть записи с таким набором измерений и добавить еще одни такие же невозможно.


А вот если мы установим режим замещения в Истину, то при повторной записи никакой ошибки возникать не будет, т.к. существующие записи будут перезаписываться.

В случае работы с одной записью вместо набора записей можно использовать менеджер записи.

Не так давно мне потребовалось очистить регистр сведений. Этот регистр хранил в себе историю изменения некоторых объектов конфигурации и содержал несколько миллионов записей.

Обычный вариант программной очистки регистра сведений не подчиненного регистратору производится при помощи записи пустого набора записей, примерно так:

Но в данном случае очистка регистра подобным способом заняло бы много часов. Поэтому был выбран другой способ — быстрый способ очистки регистра сведений.

Шаг 1. Делаем резервную копию базы. Этот пункт, конечно, не обязателен, но привычка делать резервную копию перед любым потенциально опасным действием обязательно сохранит Вам нервы/время/зарплату/карьеру.

Шаг 2. Копируем требуем регистр сведений.

Копируем регистр

Шаг 3. Удаляем оригинал регистра сведений

Удаляем регистр

Шаг 4. Переименовываем копию в оригинал и применяем изменения.

Переименовываем и применяем изменения

Вот таким нехитрым способом очистка регистра сведений займет несколько минут, вне зависимости от размеров этого регистра. Разница заключается в том, что во втором способе таблица регистра сведений удаляется целиком, что значительно быстрее.

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

Если Вы нашли ошибку или неточность, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1.7к Просмотры

В системе 1С Предприятие нет возможности прямого удаления необходимых объектов, к примеру справочников, отчетов. Тем не менее, пользователь может самостоятельно установить свою роль в системе таким образом, чтобы объекты удалялись в один клик, но делать этого не рекомендуется.

Кроме того, с полными правами пользователя и возможностью интерактивного удаления, не все объекты удастся удалить напрямую, без пометки на удаление. Статья расскажет, как в 1С удалить помеченные на удаление документы.

Главная иконка 1С бухгалтерия предприятия

Особенности удаления объектов в 1С

Программа подразумевает возможность установить в поле Пометку Удаления. Это необходимо, чтобы при удалении сохранялась ссылочная целостность. Пометка не позволяет удалить документ, если на него имеются ссылки в системе.

Существует две причины, которые объясняют необходимость пометки на удаление:

  • возможно, пользователь передумает удалять тот или иной объект. В случае с пометкой на удаление достаточно ее убрать, и документ будет восстановлен. Интерактивное удаление исключает возможность восстановления данных;
  • база данных 1С предполагает, что один объект ссылается на другие, в то время как множество других объектов может иметь ссылку на этот. Поэтому при прямом удалении нарушится целостность, которая повлечет за собой возникновение множества ошибок вплоть до потери базы данных. Поэтому лучше помечать документы на удаление.
Читайте также:  Автоматическая замена слов в ворде

Как удалить помеченные на удаление документы в 1С

Чтобы разобраться с 1С и как удалить объекты, поставленные на удаление, можно обратиться к нижеприведенной инструкции.

На заметку! Процесс удаления не столь сложен, сколь затянут. Для удаления объектов нужно пройти 11 шагов.

Для начала следует выделить нужный объект правой кнопкой мыши и щелкнуть «Установить пометку удаления». Документы, поставленные на удаление, помечаются красным крестиком. Теперь необходимо пройти по следующему пути «НСИ и администрирование» — «Администрирование» — «Поддержка и обслуживание» — «Удаление помеченных объектов».

Удаление помеченных объектов автоматическим способом

В открывшемся окне установить галочку в ячейке «Автоматическое удаление…» и нажать «Удалить». После этого начнется процесс очистки объектов. По завершении процесса нажать «Закрыть» и можно продолжать использовать программу.

Как очистить регистр сведений в 1С

Часто задаваемые вопросы пользователей связаны с тем, как в 1С очистить регистр сведений. Есть возможность вручную осуществить это, но будет проблематично и долго, если накопилось хотя бы 100 записей. Удалить все записи из регистра можно, прописав две строчки кода в программе:

НаборЗаписей = РегистрыСведений[ИмяРегистра].СоздатьНаборЗаписей(); // Где ИмяРегистра указать нужный.

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

На заметку! Кроме того, существует обработка, позволяющая очистить любой регистр сведений. Для этого следует открыть обработку, написать имя нужного регистра и начинать отбор.

Удалить запись из регистра

Воспользовавшись менеджером записи 1С можно удалить конкретную запись из регистра сведений. При этом он не должен быть подчиненным регистратору. Регистр сведений должен быть независимым. Наглядный пример программного кода:

МенеджерЗаписи = РегистрыСведений.КурсыВалют.СоздатьМенеджерЗаписи();
Валюта = Справочники.Валюты.НайтиПоНаименованию(“EUR”);
МенеджерЗаписи.Валюта = Валюта;
МенеджерЗаписи.Период = ТекущаяДата();
МенеджерЗаписи.Прочитать();

Если НЕ МенеджерЗаписи.Выбран() Тогда

//Добавить новую запись
МенеджерЗаписи.Валюта = Валюта;
МенеджерЗаписи.Период = ТекущаяДата();
МенеджерЗаписи.Курс = 10.00;

//Изменить существующую запись
МенеджерЗаписи.Валюта = Валюта;
МенеджерЗаписи.Период = ТекущаяДата();
МенеджерЗаписи.Курс = 10.00;

//После добавления или изменения записи
//необходимо вызвать метод Записать
МенеджерЗаписи.Записать();

//Удалить существующую запись
МенеджерЗаписи.Удалить();

Как удалить данные из таблицы значений в 1С:

В 1С можно удалить строку из табличной части документа. Существует несколько методов. Кроме того, в 1С есть возможность удалить файл программно. Первый метод очищает все строки и его синтаксис выглядит: Очистить(). Например:

Пометка на удаление записей из таблицы

ОбъектДок.Товары.Очистить(); // Товары — название табличного поля в документе ОбъектДок.

Также строки удаляются, согласно определенному условию:

НулевыеСтроки = ТаблицаПослеПодмен.НайтиСтроки(Новый Структура(“Сумма«,0));

Для каждого СтрокаТаблицы Из НулевыеСтроки Цикл

Необходимо удалить пятую строчку в таблице? Пожалуйста:

ТаблицаЗначений.Удалить(УдаляемаяСтрока);

При разработке отчета и печатной форме может потребоваться вывод текста в кавычках. Некоторые пользователи не знают, как это сделать. На самом деле можно с легкостью поставить кавычки в любой строке 1с:

«„Временные татуировки“» покажет, как «Временные татуировки», пример написания кода:

СтрокаУслуга = «В нашем магазине «„Биба и Боба“»;

Читайте также:  Книги по python для начинающих на русском

Чтобы удалить первую строчку, нужно ввести следующий код:

ТаблицаЗначений.Удалить();

Удалить строчки с перебором, при этом нужно заняться поиском и проверкой условия:

СтаршийИндексКолонок = ТаблицаЗначений.Колонки.Количество() – 1;

Индекс = ТаблицаЗначений.Количество() – 1;

Пока Индекс > = 0 Цикл

Для Сч = 0 По СтаршийИндексКолонок Цикл

Если ТипЗнч(ТаблицаЗначений[Индекс][Сч]) = Тип(“Число”) Тогда

Индекс = Индекс — 1;

Удалять можно не только определенные строки, колонок это также касается. Для удаления первой колонки:

ТаблицаЗначений.Колонки.Удалить();

Требуется убрать конкретную колонку, допустим третью:

ТаблицаЗначений.Колонки.Удалить(УдаляемаяКолонка);

Где указано «удаляемая колонка, строка) — написать значение той строки или колонки по счету, которые необходимо очистить.

Удалить также последний символ в любой строке 1с можно, воспользовавшись функцией:

СтрокаОбработки = «последнее слово строки»;

СтрокаОбработки = Лев(СтрокаОбработки, СтрДлина(СтрокаОбработки)-1);

Как удалить базу 1С с сервера SQL

Не все пользователи замечают при запуске 1С управление предприятием, что в загрузочном окне отображается путь к папке с программой.

На заметку! Поэтому, для полной очистки данных с компьютера или диска, достаточно удалить папку.

Однако, решения должны быть как никогда правильными, поэтому лучше следует сделать резервную копию базы данных, чтобы не пожалеть об утере важных файлов. Но если база данных расположена не в папке, а на сервере, SQL, например, тогда очистку проводить нужно через СУБД. Пользователям не рекомендуется предпринимать такие действия, лучше оставить это дело специалистам.

Сервер SQL для базы данных

Как удалить номенклатуру в 1С

Чтобы удалить номенклатуру в 1с нужно перейти по следующему пути «НСИ и администрирование» — «Номенклатура». В открывшемся разделе отображается вся доступная номенклатура. Нужно пометить на удаление необходимые файлы. Для окончательного удаления номенклатуры нужно перейти в «НСИ и администрирование» — «Поддержка и обслуживание» и кликнуть на “Удаление помеченных объектов.

В открывшемся окне осталось кликнуть либо на автоматическое, либо ручное удаление. Предпочтение отдается автоматическому. Однако удалить документ, ссылающийся на другие объекты, без удаления вторых никак не получится. Либо избавляться от всех ссылок, либо не трогать ничего.

Возможные сложности, с которыми можно столкнутся при удалении объектов в 1С

Единственная трудность во время выполнения операции стирания объектов из системы 1С — это либо безвозвратно и напрямую удаленный документ, либо невозможность очистки в связи с тем, что на документ ссылаются другие объекты.

На заметку! Если пользователь пренебрег правилами и позволил себе в 1С удалить файл без ссылочной целостности, тогда он никак не сможет вернуть его, если не сделал до этого резервную копию. Во втором случае нужно избавиться от всех ссылок на тот или иной файл, чтобы добиться успешной очистки системы.

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

Таким образом, статья наглядно показала, как удалять объекты из системы разными способами. Если пользователь новенький, не рекомендуется прибегать к радикальным способам очистки во избежание серьезных последствий. Кроме того, были разобраны основные функции базы данных при работе с таблицами и строками, а также стирание номенклатуры и очистка регистра сведений.

Ссылка на основную публикацию
Как убрать пароль на телефоне асус
Asus Zenfone 5 A501CG-2B257RUS White Здравствуйте!подскажите как убрать блокировку (пароль) экрана телефона Асус Зенфон 2.? Ответы 3 В настройках -...
Как создать свой процессор
Новости, 24 января 2017 в 18:26 Иван Бирюков В магазине игр Steam недавно появился новый интересный представитель жанра «инди» —...
Как создать свой хост
Как создать свой хостинг Как открыть свой хостинг Как создать домашний сайт Что необходимо знать, чтобы создать свой хостинг? Во-первых,...
Как убрать пароль с телефона хуавей
. Блокировка экрана смартфона полезна тем, что позволяет оградить от несанкционированного доступа к информации, хранящейся на мобильном устройстве. Но по...
Adblock detector