Вход | Регистрация
 

Перезаписать все записи регистра сведений

Перезаписать все записи регистра сведений
Я
   pedagog
 
17.03.21 - 12:21
Есть независимы непериодический рег сведений СоставыСемейФизическихЛиц с измерениями ФизическоеЛицо и НомерПоПорядку.
НомерПоПорядку = 1;
    НаборЗаписей = РегистрыСведений.СоставыСемейФизическихЛиц.СоздатьНаборЗаписей();
    для Каждого текстрока из табзнач1 цикл
        если не ЗначениеЗаполнено(текстрока.DETNAME) тогда
            Продолжить;
        КонецЕсли;
        табНомер = сокрЛП(СтрЗаменить(текстрока.CNTNMBR,"А",""));
        Сотрудник = Справочники.Сотрудники.НайтиПоКоду(табНомер);
        если не ЗначениеЗаполнено(Сотрудник) тогда
            Продолжить;
        КонецЕсли;
        если не ЗначениеЗаполнено(Сотрудник.ФизическоеЛицо) тогда
            Продолжить;
        КонецЕсли;
        
        если текФизЛицо <> Сотрудник.ФизическоеЛицо тогда
                НомерПоПорядку = 1;
                текФизЛицо = Сотрудник.ФизическоеЛицо;
            КонецЕсли;
            
        если ЗначениеЗаполнено(текФизЛицо) тогда
            //МенеджерЗаписи = РегистрыСведений.СоставыСемейФизическихЛиц.СоздатьМенеджерЗаписи();
            //МенеджерЗаписи.Период = НачалоДня(ДатаПереносаДанных);
            //НаборЗаписей.Отбор.ФизическоеЛицо.Установить(текФизЛицо);
            //НаборЗаписей.Отбор.НомерПоПорядку.Установить(НомерПоПорядку);
            новаязапись = НаборЗаписей.Добавить();
            
            новаязапись.Активность = истина;
            новаязапись.Период = НачалоДня(ДатаПереносаДанных);
            новаязапись.ФизическоеЛицо = текФизЛицо;
            новаязапись.НомерПоПорядку = НомерПоПорядку;
            //новаязапись.НомерСтроки = НомерПоПорядку;
            новаязапись.СтепеньРодства = ОпределитьСтепеньРодства(сокрЛП(текстрока.DETKTO));
            новаязапись.ФИО = сокрЛП(текстрока.DETNAME);
            новаязапись.ДатаРождения = текстрока.DETDATE;
            НомерПоПорядку = НомерПоПорядку+1;
        КонецЕсли;
    КонецЦикла;
    НаборЗаписей.Записать();
При записи выдает ошибку . что не так делаю
   pedagog
 
1 - 17.03.21 - 12:22
или предложите метод попроще
   Почему 1С
 
2 - 17.03.21 - 12:25
А где текст ошибки?
   pedagog
 
3 - 17.03.21 - 12:56
Запись не верна! Значение поля не соответствует установленному отбору: СоставыСемейФизическихЛиц: Симонович Игорь Викторович, 1 (Регистр сведений: Составы семей физических лиц; Номер строки: 1; Поле: ФизическоеЛицо)
   acht
 
4 - 17.03.21 - 12:58
(3) Совместители небось
   pedagog
 
5 - 17.03.21 - 12:59
так запись делается по физлицу
   acht
 
6 - 17.03.21 - 13:06
(5) Которое берется откуда?
   pedagog
 
7 - 17.03.21 - 13:10
из тз
   acht
 
8 - 17.03.21 - 13:11
текФизЛицо = Сотрудник.ФизическоеЛицо;

Этачо?
   pedagog
 
9 - 17.03.21 - 13:14
(8) да
   acht
 
10 - 17.03.21 - 13:16
(9) Розовенький

У тебя два разных сотрудника, с разными табельными номерами, могут ссылаться на одного физика.
   Почему 1С
 
11 - 17.03.21 - 13:19
Так судя по ошибке у тебя стоит отбор по физлицу у набора записей, если это действительно так то его нужно убрать
   pedagog
 
12 - 17.03.21 - 13:26
НаборЗаписей.Очистить();
НаборЗаписей.Загрузить(тз);
НаборЗаписей.Записать();
   pedagog
 
13 - 17.03.21 - 13:26
а так можно?
   pedagog
 
14 - 17.03.21 - 13:27
НаборЗаписей = РегистрыСведений.СоставыСемейФизическихЛиц.СоздатьНаборЗаписей();
    НаборЗаписей.Записать();
    НаборЗаписей.Прочитать();
        НаборЗаписей.Загрузить(тз);
    НаборЗаписей.Записать();
   Почему 1С
 
15 - 17.03.21 - 14:24
нет разницы как ты сформируешь набор записей, если  НаборЗаписей.Загрузить(тз) заполняет его нужным образом, то все верно
   Малыш Джон
 
16 - 17.03.21 - 14:46
Можно вообще не мучаться и написать просто:

НаборЗаписей = РегистрыСведений.СоставыСемейФизическихЛиц.СоздатьНаборЗаписей();
НаборЗаписей.Записать();

Каждый в своей жизни должен хотя бы раз так в проде сделать. Без этого, я считаю, нельзя называться 1сником.
   youalex
 
17 - 17.03.21 - 14:49
(16) деструктивный пост. Ты же понимаешь, что этот топик может читать не только ТС, и не только сейчас
   Малыш Джон
 
18 - 17.03.21 - 14:59
(17) согласен, не подумал, что иронию в письменном виде не все могут распознать

удалите сообщение(16), у кого права есть

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.