|
РаботаСФайлами - ПрисоединенныеФайлы | ☑ | ||
---|---|---|---|---|
0
RomaH
05.07.24
✎
09:36
|
Понадобилось сделать иерархию и нагенерить группы "по умолчанию" для каждого владельца
а владельцев много (более 100 000) так вот - типовой запрос списка - вешает форму... хотя сам запрос элементарный и в консоли запросов возвращает правильный список из 3 групп по умолчанию |
|||
1
RomaH
05.07.24
✎
09:36
|
типовой код:
"ВЫБРАТЬ | Файлы.Ссылка КАК Ссылка, | Файлы.ПометкаУдаления, | ВЫБОР | КОГДА Файлы.ПометкаУдаления = ИСТИНА | ТОГДА ЕСТЬNULL(Файлы.ИндексКартинки, 2) + 1 | ИНАЧЕ ЕСТЬNULL(Файлы.ИндексКартинки, 2) | КОНЕЦ КАК ИндексКартинки, | Файлы.Наименование КАК Наименование, | ВЫРАЗИТЬ(Файлы.Описание КАК СТРОКА(500)) КАК Описание, | Файлы.Автор, | Файлы.ДатаСоздания, | Файлы.Изменил КАК Отредактировал, | ДОБАВИТЬКДАТЕ(Файлы.ДатаМодификацииУниверсальная, СЕКУНДА, &СекундДоМестногоВремени) КАК ДатаИзменения, | ВЫРАЗИТЬ(Файлы.Размер / 1024 КАК ЧИСЛО(10, 0)) КАК Размер, | Файлы.ПодписанЭП, | Файлы.Зашифрован, | ВЫБОР | КОГДА Файлы.ПодписанЭП | И Файлы.Зашифрован | ТОГДА 2 | КОГДА Файлы.Зашифрован | ТОГДА 1 | КОГДА Файлы.ПодписанЭП | ТОГДА 0 | ИНАЧЕ -1 | КОНЕЦ КАК НомерКартинкиПодписанЗашифрован, | ВЫБОР | КОГДА НЕ Файлы.Редактирует В (&ПустыеПользователи) | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ КАК ФайлРедактируется, | ВЫБОР | КОГДА Файлы.Редактирует = &ТекущийПользователь | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ КАК ФайлРедактируетТекущийПользователь, | ВЫБОР | КОГДА НЕ Файлы.Редактирует В (&ПустыеПользователи) | И Файлы.Редактирует <> &ТекущийПользователь | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ КАК ФайлРедактируетДругойПользователь, | Файлы.Расширение КАК Расширение, | ВЫБОР | КОГДА СтатусыСинхронизацииФайловСОблачнымСервисом.УчетнаяЗапись <> НЕОПРЕДЕЛЕНО | И Файлы.Редактирует = НЕОПРЕДЕЛЕНО | ТОГДА СтатусыСинхронизацииФайловСОблачнымСервисом.УчетнаяЗапись | ИНАЧЕ Файлы.Редактирует | КОНЕЦ КАК Редактирует, | Файлы.Редактирует КАК РедактируетПользователь, | &ЭтоГруппа КАК ЭтоГруппа, | &Служебный КАК Служебный, | Файлы.ВладелецФайла КАК ВладелецФайла, | Файлы.ХранитьВерсии КАК ХранитьВерсии |ИЗ | &ИмяСправочника КАК Файлы | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СтатусыСинхронизацииФайловСОблачнымСервисом КАК СтатусыСинхронизацииФайловСОблачнымСервисом | ПО Файлы.Ссылка = СтатусыСинхронизацииФайловСОблачнымСервисом.Файл |ГДЕ | Файлы.ВладелецФайла = &ВладелецФайлов"; |
|||
2
RomaH
05.07.24
✎
09:37
|
&ИмяСправочника - Справочник.КартотекаПрисоединенныеФайлы
|
|||
3
RomaH
05.07.24
✎
09:39
|
такое ощущение, что дин список все-таки к полной таблице генерит запрос(ы)
внес небольшое изменение - и заработало: "ВЫБРАТЬ | ЛФ.Ссылка КАК Ссылка |ПОМЕСТИТЬ втФайлы |ИЗ | &ИмяСправочника КАК ЛФ |ГДЕ | ЛФ.ВладелецФайла = &ВладелецФайлов |; |ВЫБРАТЬ | Файлы.Ссылка КАК Ссылка, | Файлы.ПометкаУдаления, | ВЫБОР | КОГДА Файлы.ПометкаУдаления = ИСТИНА | ТОГДА ЕСТЬNULL(Файлы.ИндексКартинки, 2) + 1 | ИНАЧЕ ЕСТЬNULL(Файлы.ИндексКартинки, 2) | КОНЕЦ КАК ИндексКартинки, | Файлы.Наименование КАК Наименование, | ВЫРАЗИТЬ(Файлы.Описание КАК СТРОКА(500)) КАК Описание, | Файлы.Автор, | Файлы.ДатаСоздания, | Файлы.Изменил КАК Отредактировал, | ДОБАВИТЬКДАТЕ(Файлы.ДатаМодификацииУниверсальная, СЕКУНДА, &СекундДоМестногоВремени) КАК ДатаИзменения, | ВЫРАЗИТЬ(Файлы.Размер / 1024 КАК ЧИСЛО(10, 0)) КАК Размер, | Файлы.ПодписанЭП, | Файлы.Зашифрован, | ВЫБОР | КОГДА Файлы.ПодписанЭП | И Файлы.Зашифрован | ТОГДА 2 | КОГДА Файлы.Зашифрован | ТОГДА 1 | КОГДА Файлы.ПодписанЭП | ТОГДА 0 | ИНАЧЕ -1 | КОНЕЦ КАК НомерКартинкиПодписанЗашифрован, | ВЫБОР | КОГДА НЕ Файлы.Редактирует В (&ПустыеПользователи) | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ КАК ФайлРедактируется, | ВЫБОР | КОГДА Файлы.Редактирует = &ТекущийПользователь | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ КАК ФайлРедактируетТекущийПользователь, | ВЫБОР | КОГДА НЕ Файлы.Редактирует В (&ПустыеПользователи) | И Файлы.Редактирует <> &ТекущийПользователь | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ КАК ФайлРедактируетДругойПользователь, | Файлы.Расширение КАК Расширение, | ВЫБОР | КОГДА СтатусыСинхронизацииФайловСОблачнымСервисом.УчетнаяЗапись <> НЕОПРЕДЕЛЕНО | И Файлы.Редактирует = НЕОПРЕДЕЛЕНО | ТОГДА СтатусыСинхронизацииФайловСОблачнымСервисом.УчетнаяЗапись | ИНАЧЕ Файлы.Редактирует | КОНЕЦ КАК Редактирует, | Файлы.Редактирует КАК РедактируетПользователь, | &ЭтоГруппа КАК ЭтоГруппа, | &Служебный КАК Служебный, | Файлы.ВладелецФайла КАК ВладелецФайла, | Файлы.ХранитьВерсии КАК ХранитьВерсии |ИЗ втФайлы КАК втФайлы | ВНУТРЕННЕЕ СОЕДИНЕНИЕ &ИмяСправочника КАК Файлы | ПО втФайлы.Ссылка = Файлы.Ссылка | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СтатусыСинхронизацииФайловСОблачнымСервисом КАК СтатусыСинхронизацииФайловСОблачнымСервисом | ПО Файлы.Ссылка = СтатусыСинхронизацииФайловСОблачнымСервисом.Файл |ГДЕ | Файлы.ВладелецФайла = &ВладелецФайлов"; |
|||
4
RomaH
05.07.24
✎
09:39
|
поясните, в чем подвох? почему на больших данных первый запрос "неправильный"
|
|||
5
Волшебник
05.07.24
✎
11:22
|
>> Понадобилось сделать иерархию и нагенерить группы "по умолчанию" для каждого владельца, а владельцев много (более 100 000)
Ошибочная постановка задачи |
|||
6
RomaH
05.07.24
✎
11:36
|
это другой вопрос
а по существу? почему такой ДС (1) не вывозит 400 000 групп в справочнике? а как в (3) - вывозит |
|||
7
RomaH
05.07.24
✎
11:37
|
(5) а как на БСП сделать у всех владельцев наличие одинаковых групп файлов?
|
|||
8
Волшебник
05.07.24
✎
11:39
|
Сами дураки
|
|||
9
Мультук
05.07.24
✎
11:40
|
(6)
Наверное стоит смотреть планы запросов (если прямо сильно надо). P.S. Сори, лично я "про группы" так и не понял суть, но я думаю это из-за жары у нас +37С в тени |
|||
10
Garykom
05.07.24
✎
12:11
|
(6) Любой ДС не вывозит
Мне успешно в типовой БП удавалось завесить типовую форму списка документов установкой обычного отбора в режиме предприятия Для составных реквизитов оно запросто |
|||
11
RomaH
05.07.24
✎
12:49
|
(10) так как бы запрос ограничивает количество записей по "ГДЕ" - там параметр передается
и вот если напрямую к таблице "ПрикрепленныеФайлы" запрос - то ... виснет а если ВНУТРЕННЕЕ соединение с предварительно сделанной выборкой из той же таблицы - то все красиво |
|||
12
RomaH
05.07.24
✎
12:49
|
ЛЕВОЕ соединение там можно не смотреть - я пробовал - без него поведение не меняется
|
|||
13
RomaH
05.07.24
✎
12:55
|
(9)
есть БСП есть "ПрикрепленныеФайлы" если хотим иерархию в файлах - то.... при этом для каждого владельца группы индивидуальны и вот мы хотим для пациентов файлы раскидывать по группам "Выписки", "Оплата" что бы каждый раз не создавать группы - создаем их сразу при создании пациента но это к сути вопроса не имеет отношения - почему такое поведение? почему в ДС идет обработка всего списка? а не 3 записей отобранных по условию? |ГДЕ | Файлы.ВладелецФайла = &ВладелецФайлов"; |
|||
14
youalex
05.07.24
✎
13:14
|
(13) посмотри профайлер/план. может статистика неактуальная
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |