Не открывается Диалог выбора файла из программно созданного элемента
Добрый день! В УНФ в расширении след. код в форме документа:
&НаСервере
Процедура Расш1_ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)
ДобавляемыеРеквизиты = Новый Массив;
НовыйЭлементРеквизитСтрокаВыбораФайла = Новый РеквизитФормы("СтрокаВыбораФайла",Новый ОписаниеТипов("Строка",,Новый КвалификаторыСтроки(500)));
НовыйЭлементРеквизитАдресВХ = Новый РеквизитФормы("РеквизитАдресВХ",Новый ОписаниеТипов("Строка",,Новый КвалификаторыСтроки(500)));
ДобавляемыеРеквизиты.Добавить(НовыйЭлементРеквизитСтрокаВыбораФайла);
ДобавляемыеРеквизиты.Добавить(НовыйЭлементРеквизитАдресВХ);
ИзменитьРеквизиты(ДобавляемыеРеквизиты);
НовыйЭлементПолеСтрокаВыбораФайла = ЭтаФорма.Элементы.Добавить("СтрокаВыбораФайла", Тип("ПолеФормы"),ЭтаФорма.Элементы.ПраваяКолонка);
НовыйЭлементПолеСтрокаВыбораФайла.Вид = ВидПоляФормы.ПолеВвода;
НовыйЭлементПолеСтрокаВыбораФайла.Заголовок = "Файл";
НовыйЭлементПолеСтрокаВыбораФайла.КнопкаВыбора = Истина;
НовыйЭлементПолеСтрокаВыбораФайла.ПутьКДанным = "СтрокаВыбораФайла";
НоваяКоманда = ЭтаФорма.Команды.Добавить("Расш1_ЗагрузитьФайл");
НоваяКоманда.Действие = "Расш1_ЗагрузитьФайл";
НоваяКоманда.Заголовок = "Загрузить файл";
НовыйЭлементКомандаЗагрузитьФайл = ЭтаФорма.Элементы.Добавить("ЗагрузитьФайл", Тип("КнопкаФормы"),ЭтаФорма.Элементы.ПраваяКолонка);
НовыйЭлементКомандаЗагрузитьФайл.ИмяКоманды = "Расш1_ЗагрузитьФайл";
КонецПроцедуры
&НаКлиенте
Процедура Расш1_СтрокаВыбораФайлаНачалоВыбора(ДанныеВыбора, ВыборДобавлением, СтандартнаяОбработка)
СтандартнаяОбработка=Ложь;
Режим = РежимДиалогаВыбораФайла.Открытие;
ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(Режим);
ДиалогОткрытияФайла.ПолноеИмяФайла = "";
ДиалогОткрытияФайла.МножественныйВыбор = Ложь;
ДиалогОткрытияФайла.Заголовок = "Выберите файл";
Если ДиалогОткрытияФайла.Выбрать() Тогда
СтрокаВыбораФайла = ДиалогОткрытияФайла.ПолноеИмяФайла;
Иначе
Предупреждение(НСтр("ru = 'Файл не выбран!'"));
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура Расш1_ЗагрузитьФайлНаСервере()
Файл = ПолучитьИзВременногоХранилища(ЭтаФорма.Элементы.АдресВХ);
ИмяВФ = ПолучитьИмяВременногоФайла("xlsx");
Файл.Записать();
Элементы.Продукция.Очистить();
ТабДок = Новый ТабличныйДокумент;
ТабДок.Прочитать(ИмяВФ,СпособЧтенияЗначенийТабличногоДокумента.Значение);
высстрок = табдок.ВысотаСтраницы;
Для Стр = 2 По высстрок Цикл
СтрТЗ = Элементы.Продукция.ДобавитьСтроку();
СтрТЗ.Номенклатура = ТабДок.Область(стр,1);
СтрТЗ.Ед = ТабДок.Область(стр,2);
СтрТЗ.Количество = ТабДок.Область(стр,3);
КонецЦикла;
КонецПроцедуры
&НаКлиенте
Процедура Расш1_ЗагрузитьФайл(Команда)
Файл = Новый ДвоичныеДанные(ЭтаФорма.Элементы.СтрокаВыбораФайла);
ЭтаФорма.АдресВХ = ПоместитьВоВременноеХранилище(Файл,ЭтаФорма.УникальныйИдентификатор);
Расш1_ЗагрузитьФайлНаСервере();
КонецПроцедуры
ПоказатьПо теме из базы знаний
- Стоит ли использовать Внешние компоненты для 1С?
- Разработка и сценарное тестирование с Vanessa-ADD. Практические примеры сценариев. Шаги встроенной библиотеки
- Технология создания эффектных видео-инструкций посредством DevTools Protocol
- Загрузка чеков в 1С из ФНС в документы БП, УНФ, ERP, КА и УТ
- Обзор полезных методов БСП 3.1.4. Часть 2
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) https://www.1c-uc3.ru/our-courses/all-courses/dlya-programmistov/osnovnye-kursy/up82/
след. код
Накопипастила из интернета, не понимая что оно делает, и оно не работает? Есть решение! Сходи на курсы:
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот