Имя: Пароль:
1C
 
Как пометить элемент справочника на удаление?
0 Angels
 
27.10.05
12:48
Как пометить элемент справочника на удаление?
1 Широкий
 
27.10.05
12:49
delete
2 goodfella
 
27.10.05
12:50
Тут программист нужен, а лучше целый штат программистов. :-)
3 Ветеран
 
27.10.05
12:51
Меню - Действия - Пометить на удаление
4 Широкий
 
27.10.05
12:51
(0) Четко задай свой вопрос, а то все глумится начнут :))
5 Ivan2k
 
27.10.05
12:52
ну если клавиши delete нету то есть иконка, вроде бы 6-я по счету %)
а вообще вопрос малость не в тему
6 Иешуа
 
27.10.05
12:53
(0) программно или интерактивно?
Если интерактивно, то тебе уже оветили, а если программно - ходи в синтаксис помошник...
7 Angels
 
27.10.05
12:54
При проведении документа на увольнение, хотелось бы пометить на удаление сотрудника в справочнике не заходя туда
8 Таня
 
27.10.05
12:55
(7) с ума сошел? зафига так делать?
9 Angels
 
27.10.05
12:56
Так надо
10 goodfella
 
27.10.05
12:56
(7) А смысл?
11 Ветеран
 
27.10.05
12:58
Удалить(0)
12 Иешуа
 
27.10.05
12:58
(7) А если ты ошибся и выбрал не того сотрудника?
В любой нормальной системе есть реквизит "Дата увольнения" - его и заполняй... А удалять, ИМХО, не правильно!
13 Стерва-бух
 
27.10.05
12:59
(9) ну пометишь ты его на удалени - и что?
удалить то он его все равно так просто не даст...
14 Таня
 
27.10.05
12:59
+12) этот реквизит при проведении приказа об увольнении сам заполняется, выведи просто колонку в списке справочника состояния трудовых отношений, или уже на крайняк в другую группу переноси
15 TDV
 
27.10.05
13:00
Спр=СоздатьОбъект("Справочник.ТвойСправочник");
Спр.НайтиЭлемент(ТвойЭлемент);
Спр.Удалить(0);
1-Удаление;
0-пометка на удаление;
16 Ветеран
 
27.10.05
13:01
Почему нельзя уволенного сотрудника пометить на удаление?
17 Ivan2k
 
27.10.05
13:01
Ветеран: значит не достаточно прав
18 Angels
 
27.10.05
13:03
15) Пробовали не помечается
19 avm-nn
 
27.10.05
13:07
Желание странное, т.к. этот сотрудник используется у тебя в массе документов ( например в авансовых отчетах может быть ). А пометить его просто. У документа увольнения есть реквизит "Сотрудник". При проведении пишешь:

СпрСотр = СоздатьОбъект("Справочник.Сотрудники");
СпрСотр.ВыбратьЭлементы(); //возможно это не обязательная строка
СпрСотр.НайтиЭлемент(Сотрудник); // Сотрудник - реквизит документа
СпрСотр.Удалить(0);

Вроде бы так.

Не забудь написать код при отмене проведения
20 avm-nn
 
27.10.05
13:10
Посмотри в отладчике результат выполнения СпрСотр.НайтиЭлемент(Сотрудник). 1 или 0, т.е. находит элемент или нет?
21 Angels
 
27.10.05
13:10
(19) Большое спасибо! Все пометилось!
22 avm-nn
 
27.10.05
13:11
Не является ли справочник сотрудников подчиненым какому либо справочнику?
23 Angels
 
27.10.05
13:11
Нет
24 avm-nn
 
27.10.05
13:12
СпрСотр.ВыбратьЭлементы();  - из-за этого сработало?
25 Широкий
 
27.10.05
13:13
(24) эта строка не нужна
26 Angels
 
27.10.05
13:13
Ага
27 Ветеран
 
27.10.05
13:17
Почему нельзя уволенного сотрудника помечать на удаление?
28 lisss
 
27.10.05
13:24
(27)Можно, только удалить его не получиться, т.к. по нему есть документы
(я могу ошибаться)
29 Таня
 
27.10.05
13:27
(27) потому что это лишнее и совершенно не имеющее смысла телодвижение.. зачем дописывать в конфу что-то что не имеет практического смысла?
30 avm-nn
 
27.10.05
13:27
(25) выборку надо открывать и лучше это делать принудительно
(27) пометка на удаление - функционал самой системы 1С. 1С использует его в своих целях ( при непосредственном удалении объектов ). В справочнике сотрудников лучше завести галку "уволен" или "дата увольнения". это корректнее.
31 Парижская фанера
 
27.10.05
13:28
(21) Как мало надо человеку для радости...

