|
Загрузка Excel, обновление существующих данных | ☑ | ||
---|---|---|---|---|
0
slimuz
20.08.20
✎
14:00
|
Добрый день.
Написана простейшая обработка по загрузке xls файла. Реквизиты код, наименование, email. Нужно при загрузке обновлять имеющиеся данные, если с таким кодом уже есть. Сейчас если у реквизита код контроль уникальности, то при загрузке с имеющимся кодом выдает ошибку и не загружается, если выключить контроль уникальности, то в справочнике создаются дубли.
|
|||
1
ChMikle
20.08.20
✎
14:12
|
Функция ЗаполнитьФизЛиц(ТаблицаДанных)
Для Каждого Строк из ТаблицаДанных Цикл Поиск = Справочники.Пользователи.НайтиПоКоду(Строк.Код); Если Поиск = Неопределено тогда Элем = Справочники.Пользователи.СоздатьЭлемент(); Элем.Код = Строк.Код; Элем.Наименование = Строк.Наименование; Элем.EMail = Строк.EMail; Элем.Записать(); Иначе Элем = Справочники.Пользователи.ПолучитьОбъект(Поиск); Элем.Код = Строк.Код; Элем.Наименование = Строк.Наименование; Элем.EMail = Строк.EMail; Элем.Записать(); КонецЦикла; КонецФункции |
|||
2
ChMikle
20.08.20
✎
14:19
|
Функция ЗаполнитьФизЛиц(ТаблицаДанных)
Для Каждого Строк из ТаблицаДанных Цикл Поиск = Справочники.Пользователи.НайтиПоКоду(Строк.Код); Если Поиск = Неопределено тогда Элем = Справочники.Пользователи.СоздатьЭлемент(); Элем.Код = Строк.Код; Элем.Наименование = Строк.Наименование; Элем.EMail = Строк.EMail; Элем.Записать(); Иначе Элем = Справочники.Пользователи.ПолучитьОбъект(Поиск); Элем.Код = Строк.Код; Элем.Наименование = Строк.Наименование; Элем.EMail = Строк.EMail; Элем.Записать(); КонецЕсли;// так лучше КонецЦикла; КонецФункции |
|||
3
ChMikle
20.08.20
✎
14:19
|
только почему это функция если ничего не возвращает , а не процедура ?
|
|||
4
slimuz
20.08.20
✎
14:26
|
(3) Благодарю)) Ошибся..
|
|||
5
slimuz
20.08.20
✎
14:34
|
(1) (2) Метод объекта не обнаружен (ПолучитьОбъект).
1С 8.2 УФ |
|||
6
kubik_live
20.08.20
✎
14:38
|
(5) Поиск = Справочники.Пользователи.ПустаяСсылка
|
|||
7
ChMikle
20.08.20
✎
14:40
|
Элем = Поиск.ПолучитьОбъект();
|
|||
8
ChMikle
20.08.20
✎
14:40
|
Функция ЗаполнитьФизЛиц(ТаблицаДанных)
Для Каждого Строк из ТаблицаДанных Цикл Поиск = Справочники.Пользователи.НайтиПоКоду(Строк.Код); Если Поиск = Неопределено тогда Элем = Справочники.Пользователи.СоздатьЭлемент(); Элем.Код = Строк.Код; Элем.Наименование = Строк.Наименование; Элем.EMail = Строк.EMail; Элем.Записать(); Иначе Элем = Поиск.ПолучитьОбъект();// поменяйте Элем.Код = Строк.Код; Элем.Наименование = Строк.Наименование; Элем.EMail = Строк.EMail; Элем.Записать(); КонецЕсли// так лучше КонецЦикла; КонецФункции |
|||
9
ChMikle
20.08.20
✎
14:44
|
Элем = Поиск.ПолучитьОбъект(); // поменяйте
|
|||
10
kubik_live
20.08.20
✎
14:46
|
Возвращаемое значение:
Тип: СправочникСсылка.<Имя справочника>, Неопределено. Если не существует ни одного элемента с требуемым кодом, то будет возвращена ПУСТАЯ ссылка. Если для справочника код не задан (длина = 0), то будет возвращено Неопределено. |
|||
11
ChMikle
20.08.20
✎
14:47
|
Если Поиск = Неопределено или Поиск = Справочники.Пользователи.ПустаяСсылка тогда
|
|||
12
ChMikle
20.08.20
✎
14:48
|
ТС , ну что там, победил ?
|
|||
13
slimuz
20.08.20
✎
14:56
|
(12) Конечно победил)) Большое спасибо)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |