|
Зависает отчет на СКД | ☑ | ||
---|---|---|---|---|
0
deathogre
24.10.15
✎
15:15
|
В консоли запросов выполняется, в СКД этот же запрос начинает думать и винда перестает отвечать на любые движения. Похоже как будто забивается вся оперативка. Где порылась собака?
|
|||
1
Armando
24.10.15
✎
22:23
|
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь; КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.ПолучитьНастройки()); ЗаписьXML = Новый ЗаписьXML; ЗаписьXML.ОткрытьФайл("c:\Temp\МакетКомпоновки.xml"); СериализаторXDTO.ЗаписатьXML(ЗаписьXML, МакетКомпоновки); ЗаписьXML.Закрыть(); КонецПроцедуры сделай так и выложи полученный файл |
|||
2
PR третий
24.10.15
✎
22:25
|
(0) Выводи программно и смотри, где виснет
|
|||
3
Armando
24.10.15
✎
22:37
|
Если это "простейший" отчет, то пока у меня 2 варианта:
1. Табличный документ получается такой большой, что 1С не может его обработать. 2. В отчете есть группировки, и в группировку попадает огромное количество детальных записей, которое 1С так же не может обработать. |
|||
4
Пеппи
24.10.15
✎
22:43
|
(0) упрощай запрос и проверяй
похоже дело в самом запросе |
|||
5
GenV
24.10.15
✎
22:53
|
(0) Есть хороший инструмент "Мобильная подсистема "Инструменты разработчика" (портативная версия) http://devtool1c.ucoz.ru/?l7ysVU
В них есть консоль СКД из которой можно открыть консоль запросов и получить конечный запрос с наложенными отборами и выбранными полями. СКД иногда (при неправильно построенной схеме) накладывает неожиданные отборы или не включает нужные поля. ЗЫ То же можно сделать и в коде при программном выводе как в (1) |
|||
6
deathogre
25.10.15
✎
12:09
|
спс, попробую
|
|||
7
deathogre
25.10.15
✎
12:10
|
но вроде разобрался, простое использование ЕСТЬNULL помогло, правда не знаю почему :)
|
|||
8
Armando
25.10.15
✎
14:49
|
(7) покажи что было и что стало
|
|||
9
deathogre
25.10.15
✎
16:35
|
ВЫБРАТЬ РАЗРЕШЕННЫЕ
ТоварыОрганизаций.Номенклатура КАК Номенклатура, ТоварыОрганизаций.Характеристика КАК Характеристика, ТоварыОрганизаций.Склад, ТоварыОрганизаций.Организация, зтПриходОтПоставщиков.КоличествоПриходОтПоставщиков КАК КоличествоПриходОтПоставщиков, зтПриходОтПоставщиков.СуммаСебестоимостьПриходОтПоставщиков КАК СуммаСебестоимостьПриходОтПоставщиков, зтПриходОтПоставщиков.СуммаРозничнаяПриходОтПоставщиков КАК СуммаРозничнаяПриходОтПоставщиков, тоРасходТолькоСОсновногоСклада.КоличествоПеремещениеТолькоСОсновногоСклада КАК КоличествоПеремещениеТолькоСОсновногоСклада, тоРасходТолькоСОсновногоСклада.СуммаСебестоимостьПеремещениеТолькоСОсновногоСклада КАК СуммаСебестоимостьПеремещениеТолькоСОсновногоСклада, тоРасходТолькоСОсновногоСклада.СуммаРозничнаяПеремещениеТолькоСОсновногоСклада КАК СуммаРозничнаяПеремещениеТолькоСОсновногоСклада, тоПриходНаВсеСклады.КоличествоПриходНаВсеСклады - тоРасходТолькоСОсновногоСклада.КоличествоПеремещениеТолькоСОсновногоСклада КАК КоличествоПриходНаВсеСкладыМинусОсновной, тоПриходНаВсеСклады.СуммаСебестоимостьПриходНаВсеСклады - тоРасходТолькоСОсновногоСклада.СуммаСебестоимостьПеремещениеТолькоСОсновногоСклада КАК СуммаСебестоимостьПриходНаВсеСкладыМинусОсновной, тоПриходНаВсеСклады.СуммаРозничнаяПриходНаВсеСклады - тоПриходНаВсеСклады.СуммаРозничнаяПриходНаВсеСклады КАК СуммаРозничнаяПриходНаВсеСкладыМинусОсновной, тоРасходНаВсеСклады.КоличествоРасходНаВсеСклады, тоРасходНаВсеСклады.СуммаСебестоимостьРасходНаВсеСклады, тоРасходНаВсеСклады.СуммаРозничнаяРасходНаВсеСклады ИЗ РегистрНакопления.ТоварыОрганизаций.ОстаткиИОбороты({(&НачалоПериода)}, {(&КонецПериода)}, Авто, , ) КАК ТоварыОрганизаций ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ ЗакупкиТоваровОбороты.Номенклатура КАК Номенклатура, ЗакупкиТоваровОбороты.Характеристика КАК Характеристика, ЗакупкиТоваровОбороты.Магазин.СкладПоступления КАК Склад, СУММА(ЕСТЬNULL(ЗакупкиТоваровОбороты.КоличествоОборот, 0)) КАК КоличествоПриходОтПоставщиков, СУММА(ЕСТЬNULL(ЗакупкиТоваровОбороты.СуммаОборот, 0)) КАК СуммаСебестоимостьПриходОтПоставщиков, СУММА(ЕСТЬNULL(ЗакупкиТоваровОбороты.СуммаРозничнаяОборот, 0)) КАК СуммаРозничнаяПриходОтПоставщиков ИЗ РегистрНакопления.ЗакупкиТоваров.Обороты({(&НачалоПериода)}, {(&КонецПериода)}, , ) КАК ЗакупкиТоваровОбороты СГРУППИРОВАТЬ ПО ЗакупкиТоваровОбороты.Магазин.СкладПоступления, ЗакупкиТоваровОбороты.Номенклатура, ЗакупкиТоваровОбороты.Характеристика) КАК зтПриходОтПоставщиков ПО ТоварыОрганизаций.Номенклатура = зтПриходОтПоставщиков.Номенклатура И ТоварыОрганизаций.Характеристика = зтПриходОтПоставщиков.Характеристика И ТоварыОрганизаций.Склад = зтПриходОтПоставщиков.Склад ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ ОрдерНаПеремещениеТоваровТовары.Номенклатура КАК Номенклатура, ОрдерНаПеремещениеТоваровТовары.Характеристика КАК Характеристика, ОрдерНаПеремещениеТоваровТовары.Ссылка.СкладПолучатель КАК СкладПолучатель, СУММА(ЕСТЬNULL(ОрдерНаПеремещениеТоваровТовары.Количество, 0)) КАК КоличествоПеремещениеТолькоСОсновногоСклада, СУММА(ЕСТЬNULL(ОрдерНаПеремещениеТоваровТовары.СебестоимостьСумма, 0)) КАК СуммаСебестоимостьПеремещениеТолькоСОсновногоСклада, СУММА(ЕСТЬNULL(ОрдерНаПеремещениеТоваровТовары.Сумма, 0)) КАК СуммаРозничнаяПеремещениеТолькоСОсновногоСклада ИЗ РегистрНакопления.ТоварыОрганизаций.ОстаткиИОбороты({(&НачалоПериода)}, {(&КонецПериода)}, Регистратор, , ) КАК ТоварыОрганизацийОстаткиИОбороты ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОрдерНаПеремещениеТоваров.Товары КАК ОрдерНаПеремещениеТоваровТовары ПО ((ВЫРАЗИТЬ(ТоварыОрганизацийОстаткиИОбороты.Регистратор КАК Документ.ОрдерНаПеремещениеТоваров)) = ОрдерНаПеремещениеТоваровТовары.Ссылка) ГДЕ ТоварыОрганизацийОстаткиИОбороты.Регистратор ССЫЛКА Документ.ОрдерНаПеремещениеТоваров И ТоварыОрганизацийОстаткиИОбороты.Регистратор.СкладОтправитель.Наименование = "1Основной склад" СГРУППИРОВАТЬ ПО ОрдерНаПеремещениеТоваровТовары.Номенклатура, ОрдерНаПеремещениеТоваровТовары.Характеристика, ОрдерНаПеремещениеТоваровТовары.Ссылка.СкладПолучатель ОБЪЕДИНИТЬ ВЫБРАТЬ ПеремещениеТоваровТовары.Номенклатура, ПеремещениеТоваровТовары.Характеристика, ПеремещениеТоваровТовары.Ссылка.СкладПолучатель, СУММА(ЕСТЬNULL(ПеремещениеТоваровТовары.Количество, 0)), СУММА(ЕСТЬNULL(ПеремещениеТоваровТовары.СебестоимостьСумма, 0)), СУММА(ЕСТЬNULL(ПеремещениеТоваровТовары.Сумма, 0)) ИЗ РегистрНакопления.ТоварыОрганизаций.ОстаткиИОбороты({(&НачалоПериода)}, {(&КонецПериода)}, Регистратор, , ) КАК ТоварыОрганизацийОстаткиИОбороты ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПеремещениеТоваров.Товары КАК ПеремещениеТоваровТовары ПО ((ВЫРАЗИТЬ(ТоварыОрганизацийОстаткиИОбороты.Регистратор КАК Документ.ПеремещениеТоваров)) = ПеремещениеТоваровТовары.Ссылка) ГДЕ ТоварыОрганизацийОстаткиИОбороты.Регистратор ССЫЛКА Документ.ПеремещениеТоваров И ТоварыОрганизацийОстаткиИОбороты.Регистратор.СкладОтправитель.Наименование = "1Основной склад" СГРУППИРОВАТЬ ПО ПеремещениеТоваровТовары.Номенклатура, ПеремещениеТоваровТовары.Характеристика, ПеремещениеТоваровТовары.Ссылка.СкладПолучатель) КАК тоРасходТолькоСОсновногоСклада ПО ТоварыОрганизаций.Номенклатура = тоРасходТолькоСОсновногоСклада.Номенклатура И ТоварыОрганизаций.Характеристика = тоРасходТолькоСОсновногоСклада.Характеристика И ТоварыОрганизаций.Склад = тоРасходТолькоСОсновногоСклада.СкладПолучатель ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ ОрдерНаПеремещениеТоваровТовары.Номенклатура КАК Номенклатура, ОрдерНаПеремещениеТоваровТовары.Характеристика КАК Характеристика, ОрдерНаПеремещениеТоваровТовары.Ссылка.СкладПолучатель КАК СкладПолучатель, СУММА(ЕСТЬNULL(ОрдерНаПеремещениеТоваровТовары.Количество, 0)) КАК КоличествоПриходНаВсеСклады, СУММА(ЕСТЬNULL(ОрдерНаПеремещениеТоваровТовары.СебестоимостьСумма, 0)) КАК СуммаСебестоимостьПриходНаВсеСклады, СУММА(ЕСТЬNULL(ОрдерНаПеремещениеТоваровТовары.Сумма, 0)) КАК СуммаРозничнаяПриходНаВсеСклады ИЗ РегистрНакопления.ТоварыОрганизаций.ОстаткиИОбороты({(&НачалоПериода)}, {(&КонецПериода)}, Регистратор, , ) КАК ТоварыОрганизацийОстаткиИОбороты ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОрдерНаПеремещениеТоваров.Товары КАК ОрдерНаПеремещениеТоваровТовары ПО ((ВЫРАЗИТЬ(ТоварыОрганизацийОстаткиИОбороты.Регистратор КАК Документ.ОрдерНаПеремещениеТоваров)) = ОрдерНаПеремещениеТоваровТовары.Ссылка) ГДЕ ТоварыОрганизацийОстаткиИОбороты.Регистратор ССЫЛКА Документ.ОрдерНаПеремещениеТоваров СГРУППИРОВАТЬ ПО ОрдерНаПеремещениеТоваровТовары.Номенклатура, ОрдерНаПеремещениеТоваровТовары.Характеристика, ОрдерНаПеремещениеТоваровТовары.Ссылка.СкладПолучатель ОБЪЕДИНИТЬ ВЫБРАТЬ ПеремещениеТоваровТовары.Номенклатура, ПеремещениеТоваровТовары.Характеристика, ПеремещениеТоваровТовары.Ссылка.СкладПолучатель, СУММА(ЕСТЬNULL(ПеремещениеТоваровТовары.Количество, 0)), СУММА(ЕСТЬNULL(ПеремещениеТоваровТовары.СебестоимостьСумма, 0)), СУММА(ЕСТЬNULL(ПеремещениеТоваровТовары.Сумма, 0)) ИЗ РегистрНакопления.ТоварыОрганизаций.ОстаткиИОбороты({(&НачалоПериода)}, {(&КонецПериода)}, Регистратор, , ) КАК ТоварыОрганизацийОстаткиИОбороты ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПеремещениеТоваров.Товары КАК ПеремещениеТоваровТовары ПО ((ВЫРАЗИТЬ(ТоварыОрганизацийОстаткиИОбороты.Регистратор КАК Документ.ПеремещениеТоваров)) = ПеремещениеТоваровТовары.Ссылка) ГДЕ ТоварыОрганизацийОстаткиИОбороты.Регистратор ССЫЛКА Документ.ПеремещениеТоваров СГРУППИРОВАТЬ ПО ПеремещениеТоваровТовары.Номенклатура, ПеремещениеТоваровТовары.Характеристика, ПеремещениеТоваровТовары.Ссылка.СкладПолучатель) КАК тоПриходНаВсеСклады ПО ТоварыОрганизаций.Номенклатура = тоПриходНаВсеСклады.Номенклатура И ТоварыОрганизаций.Характеристика = тоПриходНаВсеСклады.Характеристика И ТоварыОрганизаций.Склад = тоПриходНаВсеСклады.СкладПолучатель ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ ОрдерНаПеремещениеТоваровТовары.Номенклатура КАК Номенклатура, ОрдерНаПеремещениеТоваровТовары.Характеристика КАК Характеристика, ОрдерНаПеремещениеТоваровТовары.Ссылка.СкладОтправитель КАК СкладОтправитель, СУММА(ЕСТЬNULL(ОрдерНаПеремещениеТоваровТовары.Количество, 0)) КАК КоличествоРасходНаВсеСклады, СУММА(ЕСТЬNULL(ОрдерНаПеремещениеТоваровТовары.СебестоимостьСумма, 0)) КАК СуммаСебестоимостьРасходНаВсеСклады, СУММА(ЕСТЬNULL(ОрдерНаПеремещениеТоваровТовары.Сумма, 0)) КАК СуммаРозничнаяРасходНаВсеСклады ИЗ РегистрНакопления.ТоварыОрганизаций.ОстаткиИОбороты({(&НачалоПериода)}, {(&КонецПериода)}, Регистратор, , ) КАК ТоварыОрганизацийОстаткиИОбороты ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОрдерНаПеремещениеТоваров.Товары КАК ОрдерНаПеремещениеТоваровТовары ПО ((ВЫРАЗИТЬ(ТоварыОрганизацийОстаткиИОбороты.Регистратор КАК Документ.ОрдерНаПеремещениеТоваров)) = ОрдерНаПеремещениеТоваровТовары.Ссылка) ГДЕ ТоварыОрганизацийОстаткиИОбороты.Регистратор ССЫЛКА Документ.ОрдерНаПеремещениеТоваров СГРУППИРОВАТЬ ПО ОрдерНаПеремещениеТоваровТовары.Номенклатура, ОрдерНаПеремещениеТоваровТовары.Характеристика, ОрдерНаПеремещениеТоваровТовары.Ссылка.СкладОтправитель ОБЪЕДИНИТЬ ВЫБРАТЬ ПеремещениеТоваровТовары.Номенклатура, ПеремещениеТоваровТовары.Характеристика, ПеремещениеТоваровТовары.Ссылка.СкладОтправитель, СУММА(ЕСТЬNULL(ПеремещениеТоваровТовары.Количество, 0)), СУММА(ЕСТЬNULL(ПеремещениеТоваровТовары.СебестоимостьСумма, 0)), СУММА(ЕСТЬNULL(ПеремещениеТоваровТовары.Сумма, 0)) ИЗ РегистрНакопления.ТоварыОрганизаций.ОстаткиИОбороты({(&НачалоПериода)}, {(&КонецПериода)}, Регистратор, , ) КАК ТоварыОрганизацийОстаткиИОбороты ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПеремещениеТоваров.Товары КАК ПеремещениеТоваровТовары ПО ((ВЫРАЗИТЬ(ТоварыОрганизацийОстаткиИОбороты.Регистратор КАК Документ.ПеремещениеТоваров)) = ПеремещениеТоваровТовары.Ссылка) ГДЕ ТоварыОрганизацийОстаткиИОбороты.Регистратор ССЫЛКА Документ.ПеремещениеТоваров СГРУППИРОВАТЬ ПО ПеремещениеТоваровТовары.Номенклатура, ПеремещениеТоваровТовары.Характеристика, ПеремещениеТоваровТовары.Ссылка.СкладОтправитель) КАК тоРасходНаВсеСклады ПО ТоварыОрганизаций.Номенклатура = тоРасходНаВсеСклады.Номенклатура И ТоварыОрганизаций.Характеристика = тоРасходНаВсеСклады.Характеристика И ТоварыОрганизаций.Склад = тоРасходНаВсеСклады.СкладОтправитель |
|||
10
deathogre
25.10.15
✎
16:36
|
[code]
[/code] |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |