|
Перезаписать все записи регистра сведений | ☑ | ||
---|---|---|---|---|
0
pedagog
17.03.21
✎
12:21
|
Есть независимы непериодический рег сведений СоставыСемейФизическихЛиц с измерениями ФизическоеЛицо и НомерПоПорядку.
НомерПоПорядку = 1; НаборЗаписей = РегистрыСведений.СоставыСемейФизическихЛиц.СоздатьНаборЗаписей(); для Каждого текстрока из табзнач1 цикл если не ЗначениеЗаполнено(текстрока.DETNAME) тогда Продолжить; КонецЕсли; табНомер = сокрЛП(СтрЗаменить(текстрока.CNTNMBR,"А","")); Сотрудник = Справочники.Сотрудники.НайтиПоКоду(табНомер); если не ЗначениеЗаполнено(Сотрудник) тогда Продолжить; КонецЕсли; если не ЗначениеЗаполнено(Сотрудник.ФизическоеЛицо) тогда Продолжить; КонецЕсли; если текФизЛицо <> Сотрудник.ФизическоеЛицо тогда НомерПоПорядку = 1; текФизЛицо = Сотрудник.ФизическоеЛицо; КонецЕсли; если ЗначениеЗаполнено(текФизЛицо) тогда //МенеджерЗаписи = РегистрыСведений.СоставыСемейФизическихЛиц.СоздатьМенеджерЗаписи(); //МенеджерЗаписи.Период = НачалоДня(ДатаПереносаДанных); //НаборЗаписей.Отбор.ФизическоеЛицо.Установить(текФизЛицо); //НаборЗаписей.Отбор.НомерПоПорядку.Установить(НомерПоПорядку); новаязапись = НаборЗаписей.Добавить(); новаязапись.Активность = истина; новаязапись.Период = НачалоДня(ДатаПереносаДанных); новаязапись.ФизическоеЛицо = текФизЛицо; новаязапись.НомерПоПорядку = НомерПоПорядку; //новаязапись.НомерСтроки = НомерПоПорядку; новаязапись.СтепеньРодства = ОпределитьСтепеньРодства(сокрЛП(текстрока.DETKTO)); новаязапись.ФИО = сокрЛП(текстрока.DETNAME); новаязапись.ДатаРождения = текстрока.DETDATE; НомерПоПорядку = НомерПоПорядку+1; КонецЕсли; КонецЦикла; НаборЗаписей.Записать(); При записи выдает ошибку . что не так делаю |
|||
1
pedagog
17.03.21
✎
12:22
|
или предложите метод попроще
|
|||
2
Почему 1С
17.03.21
✎
12:25
|
А где текст ошибки?
|
|||
3
pedagog
17.03.21
✎
12:56
|
Запись не верна! Значение поля не соответствует установленному отбору: СоставыСемейФизическихЛиц: Симонович Игорь Викторович, 1 (Регистр сведений: Составы семей физических лиц; Номер строки: 1; Поле: ФизическоеЛицо)
|
|||
4
acht
17.03.21
✎
12:58
|
(3) Совместители небось
|
|||
5
pedagog
17.03.21
✎
12:59
|
так запись делается по физлицу
|
|||
6
acht
17.03.21
✎
13:06
|
(5) Которое берется откуда?
|
|||
7
pedagog
17.03.21
✎
13:10
|
из тз
|
|||
8
acht
17.03.21
✎
13:11
|
текФизЛицо = Сотрудник.ФизическоеЛицо;
Этачо? |
|||
9
pedagog
17.03.21
✎
13:14
|
(8) да
|
|||
10
acht
17.03.21
✎
13:16
|
(9) Розовенький
У тебя два разных сотрудника, с разными табельными номерами, могут ссылаться на одного физика. |
|||
11
Почему 1С
17.03.21
✎
13:19
|
Так судя по ошибке у тебя стоит отбор по физлицу у набора записей, если это действительно так то его нужно убрать
|
|||
12
pedagog
17.03.21
✎
13:26
|
НаборЗаписей.Очистить();
НаборЗаписей.Загрузить(тз); НаборЗаписей.Записать(); |
|||
13
pedagog
17.03.21
✎
13:26
|
а так можно?
|
|||
14
pedagog
17.03.21
✎
13:27
|
НаборЗаписей = РегистрыСведений.СоставыСемейФизическихЛиц.СоздатьНаборЗаписей();
НаборЗаписей.Записать(); НаборЗаписей.Прочитать(); НаборЗаписей.Загрузить(тз); НаборЗаписей.Записать(); |
|||
15
Почему 1С
17.03.21
✎
14:24
|
нет разницы как ты сформируешь набор записей, если НаборЗаписей.Загрузить(тз) заполняет его нужным образом, то все верно
|
|||
16
Малыш Джон
17.03.21
✎
14:46
|
Можно вообще не мучаться и написать просто:
НаборЗаписей = РегистрыСведений.СоставыСемейФизическихЛиц.СоздатьНаборЗаписей(); НаборЗаписей.Записать(); Каждый в своей жизни должен хотя бы раз так в проде сделать. Без этого, я считаю, нельзя называться 1сником. |
|||
17
youalex
17.03.21
✎
14:49
|
(16) деструктивный пост. Ты же понимаешь, что этот топик может читать не только ТС, и не только сейчас
|
|||
18
Малыш Джон
17.03.21
✎
14:59
|
(17) согласен, не подумал, что иронию в письменном виде не все могут распознать
удалите сообщение(16), у кого права есть |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |