УФ и выбор из ТаблицыЗначений

1. tvm 24.04.19 22:11 Сейчас в теме
По com-соединению получаю наименование и guid объекта в ТаблицуЗначений. Нужно организовать выбор из этой таблицы, добавление выбранных значений в таблицу на форме. Подскажите как лучше и правильнее реализовать?
По теме из базы знаний
Найденные решения
7. tusv 211 25.04.19 14:00 Сейчас в теме
(4)Почему нельзя. У Вас в обработке две формы (Форма), одна с ТЧ(ТЧ1) для заполнения, другая (ФормаПодбора) с данными другой базы (ТЧ2). На Элемент формы подбора ТЧ2 ставите Режим выбора в истину. Колонку guid в Использовать всегда и скрываем.
В Форме 1 Добавляем команду, Например Подбор.
&НаКлиенте
Процедура Подбор(Команда)
	Форма = ОткрытьФорму("ВнешняяОбработка.ПодборИзВнешнихДанных.Форма.ФормаПодбора",,ЭтаФорма,,,,,РежимОткрытияОкнаФормы.БлокироватьОкноВладельца)
КонецПроцедуры

В Форме подбора на ТЧ вешаем событие Выбор
И пишем
&НаКлиенте
Процедура ТЧВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
	Ссылка = ПолучитьСсылку(Элемент.ТекущиеДанные.guid);
	Если ВладелецФормы.ТЧ.НайтиСтроки(Новый Структура("Номенклатура",Ссылка)).Количество() = 0 Тогда
		Стр = ВладелецФормы.ТЧ.Добавить();
		Стр.Номенклатура=Ссылка;
	КонецЕсли;	
КонецПроцедуры
&НаСервереБезКонтекста
Функция ПолучитьСсылку(Знач Уид)
	Если не ТипЗнч(Уид) = Тип("УникальныйИдентификатор") Тогда
		Уид = Новый УникальныйИдентификатор(Уид);
	КонецЕсли;
	Ссылка =  Справочники.Номенклатура.ПолучитьСсылку(Уид);
        Если Ссылка.ПолучитьОбъект()=Неопределено Тогда
                //создадим элемент или Вернем пустую
        КонецЕсли;
        Возврат Ссылка;
КонецФункции
Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. nestokay 62 25.04.19 09:03 Сейчас в теме
(1) Отбором в ТЗ, либо перебирать в цикле.
Что-то типа:
Отбор = Новый Структура;
Отбор.Вставить("Ключ", Значение);
НайденныеСтроки = ТЗ.НайтиСтроки(Отбор);
4. tvm 25.04.19 09:08 Сейчас в теме
(2) мне ТЗ надо показать пользователю это в идеале конечно, чтобы потом проще мне .
(3) пока тоже думаю показатьвыборизсписка, а потом искать в ТЗ и получать guid. Минус в том что выбор нескольких нельзя будет сделать.
5. user623969_dusa 25.04.19 09:39 Сейчас в теме
(4) показатьотметкуэлементов - возвратит список значений отмеченных элементов
6. tvm 25.04.19 09:48 Сейчас в теме
(5) спасибо попробую как вариант. хотелось бы конечно сразу тз показать, но без доп формы похоже никак...
7. tusv 211 25.04.19 14:00 Сейчас в теме
(4)Почему нельзя. У Вас в обработке две формы (Форма), одна с ТЧ(ТЧ1) для заполнения, другая (ФормаПодбора) с данными другой базы (ТЧ2). На Элемент формы подбора ТЧ2 ставите Режим выбора в истину. Колонку guid в Использовать всегда и скрываем.
В Форме 1 Добавляем команду, Например Подбор.
&НаКлиенте
Процедура Подбор(Команда)
	Форма = ОткрытьФорму("ВнешняяОбработка.ПодборИзВнешнихДанных.Форма.ФормаПодбора",,ЭтаФорма,,,,,РежимОткрытияОкнаФормы.БлокироватьОкноВладельца)
КонецПроцедуры

В Форме подбора на ТЧ вешаем событие Выбор
И пишем
&НаКлиенте
Процедура ТЧВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
	Ссылка = ПолучитьСсылку(Элемент.ТекущиеДанные.guid);
	Если ВладелецФормы.ТЧ.НайтиСтроки(Новый Структура("Номенклатура",Ссылка)).Количество() = 0 Тогда
		Стр = ВладелецФормы.ТЧ.Добавить();
		Стр.Номенклатура=Ссылка;
	КонецЕсли;	
КонецПроцедуры
&НаСервереБезКонтекста
Функция ПолучитьСсылку(Знач Уид)
	Если не ТипЗнч(Уид) = Тип("УникальныйИдентификатор") Тогда
		Уид = Новый УникальныйИдентификатор(Уид);
	КонецЕсли;
	Ссылка =  Справочники.Номенклатура.ПолучитьСсылку(Уид);
        Если Ссылка.ПолучитьОбъект()=Неопределено Тогда
                //создадим элемент или Вернем пустую
        КонецЕсли;
        Возврат Ссылка;
КонецФункции
Показать
8. tvm 25.04.19 14:12 Сейчас в теме
9. tvm 25.04.19 15:03 Сейчас в теме
(7) а как из этой формы вызвать экспортную функцию модуля?
10. tusv 211 25.04.19 15:08 Сейчас в теме
(9) В процедуре или функции с компиляцией На сервере РеквизитФормыВЗначение
Например
ТЗ = РеквизитФормыВЗначение("Объект").ПолучитьВнешниеДанные();
11. tvm 25.04.19 15:10 Сейчас в теме
(10) да, разобрался. не было реквизита с объектом на форме
2. SaschaL 25.04.19 05:50 Сейчас в теме
Добрый день!
Самый простой способ обработать полученную таблицу значений в цикле и каждую полученную строку уже поместить на форму
Оставьте свое сообщение

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