Skip to main content

Общая информация

Ссылочное удаление (пометка удаления)

В конфигурации могут существовать связанные свойства у разных объектов. Предлагаемый алгоритм удаления: 

  • Объект помечается как удаляемый путем установки пометки на удаление (кнопка Del или контекстное меню). Все связанные объекты автоматически помечаются на удаление.
  • Основное меню - Все функции
    1c_admin_del_obj_1.jpg
  • Стандартные - Удаление помеченных объектов
    1c_admin_del_obj_2.jpg
  • Можно посмотреть удаляемые объекты выбрав Выборочное удаление. 
    1c_admin_del_obj_3.jpg
  • Можно выбрать удаляемые объекты и удалить.

Удаление элемента родительского справочника.

Есть элемент (Подчиненный) в подчиненном справочнике, у которого выставлен в качестве родителя удаляемый нами элемент (Основной). 

  • В случае удаление через "Удалить" (Shift-Del) оба элемента тихо удалятся. 
  • В случае установки пометки можно увидеть все удаляемые элементы.
  • При снятии пометки удаления с Основного, с Подчиненного тоже удаляется метка.
  • Однако проверка ссылочной целостности происходит только в момент установки пометки. То есть если пометить на удаление Основной, затем создать второй Подчиненный, будет выдано предупреждение "Вы хотите установить в качестве владельца элемент с пометкой удаления", но пометка удаления на втором подчиненном элементе не установится. При попытке удаления через предлагаемую процедуру появится ошибка и объект не будет удален.  1c_admin_del_obj_4.jpg
    Но при удалении через "Удалить" (Shift-Del) все элементы (и помеченный, и непомеченный) удалятся.
  • Если при просмотре удаляемых объектов убрать пометку с подчиненного, оставив основной, то удаление не произойдет и будет ошибка из предыдущего пункта.

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

  • При установке пометки на удаление, в табличной части другого справочника элемент не помечается на удаление. В списке элементов будет отражен один элемент, однако при попытке удаления будет выдано предупреждение о наличии ссылок и элемент не будет удален и можно будет посмотреть список элементов, в которых есть ссылки.
  • При удалении через "Удалить" (Shift-Del) элемент будет удален, но в табличной части другого справочника в строке со ссылкой будет надпись "Объект не найден".
    1c_admin_del_obj_5.jpg
  • Для исправления предыдущей ситуации можно использовать Администрирование - Тестирование и исправление информационной базы
    1c_admin_del_obj_6.jpg
    В служебных сообщениях будет выведен список элементов с битыми ссылками. 1c_admin_del_obj_7.jpg
    Это считается медленной процедурой и требует монопольного доступа, можно использовать внешнюю обработку 

Дополнительные типы данных встроенных классов

Раздел относится к классам Справочник, Документ, ПланВидовХарактеристик, ПланСчетов и ПланВидовРасчета. Идея общая для всех классов, рассмотрен пример класса Справочник.
При создании объекта появляются следующие типы (так их называют в документации) - СправочникМенеджер, СправочникСсылка, СправочникОбъект, СправочникВыборка. Эти слова используются часто. Но есть тьма вопросов, основные из которых - нахрена и как использовать. Ответ: понять и простить. 

Названия типов не связаны с их использованием в коде. 

СправочникМенеджер

Название типа
Отображение в коде
Назначение
СправочникиМенеджер Справочники Содержит все СправочникМенеджер и метод ТипВсеСсылки(), позволяющий получить ссылки на типы всех справочников для последующего сравнения с типом переменной.
СправочникМенеджер
Справочники.ИмяСправочника Это конкретный элемент СправочникиМенеджера. Понять и простить. 
 текноменкл = Справочники.Номенклатура;
 //текноменкл это справочникменеджер.

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

СправочникСсылка 

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

СправочникОбъект.

Регламентные задания

Разобраться, интересная статья  

Программное создание конфигурации.

Хер. Внешний обработчик может только уведомить об отсутствии чего-либо в конфигурации, создать кодом не получится. 

Тестирование

Через жопу. Статья о тестировании Используется уже другой (!) язык. Им видимо двух не хватало...

Git

Еще нужно разобраться, но вроде есть.