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

Для каждого Файл Из МассивНайденных Цикл
Кол=Справочники.Проект.СоздатьГруппу();
Если Кол.ИмяФайла=Истина Тогда
Док=Справочники.Проект.СоздатьГруппу();
Док.Родитель.ИмяФайла=Файл.Имя;
Док.Записать();
Иначе
Док=Кол.ИмяФайла;
КонецЕсли;
Кол.Записать();
КонецЦикла;
...
Рейтинг: 0 / 0
Создать группы...
    #36665018
Господин ПЖ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ctrl+f1 -> индекс -> "НайтиПоНаименованию"
...
Рейтинг: 0 / 0
Создать группы...
    #36665074
Программист 1с
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уже переделал под найти файлы? Уже лучше. Вот только где теперь создатьэлемент?

ps Может курсы или литературу почитаешь?
...
Рейтинг: 0 / 0
Создать группы...
    #36665101
vladimir_polukhin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Программист 1с,

Я лучше понимаю когда сам делаю, литература естественно тоже есть, но так мне понятнее...
Может ты здесь ошибки посмотришь? )

СтрокаНаименования = Файл.Имя;
Данные = Справочники.Проект;
НайденныйФайл = Данные.НайтиПоНаименованию(СтрокаНаименования);
Если НайденныйФайл = Данные.ПустаяСсылка() Тогда
Сообщить("Повторяющихся файлов """ + СтрокаНаименования + """ еще нет");
Иначе
НайденныйФайл = Данные.ПолучитьФормуНовойГруппы();
НайденныйФайл=стр.Родитель.ИмяФайла;
КонецЕсли;
...
Рейтинг: 0 / 0
Создать группы...
    #36665170
Программист 1с
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уже лучше.
Вот только

НайденныйФайл = Данные.ПолучитьФормуНовойГруппы();
НайденныйФайл=стр.Родитель.ИмяФайла;

И что пытаешся добиться?

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

Я пытаюсь добиться, чтобы файлы с одинаковыми названиями, но лежащие в разных местах попадали в группу, называемую как сам файл.
...
Рейтинг: 0 / 0
Создать группы...
    #36665323
vladimir_polukhin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Немного изменил, может здесь более правильней... Но все равно есть ошибка ((

СтрокаНаименования = Файл.Имя;
Данные = Справочники.Проект;
НайденныйФайл = Данные.ПолучитьФормуНовойГруппы();

Если НайденныйФайл = Данные.ПустаяСсылка() Тогда
Сообщить("Повторяющихся файлов """ + СтрокаНаименования + """ не найдено");
Иначе
стр=Справочники.Проект.СоздатьГруппу().Родитель.ИмяФайла;
КонецЕсли;
КонецПроцедуры
...
Рейтинг: 0 / 0
Создать группы...
    #36665328
Программист 1с
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
эхххххххххх усугубил только.

Ладно а смысл задачи то? Для чего это все?

И разберись с разницей ПолучитьФормуНовойГруппы(); и создатьновуюгруппу(). Это 2 Агромные разницы.
...
Рейтинг: 0 / 0
Создать группы...
    #36665331
vladimir_polukhin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Программист 1с,

Смысл связать 1с с автокадом, чтобы автокадовские файлы можно было открывать через 1с...
Помоги добить, я уже не знаю что делать ((
...
Рейтинг: 0 / 0
Создать группы...
    #36665337
Программист 1с
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vladimir_polukhin, не вижу проблемы.

Открыть файл можно если на машине стоит автокад. Если не ошибаюсь то запуститьприложение(ваш файл).

А вы хотите хранить у себя в базе сами файлы или только их имена?
...
Рейтинг: 0 / 0
Создать группы...
    #36665345
vladimir_polukhin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Программист 1с,

Да он у меня уже все находит и все открывает, остались последние штрихи с оформлением...
В базе будут только путь к файлу+его имя
...
Рейтинг: 0 / 0
Создать группы...
    #36665591
Программист 1с
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СтрокаНаименования = Файл.Имя;
Данные = Справочники.Проект;
НайденныйФайл = Данные.НайтиПоНаименованию(СтрокаНаименования,Истина);
Если НайденныйФайл <>Неопределено Тогда
Сообщить("Повторяющихся файлов """ + СтрокаНаименования + """ еще нет");
Иначе
НайденныйФайл = Данные.СоздатьГруппу();
НайденныйФайл.Наименование=СтрокаНаименования;
НайденныйФайл Записать();
КонецЕсли
...
Рейтинг: 0 / 0
Создать группы...
    #36665639
Фотография Dinamo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Программист 1с
Ладно а смысл задачи то? Для чего это все?
Это продолжение вот этого топика http://www.sql.ru/forum/actualthread.aspx?tid=763626
А смысл задачи я так понял:
"Выполнить средствами платформы 1С 8.* анализ наличия на указанном диске файлов с заданным расширением. Информацию по найденым файлам разместить в специальном справочнике 1С, в котором в отдельных реквизитах хранится информация об отдельных характеристиках файлов (Имя файла, Путь к файлу, ДатаСоздания, РазмерФайла и т.д.). При этом файлы с совпадающими именами должны быть помещены в одну группу".
...
Рейтинг: 0 / 0
Создать группы...
    #36665798
vladimir_polukhin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Программист 1с,

Все бы ничего, только ошибка в "Если НайденныйФайл <>Неопределено Тогда", и одинаковые по имени документы в эту созданную группу не перемещаются...
...
Рейтинг: 0 / 0
Создать группы...
    #36665800
vladimir_polukhin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dinamo,

Да, ты прав...
...
Рейтинг: 0 / 0
Создать группы...
    #36665961
Программист 1с
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dinamo, подправили бы - всего то пару строчек.

СтрокаНаименования = Файл.Имя;
Данные = Справочники.Проект;
НайденныйФайл = Данные.НайтиПоНаименованию(СтрокаНаименования,Истина);
Если НайденныйФайл <>Неопределено Тогда
//
НайденныйФайл = Данные.СоздатьЭлемент();
НайденныйФайл.Наименование=СтрокаНаименования;
НайденныйФайл Записать();

Сообщить("Повторяющихся файлов """ + СтрокаНаименования + """ еще нет");
Иначе
об = Данные.СоздатьГруппу();
об.Наименование="Группа файлов"+СтрокаНаименования;
об.Записать();

ОбНайденныйФайл=НайденныйФайл.ПолучитьОбъект();
ОбНайденныйФайл.Родитель=Об.ССылка;
ОбНайденныйФайл.Записать();

+ записываем текущий повторный файл

НайденныйФайл = Данные.СоздатьЭлемент();
НайденныйФайл.Родитель=Об.ССылка;
НайденныйФайл.Наименование=СтрокаНаименования;
НайденныйФайл Записать();
КонецЕсли
...
Рейтинг: 0 / 0
Создать группы...
    #36666011
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в первом посте решение ...
думаю тема закрыта
начнется другая тема про рекурсию
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / [игнор отключен] [закрыт для гостей] / Создать группы...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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