К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

Работа с Запросом

Гость
0 - 15.05.2014 - 12:50
Как заменить выборку элементов
СписокТоваров = СоздатьОбъект("списокЗначений");
спрТов = СоздатьОбъект("Справочник.АссортиментыПодч");
спрНоменклатура = СоздатьОбъект("Справочник.Номенклатура");
СпрТов.ИспользоватьВладельца(СкидочнаяПрограмма);
СпрТов.ВыбратьЭлементы();
Пока СпрТов.ПолучитьЭлемент()=1 Цикл
Если СпрТов.Номенклатура.ЭтоГруппа()=1 Тогда
спрНоменклатура.ИспользоватьРодителя(СпрТов.Номенк латура);
спрНоменклатура.ВыбратьЭлементы();
Пока спрНоменклатура.ПолучитьЭлемент()=1 Цикл
Если спрНоменклатура.ЭтоГруппа()=1 Тогда Продолжить; КонецЕсли;
Если спрНоменклатура.ПометкаУдаления()=1 Тогда Продолжить; КонецЕсли;
СписокТоваров.ДобавитьЗначение(спрНоменклатура.Тек ущийЭлемент());
КонецЦикла;
Иначе
СписокТоваров.ДобавитьЗначение(СпрТов.Номенклатура );
КонецЕсли;
КонецЦикла;

запросом.



1 - 15.05.2014 - 13:29
Сейчас общественный запрос - дворники, работа с Мусором.
2 - 15.05.2014 - 13:39
для чего необходимо заменять выборку запросом?
Гость
3 - 15.05.2014 - 14:11
Потому что при большом документе обороте и большой табличной части такая выборка занимает более 32 минут.
Гость
4 - 15.05.2014 - 14:13
Даже не большой табличной частью а количеством строк чуть больше 10
5 - 15.05.2014 - 14:41
3-Pusto > на приведенную в куске кода выборку никак не влияет ни документооборот, ни величины табличных частей документов. По крайней мере я такого влияния не вижу...
Может ускорять нужно не выборку как таковую, а уходить от необходимости её вызова для каждой строки(?) всех(?) документов?
6 - 15.05.2014 - 14:51
(3,4)
см. (5)
как сабж связан с табличными частями большого документооборота? такую выборку маловероятно ускорить запросом
7 - 15.05.2014 - 16:47
ИспользоватьРодителя - это как то вульгарно, во всех смычлах
8 - 15.05.2014 - 16:49
и в ВыбратьЭлементы() надо по моему в данном случае ВыбратьЭлементы(1)
Могу написать прямой запрос, если сильно надо )
Гость
9 - 15.05.2014 - 17:48
Цитата:
Сообщение от USSR Посмотреть сообщение
Могу написать прямой запрос
у автора скл?
10 - 15.05.2014 - 18:45
(9)А что надо SQL для прямых запросов? уж давно не требуется
Гость
11 - 15.05.2014 - 20:09
(10)1sqlite?
12 - 16.05.2014 - 05:06
(11)Да, либо VFPOLEDB
Гость
13 - 16.05.2014 - 07:38
(10,12)спасибо, нашёл :)
14 - 16.05.2014 - 08:45
2(13)Интересно было бы знать, в каком месте в документе используется эта конструкция
Гость
15 - 16.05.2014 - 19:31
0-Pusto > Сравни Запрос с Выборкой, и удивись.
Гость
16 - 16.05.2014 - 21:20
(14)Чего? Совсем непонял про то, что интересует.
17 - 17.05.2014 - 12:02
(16)Я так понимаю, надо для каждой строки документа выяснить: участвует ли данная номенклатура в некоей акции, регистрируемой справочником СкидочнаяПрограмма и если участвует, применить скидку?
В свое время делал это через регистр, работало шустро выборкой без всяких запросов, в том числе прямых.
18 - 17.05.2014 - 12:14
(+17)Вопрос адресовался ТС:-)
19 - 17.05.2014 - 12:14
(17)Какой смысл толкать в регистр справочную информацию. Для этого и придуманы справочники и прекрасно из них все выбирается и обычными выборками, прямыми запросами. Только что разве не "кривыми"
Задача автора непонятна, так как если надо определить попадает ли номенклатура под акцию, то это можно сделать и другими способами, например танцуя от самой номенклатурной позиции. Можно и данные чуть по другому организовать. У него как я понимаю задаются скидки на товарные группы. Так и нафи мне для документа с одной строкой "шерстить" всю группу и отбирать из нее акционные товары
20 - 17.05.2014 - 13:14
(19)Вот-вот, от автора нужны подробности:-)
А регистр, чтобы использовать фильтр по нескольким реквизитам одновременно без использования запросов
21 - 17.05.2014 - 16:31
(20)По реквизитам не бывает фильтров, только по измерениям ) ты как то эмулировал регистр сведений или что ?))
22 - 18.05.2014 - 15:46
(21)Что-то типа того. Суть: регистр только реквизиты (без измерений и ресурсов), отбор движений обратным порядком с установкой фильтра. То есть выбирается последнее сделанное движение с нужным отбором по реквизитам. Работает быстро.
Идея, к сожалению, уже не вспомню чья.


К списку вопросов
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск




Copyright ©, Все права защищены