Имя: Пароль:
1C
1С v8
замещение записи в непереодическом независимом регистре сведений
0 Oblako486
 
22.01.23
22:03
для каждого строка из объект.ДанныеЗаказов цикл
            НоваяЗапись = РегистрыСведений.АдресаКоординаты.СоздатьМенеджерЗаписи();
            НоваяЗапись.Контрагент = строка.контрагент;
            НоваяЗапись.Адрес = строка.адрес;
            НоваяЗапись.Прочитать();
            Если НоваяЗапись.Выбран()   Тогда
                НоваяЗапись.Широта = строка.Широта;
                НоваяЗапись.Долгота = строка.Долгота;
                НоваяЗАпись.Записать();
            Иначе
                НоваяЗапись.Контрагент = строка.Контрагент);
                НоваяЗапись.Адрес = строка.Адрес;
                НоваяЗапись.Широта = строка.Широта;
                НоваяЗапись.Долгота = строка.Долгота;
                НоваяЗАпись.Записать();
            
            КонецЕСли;
        
    КОнецЦикла;
1 Oblako486
 
22.01.23
22:03
Новый записи создаются, старые не замещаются
2 Oblako486
 
22.01.23
22:03
в регистре два измерения Контрагент и Адрес
3 Oblako486
 
22.01.23
22:04
в чем может быть дело, регистр настроен не верено или код?
4 Oblako486
 
22.01.23
22:11
Дублей нет. Отладчиком, вроде все присвается.
5 Oblako486
 
22.01.23
22:11
Но замещение не происходит, остаются старые данные
6 Oblako486
 
22.01.23
22:19
Если НоваяЗапись.Выбран()   Тогда
                НоваяЗапись.Удалить();

Так тоже не удаляется, и ошибок нет.
7 Oblako486
 
22.01.23
22:28
в пользовательском режиме, вроде нормально всё, редактирование, удаление.
8 eddy_n
 
22.01.23
22:42
У тебя синтаксическая ошибка для начала в коде здесь. Рука дрогула или как?
НоваяЗапись.Контрагент = строка.Контрагент);
9 RomanYS
 
22.01.23
23:09
Зачем вообще читать и проверять в условие, если в результате перезапись при любых условиях?
10 RomanYS
 
22.01.23
23:11
НоваяЗапись = РегистрыСведений.АдресаКоординаты.СоздатьМенеджерЗаписи();
ЗаполнитьЗначенияСвойств(НоваяЗапись, строка);
НоваяЗапись.Записать(Истина);//Замещать = Истина
11 Oblako486
 
23.01.23
10:56
Проблема оказалась в данных, в ТЧ несколько одинаковых строк, и нижние строки замещали запись повторно на предыдущие значения. Создавалась иллюзия что замещение не происходит. (10) тоже работает.
Независимо от того, куда вы едете — это в гору и против ветра!