Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: Можно ли исхитриться в 7.7 в запросе?

v7: Можно ли исхитриться в 7.7 в запросе?
Я
   Volodja
 
31.03.21 - 08:22
Можно ли как-то исхитриться в 7.7 ?
Мне нужно, чтобы запрос отработал для заданного списка документов,
т.к. в случае задания конструкции
       Период с НачДата по КонДата;
время формирования запроса становится долгим.


    ТекстЗапроса = "
    |ОбрабатыватьДокументы ИзСпискаЗначений;
         .........."


    Запрос=СоздатьОбъект("Запрос");
    Если Запрос.Выполнить(ТекстЗапроса)=0 Тогда
        Предупреждение("Запрос не выполнился!");
        Возврат;
    КонецЕсли;
   Mikeware
 
1 - 31.03.21 - 08:23
пользуйтесь прямыми запросами.
   Bigbro
 
2 - 31.03.21 - 08:23
|Условие(мойДок в сзДок);
   Volodja
 
3 - 31.03.21 - 08:30
(1) Переписывать тогда весь отчет нужно. Это я на потом оставляю пока...
   Volodja
 
4 - 31.03.21 - 08:31
(2) Но тогда он все-равно лопатит за весь период с начала времен
   tgu82
 
5 - 31.03.21 - 08:36
(0)ТекстЗапроса = "
    |ОбрабатыватьДокументы ИзСпискаЗначений; - есть такая конструкция языка запросов?
Никогда про такое не слышал
   Volodja
 
6 - 31.03.21 - 08:37
(5) Нет такой конструкции
   Volodja
 
7 - 31.03.21 - 08:39
(5) Вот чем бы ее заменить?


Условие(мойДок в сзДок); Не совсем то? т.к. сканируется вся таблица документов, а это долго
   Kigo_Kigo
 
8 - 31.03.21 - 08:44
(7) Ну вы либо трусы оденьте, либо крестик снимите(с)
   Mikeware
 
9 - 31.03.21 - 08:57
(5) (6) это из платформы 7.7.29, там где добавлены методы СделатьВсё(), СлелатьВсёБыстро() и СделатьВсёПравильно()
   tgu82
 
10 - 31.03.21 - 08:58
(9) СоздатьОбъект("Хочу") и методы хочушные ему приделать
   Volodja
 
11 - 31.03.21 - 09:00
(8) - (10) спасибо за Юмор.
Буду тогда пилить Прямой запрос
   tgu82
 
12 - 31.03.21 - 09:03
(11) Дв вроде выбратьдокумент и потом получитьдокумент срабатывает порой быстрее чем через запрос.
   Андрей_Андреич
 
13 - 31.03.21 - 09:04
(11) Я конечно не в тему, но в большинстве своем обрабатывать надо не документы, а регистры. Запрос по документам в 95% случаев неправильно поставлена задача. Или неправильно решена.
   Bigbro
 
14 - 31.03.21 - 09:06
если это произвольный список документов, не отягощенный общими признаками/реквизитами, по которым можно было бы сделать отбор фильтр условие из общего массива за тысячу лет и миллиардов документов - то дело плохо конечно.
   JeHer
 
15 - 31.03.21 - 09:20
(13) допустим, документ не делает движений ни в регистрах ни в бух. итогах. Откуда брать данные?
   Андрей_Андреич
 
16 - 31.03.21 - 09:22
(15) То есть спроектирована не учетная система а не пойми что. В консилиуме как лучше вырезать гланды через анус не участвую
   Bigbro
 
17 - 31.03.21 - 09:23
(15) а зачем он тогда?
документ отражает хоз операцию, меняет состояние базы данных, чтобы результаты ввода документа отражались затем в различных отчетах.
а иначе это просто болванка для формирования печатной формы?
   Volodja
 
18 - 31.03.21 - 09:32
(12) Также придется переписывать отчет.
Так лучше уже сразу прямым методом.
(13) Задача стоит в формировании реестра документов с определенным статусом, с заданными отборами. И с выводами реквизитов документов, которых нет в регистре.
   Андрей_Андреич
 
