![]() |
![]() |
![]() |
|
Изменить тип записи в регистре сведений | ☑ | ||
---|---|---|---|---|
0
first_may
03.02.14
✎
13:28
|
Добрый день. Надо заменить тип АдресЭлектроннойПочты на ВебСтраница.
Весь текст обработки: ЗапросТекст = " |ВЫБРАТЬ | КонтактнаяИнформация.Объект, | КонтактнаяИнформация.Тип, | КонтактнаяИнформация.Вид, | КонтактнаяИнформация.Представление |ИЗ | РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация |ГДЕ | КонтактнаяИнформация.Тип = &Тип | И КонтактнаяИнформация.Вид = &Вид"; Запрос = Новый Запрос; Запрос.Текст = ЗапросТекст; Запрос.УстановитьПараметр("Вид", Справочники.ВидыКонтактнойИнформации.НайтиПоКоду("00051")); Запрос.УстановитьПараметр("Тип", Перечисления.ТипыКонтактнойИнформации.АдресЭлектроннойПочты); РезультатЗапроса = Запрос.Выполнить(); Выборка = РезультатЗапроса.Выбрать(); Выборка.Следующий(); //Пока Выборка.Следующий() Цикл НаборЗаписей = РегистрыСведений.КонтактнаяИнформация.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Объект.Значение = Выборка.Объект; НаборЗаписей.Отбор.Объект.Использование = Истина; НаборЗаписей.Отбор.Тип.Значение = Выборка.Тип; НаборЗаписей.Отбор.Тип.Использование = Истина; НаборЗаписей.Отбор.Вид.Значение = Выборка.Вид; НаборЗаписей.Отбор.Вид.Использование = Истина; НаборЗаписей.Прочитать(); Если НаборЗаписей.Количество() > 0 Тогда НаборЗаписей[0].Тип = Перечисления.ТипыКонтактнойИнформации.ВебСтраница; НаборЗаписей.Записать(Истина); КонецЕсли; //КонецЦикла; Однако при выполнении выдается сообщение: {Форма.Форма(34)}: Ошибка при вызове метода контекста (Записать): Запись не верна! Значение поля не соответствует установленному отбору: Орбита / Москва : Веб-страница : URL сайта (Регистр сведений: Контактная информация; Поле: Тип) НаборЗаписей.Записать(Истина); по причине: Запись не верна! Значение поля не соответствует установленному отбору: Орбита / Москва : Веб-страница : URL сайта (Регистр сведений: Контактная информация; Поле: Тип) Как изменить тип? |
|||
1
Рэйв
03.02.14
✎
13:31
|
ВСЕ поля надо заполнять.В том числе и "отборные"
|
|||
2
first_may
03.02.14
✎
13:35
|
(1) написал
Если НаборЗаписей.Количество() > 0 Тогда НаборЗаписей[0].Объект = Выборка.Объект; НаборЗаписей[0].Вид = Выборка.Вид; НаборЗаписей[0].Тип = Перечисления.ТипыКонтактнойИнформации.ВебСтраница; НаборЗаписей.Записать(Истина); КонецЕсли; ошибка та же. |
|||
3
Рэйв
03.02.14
✎
13:36
|
(2)ВСЕ - это значит все до одного:=)
|
|||
4
Maxus43
03.02.14
✎
13:36
|
Отбор стоит на старые поля, изменив измерения - это уже другой набор, и записывать его надо с правильным отбором.
Надо "удалить" старый набор записей и "добавить" новый |
|||
5
Maxus43
03.02.14
✎
13:37
|
либо не ставить отбор на ТИП, и менять набор весь
|
|||
6
Enders
03.02.14
✎
13:40
|
(4)+100
Что бы изменить измерение надо: Или не устанавливать на него отбор, или а) прочитать б) выгрузить в ТЗ в) Очистить набор г) изменить в ТЗ то, что надо д) создать новый набор е) загрузить измененную ТЗ |
|||
7
first_may
03.02.14
✎
13:46
|
(4) я понимаю, что отбор стоит старые поля... скорей всего надо "удалить" старый набор записей и "добавить" новый .
|
|||
8
Maxus43
03.02.14
✎
13:48
|
(7) выгружай в ТЗ, очищай и записывай старый набор.
создавай новый набор с правильным отбором (или меняй набор у старого), загружай ТЗ, записывай |
|||
9
first_may
03.02.14
✎
14:08
|
(8) а так нельзя:
Если НаборЗаписей.Количество() > 0 Тогда НаборЗаписей.Удалить(); НаборЗаписей.Добавить(); НаборЗаписей[0].Объект = Выборка.Объект; НаборЗаписей[0].Вид = Выборка.Вид; НаборЗаписей[0].Тип = Перечисления.ТипыКонтактнойИнформации.ВебСтраница; НаборЗаписей. Записать(Истина); КонецЕсли; |
|||
10
Maxus43
03.02.14
✎
14:20
|
(9) ошибка в том чот ОТБОР наложен не тот, в строках
НаборЗаписей.Отбор.Тип.Значение = Выборка.Тип; НаборЗаписей.Отбор.Тип.Использование = Истина; ... |
|||
11
first_may
03.02.14
✎
14:26
|
(10) ТО есть?
|
|||
12
hhhh
03.02.14
✎
14:27
|
(11)
НаборЗаписей = РегистрыСведений.КонтактнаяИнформация.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Объект.Значение = Выборка.Объект; НаборЗаписей.Отбор.Объект.Использование = Истина; НаборЗаписей.Отбор.Тип.Значение = Выборка.Тип; НаборЗаписей.Отбор.Тип.Использование = Истина; НаборЗаписей.Отбор.Вид.Значение = Выборка.Вид; НаборЗаписей.Отбор.Вид.Использование = Истина; НаборЗаписей.Прочитать(); НаборЗаписей.Отбор.Тип.Значение = Перечисления.ТипыКонтактнойИнформации.ВебСтраница; НаборЗаписей.Отбор.Тип.Использование = Истина; Если НаборЗаписей.Количество() > 0 Тогда НаборЗаписей.Удалить(); НаборЗаписей.Добавить(); НаборЗаписей[0].Объект = Выборка.Объект; НаборЗаписей[0].Вид = Выборка.Вид; НаборЗаписей[0].Тип = Перечисления.ТипыКонтактнойИнформации.ВебСтраница; НаборЗаписей. Записать(Истина); КонецЕсли; |
|||
13
Maxus43
03.02.14
✎
14:28
|
(12) не удалится старый набор жеж
|
|||
14
first_may
03.02.14
✎
14:30
|
А может у кого нить есть обработка для 8.1:
ПоискИЗаменаЗначенийСотбором.epf |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |