Имя: Пароль:
1C
1С v8
запись с такими ключевыми полями существует перезаписать
0 Pingwin
 
13.08.12
13:47
Пока Выборка.Следующий() Цикл
       Если Выборка.Пользователь1 <> Null или Выборка.Организация1 <> Null Тогда
           НовЗапись = Набор.Добавить();
           НовЗапись.Организация = Выборка.Организация1;
           НовЗапись.Пользователь = Выборка.Пользователь1;
           Если Выборка.Отсрочка <> 0 Тогда
               НовЗапись.ГраницаЗапретаИзменений = ТекущаяДата() - (Выборка.Отсрочка * 60 * 60 * 24);
           КонецЕсли;
       ИначеЕсли Не(ЗначениеЗаполнено(Выборка.Пользователь)) и Не(ЗначениеЗаполнено(Выборка.Организация)) и Не(ЗначениеЗаполнено(Выборка.Пользователь)) и Не(ЗначениеЗаполнено(Выборка.Организация)) И ЗначениеЗаполнено(Выборка.ГраницаЗапретаИзменений) Тогда
           НовЗапись = Набор.Добавить();
           НовЗапись.Организация = Выборка.Организация;
           НовЗапись.Пользователь = Выборка.Пользователь;
           НовЗапись.ГраницаЗапретаИзменений = ТекущаяДата();
       КонецЕсли;
КонецЦикла;
Набор.Записать(Истина);
Нужно просто перезаписать записи или добавить их, если их в регистре ГраницаЗапретаИзменений никогда не было!
1 Vakhrin
 
13.08.12
13:50
Откажись от набора и оперируй записями регистра
Это позволит на уровне платформы "вытеснять" уже существующие записи
2 Reset
 
13.08.12
13:53
Мозг сломал, когда пытался понять.

Не(ЗначениеЗаполнено(Выборка.Пользователь)) и Не(ЗначениеЗаполнено(Выборка.Организация)) и Не(ЗначениеЗаполнено(Выборка.Пользователь)) и Не(ЗначениеЗаполнено(Выборка.Организация)) И ЗначениеЗаполнено(Выборка.ГраницаЗапретаИзменений)

Два раза проверка польз и орг. для надежности? Кроме того, если оба пустые, то добавить запись с ими же пустыми?
3 Reset
 
13.08.12
13:54
Если Выборка.Пользователь1 <> Null или Выборка.Организация1 <> Null

Если один не null, добавить запись, при этом пох, что во втором?
4 Pingwin
 
14.08.12
00:41
(2) Странно, там должнобыло быть:
Не(ЗначениеЗаполнено(Выборка.Пользователь1)) и Не(ЗначениеЗаполнено(Выборка.Организация1)) и Не(ЗначениеЗаполнено(Выборка.Пользователь)) и Не(ЗначениеЗаполнено(Выборка.Организация)) И ЗначениеЗаполнено(Выборка.ГраницаЗапретаИзменений)
Но не в этом суть, я пользовался и поиском по форуму и яндексом искал, но так и не нашёл внятного решения проблемы, а ещё так и не осили, зачем запрещать вытеснение старой записи?!