19 - 31.03.21 - 09:34
(18) Так у тебя список доков был - получай по списку и выводи. Теперь пошло про отборы - путаешься в показаниях :)
   Volodja
 
20 - 31.03.21 - 09:37
(19) список есть. А все остальное получаю с помощью запроса. Запрос вот и нужно переписать. И группировки еще нужны
   Андрей_Андреич
 
21 - 31.03.21 - 09:39
(20) Можешь перебором индексированную таблицу заполнить и снруппировать
   Volodja
 
22 - 31.03.21 - 09:41
(19)В мой запрос по сути нужно только добавить это:
Условие(мойДок в сзДок);
но вот он отрабатывает за весь период.

(21) да можно, конечно. Но я же говорю, что придется отчет переписывать. Он формировался обходом объекта Запрос.
   Builder
 
23 - 31.03.21 - 09:45
(22) У тебя уже есть список документов, что еще нужно то?
   Volodja
 
24 - 31.03.21 - 09:48
(23) Мне также нужен объект Запрос, чтобы отчет не переписывать.
   Андрей_Андреич
 
25 - 31.03.21 - 09:50
(24) То есть у тебя все есть менять не хочется. Хочется быстрее. Меняй железо :)
   Builder
 
26 - 31.03.21 - 09:52
(24) Ну что-то переписать придется все равно :)
   Volodja
 
27 - 31.03.21 - 09:52
(25) Железо не буду менять.
Отчет начал переписывать
   Mikeware
 
28 - 31.03.21 - 10:30
(22) переделать обход запроса на обход ИТ - дело 10 минут. особенно если нет "сбросов выборки"
   Volodja
 
29 - 31.03.21 - 10:56
(28) Есть.Поэтому не хотелось переделывать
   Mikeware
 
30 - 31.03.21 - 11:13
(29) запрос по документам, которых есть список, со сбросом выборки - не, вам явно нужно что-то в консерватории поправить....
 
 Рекламное место пустует
   Bigbro
 
31 - 31.03.21 - 11:58
(29) звучит жутковато. я сейчас многое в 7.7 вижу, от некоторого глаза кровью наливаются, но у вас похоже все еще круче.
если есть список документов (и он очевидно небольшой) - возьмите из него даты этих документов и ограничьте запрос хотя бы этими датами (Мин Макс).
   Злопчинский
 
32 - 31.03.21 - 12:25
(31) руки прочь от клюшек!
   Bigbro
 
33 - 31.03.21 - 12:39
(32) не могу, основная учетная система на них и в обозримом будущем это не изменится)
приходится жить с этим)
но уж лучше так чем адъ и израиль(с) от нетиповых ЗУП, БП и т.д.
   Злопчинский
 
34 - 31.03.21 - 12:41
(33) ;-)
   Злопчинский
 
35 - 31.03.21 - 12:46
(22) как сказали выше - если есть список доков. нефиг запросом тянуть.
иди тупо по списку СЗ по документам и вытягивай нужные реквизиты.
   acanta
 
36 - 31.03.21 - 12:49
А 7ка дбф или sql? Для sql была официальная рекомендация -переписать все на запросы.
   DGorgoN
 
37 - 31.03.21 - 13:34
(36) Фигня это всё. Всё равно получает все данные и обрабатывает.
   Mikeware
 
38 - 31.03.21 - 13:41
(37) добавлю: первичным отбором (все поля в разрезе условий обрабатыватьпроведенные-непроведенные, и в заданном периоде) формирует dbf, которую тянет на клиента, и уже там накладывает дополнительные отборы/функции и прочее.
в общем, на уровне середины 1990-х это, может, смотрелось нормально... но сейчас ужас-ужас-ужас...
с другой стороны, если работаешь на клюшках - ну работай нормально, нормальными запросами. Нафига себе ковать геморрой своими же руками?
   Volodja
 
