Как удалить в 1С

При попытке удалить ненужный объект системы (элемент справочника, документ, вариант отчета и т.д.) пользователь не сможет окончательно убрать его из базы 1С ему доступно только установка пометки на удаление. Поэтому возникает вопрос- Как удалить помеченные объекты в 1С 8.3?

В данной статье рассмотрим, как выполнить этот процесс. Функционал по удалению для многих конфигураций идентичен и описанная методика подойдет для УТ, ERP, Бухгалтерии и ЗУП.

КЭШБЭК 20% ПРИ ПОКУПКЕ «1С:ПРЕДПРИЯТИЕ 8»

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

Таким образом, в 1С удаление выполняется в два этапа:

 Установка пометки на удаление в 1С;

 Окончательное удаление с помощью обработки, если объект никак не задействован в системе.

Как установить пометку на удаление в 1С 8.3?

Для установки пометки на удаление в 1С, выделите нужный справочник/документ (можно так же выделить сразу список объектов), в меню Еще выберите команду Пометить на удаление/Снять пометку (в некоторых журналах выведена пиктограмма этой команды ) или нажмите кнопку delete на своей клавиатуре. Система попросит подтвердить ваши намерения и после этого будет установлен пометку.

Обратите внимание, если вы попытаетесь установить пометку на уже помеченный элемент, то будет выполнено обратное действие-снятие пометки.

Как удалить помеченные объекты?

В Бухгалтерии и ЗУП обработка доступна в разделе Администрирование, в УТ и ERP в разделе НСИ и администрирование → Поддержка и обслуживание. И если Вы вдруг забыли, в каком разделе искать нужный объект системы, всегда можно воспользоваться разделом Все функции.

Обработка Удаление помеченных объектов контролируется ссылочную целостность, т.е. если на удаляемый объект есть ссылки в других объектах, то процедура удаления выполнена не будет.

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

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

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

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

При автоматическом режиме данный процесс будет запущен сразу.

В результате, независимо от выбранного режима, обработка произведет попытку удаления всех объектов имеющих пометку. Если удаление невозможно, то будет выведен список не удаленных объектов с ссылками на их места использования.

Доступные в этом случае варианты действий:

 Пометить на удаление и места использования и повторить попытку удаления.

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

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

Для автоматического выполнения процедуры с помощью регламентного задания надо в обработке установить флаг Автоматически удалять помеченные объекты по расписанию и настроить расписание.

Нужен 1С программист?

Ваши плюсы при работе с нами!

+ Бесплатная предварительная оценка стоимости задач до начала работ.

+ Цена часа работы программиста в 2 раза ниже рынка.

+ Приоритетное быстрое реагирование на срочные задачи — от 5 минут!

+ Четкая система постановки, отслеживания и сдачи задач.

+ Делаем видео-инструкции по выполненным задачам.

+ Предоставляем гарантийную поддержку в течении 3 месяцев по выполненным задачам.

+ Вы не почувствуете разницу и отличия от работы штатных программистов.

Звоните +7 (499) 677-54-82 или заполните окно заказа звонка ниже, наши специалисты перезвонят Вам.

Обсудить статью на 1С форуме?

Не могу удалить базу с сервера 1С

Я
   SeregaMW

Собственно не могу потому что просит логин и пароль администратора базы данных. А его не знаю, оставили мне наследство без пояснений. Чего делать?

 
 

   GLazNik

(0) format c:

   SeregaMW

поможет сброс пароля на юзера USR1CV82 ?

   shamannk

(2) Нет

   shamannk

Выруби скл, и удали с диска.

   zulu_mix

сначала отцепи базу в скуле потом пристрели в консоли сервера 1с

   Naumov

поменяй пароль для SA

   Maxus43

Где просит то?
Может просить разные пароли в разных местах.

   Maxus43

в консоли просит админа кластера или юзера базы 1с с полныит правами.
в скл просит юзера СУБД

   pavelul73

Администратор базы данных  — это пользователь с полными правами в базе!

   pavlov

(0) удали пользователей в таблице sql

 
 

   SeregaMW Просит в консоли сервера 1САлилуя!!!! Получилось!    SeregaMW

(9)Администратор базы данных  — это пользователь с полными правами в базе!

   mikecool

(12) иногда грамотные люди заводят еще и админа кластера 1с

   Hmster

еще можно попробовать подправить файл 1CV8Reg.lst

   SeregaMW

(13) Обязательно сделаю

(14) Как интересно а что там править?

Попробуйте новый бесплатный сервис для быстрого анализа кода типовых конфигураций 1c-api.com

ВНИМАНИЕ!

Инструкция как удалить помеченные объекты в 1С 8.3

Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.

Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.

30 сентября 2016 ВКTwFb

1С1С:Предприятие1С:Предприятие 8.38.3chdbfl.exeВнешнее тестированиеТестирование

Любому бывалому пользователю 1С:Предприятие внешнее и внутреннее тестирования базы данных — дело обыденное. Эта статья нацелена на начинающих пользователей, которые либо столкнулись с необъяснимой работой своей базы данных, либо пережили внезапное отключение питания ПК или ноутбука, после которого база данных перестала открываться, либо во время работы происходят «вылеты» и 1С просто закрывается без каких-либо сообщений об ошибках, либо многое другое (причин тестирования действительно масса, все перечислять не будем).

Процесс тестирования достаточно простой в обоих случаях, но в зависимости от размера базы и дисковой подсистемы ПК (HDD или SSD) может занимать достаточно длительный промежуток времени.

 

Внешнее тестирование базы данных 1С:Предприятие: проверка физической целостности файла БД

Внешнее тестирование — первое, что нужно сделать, если Ваша база данных не открывается.

Перед любым тестированием обязательно сделайте копию файла 1Cv8.1CD!

Для проведения данной процедуры в указанной папке (версия платформы может быть любая)

C:\Program Files (x86)\1cv8\8.3.8.1784\bin

лежит утилита chdbfl.exe (синий бочонок с зелёной галочкой).

  1. Запускаем утилиту chdbfl.exe.
  2. В появившемся окне указываем пусть к файлу 1Cv8.1CD базы данных, которую требуется протестировать.
  3. Ставим галочку «Исправлять обнаруженные ошибки».
  4. Нажимаем «Выполнить».

После этого в папке с базой данных появится четыре новых файла с префиксом _$NEW$_. Не удаляйте эти файлы во время тестирования, они удаляться сами! Так же Вам покажется, что эта утилита «зависла» и ничего не происходит — это не так! Ни в коем случае не прерывайте работу этой утилиты! Эти действия безвозвратно испортят Вашу базу данных 1С!

После тестирования скорее всего Вы увидите сообщение «Ошибок не обнаружено», но это не значит, что с Вашей базой данных ничего не произошло. Первое: она точно стала меньше. Может даже в 2 раза — это нормально, даже хорошо.

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

Второе, скорее всего проблемы больше нет и теперь 1С запустится. Проверяйте.

Если проблема серьезнее и не устранилась внешним тестированием, переходим к внутреннему тестированию.

Внутреннее тестирование базы данных: Тестирование и исправление информационной базы (ТиС)

Это следующий шаг по устранению неполадок в работе базы данных. Требуются эти действия гораздо реже внешнего тестирования, однако помогают не хуже.

  1. Заходим в испорченную базу данных 1С в режиме «Конфигуратор».
  2. Идём в «Администрирование» > «Тестирование и исправление»
  3. Настройки для тестирования чаще всего используются такие, как на слайде ниже:
  4. «Выполнить». Вам снова покажется, что программа «зависла», но это снова не так: во-первых, появится окно «Служебные сообщения», в котором будут отображаться основные этапы тестирования и ошибки, если таковые найдутся; во-вторых, ещё ниже и левее будут появляться сообщения с более подробным описание происходящего в данный момент. Повторимся: Ни в коем случае не прерывайте работу этой утилиты! Эти действия безвозвратно испортят Вашу базу данных 1С!
  5. После окончания программа отвиснет, Вы увидите отчёт о тестировании и сможете зайти в Вашу базу данных уже в режиме «Предприятие».

Использование ограничений доступа к данным для различных объектов 1С:Предприятия 8

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

О принципах функционирования ограничений доступа к данным

Основные принципы функционирования и использования ограничений доступа к данным описаны в документации 1С:Предприятия 8 и в разделе "Ограничения доступа к данным. Сведения о принципах функционирования".

Для лучшего понимания механизма проверки ограничений доступа полезно иметь в виду следующие правила:

  • Каждое ограничение доступа к данным представляет собой запрос, записанный на языке запросов (с некоторыми упрощениями).
  • Проверка ограничений доступа к данным выполняется для каждой записи каждой таблицы базы данных, обращение к которым происходит при выполнении запроса или в процессе манипулирования любыми объектами 1С:Предприятия.
  • Для конкретной записи конкретной таблицы базы данных проверка ограничения заключается в исполнении запроса, представляющего это ограничение. Если в результате исполнения этого запроса получается непустая выборка, то считается, что доступ к записи разрешен. Если же выборка пустая, то доступ к записи запрещен.
  • Если обращение к данной записи требует проверки нескольких ограничений (из разных полей и/или из разных ролей текущего пользователя), то проверяется каждое из ограничений. Результаты проверки ограничений, наложенных на доступ к разным полям, объединяются логической операцией "И". Результаты проверки ограничений, относящихся к разным ролям текущего пользователя, объединяются логической операцией "ИЛИ". Если результат полученного логического выражения равен "Истина", то доступ к записи разрешен. Иначе — доступ запрещен.
  • Обращение по ссылке в ограничении имеет тот же смысл, что и обращение по ссылке в запросе, а именно, если ссылка указывает на несуществующую запись или имеет значение NULL, то значением поля по ссылке будет NULL.
  • Если в ограничении доступа к данным операция сравнения использует поле табличной части, то результат сравнения равен "Истина", если  табличная часть содержит хотя бы одну запись, для которой результат этого сравнения — "Истина". При использовании в одном сравнении двух полей разных табличных частей значения сравнения будет "Истина", если в декартовом произведении этих табличных частей найдется запись, для которой сравнение имеет значение "Истина".

Приведем несколько примеров.

Например, в случае простейшего ограничения вида:

Копировать в буфер обмена

ГДЕ Реквизит = &ПравильноеЗначениеРеквизита

можно считать, что для каждой записи, для которой проверяется ограничение(проверяемой записи), выполняется запрос следующего вида:

Копировать в буфер обмена

ВЫБРАТЬ 1
ИЗ ТаблицаИзОднойПроверяемойЗаписи
ГДЕ Реквизит = &ПравильноеЗначениеРеквизита

В данной таблице доступ к записи, в которой значение реквизита "Реквизит" совпадает со значением параметра сеанса "ПравильноеЗначениеРеквизита", разрешен. К другим записям этой таблицы доступ запрещен.

Другой пример. Усложним ограничение. Допустим нужно разрешить доступ к записи таблицы "Справочник.Контрагенты" не только если ее "Реквизит" имеет "правильное значение", но и в том случае, если "правильное значение" имеет "Реквизит" родителя этой записи (1-го или 2-го уровня). В этом случае ограничение может иметь следующий вид:

Копировать в буфер обмена

Контрагенты
ИЗ Справочник.Контрагенты КАК Контрагенты
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты1
ПО Контрагенты.Родитель = Контрагенты1.Ссылка
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты2
ПО Контрагенты1.Родитель = Контрагенты2.Ссылка
ГДЕ Контрагенты.Реквизит = &ПравильноеЗначениеРеквизита ИЛИ Контрагенты1.Реквизит = &ПравильноеЗначениеРеквизита ИЛИ Контрагенты2.Реквизит = &ПравильноеЗначениеРеквизита

Тогда запрос, который будет выполнятся в процессе проверки этого ограничения для конкретной записи справочника "Контрагенты", будет иметь вид:

Копировать в буфер обмена

ВЫБРАТЬ 1
ИЗ ТаблицаИзОднойПроверяемойЗаписи КАК Контрагенты
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты1
ПО Контрагенты.Родитель = Контрагенты1.Ссылка
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты2
ПО Контрагенты1.Родитель = Контрагенты2.Ссылка
ГДЕ Контрагенты.Реквизит = &ПравильноеЗначениеРеквизита ИЛИ Контрагенты1.Реквизит = &ПравильноеЗначениеРеквизита ИЛИ Контрагенты2.Реквизит = &ПравильноеЗначениеРеквизита 

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

При установке ограничений доступа к данным важно понимать, что ограничение проверяется при обращении к записи той таблицы базы данных, к которой относится ограничение. При этом если выполняется запрос к данным с ключевым словом РАЗРЕШЕННЫЕ, то запрет доступа к некоторой записи означает, что при выполнении этого запроса будет считаться, что эта запись таблицы базы данных (не результата запроса) отсутствует.

Например.

Пусть на справочник "Контрагенты" установлено следующее ограничение доступа:

Копировать в буфер обмена

ГДЕ Ответственный = &ТекущийПользователь

а сам справочник содержит такие записи:

Имя
(строка)

Ответственный
(ссылка на Справочник.Пользователи)

Завод имени Лапкина Иванов
Пекарня Косолапова Любимов
Электроламповый завод Иванов
Трикотажная фабрика Генералов

Пусть регистр сведений "КонтактнаяИнформация" содержит следующие записи:

КонтактноеЛицо
(ссылка на Справочник.ФизЛица)

Организация
(ссылка на Справочник.Контрагенты)

Зайкин А. В. Завод имени Лапкина
Тонков Т. А. Пекарня Косолапова
Петров А. А. Электроламповый завод
Сидоров И. И. Трикотажная фабрика

Тогда если текущим пользователем является пользователь "Иванов", то результатом запроса:

Копировать в буфер обмена

ВЫБРАТЬ РАЗРЕШЕННЫЕ Имя, Ответственный
ИЗ Справочник.Контрагенты

будет таблица:

Имя
(строка)

Ответственный
(ссылка на Справочник.Пользователи)

Завод имени Лапкина Иванов
Электроламповый завод Иванов

Однако, результатом следующего запроса:

Копировать в буфер обмена

ВЫБРАТЬ РАЗРЕШЕННЫЕ КонтактноеЛицо, Организация
ИЗ РегистрСведений.КонтактнаяИнформация

будет таблица:

КонтактноеЛицо

Организация

Зайкин А. В. Завод имени Лапкина
Тонков Т. А. <Объект не найден> …
Петров А. А. Электроламповый завод
Сидоров И.

1С удаление объектов , или как в 1С удалить помеченные объекты ?

И.

<Объект не найден> …

поскольку записи:

Имя
(строка)

Ответственный
(ссылка на Справочник.Пользователи)

Пекарня Косолапова Любимов
Трикотажная фабрика Генералов

противоречат ограничению, и поэтому считаются отсутствующими, а представление непустой ссылки на несуществующую запись равно "<Объект не найден> …". В то же время, результатом запроса:

Копировать в буфер обмена

ВЫБРАТЬ РАЗРЕШЕННЫЕ КонтактноеЛицо, Организация.Имя КАК Имя, Организация.Ответственный КАК Ответственный
ИЗ РегистрСведений.КонтактнаяИнформация

будет таблица

КонтактноеЛицо

Имя

Ответственный

Зайкин А. В. Завод имени Лапкина Иванов
Тонков Т. А.    
Петров А. А. Электроламповый завод Иванов
Сидоров И. И.    

поскольку противоречащие ограничению записи справочника "Контрагенты" считаются отсутствующими, а значениями полей "Имя" и "Ответственный" по ссылкам, указывающим на несуществующие записи, является значение NULL.

Если же необходимо по тому же признаку ограничить доступ к записям регистра сведений "КонтактнаяИнформация", то на этот регистр можно наложить ограничение вида:

Копировать в буфер обмена

ГДЕ Организация.Ответственный = &ТекущийПользователь

В этом случае результатом выполнения последнего запроса будет таблица:

КонтактноеЛицо

Имя

Ответственный

Зайкин А. В. Завод имени Лапкина Иванов
Петров А. А. Электроламповый завод Иванов

Ограничения и табличные части

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

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

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

Пусть таблица "Документ.Накладная" содержит следующие записи:

Контрагент
(ссылка на Справочник.Контрагенты)

Состав (табличная часть)

Номенклатура

Количество

Пекарня Косолапова Булка с маком 20
Пирожок с курагой 30
Трикотажная фабрика Штаны 20
Футболка 100

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

Копировать в буфер обмена

ГДЕ Состав.Количество > 50

будет иметь вид

Копировать в буфер обмена

ВЫБРАТЬ 1
ИЗ ТаблицаИзОднойПроверяемойЗаписи КАК Накладная
ЛЕВОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ Документ.Накладная.Состав КАК Состав
ПО Накладная.Ссылка = Состав.Ссылка
ГДЕ Состав.Количество > 50 

Следовательно доступ будет разрешен только для записи "Трикотажная фабрика". Поэтому запрос:

Копировать в буфер обмена

ВЫБРАТЬ РАЗРЕШЕННЫЕ Контрагент, Состав.(Номенклатура, Количество)
ИЗ Документ.Накладная

выдаст таблицу:

Контрагент

Состав

Номенклатура

Количество

Трикотажная фабрика Штаны 20
Футболка 100

а запрос к вложенной таблице:

Копировать в буфер обмена

ВЫБРАТЬ РАЗРЕШЕННЫЕ Контрагент, Номенклатура, Количество
ИЗ Документ.Накладная.Состав

выдаст таблицу

Контрагент

 Номенклатура

Количество

Трикотажная фабрика Штаны 20
Трикотажная фабрика Футболка 100

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

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

Копировать в буфер обмена

ГДЕ Состав.Количество > 50 ИЛИ Состав.Количество ЕСТЬ NULL

Если же необходимо разрешить доступ только к тем накладным, у которых в табличной части "Состав" нет записей с "Количеством", превышающем 50, то в ограничении необходимо использовать вложенный запрос:

Копировать в буфер обмена

Накладная1
ИЗ Документ.Накладная КАК Накладная1
ГДЕ Накладная1.Ссылка В
    (
        ВЫБРАТЬ Состав1.Ссылка
        ИЗ Документ.Накладная.Состав КАК Состав1
        СГРУППИРОВАТЬ ПО Состав1.Ссылка
        ИМЕЮЩИЕ МАКСИМУМ(Состав1.Количество) <= 50
    ) ИЛИ Накладная1.Состав.Количество ЕСТЬ NULL

Объекты встроенного языка

Для работы с данными в объектной технике во встроенном языке 1С:Предприятия предусмотрены специальные объекты. Например для справочника это: СправочникиМенеджер, СправочникМенеджер.<Имя справочника>, СправочникСсылка.<Имя справочника>, СправочникОбъект.<Имя справочника>, и другие.

Все операции над объектами встроенного языка 1С:Предприятия выполняются в режиме "ВСЕ" (без использования режима "РАЗРЕШЕННЫЕ"). Для успешного получения разрешенных объектов в соответствующих методах объектов необходимо указывать отборы, не противоречащие ограничениям. Например, если на чтение из регистра сведений "КонтактнаяИнформация" установлено ограничение вида:

Копировать в буфер обмена

ГДЕ Тип = &ТипКонтактнойИнформации"

то для успешного выполнения метода

Копировать в буфер обменаСрез = РегистрыСведений.КонтактнаяИнформация.СрезПоследних();

необходимо установить отбор:

Копировать в буфер обменаОтбор =Новый Структура; Отбор.Вставить("Тип", ПараметрыСеанса.ТипКонтактнойИнформации); Срез = РегистрыСведений.КонтактнаяИнформация.СрезПоследних(, Отбор);

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

Виртуальные таблицы запросов

При использовании в запросах без ключевого слова РАЗРЕШЕННЫЕ виртуальных таблиц в условиях установленных ограничений доступа к данным необходимо указывать отборы, не противоречащие ограничениям не только для запроса в целом, но и для виртуальных таблиц. Например:

Копировать в буфер обмена

ВЫБРАТЬ
КонтактнаяИнформацияСрезПервых.Представление
ИЗ
РегистрСведений.КонтактнаяИнформация.СрезПоследних(,Тип = &Тип) КАК КонтактнаяИнформацияСрезПервых
ГДЕ
КонтактнаяИнформацияСрезПервых.Тип = &Тип

Выделенный отбор по виртуальной таблице "СрезПоследних" может содержать произвольное логическое выражение, допустимое для раздела ГДЕ, использующее поля, которые присутствуют в виртуальной таблице.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *