Имя: Пароль:
1C
1C 7.7
v7: Можно ли пометить на удаление справочник, находясь в нем?
0 Gugolovski
 
30.05.18
09:58
Можно ли пометить на удаление справочник, находясь непосредственно в нем?

попробовал:

Форма.Закрыть(0);
а после через создатьОбъект()... и спр.Удалить()

Но пишет объект заблокирован..
Или это невозможно?
1 NikVars
 
30.05.18
10:10
(0) Через конфигуратор не?
2 NikVars
 
30.05.18
10:15
Удалить(<?>);
Синтаксис:
Удалить(<Режим>)
Назначение:
Удалить элемент справочника.
Параметры:
<Режим> - : 1 - непосредственное удаление, 0 - пометка на удаление (необязателен, по умолчанию - 1).
Замечание:
Метод  можно использовать только для объектов, созданных функцией СоздатьОбъект.
3 Gugolovski
 
30.05.18
10:19
ну да

ПРоцедура Удалить()
кодПоиска = код;
Форма.Закрыть();

спр = СОздатьОбъект("Справочник.Сотрудники");
спр.НайтиПоКоду(кодПоиска);
спр.Удалить();
КонецПРоцедуры


пишет заблокирован объект
4 Kigo_Kigo
 
30.05.18
10:20
И приз за самый лучший коммент уходитпервонаху, за самый лучший  и остроумный ответ
По сабжу- это не возможно, пока открыт элемент, он заблокирован
5 Масянька
 
30.05.18
10:22
(3) спр.Удалить(); -> спр.Удалить(0);
А вообще - (4).
6 NikVars
 
30.05.18
10:27
Кто еще путает справочник и элемент справочника?!
7 Gugolovski
 
30.05.18
10:27
какое дурацкое ограничение)
8 Gugolovski
 
30.05.18
10:28
(6) Прошу прощения за неточность. Именно, элемент справочника
9 Андрей_Андреич
 
naïve
30.05.18
10:29
Не надо рубить сук на которых сидишь
10 Slypower
 
30.05.18
10:30
(6) а что, в конфигураторе можно пометить на удаление справочник?
11 Андрей_Андреич
 
naïve
30.05.18
10:31
А ПослеЗакрытия() не работает?
12 Масянька
 
30.05.18
10:31
(9) Ну, интересно же :))))))))))
13 Масянька
 
30.05.18
10:35
И - меня, лично, интересует: зачем открывать и удалять? А так просто (ну, из списка) - религия не позволяет?
14 Андрей_Андреич
 
naïve
30.05.18
10:37
(13) Открыл увидел что не нужен. может формы списка и нет - открывается какой-нибудь мега обработкой "НайтиПодозрительныеЭлементы"
15 NikVars
 
30.05.18
10:43
(10) Открой конфигуратор и проверь.
16 1Сергей
 
30.05.18
10:44
Вроде, можно через ложное закрытие. Хотя, хз. Не помню ужо
17 1Сергей
 
30.05.18
10:44
Надо Ёпрста звать
18 ikea
 
30.05.18
11:06
Попробуйте через дополнительную обработку с передачей туда контекста формы элемента справочника.

В обработке следующий код:

Перем ЭЛ;

Процедура ПриОткрытии()
    Если ПустоеЗначение(Форма.Параметр)=0 Тогда
        КонтекстЭлемента = Форма.Параметр.Получить("КонтекстЭлемента");
        ЭЛ=КонтекстЭлемента.ТекущийЭлемент();
        КонтекстЭлемента.Форма.Закрыть(0);
        Форма.Закрыть();
    КонецЕсли;
КонецПроцедуры // ПриОткрытии

Процедура ПриЗакрытии()
    Если ПустоеЗначение(ЭЛ)=0 Тогда
        Спр=СоздатьОбъект("Справочник.НужныйСправочник");
        Спр.НайтиЭлемент(ЭЛ);
        Спр.Удалить();
        ОткрытьФорму(ЭЛ);
    КонецЕсли;
КонецПроцедуры // ПриЗакрытии
19 VladZ
 
30.05.18
11:08
(0) Зачем? Закрой карточку и пометь на удаление. Зачем себе создавать проблемы на ровном месте?
20 NSSerg
 
30.05.18
11:09
Сделать в форме элемента кнопку - "открыть в форме списка".
И удалять станет намного удобней.
21 Slypower
 
30.05.18
11:16
(15) ну понятно... сарказм не для вас. А серьезно, давайте доказательство того, что вы можете это сделать...
22 Вася Теркин
 
30.05.18
11:16
передОткрытием или при записи попробуй...
23 ADirks
 
30.05.18
11:17
Если уж извращаться...
Надо организовать очередь событий. Ежели возникает желание, пихаем туда запрос на удаление. Как только удаление станет возможным, оно исполнится.
24 Вася Теркин
 
30.05.18
11:17
попробуй записать и при записи поставить пометку удаления. Хотя она и ридонли, роде.
25 NSSerg
 
30.05.18
11:49
(24) Из формы элемента записать можно только через "переоткрытие"
26 NSSerg
 
30.05.18
11:49
Блин, пометить можно только через "переоткрытие"
27 Карст
 
30.05.18
12:50
дааа чинить мотор через фыхлопную трубу (с) ))
28 _stay true_
 
30.05.18
12:52
(23) больной у.....к хDDD
29 Ёпрст
 
30.05.18
12:58
(0) можно, как минимум, 4-мя способами
30 Ёпрст
 
30.05.18
12:59
1. update parentid
2.открытие-закрытие формы обработки
3.обработка ожидания
4.показ копии объекта (метод с синьоры)
31 Злопчинский
 
30.05.18
13:10
Генеришь событие. которое срабатывает после закрытия формы. в обработке события - удаляешь
32 ADirks
 
30.05.18
13:31
(28) ага, у меня и справка есть!

а вообще идея хорошая, пойду ка, запилю себе MQ. с серверами и маршрутизацией.
Основная теорема систематики: Новые системы плодят новые проблемы.