39 - 31.03.21 - 14:28
(28) Я, наверное, не совсем правильно понял, что вы имеете ввиду под "сбросами выборки"?
   Builder
 
40 - 31.03.21 - 14:38
(39) Запрос.ВНачалоВыборки()
   Volodja
 
41 - 31.03.21 - 14:41
(31) Нет. Не жутковато у меня. Просто не хочется отчет переделывать. Сказал заказчику что 3-5 часов уйдет на переделку, переделаю на SQLite.
Он бабки зажал. Скорее всего, вообще тогда переделывать не буду.
Список документов, это еще не окончательный. К нему еще хотел условия применить в запросе.
Всего в таблице документов уже за миллион. У меня есть список из 15000-16000 документов. И из них нужно уже отобрать.
(40) ну такого у меня нигде нет.
   Mikeware
 
42 - 31.03.21 - 14:41
(31) " я сейчас многое в 7.7 вижу, от некоторого глаза кровью наливаются" - типового кода/своего кода/ или функционала платформы?
   Mikeware
 
43 - 31.03.21 - 14:48
(41) так тогда - взять запрос, выгрузить в ИТЗ, сгруппировать там, где в черном запросе группировки были, и в циклах поменять Группировка() на ВыбратьСтроки() и ПолучитьСтроку()
   Volodja
 
44 - 31.03.21 - 14:51
(43) я в отчете вывожу группировки. Это не потеряется?
   Mikeware
 
45 - 31.03.21 - 14:52
(44) ну и выводи. в чем проблема-то?
   Volodja
 
46 - 31.03.21 - 15:01
(45) Ок. Попробую. Давно хотел ИТЗ поюзать.
   Arbuz
 
47 - 31.03.21 - 16:10
(13) Я конечно в курсе этой парадигмы. И в курсе почему. Но. В ОУ. Используя пряМые запросы на среднего размера дбф базах получается пряМо неплохо строить всю логику на обработке доков напряМую. Скорость разработки и гибкость гораздо выше чем чорные-ужасные запросы и наспех продуманная архитектура регистров. Я никого не ни к чему не призываю, просто хвастаюсь, какой я разгильдяй. )))
   Злопчинский
 
48 - 31.03.21 - 16:13
(47) хреняк, хреняк - и в продакшен! 90% выполняемых работ бОльшего и не требуют.
   Mikeware
 
49 - 31.03.21 - 17:18
(48) Не "хреняк, хреняк - и в продакшен", а "современная прогрессивная методика разработки ХХП"!
   Ёпрст
 
50 - 31.03.21 - 20:57
(47) а если бы был правильно спроектированный регистр и правильно написанный прямой запрос с использованием индексов, то скорость выполнения возросла бы в разы.
   Cthulhu
 
51 - 01.04.21 - 03:05
семерка ацтой! ану брысь обратно в восемерку!
   Arbuz
 
52 - 01.04.21 - 17:11
(50) Во-первых: история не терпит сослагательного наклонения (с)))
Во-вторых: "правильно спроектированный регистр и правильно написанный прямой запрос с использованием индексов" - требует куда больших затрат усилий и соответственно стоимости. О чём я собственно и начал...
В-третьих: "то скорость выполнения возросла бы в разы" - формирование отчёта с 800мс до 180мс? Что-то там про овчинку...
   Злопчинский
 
53 - 02.04.21 - 01:54
(52) нет в тебе тяги к прекрасному!
   Bigbro
 
54 - 02.04.21 - 05:21
(52) если вы генерируете ~20 тысяч таких отчетов, почему бы и нет?
   Андрей_Андреич
 
55 - 02.04.21 - 05:26
(52) А бардак копится и копится...
   Mikeware
 
56 - 02.04.21 - 08:11
(55) не "бардак копится", а "энтропия возрастает" 
(54) как правило, те кто генерирует "20тыс отчетов" - они более тщательно относятся к проектированию архитектур.


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.