Difference between revisions of "DB.DeletePhysically"
(Created page with "{{infobox function |name=DeletePhysically |object=Объект базы данных |caption=Удаление объектов из базы данных |type=1 |status=...") |
m (1 revision imported) |
(No difference)
| |
Revision as of 07:43, 7 February 2021
| DeletePhysically (Удаление объектов из базы данных) | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||
Функция производит физическое удаление элемента справочника или документа из базы данных, удаляя также подчиненные объекты, если это необходимо. Перед физическим удалением объектов, необходимо убедиться, что эти объекты не используются в реквизитах других объектов, иначе можно получить ситуацию, когда реквизиты содержат объект, который невозможно загрузить, такая ситуация для нормальной работы системы нежелательна. Для проверки, используется ли данный объект в других реквизитах каких-либо объектов, можно использовать функцию CollectObjectsLinks.
Синтаксис
DB.DeletePhysically(<Режим удаления подчиненных элементов (INT)>,<Режим удаления папок (INT)>):<Результат (INT)>
Аргументы
<Режим удаления подчиненных элементов (INT)>- (необязательный аргумент) Задает режим удаления элементов справочников, подчиненных данному. По умолчанию этот аргумент равен 1 (удалять подчиненные элементы). Если подчиненные элементы не будут удалены, они не будут подчинены никакому другому элементу и может стать недоступны для визуального редактирования.<Режим удаления папок (INT)>- (необязательный аргумент) Для папок справочников, задает режим удаления подпапок и элементов справочников, находящихся в данной папке справочника. По умолчанию этот аргумент равен 0 (не удалять подпапки и элементы внутри текущей папки). Если подпапки и элементы внутри удаляемой папки не будут удалены, они будут перемещены внутрь папки, в которой находится удаляемая.
Возвращаемое значение
Возвращается 1, если удаление прошло успешно, иначе возвращает 0 (были обнаружены блокировки удаляемых объектов и пр.).
Примеры
//Пример производит удаление элементов из списка, проверяя, не были ли они уже удалены ранее
Уд:=0;
For i:=1 To СпЭлУд.Size() Do
б:=СпЭлУд.Get(i).Copy();
If б.Loadable() Then
б.DeletePhysically();
Уд:=Уд+1;
If Уд%10=0 Then
Form.StatusText("Удалено элементов: "+Уд);
EndIf;
EndIf;
EndDo;
Message("Удалены элементы: "+Str(Уд),"I");