|
добавление элементов в справочник из массива, без повторов | ☑ | ||
---|---|---|---|---|
0
r2d24
15.11.13
✎
16:02
|
думаю над задачкой:
есть массив, в нем хранится строки со значениями. Нужно добавить в справочник "Качество" новые значения из массива, но только что бы добавлялись без повторов. масс = новый Массив; масс.Добавить("плохое"); масс.Добавить("отличное"); масс.Добавить("плохое"); масс.Добавить("старое"); масс.Добавить("большое"); масс.Добавить("старое"); масс.Добавить("большое"); масс.Добавить("отличное"); масс.Добавить("большое"); масс.Добавить("старое"); для каждого мас1 из масс Цикл Сообщить(мас1); Запр=новый Запрос; запр.Текст="ВЫБРАТЬ | Качество.Наименование |ИЗ | Справочник.Качество КАК Качество |ГДЕ | Качество.Наименование ПОДОБНО &Наименование"; Запр.УстановитьПараметр("Наименование", + мас1); Рез = Запр.Выполнить().Выбрать(); Если Рез.Пустой() Тогда НовКач=Справочники.Качество.СоздатьЭлемент(); НовКач.Наименование=мас1; НовКач.Записать(); КонецЕсли; КонецЦикла; |
|||
1
r2d24
15.11.13
✎
16:02
|
(0) выдается ошибка
преобразование значения к типу число не может быть выполнено |
|||
2
Зойч
15.11.13
✎
16:03
|
Если НайтиПоНаименованию().Пустая() Тогда Добавить()
|
|||
3
Maxus43
15.11.13
✎
16:04
|
Запр.УстановитьПараметр("Наименование", "%"+мас1+"%");
|
|||
4
lordmb
15.11.13
✎
16:07
|
(1)
>>>Рез = Запр.Выполнить().Выбрать(); убери .Выбрать*() т.е. надо Рез = Запр.Выполнить(); |
|||
5
Поросенок Петр
15.11.13
✎
16:14
|
Т.е. запрос в цикле никого не смутил? Ну ладно...
|
|||
6
vicof
15.11.13
✎
16:16
|
(0) Я вообще не понял, зачем добавлять в массив кучу задвоенных позиций
(5) +1 |
|||
7
User_Agronom
15.11.13
✎
16:17
|
(5) Я тоже про запрос в цикле подумал
|
|||
8
exwill
15.11.13
✎
16:17
|
(5) Ну какой там цикл? Ну не больше словаря синонимов.
|
|||
9
МойКодУныл
15.11.13
✎
16:18
|
Создаешь ТЗ с нужным количество строк, загружаешь колонку, сворачиваешь.
ТаблицаЗначений (ValueTable) ЗагрузитьКолонку (LoadColumn) Синтаксис: ЗагрузитьКолонку(<Массив>, <Колонка>) Параметры: <Массив> (обязательный) Тип: Массив. Массив значений, который выступает в качестве источника данных для колонки. <Колонка> (обязательный) Тип: Число; Строка; КолонкаТаблицыЗначений. Колонка, в которую будут загружены значения из массива. В качестве значения параметра может выступать индекс колонки, имя колонки, сама колонка. Описание: Загружает колонку таблицы значений из массива значений. Доступность: Сервер, толстый клиент, внешнее соединение. Примечание: Значения из массива загружаются в колонку в порядке индексов. Пример: ТаблицаРезультат = Новый ТаблицаЗначений; Для каждого ИмяКолонки Из МассивИменКолонок Цикл ТаблицаРезультат.Колонки.Добавить(ИмяКолонки); КонецЦикла; // Создадим пустые строки таблицы Для Н=1 По СтрокиДереваЗначений.Количество() Цикл ТаблицаРезультат.Добавить(); КонецЦикла; // Скопируем значения колонок Для каждого ИмяКолонки Из МассивИменКолонок Цикл ЗначенияКолонки = СтрокиДереваЗначений.ВыгрузитьКолонку(ИмяКолонки); ТаблицаРезультат.ЗагрузитьКолонку(ЗначенияКолонки, ИмяКолонки); КонецЦикла; |
|||
10
Мимохожий Однако
15.11.13
✎
16:19
|
(6)Задвоенные позиции для тестирования.ИМХО.
|
|||
11
МойКодУныл
15.11.13
✎
16:19
|
это конечно,если справочник пуст)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |