Нужно создать на диске структуру папок аналогичную структуре кодов групп справочника.
Например, в справочнике такие группы:
По этим группам я создаю папки
C:\1\2\3\
C:\1\2\4\
Групп много. Папки создаются на фтп. Периодически нужно будет проверять какие папки нужно добавить.
Поэтому проверять все группы подряд будет долго.
Я так понимаю что мне нужно выбрать все группы нижней иерархии (самых глубоких папок).
Это можно сделать с помощью запроса?
Например, в справочнике такие группы:
1.Товары
2.канцелярия
3.карандаши
4.ручки
По этим группам я создаю папки
C:\1\2\3\
C:\1\2\4\
Групп много. Папки создаются на фтп. Периодически нужно будет проверять какие папки нужно добавить.
Поэтому проверять все группы подряд будет долго.
Я так понимаю что мне нужно выбрать все группы нижней иерархии (самых глубоких папок).
Это можно сделать с помощью запроса?
"ВЫБРАТЬ
| Номенклатура.Ссылка КАК Ссылка
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| Номенклатура.ЭтоГруппа = ИСТИНА"
По теме из базы знаний
Найденные решения
(1)
ВЫБРАТЬ
Номенклатура.Ссылка КАК Ссылка,
Номенклатура.Родитель КАК Родитель
ПОМЕСТИТЬ ВТ_Группы
ИЗ
Справочник.Номенклатура КАК Номенклатура
ГДЕ
Номенклатура.ЭтоГруппа
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ВТ_Группы.Ссылка КАК Ссылка
ИЗ
ВТ_Группы КАК ВТ_Группы
ГДЕ
НЕ ВТ_Группы.Ссылка В
(ВЫБРАТЬ
ВТ_Группы.Родитель
ИЗ
ВТ_Группы)
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
у меня вот так вроде работает
выбрать все группы нижней иерархии (самых глубоких папок).
Это можно сделать с помощью запроса?
Это можно сделать с помощью запроса?
у меня вот так вроде работает
ВЫБРАТЬ
Группы.Ссылка
ИЗ
Справочник.Номенклатура КАК Группы
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Родители
ПО Группы.Родитель = Родители.Ссылка
ГДЕ
Родители.ЭтоГруппа = ИСТИНА
И Группы.ЭтоГруппа = ИСТИНА
Показать
(1)
ВЫБРАТЬ
Номенклатура.Ссылка КАК Ссылка,
Номенклатура.Родитель КАК Родитель
ПОМЕСТИТЬ ВТ_Группы
ИЗ
Справочник.Номенклатура КАК Номенклатура
ГДЕ
Номенклатура.ЭтоГруппа
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ВТ_Группы.Ссылка КАК Ссылка
ИЗ
ВТ_Группы КАК ВТ_Группы
ГДЕ
НЕ ВТ_Группы.Ссылка В
(ВЫБРАТЬ
ВТ_Группы.Родитель
ИЗ
ВТ_Группы)
Показать
(8)
Красиво. Спасибо.
ВЫБРАТЬ
Номенклатура.Ссылка КАК Ссылка,
Номенклатура.Родитель КАК Родитель
ПОМЕСТИТЬ ВТ_Группы
ИЗ
Справочник.Номенклатура КАК Номенклатура
ГДЕ
Номенклатура.ЭтоГруппа
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ВТ_Группы.Ссылка КАК Ссылка
ИЗ
ВТ_Группы КАК ВТ_Группы
ГДЕ
НЕ ВТ_Группы.Ссылка В
(ВЫБРАТЬ
ВТ_Группы.Родитель
ИЗ
ВТ_Группы)
ПоказатьНоменклатура.Ссылка КАК Ссылка,
Номенклатура.Родитель КАК Родитель
ПОМЕСТИТЬ ВТ_Группы
ИЗ
Справочник.Номенклатура КАК Номенклатура
ГДЕ
Номенклатура.ЭтоГруппа
;
////////////////////////////////////////////////////////////
ВЫБРАТЬ
ВТ_Группы.Ссылка КАК Ссылка
ИЗ
ВТ_Группы КАК ВТ_Группы
ГДЕ
НЕ ВТ_Группы.Ссылка В
(ВЫБРАТЬ
ВТ_Группы.Родитель
ИЗ
ВТ_Группы)
Красиво. Спасибо.
|ВЫБРАТЬ
| Номенклатура.Ссылка КАК Ссылка,
| Номенклатура.Родитель,
| 0 КАК УровеньИерархии;
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|
|УПОРЯДОЧИТЬ ПО
| Ссылка ИЕРАРХИЯ";
РезультатК = ЗапросК.Выполнить();
Выборка = РезультатК.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока Выборка.Следующий() Цикл
Выборка.УровеньИерархии = Выборка.Уровень();
КонецЦикла;
Показать
зачем вам выбирать группы нижнего уровня? в предположении, что вышележащие группы не создаются?
в любом случае необходимо производить периодическое сравнение иерархии в 1с с иерархией на фтп - по многим причинам папки могут не создаться, или быть удалены.
в любом случае необходимо производить периодическое сравнение иерархии в 1с с иерархией на фтп - по многим причинам папки могут не создаться, или быть удалены.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот