|
Запрос с условием вхождения | ☑ | ||
---|---|---|---|---|
0
mua thu
27.09.16
✎
19:02
|
Добрый день!
Пожалуйста подскажите: есть в word список кодов контрагентов из 1С в виде "111,222,333,444,555,666,777..." Нужно выбрать запросом контрагентов именно из этого списка. Как можно максимально быстро это сделать? Мне пока только один вариант приходит на ум - это разобрать эту строку и добавить в массив все коды а потом уже делать запрос с условием вхождения в массив..))) Заранее благодарю! |
|||
1
jsmith
27.09.16
✎
19:03
|
Да
|
|||
2
Господин ПЖ
27.09.16
✎
19:03
|
я не против
|
|||
3
mua thu
27.09.16
✎
19:10
|
Сорри, все - вопрос закрыт))
Решение такое нашел: // Функция "расщепляет" строку на подстроки, используя заданный // разделитель. Разделитель может иметь любую длину. // Если в качестве разделителя задан пробел, рядом стоящие пробелы // считаются одним разделителем, а ведущие и хвостовые пробелы параметра Стр // игнорируются. // Например, // РазложитьСтрокуВМассивПодстрок(",один,,,два", ",") возвратит массив значений из пяти элементов, // три из которых - пустые строки, а // РазложитьСтрокуВМассивПодстрок(" один два", " ") возвратит массив значений из двух элементов // // Параметры: // Стр - строка, которую необходимо разложить на подстроки. // Параметр передается по значению. // Разделитель - строка-разделитель, по умолчанию - запятая. // // Возвращаемое значение: // массив значений, элементы которого - подстроки // Функция РазложитьСтрокуВМассивПодстрок(Знач Стр, Разделитель = ",") Экспорт МассивСтрок = Новый Массив(); Если Разделитель = " " Тогда Стр = СокрЛП(Стр); Пока 1 = 1 Цикл Поз = Найти(Стр, Разделитель); Если Поз = 0 Тогда МассивСтрок.Добавить(Стр); Возврат МассивСтрок; КонецЕсли; МассивСтрок.Добавить(Лев(Стр, Поз - 1)); Стр = СокрЛ(Сред(Стр, Поз)); КонецЦикла; Иначе ДлинаРазделителя = СтрДлина(Разделитель); Пока 1 = 1 Цикл Поз = Найти(Стр, Разделитель); Если Поз = 0 Тогда Если (СокрЛП(Стр) <> "") Тогда МассивСтрок.Добавить(Стр); КонецЕсли; Возврат МассивСтрок; КонецЕсли; МассивСтрок.Добавить(Лев(Стр,Поз - 1)); Стр = Сред(Стр, Поз + ДлинаРазделителя); КонецЦикла; КонецЕсли; КонецФункции |
|||
4
mkalimulin
27.09.16
✎
19:22
|
(3) Есть стандартная функция стрРазделить()
|
|||
5
youalex
27.09.16
✎
19:23
|
(0) может прокатить:
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |