Имя: Пароль:
1C
1C 7.7
v7: Не пойму, что с базой или с запросом
0 Klesk
 
11.03.12
14:31
Запрос = СоздатьОбъект("Запрос");
       ТекстЗапроса =
       "//{{ЗАПРОС(ОстаткиТоваровНаСкладах)
       |Период с ДатаНач по ДатаНач;
       |Без итогов;
       |Организация = Регистр.ОстаткиТМЦ.Фирма.ЮрЛицо;
       |Склад = Регистр.ОстаткиТМЦ.Склад;
       |МОЛ = Регистр.ОстаткиТМЦ.Склад.МОЛ;
       |Номенклатура = Регистр.ОстаткиТМЦ.Номенклатура;
       |РекКоличество = Регистр.ОстаткиТМЦ.Количество;
       |ЦенаПрод = Регистр.ОстаткиТМЦ.ЦенаПрод;
       |Функция Количество = КонОст(РекКоличество);
       |Группировка Номенклатура упорядочить по Номенклатура.Код без групп;
       |Группировка Организация упорядочить по Организация.Код;
       |Группировка МОЛ упорядочить по МОЛ.Код без групп;
       |Группировка Склад упорядочить по Склад.Код;
       |Группировка ЦенаПрод;
       |"//}}ЗАПРОС
       ;
       
       Сообщить(ТекстЗапроса);Запрос.Выполнить(ТекстЗапроса);
       ТабОстаткиНаСкладах = СоздатьОбъект("ТаблицаЗначений");
   //    Запрос.Выгрузить(ТабОстаткиНаСкладах,1,0);
   ТабОстаткиНаСкладах .НоваяКолонка("Номенклатура");
   ТабОстаткиНаСкладах .НоваяКолонка("Организация");
   ТабОстаткиНаСкладах .НоваяКолонка("МОЛ");
   ТабОстаткиНаСкладах .НоваяКолонка("Склад");
   ТабОстаткиНаСкладах .НоваяКолонка("ЦенаПрод");  
       ТабОстаткиНаСкладах .НоваяКолонка("Количество");
   //
   Пока Запрос.Группировка()=1 Цикл    
                    Если Запрос.Количество=0 Тогда
                       Продолжить;
                    КонецЕсли;
   //                
                       Состояние( Запрос.Номенклатура+" - "+Запрос.Количество);
                       ТабОстаткиНаСкладах.НоваяСтрока();
                       ТабОстаткиНаСкладах.Номенклатура=Запрос.Номенклатура;
                           ТабОстаткиНаСкладах.Организация=Запрос.Организация;
                               ТабОстаткиНаСкладах.МОЛ=Запрос.МОЛ;
                                   ТабОстаткиНаСкладах.Склад=Запрос.Склад;
                                       ТабОстаткиНаСкладах.ЦенаПрод=Запрос.ЦенаПрод;
                                       ТабОстаткиНаСкладах.Количество=Запрос.Количество;    
                   КонецЦикла;


Перебирает два значения, и падает с runtime error на 400 иногда 600 Мб. Что может быть?
1 andrewks
 
11.03.12
14:31
это не v8
2 andrewks
 
11.03.12
14:32
реидекс
ТиИ
3 Klesk
 
11.03.12
14:35
(2) через конфигуратор делал - не помогло
база SQL
4 Klesk
 
11.03.12
14:36
только пересчет итогов не делал
5 dk
 
11.03.12
14:40
ЦенаПрод - это измерение или реквизит?
6 Klesk
 
11.03.12
14:42
(5) измерение
7 dk
 
11.03.12
14:52
код странный
Ты обращаешься к реквизитам Запрос.Организация не дойдя до группировки по организации
----
или тебе нужна только самая нижняя детализация? тогда добавь "Без Итогов" и выгружай запрос сразу в ТЗ
8 Klesk
 
11.03.12
14:54
(7) "без итогов" присутствует
сразу в ТЗ тоже падает на 400 Мб.
9 dk
 
11.03.12
15:02
что=то была какая-то мутка, что нужно все группировки, что через 4 и более точек (Регистр.ОстаткиТМЦ.Фирма.ЮрЛицо и Регистр.ОстаткиТМЦ.Склад.МОЛ) надо ставить ниже группировок через 3 точки
----
       |Склад = Регистр.ОстаткиТМЦ.Склад;
       |Номенклатура = Регистр.ОстаткиТМЦ.Номенклатура;
       |РекКоличество = Регистр.ОстаткиТМЦ.Количество;
       |ЦенаПрод = Регистр.ОстаткиТМЦ.ЦенаПрод;
       |Организация = Регистр.ОстаткиТМЦ.Фирма.ЮрЛицо;
       |МОЛ = Регистр.ОстаткиТМЦ.Склад.МОЛ;
но точно не помню
10 Klesk
 
11.03.12
15:42
не помогает
11 Ёпрст
 
11.03.12
16:39
(0) для начала, выкинуть всё упорядочивание к едрени фени
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.