|
Связь таблиц в запросе | ☑ | ||
---|---|---|---|---|
0
Конфигуратор1с
11.04.12
✎
18:13
|
Есть в типовой два регистра сведений периодический подчиненный регистратору Состояние ОС и местонахождение ОС. Нужно построить ведомость по ос в разрезе МОЛ и подразделений с возможностью вывести все перемещения ос. Вопрос как отследить изменение месторасположения ос? ПОка только запрос в цикле приходит на ум, но это некошерно. Как можно это все вытащить одним запросом?
|
|||
1
Лефмихалыч
11.04.12
✎
18:14
|
соединять надо не со срезом, а с физической таблицей регистра
|
|||
2
Конфигуратор1с
11.04.12
✎
18:18
|
(1)Это я уже понял. Вопрос в чем. Допустим ввели ос в эсплуатацию в регистре появилась запись с мол1. Потом переместили на мол2, соответственно появилась запись МОЛ2. как понять в запросе что в такую то дату поменялся мол1 на мол2? что то туплю сижу уже который час
|
|||
3
Kashemir
11.04.12
✎
18:22
|
Получи все даты изменений обоих регистров и на каждую рассчитая состояние и местонахождение
|
|||
4
Конфигуратор1с
11.04.12
✎
18:24
|
(3)Как это сделать запросом?
|
|||
5
vmv
11.04.12
✎
18:25
|
сгруппировать, итоги по и пр., кароче проблема высона из пальца
|
|||
6
КМ155
11.04.12
✎
18:26
|
(5) + 1
тупое СКД по регистрам, связанным по ОС |
|||
7
Конфигуратор1с
11.04.12
✎
18:28
|
(5)-(6) ну объясните тупому, потому что я не вижу как можно связать регистр бухгалтерии и регистр сведений, что бы учесть все изменения по регистру сведений и регистру бухгалтерии
|
|||
8
Kashemir
11.04.12
✎
18:31
|
(7) Это другая постановка вопроса. Ты в (0) слегка подзабыл указать что тебе требуется еще и рассчитать остатки обороты.
|
|||
9
КМ155
11.04.12
✎
18:33
|
(7) неудачник
|
|||
10
Конфигуратор1с
11.04.12
✎
18:34
|
(8)Ну простите, я думал "построить ведомость по ос" это и подразумевает.
|
|||
11
Kashemir
11.04.12
✎
18:47
|
(10) Это "подразумеват" весьма нескромный объем времени на запрос - лень расписывать.
|
|||
12
Конфигуратор1с
11.04.12
✎
18:50
|
(11)подскажите идею хоть куда копать.
|
|||
13
Kashemir
11.04.12
✎
18:56
|
Получи все даты изменений регистра + начало интервала.
Получи все даты оборотов + дата начального остатка интервала. Собери в кучу весь набор новых измерений типа ОС + Место + Состояние на каждую дату изменения либо оборота. На каждую дату раскидай оборот + добавь оборот в пределах изменений новых измерений (по сути из 1 строки необходимо получить 2 - минус по старому набору измерений, плюс по новому). К полученному добавь остатков Примерно так. Когда то решал подобную задачу, только у меня 6 доп. измерений нужно было учесть. |
|||
14
Kashemir
11.04.12
✎
18:59
|
+(13) Если у тебя возник вопрос даже по поводу (3) вряд ли ты сможешь решить эту задачу запросом.
|
|||
15
1C_Enigma
11.04.12
✎
19:25
|
О_о
|
|||
16
Конфигуратор1с
11.04.12
✎
21:12
|
(14)по (3) у меня возникли вопросы в свете (7)
|
|||
17
Kashemir
12.04.12
✎
13:34
|
Во, у меня даже отчет сохранился однако конфы под которую писал нет.
Любуйся ;-) ВЫБРАТЬ &НачалоПериода КАК Период, ВложенныйЗапрос.ОсновноеСредство КАК ОсновноеСредство, ВложенныйЗапрос.Организация КАК Организация, СУММА(ВложенныйЗапрос.СтоимостьОСНачОст) КАК СтоимостьОСНачОст, СУММА(ВложенныйЗапрос.НакИзносОСНачОст) КАК НакИзносОСНачОст ПОМЕСТИТЬ НачальныеОстатки ИЗ (ВЫБРАТЬ ХозрасчетныйОстатки.Субконто1 КАК ОсновноеСредство, ХозрасчетныйОстатки.Организация КАК Организация, ХозрасчетныйОстатки.СуммаОстаток КАК СтоимостьОСНачОст, 0 КАК НакИзносОСНачОст ИЗ РегистрБухгалтерии.Хозрасчетный.Остатки(&НачалоПериода, Счет В ИЕРАРХИИ (&Счет10_11), &ВидыСубконто, {(Субконто1) КАК ОсновноеСредство, (Организация)}) КАК ХозрасчетныйОстатки ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ХозрасчетныйОстатки.Субконто1, ХозрасчетныйОстатки.Организация, 0, ХозрасчетныйОстатки.СуммаОстаток ИЗ РегистрБухгалтерии.Хозрасчетный.Остатки(&НачалоПериода, Счет В ИЕРАРХИИ (&Счет13), &ВидыСубконто, {(Организация), (Субконто1) КАК ОсновноеСредство}) КАК ХозрасчетныйОстатки) КАК ВложенныйЗапрос СГРУППИРОВАТЬ ПО ВложенныйЗапрос.ОсновноеСредство, ВложенныйЗапрос.Организация ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВложенныйЗапрос.Период КАК Период, ВложенныйЗапрос.Регистратор КАК Регистратор, ВложенныйЗапрос.НомерСтроки КАК НомерСтроки, ВложенныйЗапрос.Организация КАК Организация, ВложенныйЗапрос.ОсновноеСредство КАК ОсновноеСредство, СУММА(ВложенныйЗапрос.СтоимостьОСПриход) КАК СтоимостьОСПриход, СУММА(ВложенныйЗапрос.СтоимостьОСРасход) КАК СтоимостьОСРасход, СУММА(ВложенныйЗапрос.НакИзносПриход) КАК НакИзносПриход, СУММА(ВложенныйЗапрос.НакИзносРасход) КАК НакИзносРасход, ВложенныйЗапрос.КорСубконто1 КАК КорСубконто1, ВложенныйЗапрос.КорСубконто2 КАК КорСубконто2, ВложенныйЗапрос.КорСубконто3 КАК КорСубконто3, ВложенныйЗапрос.КорСчет КАК КорСчет ПОМЕСТИТЬ Обороты ИЗ (ВЫБРАТЬ ХозрасчетныйОбороты.ПериодСекунда КАК Период, ХозрасчетныйОбороты.Регистратор КАК Регистратор, ХозрасчетныйОбороты.НомерСтроки + ВЫБОР КОГДА ХозрасчетныйОбороты.СуммаОборот >= 0 ТОГДА 0 ИНАЧЕ 0.1 КОНЕЦ КАК НомерСтроки, ХозрасчетныйОбороты.Организация КАК Организация, ХозрасчетныйОбороты.Субконто1 КАК ОсновноеСредство, ХозрасчетныйОбороты.СуммаОборотДт КАК СтоимостьОСПриход, ХозрасчетныйОбороты.СуммаОборотКт КАК СтоимостьОСРасход, 0 КАК НакИзносПриход, 0 КАК НакИзносРасход, ХозрасчетныйОбороты.КорСубконто1 КАК КорСубконто1, ХозрасчетныйОбороты.КорСубконто2 КАК КорСубконто2, ХозрасчетныйОбороты.КорСубконто3 КАК КорСубконто3, ХозрасчетныйОбороты.КорСчет КАК КорСчет ИЗ РегистрБухгалтерии.Хозрасчетный.Обороты(&НачалоПериода, &КонецПериода, Авто, Счет В ИЕРАРХИИ (&Счет10_11), &ВидыСубконто, {(Организация), (Субконто1) КАК основноеСредство}, , ) КАК ХозрасчетныйОбороты ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ХозрасчетныйОбороты.ПериодСекунда, ХозрасчетныйОбороты.Регистратор, ХозрасчетныйОбороты.НомерСтроки + ВЫБОР КОГДА ХозрасчетныйОбороты.СуммаОборот >= 0 ТОГДА 0 ИНАЧЕ 0.1 КОНЕЦ, ХозрасчетныйОбороты.Организация, ХозрасчетныйОбороты.Субконто1, 0, 0, ХозрасчетныйОбороты.СуммаОборотДт, ХозрасчетныйОбороты.СуммаОборотКт, ХозрасчетныйОбороты.КорСубконто1, ХозрасчетныйОбороты.КорСубконто2, ХозрасчетныйОбороты.КорСубконто3, ХозрасчетныйОбороты.КорСчет ИЗ РегистрБухгалтерии.Хозрасчетный.Обороты(&НачалоПериода, &КонецПериода, Авто, Счет В ИЕРАРХИИ (&Счет13), &ВидыСубконто, {(Организация), (Субконто1) КАК основноеСредство}, , ) КАК ХозрасчетныйОбороты) КАК ВложенныйЗапрос СГРУППИРОВАТЬ ПО ВложенныйЗапрос.Период, ВложенныйЗапрос.Регистратор, ВложенныйЗапрос.Организация, ВложенныйЗапрос.ОсновноеСредство, ВложенныйЗапрос.КорСубконто1, ВложенныйЗапрос.КорСубконто2, ВложенныйЗапрос.КорСубконто3, ВложенныйЗапрос.КорСчет, ВложенныйЗапрос.НомерСтроки ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ИзмененияПараметров.ОсновноеСредство, ИзмененияПараметров.Организация, ИзмененияПараметров.Период, ИзмененияПараметров.Регистратор ПОМЕСТИТЬ ИзмененияПараметров ИЗ (ВЫБРАТЬ МестонахождениеОСБухгалтерскийУчет.ОсновноеСредство КАК ОсновноеСредство, МестонахождениеОСБухгалтерскийУчет.Организация КАК Организация, МестонахождениеОСБухгалтерскийУчет.Период КАК Период, МестонахождениеОСБухгалтерскийУчет.Регистратор КАК Регистратор ИЗ РегистрСведений.МестонахождениеОСБухгалтерскийУчет КАК МестонахождениеОСБухгалтерскийУчет ГДЕ МестонахождениеОСБухгалтерскийУчет.Период МЕЖДУ &НачалоПериода И &КонецПериода И (МестонахождениеОСБухгалтерскийУчет.Организация, МестонахождениеОСБухгалтерскийУчет.ОсновноеСредство) В (ВЫБРАТЬ РАЗЛИЧНЫЕ Обороты.Организация, Обороты.ОсновноеСредство ИЗ Обороты КАК Обороты) {ГДЕ МестонахождениеОСБухгалтерскийУчет.ОсновноеСредство.*, МестонахождениеОСБухгалтерскийУчет.Организация.*} ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ОСВЗалоге.ОсновноеСредство, ОСВЗалоге.Организация, ОСВЗалоге.Период, ОСВЗалоге.Регистратор ИЗ РегистрСведений.ОСВЗалоге КАК ОСВЗалоге ГДЕ ОСВЗалоге.Период МЕЖДУ &НачалоПериода И &КонецПериода И (ОСВЗалоге.Организация, ОСВЗалоге.ОсновноеСредство) В (ВЫБРАТЬ РАЗЛИЧНЫЕ Обороты.Организация, Обороты.ОсновноеСредство ИЗ Обороты КАК Обороты) {ГДЕ ОСВЗалоге.ОсновноеСредство.*, ОСВЗалоге.Организация.*} ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ПервоначальныеСведенияОСБухгалтерскийУчет.ОсновноеСредство, ПервоначальныеСведенияОСБухгалтерскийУчет.Организация, ПервоначальныеСведенияОСБухгалтерскийУчет.Период, ПервоначальныеСведенияОСБухгалтерскийУчет.Регистратор ИЗ РегистрСведений.ПервоначальныеСведенияОСБухгалтерскийУчет КАК ПервоначальныеСведенияОСБухгалтерскийУчет ГДЕ ПервоначальныеСведенияОСБухгалтерскийУчет.Период МЕЖДУ &НачалоПериода И &КонецПериода И (ПервоначальныеСведенияОСБухгалтерскийУчет.Организация, ПервоначальныеСведенияОСБухгалтерскийУчет.ОсновноеСредство) В (ВЫБРАТЬ РАЗЛИЧНЫЕ Обороты.Организация, Обороты.ОсновноеСредство ИЗ Обороты КАК Обороты) {ГДЕ ПервоначальныеСведенияОСБухгалтерскийУчет.ОсновноеСредство.*, ПервоначальныеСведенияОСБухгалтерскийУчет.Организация.*}) КАК ИзмененияПараметров ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ЗаписиИзменений.Период КАК Период, ЗаписиИзменений.НомерСтроки КАК НомерСтроки, ЗаписиИзменений.Регистратор КАК Регистратор, ЗаписиИзменений.Организация, ЗаписиИзменений.ОсновноеСредство, ЗаписиИзменений.ЭтоОборот, ЗаписиИзменений.ЭтоИзменениеПараметра КАК ЭтоИзменениеПараметра, ЗаписиИзменений.ЭтоОстаток, ЗаписиИзменений.СтоимостьОСПриход, ЗаписиИзменений.СтоимостьОСРасход, ЗаписиИзменений.НакИзносПриход, ЗаписиИзменений.НакИзносРасход, ЗаписиИзменений.КорСчет, ЗаписиИзменений.КорСубконто1, ЗаписиИзменений.КорСубконто2, ЗаписиИзменений.КорСубконто3 ПОМЕСТИТЬ ПериодыИзменений ИЗ (ВЫБРАТЬ Обороты.Период КАК Период, Обороты.НомерСтроки КАК НомерСтроки, Обороты.Регистратор КАК Регистратор, Обороты.Организация КАК Организация, Обороты.ОсновноеСредство КАК ОсновноеСредство, 1 КАК ЭтоОборот, 0 КАК ЭтоИзменениеПараметра, 0 КАК ЭтоОстаток, Обороты.СтоимостьОСПриход КАК СтоимостьОСПриход, Обороты.СтоимостьОСРасход КАК СтоимостьОСРасход, Обороты.КорСчет КАК КорСчет, Обороты.КорСубконто1 КАК КорСубконто1, Обороты.КорСубконто2 КАК КорСубконто2, Обороты.КорСубконто3 КАК КорСубконто3, Обороты.НакИзносПриход КАК НакИзносПриход, Обороты.НакИзносРасход КАК НакИзносРасход ИЗ Обороты КАК Обороты ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ИзмененияПараметров.Период, 0, ИзмененияПараметров.Регистратор, ИзмененияПараметров.Организация, ИзмененияПараметров.ОсновноеСредство, 0, 1, 0, 0, 0, NULL, NULL, NULL, NULL, 0, 0 ИЗ ИзмененияПараметров КАК ИзмененияПараметров ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ НачальныеОстатки.Период, 0, НЕОПРЕДЕЛЕНО, НачальныеОстатки.Организация, НачальныеОстатки.ОсновноеСредство, 0, 0, 1, 0, 0, NULL, NULL, NULL, NULL, 0, 0 ИЗ НачальныеОстатки КАК НачальныеОстатки) КАК ЗаписиИзменений ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ПериодыИзменений.Период, ПериодыИзменений.НомерСтроки, ПериодыИзменений.Регистратор, ВложенныйЗапрос.ПредыдущийПериод, ПериодыИзменений.Организация, ПериодыИзменений.ОсновноеСредство, ПериодыИзменений.ЭтоОборот, ПериодыИзменений.ЭтоИзменениеПараметра, ПериодыИзменений.ЭтоОстаток, ПериодыИзменений.СтоимостьОСПриход, ПериодыИзменений.СтоимостьОСРасход, ПериодыИзменений.КорСчет, ПериодыИзменений.КорСубконто1, ПериодыИзменений.КорСубконто2, ПериодыИзменений.КорСубконто3, ПериодыИзменений.НакИзносПриход, ПериодыИзменений.НакИзносРасход ПОМЕСТИТЬ ПериодыИзмененийСПредыдущими ИЗ ПериодыИзменений КАК ПериодыИзменений ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ ПериодыИзменений.Период КАК Период, ПериодыИзменений.Организация КАК Организация, ПериодыИзменений.ОсновноеСредство КАК ОсновноеСредство, МАКСИМУМ(ПредыдущиеПериоды.Период) КАК ПредыдущийПериод ИЗ (ВЫБРАТЬ ПериодыИзменений.Период КАК Период, ПериодыИзменений.Организация КАК Организация, ПериодыИзменений.ОсновноеСредство КАК ОсновноеСредство ИЗ ПериодыИзменений КАК ПериодыИзменений ГДЕ ПериодыИзменений.ЭтоИзменениеПараметра <> 0) КАК ПериодыИзменений ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ ПериодыИзменений.Период КАК Период, ПериодыИзменений.Организация КАК Организация, ПериодыИзменений.ОсновноеСредство КАК ОсновноеСредство ИЗ ПериодыИзменений КАК ПериодыИзменений ГДЕ (ПериодыИзменений.ЭтоИзменениеПараметра <> 0 ИЛИ ПериодыИзменений.ЭтоОстаток <> 0)) КАК ПредыдущиеПериоды ПО ПериодыИзменений.Организация = ПредыдущиеПериоды.Организация И ПериодыИзменений.ОсновноеСредство = ПредыдущиеПериоды.ОсновноеСредство И ПериодыИзменений.Период > ПредыдущиеПериоды.Период СГРУППИРОВАТЬ ПО ПериодыИзменений.Период, ПериодыИзменений.Организация, ПериодыИзменений.ОсновноеСредство) КАК ВложенныйЗапрос ПО ПериодыИзменений.Период = ВложенныйЗапрос.Период И ПериодыИзменений.Организация = ВложенныйЗапрос.Организация И ПериодыИзменений.ОсновноеСредство = ВложенныйЗапрос.ОсновноеСредство И (ПериодыИзменений.ЭтоИзменениеПараметра <> 0) ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВложенныйЗапрос.Период КАК Период, ВложенныйЗапрос.НомерСтроки КАК НомерСтроки, ВложенныйЗапрос.Регистратор КАК Регистратор, ВложенныйЗапрос.ПредыдущийПериод, ВложенныйЗапрос.Организация, ВложенныйЗапрос.ОсновноеСредство, СУММА(ВложенныйЗапрос.ЭтоОборот) КАК ЭтоОборот, СУММА(ВложенныйЗапрос.ЭтоИзменениеПараметра) КАК ЭтоИзменениеПараметра, СУММА(ВложенныйЗапрос.ЭтоОстаток) КАК ЭтоОстаток, ВложенныйЗапрос.КорСчет, ВложенныйЗапрос.КорСубконто1, ВложенныйЗапрос.КорСубконто2, ВложенныйЗапрос.КорСубконто3, СУММА(ВложенныйЗапрос.СтоимостьОСНачОст) КАК СтоимостьОСНачОст, СУММА(ВложенныйЗапрос.СтоимостьОСПриход) КАК СтоимостьОСПриход, СУММА(ВложенныйЗапрос.СтоимостьОСРасход) КАК СтоимостьОСРасход, СУММА(ВложенныйЗапрос.СтоимостьОСКонОст) КАК СтоимостьОСКонОст, СУММА(ВложенныйЗапрос.НакИзносНачОст) КАК НакИзносНачОст, СУММА(ВложенныйЗапрос.НакИзносПриход) КАК НакИзносПриход, СУММА(ВложенныйЗапрос.НакИзносРасход) КАК НакИзносРасход, СУММА(ВложенныйЗапрос.НакИзносКонОст) КАК НакИзносКонОст ПОМЕСТИТЬ ВыборкаБезУчетаСторно ИЗ (ВЫБРАТЬ ВложенныйЗапрос.Период КАК Период, ВложенныйЗапрос.НомерСтроки КАК НомерСтроки, ВложенныйЗапрос.Регистратор КАК Регистратор, ВложенныйЗапрос.ПредыдущийПериод КАК ПредыдущийПериод, ВложенныйЗапрос.Организация КАК Организация, ВложенныйЗапрос.ОсновноеСредство КАК ОсновноеСредство, ВложенныйЗапрос.ЭтоОборот КАК ЭтоОборот, ВложенныйЗапрос.ЭтоИзменениеПараметра КАК ЭтоИзменениеПараметра, ВложенныйЗапрос.ЭтоОстаток КАК ЭтоОстаток, ВложенныйЗапрос.КорСчет КАК КорСчет, ВложенныйЗапрос.КорСубконто1 КАК КорСубконто1, ВложенныйЗапрос.КорСубконто2 КАК КорСубконто2, ВложенныйЗапрос.КорСубконто3 КАК КорСубконто3, ЕСТЬNULL(НачальныеОстатки.СтоимостьОСНачОст, 0) + ЕСТЬNULL(ВложенныйЗапрос.СтоимостьОСНачОст, 0) КАК СтоимостьОСНачОст, ВложенныйЗапрос.СтоимостьОСПриход КАК СтоимостьОСПриход, ВложенныйЗапрос.СтоимостьОСРасход КАК СтоимостьОСРасход, ЕСТЬNULL(НачальныеОстатки.СтоимостьОСНачОст, 0) + ЕСТЬNULL(ВложенныйЗапрос.СтоимостьОСНачОст, 0) + ВложенныйЗапрос.СтоимостьОСПриход - ВложенныйЗапрос.СтоимостьОСРасход КАК СтоимостьОСКонОст, ЕСТЬNULL(НачальныеОстатки.НакИзносОСНачОст, 0) + ЕСТЬNULL(ВложенныйЗапрос.НакИзносНачОст, 0) КАК НакИзносНачОст, ВложенныйЗапрос.НакИзносПриход КАК НакИзносПриход, ВложенныйЗапрос.НакИзносРасход КАК НакИзносРасход, ЕСТЬNULL(НачальныеОстатки.НакИзносОСНачОст, 0) + ЕСТЬNULL(ВложенныйЗапрос.НакИзносНачОст, 0) + ВложенныйЗапрос.НакИзносПриход - ВложенныйЗапрос.НакИзносРасход КАК НакИзносКонОст ИЗ (ВЫБРАТЬ Обороты.Период КАК Период, Обороты.НомерСтроки КАК НомерСтроки, Обороты.Регистратор КАК Регистратор, Обороты.ПредыдущийПериод КАК ПредыдущийПериод, Обороты.Организация КАК Организация, Обороты.ОсновноеСредство КАК ОсновноеСредство, СУММА(Обороты.ЭтоОборот) КАК ЭтоОборот, СУММА(Обороты.ЭтоИзменениеПараметра) КАК ЭтоИзменениеПараметра, СУММА(Обороты.ЭтоОстаток) КАК ЭтоОстаток, Обороты.КорСчет КАК КорСчет, Обороты.КорСубконто1 КАК КорСубконто1, Обороты.КорСубконто2 КАК КорСубконто2, Обороты.КорСубконто3 КАК КорСубконто3, СУММА(Обороты.СтоимостьОСНачОст) КАК СтоимостьОСНачОст, СУММА(ЕСТЬNULL(ПериодыИзмененийСПредыдущими.СтоимостьОСПриход, 0)) КАК СтоимостьОСПриход, СУММА(ЕСТЬNULL(ПериодыИзмененийСПредыдущими.СтоимостьОСРасход, 0)) КАК СтоимостьОСРасход, СУММА(Обороты.НакИзносНачОст) КАК НакИзносНачОст, СУММА(ЕСТЬNULL(ПериодыИзмененийСПредыдущими.НакИзносПриход, 0)) КАК НакИзносПриход, СУММА(ЕСТЬNULL(ПериодыИзмененийСПредыдущими.НакИзносРасход, 0)) КАК НакИзносРасход ИЗ ПериодыИзмененийСПредыдущими КАК ПериодыИзмененийСПредыдущими ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ ПериодыИзмененийСПредыдущими.Период КАК Период, ПериодыИзмененийСПредыдущими.НомерСтроки КАК НомерСтроки, ПериодыИзмененийСПредыдущими.Регистратор КАК Регистратор, ПериодыИзмененийСПредыдущими.ПредыдущийПериод КАК ПредыдущийПериод, ПериодыИзмененийСПредыдущими.Организация КАК Организация, ПериодыИзмененийСПредыдущими.ОсновноеСредство КАК ОсновноеСредство, СУММА(ПериодыИзмененийСПредыдущими.ЭтоОборот) КАК ЭтоОборот, СУММА(ПериодыИзмененийСПредыдущими.ЭтоИзменениеПараметра) КАК ЭтоИзменениеПараметра, СУММА(ПериодыИзмененийСПредыдущими.ЭтоОстаток) КАК ЭтоОстаток, ПериодыИзмененийСПредыдущими.КорСчет КАК КорСчет, ПериодыИзмененийСПредыдущими.КорСубконто1 КАК КорСубконто1, ПериодыИзмененийСПредыдущими.КорСубконто2 КАК КорСубконто2, ПериодыИзмененийСПредыдущими.КорСубконто3 КАК КорСубконто3, СУММА(Обороты.СтоимостьОСПриход - Обороты.СтоимостьОСРасход) КАК СтоимостьОСНачОст, СУММА(Обороты.НакИзносПриход - Обороты.НакИзносРасход) КАК НакИзносНачОст ИЗ ПериодыИзмененийСПредыдущими КАК ПериодыИзмененийСПредыдущими ЛЕВОЕ СОЕДИНЕНИЕ Обороты КАК Обороты ПО ПериодыИзмененийСПредыдущими.Организация = Обороты.Организация И ПериодыИзмененийСПредыдущими.ОсновноеСредство = Обороты.ОсновноеСредство И (ПериодыИзмененийСПредыдущими.Период > Обороты.Период ИЛИ ПериодыИзмененийСПредыдущими.Период = Обороты.Период И ПериодыИзмененийСПредыдущими.ЭтоОборот <> 0 И (ПериодыИзмененийСПредыдущими.Регистратор > Обороты.Регистратор ИЛИ ПериодыИзмененийСПредыдущими.Регистратор = Обороты.Регистратор И (ПериодыИзмененийСПредыдущими.НомерСтроки > Обороты.НомерСтроки И ЕСТЬNULL(ПериодыИзмененийСПредыдущими.НомерСтроки, 0) > 0))) СГРУППИРОВАТЬ ПО ПериодыИзмененийСПредыдущими.КорСубконто2, ПериодыИзмененийСПредыдущими.КорСубконто3, ПериодыИзмененийСПредыдущими.КорСубконто1, ПериодыИзмененийСПредыдущими.КорСчет, ПериодыИзмененийСПредыдущими.Период, ПериодыИзмененийСПредыдущими.ОсновноеСредство, ПериодыИзмененийСПредыдущими.Организация, ПериодыИзмененийСПредыдущими.ПредыдущийПериод, ПериодыИзмененийСПредыдущими.НомерСтроки, ПериодыИзмененийСПредыдущими.Регистратор) КАК Обороты ПО (Обороты.Период = ПериодыИзмененийСПредыдущими.Период) И (Обороты.НомерСтроки = ПериодыИзмененийСПредыдущими.НомерСтроки) И (Обороты.Организация = ПериодыИзмененийСПредыдущими.Организация) И (Обороты.ОсновноеСредство = ПериодыИзмененийСПредыдущими.ОсновноеСредство) И (Обороты.Регистратор = ПериодыИзмененийСПредыдущими.Регистратор ИЛИ Обороты.Регистратор ЕСТЬ NULL И ПериодыИзмененийСПредыдущими.Регистратор ЕСТЬ NULL ) СГРУППИРОВАТЬ ПО Обороты.Регистратор, Обороты.Период, Обороты.КорСубконто1, Обороты.КорСубконто3, Обороты.НомерСтроки, Обороты.КорСчет, Обороты.ПредыдущийПериод, Обороты.КорСубконто2, Обороты.ОсновноеСредство, Обороты.Организация) КАК ВложенныйЗапрос ЛЕВОЕ СОЕДИНЕНИЕ НачальныеОстатки КАК НачальныеОстатки ПО ВложенныйЗапрос.ОсновноеСредство = НачальныеОстатки.ОсновноеСредство И ВложенныйЗапрос.Организация = НачальныеОстатки.Организация) КАК ВложенныйЗапрос ГДЕ (НЕ(ВложенныйЗапрос.ЭтоИзменениеПараметра <> 0 И ВложенныйЗапрос.ПредыдущийПериод ЕСТЬ NULL )) СГРУППИРОВАТЬ ПО ВложенныйЗапрос.КорСубконто3, ВложенныйЗапрос.ПредыдущийПериод, ВложенныйЗапрос.Регистратор, ВложенныйЗапрос.Организация, ВложенныйЗапрос.ОсновноеСредство, ВложенныйЗапрос.КорСубконто1, ВложенныйЗапрос.КорСубконто2, ВложенныйЗапрос.КорСчет, ВложенныйЗапрос.НомерСтроки, ВложенныйЗапрос.Период ; //////////////////////////////////////////////////////////////////////////////// УНИЧТОЖИТЬ НачальныеОстатки ; //////////////////////////////////////////////////////////////////////////////// УНИЧТОЖИТЬ Обороты ; //////////////////////////////////////////////////////////////////////////////// УНИЧТОЖИТЬ ИзмененияПараметров ; //////////////////////////////////////////////////////////////////////////////// УНИЧТОЖИТЬ ПериодыИзменений ; //////////////////////////////////////////////////////////////////////////////// УНИЧТОЖИТЬ ПериодыИзмененийСПредыдущими ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВложенныйЗапрос.Период КАК Период, ВложенныйЗапрос.ЭтоИзменениеПараметра КАК ТипЗаписи, ВложенныйЗапрос.Регистратор КАК Регистратор, ВложенныйЗапрос.НомерСтроки КАК НомерСтроки, ВложенныйЗапрос.ПериодПараметров, ВложенныйЗапрос.Организация, ВложенныйЗапрос.ОсновноеСредство, ВложенныйЗапрос.КорСчет, ВложенныйЗапрос.СтоимостьОСНачОст, ВложенныйЗапрос.СтоимостьОСПриход, ВложенныйЗапрос.СтоимостьОСРасход, ВложенныйЗапрос.СтоимостьОСПеревод, ВложенныйЗапрос.СтоимостьОСКонОст, ВложенныйЗапрос.НакИзносНачОст, ВложенныйЗапрос.НакИзносПриход, ВложенныйЗапрос.НакИзносРасход, ВложенныйЗапрос.НакИзносПеревод, ВложенныйЗапрос.НакИзносКонОст, ВложенныйЗапрос.КорСубконто1, ВложенныйЗапрос.КорСубконто2, ВложенныйЗапрос.КорСубконто3 ПОМЕСТИТЬ РезультатыБезРегистров ИЗ (ВЫБРАТЬ ВыборкаБезУчетаСторно.Период КАК Период, 0 КАК НомерСтроки, ВыборкаБезУчетаСторно.Регистратор КАК Регистратор, ВыборкаБезУчетаСторно.ПредыдущийПериод КАК ПериодПараметров, ВыборкаБезУчетаСторно.Организация КАК Организация, ВыборкаБезУчетаСторно.ОсновноеСредство КАК ОсновноеСредство, ВыборкаБезУчетаСторно.КорСчет КАК КорСчет, ВыборкаБезУчетаСторно.КорСубконто1 КАК КорСубконто1, ВыборкаБезУчетаСторно.КорСубконто2 КАК КорСубконто2, ВыборкаБезУчетаСторно.КорСубконто3 КАК КорСубконто3, ВыборкаБезУчетаСторно.СтоимостьОСНачОст КАК СтоимостьОСНачОст, ВыборкаБезУчетаСторно.СтоимостьОСПриход КАК СтоимостьОСПриход, ВыборкаБезУчетаСторно.СтоимостьОСРасход КАК СтоимостьОСРасход, 0 КАК СтоимостьОСКонОст, -ВыборкаБезУчетаСторно.СтоимостьОСКонОст КАК СтоимостьОСПеревод, ВыборкаБезУчетаСторно.НакИзносНачОст КАК НакИзносНачОст, ВыборкаБезУчетаСторно.НакИзносПриход КАК НакИзносПриход, ВыборкаБезУчетаСторно.НакИзносРасход КАК НакИзносРасход, 0 КАК НакИзносКонОст, -ВыборкаБезУчетаСторно.НакИзносКонОст КАК НакИзносПеревод, -1 КАК ЭтоИзменениеПараметра ИЗ ВыборкаБезУчетаСторно КАК ВыборкаБезУчетаСторно ГДЕ ВыборкаБезУчетаСторно.ЭтоИзменениеПараметра <> 0 И (НЕ ВыборкаБезУчетаСторно.ПредыдущийПериод ЕСТЬ NULL ) ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ВыборкаБезУчетаСторно.Период, 0, ВыборкаБезУчетаСторно.Регистратор, ВыборкаБезУчетаСторно.Период, ВыборкаБезУчетаСторно.Организация, ВыборкаБезУчетаСторно.ОсновноеСредство, ВыборкаБезУчетаСторно.КорСчет, ВыборкаБезУчетаСторно.КорСубконто1, ВыборкаБезУчетаСторно.КорСубконто2, ВыборкаБезУчетаСторно.КорСубконто3, 0, ВыборкаБезУчетаСторно.СтоимостьОСПриход, ВыборкаБезУчетаСторно.СтоимостьОСРасход, ВыборкаБезУчетаСторно.СтоимостьОСКонОст, ВыборкаБезУчетаСторно.СтоимостьОСНачОст, 0, ВыборкаБезУчетаСторно.НакИзносПриход, ВыборкаБезУчетаСторно.НакИзносРасход, ВыборкаБезУчетаСторно.НакИзносКонОст, ВыборкаБезУчетаСторно.НакИзносНачОст, 1 ИЗ ВыборкаБезУчетаСторно КАК ВыборкаБезУчетаСторно ГДЕ ВыборкаБезУчетаСторно.ЭтоИзменениеПараметра <> 0 И (НЕ ВыборкаБезУчетаСторно.ПредыдущийПериод ЕСТЬ NULL ) ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ВыборкаБезУчетаСторно.Период, ВыборкаБезУчетаСторно.НомерСтроки, ВыборкаБезУчетаСторно.Регистратор, ВыборкаБезУчетаСторно.Период, ВыборкаБезУчетаСторно.Организация, ВыборкаБезУчетаСторно.ОсновноеСредство, ВыборкаБезУчетаСторно.КорСчет, ВыборкаБезУчетаСторно.КорСубконто1, ВыборкаБезУчетаСторно.КорСубконто2, ВыборкаБезУчетаСторно.КорСубконто3, ВыборкаБезУчетаСторно.СтоимостьОСНачОст, ВыборкаБезУчетаСторно.СтоимостьОСПриход, ВыборкаБезУчетаСторно.СтоимостьОСРасход, ВыборкаБезУчетаСторно.СтоимостьОСКонОст, 0, ВыборкаБезУчетаСторно.НакИзносНачОст, ВыборкаБезУчетаСторно.НакИзносПриход, ВыборкаБезУчетаСторно.НакИзносРасход, ВыборкаБезУчетаСторно.НакИзносКонОст, 0, 10 ИЗ ВыборкаБезУчетаСторно КАК ВыборкаБезУчетаСторно ГДЕ ВыборкаБезУчетаСторно.ЭтоИзменениеПараметра = 0) КАК ВложенныйЗапрос ; //////////////////////////////////////////////////////////////////////////////// УНИЧТОЖИТЬ ВыборкаБезУчетаСторно ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ПопавшиеПериоды.Период, ПопавшиеПериоды.Организация, ПопавшиеПериоды.ОсновноеСредство ПОМЕСТИТЬ ПопавшиеПериоды ИЗ (ВЫБРАТЬ РАЗЛИЧНЫЕ РезультатыБезРегистров.ПериодПараметров КАК Период, РезультатыБезРегистров.Организация КАК Организация, РезультатыБезРегистров.ОсновноеСредство КАК ОсновноеСредство ИЗ РезультатыБезРегистров КАК РезультатыБезРегистров) КАК ПопавшиеПериоды ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Местоположения.Период, Местоположения.Регистратор, Местоположения.ОсновноеСредство, Местоположения.Организация, Местоположения.Место_МОЛ, Местоположения.Место_Местонахождение, Местоположения.Место_ВАренде, Местоположения.Место_АренднаяПлата ПОМЕСТИТЬ Местоположения ИЗ (ВЫБРАТЬ РС.Период КАК Период, РС.Регистратор КАК Регистратор, РС.ОсновноеСредство КАК ОсновноеСредство, РС.Организация КАК Организация, РС.МОЛ КАК Место_МОЛ, РС.Местонахождение КАК Место_Местонахождение, РС.ВАренде КАК Место_ВАренде, РС.АренднаяПлата КАК Место_АренднаяПлата ИЗ РегистрСведений.МестонахождениеОСБухгалтерскийУчет КАК РС ГДЕ РС.Период МЕЖДУ &НачалоПериода И &КонецПериода И (РС.Организация, РС.ОсновноеСредство) В (ВЫБРАТЬ РАЗЛИЧНЫЕ ПопавшиеПериоды.Организация, ПопавшиеПериоды.ОсновноеСредство ИЗ ПопавшиеПериоды КАК ПопавшиеПериоды) {ГДЕ РС.ОсновноеСредство.*, РС.Организация.*} ОБЪЕДИНИТЬ ВЫБРАТЬ РС.Период, РС.Регистратор, РС.ОсновноеСредство, РС.Организация, РС.МОЛ, РС.Местонахождение, РС.ВАренде, РС.АренднаяПлата ИЗ РегистрСведений.МестонахождениеОСБухгалтерскийУчет.СрезПоследних( &началоПериода, (Организация, ОсновноеСредство) В (ВЫБРАТЬ РАЗЛИЧНЫЕ ПопавшиеПериоды.Организация, ПопавшиеПериоды.ОсновноеСредство ИЗ ПопавшиеПериоды КАК ПопавшиеПериоды) {(Организация), (ОсновноеСредство)}) КАК РС) КАК Местоположения ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ОСВЗалоге.Период, ОСВЗалоге.Регистратор, ОСВЗалоге.ОсновноеСредство, ОСВЗалоге.Организация, ОСВЗалоге.Залог_ДоговорЗалога, ОСВЗалоге.Залог_ВЗалоге ПОМЕСТИТЬ ОСВЗалоге ИЗ (ВЫБРАТЬ РС.Период КАК Период, РС.Регистратор КАК Регистратор, РС.ОсновноеСредство КАК ОсновноеСредство, РС.Организация КАК Организация, РС.ДоговорЗалога КАК Залог_ДоговорЗалога, РС.ВЗалоге КАК Залог_ВЗалоге ИЗ |
|||
18
Конфигуратор1с
12.04.12
✎
13:40
|
(17)Спасибо, посмотрю. Я по (13) начал уже делать. Просто до вчера не знал как в запросе выбрать значение из регистра сведений на дату. Вчера уже получилось)))
|
|||
19
Kashemir
12.04.12
✎
13:42
|
(18) Весь запрос не влез :( Почти 1500 тысячи строк. :)
|
|||
20
Конфигуратор1с
12.04.12
✎
13:43
|
(19)суть я понял. У меня запрос маленький будет)))
|
|||
21
Конфигуратор1с
12.04.12
✎
13:43
|
Спасибо огромное
|
|||
22
Kashemir
12.04.12
✎
13:46
|
(21) Не за что. Навсякий случай непоместившийся кусок:
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |