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

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

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

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

Данные находятся по всему компьютеру,
Имена: ПутьКФайлу, РазмерФайла, ДатаСоздания, ИмяФайла
...
Рейтинг: 0 / 0
02.06.2010, 13:27
    #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
02.06.2010, 13:42
    #36663890
vladimir_polukhin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Раскидать по столбцам
pail,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Я так понимаю нужно писать через ЕСЛИ или есть другой способ?
...
Рейтинг: 0 / 0
03.06.2010, 10:14
    #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
03.06.2010, 10:17
    #36665816
leaf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Раскидать по столбцам
код поганый и отсутствие мелких пакостей не гарантирую
...
Рейтинг: 0 / 0
Форумы / [игнор отключен] [закрыт для гостей] / Раскидать по столбцам / 19 сообщений из 19, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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