powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / [игнор отключен] [закрыт для гостей] / Раскидать по столбцам
19 сообщений из 19, страница 1 из 1
Раскидать по столбцам
    #36661660
vladimir_polukhin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ребят, помогите верно раскидать полученные данные по столбцам... Чтобы в имя файла заносилось имя(без расширения), в дату создания - дата создания файла, ну и так же с путемкфайлу и размером... Если вместо вопросов пишу Item.Name - он выдает все подряд (путь+имя+расширение)

Items = ServicesSet.ExecQuery("Select * from CIM_DataFile where Extension = 'dwg'");
Для каждого Item Из Items Цикл
Сообщить("Имя файла: " + Item.Name);
стр=Справочники.Проект.НайтиПоНаименованию(Item.Name,Истина);
Если стр.Пустая() Тогда
об=Справочники.Проект.СоздатьЭлемент();
об.ИмяФайла =??????
об.ДатаСоздания=??????
об.ПутьКФайлу =??????
об.РазмерФайла =??????
об.Записать();
Иначе
об=стр.ПолучитьОбъект();
об.ИмяФайла =??????
об.ДатаСоздания=??????
об.ПутьКФайлу =??????
об.РазмерФайла =??????
КонецЕсли;
об.Записать();
КонецЦикла;
...
Рейтинг: 0 / 0
Раскидать по столбцам
    #36661687
Господин ПЖ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
какие у вас там имена полей в выборке - телепаты в отпуске...

>ServicesSet.ExecQuery("Select * from CIM_DataFile where Extension = 'dwg'");

это все ради чего? Требуха в некой БД валяицо? Ил иэто такой гландо-анальный аналог НайтиФайлы()?
...
Рейтинг: 0 / 0
Раскидать по столбцам
    #36663799
vladimir_polukhin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Господин ПЖ,

Данные находятся по всему компьютеру,
Имена: ПутьКФайлу, РазмерФайла, ДатаСоздания, ИмяФайла
...
Рейтинг: 0 / 0
Раскидать по столбцам
    #36663856
pail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vladimir_polukhinРебят, помогите верно раскидать полученные данные по столбцам... Чтобы в имя файла заносилось имя(без расширения), в дату создания - дата создания файла, ну и так же с путемкфайлу и размером... Если вместо вопросов пишу Item.Name - он выдает все подряд (путь+имя+расширение)

Items = ServicesSet.ExecQuery("Select * from CIM_DataFile where Extension = 'dwg'");
Для каждого Item Из Items Цикл
Сообщить("Имя файла: " + Item.Name);
стр=Справочники.Проект.НайтиПоНаименованию(Item.Name,Истина);
Если стр.Пустая() Тогда
об=Справочники.Проект.СоздатьЭлемент();
об.ИмяФайла =??????
об.ДатаСоздания=??????
об.ПутьКФайлу =??????
об.РазмерФайла =??????
об.Записать();
Иначе
об=стр.ПолучитьОбъект();
об.ИмяФайла =??????
об.ДатаСоздания=??????
об.ПутьКФайлу =??????
об.РазмерФайла =??????
КонецЕсли;
об.Записать();
КонецЦикла;

"Слышь, мужик, не выделывайся - рукой покажи!" (из какого-то анекдота).
А не будет ли так любезен многоуважаемый vladimir_polukhin без всяких стыдливых ????? свой код показать, как он написан. Да и "Select * from...." не поленился бы в явный вид преобразовать, чтобы
было "Select ПутьКФайлу, РазмерФайла, ДатаСоздания, ИмяФайла from...." в работающем запросе.
А то действительно - редкий телепат догадается, как там у вас поля в CIM_DataFile называются.
...
Рейтинг: 0 / 0
Раскидать по столбцам
    #36663890
vladimir_polukhin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pail,

Вместо "Select * from...." написал Items = НайтиФайлы("C:\", "*.dwg");
Вместо ??? еще ничего не написано, заступорился ((

Полегче со мной, я еще только учусь (с)
...
Рейтинг: 0 / 0
Раскидать по столбцам
    #36663929
pail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vladimir_polukhinpail,

Вместо "Select * from...." написал Items = НайтиФайлы("C:\", "*.dwg");
Вместо ??? еще ничего не написано, заступорился ((

Полегче со мной, я еще только учусь (с)

Проблема в том, что к полям выборки надо обращаться по тем именам, которые они действительно имеют. Хотя если ServicesSet - это класс из ADO, то там еще и по номерам полей обращаться можно. В этом случае действительно следует нужные поля явно в запросе перечислить, а не полагаться на однажды подсмотренную структуру таблицы.
Если есть проблемы с именами в таблице CIM_DataFile - ну так подсмотреть любым инструментом (не знаю, что это у вас за база, и поэтому про конкретный инструмент ничего не скажу).
А НайтиФайлы() прекрасно документировано в синтаксис-помошнике - возвращает массив объектов типа файл, всего-то и надо - посмотреть, какие у этого типа свойства есть.
И даже если недосуг заглянуть в документацию - всегда можно поставить точку останова на входе в цикл, и живьем увидеть, что же за имена есть у Item.
И приятно удивиться, что нету там никакого ИмяФайла, а есть Имя или ИмяБезРасширения.
...
Рейтинг: 0 / 0
Раскидать по столбцам
    #36664004
Господин ПЖ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Данные находятся по всему компьютеру

моя плакать...
...
Рейтинг: 0 / 0
Раскидать по столбцам
    #36664031
vladimir_polukhin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Господин ПЖ,

да, именно со всего компьютера надо собрать...
...
Рейтинг: 0 / 0
Раскидать по столбцам
    #36664089
vladimir_polukhin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pail,

У меня у item такое выдает... Может я что-то не так делаю... Подскажите профессионалы...
...
Рейтинг: 0 / 0
Раскидать по столбцам
    #36664115
Господин ПЖ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не есть хорошо пользовать зарезервированные слова...

items = Элементы
...
Рейтинг: 0 / 0
Раскидать по столбцам
    #36664184
vladimir_polukhin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сделал! ))

Теперь нужна подсказка, как повторяющиеся файлы закинуть в определенную группу...
...
Рейтинг: 0 / 0
Раскидать по столбцам
    #36664278
Фотография Dinamo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vladimir_polukhinСделал! ))

Теперь нужна подсказка, как повторяющиеся файлы закинуть в определенную группу...
Вариант 1.
Создать необходимые группы.
Прописать в повторяющиеся элементы ссылки на соответствующих родителей.
Вариант 2.
Сначала все данные собрать в отдельную таблицу, потом её отсортировать для поиска "повторяющихся файлов " (кстати у вас критерий "повторяющести" есть?).
Далее в этой же таблице создать колонку для группы, заполнить ей.
Потом по обходя готовую таблицу создавать группы и элементы.
...
Рейтинг: 0 / 0
Раскидать по столбцам
    #36664296
Фотография Dinamo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vladimir_polukhinГосподин ПЖ,
да, именно со всего компьютера надо собрать...
Весь компьютер очень часто это не только диск С:.
...
Рейтинг: 0 / 0
Раскидать по столбцам
    #36664344
vladimir_polukhin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dinamo,

Для начала диск С, потом допишу...
Критерий - имя файла...
...
Рейтинг: 0 / 0
Раскидать по столбцам
    #36664375
Господин ПЖ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dinamovladimir_polukhinГосподин ПЖ,
да, именно со всего компьютера надо собрать...
Весь компьютер очень часто это не только диск С:.

ну да... перебрать коллекцию дисков в системе - это задача непреодолима на текущем уровне развития техники...
...
Рейтинг: 0 / 0
Раскидать по столбцам
    #36664419
Фотография Dinamo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vladimir_polukhinDinamo,

Для начала диск С, потом допишу...
Критерий - имя файла...
Ну вот наконец то добрались до собственно формулировки сути задачи:
"Выполнить средствами платформы 1С 8.* анализ наличия на указанном диске файлов с заданным расширением. Информацию по найденым файлам разместить в специальном справочнике 1С, в котором в отдельных реквизитах хранится информация об отдельных характеристиках файлов (Имя файла, Путь к файлу, ДатаСоздания, РазмерФайла и т.д.). При этом файлы с совпадающими именами должны быть помещены в одну группу".
...
Рейтинг: 0 / 0
Раскидать по столбцам
    #36664468
vladimir_polukhin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dinamo,

Я так понимаю нужно писать через ЕСЛИ или есть другой способ?
...
Рейтинг: 0 / 0
Раскидать по столбцам
    #36665804
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да уж ... нытьё ...

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
Процедура КнопкаВыполнитьНажатие(Кнопка)
	// Вставить содержимое обработчика.
	ТЗ=Новый ТаблицаЗначений;
	ТЗ.Колонки.Добавить("ИмяФайла");
	ТЗ.Колонки.Добавить("ДатаСоздания");
	ТЗ.Колонки.Добавить("ПутьКФайлу");
	ТЗ.Колонки.Добавить("РазмерФайла");
	ТЗ.Колонки.Добавить("Родитель");
	Мас=НайтиФайлы("C:\ми\книги\","*.chm");
	Для Каждого Стр из Мас Цикл
		нов=ТЗ.Добавить();
		нов.ИмяФайла=Стр.Имя;
		нов.ДатаСоздания=Стр.ПолучитьВремяИзменения();
		нов.ПутьКФайлу=Стр.Путь;
		нов.РазмерФайла=Стр.Размер();
	КонецЦикла;
	Если ТЗ.Количество()= 0  Тогда
		Сообщить("ПустаяВыборка"); Возврат;
	КонецЕсли;
	ТЗ.Сортировать("ИмяФайла");
	Эталон=Тз[ 1 ].ИмяФайла;
	Порядок= 1 ;
	Для Каждого Стр из ТЗ Цикл
		Если Эталон<>Стр.ИмяФайла Тогда
			Порядок= 1 ;
			Эталон=Стр.ИмяФайла;
		КонецЕсли;
		Если Порядок= 1  Тогда
			Об=Справочники.Файлы.СоздатьГруппу();
			Об.Наименование="Каталог"+Эталон;
			Об.Записать();
			Ссылка=Об.Ссылка;
		КонецЕсли;
		Стр.Родитель=Ссылка;
		Порядок=Порядок+ 1 ;
	КонецЦикла;
	Для Каждого Стр Из ТЗ Цикл
		Об=Справочники.Файлы.СоздатьЭлемент();
		Об.ИмяФайла=Стр.ИмяФайла;
		Об.ДатаСоздания=Стр.ДатаСоздания;
		Об.ПутьКФайлу=Стр.ПутьКФайлу;
		Об.РазмерФайла=Стр.РазмерФайла;
		Об.Родитель=Стр.Родитель();
		Об.Записать();
	КонецЦикла;
КонецПроцедуры

в ликвидации нытья о рекурсии я не участвую ...
...
Рейтинг: 0 / 0
Раскидать по столбцам
    #36665816
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
код поганый и отсутствие мелких пакостей не гарантирую
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / [игнор отключен] [закрыт для гостей] / Раскидать по столбцам
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]