Здравствуйте. Добавила свое расширение, поскольку основная конфа закрыта. Опыта не имею, поэтому вопрос, возможно, дилетантский.
Создала спр-ки и документы.
Все с ними хорошо, но не удаляются помеченные на удаление документы. Когда запускаешь стандартный механизм "Удаление помеченных объектов", он видит помеченные на удаление объекты этого типа, но на финальной стадии пишет "Удаление не требуется. Нет объектов помеченных на удаление", хотя они есть.
(6)Сложно сказать, можно попробовать отладкой посмотреть в моменте удаления почему он не хочет удалять. По собственному опыту работы с расширениями всегда старались добавлять новые объекты в основную конфу а в расширениях только изменять функционал. Так же возможно влияет вид расширения.
(7) В основную конфу нельзя - она закрыта и не будет открыта никогда . Конечно, можно исхитрится и написать обработку , которая тупо будет удалять объекты из расширения. Но наверняка есть возможность делать это стандартными методами -= не хочется городить огород
(13)Ну и напишите обработку программного удаления и назначайте ее типовой для вашего расширения. Раз типовые механизмы для Вас закрыты, назначайте свои механизмы типовыми ;)
(15)Легко сказать - трудно сделать). Для некоторых крайне сложно без использования дополнительной литературы и потраченного времени за короткий промежуток сделать обработку по удалению помеченных объектов.
(18)Я не сомневаюсь в вашей уверенности. Я сомневаюсь в совей(хотя на сайте я уже 8 лет, но был период 7 лет когда меня тут не было. с момента мой регистрации до конца 2020 года. Тут весело и много нового можно было узнать, жаль что 7 лет ушли в пустую. Иначе я бы был в списке тех для кого было бы все "легко".
(20) я еще раз говорю - не проблема написать обработку по удалению. Хотелось бы разобраться .
Т.е. - я в расширении создала новую подсистему. Никаких ролей пока нет.
Все объекты (справочники, регистры, перечисления )- входят в эту подсистему
Подсистема эта в программе - показывается отдельным пунктом (с объектами, входящими в подсистему)
и в рабочей базе показываются отдельным значком
Программно - моей обработкой все объекты, помеченные на удаление - удаляются.
Но если я ввожу из основной конфигурации Роль - Полные права, у меня из программы значок расширения уходит и ничего не удаляется.
(27)Ну, это какая то магия в лице моего дилетанства. Без ролей - сейчас все удалилось встроенными стандартными механизмами. Надо как то с ролями разбираться.
(28)Полагаю механизм следующий Если нет ролей в расширении то действует ваша роль из основной конфигурации. Если вы добавили роль в расширение заимствуя из основной то новые объекты в расширении вам надо добавить в новую роль и эту роль сделать доступной. Думаю что заимствование роли из основной не имеет смысла, так как в нее добавить возможно не получится. Надо проверять.
ЗЫ сам я сейчас ухожу от расширения перевожу все что наваял в основную конфу... ;) особенно формы документов. Максимум что - это отладка программного создания затем код переношу в основную...
Странная ситуация. Попробуйте выполнить последовательность действий: Убедится что у вас полные права, почистить кеш, любой неудаляемый объект снять с пометки и обратно поставить и проверить удалиться ли он. Обновить релиз базы, платформы(если она старая), сделать тестирование и исправление базы.
(22)получается роли в расширении как-то перебивали ваши роли. Но учитывая что вы работаете с конфой, то и роли у вас максимальные, которые ничем не перебить.
(22)а причем тут роли в расширении? расширение в режиме предприятия прозрачно для основной конфигурации, если вы зашли с полными правами, то и объекты расширения вам будут доступны с полными правами...
Давайте определимся с терминами - программное удаление означает что вы написали код Такойто объект - удалить и выполнили его?
Или что то другое. А из встроенного механизма объекты не удаляются?
Пока ВыборкаДетЗаписи.следующий() цикл
Выборка = ВыборкаДетЗаписи.Ссылка.ПолучитьОбъект();
сообщить( ВыборкаДетЗаписи.Ссылка);
Выборка.Удалить();
конеццикла;
Понятно - что выборка пошла по всем помеченным на удаление.
Ничего странного. Стандартная обработка удаления помеченных работает с помощью объекта Метаданные конфигурации. А объекты из расширения в коллекцию Метаданные конфигурации как раз и не входят. Как и в прочие служебные ТипВсеСсылки()
Данная коллизия по обещаниям будет разрешена только в 8.3.20...
(33)Ну, это какая то магия в лице моего дилетанства. Без ролей - сейчас все удалилось встроенными стандартными механизмами. Надо как то с ролями разбираться. Тогда почему?
Все замечательно удалялось пару лет. А теперь с какого-то перестало. Данные ... не могут быть зафиксированы
1С:Предприятие 8.3 (8.3.17.2306) 64 бита.
При удалении элемента справочника из расширения. Ошибка именно про "Справочники.ТипВсеСсылки()"
Причем раньше точно все спокойно работало. Зачем добавили???
Очевидно же, что для удобства работы :(
(36) Для решения данной проблемы в расширение надо добавить общий модуль "СтандартныеПодсистемыПовтИсп" с текстом:
&Вместо("ОписаниеТипаВсеСсылки")
Функция ОписаниеТипаВсеСсылки()
Результат = ПродолжитьВызов();
МассивДобавляемыхТипов = Новый Массив;
МассивДобавляемыхТипов.Добавить(Тип("СправочникСсылка.[НаименованиеСправочникаИзРасширения]"));
МассивДобавляемыхТипов.Добавить(Тип("ДокументСсылка.[НаименованиеДокументаИзРасширения]"));
... (перечислить все ссылочные типы данных из расширения)
Возврат Новый ОписаниеТипов(Результат, МассивДобавляемыхТипов);
&Вместо("ОписаниеТипаВсеСсылки")
Функция СТК_ОписаниеТипаВсеСсылки()
Результат = ПродолжитьВызов();
МассивДобавляемыхТипов = Новый Массив;
Для каждого МД Из Метаданные.Справочники Цикл
Если МД.РасширениеКонфигурации() = Неопределено Тогда
Продолжить;
КонецЕсли;
Если МД.РасширениеКонфигурации().Имя <> "СТК" Тогда
Продолжить;
КонецЕсли;
МассивДобавляемыхТипов.Добавить(Тип("СправочникСсылка." + МД.Имя));
КонецЦикла;
Для каждого МД Из Метаданные.Документы Цикл
Если МД.РасширениеКонфигурации() = Неопределено Тогда
Продолжить;
КонецЕсли;
Если МД.РасширениеКонфигурации().Имя <> "СТК" Тогда
Продолжить;
КонецЕсли;
МассивДобавляемыхТипов.Добавить(Тип("ДокументСсылка." + МД.Имя));
КонецЦикла;
Для каждого МД Из Метаданные.ПланыВидовХарактеристик Цикл
Если МД.РасширениеКонфигурации() = Неопределено Тогда
Продолжить;
КонецЕсли;
Если МД.РасширениеКонфигурации().Имя <> "СТК" Тогда
Продолжить;
КонецЕсли;
МассивДобавляемыхТипов.Добавить(Тип("ПланВидовХарактеристикСсылка." + МД.Имя));
КонецЦикла;
Результат = Новый ОписаниеТипов(Результат, МассивДобавляемыхТипов);
Возврат Результат;
КонецФункции
(38) Не прокатывает такой вариант, т.к. объекты из расширений в этом случае в списке помеченных на удаление не появляются (По крайней мере у меня). А в стандартной обработке в разделе "Обслуживание" =>"Удаление помеченных объектов" они видны, но не удаляются по аналогичной описанной ТС причине
(39) Проверила еще раз. Платформа 8.3.19.1264. Все появляется. Имена = синонимы, заданные в конфигураторе.
У расширения стоит только галочка "Активно". Остальные галочки сняты.