Имя: Пароль:
1C
1С v8
Управляемая форма колонки остаток в списке
, ,
0 2307861c
 
24.01.12
13:29
В списке номенклатуры две колонки остаток. Все это дело тормозит. Данные тяну через произволный запрос. Можно как-то побороть тормоза?
1 DrShad
 
24.01.12
13:31
это тормозило всегда и всегда тормозить будет, а за такие решения нужно увольнять
2 Wobland
 
24.01.12
13:31
можно попробовать оптимизировать запрос
3 2307861c
 
24.01.12
13:34
(1)А если клиент говорит вот хочу и все и на 8.1 не тормозит там правда остатки просчитывались ПриПолученииДанных
4 milan
 
24.01.12
13:41
(1) Чего, интересно, должно тормозить ? колонка остаток - один джоин с таблицей итогов по регистру
5 2307861c
 
24.01.12
13:42
Вот запрос, там правда ещё и цена есть и резерв

ВЫБРАТЬ
   СправочникVKSOFT_Номенклатура.Ссылка,
   СправочникVKSOFT_Номенклатура.ВерсияДанных,
   СправочникVKSOFT_Номенклатура.ПометкаУдаления,
   СправочникVKSOFT_Номенклатура.Предопределенный,
   СправочникVKSOFT_Номенклатура.Родитель,
   СправочникVKSOFT_Номенклатура.ЭтоГруппа,
   СправочникVKSOFT_Номенклатура.Код,
   СправочникVKSOFT_Номенклатура.Наименование,
   СправочникVKSOFT_Номенклатура.Автомобили,
   СправочникVKSOFT_Номенклатура.Вес,
   СправочникVKSOFT_Номенклатура.ГруппаДляОтчета,
   СправочникVKSOFT_Номенклатура.ГруппаНоменклатуры,
   СправочникVKSOFT_Номенклатура.НеснижаемоеКоличество,
   СправочникVKSOFT_Номенклатура.НомерПроизводителя,
   СправочникVKSOFT_Номенклатура.ОригинальныйНомер,
   СправочникVKSOFT_Номенклатура.Описание,
   СправочникVKSOFT_Номенклатура.Производитель,
   ЕСТЬNULL(ОстаткиТекущегоСклада.КоличествоОстаток, 0) КАК Наличие,
   ОстаткиДругихСкладов.КоличествоОстаток КАК НаличиеДругихСкладов,
   Резервы.КоличествоОстаток КАК Резерв,
   Цены.Цена,
   ВЫБОР
       КОГДА СправочникVKSOFT_Номенклатура.НеснижаемоеКоличество > 0
               И ЕСТЬNULL(ОстаткиТекущегоСклада.КоличествоОстаток, 0) < СправочникVKSOFT_Номенклатура.НеснижаемоеКоличество
           ТОГДА ИСТИНА
       ИНАЧЕ ЛОЖЬ
   КОНЕЦ КАК СработалоНеСнижаемоеКоличество,
   СправочникVKSOFT_Номенклатура.ОригинальныйНомерОЕ,
   СправочникVKSOFT_Номенклатура.Место
ИЗ
   Справочник.VKSOFT_Номенклатура КАК СправочникVKSOFT_Номенклатура
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.VKSOFT_ЦеныНоменклатуры.СрезПоследних(, ТипЦены = ЗНАЧЕНИЕ(Справочник.VKSOFT_ТипыЦен.РозничнаяЦена)) КАК Цены
       ПО СправочникVKSOFT_Номенклатура.Ссылка = Цены.Номенклатура
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.VKSOFT_ТоварыНаСкладах.Остатки(, Склад = &Склад) КАК ОстаткиТекущегоСклада
       ПО СправочникVKSOFT_Номенклатура.Ссылка = ОстаткиТекущегоСклада.Номенклатура
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.VKSOFT_ТоварыНаСкладах.Остатки(, (НЕ Склад = &Склад)) КАК ОстаткиДругихСкладов
       ПО СправочникVKSOFT_Номенклатура.Ссылка = ОстаткиДругихСкладов.Номенклатура
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.VKSOFT_ТоварыВРезерве.Остатки КАК Резервы
       ПО СправочникVKSOFT_Номенклатура.Ссылка = Резервы.Номенклатура
6 Wobland
 
24.01.12
13:44
(5) где Период?
7 milan
 
24.01.12
13:47
А платформа и БД какая ?
8 2307861c
 
24.01.12
13:55
(6)Ну по идеи он текущий тянет (7)БД "с нуля", платформа = 8.2.14.540
9 Wobland
 
24.01.12
13:55
(8) или на дату последней записи в таблице?
10 DrShad
 
24.01.12
13:56
(3) чуешь разницу? остаток для 20-ти строк или для всего справочника?
11 Mort
 
24.01.12
13:59
(10) Да какя нафиг разница. Есть задача, её надо решить.
12 milan
 
24.01.12
14:00
(8) у меня в постгри и дб2 срез последних не шибко быстро работал, и на файловой вроде тоже не фонтан.

(10) не остаток для 20 строк а двадцать остатков и не для всего справочника а для отображаемой части.
13 2307861c
 
24.01.12
14:01
(12)Справочник тормозит рывками, типа просчитывает порциями
14 milan
 
24.01.12
14:03
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.VKSOFT_ТоварыНаСкладах.Остатки(, (НЕ Склад = &Склад)) КАК ОстаткиДругихСкладов
       ПО СправочникVKSOFT_Номенклатура.Ссылка = ОстаткиДругихСкладов.Номенклатура


если есть на двух складах то в форме выдаст 2 строчки ?
15 2307861c
 
24.01.12
14:05
(14)В справочнике 2 колонки остаток по текущему складу и по других складах
16 milan
 
24.01.12
14:11
ну на двух других складах есть остатки ?
Галочка стоит "Динамическое считывание данных" ?
и основная таблица выбрана ?
17 2307861c
 
24.01.12
14:14
(16)да галочка стоит, таблица выбрана
18 2307861c
 
24.01.12
14:16
(16)Остатки есть на других складах
19 1C_itc
 
24.01.12
14:18
(0) Фильтр по текущему Родителю наложить есть возможность?
20 milan
 
24.01.12
14:19
попробуй поубирать по одному джоину, на какой табличке тормозит
21 2307861c
 
24.01.12
14:24
(19)Впринцыпе можно попробовать, но не факт что будут всегда смотреть в режиме иерархии
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший