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

Массив файлов в ТЗ

Автор vova-1c@xaker.ru, 26 апр 2019, 23:42

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

vova-1c@xaker.ru

 Подскажите  (1С 8.3.12)
получаю массив файлов
МассивФайлов = НайтиФайлы( "D:\tmp" , "*");
теперь надо этот массив отобразить на форме в ТЗ

vova-1c@xaker.ru

Написал пока вот так
&НаСервере
Процедура Массив2ТЗ( )

МассивФайлов = НайтиФайлы( Объект.ПутьККаталогу , "*");

ТЗ = Новый ТаблицаЗначений;

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

ВыводТЗнаФорму("ТЗформ",   ТЗ);   // выводим Таблицу значений на Форму

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

Добавлено: 27 апр 2019, 05:47


одно НО,
как теперь эту партянку уместить одной строчкой,
т.е.  Подскажите существует ли более красивый способ,
и второй вопрос - как выкатить на форму эту ТЗ
Добавлено: 27 апр 2019, 05:57


На форме ТЗ  как Ревизит Формы

alexandr_ll

Цитата: vova-1c@xaker.ru от 27 апр 2019, 05:44
Написал пока вот так
&НаСервере
Процедура Массив2ТЗ( )

МассивФайлов = НайтиФайлы( Объект.ПутьККаталогу , "*");

ТЗ = Новый ТаблицаЗначений;

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

ВыводТЗнаФорму("ТЗформ",   ТЗ);   // выводим Таблицу значений на Форму

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

Добавлено: 27 апр 2019, 05:47


одно НО,
как теперь эту партянку уместить одной строчкой,
т.е.  Подскажите существует ли более красивый способ,
и второй вопрос - как выкатить на форму эту ТЗ
Добавлено: 27 апр 2019, 05:57


На форме ТЗ  как Ревизит Формы
https://forum.infostart.ru/forum9/topic97492/

vova-1c@xaker.ru

 Нет , не о том , мимо
Добавлено: 29 апр 2019, 04:34


Навоял вот такое решение , солянка
&НаСервере
Процедура Массив2ТЗ( )

МассивФайлов = НайтиФайлы( ПутьККаталогу , "*.epf");

ТЗ = Новый ТаблицаЗначений;

ТЗ.Колонки.Добавить("Имя"   , Новый ОписаниеТипов("Строка"));
ТЗ.Колонки.Добавить("ПолноеИмя"   , Новый ОписаниеТипов("Строка"));
ТЗ.Колонки.Добавить("Путь"   , Новый ОписаниеТипов("Строка"));
ТЗ.Колонки.Добавить("ИмяБезРасширения"   , Новый ОписаниеТипов("Строка"));
//ТЗ.Колонки.Добавить("Расширение"   , Новый ОписаниеТипов("Строка"));

Для Каждого стрМас Из МассивФайлов  Цикл
СтрТЗ  = ТЗ.Добавить();
СтрТЗ.Имя  = стрМас.Имя ;
СтрТЗ.ПолноеИмя  = стрМас.ПолноеИмя ;
СтрТЗ.Путь  = стрМас.Путь ;
СтрТЗ.ИмяБезРасширения  = стрМас.ИмяБезРасширения ;
//СтрТЗ.Расширение  = стрМас.Расширение ;
КонецЦикла;

ВыводТЗнаФорму("ТЗформ",   ТЗ);// выводим ТЗ на Форму
                               // ТЗформ - на форме как Реквизит Формы
КонецПроцедуры

antoneus

Для Каждого стрМас Из МассивФайлов  Цикл
    ЗаполнитьЗначенияСвойств(ТЗ.Добавить(), стрМас)
КонецЦикла;

Теги: Массив 

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

Рейтинг@Mail.ru

Поиск