Эта обработка необходима когда не получается удалить объект из-за того, что на него ссылаются другие объекты.
Это обработка может избавить пользователя от тупиковой ситуации — когда нужно удалить объект, а с помощью стандартной операции «Удаление помеченных объектов» это не получается сделать из-за того, что на удаляемый объект ссылаются другие объекты. Т.к. обработка //infostart.ru/public/150083/ была востребованна и у пользователей была просьба создать такую же под управляемые формы, а так же добавить другие объекты для удаления, то решил создать и выложить эту обработку.
Сразу предупреждаю, что пользоваться обработкой нужно со знанием дела, не зря же в конфигурации сделан контроль ссылок на удаляемый объект. Я думаю, что у кого возникла необходимость скачать эту обработку знают как и для чего ее использовать.
Как бы не было, но всегда желательно делать резервную копию, не забывайте об этом!
Удалить объект и наделать дырки в базе ? Это зачем ?
Обоснование » пользователями востребовано» не прокатывает , так как пользователи , как наркоманы, не отвечают за свои действия, так как не понимают, хотя думают, что понимают.
(1) ну подозреваю, что обработка все таки не для простых смертных.
Кому: Программист
(1), Игорь Игоревич, во-первых, дырки не делаются, все происходит иначе — удаляется объект, если на него другие объекты не ссылаются, то никаких нюансов не возникает, если же есть ссылка на удаленный объект, то получается битая ссылка в объекте который ссылается на объект который уже удален — вместо читаемого объекта появляются буквы и цифры, пример: c5055797-6d3f-11e7-9d9a-000c29ab2989 , но и это тоже не является критичным, но есть одно исключение — это когда в конфигурации прописан код в котором идет обращение к этому удаленному объекту.
Во-вторых, я в описание предупредил: «Сразу предупреждаю, что пользоваться обработкой нужно со знанием дела, не зря же в конфигурации сделан контроль ссылок на удаляемый объект. Я думаю, что у кого возникла необходимость скачать эту обработку знают как и для чего ее использовать». А пользователи если не думают своей головой, то могут наделать таких «дыр» в учетных данных, что они будут похуже чем, если бы они воспользовались обработкой.
В-третьих, я специально отнёс эту обработку к программистам, т.к. нужно не бездумно использовать её, а с осознанием дела.
Приведу пример: Ко мне обратился клиент, у него в одной информационной базе находилось две организации, которые нужно было разнести, многие бы начали делать перенос данных, а с учетом того, что не бывает гладкого учета, то этот процесс был бы затяжной, т.к. нужно не только перенести данные, но и потом выравнять учёт. Я же поступил иначе — скопировал ИБ, в одной удалил одну организация с помощью принудительного удаления, а во второй другую, потом сделал тестирование и исправление обоих баз, таким образом я разнес организации по отдельным ИБ.
(3) мельчают программисты.
Написать одну строчку кода не могут, обработку качают.
Я так подозреваю, что качают пользователи и бездумно удаляют, то что не надо удалять.
(5) Сергей, а чем Вас это так раздражает? 🙂
Кроме программистов еще существуют администраторы которые и не знают программного кода 1С. А многим проще скачать, чем открывать конфигуратор, создавать обработку, добавлять реквизит и «написать одну строчку кода». Тем более для УФ не очень удобен выбор объекта при выпадающем списке, когда ссылка составного типа, так что одной строчкой не обойтись 😉
И Вы не забывайте, что есть много работников франчайзи, которые не всегда знают даже основ программирования, а в арсенале такую обработку нужно иметь.
(6)
Зачем? И кому?
За 17 лет работы с 1С я твердо усвоил, что пользователю нельзя давать свободу действий. Мало того, оставлять в базе битые ссылки — это косяк программиста.
Если мне надо что-то быстро прибить, я первым делом устанавливаю критерии отбора, очищаю ссылки (если надо) и только потом удаляю объекты. Причем никаких ручных безусловных действий, надо страховать и свои же собственные ошибки.
А уж конечным пользователям такие операции никогда в жизни не доверял и не доверю.
Вы меня конечно удивили насчет 17 лет работы и дальнейших размышлений.
Если бы Вы не поленились прочитать комментарии и кому она предназначена, то поняли, что она для Администраторов и Программистов, а если они используют данную обработку, то наверняка подходят со знанием дела.
Так же в комментариях я привел яркий пример как можно использовать данную обработку, я даже не представляю как бы Вы обошлись заменой на пустые ссылки и по каким отборам бы действовали.
Ну и насчёт битых ссылок — я не хочу сказать, что это хорошо, но назовите мне отрицательные стороны того, когда они имеются и на них нет обращений программного кода? Возьмите несколько баз в которых учётные данные за несколько лет, особенно те в которых происходил перенос(обмен) данных и сделайте «Тестирование и исправление», думаю результаты Вас удивят(это я насчет 17 лет работы и боязни к битым ссылкам).
Тем более эта обработка была написана по просьбе людей, которые скачивали подобную, но менее универсальную.И это их право как избавляться от объектов которые им не нужны. А то что программист скачал её, а не захотел сам писать обработку, не говорит о том, что его нужно принижать словом «мельчают». Я сам иногда качаю шаблоны печатных форм, чтобы не тратить время, хотя для меня нет сложности создать этот шаблон.
P.S Насчёт 17 лет не в обиду, просто реально удивило.
Александр. Давайте начистоту, очень хочется срубить SM-чиков?
А как иначе назвать выкладывание 1-строчной обработки, за которую любой практикующий программист готов шпалить до посинения?
В прошлом посте, я четко расписал, что для программиста эта обработка, как дохлому ослу уши.
Вот кроме шуток, весь код — одна строка. Может конечно плюсуются строки по перебросу с клиента на сервер, и их будет тогда 10 🙂
Вот только зачем ставит тэг «ДЛЯ ПРОГРАММИСТА» ???
(9) Сергей К., если Вы про $m, то считайте свои, а не чужие. $m мне и так идут с прошлой обработке по удалению объектов и намного больше чем вся сумма ваших $m за скачивание в ваших публикациях. Может Вас это гложет? Еще раз повторюсь — меня попросили добавить функционал, я это сделал и выложил для тех, кому эта обработка необходима. Вам не нужна, проходите мимо, незачем засорять ветку и форум своими домыслами. Если очень хочется пообщаться, то пишите в личку.
И фраза «Может конечно плюсуются строки по перебросу с клиента на сервер, и их будет тогда 10 » подчеркивает то, что Вы или придуриваетесь, или у Вас не такие уж большие познания в программирование в 1С, т.к. по первому скрину уже видно, что это не так.
(4) Александр, у вас в Аннотации написано БЕЗ Контроля Ссылочной целостности. Обоснование, что она удалит только битые ссылки не очень убедительна. У большинства пользователей она наоборот, наделает битых ссылок.
Вы не поверите — 95% пользователей 1С работают с базой практически как с чёрным ящиком.
В том числе и большинство программистов.
Было бы лучше — восстанавливать битые ссылки, потому как если они используются в документах, то они там должны быть заполнены.
Или второй вариант — найти все цепочки взаимосвязей и проанализировать можно ли удалить объект.
Как то так.
Сергей, Обработка спорная, но ваш упрёк, что Александр хочет заработать SM-чиков действительно не к месту. Он правильно хочет заработать. Все тут хотят заработать и не только тут. Давайте лучше убедим Александра доработать свою обработку ))
За такие обработки и высказывания типа «пример: c5055797-6d3f-11e7-9d9a-000c29ab2989 , но и это тоже не является критичным» я бы уволил)))
(12) Игорь Игоревич, эта обработка специфическая, кто ее качает, тот знает как ее применить. Обработок для удаления объектов с контролем ссылочной целостности на Инфостарте хватает и их очень много. Зачем заниматься плагиатом?
(13) Дмитрий Жиляков, я сам являюсь Начальником отдела разработок и когда слышу подобную ерунду, то становится страшно, что есть такие специалисты. Давайте Вы ответите за свои слова и протестируете базы на контроль ссылочной целостности, а потом, когда увидите результат, то уволите штаты программистов.
И перед тем как разводить ля-ля, задайтесь вопросом как удалить организацию в базе, а потом поведайте нам?!
(13) а я бы нет. Объект легко восстановить в базе. И битые ссылки превращаются… превращаются… превращаются в нормальные. И делать ничего не нужно.
Вообще-то в многих консолях запросов можно выполнять код по строкам результата: запросом нашел — написал удалить. И все. Одна строка кода без конфигуратора.
Принудительное программное удаление оправданно, если штатная обработка уже бессильна. А она бессильна в любом продакшене.
(15) если деление на организации нужно — значит база совсем мелкая. Иначе задачи удалением не решаются. Я бы глянул как вы на сотне Гб будете тестирование делать)) месяц операция будет выполняться.
Проще и эффективнее написать на 1с по метаданным сборный скрипт и выполнить его.
(15) Удалите таким образом какой нибудь полуфабрикат в УПП на РАУЗ и вам действительно станет страшно)))
(16) Легко восстановить когда такие ссылки вовремя найдены, а если появилась тьма дублей(например при обмене) и прошло пару недель , а у вас в день по несколько тысяч документов……
Не просто так существует контроль ссылочной целостности.
По поводу удаления организаций, удаляли и не раз и без непосредственного удаления.
«И перед тем как разводить ля-ля, задайтесь вопросом как удалить организацию в базе, а потом поведайте нам?!» — на инфостарте есть несколько вариантов как это сделать.
Хотите удалять непосредственно, ваше право, но не надо давать такие инструменты людям которые не понимают последствия
(17) «если деление на организации нужно — значит база совсем мелкая.» — не очень понял зависимость между необходимостью деления базы на организации и размером базы….
«Иначе задачи удалением не решаются.» — допустим есть задача вывести одну организацию из бизнеса и передать ее новым собственникам, при этом зачистить все следы, как вы будете решать эту задачу?
(20) Буду решать точно не только через методы 1с. Возьмите 500 Гб базу. 24/7. Окно в неделю — 20 минут. Критичный максимум — час.
Ну снимете вы копию для кого-то и с ней будете играться хоть пол года. Согласен…
А из работающей базы как вы все через ТиИ собираетесь удалять — я не понял. Или это вообще не нужно? Несколько дней будет выполняться такая процедура при монопольном доступе.
Удаление документов и записей регистров по известному отбору почему нельзя произвести в скуле? Это не сложно, в тысячи раз быстрее и без монопольного доступа. Какие-то сложные взаимосвязи можно оставить на 1с. Но точно не весь объем данных.
(21)
— не понял причем здесь ТиИ…. Если надо полностью вычистить организацию из базы то это решается простым удалением без всяких монопольных режимов.
(21)
— Если у вас на проходной идет бой между местной охраной и фсб(точнее уже вся охрана изучает пол) то даже скорость скуля вас не спасет))), а если у вас нет жесткого ограничения по времени то смысла возиться напрямую со скулем нет, да и потом откуда гарантии что вы вычистите все. Если бы речь шла о 7ке то можно было бы и со скулем повозиться.
(21)
— и скорее всего не выполнится
На самом деле ситуации бывают разные и подходы к ним тоже должны быть разными.
п.с. не забывайте что ваши советы могут читать новички не умеющие нормально писать запросы которые после прочтения полезут резать базу в скуле даже не сделав перед этим бекап…..
Добрый день. А есть возможность сделать так что бы сразу много документов добавить в обработку?