ЗЫ Был на совещании сегодня - дефицит квартального плана после него - 70 чел./дней... Пипец :((
32 Таня
 
27.10.05
13:29
(31) скушали на совещании? людоеды!!
33 Таня
 
27.10.05
13:30
(30) зачем при поиске элемента справочника открывать выборку?
34 Таня
 
27.10.05
13:31
я думаю что у него сработал твой код не из-за выбратьЭлементы() а потому,что первоначально он написал ТвойЭлемент а не Сотрудник
35 Ветеран
 
27.10.05
13:31
(29) Например, потом при обходе справочника сотрудники можно, проверяя прометку удаления, пропускать уволеных ..., или при выборе помеченного сотрудника система автоматом будет предупреждать пользователя (элемент помечен на удапление ...) ...
(30) Не убедительно ...
Если есть ссылки, система его один хрен не удалит ...
36 Таня
 
27.10.05
13:33
(35) при обходе справочника сотрудники с таким же успехом можно проверять  не пометку удаления а значение реквизита "трудовые отношения"..
37 Ветеран
 
27.10.05
13:36
(36) А есть такой реквизит? А какого он типа? Хорошо если он просто флажок или перечисление, а если он справочник, тогда придётся ещё искать элемент, с которым затем сравнивать ...
38 lisss
 
27.10.05
13:39
(37)И сделали они всем уволенным сотрудникам пометку на удаление, и накопилось через год 100 уволенных сотрудников, и решили как-то удалить они все помеченное на удаление, и пришли в ужас они, ибо было там окола 500 неудаляемых элементов...
39 Таня
 
27.10.05
13:40
перечисление ХарактерРаботы, там есть ТрудовыеОтношенияПрекращены
40 Angels
 
27.10.05
13:40
Ну да, страшная сказочка...
41 Ветеран
 
27.10.05
13:41
(38) И что? Это плохо? Чем?
42 avm-nn
 
27.10.05
13:42
(33) в нормальных системах для создания списка элементов, в котором происходит поиск и другие действия.
(35) предстать помеченный элемент справочника сотрудники. он просто был введен по ошибке и удален или сотрудник уволен? я лучше заведу поле в справочнике для определения статуса человека. А кто хочет пусть использует например справочник ГТД для хранения примечаний и т.д.
43 Широкий
 
27.10.05
13:43
(30) с каких это пор, чтобы найти элемент нужно было открывать выборку?
44 Таня
 
27.10.05
13:45
(42) это в нормальных системах, а в 1с метод ВыбратьЭлементы имеет другое значение
45 avm-nn
 
27.10.05
13:45
(41) да нифига, все нормально. ассоциатиции на тему:
Я: А как вы делаете отчет по VIP клиентам, где ставите пометку, что это VIP?
Чел: А я их помню!
(43) Ну не открывай, а я подстрахуюсь.
46 Широкий
 
27.10.05
13:47
(45) страховка?... я что то не догоняю... ты про 1с говоришь?
47 Таня
 
27.10.05
13:47
(45) подстрахуйся, только учти, что выполнение метода требует времени
48 avm-nn
 
27.10.05
13:48
(44) какое? ( Ассоциация: это может быть в Англии собака - друг человека ... )
думаю, что именно список элементов в классическом понимании этого слова он и создает - массив ссылочек на выьранные элементы.
49 avm-nn
 
27.10.05
13:50
(46) Я уже встречал в чужом коде такую ситуацию, когда поиск без предварительной выборки не работал.
(47) учел.
+(38) и жили они долго, но хреново.
50 lisss
 
27.10.05
13:53
(46)(47)Создайте справочник, сделайте ИспользоватьРодителя, потом ВыбратьЭлементы, и потом попробуйте найти элемент с другим родителем. Что получиться?
51 avm-nn
 
27.10.05
13:54
Вообще то думаю, что метод ВыбратьЭлементы() в 1С при создании объекта сразу же выполняется без лишнего афиширования, но почему-то это происходит либо не всегда либо как-то странно.
52 avm-nn
 
27.10.05
13:57
И я предпочитаю еще придерживаться общих рекомендаций по программированию вообще. Но это лично мое мнение.
53 lisss
 
27.10.05
13:58
(51)Если ты с этим справочником перед этим ничего не делал, то должно сработать.
(я могу ошибаться)
54 avm-nn
 
27.10.05
14:01
(53) вот у автора и не получилось почему-то, а должно было.
Резюме: Алес! Тема пометки на удаление раскрыта!
55 Широкий
 
27.10.05
14:04
(50)
Процедура Сформировать()
 справ=СоздатьОбъект("Справочник.Контрагенты");
 справ.ИспользоватьРОдителя(ВыбКонтрагенты);
 Справ.ВыбратьЭлементы();  
 Пока Справ.ПолучитьЭлемент()=1 Цикл
     сообщить(Справ);
 КонецЦикла;    
 
 Справ.НАйтиЭлемент(ВыбКонтрагенты1);
 сообщить("по поиску"+Справ);
КонецПроцедуры

Это работает