Имя: Пароль:
1C
1С v8
Удалить записи из регистра сведений при программном удалении документа
0 Azmarika
 
16.07.14
13:09
Здравствуйте! Обработка (управляемая форма) при изменении данных удаляет документ и формирует новый, а регистр сведений никак на это не реагирует, и при проведении нового документа выдает сообщение, что запись есть. что только не пробовала, ничего не помогает. Может быть кто-то столкнулся с такой ситуацией и поборол её. Буду очень благодарна.
1 kosts
 
16.07.14
13:10
(0) Может предварительно записать в режиме отмена проведения?
2 Azmarika
 
16.07.14
13:12
Да я пробовала и с непроведенным документом экспереметировать
3 Azmarika
 
16.07.14
13:13
Результат=Запрос.Выполнить().Выбрать();
            Пока Результат.Следующий() Цикл
                ОбъектДокумента =  Результат.Ссылка.ПолучитьОбъект();
                
                НаборЗаписей = РегистрыСведений.ЗанятостьДопМестВыкладки.СоздатьНаборЗаписей();
                 НаборЗаписей.Отбор.Регистратор.Установить(ОбъектДокумента);
                Для Каждого Запись из НаборЗаписей Цикл
                       сообщить("я здесь");
                КонецЦикла;    


                ОбъектДокумента.Проведен=Ложь;
                ОбъектДокумента.Записать();
                ОбъектДокумента.ПометкаУдаления = Истина;
                ОбъектДокумента.Записать();
        
                
            КонецЦикла;
4 Azmarika
 
16.07.14
13:14
ПО запросу нахожу документ, делаю отбор по регистратору, Программа не видит записи регистра...не понятно почему (
5 kosts
 
16.07.14
13:17
(4) Возможно документ не является регистратором в регистре, а присутствует там как измерение, ресурс или реквизит.
6 Azmarika
 
16.07.14
13:19
Документ является регистратором, когда в консоле запросов формирую все получается
7 Azmarika
 
16.07.14
13:20
Через Менеджер записи пыталась удалить, метод не доступен
8 kosts
 
16.07.14
13:21
Попробуй НаборЗаписей.Прочитать()
9 kosts
 
16.07.14
13:30
Вот так пробовала удалять документ?
ОбъектДокумента.Записать(РежимЗаписиДокумента.ОтменаПроведения)
10 Azmarika
 
16.07.14
13:30
Спасибо, сейчас попробую
11 kosts
 
16.07.14
13:30
(9) В смысле перед удалением...
12 Azmarika
 
16.07.14
13:33
Не получается... Прочитать
13 Azmarika
 
16.07.14
13:34
Я проверяю наличие документов на дату и их удаляю, чтобы потом новые сформировать, так вот новые не формируются, потому что регистр сведений эти записи не удаляет
14 Azmarika
 
16.07.14
13:36
Уже как только не извращалась и с модулем документа и с формой обработки...нифига
15 Azmarika
 
16.07.14
13:36
НаборЗаписей.Отбор.Регистратор.Установить(ОбъектДокумента);
                    НаборЗаписей.Прочитать();
                    Для каждого зап Из НаборЗаписей Цикл
                        сообщить("я здесь");
    
                    КонецЦикла;
16 Azmarika
 
16.07.14
13:37
Проскакивает и все
17 kosts
 
16.07.14
13:38
Так еще

НаборЗаписей.Отбор.Регистратор.Установить(Результат.Ссылка);
18 Defender aka LINN
 
16.07.14
13:40
Ащета при удалении документа (НЕ в режиме Обмена Данными) все его движения и записи регистров, где он в Ведущем измерении платформа удаляет сама.
19 pavelul73
 
16.07.14
13:40
А зачем отбираете по ДокументОбъект?
Нужно ведь по ДокументСсылка
Попробуйте так
НаборЗаписей.Отбор.Регистратор.Установить(Результат.Ссылка);
После
прочитать и цикл
20 pavelul73
 
16.07.14
13:41
(17) опередил)
21 kosts
 
16.07.14
13:42
(20) Да и сам не сразу заметил :-(
22 kosts
 
16.07.14
13:44
(0) Что бы удалить записи регистра не обязательно читать, можно сразу записать.


НаборЗаписей = РегистрыСведений.ЗанятостьДопМестВыкладки.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Регистратор.Установить(Результат.Ссылка);
НаборЗаписей.Записать();


Должно сработать...
23 Azmarika
 
16.07.14
13:48
Спасибо, за 19 - дошло. Сейчас 22 совет попробую осуществить
24 Azmarika
 
16.07.14
13:57
Kosts, большое человеческое спасибо!!! Все получилось
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший