Имя: Пароль:
1C
1С v8
УФ. Пометка на удаление элементов справочника
,
0 Полька
 
31.10.18
10:39
Собственно, пометить нужно весь справочник и не один. Написала. Ничего не происходит. Такое ощущение, что даже выборку не делает, пролетает за долю секунды.

&НаСервере
Процедура ПометитьПодрНаСервере(Команда)
    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    СтруктураПредприятия.Ссылка
        |ИЗ
        |    Справочник.СтруктураПредприятия КАК СтруктураПредприятия";
    Выборка = Запрос.Выполнить().Выбрать();

    Пока Выборка.Следующий() Цикл
        В=Выборка.Ссылка.ПолучитьОбъект();
        В.УстановитьПометкуУдаления(ИСТИНА);
    КонецЦикла;

КонецПроцедуры
1 Случайный прохожий
 
31.10.18
10:42
В.ПометкаУдаления=Истина;
В.Записать();
2 Случайный прохожий
 
31.10.18
10:43
Хотя.. Должно и без этого работать. Уверены, что элементы не помечены на удаление?
3 Полька
 
31.10.18
10:46
(2) справочник же виден. не помечены
4 Полька
 
31.10.18
10:49
(1) сделала. не помечает.
5 Случайный прохожий
 
31.10.18
10:50
Ну тогда старым топоровым методом))
Сообщить(В.ПометкаУдаления); перед установкой пометки и после. Что говорит?
6 Случайный прохожий
 
31.10.18
10:54
Ну и количество строк в запросе не мешало бы проверить
7 Полька
 
31.10.18
10:59
(5) а с сервера "Сообщить" не придет.
8 singlych
 
31.10.18
10:59
Обновить список подразделений пробовали?
9 Полька
 
31.10.18
11:00
в обычном приложении проверяла- все работает
10 Полька
 
31.10.18
11:00
(8) конечно
11 Timon1405
 
31.10.18
11:00
(7) придет
12 Случайный прохожий
 
31.10.18
11:01
(7) Что за новость?)) Ну тогда точки останова поставьте
13 Полька
 
31.10.18
11:06
(11) (12)  у меня процедура &НаСервере
не приходит, на "останов" не реагирует
14 catena
 
31.10.18
11:07
(13)Выведите в ЖР. Вообще, что ЖР говорит? Происходят действия какие-то?
15 Timon1405
 
31.10.18
11:13
(13) мы понимаем что на сервере. после выполнения серверной процедуры массив сообщений с сервера приезжает на клиент и сообщается там.
что отладка не реагирует - см. "включение отладки на сервере", если база клиент-серверная. или проверить, может просто не подключен в отладке сеанс.
16 Случайный прохожий
 
31.10.18
11:15
(11) Уверены, что эта процедура вообще запускается?
17 1Сергей
 
31.10.18
11:17
(16) +1
18 Полька
 
31.10.18
11:21
ЖР говорит, что не запускается
19 Случайный прохожий
 
31.10.18
11:22
(18) Кнопочку к процедуре хорошо привязали? :)
20 Полька
 
31.10.18
11:24
(19) вроде, хорошо. проверила еще раз.
я первый раз делала обработку на УФ :)))) может, чего пропустила :)))
21 Случайный прохожий
 
31.10.18
11:27
(20) ну так с этого и надо было начинать)))

&НаКлиенте
Процедура ПометитьПодр(Команда)
    ПометитьПодрНаСервере();
КонецПроцедуры

&НаСервере
Процедура ПометитьПодрНаСервере()
    Запрос.Текст =
        "ВЫБРАТЬ
        |    СтруктураПредприятия.Ссылка
        |ИЗ
        |    Справочник.СтруктураПредприятия КАК СтруктураПредприятия";
    Выборка = Запрос.Выполнить().Выбрать();

    Пока Выборка.Следующий() Цикл
        В=Выборка.Ссылка.ПолучитьОбъект();
        В.УстановитьПометкуУдаления(ИСТИНА);
    КонецЦикла;
КонецПроцедуры
22 Полька
 
31.10.18
11:27
Создала команду. К ней привязала процедуру. Кнопку положила на форму. Что не так?
23 Полька
 
31.10.18
11:28
(21) а я сразу ПометитьПодрНаСервере() к кнопке
24 palsergeich
 
31.10.18
11:29
(22) Нельзя
25 palsergeich
 
31.10.18
11:29
(23) Команда вызвать может только клиентский обработчик
26 palsergeich
 
31.10.18
11:30
(21) Вот так и только так
27 Случайный прохожий
 
31.10.18
11:30
(22) нужно обработать нажатие на клиенте, а процедуру удаления запускать на сервере. Смотрите (21)
28 Timon1405
 
31.10.18
11:30
1) Создаете команду
2) Тащите её мышкой на поле формы.
3) Платформа сама предложит сделать 2 обработчика клиент+сервер
4) Соглашаетесь
29 Полька
 
31.10.18
11:34
Спасибо всем :)
Все сработало и сообщения пришли :)