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
| у автора скл? | |
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)Что-то типа того. Суть: регистр только реквизиты (без измерений и ресурсов), отбор движений обратным порядком с установкой фильтра. То есть выбирается последнее сделанное движение с нужным отбором по реквизитам. Работает быстро. Идея, к сожалению, уже не вспомню чья. | |
| Интернет-форум Краснодарского края и Краснодара |