![]() |
|
ПередУдалением или ПослеУдаления Регистр сведений | ☑ | ||
---|---|---|---|---|
0
shira84
20.11.13
✎
15:48
|
Непериодические независимые регистры сведений "Тарифы" и "СоставТарифа". При удалении первого необходимо найти и удалить записи из второго за тотже период. Обработчик ПередУдалением? Вызывает диалог да/нет и не факт, что пользователь не ответит нет. ПослеУдаления? Запись уже удалена и период неоткуда вытащить. Как еще?
|
|||
1
shira84
20.11.13
✎
15:49
|
Периодические. Извиняюсь
|
|||
2
shira84
20.11.13
✎
15:50
|
Как-то можно заткнуть Диалог вопроса?
|
|||
3
Ненавижу 1С
гуру
20.11.13
✎
15:51
|
мое имхо: состав тарифа должен быть таб. частью справочника тарифы, на который ссылается РС
|
|||
4
shira84
20.11.13
✎
15:54
|
Тариф не справочник, он РС. В нем уже хранятся значения этих самых тарифов.
|
|||
5
shira84
20.11.13
✎
15:58
|
А точно в обработчике ПослеУдаления запись уже удалена? Прогонял в отладчике Элемент.ТекущиеДанные.Период он уже не видит удаляемую строку, но в предприятиии она все еще виднеется до конца процедуры.
|
|||
6
hhhh
20.11.13
✎
16:01
|
(5) используйте не события формы, а события регистра
|
|||
7
shira84
20.11.13
✎
16:12
|
Процедура СписокИсторияПередУдалением(Элемент, Отказ)
Режим = РежимДиалогаВопрос.ДаНет; Ответ = Вопрос("Удалить тариф и все его составляющие?", Режим, 0); Если Ответ = КодВозвратаДиалога.Нет Тогда Отказ = Истина; Возврат; КонецЕсли; НаборСостав = РегистрыСведений.АЮ_СоставляющиеТарифа.СоздатьНаборЗаписей(); НаборСостав.Отбор.Период.Установить(Элемент.ТекущиеДанные.Период); НаборСостав.Отбор.Тариф.Установить(Ссылка); НаборСостав.Очистить(); НаборСостав.Записать(Истина); НаборТариф = РегистрыСведений.Тарифы.СоздатьНаборЗаписей(); НаборТариф.Отбор.Период.Установить(Элемент.ТекущиеДанные.Период); НаборТариф.Отбор.Тариф.Установить(Ссылка); НаборТариф.Очистить(); НаборТариф.Записать(Истина); Отказ = Истина; КонецПроцедуры Всем спасибо. Вот так вот заткнул стандартный диалог. |
|||
8
shira84
20.11.13
✎
16:14
|
Т.е перед удалением задал вопрос и удалил программно оба регистра, отклоняя стандартную обработку удаления. не ахти конечно, но хоть так.
|
|||
9
Ненавижу 1С
гуру
20.11.13
✎
16:41
|
Режим = РежимДиалогаВопрос.ДаНет;
Ответ = Вопрос("Удалить тариф и все его составляющие?", Режим, 0); Если Ответ = КодВозвратаДиалога.Нет Тогда Отказ = Истина; Возврат; КонецЕсли; что будет когда нажмут Esc? |
|||
10
Defender aka LINN
20.11.13
✎
16:51
|
(9) Будет сюрприз :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |