![]() |
|
Почему при записи в РегистрСведений сохраняется только последняя строка? | ☑ | ||
---|---|---|---|---|
0
mortal
28.12.11
✎
13:49
|
Приветствую всех!
что-то туплю зело, сабж: Записываю адреса ФизЛиц в РегистрСведений Контактная информация. Данные беру из Экселя, делаю так: Для Каждого Выборка Из Результат Цикл Для Каждого Стр Из ТаблицаДокумента Цикл Если Стр.ТипЗначения = "Физические лица" Тогда Если СокрЛП(Выборка.Ссылка) = СокрЛП(Стр.Объект) Тогда НаборЗаписей = РегистрыСведений.КонтактнаяИнформация.СоздатьНаборЗаписей(); НаборЗаписей.Записывать = Истина; НоваяЗапись = НаборЗаписей.Добавить(); НоваяЗапись.Объект = Справочники.ФизическиеЛица.НайтиПоНаименованию(Стр.Объект); НоваяЗапись.Вид = Справочники.ВидыКонтактнойИнформации.ЮрАдресФизЛица; НоваяЗапись.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес; НоваяЗапись.Поле1 = Стр.Поле1; НоваяЗапись.Поле2 = Стр.Поле2; НоваяЗапись.Поле3 = Стр.Поле3; НоваяЗапись.Поле4 = Стр.Поле4; НоваяЗапись.Поле5 = Стр.Поле5; НоваяЗапись.Поле6 = Стр.Поле6; НоваяЗапись.Поле7 = Стр.Поле7; НоваяЗапись.Поле8 = Стр.Поле8; НоваяЗапись.Поле9 = Стр.Поле9; НоваяЗапись.Поле10 = Стр.Поле10; НоваяЗапись.Представление = Стр.Представление; Попытка НаборЗаписей.Записать(); Исключение КонецПопытки; КонецЕсли; КонецЕсли; КонецЦикла; КонецЦикла; ___________ где выборка - выборка из РС КонтактнаяИнформация текущей базы и Стр - строка ТаблицыЗначений, куда загрузил данные из Экселя Проблема такая - записыватся только(!) последняя запись! Если в экселе оставить только строки по одному физлицу - записывает, а если больше - то только поледнюю строку. ЧЯДНТ??? |
|||
1
mortal
28.12.11
✎
13:50
|
конфа Комплексная автоматизация, редакция 1.1 (1.1.16.1) , 1С:Предприятие 8.2 (8.2.13.219)
|
|||
2
aleks-id
28.12.11
✎
13:50
|
НаборЗаписей = РегистрыСведений.КонтактнаяИнформация.СоздатьНаборЗаписей();
это зачем в цикле? |
|||
3
Шапокляк
28.12.11
✎
13:51
|
отбор не установлен в наборе записей
|
|||
4
mortal
28.12.11
✎
13:52
|
(2) выносил - не помогает
|
|||
5
marty0701
28.12.11
✎
13:52
|
НаборЗаписей = РегистрыСведений.КонтактнаяИнформация.СоздатьНаборЗаписей(); Хороший последний созданный наборзаписей и записался, что не так? Хочешь записать все, создай 1 раз и запиши.
|
|||
6
aleks-id
28.12.11
✎
13:52
|
(4) и НаборЗаписей.Записать(); вынести еще надо
|
|||
7
aleks-id
28.12.11
✎
13:53
|
и вообще. за такие зихеры надо бить!
|
|||
8
aleks-id
28.12.11
✎
13:54
|
что мешает сразу в запросе получить требуемые данные и загнать их в набор записей?
|
|||
9
mortal
28.12.11
✎
13:55
|
(7)эээ
а кто такие зихеры?... |
|||
10
mortal
28.12.11
✎
13:55
|
:)
|
|||
11
aleks-id
28.12.11
✎
13:55
|
(9) пояндекси
|
|||
12
mortal
28.12.11
✎
13:57
|
(8) я привел только урезанный пример - на самом деле переношу КИ по всем объектам (контрагенты, физлица и т.п.)
|
|||
13
mikecool
28.12.11
✎
13:58
|
ответ дан в (3)
|
|||
14
mortal
28.12.11
✎
16:38
|
Спасибо всем. особенно (3) и (13)
вот так: Для Каждого Стр Из ТаблицаДокумента Цикл Если Стр.ТипЗначения = "Физические лица" Тогда Если Стр.Вид = "Адрес по прописке физ. лица" Тогда //адрес прописки НаборЗаписей = РегистрыСведений.КонтактнаяИнформация.СоздатьНаборЗаписей(); НаборЗаписей.Записывать = Истина; НаборЗаписей.Отбор.Объект.Значение = Справочники.ФизическиеЛица.НайтиПоНаименованию(Стр.Объект); НаборЗаписей.Отбор.Объект.Использование = Истина; НаборЗаписей.Отбор.Вид.Значение = Справочники.ВидыКонтактнойИнформации.ЮрАдресФизЛица; НаборЗаписей.Отбор.Вид.Использование = Истина; НаборЗаписей.Отбор.Тип.Значение = Перечисления.ТипыКонтактнойИнформации.Адрес; НаборЗаписей.Отбор.Тип.Использование = Истина; НоваяЗапись = НаборЗаписей.Добавить(); НоваяЗапись.Объект = Справочники.ФизическиеЛица.НайтиПоНаименованию(Стр.Объект); НоваяЗапись.Вид = Справочники.ВидыКонтактнойИнформации.ЮрАдресФизЛица; НоваяЗапись.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес; НоваяЗапись.Поле1 = Стр.Поле1; НоваяЗапись.Поле2 = Стр.Поле2; НоваяЗапись.Поле3 = Стр.Поле3; НоваяЗапись.Поле4 = Стр.Поле4; НоваяЗапись.Поле5 = Стр.Поле5; НоваяЗапись.Поле6 = Стр.Поле6; НоваяЗапись.Поле7 = Стр.Поле7; НоваяЗапись.Поле8 = Стр.Поле8; НоваяЗапись.Поле9 = Стр.Поле9; НоваяЗапись.Поле10 = Стр.Поле10; НоваяЗапись.Представление = Стр.Представление; Попытка НаборЗаписей.Записать(); сообщить("записали " + НаборЗаписей.Отбор.Объект.Значение.Наименование + ", " + Справочники.ВидыКонтактнойИнформации.ЮрАдресФизЛица.Наименование); Исключение КонецПопытки; КонецЕсли; КонецЕсли; КонецЦикла; ___ всё работает :) |
|||
15
mortal
28.12.11
✎
16:38
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |