| 
    
            
         
         | 
    
  | 
v7: Как правильно поставить отметку на удаление элемента в справочнике | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        Izuchayu1C7    
     28.04.15 
            ✎
    08:48 
 | 
         
        Нужно удалить 10 элементов с Наименованием Новый555 из справочника
 
        Пишу простую процедуру Процедура ПриОткрытии() СправочникСотрудники=СоздатьОбъект("Справочник.Сотрудники"); ФлагПоиска=0; Режим=0; Пока СправочникСотрудники.НайтиПоНаименованию("Новый",Режим,ФлагПоиска)=1 Цикл СправочникСотрудники.Удалить(0); КонецЦикла; КонецПроцедуры В результате 1с в режиме предприятия виснет намертво при открытии Справочник Сотрудники. Что не так? Как сделать правильно?  | 
|||
| 
    1
    
        фобка    
     28.04.15 
            ✎
    08:58 
 | 
         
        На одной ссылке стоишь все время. Делай выборку     
         | 
|||
| 
    2
    
        Дотошный    
     28.04.15 
            ✎
    08:59 
 | 
         
        (0) Оно не висит. Оно постоянно находит один и тот же (первый из) элемент. По Esc - просит подтвердить прерывание обработки.     
         | 
|||
| 
    3
    
        Дотошный    
     28.04.15 
            ✎
    09:12 
 | 
         
        (0) Если любишь риск, то напиши в своей конструкции
 
        СправочникСотрудники.Удалить(); Сработает ;)  | 
|||
| 
    4
    
        User_Agronom    
     28.04.15 
            ✎
    09:15 
 | 
         
        (0) Бесконечный цикл. Вот истинное лицо программиста 1С. От статыщ и не знает о теории циклов ;(     
         | 
|||
| 
    5
    
        Izuchayu1C7    
     28.04.15 
            ✎
    09:17 
 | 
         
        (1) 
 
        СпрСотр = СоздатьОбъект("Справочник.Сотрудники"); СпрСотр.ВыбратьЭлементы(); Пока СпрСотр.ПолучитьЭлемент()=1 Цикл Если СпрСотр.Наименование = "Новый" Тогда СпрСотр.Удаление(0); КонецЕсли; КонецЦикла; Находит первый попавшийся, помечает и прерывает цикл  | 
|||
| 
    6
    
        User_Agronom    
     28.04.15 
            ✎
    09:18 
 | 
         
        (5) Ещё и слово "выборка" не понял. Жуть.     
         | 
|||
| 
    7
    
        Herby    
     28.04.15 
            ✎
    09:21 
 | 
         
        (5) ну уж лучше тогда запрос написать по условию.
 
        А так перелапачивать весь справочник слишком долго, ну если конечно в справочнике не 10 сотрудников...  | 
|||
| 
    8
    
        Масянька    
     28.04.15 
            ✎
    09:21 
 | 
         
        Каждый программист должен в своей жизни сделать 2 вещи: написать бесконечный цикл и вирус.     
         | 
|||
| 
    9
    
        Дотошный    
     28.04.15 
            ✎
    09:23 
 | 
         
        (5) И таки да - нет такого слова "Удаление" в русском языке ;) 
 
        (7) >>долго>> проверял ? ;)  | 
|||
| 
    10
    
        User_Agronom    
     28.04.15 
            ✎
    09:23 
 | 
         
        Запрос = новый Запрос;
 
        Запрос.Текст = "выбрать ссылка из Справочник.Сотрудники где Наименование = ""Новый"""; РезЗапроса = Запрос.Выполнить(); Выборка = Запрос.Выбрать(); Пока Выборка.Следующий() цикл ОбъектСпр = Выборка.Ссылка.ПолучитьОбъект(); ОбъектСпр.УстановитьПометкуУдаления(Истина); КонецЦикла;  | 
|||
| 
    11
    
        Дотошный    
     28.04.15 
            ✎
    09:25 
 | 
         
        (10) Товарищ, здесь "клюшками" торгуют ))     
         | 
|||
| 
    12
    
        User_Agronom    
     28.04.15 
            ✎
    09:27 
 | 
         
        (11) Тогда pardon, но нигде это не написано.
 
        Актуальность поста (4), кстати, не изменилась.  | 
|||
| 
    13
    
        Масянька    
     28.04.15 
            ✎
    09:33 
 | 
         
        (12) Не "пардон" :) Секцию читать надо.     
         | 
|||
| 
    14
    
        Дотошный    
     28.04.15 
            ✎
    09:40 
 | 
         
        Попробуй вместо вот этого:
 
        СпрСотр.Наименование = "Новый" написать Лев(СпрСотр.Наименование,5) = "Новый" Должно взлететь. И замени слово "Удаление" на единственно правильное "Удалить" (0 можешь оставить) ))  | 
|||
| 
    15
    
        Дотошный    
     28.04.15 
            ✎
    09:40 
 | 
         
        Предыдущее к (5), если что     
         | 
|||
| 
    16
    
        Izuchayu1C7    
     28.04.15 
            ✎
    10:25 
 | 
         
        (15) Дотошный! ты лучший!
 
        СПАСИБО то что нужно!  | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |