Загрузка данных в ТЧ стандартными средствами

1. jimli 6 29.05.20 12:05 Сейчас в теме
УТ11.4
При создании заказа клиента есть стандартный механизм импорта из Excel. Открывается форма, в которую можно вставить код, наименование, артикул товара, его кол-во и цену.
Нужно сделать то же для инвентаризации. Скажите, это подключаемая к документам форма, или она работает только в заказе? Было бы очень удобно подключить ее в инвентаризацию.
По теме из базы знаний
Найденные решения
4. independ 1520 29.05.20 20:13 Сейчас в теме
(3) нужно посмотреть процедуру ОбработкаВыбора в модуле формы ЗаказКлиента, и сделать аналогичную в нужной форме (модуле формы), например как у вас ПересчетТоваров
6. jimli 6 30.05.20 13:03 Сейчас в теме
Может пригодится кому... Вставляла в расширение.

&НаКлиенте
Процедура РП_ОбработкаВыбораПосле(ВыбранноеЗначение, ИсточникВыбора)
	Если ИсточникВыбора.ИмяФормы = "Обработка.ЗагрузкаДанныхИзВнешнихФайлов.Форма.Форма" Тогда
		
		ПолучитьЗагруженныеТоварыИзХранилища(ВыбранноеЗначение.АдресТоваровВХранилище);
	конецесли;
КонецПроцедуры

&НаСервере
Процедура ПолучитьЗагруженныеТоварыИзХранилища(АдресТоваровВХранилище)
	
	СтруктураДействий = Новый Структура;
	КэшированныеЗначения = ОбработкаТабличнойЧастиКлиентСервер.ПолучитьСтруктуруКэшируемыеЗначения();
	
	ТоварыИзХранилища = ПолучитьИзВременногоХранилища(АдресТоваровВХранилище);
	
	Для Каждого СтрокаТоваров Из ТоварыИзХранилища Цикл
		СтрокаТЧТовары = Объект.Товары.Добавить();
		ЗаполнитьЗначенияСвойств(СтрокаТЧТовары, СтрокаТоваров,,"НомерСтроки");
		
		ОбработкаТабличнойЧастиСервер.ОбработатьСтрокуТЧ(СтрокаТЧТовары, СтруктураДействий, КэшированныеЗначения);
		
	КонецЦикла;
	
КонецПроцедуры
Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. VmvLer 29.05.20 12:31 Сейчас в теме
3. jimli 6 29.05.20 19:34 Сейчас в теме
(2) Спасибо, нашла код в форме ЗаказКлиента.
Добавила форму ПересчетТоваров в расширение. Создала кнопку на закладке Товары. Перенесла код, закомментировав ненужное из формы ЗаказКлиента.

&НаКлиенте
Процедура РП_ЗагрузитьИзВнешнегоФайлаПосле(Команда)
	ПараметрыФормы = Новый Структура();
	ПараметрыФормы.Вставить("ЗагружатьЦены", ложь);
	//ПараметрыФормы.Вставить("ЦенаВключаетНДС", Объект.ЦенаВключаетНДС);
	//ПараметрыФормы.Вставить("НалогообложениеНДС", Объект.НалогообложениеНДС);
	//ПараметрыФормы.Вставить("ВернутьМногооборотнуюТару", Объект.ВернутьМногооборотнуюТару);
	//ПараметрыФормы.Вставить("Соглашение", Объект.Соглашение);
	ПараметрыФормы.Вставить("Дата", Объект.Дата);

	//ПараметрыФормы.Вставить("Валюта", Объект.Валюта);
	
	//Если Объект.ХозяйственнаяОперация = ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ПередачаНаКомиссию") Тогда
	//	ПараметрыФормы.Вставить("ОтборПоТипуНоменклатуры", Новый ФиксированныйМассив(НоменклатураКлиентСервер.ОтборПоТоваруМногооборотнойТаре()));
	//КонецЕсли;
	
	ОткрытьФорму(
		"Обработка.ЗагрузкаДанныхИзВнешнихФайлов.Форма.Форма",
		ПараметрыФормы,
		ЭтаФорма,
		УникальныйИдентификатор);
КонецПроцедуры
Показать

Гениально открывается форма обработки, позволяет добавить товары, производит сопоставление и благополучно закрывается...
Обратила внимание, что не заполнен параметр ИмяТЧ. Передала его явно:
	ПараметрыФормы.Вставить("ИмяТЧ", Объект.Товары);

Тот же результат. Кстати, из формы ЗаказКлиента он также не передается :-(

Как же их подружить-то теперь :-(((((
4. independ 1520 29.05.20 20:13 Сейчас в теме
(3) нужно посмотреть процедуру ОбработкаВыбора в модуле формы ЗаказКлиента, и сделать аналогичную в нужной форме (модуле формы), например как у вас ПересчетТоваров
5. jimli 6 30.05.20 13:02 Сейчас в теме
6. jimli 6 30.05.20 13:03 Сейчас в теме
Может пригодится кому... Вставляла в расширение.

&НаКлиенте
Процедура РП_ОбработкаВыбораПосле(ВыбранноеЗначение, ИсточникВыбора)
	Если ИсточникВыбора.ИмяФормы = "Обработка.ЗагрузкаДанныхИзВнешнихФайлов.Форма.Форма" Тогда
		
		ПолучитьЗагруженныеТоварыИзХранилища(ВыбранноеЗначение.АдресТоваровВХранилище);
	конецесли;
КонецПроцедуры

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

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