Запрос по com-соединению и Список/Массив значений в параметре.

1. succub1_5 93 30.01.15 16:30 Сейчас в теме
Здравствуйте =), что-то под вечер пятницы туплю - самописная конфа, создал com-соединение к УПП, в запросе пытаюсь получить данные для дальнейшего анализа, передаю в параметр массив значений (вообще ни о чем) - Код (Строка,9), в УПП у справочника ЕИ тоже Код - Строка,9. А у меня ошибка типа неверный параметр.
Процедура ПоискЕИ(ТЗ)

	Запрос = Новый Запрос;
	Запрос.Текст =  "ВЫБРАТЬ ПЕРВЫЕ 5
	                |	ЕдиницыИзмерения.Код КАК Код,
	                |	ЕдиницыИзмерения.Ссылка,
	                |	ЕдиницыИзмерения.Наименование
	                |ИЗ
	                |	Справочник.ЕдиницыИзмерения КАК ЕдиницыИзмерения
	                |
	                |УПОРЯДОЧИТЬ ПО
	                |	Код
	                |АВТОУПОРЯДОЧИВАНИЕ";
	ТЗPDM = Запрос.Выполнить().Выгрузить();

	СЗКод = ТЗPDM.ВыгрузитьКолонку("Код");
	
	ЗапросУПП = БазаУПП.NewObject("Запрос");
	ЗапросУПП.Текст = "ВЫБРАТЬ
	                  |	ЕдиницыИзмерения.Код КАК Код,
	                  |	ЕдиницыИзмерения.Ссылка,
	                  |	ЕдиницыИзмерения.Наименование
	                  |ИЗ
	                  |	Справочник.ЕдиницыИзмерения КАК ЕдиницыИзмерения
	                  |ГДЕ
	                  |	ЕдиницыИзмерения.Код В (&Код)
	                  |
	                  |УПОРЯДОЧИТЬ ПО
	                  |	Код
	                  |АВТОУПОРЯДОЧИВАНИЕ";
	ЗапросУПП.УстановитьПараметр("Код", СЗКод);
	ТЗУПП = ЗапросУПП.Выполнить().Выгрузить();
КонецПроцедуры
Показать
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Boneman 302 30.01.15 16:35 Сейчас в теме
(1) succub1_5, )))))))
Орел ))
Сделал целый список значений в локальной базе, и прямо вот так просто, его параметром в запрос, который создан в чужой базе.

Тебе и список значений, надо создавать ТАМ, а не тут.
3. succub1_5 93 30.01.15 16:42 Сейчас в теме
ладно, а как мне ТАМ создать список значений, который берется из локальной базы? =)
P.S. вроде даже не проблема с самим списком где и как он создан, а в передаче параметра, там синтаксис вроде другой или еще что-то не дописываю.
Nikola_N; alexovik; +2 Ответить
4. Boneman 302 30.01.15 16:51 Сейчас в теме
(3) succub1_5,
в той базе, все также как и в этой, только надо добавлять перед функциями БазаУПП.
а присваиваются, только примитивные типы. Строка, число, булево.
Ну и соответственно, метод выгрузить у тебя не сработает.
Поэтому.
Вариант 1.
Перебор таблицы значений,
и поэлементно добавляем в список той базы элементы.
Вариант 2.
Преобразовать готовый список, в строку,
а в той базе, наоборот из строки обратно список.
используя ЗначениеВСтрокуВнутр и ЗначениеИзСтрокиВнутр
6. succub1_5 93 30.01.15 16:54 Сейчас в теме
(4) Boneman, у геммор какой =)
5. Boneman 302 30.01.15 16:52 Сейчас в теме
(3) succub1_5,
а в передаче параметра, там синтаксис вроде другой

между базами передаются только самые примитивные типы.
7. Boneman 302 30.01.15 16:56 Сейчас в теме
(3) succub1_5,
например создать список ТАМ
СписокТАМ = БазаУПП.NewObject("СписокЗначений");//Новый СписокЗначений;
СписокТАМ.Добавить(ОЛЕ.справочники.СкладыКомпании.НайтиПоКоду("00000139"));
СписокТАМ.Добавить(ОЛЕ.справочники.СкладыКомпании.НайтиПоКоду("00000104"));
СписокТАМ.Добавить(ОЛЕ.справочники.СкладыКомпании.НайтиПоКоду("00000117"));
если реквизиты строковые, то просто
СписокТАМ.Добавить(СтрокаТЗ.Код);
sergkushkov; svilsa; Sergafan10; user640247; +4 Ответить
8. user640247 13.04.21 19:53 Сейчас в теме
(7)
СписокЗначений

Спасибо большое! так заработало у меня
9. svilsa 13 14.12.22 10:46 Сейчас в теме
(7)
СписокТАМ = БазаУПП.NewObject("СписокЗначений");//Новый СписокЗначений;
СписокТАМ.Добавить(ОЛЕ.справочники.СкладыКомпании.НайтиПоКоду("00000139"));
СписокТАМ.Добавить(ОЛЕ.справочники.СкладыКомпании.НайтиПоКоду("00000104"));
СписокТАМ.Добавить(ОЛЕ.справочники.СкладыКомпании.НайтиПоКоду("00000117"));
если реквизиты строковые, то просто
СписокТАМ.Добавить(СтрокаТЗ.Код);


Спасибо!
10. DBV 14.12.22 12:18 Сейчас в теме
(7) Ну зачем НайтиПоКоду
11. Boneman 302 14.12.22 14:39 Сейчас в теме
(10) это просто пример, для наглядности, чтобы человек понял как работать через ком
12. DBV 14.12.22 14:47 Сейчас в теме
(11) Главное, чтобы он понял.

Хотя он в первом запросе использует упорядочивание и получает ненужные данные, ну и выгрузка в ТЗ тоже такое себе
Исходя из этого, возможно, не понимает нюансов работы метода НайтиПоКоду
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот