Имя: Пароль:
1C
1С v8
При изменении записи в регистре накоплений открывается документ.
0 ogion83
 
26.04.23
15:41
День добрый. Меняю запись в регистре и каждый раз при этом открывается форма регистратора. Как этого избежать или как его сразу программно закрыть?

Набор = РегистрыНакопления.РЕГИСТР.СоздатьНаборЗаписей();
    Набор.Отбор.Регистратор.Установить(Док.Ссылка);
    Набор.Прочитать();
    Для Каждого Запись Из Набор Цикл
        Если НоваяСумма <> 0 Тогда
            Если Запись.Дата = Дата Тогда
                Запись.СуммаОплаты = НоваяСумма;
                Набор.Записать();
            КонецЕсли;
        КонецЕсли;
    КонецЦикла;
    КонецЕсли;
1 2S
 
26.04.23
15:44
Набор.Записать(); в цикле? о_О
2 del123
 
26.04.23
15:44
ну как минимум надо Набор.Записать() за цикл вынести, а так, возможно в регистре какое-то событие при записи отрабатывает, которое приводит к открытию формы
3 2S
 
26.04.23
15:44
повесь на условие Записывать = Истина
4 2S
 
26.04.23
15:45
в конце проверка Если Истина, то НаборЗаписать
5 ogion83
 
26.04.23
15:48
(1)Точно) Виноват исправлюсь.
6 Serg_1960
 
26.04.23
15:51
(0) Указанный фрагмент алгоритма не содержит информации о "каждый раз при этом открывается форма регистратора".
7 ogion83
 
26.04.23
15:55
(6) Вот и я не могу найти что его открывает. В самом документе просмотрел всё что происходит при/после/перед записью.
8 ogion83
 
26.04.23
15:56
При таком изменении записи регистра не должен документ открываться?
9 Волшебник
 
26.04.23
15:57
(8) В указанном фрагменте нет открытия формы, а чудес не бывает.
10 Волшебник
 
26.04.23
16:02
1. РегистрыНакопления.РЕГИСТР - что за имя у регистра? Что в нём?

2. Пару условий можно заменить на И
Если НоваяСумма <> 0 И Запись.Дата = Дата Тогда

3. Судя по тому, что "НоваяСумма" задаётся где-то выше, то это условие можно проверить выше.

4. Набор.Записать() исключить из цикла

5. После всех исправлений нужно стереть эту обработку и изменить алгоритм проведения документов.
11 ogion83
 
26.04.23
16:03
Нашел. Забыл отключить СтандартнуюОбработку процедуры)
12 Serg_1960
 
26.04.23
16:05
(8) Нет, не должен. Использованный Вами фрагмент алгоритма рекомендован в "Манипулирование записями регистров без использования регистратора" - https://its.1c.ru/db/metod8dev/content/2719/hdoc - наименование статьи как бы само за себя говорит.