Вход | Регистрация
 

А что у нас с обработкой удаления помеченных объектов происходит?

А что у нас с обработкой удаления помеченных объектов происходит?
Я
   Гений 1С
 
22.06.20 - 11:35
Как-то понадобилось та, что не в монопольном режиме работает, скачала парочку с ИС, все какие-то кривые.
Ну вот задача - нужно удалить позиции номенклатуры.
Выделяю "Номенклатура", выделяю позиции, показывает, что не может удалить, потому что есть ссылки в регистрах сведениях и документах.
Причем не показывает, помечены на удаление документы или нет.
Ладно, допилил, чтобы показывало помечены или нет ссылающиеся объекты.
Есть кнопка, которая удаляет ссылки на регистры. Но ее для каждой позиции надо нажимать.
Ладно, допилил, чтобы для выделенных позиций отрабатывало удаление из регистров.

Но далее - все документы помечены на удаление, почему не могу удалить?
Ага, доходит, я не выбрал при выборе объектов и Поступления, а не только Номенклатуру. Но почему нельзя автоматизировать? Открыть новый экземпляр обработки, куда будут добавлены все помеченные объекты? Бред...

Хорошо, ладно, решил уже это не дописывать, выбрал Поступления.
Дает удалить.
Запускаю удаление - хренакс, Номенклатура удалилась, характериристики уже удалить не может (ошибка), потому что их нет. А поступления не удаляются.
Все потому что удаляется в обычном режиме а не в ОбменДанными.Загрузка = истина.
В итоге "дырявые" Поступления, которые, правда и так нужно было бы удалить.

Народ, а нормальные обработки удаления помеченных есть? Или мне это просто повезло самую кривую скачать.

Те, что с расширениями, не предлагать. Не хочу использовать гранатомет там, где достаточно автомата.
   ДенисЧ
 
1 - 22.06.20 - 11:37
портативные инструменты смотрел?
   Гений 1С
 
2 - 22.06.20 - 11:40
(1) много букв, да? Говорю же, расширения не предлагать.
   Fish
 
3 - 22.06.20 - 11:43
"скачала парочку с ИС" - СкачалА? И это, БСП не предлагать?
   Timon1405
 
4 - 22.06.20 - 11:46
(2) портативные!=расширения http://devtool1c.ucoz.ru/index/portativniy_variant/0-39
   ДенисЧ
 
5 - 22.06.20 - 11:50
(2) А каким боком тут расширения?
   Гений 1С
 
6 - 22.06.20 - 11:50
(3) буквоедство - болезнь мозга. БСП не предлагать. Хотя там типовые, а что в БСП? Там она только монопольно ж работает, не?
   Гений 1С
 
7 - 22.06.20 - 11:51
(4) что то я из описания не понял - могут ли обработки из пакета работать без главной обработки? Идея сделать пакет инструментов хорошая, но реализация через гланды, имхо
   Fish
 
8 - 22.06.20 - 11:54
(6) Нет, работает не монопольно. Можно и монопольно, но это опционально.
   Гений 1С
 
9 - 22.06.20 - 11:55
Кстати, а можно сделать форк ИР чисто чтобы все работало на внешних обработках отдельных, без главной запускалки? ;-)
   Гений 1С
 
10 - 22.06.20 - 11:56
(8) так думаю там такая же хрень, что я описывал, плюс уверен что чистки регистров нет, ибо это противоречит политики недоверия пользователям у 1С, типо "защита от дурака".
   Fish
 
11 - 22.06.20 - 12:02
(10) Ну если ты ещё не поглядев, уже уверен, что это не то, тогда что ты тут спрашиваешь? Пили свой велосипед.
   Йохохо
 
12 - 22.06.20 - 12:03
(10) надо потратить кучу времени чтобы найти чего в ИР нет
   Aleksey
 
13 - 22.06.20 - 12:05
А в какой конфе удаление монопольно работает?
   Гений 1С
 
14 - 22.06.20 - 12:07
(11) не, ну почему. Я все беру на заметку.
Посмотрел БСП, там нет того, чего я хочу.
Нет удаления ключей регистров и удаления в режиме обмен данными загрузка.
   Гений 1С
 
15 - 22.06.20 - 12:07
(13) УТ 11.4
   DJ Anthon
 
16 - 22.06.20 - 12:07
Да, стандартная тупая шопиздетс.
http://www.unibytes.com/Dvureb7M2yELqw-Us4P3UgBB
я давно допилил, чтобы регистры удаляла, а вот на УФ переписать некогда.
+ там есть волшебная кнопочка, чтобы помечать подобные помеченному элементы.
   mistеr
 
17 - 22.06.20 - 12:09
(7) Ну попробуй. Придешь к тому же, что с запускалкой лучше.
   DEVIce
 
18 - 22.06.20 - 12:10
(15) Там есть штатная, которая может работать и не в монопольном и может запускаться по расписанию, вполне себе норм.
   DJ Anthon
 
19 - 22.06.20 - 12:13
(18) ага, норм. "Удаление записи регистра производится из её карточки". А карточка недоступна. Заменить тоже не работает, в новых конфигах 90% объектов связаны с регистрами и всякими ключами. Нахер такое удаление.
   Aleksey
 
20 - 22.06.20 - 12:14
(15) хз работает
   Fish
 
21 - 22.06.20 - 12:14
(14) А зачем удалять в режиме обмен данными загрузка? Обычно как раз перед удалением и происходит очистка всего, что необходимо.
   Гений 1С
 
22 - 22.06.20 - 12:23
(17) Можно вкратце (без иронии), чем лучше. Можно использовать другие обработки из текущей? или че?
   Гений 1С
 
23 - 22.06.20 - 12:24
(21) ну вот тебе пример - поступления не удалялись. какой-то там варнинг выдавался. А номенклатура удалилась. Получилась дыра в помеченных на удаление поступлениях
   Fish
 
24 - 22.06.20 - 12:25
(23) Это скорее оттого, что ты удаление "допилил". В штатном таких косяков не бывает.
   Гений 1С
 
25 - 22.06.20 - 12:25
(24) не надо ля-ля. этот варнинг типовой, из модуля объекта.
   Aleksey
 
26 - 22.06.20 - 12:27
(25) ну если ты активно юзаешь " в режиме обмен данными загрузка." то это уже не типовой.
   Fish
 
27 - 22.06.20 - 12:27
(25) Не надо ля-ля. Если у тебя номенклатура записана в документе, то ни одна штатная обработка удаления не даст удалить номенклатуру, пока не удалён документ.
Как допилил - то и получил.
   Fish
 
28 - 22.06.20 - 12:29
+(27) Или изначально скачал кривую поделку.
   Гений 1С
 
29 - 22.06.20 - 12:35
(27) даст. УдалитьОбъект проверь.
   mistеr
 
30 - 22.06.20 - 12:35
(22) Лучше в первую очередь для разработчика. Много общего кода, его нужно поддерживать. Механизмы платформы заточены только под объекты метаданных, а не под внешний код.
 
 Рекламное место пустует
   Гений 1С
 
31 - 22.06.20 - 12:37
(30) тогда бы я сделал в ИР интеграцию с типовым справочником дополнительных внешних обработок.
Размещать сейчас обработку в внешнем файле уже не комильфо. Это прошлый век и нафталин.
   Aleksey
 
32 - 22.06.20 - 12:38
(31) Тебе шашечки или ехать?
   Fish
 
33 - 22.06.20 - 12:40
(29) Какой ещё удалитьобъект? Я говорил о штатной обработке удаления помеченных. А если дать обезьяне гранату в руки, разрешив непосредственное удаление, то она может и не того наворотить.
   mistеr
 
34 - 22.06.20 - 12:40
(31) Лол. 1С по-другому не умеет загружать внешнюю обработку, только из внешнего файла. И это, кстати прошлый век.
   Гений 1С
 
35 - 22.06.20 - 12:41
(33) вот штатная проверила, что все ссылки помечены на удаление и могут быть удалены и начала удалять. И пролетела.
   Fish
 
36 - 22.06.20 - 12:42
(35) Не придумывай.
   Гений 1С
 
37 - 22.06.20 - 12:42
(34) да вы шьто? я вижу это так, что мастер грузит все эти обработки ИР в справочник дополнительных внешних обработкок.
И можно вызывать каждую отдельно. А если нужен общий код, та дернет обработку мастера и получит код из него.
   Гений 1С
 
38 - 22.06.20 - 12:42
(36) говорю, что видел. Зуб даю.
   Fish
 
39 - 22.06.20 - 12:44
(38) Не верю. Тем более, что в (0) ты уже написал, что скачал обработку с ИС, да ещё и "допилил". В таком случае - всё может быть.
   Гений 1С
 
40 - 22.06.20 - 12:46
(39) ну вера - дело личное.
   Гений 1С
 
41 - 22.06.20 - 12:50
(39) Я кстати, собираюсь дописать таки эту обработку и отдать клиенту. Вот если там проявится, я тебе скину скрины, чтобы объяснить почему доки не удаляются.
   Fish
 
42 - 22.06.20 - 13:05
(41) После твоего допиливания я и без скринов поверю.
   Гений 1С
 
43 - 22.06.20 - 18:59
Короче добавил код, чтобы все объекты добавлял на вкладку "Выбранные", очень удобно.
Вот он, если че:

&НаСервере
Процедура ДобавитьКУдалениюСсылкиНаОбъектыНаСервере(ТекСтрКонтроль_ИД)
    ДанныеСтрокиКонтроль= Контроль.НайтиПоИдентификатору(ТекСтрКонтроль_ИД);
    
    Для Каждого ТекСтр ИЗ ДанныеСтрокиКонтроль.СсылкиНаОбъект Цикл
        //Только ссылки добавляем.

        Если 
            Найти(ТекСтр.Метаданные, "Справочник.") = 0 
            И Найти(ТекСтр.Метаданные, "Документ.") = 0 
            И Найти(ТекСтр.Метаданные, "ПланСчетов.") = 0 
            И Найти(ТекСтр.Метаданные, "ПланВидовХарактеристик.") = 0 
            И Найти(ТекСтр.Метаданные, "ПланОбмена.") = 0 
            И Найти(ТекСтр.Метаданные, "БизнесПроцесс.") = 0 
            И Найти(ТекСтр.Метаданные, "Задача.") = 0 Тогда
            Продолжить;
        КонецЕсли;
        Если ТекСтр.СписокОбъектов.Количество() < 1 Тогда
            Продолжить;
        КонецЕсли;
        
        ТекОбъект = ТекСтр.СписокОбъектов[0].Значение;
        ИскСтроки = ВыбранныеЭлементы.НайтиСтроки(Новый Структура("Объект, Метаданные", ТекОбъект, ТекСтр.Метаданные));
        Если ИскСтроки.Количество() = 0 Тогда
            НСтр = ВыбранныеЭлементы.Добавить();
            НСтр.Метаданные = ТекСтр.Метаданные;
            НСтр.Объект = ТекОбъект;
            НСтр.Пометка = истина;
        КонецЕсли;
        
    КонецЦикла;
КонецПроцедуры

&НаКлиенте
Процедура ДобавитьКУдалениюСсылкиНаОбъекты(Команда)
    Для Каждого ДанныеСтрокиКонтроль ИЗ Контроль  Цикл
        ДобавитьКУдалениюСсылкиНаОбъектыНаСервере(ДанныеСтрокиКонтроль.ПолучитьИдентификатор());
    КонецЦикла;
    Элементы.ГруппаСтраницы.ТекущаяСтраница = Элементы.ГруппаВыбранныеЭлементы;
КонецПроцедуры
   Alexis
 
44 - 30.07.20 - 12:20
(43)  Выложи обработку куда-нибудь, пжл.
   Гений 1С
 
45 - 30.07.20 - 12:57
   acht
 
46 - 30.07.20 - 13:50
Контекстный вызов сервера в цикле. Гений, незамутненный гений.
   Aleksey
 
47 - 30.07.20 - 13:52


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.