|
Изменить ресурс РС при удалении записи | ☑ | ||
---|---|---|---|---|
0
Juliette_
Juliette 20.09.23
✎
13:00
|
Надо запретить удаление записи регистра сведений, вместо этого изменить значение ресурса "Актуальность". В менеджере набора
Процедура ПередЗаписью(Отказ, Замещение) Если ЭтотОбъект.Количество() = 0 Тогда Отказ = Истина; КонецЕсли; КонецПроцедуры А как поменять значение? Менеджер записи использовать? |
|||
1
Donkey_hot
20.09.23
✎
13:03
|
Для Каждого Запись Из ЭтотОбъект Цикл
.... КонецЦикла |
|||
2
Juliette_
Juliette 20.09.23
✎
13:04
|
спасибо!
|
|||
3
Juliette_
Juliette 20.09.23
✎
13:11
|
не совсем корректно.
Теперь не дает записать и при создании новой записи. А при удалении Процедура ПередЗаписью(Отказ, Замещение) Если ЭтотОбъект.Количество() = 0 Тогда Для Каждого Запись Из ЭтотОбъект Цикл Запись.Актуальность = НЕ Запись.Актуальность; КонецЦикла; Отказ = Истина; КонецЕсли; КонецПроцедуры не меняется значение, ведь Отказ = Истина. Как решить вопрос? |
|||
4
lubitelxml
20.09.23
✎
13:17
|
(3) может надо все таки так:
Если ЭтотОбъект.Количество() = 0 Тогда Отказ = Истина; Иначе Для Каждого Запись Из ЭтотОбъект Цикл Запись.Актуальность = НЕ Запись.Актуальность; КонецЦикла; КонецЕсли; |
|||
5
lubitelxml
20.09.23
✎
13:18
|
Я бы еще "Запись.Актуальность = НЕ Запись.Актуальность; " заменил на "Запись.Актуальность = ЛОЖЬ", иначе может неактуальные сделать актуальными
|
|||
6
Juliette_
Juliette 20.09.23
✎
13:24
|
(4) ну так после удаления записи 0 и получается (
|
|||
7
lubitelxml
20.09.23
✎
14:01
|
(6) если у тебя нет записей, то и цикл не выполнится ведь
|
|||
8
Juliette_
Juliette 20.09.23
✎
14:04
|
(7) да, и как решить?
Удаляем запись, количество = 0, отказ = истина И при этом надо изменить значение ресурса |
|||
9
lubitelxml
20.09.23
✎
14:10
|
вот так попробуй:
Если ЭтотОбъект.Количество() = 0 И ЭтотОбъект.Модифицированность() =Истина Тогда Отказ = Истина; КонецЕсли; |
|||
10
AlexeyKh
20.09.23
✎
14:19
|
Если ЭтотОбъект.Количество() = 0 Тогда
//удаление записей, производится при установленном Отборе!!!!! //вот по нему и читаем то что хотят удалить!!!! ЭтотОбъект.Проичитать(); //и а дальше вставляете свой цикл обхода записей ДЛя каждого .... //Отказ = Истина; //это убрать!!!! КонецЕсли; |
|||
11
Juliette_
Juliette 20.09.23
✎
14:24
|
(10) Круто! Спасибо большое
|
|||
12
Juliette_
Juliette 20.09.23
✎
14:30
|
Процедура ПередЗаписью(Отказ, Замещение)
Если ЭтотОбъект.Количество() = 0 И ЭтотОбъект.Модифицированность() Тогда ЭтотОбъект.Прочитать(); Для Каждого Запись Из ЭтотОбъект Цикл Запись.Актуальность = Ложь; КонецЦикла; КонецЕсли; КонецПроцедуры вот так работает корректно, отсеиваются проблемы с дублированием записей |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |