Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
21 ноя 2024, 18:52

Выгрузка значений колонки из таблицы в поле строка через ";"

Автор vondbond73, 02 окт 2024, 12:54

0 Пользователей и 1 гость просматривают эту тему.

vondbond73

Есть таблица в которую добавляют товар, таблица хранит в себе Артикул, наименование. Необходимо после добавления товаров в таблицу, переносить артикулы через точку с запятой в Поле ввода. Конфигурация УТ 11.5
Кто может подсказать, что не так?

&НаСервере
Процедура ВыгрузитьАртикул()

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ ПЕРВЫЕ 100
| Номенклатура.РекомендуемыеТовары.(
| Артикул КАК Артикул
| ) КАК РекомендуемыеТовары
|ИЗ
| Справочник.Номенклатура КАК Номенклатура";
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
Пока Выборка.Следующий() Цикл
Справочники.Номенклатура.ДополнительныеРеквизиты.ТекстоваяСтрока = Выборка.Артикул;
КонецЦикла;



КонецПроцедуры

antoneus

Да всё как-то не так. А вот эта строчка совсем не так:

Справочники.Номенклатура.ДополнительныеРеквизиты.ТекстоваяСтрока = Выборка.Артикул;

vondbond73

antoneus, Изменил код, после запроса делаю выборку и пытаюсь вставить в поле, но пишет, что не может найти это поле
РекТов = Объект.СопутствующиеТовары;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Номенклатура.РекомендуемыеТовары.(
| Артикул КАК Артикул
| ) КАК РекомендуемыеТовары
|ИЗ
| Справочник.Номенклатура КАК Номенклатура";
Результат = Запрос.Выполнить().Выгрузить();
Для Каждого Строка из Результат Цикл
РекТов = Строка.Артикул;
КонецЦикла;

antoneus

Да, не может, потому что это поле находится во вложенном результате запроса РекомендуемыеТовары, из которого тоже надо выборку делать. А надо как-то так:

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
|    НоменклатураРекомендуемыеТовары.Артикул КАК Артикул
|ИЗ
|    Справочник.Номенклатура.РекомендуемыеТовары КАК НоменклатураРекомендуемыеТовары
|ГДЕ
|    НоменклатураРекомендуемыеТовары.Ссылка = &Ссылка";
   
Запрос.УстановитьПараметр("Ссылка", Объект.Ссылка)
МассивАртикулы = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Артикул");
Объект.СопутствующиеТовары = СтрСоединить(МассивАртикулы, ";");

vondbond73

antoneus, Спасибо
Теперь хотя бы ; встает, но без артикула. Буду сейчас разбираться в чем дело


vondbond73


antoneus

Можно даже огород с запросом не городить

Артикулы = Новый Массив;
Для каждого стр из Объект.РекомендуемыеТовары Цикл
    Сообщить(стр.Артикул);//есть вообще что-нибудь?
    Артикулы.Добавить(стр.Артикул)
КонецЦикла;
Объект.СопутствующиеТовары = СтрСоединить(Артикулы, ";");

vondbond73


antoneus


vondbond73


Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск